/* ============================================================
   CREAWELL — Product page (Mind). Extends creawell.css.
   Cherry accent world; same clinical-luxury system.
   ============================================================ */

.pdp{--accent:var(--mind);--accent-soft:var(--mind-soft);}

/* offset for fixed header */
.pdp-top{height:78px;}

/* ---- Breadcrumb ---- */
.crumb{border-bottom:1px solid var(--line-soft);}
.crumb .wrap{display:flex;align-items:center;gap:.6rem;height:52px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.crumb a{transition:color .3s;}
.crumb a:hover{color:var(--ink);}
.crumb .sep{opacity:.4;}
.crumb .here{color:var(--mind);font-weight:600;}

/* ============================================================
   HERO / BUY
   ============================================================ */
.pdp-hero{padding:clamp(2rem,4vw,3.5rem) 0 clamp(3rem,6vw,5rem);}
.pdp-hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,5vw,5rem);align-items:start;}

/* gallery */
.gallery{position:sticky;top:130px;display:flex;flex-direction:column;gap:1rem;}
.gallery .stage{
  position:relative;aspect-ratio:1/1;border-radius:14px;overflow:visible;
  background:transparent;
  border:0;display:grid;place-items:center;
}
.gallery .stage img{width:146%;height:146%;object-fit:contain;transform:translateY(-9%);pointer-events:none;filter:drop-shadow(0 30px 48px rgba(9,28,58,.22));transition:opacity .5s var(--ease),transform .8s var(--ease);}
.gallery .stage .flavor-badge{position:absolute;top:1.1rem;left:1.1rem;font-size:.68rem;letter-spacing:.06em;color:var(--mind);background:rgba(255,255,255,.85);backdrop-filter:blur(6px);padding:.5em 1em;border-radius:100px;font-weight:600;}
.thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.7rem;align-items:start;}
.thumbs button{
  aspect-ratio:1/1;border-radius:9px;overflow:hidden;background:var(--paper);
  border:1px solid var(--line-soft);cursor:pointer;display:grid;place-items:center;transition:border-color .3s,transform .3s;padding:0;
}
.thumbs button img{width:100%;height:100%;object-fit:cover;}
/* product render on a transparent canvas: contain + enlarge the small subject */
.thumbs button.is-render{padding:6%;}
.thumbs button.is-render img{object-fit:contain;transform:scale(1.5);}
.thumbs button:hover{transform:translateY(-2px);}
.thumbs button.on{border-color:var(--mind);box-shadow:0 0 0 1px var(--mind);}

/* buy box */
.buy .eyebrow{color:var(--mind);}
.buy .eyebrow::before{background:var(--mind);}
.buy h1{font-size:clamp(2.2rem,4vw,3.3rem);font-weight:900;letter-spacing:-.03em;line-height:1;margin:1rem 0 .5rem;}
.buy .subtitle{font-size:1.05rem;color:var(--muted);margin-bottom:1.3rem;}
.buy .subtitle b{color:var(--ink);font-weight:600;}
.buy .desc{font-size:1.02rem;line-height:1.6;color:var(--muted);max-width:48ch;margin-bottom:1.8rem;}
.buy .quick{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.8rem;}
.buy .quick span{font-size:.74rem;letter-spacing:.04em;color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:.4em .9em;display:inline-flex;align-items:center;gap:.45em;}
.buy .quick span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mind);}

