/* VIVE A TOPE IMMERSIVE PREMIUM.
   One visual system. All selectors are limited to the authorized commercial UI. */
@view-transition { navigation:auto; }
::view-transition-old(root),::view-transition-new(root) { animation-duration:160ms; }
::view-transition-group(selected-product) { animation-duration:260ms; animation-timing-function:cubic-bezier(.22,.7,.22,1); }

.immersive,.im-card,.im-catalog-category,.im-pack-shell,.im-mobile-buy {
  --im-light:#d4ecc0; --im-glow:#578844; --im-secondary:#632342;
  color:#f5f5f3; font-family:Inter,Arial,sans-serif; font-size:15px; line-height:1.6;
}
.immersive { margin:0; background:#090909; color-scheme:dark; }
.immersive *,.im-card *,.im-pack-shell *,.im-mobile-buy * { box-sizing:border-box; }
.immersive a,.im-card a,.im-pack-shell a { color:inherit; text-decoration:none; }
.immersive button,.im-card button,.im-pack-shell button { font:inherit; }
.immersive img,.im-card img,.im-pack-shell img { display:block; max-width:100%; }
.immersive figure,.im-card figure,.im-pack-shell figure { margin:0; }
.immersive :focus-visible,.im-card :focus-visible,.im-pack-shell :focus-visible,.im-mobile-buy :focus-visible { outline:3px solid var(--im-light); outline-offset:3px; }
.immersive [hidden],.im-pack-panel[hidden],.im-mobile-buy[hidden] { display:none; }
.immersive h1,.immersive h2,.immersive h3,.im-card h3,.im-card h4,.im-pack-shell h3 {
  margin:0; font-family:"Barlow Condensed",Impact,Arial,sans-serif; font-weight:700;
  letter-spacing:-.012em; line-height:1.1; text-transform:uppercase; overflow-wrap:anywhere;
}
.immersive p,.im-card p,.im-pack-shell p { margin:0; }
.im-page { width:100%; max-width:1480px; min-width:0; margin:auto; padding:0 16px 32px; }
.im-breadcrumbs { display:flex; flex-wrap:wrap; gap:5px 8px; padding:16px 0 6px; font-size:11px; line-height:1.5; color:#b7bcc1; overflow-wrap:anywhere; }
.im-breadcrumbs a:hover { color:var(--im-light); }
.im-eyebrow { color:#B8FF3C; font-size:12px; font-weight:700; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; }
.im-product-hero { display:flex; flex-direction:column; gap:12px; min-width:0; padding:16px 0 24px; }
.im-hero-copy { display:contents; min-width:0; }
.im-hero-copy .im-eyebrow { order:0; }
.im-hero-copy h1 { order:1; font-size:clamp(32px,8vw,38px); font-weight:800; text-wrap:balance; }
.im-product-hero .im-product-media { order:2; }
.im-hero-copy .im-slogan { order:3; color:var(--im-light); font-size:17px; font-weight:600; line-height:1.4; text-wrap:balance; }
.im-hero-copy .im-lead { order:4; }
.im-lead { font-size:15px; line-height:1.65; color:#cbd0d4; overflow-wrap:anywhere; }
.im-hero-purchase { order:5; min-width:0; }
.im-hero-price { display:flex; align-items:center; gap:8px 12px; margin:4px 0 12px; flex-wrap:wrap; }
.im-hero-price strong { font-size:28px; line-height:1.2; font-weight:700; letter-spacing:-.025em; white-space:nowrap; color:#B8FF3C; }
.im-hero-price span { color:#b7bcc1; font-size:11px; line-height:1.5; }
.im-note { font-size:12px; line-height:1.65; color:#afb7bd; overflow-wrap:anywhere; }
.im-hero-purchase .im-note { margin-top:9px; }
.im-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; min-width:0; }
.im-button {
  min-width:0; min-height:46px; display:inline-flex; align-items:center; justify-content:center;
  padding:11px 12px; gap:8px; border:1px solid #ffffff40; border-radius:8px;
  font-size:13px; font-weight:700; line-height:1.35; text-align:center; text-decoration:none;
  transition:background-color 160ms,border-color 160ms,box-shadow 160ms; cursor:pointer;
}
.im-button svg { width:18px; height:18px; flex-shrink:0; }
.immersive a.im-button--buy,.im-card a.im-button--buy,.im-pack-shell a.im-button--buy { color:#10140e; background:#B8FF3C; border-color:#B8FF3C; }
.immersive a.im-button--outline,.im-card a.im-button--outline,.im-pack-shell a.im-button--outline { color:#f5f5f3; background:#ffffff04; border-color:#ffffff40; }
.im-button--outline:hover { background:#ffffff12; }
.im-button--buy:hover { box-shadow:0 0 24px color-mix(in srgb,var(--im-glow) 30%,transparent); }
.immersive a.im-text-link,.im-card a.im-text-link {
  display:inline-flex; align-items:center; gap:8px; color:var(--im-light);
  min-height:44px; font-size:12px; font-weight:600; line-height:1.4; overflow-wrap:anywhere;
}
.im-text-link svg { width:17px; height:17px; flex-shrink:0; }

/* Product imagery has a real layout box, never an inset absolute thumbnail. */
.im-product-stage {
  width:100%; min-width:0; position:relative; isolation:isolate; padding:var(--im-stage-padding,12px);
  border:1px solid #ffffff28; border-radius:18px;
  background:radial-gradient(ellipse at 18% 25%,color-mix(in srgb,var(--im-glow) 30%,transparent),transparent 65%),radial-gradient(ellipse at 100% 90%,color-mix(in srgb,var(--im-secondary) 55%,transparent),transparent 70%),#12161c;
  box-shadow:0 18px 44px #0005;
}
.im-stage-product { width:100%; min-width:0; position:relative; z-index:1; aspect-ratio:4/3; border-radius:12px; background:#fafbf8; }
.im-stage-product img,.im-stage-product picture { display:block; width:100%; height:100%; border-radius:inherit; }
.im-stage-product img { object-fit:contain; }
.im-product-stage--cinematic { --im-stage-padding:0; border-color:#ffffff20; }
.im-product-stage--cinematic .im-stage-product { background:#080a0c; aspect-ratio:var(--im-art-ratio,4/3); max-height:none; }
.im-product-stage--cinematic figcaption { padding:10px 12px; }
.im-product-root[data-category-id=sport] .im-stage-product { background:#050609; }
.im-product-media figcaption { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:10px; font-size:10px; line-height:1.4; color:#c0c8ce; }
.im-product-media figcaption span { color:var(--im-light); }
.im-stage-atmosphere { position:absolute; inset:0; border-radius:inherit; pointer-events:none; overflow:hidden; }
.im-stage-orbit { position:absolute; width:80%; aspect-ratio:1; border:1px solid #ffffff12; border-radius:50%; left:30%; top:4%; }
.im-stage-ground { position:absolute; left:10%; right:10%; bottom:0; height:12%; background:radial-gradient(ellipse,var(--im-glow),transparent 70%); opacity:.4; }
.im-stage-particle { position:absolute; width:3px; height:3px; border-radius:50%; background:#B8FF3C; box-shadow:0 0 14px var(--im-light); opacity:.45; }
.im-stage-particle--one { left:3%; top:30%; }
.im-stage-particle--two { right:3%; bottom:25%; }
.im-section-nav {
  position:sticky; top:0; z-index:4; display:flex; gap:20px; width:100%; max-width:100%; min-width:0;
  overflow-x:auto; padding:8px 0; border-block:1px solid #ffffff20;
  background:#090909f5; white-space:nowrap; scrollbar-width:none; overscroll-behavior-x:contain;
}
.im-section-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:12px; color:#c2c9ce; border-bottom:2px solid transparent; }
.im-section-nav a:hover { border-color:#B8FF3C; color:var(--im-light); }
.im-product-story { min-width:0; }
.im-section { min-width:0; padding:28px 0; border-bottom:1px solid #ffffff18; scroll-margin-top:72px; }
.im-section h2 { font-size:clamp(25px,6.7vw,30px); text-wrap:balance; }
.im-section-heading { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:16px; min-width:0; }
.im-section-heading .im-eyebrow,.im-video-copy .im-eyebrow,.im-faq-heading .im-eyebrow { margin-bottom:7px; }
.im-section-heading>p { max-width:38ch; color:#acb5bc; font-size:12px; line-height:1.6; }
.im-anchor { display:block; scroll-margin-top:72px; }
.im-formula-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; min-width:0; }
.im-formula-card,.im-published-copy,.im-original-guide,.im-nutrition-details { min-width:0; border:1px solid #ffffff25; border-radius:10px; background:#14191f; align-self:start; }
.im-formula-card summary {
  display:grid; grid-template-columns:22px minmax(0,1fr) 16px; align-items:center;
  gap:10px; min-height:56px; padding:14px; list-style:none; cursor:pointer;
}
.im-formula-card summary strong { font-size:15px; font-weight:600; line-height:1.4; }
.im-formula-symbol { display:grid; place-items:center; color:var(--im-light); }
.im-formula-symbol svg { width:22px; height:22px; }
.im-formula-toggle svg { width:16px; height:16px; color:#c1c9d0; }
.immersive summary::-webkit-details-marker { display:none; }
.im-disclosure-content { padding:0 14px 16px; color:#c2c9cf; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.im-disclosure-content p+p { margin-top:10px; }
.im-disclosure-content ul { margin:12px 0; padding-left:20px; }
.im-disclosure-content li+li { margin-top:8px; }
.im-formula-card[open],.im-published-copy[open],.im-nutrition-details[open] { border-color:color-mix(in srgb,var(--im-light) 45%,transparent); }
.im-formula-card[open] .im-formula-toggle svg,.im-faq[open] summary svg,.im-published-copy[open] summary svg,.im-nutrition-details[open] summary svg { transform:rotate(180deg); }
.im-published-copy,.im-original-guide { margin-top:10px; background:#10151a; }
.im-published-copy summary,.im-original-guide>summary,.im-nutrition-details summary {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  min-height:54px; padding:14px; list-style:none; font-size:14px; font-weight:600; cursor:pointer;
}
.im-published-copy summary svg,.im-original-guide summary svg,.im-nutrition-details summary svg { width:17px; height:17px; flex-shrink:0; color:var(--im-light); }
.im-original-guide .provided-guide { margin:0; border:0; padding:14px; color:#15221b; background:#f6f7f1; border-radius:0 0 10px 10px; }
.im-original-guide .provided-guide h2 { font-size:24px; }
.im-original-guide .provided-info-frame img { width:100%; height:auto; object-fit:contain; }
.im-benefits-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
.im-benefit-spotlight { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:4px 12px; border-radius:12px; border:1px solid #ffffff25; padding:16px; background:linear-gradient(135deg,color-mix(in srgb,var(--im-secondary) 60%,transparent),#14191f); }
.im-benefit-spotlight>span { font-size:13px; color:var(--im-light); }
.im-benefit-spotlight strong { grid-row:1 / span 2; grid-column:2; font-size:36px; line-height:1; letter-spacing:-.04em; }
.im-benefit-spotlight strong small { margin-left:5px; font-size:13px; font-weight:500; letter-spacing:0; }
.im-benefit-spotlight p { max-width:28ch; font-size:11px; color:#c4cbd0; line-height:1.6; }
.im-benefit-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:9px; }
.im-benefit-grid article { min-width:0; padding:16px; background:#14191f; border:1px solid #ffffff20; border-radius:10px; }
.im-benefit-icon { display:inline-flex; margin-bottom:9px; color:var(--im-light); }
.im-benefit-icon svg { width:23px; height:23px; }
.im-benefit-grid h3 { font-family:Inter,Arial,sans-serif; text-transform:none; font-size:16px; font-weight:600; line-height:1.4; margin-bottom:7px; }
.im-benefit-grid p { font-size:14px; line-height:1.65; color:#bcc6ce; }
.im-benefits-section>.im-note { margin-top:12px; }
.im-composition-panel { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; padding:16px; border:1px solid #ffffff20; border-radius:12px; background:linear-gradient(140deg,#ffffff04,transparent); }
.im-composition-visual { width:100%; max-width:360px; background:#fafbf8; border-radius:10px; }
.im-composition-visual img { width:100%; height:170px; object-fit:contain; border-radius:inherit; }
.im-composition-panel .im-note { margin-top:10px; }
.im-usage-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
.im-usage-grid article { min-width:0; display:grid; grid-template-columns:32px minmax(0,1fr); align-items:start; gap:12px; padding:16px; border:1px solid #ffffff20; border-radius:10px; background:#14191f; }
.im-usage-symbol { display:grid; place-items:center; width:32px; height:32px; color:var(--im-light); }
.im-usage-symbol svg { width:25px; height:25px; }
.im-usage-grid h3 { font:600 15px/1.4 Inter,Arial,sans-serif; text-transform:none; margin-bottom:8px; }
.im-usage-grid p { font-size:14px; color:#c0c8cf; line-height:1.65; }
.im-usage-section>.im-note { margin-top:12px; }
.im-video-section { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.im-video-copy h2 { margin:7px 0 12px; }
.im-video-copy .im-lead { max-width:38ch; }
.im-video-frame { width:100%; min-width:0; aspect-ratio:16/9; border:1px solid #ffffff30; border-radius:14px; background:#10151a; overflow:hidden; position:relative; box-shadow:0 12px 36px #0004; }
.im-video-poster { height:100%; position:relative; }
.im-video-poster>img,.im-video-poster>picture { width:100%; height:100%; object-fit:contain; }
.im-video-poster button { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; width:100%; border:0; color:#fff; background:linear-gradient(180deg,#0002,#0005); font-size:14px; font-weight:700; cursor:pointer; }
.im-play-circle { width:62px; height:62px; display:grid; place-items:center; border:1px solid #ffffff95; border-radius:50%; background:#0c111dcc; box-shadow:0 0 35px #0004; }
.im-play-circle svg { width:24px; height:24px; }
.im-video-frame iframe,.im-video-frame video { display:block; width:100%; height:100%; border:0; }
.im-video-unavailable { display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:24px; border:1px solid #ffffff28; border-radius:12px; background:#14191f; }
.im-video-unavailable>svg { width:30px; height:30px; color:var(--im-light); }
.im-video-unavailable p { font-size:14px; color:#c0c8cf; }
.im-nutrition-summary { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; margin-bottom:12px; }
.im-nutrition-summary>div { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 14px; border:1px solid #ffffff20; border-radius:9px; background:#14191f; min-width:0; }
.im-nutrition-summary span { font-size:12px; color:#b0bac2; }
.im-nutrition-summary strong { font-size:15px; font-weight:600; }
.im-nutrition-details img { width:100%; height:auto; max-width:720px; margin:0 auto; }
.im-document-links { display:flex; flex-wrap:wrap; gap:0 20px; margin-top:8px; min-width:0; }
.im-faq-section { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
.im-faq { border-bottom:1px solid #ffffff20; min-width:0; }
.im-faq summary { display:flex; justify-content:space-between; align-items:center; gap:14px; min-height:58px; padding:15px 0; list-style:none; cursor:pointer; font-size:14px; font-weight:600; line-height:1.5; }
.im-faq summary svg { width:17px; height:17px; color:var(--im-light); flex-shrink:0; }
.im-faq p { padding:0 22px 18px 0; font-size:14px; line-height:1.7; color:#bec8ce; overflow-wrap:anywhere; }
.im-related-rail { display:grid; grid-auto-flow:column; grid-auto-columns:min(76%,260px); gap:12px; min-width:0; width:100%; max-width:100%; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:thin; padding-bottom:10px; }
.im-card {
  min-width:0; max-width:100%; position:relative; display:flex; flex-direction:column; padding:0;
  border:0; border-radius:0; color:#f5f5f3;
  background:transparent;
  box-shadow:none; scroll-snap-align:start;
  transition:transform 180ms,border-color 180ms,box-shadow 180ms;
}
.im-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:20px; font-size:12px; line-height:1.4; letter-spacing:.04em; text-transform:uppercase; color:#B8FF3C; }
.im-card-media { display:block; width:100%; min-width:0; aspect-ratio:var(--im-card-art-ratio,4/5); position:relative; border-radius:22px; border:1px solid #ffffff22; background:radial-gradient(ellipse at 70% 65%,var(--im-secondary),#0b1117 85%); box-shadow:0 30px 70px -36px color-mix(in srgb,var(--im-glow) 65%,transparent); }
.im-card-media img,.im-card-media picture { display:block; width:100%; height:100%; border-radius:inherit; }
.im-card-media img { object-fit:contain; transform:none; }
.im-card-media--original { background:#fafbf8; aspect-ratio:4/3; }
.im-card-media::after { content:""; pointer-events:none; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(135deg,#ffffff0a,transparent 45%); }
.im-card-copy { min-width:0; padding-top:13px; }
.im-card-copy h3,.im-card-copy h4 { font-size:25px; line-height:1.05; font-weight:700; margin-bottom:7px; }
.im-card-copy p { color:#bfc8cf; font-size:15px; line-height:1.5; margin:0 0 12px; }
.im-card-price { margin-top:auto; padding-top:2px; margin-bottom:10px; display:flex; flex-wrap:wrap; gap:2px 8px; justify-content:space-between; align-items:baseline; }
.im-card-price strong { font-size:30px; line-height:1.3; letter-spacing:-.015em; color:#B8FF3C; font-family:"Barlow Condensed",Impact,sans-serif; }
.im-card-price span { color:#acb7bf; font-size:11px; }
.im-card .im-button { font-size:12px; padding:10px 8px; min-height:44px; gap:6px; }
.im-card .im-button svg { width:16px; height:16px; }
.im-card--related { padding:12px; border-radius:18px; box-shadow:none; border:1px solid #ffffff24; background:#101010; }
.im-card--related .im-card-media { aspect-ratio:var(--im-card-art-ratio,4/5); max-height:240px; }
.im-card--related .im-card-copy { padding-top:11px; }
.im-card--related .im-card-copy h3 { font-size:21px; }
.im-card--related .im-card-copy p { font-size:14px; margin-bottom:8px; }
.im-card--related .im-text-link { margin-top:auto; min-height:44px; font-size:12px; }

/* Catalog changes stop at section boundaries; Rewards styles are untouched. */
#productos { background:#090909; padding:36px 16px 42px; }
#productos>.section-heading,#productos>.catalog-tools,#productos>.filter-row,#productos>#product-grid,#productos>.catalog-note,#productos>#empty-state {
  width:100%; max-width:1400px; margin-inline:auto; min-width:0;
}
#productos>.section-heading { color:#f5f5f3; gap:20px; margin-bottom:24px; font-family:Inter,Arial,sans-serif; }
#productos>.section-heading h2 { font:700 clamp(30px,7vw,38px)/1.05 "Barlow Condensed",Impact,Arial,sans-serif; letter-spacing:-.015em; }
#productos>.section-heading p { font-size:14px; line-height:1.65; color:#bcc6ce; }
#productos>.section-heading .eyebrow { font-size:11px; color:#d4ecc0; }
#productos .catalog-tools { gap:10px; grid-template-columns:minmax(0,1fr) 78px; margin-bottom:12px; }
#productos .search-box { min-width:0; min-height:50px; background:#151b22; color:#dce2e8; border-color:#ffffff30; border-radius:9px; padding:10px 12px; }
#productos .search-box input { min-width:0; color:#edf0f4; background:transparent; font-size:13px; }
#productos .search-box input::placeholder { color:#a8b3bd; opacity:1; }
#productos .search-box svg { width:18px; height:18px; }
#productos .search-box kbd { color:#b6c1c9; border-color:#ffffff25; }
#productos .catalog-count { color:#dae1e7; background:#151b22; border:1px solid #ffffff30; border-radius:9px; padding:6px; }
#productos .catalog-count strong { font-size:24px; line-height:1.1; }
#productos .catalog-count span { font-size:10px; }
#productos .filter-row { max-width:100%; gap:7px; margin-block:12px 28px; padding-right:0; overscroll-behavior-x:contain; }
#productos .filter { min-height:44px; padding:10px 13px; font-size:12px; letter-spacing:.03em; color:#c5ced5; border-color:#ffffff35; }
#productos .filter.is-active { color:#10140e; background:#B8FF3C; border-color:#B8FF3C; }
#productos #product-grid { display:block; border:0; }
#productos .im-catalog-category { margin-bottom:26px; min-width:0; }
#productos .im-catalog-category .category-heading { border-color:#ffffff25; margin-bottom:14px; padding-bottom:12px; }
#productos .im-catalog-category h3 { font:700 25px/1.1 "Barlow Condensed",Impact,Arial,sans-serif; letter-spacing:-.01em; color:#edf2f4; }
#productos .im-catalog-category .category-heading span { color:#aebbc5; font-size:11px; }
#productos .category-controls { flex-shrink:0; gap:6px; }
#productos .category-controls button { width:44px; height:44px; color:#f2f4f6; background:#151c24; border:1px solid #ffffff35; border-radius:9px; font-size:22px; }
#productos .category-controls button:disabled { color:#81909b; opacity:.55; }
#productos .category-controls[hidden] { display:none; }
#product-grid .product-rail[data-im-catalog-row] { width:100%; min-width:0; max-width:100%; grid-auto-columns:min(90%,360px); gap:20px; padding:24px 0 20px; align-items:start; }
#product-grid .product-rail>.im-card { min-height:0; padding:0 4px 0 0; border:0; border-radius:0; overflow:visible; background:transparent; }
#product-grid .product-rail>.im-card::before { display:none; }
#productos .catalog-note,#productos .empty-state,#productos>noscript { color:#b1bec8; font-size:12px; line-height:1.7; }
#productos .catalog-note { margin-top:18px; }

/* Packs: one slide, portrait art; balanced 40/60 composition on desktop. */
.packs-section.im-packs { background:#090909; color:#f5f5f3; padding:36px 16px 42px; }
.im-packs>.packs-heading,.im-packs>.im-packs-mount,.im-packs>.packs-note { width:100%; max-width:1400px; margin-inline:auto; min-width:0; }
.im-packs .packs-heading { margin-bottom:22px; gap:20px; }
.im-packs .packs-heading h2 { font:700 clamp(30px,7vw,38px)/1.05 "Barlow Condensed",Impact,Arial,sans-serif; letter-spacing:-.015em; }
.im-packs .packs-heading h2 em { color:#e2c7d9; font-style:normal; }
.im-packs .packs-heading>p { color:#bac5ce; font-size:14px; line-height:1.65; }
.im-packs .packs-heading .eyebrow { font-family:Inter,Arial,sans-serif; font-size:11px; color:#d6bfd6; }
.im-packs .packs-note { color:#aebcc5; font-size:12px; line-height:1.7; margin-top:18px; }
.im-pack-shell { width:100%; min-width:0; max-width:100%; border:1px solid #ffffff30; border-radius:18px; position:relative; isolation:isolate; background:#10151b; }
.im-pack-track { display:flex; width:100%; min-width:0; max-width:100%; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; touch-action:pan-x pan-y pinch-zoom; border-radius:inherit; }
.im-pack-track::-webkit-scrollbar { display:none; }
.im-pack-panel {
  box-sizing:border-box; width:100%; min-width:0; max-width:100%; flex:0 0 100%;
  display:grid; grid-template-columns:minmax(0,1fr); gap:14px; padding:20px 14px 66px;
  scroll-snap-align:start; scroll-snap-stop:always;
  background:radial-gradient(ellipse at 85% 25%,color-mix(in srgb,var(--im-secondary) 75%,transparent),transparent 70%),linear-gradient(145deg,#15191e,#0e1116 80%);
}
.im-pack-copy { min-width:0; grid-row:1; grid-column:1; }
.im-pack-copy .im-eyebrow { font-size:12px; margin-bottom:6px; }
.im-pack-copy h3 { font-size:27px; line-height:1.1; text-wrap:balance; }
.im-pack-media { grid-row:2; grid-column:1; width:100%; min-width:0; aspect-ratio:4/5; align-self:center; border-radius:12px; background:#0b0b0e; box-shadow:0 18px 38px #0005; }
.im-pack-media img { display:block; width:100%; height:100%; object-fit:contain; border-radius:inherit; }
.im-pack-footer { min-width:0; grid-row:3; grid-column:1; }
.im-pack-description { color:#c5d0d8; font-size:15px; line-height:1.6; }
.im-pack-included { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; color:var(--im-light); font-size:12px; line-height:1.5; margin:12px 0 16px; }
.im-pack-footer .im-actions { margin-top:12px; }
.im-pack-footer .im-button { padding:10px 7px; gap:5px; font-size:12px; min-height:46px; }
.im-pack-footer .im-button svg { width:16px; height:16px; }
.im-pack-arrow { position:absolute; top:var(--im-pack-arrow-top,42%); transform:translateY(-50%); z-index:2; width:44px; height:48px; border:1px solid #ffffff70; border-radius:9px; background:#0d1521eb; color:#fff; box-shadow:0 3px 20px #0007; display:grid; place-items:center; cursor:pointer; }
.im-pack-arrow--prev { left:var(--im-pack-arrow-left,8px); }
.im-pack-arrow--next { right:var(--im-pack-arrow-right,8px); }
.im-pack-arrow svg { width:24px; height:24px; }
.im-pack-arrow:hover { background:#29394a; }
.im-pack-navigation { position:absolute; left:18px; right:18px; bottom:13px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#dce4eb; font-size:11px; letter-spacing:.07em; }
.im-pack-dots { display:flex; gap:3px; }
.im-pack-dots button { width:32px; height:40px; padding:0; border:0; background:none; cursor:pointer; position:relative; }
.im-pack-dots button::after { content:""; position:absolute; height:3px; top:18px; left:3px; right:3px; border-radius:4px; background:#ffffff40; transition:background-color 160ms; }
.im-pack-dots button[aria-current=true]::after { background:#B8FF3C; }
.im-pack-dialog { box-sizing:border-box; width:calc(100% - 24px); max-width:1220px; min-width:0; max-height:90svh; padding:14px; border:1px solid #ffffff40; border-radius:16px; background:#090909; overflow:auto; overscroll-behavior:contain; }
.im-pack-dialog:not([open]) { display:none; }
.im-pack-dialog::backdrop { background:#020509d9; }
.im-pack-dialog.im-pack-inline { position:relative; margin:24px auto; max-height:none; }
.im-dialog-close { display:grid; place-items:center; position:sticky; top:0; z-index:3; margin:0 0 6px auto; width:44px; height:44px; padding:0; border:1px solid #ffffff50; border-radius:50%; background:#121b25; color:#fff; cursor:pointer; }
.im-dialog-close svg { width:20px; height:20px; }
.im-pack-detail { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; min-width:0; }
.im-pack-detail-heading { min-width:0; }
.im-pack-detail-heading h2 { font-size:29px; margin-top:7px; line-height:1.1; }
.im-pack-joint { width:100%; max-width:480px; min-width:0; aspect-ratio:4/5; justify-self:center; }
.im-pack-joint img { width:100%; height:100%; object-fit:contain; border-radius:12px; }
.im-pack-detail-copy { min-width:0; }
.im-pack-detail-copy>h3 { font-size:23px; margin:18px 0 12px; }
.im-pack-products { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
.im-pack-product { min-width:0; display:grid; grid-template-columns:84px minmax(0,1fr); align-items:center; gap:12px; padding:10px; border:1px solid #ffffff25; border-radius:10px; background:#14191f; }
.im-pack-product .im-official { display:block; width:100%; aspect-ratio:1; background:#fafbf8; border-radius:8px; }
.im-pack-product img { width:100%; height:100%; object-fit:contain; border-radius:inherit; }
.im-pack-product h4 { font:700 20px/1.1 "Barlow Condensed",Impact,Arial,sans-serif; margin:0 0 6px; text-transform:uppercase; overflow-wrap:anywhere; }
.im-pack-product p { font-size:11px; color:#b8c6d1; }
.im-pack-product .im-text-link { font-size:11px; }
.im-pack-detail-copy>.im-note { margin:16px 0; }

/* A specific Rewards closing, never the protected home Rewards card. */
.im-rewards { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; min-width:0; margin:28px 0 20px; padding:20px; border:1px solid #ffffff35; border-radius:16px; background:radial-gradient(ellipse at 100% 0,#b8ff3c18,transparent 68%),#101010; border-color:#B8FF3C50; }
.im-rewards-label { font-size:11px; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; color:#efdbb5; }
.im-rewards h2 { font:700 26px/1.1 "Barlow Condensed",Impact,Arial,sans-serif; letter-spacing:-.01em; text-wrap:balance; margin:9px 0 12px; }
.im-rewards-slogan { color:#efe0c4; font-size:11px; font-weight:700; letter-spacing:.035em; }
.im-rewards-description { font-size:13px; line-height:1.7; color:#c5cbd0; margin-top:8px; max-width:62ch; }
.immersive a.im-rewards-cta { width:100%; max-width:310px; margin-top:16px; font-size:11px; color:#15130f; border-color:#B8FF3C; background:#B8FF3C; }
.im-rewards-conditions { font-size:12px; line-height:1.7; color:#afb9c0; margin-top:13px; max-width:78ch; }
.im-rewards-visual { display:grid; grid-template-columns:34px auto minmax(0,1fr); align-items:center; justify-content:start; gap:12px; padding-top:14px; border-top:1px solid #ffffff25; color:#efdbb5; }
.im-rewards-gift svg { width:30px; height:30px; }
.im-rewards-visual strong { font-size:48px; font-weight:700; line-height:1; letter-spacing:-.05em; white-space:nowrap; }
.im-rewards-visual strong span { font-size:32px; margin:0 4px; color:#e7b1c0; }
.im-rewards-choice { font-size:11px; line-height:1.5; color:#d7cbb8; max-width:16ch; }
.im-warning { font-size:11px; line-height:1.75; color:#aebac3; overflow-wrap:anywhere; margin:18px 0 8px; }
.im-warning p+p { margin-top:10px; }

/* A single responsive purchase bar. Space is reserved, including safe areas. */
body:has(.im-mobile-buy) { padding-bottom:calc(var(--im-buy-height,108px) + var(--im-buy-bottom-gap,0px) + 12px); }
.mobile-purchase.im-mobile-buy {
  box-sizing:border-box; position:fixed; left:0; right:0; bottom:0; z-index:25; width:100%; max-width:100%; margin:0;
  display:grid; grid-template-columns:minmax(0,1fr); gap:7px; align-items:center;
  padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  color:#f5f5f3; background:#0b1119f7; border:1px solid #ffffff35; box-shadow:0 -6px 26px #0005;
}
.im-mobile-buy .im-buy-summary { display:grid; min-width:0; align-items:center; justify-content:space-between; gap:8px; grid-template-columns:36px minmax(0,1fr) auto; }
.im-mobile-buy .im-buy-name { min-width:0; font-size:13px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.im-mobile-buy .im-buy-price { display:flex; flex-shrink:0; align-items:flex-end; gap:0; flex-direction:column; }
.im-mobile-buy .im-buy-price strong { font-size:18px; line-height:1.3; font-weight:700; white-space:nowrap; }
.im-mobile-buy .im-buy-price span { font-size:10px; color:#b7c3cf; }
.im-mobile-buy .im-buy-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; min-width:0; }
.im-mobile-buy a.im-button { width:100%; min-height:44px; padding:10px 12px; border-radius:8px; font-size:12px; font-weight:700; line-height:1.3; }
.im-mobile-buy a.im-button--buy { color:#10140e; background:#B8FF3C; border-color:#B8FF3C; }
.im-mobile-buy a.im-button--outline { color:#f5f5f3; background:#ffffff05; border-color:#ffffff40; }
.mobile-purchase.im-mobile-buy[hidden] { display:none; }

/* Breakpoints change composition rather than scaling the entire page. */
@media(min-width:430px) {
  .im-page { padding-inline:22px; }
  .im-product-stage { padding:var(--im-stage-padding,16px); }
}
@media(min-width:600px) {
  .im-benefit-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .im-formula-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .im-nutrition-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .im-nutrition-summary>div { flex-direction:column; align-items:flex-start; gap:4px; }
  .im-composition-panel { grid-template-columns:minmax(0,.65fr) minmax(0,1fr); align-items:center; }
  .im-usage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .im-section-heading { flex-direction:row; align-items:end; }
  .im-related-rail { grid-auto-columns:calc((100% - 24px)/3); }
  .im-rewards { grid-template-columns:minmax(0,1fr) minmax(140px,.38fr); gap:24px; align-items:center; padding:24px; background:radial-gradient(ellipse at 100% 0,#b8ff3c18,transparent 68%),#101010; border-color:#B8FF3C50; }
  .im-rewards-visual { display:flex; flex-direction:column; text-align:center; padding:0; border:0; gap:15px; }
  #product-grid .product-rail[data-im-catalog-row] { grid-auto-columns:min(90%,360px); gap:20px; padding:24px 0 20px; align-items:start; }
}
@media(min-width:761px) {
  body:has(.im-mobile-buy) { --im-buy-bottom-gap:16px; }
  .im-page { padding:0 clamp(24px,3vw,44px) 42px; }
  .im-breadcrumbs { padding-top:22px; font-size:12px; }
  .im-product-hero { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,3.5vw,54px); align-items:center; padding:26px 0 34px; }
  .im-hero-copy { display:block; }
  .im-hero-copy .im-eyebrow { margin-bottom:12px; }
  .im-hero-copy h1 { font-size:clamp(40px,4.2vw,60px); }
  .im-hero-copy .im-slogan { font-size:20px; margin:14px 0 12px; max-width:28ch; }
  .im-hero-copy .im-lead { font-size:16px; max-width:42ch; }
  .im-hero-purchase { margin-top:22px; }
  .im-hero-copy .im-actions { max-width:380px; }
  .im-hero-price strong { font-size:31px; color:#B8FF3C; }
  .im-hero-price span { font-size:12px; }
  .im-product-stage { padding:var(--im-stage-padding,18px); border-radius:22px; }
  .im-stage-product { aspect-ratio:16/10; max-height:none; }
  .im-product-stage--cinematic .im-stage-product { aspect-ratio:var(--im-art-ratio,4/3); max-height:none; }
  .im-product-media figcaption { font-size:11px; padding-top:12px; }
  .im-section { padding:36px 0; }
  .im-section h2 { font-size:clamp(30px,2.7vw,39px); }
  .im-section-heading { margin-bottom:20px; }
  .im-section-heading>p { font-size:13px; }
  .im-eyebrow { font-size:12px; color:#B8FF3C; }
  .im-formula-card summary { padding:16px; min-height:58px; }
  .im-formula-card summary strong { font-size:16px; }
  .im-disclosure-content { padding-inline:16px; font-size:15px; }
  .im-benefits-layout { grid-template-columns:minmax(0,.28fr) minmax(0,.72fr); gap:16px; }
  .im-benefit-spotlight { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:12px; padding:22px; }
  .im-benefit-spotlight strong { font-size:48px; }
  .im-benefit-spotlight>span { font-size:13px; }
  .im-benefit-grid { gap:12px; }
  .im-benefit-grid article { padding:18px; }
  .im-benefit-grid h3 { font-size:16px; }
  .im-benefit-grid p { font-size:14px; }
  .im-usage-grid article { padding:20px; }
  .im-usage-grid p { font-size:15px; }
  .im-video-section { grid-template-columns:minmax(0,.36fr) minmax(0,.64fr); gap:32px; align-items:center; }
  .im-video-frame { max-width:850px; }
  .im-faq-section { grid-template-columns:minmax(0,.36fr) minmax(0,.64fr); gap:32px; }
  .im-faq summary { font-size:15px; }
  .im-faq p { font-size:15px; }
  .im-related-rail { grid-auto-columns:calc((100% - 24px)/3); }
  .im-card--related { display:grid; grid-template-columns:100px minmax(0,1fr); grid-template-rows:auto auto; gap:0 12px; align-content:start; }
  .im-card--related .im-card-media { grid-column:1; grid-row:1 / span 2; aspect-ratio:var(--im-card-art-ratio,4/5); }
  .im-card--related .im-card-copy { grid-column:2; grid-row:1; padding-top:0; }
  .im-card--related .im-text-link { grid-column:2; grid-row:2; align-self:end; }
  .im-card-copy h3,.im-card-copy h4 { font-size:30px; line-height:1.05; }
  .im-card--related .im-card-copy h3 { font-size:22px; }
  .im-rewards { padding:28px; margin:36px 0 24px; background:radial-gradient(ellipse at 100% 0,#b8ff3c18,transparent 68%),#101010; border-color:#B8FF3C50; }
  .im-rewards h2 { font-size:32px; max-width:28ch; }
  .im-rewards-description { font-size:14px; }
  .im-rewards-conditions { font-size:12px; }
  .im-rewards-visual strong { font-size:72px; }
  .im-rewards-visual strong span { font-size:45px; }
  .im-rewards-choice { font-size:12px; }
  #productos,.packs-section.im-packs { padding:52px clamp(24px,4vw,64px); }
  #productos>.section-heading h2,.im-packs .packs-heading h2 { font-size:clamp(34px,3.5vw,48px); }
  #productos>.section-heading p,.im-packs .packs-heading>p { font-size:15px; }
  #productos .im-catalog-category h3 { font-size:29px; }
  #productos .im-catalog-category { margin-bottom:32px; }
  #productos .filter { font-size:12px; }
  #productos .catalog-tools { grid-template-columns:minmax(0,1fr) 96px; }
  #productos .search-box input { font-size:14px; }
  #product-grid .product-rail[data-im-catalog-row] { grid-auto-columns:calc((100% - 40px)/3); gap:20px; padding:24px 0 20px; align-items:start; }
  .im-pack-panel { grid-template-columns:minmax(0,.4fr) minmax(0,.6fr); grid-template-rows:auto 1fr; gap:16px 32px; padding:28px 28px 66px; align-items:center; }
  .im-pack-copy { grid-column:1; grid-row:1; align-self:end; }
  .im-pack-copy h3 { font-size:clamp(30px,3vw,40px); }
  .im-pack-copy .im-eyebrow { font-size:12px; }
  .im-pack-media { grid-column:2; grid-row:1 / span 2; max-width:500px; justify-self:center; }
  .im-pack-footer { grid-column:1; grid-row:2; align-self:start; }
  .im-pack-description { font-size:15px; }
  .im-pack-included { margin-block:16px 20px; font-size:12px; }
  .im-pack-footer .im-button { font-size:13px; padding:11px 10px; }
  .im-pack-navigation { left:28px; right:28px; }
  .im-pack-dialog { padding:22px; }
  .im-pack-detail { grid-template-columns:minmax(0,.55fr) minmax(0,.45fr); gap:22px 30px; align-items:start; }
  .im-pack-detail-heading { grid-column:2; grid-row:1; }
  .im-pack-detail-heading h2 { font-size:38px; }
  .im-pack-joint { grid-column:1; grid-row:1 / span 2; }
  .im-pack-detail-copy { grid-column:2; grid-row:2; }
  .mobile-purchase.im-mobile-buy { display:none; left:24px; right:24px; bottom:16px; width:min(980px,calc(100% - 48px)); margin-inline:auto; padding:12px 16px; gap:22px; grid-template-columns:minmax(0,1fr) auto; border-radius:13px; }
  .mobile-purchase.im-mobile-buy[data-im-visible=true] { display:grid; }
  .im-mobile-buy .im-buy-name { font-size:15px; }
  .im-mobile-buy .im-buy-price { gap:0; flex-direction:column; align-items:flex-end; }
  .im-mobile-buy .im-buy-price strong { font-size:20px; }
  .im-mobile-buy .im-buy-price span { font-size:10px; }
  .im-mobile-buy .im-buy-actions { grid-template-columns:140px 140px; }
}
@media(min-width:1100px) {
  .im-formula-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .im-pack-panel { column-gap:48px; padding:36px 44px 70px; }
  .im-pack-media { max-width:520px; }
  .im-composition-panel { grid-template-columns:minmax(0,.34fr) minmax(0,.66fr); }
  #product-grid .product-rail[data-im-catalog-row] { grid-auto-columns:calc((100% - 56px)/3); gap:28px; padding:24px 0 20px; align-items:start; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .im-card:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--im-light) 65%,transparent); box-shadow:none; }
  .im-formula-card:hover,.im-benefit-grid article:hover { border-color:#ffffff50; }
  .im-stage-particle { animation:im-ambient 6s ease-in-out infinite alternate; }
  .im-stage-particle--two { animation-delay:-3s; }
}
@keyframes im-ambient { from { opacity:.3; } to { opacity:.7; transform:translateY(-6px); } }
@media(prefers-reduced-motion:reduce) {
  .immersive *,.im-card,.im-card *,.im-pack-shell,.im-pack-shell *,.im-mobile-buy * { animation-duration:0s; transition-duration:0s; scroll-behavior:auto; }
  ::view-transition-old(root),::view-transition-new(root),::view-transition-group(selected-product) { animation:none; }
}