/* tier selector */
.tiers{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.6rem;}
.tier{
  position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;
  border:1px solid var(--line);border-radius:12px;padding:1rem 1.2rem;cursor:pointer;transition:border-color .3s,background .3s,box-shadow .3s;background:var(--paper);
}
.tier:hover{border-color:var(--mind-soft);}
.tier.on{border-color:var(--mind);box-shadow:0 0 0 1px var(--mind);background:color-mix(in srgb,var(--mind) 4%,#fff);}
.tier .radio{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);position:relative;transition:border-color .3s;}
.tier.on .radio{border-color:var(--mind);}
.tier.on .radio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--mind);}
.tier .info b{display:block;font-size:1rem;font-weight:700;letter-spacing:-.01em;}
.tier .info small{font-size:.82rem;color:var(--muted);}
.tier .price{text-align:right;}
.tier .price .was{display:block;font-size:.82rem;color:var(--muted-2);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted-2) 65%,transparent);font-variant-numeric:tabular-nums;line-height:1.1;margin-bottom:.1rem;}
.tier .price .now{font-size:1.15rem;font-weight:800;font-variant-numeric:tabular-nums;}
.tier .price .perday{display:block;font-size:.72rem;color:var(--muted-2);letter-spacing:.03em;}
.tier .save{position:absolute;top:-9px;right:14px;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;background:var(--mind);color:#fff;padding:.3em .7em;border-radius:100px;}
.tier .pop{position:absolute;top:-9px;left:14px;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;background:var(--ink);color:#fff;padding:.3em .7em;border-radius:100px;}

.buy .addrow{display:flex;gap:.8rem;align-items:center;margin-bottom:1.4rem;}
.btn-buy{flex:1;justify-content:center;background:var(--mind);color:#fff;font-size:.9rem;padding:1.2em 1.5em;}
.btn-buy:hover{background:var(--ink);}
.btn-buy .total{font-variant-numeric:tabular-nums;}
.buy .reassure{display:flex;flex-wrap:wrap;gap:1.2rem 1.6rem;padding-top:1.4rem;border-top:1px solid var(--line-soft);}
.buy .reassure .r{display:flex;align-items:center;gap:.55rem;font-size:.82rem;color:var(--muted);}
.buy .reassure .r svg{width:18px;height:18px;stroke:var(--mind);fill:none;stroke-width:1.6;flex:none;}

/* ---- rating (aggregate ★, links to reviews) ---- */
.buy .rating{display:inline-flex;align-items:center;gap:.45rem;margin:-.5rem 0 1.4rem;font-size:.9rem;color:var(--muted);transition:color .3s;}
.buy .rating:hover{color:var(--ink);}
.buy .rating .stars{color:var(--mind);letter-spacing:.1em;font-size:.96rem;}
.buy .rating .rate-num{font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;}

/* ---- purchase mode toggle (subscription vs one-time) ---- */
.buymode{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1.1rem;}
.buymode .bm{position:relative;text-align:left;border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem .82rem 2.5rem;background:var(--paper);cursor:pointer;transition:border-color .3s,box-shadow .3s,background .3s;}
.buymode .bm::before{content:"";position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line);transition:border-color .3s;}
.buymode .bm:hover{border-color:var(--mind-soft);}
.buymode .bm.on{border-color:var(--mind);box-shadow:0 0 0 1px var(--mind);background:color-mix(in srgb,var(--mind) 4%,#fff);}
.buymode .bm.on::before{border-color:var(--mind);}
.buymode .bm.on::after{content:"";position:absolute;left:calc(1rem + 9px);top:50%;width:8px;height:8px;border-radius:50%;background:var(--mind);transform:translate(-50%,-50%);}
.buymode .bm-main{display:flex;align-items:center;gap:.5em;font-weight:700;font-size:.95rem;letter-spacing:-.01em;color:var(--ink);}
.buymode .bm-save{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;background:var(--mind);color:#fff;padding:.28em .6em;border-radius:100px;}
.buymode .bm-sub{display:block;font-size:.73rem;color:var(--muted);margin-top:.28rem;line-height:1.3;}

/* ---- 30-day guarantee (under CTA) ---- */
.buy .guarantee{display:flex;align-items:center;gap:.75rem;margin:-.3rem 0 0;padding:.85rem 1rem;border-radius:12px;background:color-mix(in srgb,var(--mind) 5%,var(--paper));border:1px solid color-mix(in srgb,var(--mind) 16%,transparent);font-size:.85rem;color:var(--muted);line-height:1.4;}
.buy .guarantee svg{width:22px;height:22px;stroke:var(--mind);fill:none;stroke-width:1.6;flex:none;}
.buy .guarantee b{color:var(--ink);font-weight:700;}

/* ---- independent certification strip ---- */
.buy .certrow{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line-soft);}
.buy .certrow .cert-label{display:block;font-size:.67rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:.9rem;}
.buy .cert-logos{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;}
.buy .cert{display:grid;place-items:center;height:52px;min-width:62px;padding:.5rem .8rem;background:var(--paper);border:1px solid var(--line-soft);border-radius:10px;transition:border-color .3s,transform .3s;}
.buy .cert:hover{border-color:var(--line);transform:translateY(-2px);}
.buy .cert img{max-height:34px;max-width:92px;width:auto;object-fit:contain;}

/* ---- reviews aggregate (section head) ---- */
.reviews .rev-agg{display:inline-flex;align-items:center;gap:.5rem;margin-top:.9rem;font-size:.92rem;color:var(--muted);}
.reviews .rev-agg .stars{color:var(--mind);letter-spacing:.1em;}
.reviews .rev-agg b{color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums;}

/* ============================================================
   FORMULA (USP)
   ============================================================ */
.formula{background:var(--bg-2);overflow:hidden;}
.formula-head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,4rem);align-items:end;margin-bottom:clamp(3rem,6vw,5rem);}
.formula-head .h2{max-width:16ch;}
.formula-head .lede{justify-self:end;max-width:42ch;}
.usp-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,3vw,3rem);}
.usp{position:relative;display:flex;flex-direction:column;}
.usp:nth-child(2){margin-top:clamp(2rem,6vw,5.5rem);}
.usp:nth-child(3){margin-top:clamp(1rem,3vw,2.6rem);}
.usp-no{font-size:clamp(3rem,5vw,4.6rem);font-weight:900;line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.4px var(--mind);margin-bottom:1.1rem;}
.usp .parallax-frame{aspect-ratio:3/4;border-radius:16px;background:#0a1c38;margin-bottom:1.4rem;box-shadow:0 40px 80px -50px rgba(9,28,58,.5);}
.usp h3{font-size:1.3rem;letter-spacing:-.02em;line-height:1.16;margin-bottom:.7rem;}
.usp p{font-size:.96rem;color:var(--muted);line-height:1.55;max-width:34ch;}

/* parallax frame utility */
.parallax-frame{position:relative;overflow:hidden;}
.parallax-frame>img{position:absolute;left:0;top:-16%;width:100%;height:132%;object-fit:cover;will-change:transform;}

/* ============================================================
   INGREDIENTS (dark)
   ============================================================ */
.ingredients{background:var(--navy-deep);color:#eaf0fa;position:relative;overflow:hidden;}
.ingredients::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 55% at 82% 6%,rgba(156,47,85,.3),transparent 60%);pointer-events:none;}
.ingredients .wrap{position:relative;z-index:2;}
.ingredients .head{display:grid;grid-template-columns:1fr 1fr;gap:2rem 4rem;align-items:end;margin-bottom:clamp(2.6rem,5vw,4rem);}
.ingredients .eyebrow{color:rgba(234,240,250,.7);}
.ingredients .head .lede{color:rgba(234,240,250,.74);justify-self:end;}
.ing-stagger{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.6rem);}
.ing{position:relative;overflow:hidden;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:clamp(1.6rem,2.4vw,2.2rem);display:flex;flex-direction:column;gap:.7rem;min-height:236px;transition:background .4s,border-color .4s,transform .5s var(--ease);}
.ing:hover{background:rgba(255,255,255,.06);border-color:rgba(199,90,126,.5);transform:translateY(-5px);}
.ing:nth-child(2),.ing:nth-child(4),.ing:nth-child(6){margin-top:clamp(1.4rem,4vw,3.2rem);}
.ing .ghost{position:absolute;top:-.18em;right:.12em;font-family:var(--ff-serif);font-style:italic;font-size:clamp(4rem,7vw,6.5rem);line-height:1;color:rgba(199,90,126,.14);pointer-events:none;will-change:transform;}
.ing .tag{font-family:var(--ff-serif);font-style:italic;font-size:1.05rem;color:var(--mind-soft);position:relative;z-index:1;}
.ing h3{font-size:1.14rem;letter-spacing:-.01em;line-height:1.18;margin-top:auto;text-transform:uppercase;position:relative;z-index:1;}
.ing p{font-size:.9rem;color:rgba(234,240,250,.68);line-height:1.5;position:relative;z-index:1;}

/* ============================================================
   WHY (benefits checklist + image)
   ============================================================ */
.why{overflow:hidden;}
.why-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2.5rem,6vw,6rem);align-items:center;}
.why-visual{position:relative;aspect-ratio:4/5;border-radius:18px;background:var(--bg-2);box-shadow:0 50px 92px -52px rgba(9,28,58,.42);}
.why-visual .why-cap{position:absolute;left:1.2rem;bottom:1.2rem;z-index:2;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(9,20,40,.5);backdrop-filter:blur(6px);padding:.5em 1em;border-radius:100px;}
.why-stack .h2{margin:1rem 0 2rem;max-width:16ch;}
.benefits{display:flex;flex-direction:column;}
.benefits li{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:start;padding:1.35rem 0;border-top:1px solid var(--line-soft);transition:padding-left .4s var(--ease);}
.benefits li:last-child{border-bottom:1px solid var(--line-soft);}
.benefits li:hover{padding-left:.7rem;}
.benefits .bi{font-size:.8rem;font-weight:700;color:var(--mind);font-variant-numeric:tabular-nums;padding-top:.5em;letter-spacing:.08em;}
.benefits b{display:block;font-size:clamp(1.2rem,1.8vw,1.55rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;}
.benefits em{display:block;font-family:var(--ff-serif);font-style:italic;font-size:1rem;color:var(--muted);margin-top:.3rem;}

/* ============================================================
   USAGE
   ============================================================ */
.usage{background:var(--ink);color:#fff;}
.usage .head{display:flex;flex-direction:column;gap:1rem;margin-bottom:clamp(2.4rem,4vw,3.4rem);max-width:40ch;}
.usage .head .eyebrow{color:var(--mind-soft);}
.usage .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden;}
.usage .step{background:var(--ink);padding:clamp(1.8rem,3vw,2.6rem);display:flex;flex-direction:column;gap:1rem;}
.usage .step .no{font-size:2.4rem;font-weight:900;color:var(--mind-soft);letter-spacing:-.03em;line-height:1;}
.usage .step h4{font-size:1.15rem;font-weight:700;}
.usage .step p{font-size:.95rem;color:rgba(255,255,255,.74);line-height:1.55;}
.usage .note{margin-top:1.6rem;font-size:.82rem;color:rgba(255,255,255,.55);max-width:70ch;}

/* ============================================================
   REVIEWS
   ============================================================ */
.reviews .head{text-align:center;max-width:52ch;margin:0 auto clamp(2.6rem,5vw,4rem);}
.reviews .head .eyebrow{margin-bottom:1rem;}
.reviews .head h2{text-wrap:balance;}
.rev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.rev{background:var(--paper);border:1px solid var(--line-soft);border-radius:14px;padding:1.6rem;display:flex;flex-direction:column;gap:.9rem;}
.rev .stars{color:var(--mind);font-size:.85rem;letter-spacing:.15em;}
.rev h4{font-size:1.05rem;letter-spacing:-.01em;}
.rev p{font-size:.92rem;color:var(--muted);line-height:1.55;flex:1;}
.rev .who{display:flex;align-items:center;gap:.7rem;padding-top:.6rem;border-top:1px solid var(--line-soft);}
.rev .who img{width:38px;height:38px;border-radius:50%;object-fit:cover;background:var(--bg-2);}
.rev .who b{font-size:.86rem;}
.rev .who small{display:block;font-size:.72rem;color:var(--muted-2);}

/* ============================================================
   CROSS-SELL
   ============================================================ */
.cross{background:var(--bg-2);}
.cross .head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2rem,4vw,3rem);flex-wrap:wrap;}
.cross-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.xcard{position:relative;border-radius:16px;overflow:hidden;min-height:300px;display:flex;align-items:flex-end;padding:clamp(1.6rem,3vw,2.4rem);color:#fff;isolation:isolate;}
.xcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease);}
.xcard:hover img{transform:scale(1.05);}
.xcard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(9,20,40,.85) 0%,rgba(9,20,40,.25) 70%);}
.xcard .x-in{display:flex;flex-direction:column;gap:.5rem;}
.xcard .x-eyebrow{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8);font-weight:600;}
.xcard h3{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:900;letter-spacing:-.02em;text-transform:uppercase;}
.xcard p{font-size:.92rem;color:rgba(255,255,255,.82);max-width:34ch;}
.xcard .x-link{margin-top:.6rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;display:inline-flex;gap:.5em;}

/* ============================================================
   STICKY ADD-TO-CART BAR
   ============================================================ */
.stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:55;transform:translateY(120%);transition:transform .5s var(--ease);
  background:rgba(255,255,255,.92);backdrop-filter:blur(18px) saturate(1.4);border-top:1px solid var(--line);
}
.stickybar.show{transform:none;}
.stickybar .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:74px;}
.stickybar .pinfo{display:flex;align-items:center;gap:.9rem;min-width:0;}
.stickybar .pinfo img{width:46px;height:46px;object-fit:contain;border-radius:8px;background:var(--bg);padding:4px;flex:none;}
.stickybar .pinfo b{font-size:.98rem;letter-spacing:-.01em;display:block;}
.stickybar .pinfo small{font-size:.78rem;color:var(--muted);}
.stickybar .sb-right{display:flex;align-items:center;gap:1.2rem;}
.stickybar .sb-price{font-size:1.15rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;}
.stickybar .btn-buy{flex:none;padding:.9em 1.8em;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .pdp-hero .grid{grid-template-columns:1fr;gap:2.5rem;}
  .gallery{position:static;}
  .gallery .stage{max-width:520px;margin-inline:auto;width:100%;}
  .why-grid{grid-template-columns:1fr;}
  .why-visual{order:-1;max-width:480px;margin-inline:auto;width:100%;}
  .formula-head{grid-template-columns:1fr;gap:1.4rem;}
  .formula-head .lede{justify-self:start;}
  .ingredients .head{grid-template-columns:1fr;}
  .ingredients .head .lede{justify-self:start;}
  .rev-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  .usp-row{grid-template-columns:1fr;max-width:430px;margin-inline:auto;gap:2.5rem;}
  .usp:nth-child(2),.usp:nth-child(3){margin-top:0;}
  .ing-stagger{grid-template-columns:1fr 1fr;}
  .ing:nth-child(2),.ing:nth-child(4),.ing:nth-child(6){margin-top:0;}
  .usage .steps{grid-template-columns:1fr;}
  .cross-grid{grid-template-columns:1fr;}
  .stickybar .pinfo small{display:none;}
}
@media (max-width:520px){
  .rev-grid{grid-template-columns:1fr;}
  .ing-stagger{grid-template-columns:1fr;}
  .tier{grid-template-columns:auto 1fr;gap:.7rem;}
  .tier .price{grid-column:2;text-align:left;margin-top:.2rem;}
  .buymode{grid-template-columns:1fr;}
  .stickybar .pinfo b{font-size:.88rem;}
  .stickybar .sb-price{display:none;}
}

/* ============================================================
   PREMIUM ELEVATION  ·  blended seams · depth · space · aura
   CSS-only — auto-applies to Mind / Longevity / Sport.
   Stays within Wonder boundaries: section gradient grounds,
   CSS parallax/float, spacing — all reproducible as section settings.
   ============================================================ */

/* 1 — more editorial breathing room across the page */
.pdp .section{padding-block:clamp(96px,12vw,184px);}
.pdp-hero{padding-bottom:clamp(4rem,8vw,7rem);}

/* 2 — CRISP section edges (no muddy navy↔cream melts).
   Dark sections get a subtle depth that stays WITHIN the dark family,
   so boundaries read intentional/clean rather than as a grey fade. */
.ingredients{
  border-top:1px solid rgba(255,255,255,.08);   /* hairline seam from the dark Creavitalis band above */
  background:linear-gradient(180deg,#0e264e 0%,var(--navy-deep) 52%);
}
.ingredients::before{
  background:radial-gradient(56% 46% at 82% 28%,color-mix(in srgb,var(--mind) 34%,transparent),transparent 60%);
}
.usage{
  background:linear-gradient(180deg,#15263f 0%,var(--ink) 52%);
}

/* 3 — HERO: oversized accent aura behind the pack + slow float (life, not motion) */
.gallery .stage{isolation:isolate;}
.gallery .stage::after{content:none;}
.gallery .stage img{position:relative;z-index:1;}

/* 4 — signature chevron watermark, drifting, anchors the formula band */
.formula{position:relative;}
.formula .wrap{position:relative;z-index:1;}
.formula::after{
  content:"";position:absolute;right:-46px;top:7%;width:min(40vw,460px);aspect-ratio:1;z-index:0;
  pointer-events:none;opacity:.05;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M18 32 L50 56 L82 32 M18 54 L50 78 L82 54' fill='none' stroke='%23233f6e' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  animation:pdpDrift 15s ease-in-out infinite;
}
@keyframes pdpDrift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(2.5deg)}}

/* 5 — richer warm grounds (subtle top glow) so flat sections gain depth */
.why,.reviews{position:relative;}
.why::before,.reviews::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(60% 40% at 50% 0%,color-mix(in srgb,var(--mind) 7%,transparent),transparent 60%);
}
.why .wrap,.reviews .wrap{position:relative;z-index:1;}

@media (prefers-reduced-motion:reduce){
  .gallery .stage img,.formula::after{animation:none;}
}

/* ============================================================
   CREAVITALIS®  ·  hero-ingredient band (full-bleed dark)
   Opens the immersive science zone; melts in from the warm
   formula band and flows into the dark ingredients list.
   ============================================================ */
.creavitalis-band{
  position:relative;overflow:hidden;color:#eaf0fa;
  padding-block:clamp(110px,13vw,190px) clamp(96px,12vw,170px);
  background:
    radial-gradient(62% 60% at 78% 26%,color-mix(in srgb,var(--mind) 24%,transparent),transparent 64%),
    linear-gradient(180deg,#0e264e 0%,var(--navy-deep) 50%);
}
.cv-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2.5rem,6vw,6rem);align-items:center;position:relative;z-index:2;}

/* copy */
.cv-badge{display:inline-flex;align-items:center;gap:.7em;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--mind-soft);}
.cv-badge i{width:9px;height:9px;background:var(--mind-soft);transform:rotate(45deg);flex:none;}
.cv-copy h2{font-size:clamp(2rem,4.3vw,3.55rem);font-weight:900;letter-spacing:-.03em;line-height:1.05;margin:1.2rem 0 1.3rem;}
.cv-copy h2 em{color:var(--mind-soft);}
.cv-copy .lead{font-size:clamp(1.05rem,1.5vw,1.22rem);color:rgba(234,240,250,.82);line-height:1.62;max-width:52ch;}
.cv-specs{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.9rem 0 1.7rem;}
.cv-specs span{border:1px solid rgba(255,255,255,.18);border-radius:100px;padding:.55em 1.05em;font-size:.82rem;color:rgba(234,240,250,.92);}
.cv-specs span b{color:var(--mind-soft);font-weight:800;}

/* ADP → ATP energy cycle */
.cv-cycle{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-bottom:1.9rem;}
.cv-cycle .node{font-family:var(--ff-sans);font-weight:900;font-size:1.02rem;letter-spacing:.02em;border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:.5em .95em;}
.cv-cycle .node.hot{border-color:var(--mind);background:color-mix(in srgb,var(--mind) 24%,transparent);color:#fff;}
.cv-cycle .flow{position:relative;display:flex;flex-direction:column;align-items:center;min-width:92px;}
.cv-cycle .flow i{width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--mind-soft));border-radius:2px;}
.cv-cycle .flow i::after{content:"▸";position:absolute;right:-3px;top:50%;transform:translateY(-60%);color:var(--mind-soft);font-size:.74rem;}
.cv-cycle .flow small{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mind-soft);margin-top:.5rem;font-weight:700;}
.cv-cycle .cycle-label{font-family:var(--ff-serif);font-style:italic;font-size:.96rem;color:rgba(234,240,250,.6);}
.cv-cta{color:#fff;font-size:1.08rem;display:inline-block;}

/* visual */
.cv-visual{position:relative;aspect-ratio:4/5;display:grid;place-items:center;}
.cv-aura{position:absolute;inset:8% 6% 14%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--mind) 44%,transparent),transparent 72%);filter:blur(4px);}
.cv-rings{position:absolute;width:120%;height:120%;left:-10%;top:-5%;opacity:.42;animation:cvSpin 28s linear infinite;}
.cv-rings ellipse{stroke:var(--mind-soft);stroke-width:.7;fill:none;}
.cv-rings .e{fill:var(--mind-soft);filter:drop-shadow(0 0 6px var(--mind-soft));}
.cv-pack{position:relative;z-index:2;width:80%;filter:drop-shadow(0 48px 80px rgba(0,0,0,.55));will-change:transform;}
@keyframes cvSpin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.cv-rings{animation:none;}}
@media (max-width:1080px){
  .cv-grid{grid-template-columns:1fr;gap:3rem;}
  .cv-visual{order:-1;max-width:400px;margin-inline:auto;width:100%;}
}
@media (max-width:520px){
  .cv-cycle{gap:.6rem;}
  .cv-cycle .flow{min-width:64px;}
}
