/* S677k — dean_c skin: the outside template's stylesheet (Dean's static engine, family C:
   getsolacebotanicals / shopaurelianhealth / trytemponutrition / getlucereskin) with its :root
   token block REMOVED (each template row supplies design_dna.skin.tokens) and every custom
   property namespaced --dc-*. Presentation only: no money-path, cart or legal markup depends on
   this file. Source: /home/ubuntu/ingest/live-crawl-20260925/<domain>/assets/css/styles.css
   (byte-identical across the four sites except the token block); commissioned/private, Dean-built
   for the Basis corps -- commercial use OK. */
*{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--dc-paper);color:var(--dc-ink);font-family:var(--dc-font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--dc-primary)}
button{font:inherit;color:inherit;cursor:pointer}
input,textarea,select{font:inherit}
h1,h2,h3,h4{font-family:var(--dc-font-display);font-weight:500;line-height:1.1;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(38px, 5.4vw, 68px);font-variation-settings:'opsz' 144}
h2{font-size:clamp(30px, 3.6vw, 46px)}
h3{font-size:22px}
h4{font-size:17px;font-family:var(--dc-font-body);font-weight:700}
p{margin:0 0 1em}
.lead{font-size:clamp(17px, 1.3vw, 20px);color:var(--dc-ink-soft);max-width:60ch}
.small{font-size:13px}.muted{color:var(--dc-muted)}.center{text-align:center}
.small.muted a{text-decoration:underline}
.container{width:min(var(--dc-container), 100% - var(--dc-gutter)*2);margin-inline:auto}
.container.narrow{max-width:820px}
.section{padding:clamp(56px, 8vw, 104px) 0}
.section-alt{background:var(--dc-surface)}
.section-dark{background:var(--dc-primary-dark);color:var(--dc-on-primary)}
.section-dark .eyebrow{color:var(--dc-accent-soft)}
.section-dark a:hover{color:var(--dc-accent-soft)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px}
.section-head.center{flex-direction:column;align-items:center;text-align:center}
.section-head h2{margin:0}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dc-accent);margin:0 0 12px}
.link-arrow{font-weight:700;white-space:nowrap;border-bottom:2px solid var(--dc-accent);padding-bottom:2px}
.link-arrow::after{content:' →'}
.link-muted{color:var(--dc-muted);text-decoration:underline}
.anchor{display:block;position:relative;top:-120px;visibility:hidden}
.hide-mobile{display:inline-flex}
@media (max-width:860px){.hide-mobile{display:none !important}}

/* buttons ------------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:var(--dc-radius-pill);border:1.5px solid transparent;font-weight:700;font-size:15px;line-height:1;transition:transform .2s var(--dc-ease), background .2s, color .2s, box-shadow .2s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--dc-primary);color:var(--dc-on-primary)}
.btn-primary:hover{background:var(--dc-primary-dark);color:var(--dc-on-primary);box-shadow:var(--dc-shadow-sm)}
.btn-accent{background:var(--dc-accent);color:var(--dc-on-accent)}
.btn-accent:hover{filter:brightness(.92);color:var(--dc-on-accent)}
.btn-ghost{background:transparent;border-color:currentColor;color:inherit}
.btn-ghost:hover{background:var(--dc-ink);color:var(--dc-paper);border-color:var(--dc-ink)}
.btn-outline{background:transparent;border-color:var(--dc-border);color:var(--dc-ink)}
.btn-outline:hover{border-color:var(--dc-primary);color:var(--dc-primary)}
.btn-sm{padding:9px 16px;font-size:14px}
.btn-lg{padding:17px 34px;font-size:16px}
.btn-block{width:100%}
.btn[disabled]{opacity:.55;cursor:default;transform:none}
.icon-btn{background:none;border:0;font-size:26px;line-height:1;padding:4px 8px;color:var(--dc-muted)}
.icon-btn:hover{color:var(--dc-ink)}

/* announcement + header ------------------------------------------------ */
.announce{background:var(--dc-primary-dark);color:var(--dc-on-primary);font-size:13px;text-align:center;padding:9px 0;font-weight:600;letter-spacing:.01em}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb, var(--dc-paper) 88%, transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--dc-border)}
.header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;height:72px}
.logo svg{height:30px;width:auto;display:block}
.main-nav{display:flex;justify-content:center;gap:clamp(16px, 2.4vw, 34px);font-weight:600;font-size:15px}
.main-nav a{padding:6px 0;border-bottom:2px solid transparent}
.main-nav a:hover,.main-nav a.is-active{border-color:var(--dc-accent);color:var(--dc-ink)}
.header-actions{display:flex;align-items:center;gap:14px;justify-self:end}
.header-actions.secure{font-size:13px;font-weight:600;color:var(--dc-muted);gap:6px}
.cart-btn{position:relative;background:none;border:0;padding:8px;display:inline-flex;color:var(--dc-ink)}
.cart-count{position:absolute;top:0;right:0;background:var(--dc-accent);color:var(--dc-on-accent);font-size:11px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
.nav-toggle{display:none;background:none;border:0;width:40px;height:40px;padding:8px;flex-direction:column;justify-content:center;gap:5px}
.nav-toggle span{display:block;height:2px;background:var(--dc-ink);border-radius:2px}
@media (max-width:860px){
  .header-inner{grid-template-columns:auto 1fr auto}
  .nav-toggle{display:flex}
  .logo{justify-self:center}
  .main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--dc-paper);flex-direction:column;padding:16px var(--dc-gutter) 24px;border-bottom:1px solid var(--dc-border);gap:6px;box-shadow:var(--dc-shadow-md)}
  .main-nav.is-open{display:flex}
  .main-nav a{padding:10px 0;font-size:17px}
}

/* hero ------------------------------------------------------------------ */
.hero{padding:clamp(36px, 6vw, 80px) 0 clamp(36px, 5vw, 64px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px, 5vw, 72px);align-items:center}
.hero h1{margin-bottom:22px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 26px}
.hero-points{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;font-weight:600;color:var(--dc-ink-soft)}
.hero-points li{display:flex;align-items:center;gap:6px}
.hero-points svg{width:16px;height:16px;color:var(--dc-primary)}
.hero-media{position:relative}
.hero-frame{border-radius:var(--dc-radius) var(--dc-radius) 120px var(--dc-radius);overflow:hidden;box-shadow:var(--dc-shadow-md);aspect-ratio:4/3;background:var(--dc-sage)}
.hero-frame::before{content:'';position:absolute;inset:auto -30px -30px auto;width:200px;height:200px;border-radius:50%;background:var(--dc-accent-soft);z-index:-1}
.hero-frame img{width:100%;height:100%;object-fit:cover}
.hero-chip{position:absolute;left:-18px;bottom:28px;background:var(--dc-surface);border-radius:var(--dc-radius-sm);padding:14px 18px;display:flex;align-items:center;gap:12px;box-shadow:var(--dc-shadow-md);font-size:13px;line-height:1.3;font-weight:600;color:var(--dc-ink-soft)}
.hero-chip-n{font-family:var(--dc-font-display);font-size:38px;color:var(--dc-primary);line-height:1}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-media{order:-1}
  .hero-chip{left:12px;bottom:12px}
  .hero-frame{border-bottom-right-radius:80px}
}

/* trust strip ------------------------------------------------------------- */
.trust{padding:22px 0;border-top:1px solid var(--dc-border);border-bottom:1px solid var(--dc-border);background:var(--dc-surface)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.trust-item{display:flex;gap:12px;align-items:center;font-size:13px;line-height:1.35}
.trust-item strong{display:block;font-size:14px}
.trust-item span:not(.trust-icon){color:var(--dc-muted)}
.trust-icon{flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:var(--dc-sage);display:grid;place-items:center;color:var(--dc-primary)}
.trust-icon svg{width:22px;height:22px}
@media (max-width:860px){.trust-grid{grid-template-columns:1fr 1fr}}

/* goals ------------------------------------------------------------------- */
.goals-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.goal-card{position:relative;border-radius:var(--dc-radius);overflow:hidden;aspect-ratio:4/5;background:var(--dc-sage);display:block;color:#fff}
.goal-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--dc-ease)}
.goal-card:hover img{transform:scale(1.04)}
.goal-card:hover{color:#fff}
.goal-copy{position:absolute;inset:auto 0 0 0;padding:22px;background:linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,0));padding-top:70px}
.goal-copy h3{margin:0 0 4px;font-size:24px}
.goal-copy p{margin:0 0 8px;font-size:14px;opacity:.9}
.goal-n{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
@media (max-width:900px){.goals-grid{grid-template-columns:1fr 1fr}}

/* product cards ----------------------------------------------------------- */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media (max-width:1000px){.pgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.pgrid{grid-template-columns:repeat(2,1fr);gap:14px}}
.pcard{background:var(--dc-surface);border-radius:var(--dc-radius);overflow:hidden;border:1px solid var(--dc-border);display:flex;flex-direction:column;transition:box-shadow .3s, transform .3s var(--dc-ease)}
.pcard:hover{box-shadow:var(--dc-shadow-md);transform:translateY(-3px)}
.pcard-media{position:relative;aspect-ratio:1;background:var(--dc-surface-2);display:block}
.pcard-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:opacity .4s}
.pcard-hover{opacity:0}
.pcard:hover .pcard-hover{opacity:1}
.pcard-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.pcard-cat{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dc-muted);margin:0 0 6px}
.pcard h3{font-size:20px;margin:0 0 4px}
.pcard-short{font-size:13.5px;color:var(--dc-muted);margin:0 0 14px;flex:1}
.pcard-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}
.price{font-size:14px;color:var(--dc-muted)}
.price strong{color:var(--dc-ink);font-size:17px}
.price.big{font-family:var(--dc-font-display);font-size:30px;color:var(--dc-ink)}
.save{display:inline-block;background:var(--dc-accent-soft);color:var(--dc-ink);font-size:12px;font-weight:800;padding:4px 9px;border-radius:var(--dc-radius-pill);margin-left:8px;vertical-align:middle}
.was{color:var(--dc-muted);text-decoration:line-through;font-size:14px;margin-left:10px}

/* bundle cards ------------------------------------------------------------ */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bgrid-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.bgrid,.bgrid-2{grid-template-columns:1fr}}
.bcard{background:var(--dc-surface);color:var(--dc-ink);border-radius:var(--dc-radius);overflow:hidden;border:1px solid var(--dc-border);display:flex;flex-direction:column}
.bgrid-2 .bcard{flex-direction:row;align-items:stretch}
.bgrid-2 .bcard-media{flex:0 0 44%;aspect-ratio:auto;position:relative;min-height:320px}
.bgrid-2 .bcard-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bgrid-2 .bcard-body{min-width:0}
@media (max-width:640px){.bgrid-2 .bcard{flex-direction:column}.bgrid-2 .bcard-media{aspect-ratio:1;min-height:0}.bgrid-2 .bcard-media img{position:static}}
.bcard-media{position:relative;aspect-ratio:1;background:var(--dc-surface-2);display:block}
.bcard-media img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;top:14px;left:14px;background:var(--dc-accent);color:var(--dc-on-accent);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:var(--dc-radius-pill)}
.bcard-body{padding:22px;display:flex;flex-direction:column;flex:1}
.bcard h3{font-size:26px;margin:0 0 4px}
.bcard-tag{color:var(--dc-muted);font-size:14px;margin:0 0 12px}
.bcard-items{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px;flex:1;align-content:flex-start}
.bcard-items li{font-size:12.5px;font-weight:600;background:var(--dc-sage);color:var(--dc-primary-dark);padding:5px 10px;border-radius:var(--dc-radius-pill)}
.bcard-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.section-dark .bcard{border-color:transparent}
.section-dark .link-arrow,.section-dark h2{color:inherit}

/* why -------------------------------------------------------------------- */
.why-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px, 6vw, 90px);align-items:center}
.why-media{border-radius:var(--dc-radius);overflow:hidden;aspect-ratio:3/4;background:var(--dc-sage);box-shadow:var(--dc-shadow-md)}
.why-media img{width:100%;height:100%;object-fit:cover}
.why-points{list-style:none;counter-reset:pt;padding:0;margin:28px 0 32px;display:grid;gap:18px}
.why-points li{counter-increment:pt;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.why-points li::before{content:counter(pt, decimal-leading-zero);font-family:var(--dc-font-display);font-size:26px;color:var(--dc-accent);line-height:1.1}
.why-points strong{grid-column:2;display:block;font-size:17px;margin-bottom:2px}
.why-points span{grid-column:2;color:var(--dc-ink-soft);font-size:15px;margin-top:-6px}
@media (max-width:900px){.why-grid{grid-template-columns:1fr}.why-media{aspect-ratio:4/3}}

/* actives marquee --------------------------------------------------------- */
.actives{padding:clamp(56px, 8vw, 96px) 0 0;background:var(--dc-surface)}
.actives .section-head{margin-bottom:28px}
.marquee{overflow:hidden;padding:10px 0 clamp(48px, 6vw, 80px);mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent)}
.marquee-track{display:flex;gap:26px;width:max-content;animation:marquee 60s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.active-chip{display:flex;flex-direction:column;align-items:center;gap:10px;width:150px;text-align:center;font-size:13.5px;font-weight:600;color:var(--dc-ink-soft)}
.active-chip img{width:120px;height:120px;border-radius:50%;object-fit:cover;box-shadow:var(--dc-shadow-sm);transition:transform .3s var(--dc-ease)}
.active-chip:hover img{transform:scale(1.06)}

/* steps ------------------------------------------------------------------ */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius);padding:28px}
.step-n{font-family:var(--dc-font-display);font-size:44px;color:var(--dc-accent);display:block;line-height:1;margin-bottom:14px}
.step h3{font-size:22px}
.step p{margin:0;color:var(--dc-ink-soft);font-size:15px}
@media (max-width:800px){.steps-grid{grid-template-columns:1fr}}

/* accordion / faq --------------------------------------------------------- */
.faq-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(28px, 5vw, 80px);align-items:start}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr}}
.accordion details{border-bottom:1px solid var(--dc-border);padding:4px 0}
.accordion summary{list-style:none;cursor:pointer;font-weight:700;font-size:17px;padding:16px 40px 16px 0;position:relative}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{content:'+';position:absolute;right:4px;top:12px;font-size:26px;font-weight:300;color:var(--dc-accent);transition:transform .25s}
.accordion details[open] summary::after{transform:rotate(45deg)}
.accordion details > *:not(summary){padding-bottom:18px;color:var(--dc-ink-soft)}
.accordion details p{margin:0 0 .8em}
.accordion details p:last-child{margin-bottom:0}

/* cta band ------------------------------------------------------------------ */
.cta-band{background:var(--dc-primary);color:var(--dc-on-primary);overflow:hidden}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}
.cta-copy{padding:clamp(48px, 7vw, 96px) 0}
.cta-copy h2{color:var(--dc-on-primary);font-size:clamp(34px, 4vw, 54px)}
.cta-copy p{font-size:18px;opacity:.9;margin-bottom:28px}
.cta-media{height:100%;min-height:320px;position:relative}
.cta-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--dc-radius) 0 0 var(--dc-radius)}
@media (max-width:900px){.cta-grid{grid-template-columns:1fr}.cta-media{min-height:260px;margin:0 calc(var(--dc-gutter)*-1)}.cta-media img{border-radius:0}}

/* footer ------------------------------------------------------------------ */
.site-footer{background:var(--dc-footer-bg);color:var(--dc-footer-fg);padding:64px 0 32px;font-size:14px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12)}
.fcol{display:flex;flex-direction:column;gap:9px}
.fcol h4{color:#fff;margin:0 0 6px;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.fcol a:hover{color:#fff}
.fcol p{margin:0}
.footer-logo{display:block;margin-bottom:8px}
.footer-logo svg{height:30px;width:auto;display:block}
.socials{display:flex;gap:16px;margin-top:8px;font-weight:600}
.footer-policies{display:flex;flex-wrap:wrap;gap:8px 22px;padding:24px 0 12px;font-weight:600}
.footer-policies a:hover{color:#fff}
.disclaimer{font-size:12px;color:var(--dc-footer-muted);max-width:900px}
.copyright{font-size:12px;color:var(--dc-footer-muted);margin:0}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}

/* page head --------------------------------------------------------------- */
.page-head{padding:clamp(40px, 6vw, 80px) 0 clamp(20px, 3vw, 36px)}
.page-head h1{max-width:18ch}
.page-head .lead a{text-decoration:underline}

/* shop filters ------------------------------------------------------------ */
.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chip{border:1.5px solid var(--dc-border);background:var(--dc-surface);border-radius:var(--dc-radius-pill);padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s}
.chip:hover{border-color:var(--dc-primary)}
.chip.is-active{background:var(--dc-primary);border-color:var(--dc-primary);color:var(--dc-on-primary)}
.chip.static{cursor:default;padding:5px 11px;font-size:12.5px;background:var(--dc-sage);border-color:transparent;color:var(--dc-primary-dark)}
[data-filter-grid] > [hidden]{display:none}

/* PDP ---------------------------------------------------------------------- */
.pdp{padding:clamp(20px, 3vw, 40px) 0 clamp(48px, 6vw, 80px)}
.crumbs{font-size:13px;color:var(--dc-muted);margin-bottom:22px}
.crumbs a:hover{color:var(--dc-primary)}
.pdp-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px, 5vw, 72px);align-items:start}
@media (max-width:900px){.pdp-grid{grid-template-columns:1fr}}
.gallery{position:sticky;top:96px}
@media (max-width:900px){.gallery{position:static}}
.gallery-main{aspect-ratio:1;border-radius:var(--dc-radius);overflow:hidden;background:var(--dc-surface-2);border:1px solid var(--dc-border);display:grid;place-items:center}
.gallery-main img{width:100%;height:100%;object-fit:contain}
.gallery-thumbs{display:flex;gap:10px;margin-top:12px}
.gallery-thumbs button{width:76px;height:76px;border-radius:var(--dc-radius-sm);overflow:hidden;border:2px solid var(--dc-border);background:var(--dc-surface-2);padding:0}
.gallery-thumbs button img{width:100%;height:100%;object-fit:cover}
.gallery-thumbs button.thumb-panel img{object-fit:contain;background:#fff}
.gallery-thumbs button.is-active{border-color:var(--dc-primary)}
.buybox h1{font-size:clamp(32px, 3.4vw, 44px);margin-bottom:8px}
.pdp-short{font-weight:600;color:var(--dc-ink-soft);margin-bottom:12px}
.pdp-blurb{color:var(--dc-ink-soft);margin-bottom:22px}
.tiers{display:grid;gap:10px;margin-bottom:16px}
.tier{position:relative;display:grid;grid-template-columns:22px 1fr auto;gap:14px;align-items:center;border:1.5px solid var(--dc-border);border-radius:var(--dc-radius-sm);padding:14px 16px;background:var(--dc-surface);cursor:pointer;transition:border-color .2s, box-shadow .2s}
.tier:hover{border-color:var(--dc-primary)}
.tier.is-selected{border-color:var(--dc-primary);box-shadow:0 0 0 3px rgba(31,77,70,.12)}
.tier input{margin:0;accent-color:var(--dc-primary);width:18px;height:18px}
.tier-main{display:flex;flex-direction:column;gap:2px}
.tier-label{font-weight:700}
.tier-sub{font-size:12.5px;color:var(--dc-muted)}
.tier-price{font-family:var(--dc-font-display);font-size:22px}
.tier-badge{position:absolute;top:-10px;right:14px;background:var(--dc-accent);color:var(--dc-on-accent);font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:var(--dc-radius-pill)}
.buybox-note{font-size:13px;color:var(--dc-muted);margin:12px 0 18px;text-align:center}
.buybox-trust{list-style:none;padding:14px 0;margin:0 0 18px;display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px;font-weight:600;color:var(--dc-ink-soft);border-top:1px solid var(--dc-border);border-bottom:1px solid var(--dc-border)}
.buybox-trust li{display:flex;align-items:center;gap:8px}
.buybox-trust svg{width:18px;height:18px;color:var(--dc-primary);flex:0 0 18px}
.actives-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.pdp-accordion{margin-bottom:18px}
.pdp-accordion summary{font-size:16px}
.rich p{margin:0 0 .9em}
.rich ul,.rich ol{padding-left:22px}
.plain{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:8px}
.panel-img{border:1px solid var(--dc-border);border-radius:var(--dc-radius-sm);margin-top:10px;background:#fff}
.bundle-price{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.inside-title{font-size:18px;margin:8px 0 12px}
.inside{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}
.inside li{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius-sm);padding:10px 12px}
.inside img{width:56px;height:56px;border-radius:8px;object-fit:cover;background:var(--dc-surface-2)}
.inside span{display:block;font-size:12.5px;color:var(--dc-muted)}
.inside-price{font-weight:700;font-size:14px;color:var(--dc-muted)}
.facts-h{margin:18px 0 8px;font-family:var(--dc-font-body);font-weight:800}

/* supplement facts table ------------------------------------------------------- */
.facts{border:2px solid #111;padding:10px 12px;background:#fff;font-size:13.5px;line-height:1.35;border-radius:4px;margin-bottom:12px;color:#111}
.facts-title{font-family:'Arial Black','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:26px;letter-spacing:-.02em;line-height:1;padding-bottom:6px}
.facts-serving{margin:0;padding-bottom:6px;border-bottom:8px solid #111}
.facts table{width:100%;border-collapse:collapse}
.facts th{text-align:right;font-size:11px;padding:6px 0 4px;border-bottom:4px solid #111}
.facts th:first-child{text-align:left}
.facts td{padding:5px 0;border-bottom:1px solid #999;vertical-align:top}
.facts td:nth-child(2),.facts td:nth-child(3){text-align:right;white-space:nowrap;padding-left:12px}
.facts tr.sub td:first-child{padding-left:16px}
.facts tr.sub2 td:first-child{padding-left:32px}
.facts tr[class^="blend"] td:first-child{font-weight:800}
.facts tr.blend-note td{padding:4px 0 8px 14px;font-size:12.5px;border-bottom:1px solid #999;color:#333}
.facts-note{margin:6px 0 0;font-size:12.5px;padding-left:14px}
.facts-fine{margin:8px 0 0;font-size:11px;border-top:8px solid #111;padding-top:6px}
.facts-other{margin:8px 0 0;font-size:12.5px}

/* ingredients page ---------------------------------------------------------- */
.ing-layout{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start}
.ing-nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.ing-nav a{padding:4px 0;border-left:2px solid var(--dc-border);padding-left:12px}
.ing-nav a:hover{border-color:var(--dc-accent)}
@media (max-width:900px){.ing-layout{grid-template-columns:1fr}.ing-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:8px}.ing-nav a{border:1.5px solid var(--dc-border);border-radius:var(--dc-radius-pill);padding:6px 12px}.ing-nav .eyebrow{display:none}}
.ing-list{display:grid;gap:22px}
.ing-item{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius);padding:24px;scroll-margin-top:100px}
.ing-head{display:grid;grid-template-columns:80px 1fr auto;gap:18px;align-items:center;margin-bottom:20px}
.ing-head img{width:80px;height:80px;border-radius:12px;object-fit:cover;background:var(--dc-surface-2)}
.ing-head h2{font-size:26px;margin:0 0 2px}
.ing-head p{margin:0 0 8px;color:var(--dc-muted);font-size:14px}
.ing-head .actives-chips{margin:0}
.ing-body{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
@media (max-width:760px){.ing-body{grid-template-columns:1fr}.ing-head{grid-template-columns:64px 1fr}.ing-head .btn{grid-column:2}}

/* about ------------------------------------------------------------------------ */
.about-hero img{border-radius:var(--dc-radius);aspect-ratio:2.2/1;object-fit:cover;width:100%;box-shadow:var(--dc-shadow-md)}
.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(28px, 5vw, 80px);align-items:center}
.about-media img{border-radius:var(--dc-radius);aspect-ratio:1;object-fit:cover}
.about-blocks{display:grid;gap:28px}
.about-block h3{font-size:24px}
.about-block p{margin:0;color:var(--dc-ink-soft)}
.about-block .step-n{font-size:30px;margin-bottom:8px}
@media (max-width:900px){.about-grid{grid-template-columns:1fr}}

/* contact -------------------------------------------------------------------------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.card{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius);padding:22px}
.card h3{font-size:18px;margin-bottom:8px}
.card a{font-weight:700;color:var(--dc-primary)}
.card p{margin:6px 0 0}
.contact-form{display:grid;gap:14px}
.contact-form label,.checkout-form label{display:grid;gap:6px;font-size:13.5px;font-weight:600}
.contact-form input,.contact-form textarea,.checkout-form input:not([type=radio]):not([type=checkbox]),.coupon input{width:100%;border:1.5px solid var(--dc-border);border-radius:var(--dc-radius-sm);padding:12px 14px;background:var(--dc-surface);color:var(--dc-ink);font-weight:500;transition:border-color .2s}
.contact-form input:focus,.contact-form textarea:focus,.checkout-form input:focus,.coupon input:focus{outline:none;border-color:var(--dc-primary);box-shadow:0 0 0 3px rgba(31,77,70,.12)}
.checkout-form input.is-invalid{border-color:#c0392b}

/* checkout -------------------------------------------------------------------------- */
.checkout{padding-top:clamp(24px, 4vw, 48px)}
.checkout-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px, 5vw, 72px);align-items:start}
@media (max-width:900px){.checkout-grid{grid-template-columns:1fr}.summary{order:-1}}
.checkout-form h1{font-size:40px;margin-bottom:6px}
.checkout-form fieldset{border:0;padding:0;margin:0 0 20px;display:grid;gap:6px}
.checkout-form legend{font-family:var(--dc-font-display);font-size:24px;margin-bottom:12px;padding:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row3{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:14px}
@media (max-width:560px){.row3{grid-template-columns:1fr 1fr}}
.options{display:grid;gap:10px}
.option{display:grid;grid-template-columns:22px 1fr auto;gap:14px;align-items:center;border:1.5px solid var(--dc-border);border-radius:var(--dc-radius-sm);padding:14px 16px;background:var(--dc-surface);cursor:pointer;font-weight:500}
.option:has(input:checked){border-color:var(--dc-primary);box-shadow:0 0 0 3px rgba(31,77,70,.12)}
.option input{accent-color:var(--dc-primary);width:18px;height:18px;margin:0}
.option small{display:block;color:var(--dc-muted);font-size:12.5px}
.option-price{font-weight:700}
.check{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;font-size:13.5px;font-weight:500 !important;color:var(--dc-ink-soft)}
.check input{margin:3px 0 0;accent-color:var(--dc-primary);width:18px;height:18px}
.check a{text-decoration:underline}
.summary{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius);padding:26px;position:sticky;top:96px}
.summary h2{font-size:26px;margin-bottom:16px}
.summary-img{border-radius:var(--dc-radius-sm);margin-bottom:18px;aspect-ratio:1.6;object-fit:cover}
.sum-line{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--dc-border);font-size:14px}
.sum-line img{width:56px;height:56px;border-radius:8px;object-fit:cover;background:var(--dc-surface-2)}
.sum-line small{display:block;color:var(--dc-muted);font-size:12.5px}
.sum-line .amt{font-weight:700}
.bump{display:grid;grid-template-columns:22px 64px 1fr;gap:12px;align-items:center;margin:16px 0;padding:14px;border:2px dashed var(--dc-accent);border-radius:var(--dc-radius-sm);background:var(--dc-accent-soft);cursor:pointer;font-size:14px}
.bump input{accent-color:var(--dc-accent);width:18px;height:18px;margin:0}
.bump img{width:64px;height:64px;border-radius:8px;object-fit:cover}
.bump small{display:block;color:var(--dc-ink-soft);font-size:12.5px;font-weight:400;margin-top:2px}
.coupon{display:flex;gap:8px;margin:14px 0}
.coupon-msg{font-size:13px;margin:-6px 0 12px;font-weight:600}
.coupon-msg.ok{color:var(--dc-primary)}.coupon-msg.err{color:#c0392b}
.totals{display:grid;gap:8px;font-size:14.5px;padding-top:8px}
.totals .row{display:flex;justify-content:space-between}
.totals .row.discount{color:var(--dc-primary);font-weight:600}
.totals .row.total{border-top:2px solid var(--dc-ink);padding-top:12px;margin-top:4px;font-weight:800;font-size:19px}
.totals .row.total span:last-child{font-family:var(--dc-font-display);font-size:26px}
.remove-coupon{border:0;background:none;color:var(--dc-muted);text-decoration:underline;font-size:12px;padding:0;margin-left:6px}

/* upsell / thank-you ------------------------------------------------------------ */
.progress{display:flex;justify-content:center;gap:8px;margin-bottom:28px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.progress span{padding:6px 14px;border-radius:var(--dc-radius-pill);background:var(--dc-surface);border:1px solid var(--dc-border);color:var(--dc-muted)}
.progress .done{color:var(--dc-primary);border-color:var(--dc-primary)}
.progress .is-current{background:var(--dc-primary);color:var(--dc-on-primary);border-color:var(--dc-primary)}
.upsell h1{font-size:clamp(32px, 4vw, 50px)}
.upsell .lead{margin-inline:auto}
.offers{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:36px 0 26px}
@media (max-width:760px){.offers{grid-template-columns:1fr}}
.offer{background:var(--dc-surface);border:1.5px solid var(--dc-border);border-radius:var(--dc-radius);padding:24px;display:flex;flex-direction:column;position:relative;text-align:left}
.offer .badge{position:static;display:inline-block;margin-bottom:12px;align-self:flex-start}
.offer img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--dc-radius-sm);margin-bottom:16px;background:var(--dc-surface-2)}
.offer h3{font-size:24px;margin-bottom:6px}
.offer p{color:var(--dc-ink-soft);font-size:14.5px;flex:1}
.offer .price.big{margin-bottom:12px}
.offer .per{font-size:13px;color:var(--dc-muted);margin-left:8px}
.thanks-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px, 5vw, 72px);align-items:start}
@media (max-width:900px){.thanks-grid{grid-template-columns:1fr}}
.next{display:grid;gap:18px;margin:28px 0}
.next > div{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:start}
.next .step-n{font-size:28px;margin:0}
.next h3{grid-column:2;font-size:18px;margin:0 0 4px}
.next p{grid-column:2;margin:0;color:var(--dc-ink-soft);font-size:14.5px}
.next h3 + p{margin-top:-4px}

/* cart drawer ------------------------------------------------------------------- */
.cart-overlay{position:fixed;inset:0;background:rgba(27,42,39,.45);z-index:90;backdrop-filter:blur(2px)}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px, 100%);background:var(--dc-paper);z-index:100;display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.18);transform:translateX(0);animation:slideIn .35s var(--dc-ease)}
@keyframes slideIn{from{transform:translateX(100%)}}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--dc-border)}
.cart-head h3{margin:0;font-size:24px}
.cart-body{flex:1;overflow:auto;padding:8px 22px}
.cart-empty{text-align:center;padding:48px 0;color:var(--dc-muted)}
.cart-line{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--dc-border)}
.cart-line img{width:72px;height:72px;border-radius:10px;object-fit:cover;background:var(--dc-surface-2)}
.cart-line-name{font-weight:700;font-size:15px}
.cart-line-sub{font-size:12.5px;color:var(--dc-muted)}
.cart-line-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--dc-border);border-radius:var(--dc-radius-pill);background:var(--dc-surface)}
.qty button{border:0;background:none;width:30px;height:30px;font-size:16px;line-height:1}
.qty span{min-width:22px;text-align:center;font-weight:700;font-size:14px}
.cart-line .remove{border:0;background:none;color:var(--dc-muted);font-size:12px;text-decoration:underline;padding:0}
.cart-line .amt{font-weight:700}
.cart-foot{padding:18px 22px 22px;border-top:1px solid var(--dc-border);background:var(--dc-surface)}
.cart-foot .totals{margin-bottom:14px}
.cart-foot .coupon{margin:0 0 12px}

/* toast ------------------------------------------------------------------------ */
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--dc-ink);color:var(--dc-paper);padding:12px 20px;border-radius:var(--dc-radius-pill);font-size:14px;font-weight:600;z-index:120;box-shadow:var(--dc-shadow-md);animation:toastIn .3s var(--dc-ease)}
@keyframes toastIn{from{opacity:0;transform:translate(-50%, 12px)}}

/* legal ---------------------------------------------------------------------------- */
.legal h2{font-size:24px;margin-top:32px}
.legal p,.legal li{color:var(--dc-ink-soft)}
.legal a{text-decoration:underline}
.legal hr{border:0;border-top:1px solid var(--dc-border);margin:32px 0}
.policy-table{width:100%;border-collapse:collapse;margin:12px 0 18px;font-size:14.5px}
.policy-table th,.policy-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--dc-border)}
.policy-table th{background:var(--dc-surface);font-weight:700}

@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}

/* v2: plans, bumps, terms, validation, guides, cancel form ------------------------------ */
.plan-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--dc-sage);padding:5px;border-radius:var(--dc-radius-pill);margin-bottom:14px}
.plan-toggle button{border:0;background:transparent;border-radius:var(--dc-radius-pill);padding:11px 14px;font-weight:700;font-size:14px;color:var(--dc-primary-dark);display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.2}
.plan-toggle button.is-active{background:var(--dc-surface);box-shadow:var(--dc-shadow-sm);color:var(--dc-ink)}
.plan-toggle .plan-from{font-size:11.5px;font-weight:600;color:var(--dc-accent)}
.digital-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.sub-hint{display:block;font-size:11.5px;color:var(--dc-accent);font-weight:700;margin-top:2px}
.badge-soft{background:var(--dc-sage);color:var(--dc-primary-dark)}
.pill-sub{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--dc-accent-soft);color:var(--dc-ink);padding:2px 7px;border-radius:var(--dc-radius-pill);vertical-align:middle;margin-left:4px}
.sub-note{margin:8px 0 0;line-height:1.45}
.guides-grid{display:grid;grid-template-columns:1fr 2.2fr;gap:clamp(24px,4vw,60px);align-items:start}
.guides-grid .lead{font-size:16px}
.pgrid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.guides-grid{grid-template-columns:1fr}}
@media (max-width:700px){.pgrid-3{grid-template-columns:repeat(2,1fr)}}
.ship-note{display:flex;gap:10px;align-items:flex-start;background:var(--dc-sage);border-radius:var(--dc-radius-sm);padding:12px 14px;font-size:13.5px;margin:0}
.ship-note svg{width:22px;height:22px;flex:0 0 22px;color:var(--dc-primary)}
.bumps{display:grid;gap:10px;margin:16px 0 6px}
.bump{grid-template-columns:22px 40px 1fr;border-style:solid;border-color:var(--dc-border);background:var(--dc-surface);transition:border-color .2s,background .2s}
.bump.is-on,.bump:has(input:checked){border-color:var(--dc-accent);background:var(--dc-accent-soft)}
.bump-icon{width:40px;height:40px;border-radius:50%;background:var(--dc-sage);display:grid;place-items:center;color:var(--dc-primary)}
.bump-icon svg{width:22px;height:22px}
.line-terms{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:start;font-size:12.5px;line-height:1.5;color:var(--dc-ink-soft);padding:12px 14px;background:var(--dc-surface);border-radius:var(--dc-radius-sm);border:1.5px solid var(--dc-border);cursor:pointer}
.line-terms strong{color:var(--dc-ink);font-size:13.5px}
.line-terms:has(input:checked){border-color:var(--dc-primary)}
.line-terms input{margin:2px 0 0;accent-color:var(--dc-primary);width:16px;height:16px}
.line-terms.is-invalid{border-color:#c0392b;background:#fdf1ef}
.check.is-invalid{color:#c0392b}
.checkout-form label:not(.check),.cancel-form label:not(.check){position:relative;padding-bottom:18px}
.field-error{position:absolute;left:0;bottom:0;font-size:12px;line-height:18px;color:#c0392b;font-weight:600;white-space:nowrap}
.form-error{background:#fdf1ef;border:1.5px solid #e6a49a;color:#8b2a1e;border-radius:var(--dc-radius-sm);padding:12px 16px;font-weight:600;font-size:14px;margin:0 0 18px}
.offer-error{color:#c0392b;font-weight:600;margin:8px 0 0}
.sum-line.no-img{grid-template-columns:1fr auto}
.cancel-card{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius);padding:26px;margin:24px 0 32px}
.cancel-form{display:grid;gap:14px}
.cancel-form label{display:grid;gap:6px;font-size:13.5px;font-weight:600}
.cancel-form input,.cancel-form select{width:100%;border:1.5px solid var(--dc-border);border-radius:var(--dc-radius-sm);padding:12px 14px;background:var(--dc-surface);color:var(--dc-ink);font-weight:500}
.cancel-form input:focus,.cancel-form select:focus{outline:none;border-color:var(--dc-primary);box-shadow:0 0 0 3px rgba(31,77,70,.12)}
.cancel-form input.is-invalid,.cancel-form .check.is-invalid{border-color:#c0392b}
.cancel-form h2{margin:0}
.cancel-form .btn{justify-self:start}
.cancel-thanks{text-align:center;padding:12px 0}
.cancel-thanks .step-n{font-size:44px;color:var(--dc-primary)}
.cancel-thanks h2{margin:6px 0 10px}
.legal .pt-name{font-size:17px;margin:22px 0 6px;font-family:var(--dc-font-body);font-weight:800}
.legal h3{font-size:19px;margin-top:26px}
.legal .addr{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius-sm);padding:14px 18px;display:inline-block}

.order-terms{display:grid;gap:10px;margin:0 0 14px}
.order-terms h4{margin:0 0 8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.order-terms p{margin:0 0 8px}
.order-terms p:last-child{margin:0}
.switch-plan{display:inline-block;margin-top:6px;border:0;background:none;padding:0;font-size:12.5px;font-weight:700;color:var(--dc-accent);text-decoration:underline;text-align:left}
.switch-plan:hover{color:#8a4322}

.terms-set legend{font-size:22px}
.terms-total{margin:0;font-size:14px}
.sum-items{margin-bottom:6px}
.sum-items summary{list-style:none;cursor:default;display:flex;justify-content:space-between;align-items:baseline;font-family:var(--dc-font-display);font-size:26px;margin-bottom:10px}
.sum-items summary::-webkit-details-marker{display:none}
.sum-peek{display:none;font-family:var(--dc-font-body);font-size:14px;font-weight:700;color:var(--dc-muted)}
@media (max-width:900px){
  .checkout-grid{gap:20px}
  .summary{padding:18px;position:static;top:auto}
  .gallery,.ing-nav{position:static}
  .sum-items summary{cursor:pointer;font-size:20px;margin-bottom:0}
  .sum-items summary::after{content:'▾';font-family:var(--dc-font-body);font-size:14px;margin-left:8px;color:var(--dc-muted)}
  .sum-items[open] summary::after{content:'▴'}
  .sum-items[open] summary{margin-bottom:8px}
  .sum-peek{display:inline}
  .bumps{margin-top:10px}
  .row3{grid-template-columns:1fr 1fr}
  .row3 label:first-child{grid-column:1/-1}
  .checkout-form h1{font-size:32px}
}


/* ==================================================================== layout variants
   Body carries hero-<variant> card-<variant> nav-<variant> [theme-dark]; site.json → layout decides which. */

/* nav ------------------------------------------------------------------ */
.nav-left .header-inner{grid-template-columns:auto auto 1fr}
.nav-left .main-nav{justify-content:flex-start;margin-left:28px}
.nav-left .header-actions{grid-column:3}
.nav-right .header-inner{grid-template-columns:auto 1fr auto}
.nav-right .main-nav{justify-content:flex-end;margin-right:24px}
.nav-right .main-nav a{font-size:14px;letter-spacing:.02em;text-transform:uppercase;font-weight:700}
.nav-center .main-nav{justify-content:center}
@media (max-width:860px){.nav-left .header-inner,.nav-right .header-inner{grid-template-columns:auto 1fr auto}.nav-left .main-nav{margin:0}}

/* hero: fullbleed -------------------------------------------------------- */
.hero-fullbleed{position:relative;padding:0;min-height:min(86vh, 820px);display:flex;flex-direction:column;justify-content:flex-end;color:#fff;overflow:hidden}
.hero-fullbleed .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% center;z-index:0}
.hero-fullbleed::before{content:'';position:absolute;inset:0;background:linear-gradient(to right, rgba(0,0,0,.86) 0%, rgba(0,0,0,.62) 42%, rgba(0,0,0,.18) 100%), linear-gradient(to top, rgba(0,0,0,.7) 0%, rgba(0,0,0,0) 50%);z-index:1}
.hero-fb-inner{position:relative;z-index:2;padding:clamp(80px, 12vw, 160px) 0 clamp(40px, 5vw, 64px);max-width:min(760px, 100%)}
.hero-fullbleed .eyebrow{color:var(--dc-accent)}
.hero-fullbleed h1{color:#fff;font-size:clamp(44px, 6.5vw, 88px);letter-spacing:-.02em;line-height:.98;margin-bottom:20px}
.hero-fullbleed .lead{color:rgba(255,255,255,.86);max-width:52ch}
.hero-fullbleed .hero-points{color:rgba(255,255,255,.85)}
.hero-fullbleed .hero-points svg{color:var(--dc-accent)}
.hero-fullbleed .btn-ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.hero-fullbleed .btn-ghost:hover{background:#fff;color:#111;border-color:#fff}
.hero-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 0 32px}
.hero-strip-item{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);border-radius:var(--dc-radius-sm);padding:10px 14px;color:#fff;font-size:13.5px;line-height:1.25}
.hero-strip-item:hover{background:rgba(255,255,255,.16);color:#fff}
.hero-strip-item img{width:56px;height:56px;border-radius:8px;object-fit:cover;flex:0 0 56px}
.hero-strip-item small{display:block;color:rgba(255,255,255,.7);margin-top:2px}
@media (max-width:900px){.hero-strip{grid-template-columns:1fr 1fr}.hero-fullbleed{min-height:auto}.hero-fb-inner{padding-top:120px}.hero-fullbleed .hero-bg{object-position:60% center}.hero-fullbleed::before{background:linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.25) 100%)}}
@media (max-width:560px){.hero-strip{grid-template-columns:1fr}}

/* hero: centered ---------------------------------------------------------- */
.hero-centered{text-align:center;padding:clamp(48px, 7vw, 96px) 0 0}
.hero-centered h1{max-width:20ch;margin:0 auto 20px;font-size:clamp(42px, 6vw, 84px);font-weight:400;letter-spacing:-.015em}
.hero-centered .lead{margin:0 auto;max-width:56ch}
.hero-centered .hero-ctas{justify-content:center}
.hero-wide{margin:40px auto 0;border-radius:var(--dc-radius) var(--dc-radius) 0 0;overflow:hidden;aspect-ratio:2.1/1;background:var(--dc-sage)}
.hero-wide img{width:100%;height:100%;object-fit:cover}
.hero-points.center{justify-content:center;padding:20px 0 0}
@media (max-width:700px){.hero-wide{aspect-ratio:4/3;margin-inline:calc(var(--dc-gutter)*-1);border-radius:0}}

/* hero: editorial ----------------------------------------------------------- */
.hero-editorial{padding:clamp(28px, 4vw, 56px) 0 clamp(40px, 5vw, 72px)}
.hero-ed-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px, 6vw, 96px);align-items:end}
.hero-editorial h1{font-size:clamp(46px, 7.2vw, 108px);line-height:.95;letter-spacing:-.025em;font-weight:400;margin-bottom:26px}
.hero-editorial h1 em{font-style:italic;color:var(--dc-accent)}
.hero-editorial .hero-ctas{align-items:center;gap:26px}
.hero-note{font-size:13px;color:var(--dc-muted);max-width:40ch;margin-top:8px}
.hero-ed-media{position:relative}
.hero-ed-media img{border-radius:var(--dc-radius);aspect-ratio:3/4;object-fit:cover;width:100%;box-shadow:var(--dc-shadow-md)}
.hero-caption{position:absolute;left:-28px;bottom:36px;background:var(--dc-surface);border-radius:var(--dc-radius-sm);padding:16px 18px;box-shadow:var(--dc-shadow-md);display:grid;gap:2px;max-width:260px;font-size:13px;color:var(--dc-ink-soft)}
.hero-caption .eyebrow{margin:0 0 4px}
.hero-caption strong{font-family:var(--dc-font-display);font-size:20px;color:var(--dc-ink)}
@media (max-width:900px){.hero-ed-grid{grid-template-columns:1fr}.hero-ed-media{order:-1}.hero-ed-media img{aspect-ratio:4/3}.hero-caption{left:12px;bottom:12px}}

/* hero: stats --------------------------------------------------------------- */
.hero-stats{padding:clamp(40px, 6vw, 88px) 0 clamp(32px, 4vw, 56px)}
.hero-media-square{border-radius:var(--dc-radius);overflow:hidden;aspect-ratio:1;background:var(--dc-sage)}
.hero-media-square img{width:100%;height:100%;object-fit:cover}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px;padding-top:24px;border-top:1px solid var(--dc-border)}
.stat strong{display:block;font-family:var(--dc-font-display);font-size:clamp(28px, 3vw, 40px);color:var(--dc-primary);line-height:1}
.stat span{font-size:13px;color:var(--dc-muted);display:block;margin-top:4px}
.stats-band{background:var(--dc-primary);color:var(--dc-on-primary);padding:36px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stats-band .stat strong{color:var(--dc-on-primary);font-size:clamp(34px, 3.6vw, 52px)}
.stats-band .stat span{color:color-mix(in srgb, var(--dc-on-primary) 78%, transparent)}
@media (max-width:800px){.stats-grid{grid-template-columns:1fr 1fr}}

/* cards: minimal ---------------------------------------------------------- */
.card-minimal .pcard{background:transparent;border:0;border-radius:0}
.card-minimal .pcard:hover{box-shadow:none;transform:none}
.card-minimal .pcard-media{border-radius:var(--dc-radius);overflow:hidden;background:var(--dc-surface-2)}
.card-minimal .pcard-body{padding:16px 0 0}
.card-minimal .pcard h3{font-size:19px}
.card-minimal .pcard-foot{border-top:1px solid var(--dc-border);padding-top:12px}
.card-minimal .bcard{background:transparent;border:0}
.card-minimal .bcard-media{border-radius:var(--dc-radius);overflow:hidden}
.card-minimal .bcard-body{padding:18px 0 0}
.card-minimal .section-dark .bcard-body{color:inherit}
.card-minimal .section-dark .bcard-items li{background:rgba(255,255,255,.12);color:inherit}

/* cards: tile (image-led, text overlaid) ------------------------------------ */
.card-tile .pcard{position:relative;border:0;border-radius:var(--dc-radius);overflow:hidden;background:var(--dc-surface-2)}
.card-tile .pcard-media{aspect-ratio:3/4}
.card-tile .pcard-media img{object-fit:contain;object-position:center 8%;padding:6% 10% 0;box-sizing:border-box}
.card-tile .pcard-body{position:absolute;inset:auto 0 0 0;padding:16px;padding-top:40px;background:linear-gradient(to top, rgba(0,0,0,.88) 45%, rgba(0,0,0,0));color:#fff}
.card-tile .pcard-cat,.card-tile .pcard-short{color:rgba(255,255,255,.75)}
.card-tile .pcard h3 a{color:#fff}
.card-tile .pcard .price,.card-tile .pcard .price strong{color:#fff}
.card-tile .pcard .sub-hint{color:var(--dc-accent-soft)}
.card-tile .pcard .btn-outline{border-color:rgba(255,255,255,.5);color:#fff}
.card-tile .pcard .btn-outline:hover{background:#fff;color:#111}
.card-tile .pcard .badge-soft{top:12px;left:12px}
.card-tile .pcard-hover{display:none}

/* dark theme (paper is dark) ---------------------------------------------------- */
.theme-dark{color-scheme:dark}
.theme-dark .pcard-media,.theme-dark .bcard-media{background:var(--dc-surface-2)}
.theme-dark .site-header{border-bottom-color:rgba(255,255,255,.08)}
.theme-dark .trust{border-color:rgba(255,255,255,.08)}
.theme-dark .step,.theme-dark .card,.theme-dark .summary,.theme-dark .offer,.theme-dark .cancel-card,.theme-dark .ing-item{border-color:rgba(255,255,255,.1)}
.theme-dark .accordion details{border-bottom-color:rgba(255,255,255,.12)}
.theme-dark .tier,.theme-dark .line-terms,.theme-dark .inside li,.theme-dark .bump{border-color:rgba(255,255,255,.14)}
.theme-dark .facts,.theme-dark .panel-img,.theme-dark .gallery-thumbs button.thumb-panel img{color-scheme:light}
.theme-dark img.panel-img{background:#fff}
.theme-dark .shadow, .theme-dark .hero-frame{box-shadow:0 20px 60px rgba(0,0,0,.5)}
.theme-dark .hero-chip{color:var(--dc-ink-soft)}
.theme-dark .goal-card{background:var(--dc-surface-2)}

/* section: manifesto -------------------------------------------------------- */
.manifesto{background:var(--dc-surface)}
.manifesto-text{font-size:clamp(26px, 3.2vw, 44px);font-weight:400;line-height:1.25;letter-spacing:-.01em;margin:0 auto 28px;max-width:26ch}
.manifesto-text em{font-style:italic;color:var(--dc-accent)}

/* section: spotlight ------------------------------------------------------------ */
.spotlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px, 5vw, 80px);align-items:center}
.spotlight-media img{border-radius:var(--dc-radius);aspect-ratio:1;object-fit:cover;width:100%}
.spot-list{list-style:none;padding:0;margin:24px 0 28px;display:grid;gap:14px}
.spot-list li{display:grid;grid-template-columns:12px 1fr;gap:14px;align-items:start;padding-bottom:14px;border-bottom:1px solid var(--dc-border)}
.spot-list li::before{content:'';width:12px;height:12px;border-radius:50%;background:var(--dc-accent);margin-top:6px}
.spot-list strong{grid-column:2;display:block;font-size:16px}
.spot-list span{grid-column:2;color:var(--dc-ink-soft);font-size:14.5px;margin-top:-4px}
@media (max-width:900px){.spotlight-grid{grid-template-columns:1fr}}

/* section: routine (AM / PM) ------------------------------------------------------ */
.routine-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.routine-col{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius);padding:26px}
.routine-head{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;margin-bottom:18px}
.routine-head h3{margin:0 0 2px;font-size:24px}
.routine-head p{grid-column:2;margin:0;color:var(--dc-muted);font-size:14px}
.routine-icon{width:48px;height:48px;border-radius:50%;background:var(--dc-sage);display:grid;place-items:center;font-size:22px;grid-row:span 2}
.routine-steps{list-style:none;padding:0;margin:0;counter-reset:rs;display:grid;gap:10px}
.routine-steps li{counter-increment:rs;display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:10px;border-radius:var(--dc-radius-sm);background:var(--dc-paper);position:relative}
.routine-steps li::before{content:counter(rs);position:absolute;left:-8px;top:-8px;width:24px;height:24px;border-radius:50%;background:var(--dc-accent);color:var(--dc-on-accent);font-size:12px;font-weight:800;display:grid;place-items:center}
.routine-steps img{width:64px;height:64px;border-radius:10px;object-fit:cover;background:var(--dc-surface-2)}
.routine-steps span{display:block;font-size:12.5px;color:var(--dc-muted)}
@media (max-width:800px){.routine-grid{grid-template-columns:1fr}}

/* section: comparison table ----------------------------------------------------- */
.table-wrap{overflow-x:auto;border:1px solid var(--dc-border);border-radius:var(--dc-radius);background:var(--dc-surface)}
.compare-table{width:100%;border-collapse:collapse;min-width:640px;font-size:14px}
.compare-table th,.compare-table td{padding:14px 16px;border-bottom:1px solid var(--dc-border);text-align:center;vertical-align:middle}
.compare-table thead th{vertical-align:bottom;font-weight:700}
.compare-table thead img{width:80px;height:80px;border-radius:12px;object-fit:cover;margin:0 auto 8px;background:var(--dc-surface-2)}
.compare-table thead a{display:block;font-family:var(--dc-font-display);font-size:18px;font-weight:500}
.compare-table thead small{display:block;color:var(--dc-muted);font-weight:500;margin-top:2px}
.compare-table tbody th{text-align:left;font-weight:600;color:var(--dc-ink-soft);width:26%}
.compare-table tr:last-child th,.compare-table tr:last-child td{border-bottom:0}
.tick{color:var(--dc-primary);font-weight:800;font-size:18px}
.dash{color:var(--dc-muted)}

/* section: category strip --------------------------------------------------------- */
.cat-strip{padding:18px 0;border-bottom:1px solid var(--dc-border)}
.cat-strip-inner{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.cat-strip-inner::-webkit-scrollbar{display:none}
.cat-pill{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border:1.5px solid var(--dc-border);border-radius:var(--dc-radius-pill);background:var(--dc-surface);font-weight:700;font-size:14px;white-space:nowrap}
.cat-pill img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.cat-pill:hover{border-color:var(--dc-primary)}

/* goals strip variant ---------------------------------------------------------------- */
.goals-strip .goals-grid{grid-template-columns:repeat(4,1fr)}
.goals-strip .goal-card{aspect-ratio:1}

/* actives grid variant --------------------------------------------------------------- */
.actives-grid .marquee{mask-image:none;overflow:visible;padding-bottom:clamp(48px, 6vw, 80px)}
.actives-grid .marquee-track{animation:none;width:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:22px;justify-items:center;max-width:var(--dc-container);margin:0 auto;padding:0 var(--dc-gutter)}
.actives-grid .marquee-track .active-chip:nth-child(n+11){display:none}
@media (max-width:800px){.actives-grid .marquee-track{grid-template-columns:repeat(3,1fr)}}

/* why: reversed -------------------------------------------------------------------- */
.why-reverse .why-media{order:2}

/* topical / INCI --------------------------------------------------------------------- */
.inci{font-size:13px;line-height:1.55;color:var(--dc-ink-soft)}
.inci-box .inci{color:#222}

/* minimal/tile cards inside a dark band stay legible */
.section-dark .bcard h3 a,.section-dark .price.big,.section-dark .price strong,.section-dark .bcard-tag{color:inherit}
.section-dark .bcard-tag{opacity:.8}
.section-dark .card-minimal .btn-primary,.card-minimal .section-dark .btn-primary{background:var(--dc-accent);color:var(--dc-on-accent)}

/* nav: split (logo centred, links either side) ------------------------------------- */
.nav-split .header-inner{grid-template-columns:1fr auto 1fr}
.nav-split .logo{grid-column:2;grid-row:1;justify-self:center}
.nav-split .main-nav{grid-column:1;grid-row:1;justify-content:flex-start}
.nav-split .header-actions{grid-column:3;grid-row:1}
.nav-split .nav-toggle{grid-column:1;grid-row:1}
@media (max-width:860px){.nav-split .header-inner{grid-template-columns:auto 1fr auto}.nav-split .logo{grid-column:2}.nav-split .header-actions{grid-column:3}}

/* nav: bar (logo row, then a full-width evenly spaced nav bar) ----------------------- */
.nav-bar .header-inner{grid-template-columns:auto 1fr auto;grid-template-rows:64px auto;height:auto}
.nav-bar .main-nav{grid-column:1 / -1;grid-row:2;justify-content:center;gap:0;border-top:1px solid var(--dc-border);margin:0 calc(var(--dc-gutter)*-1);padding:0 var(--dc-gutter)}
.nav-bar .main-nav a{padding:12px 22px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;border-bottom:3px solid transparent}
.nav-bar .main-nav a:hover,.nav-bar .main-nav a.is-active{border-color:var(--dc-accent)}
@media (max-width:860px){.nav-bar .header-inner{grid-template-rows:64px}.nav-bar .main-nav{border:0;margin:0;padding:16px var(--dc-gutter) 24px}.nav-bar .main-nav a{padding:10px 0;border:0}}

/* hero: collage --------------------------------------------------------------------- */
.hero-collage{padding:clamp(32px, 5vw, 72px) 0 clamp(40px, 5vw, 72px);overflow:hidden}
.hero-col-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px, 5vw, 80px);align-items:center}
.hero-collage h1{font-size:clamp(44px, 6vw, 84px);line-height:1;letter-spacing:-.02em;margin-bottom:22px}
.collage{position:relative;display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:14px;aspect-ratio:1.05}
.collage img{width:100%;height:100%;object-fit:cover;border-radius:var(--dc-radius)}
.collage .c1{grid-row:1 / span 2}
.collage-tag{position:absolute;left:-14px;bottom:24px;background:var(--dc-accent);color:var(--dc-on-accent);font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:10px 16px;border-radius:var(--dc-radius-sm);box-shadow:var(--dc-shadow-md);transform:rotate(-3deg)}
@media (max-width:900px){.hero-col-grid{grid-template-columns:1fr}.collage{aspect-ratio:1.3}.collage-tag{left:8px}}

/* hero: poster ---------------------------------------------------------------------- */
.hero-poster{background:var(--dc-primary);color:var(--dc-on-primary);padding:clamp(40px, 6vw, 88px) 0 0;overflow:hidden;position:relative}
.hero-poster::after{content:'';position:absolute;right:-10%;top:-20%;width:55%;height:140%;background:var(--dc-accent);transform:skewX(-12deg);opacity:.95;z-index:0}
.hero-poster-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px, 4vw, 64px);align-items:center;padding-bottom:clamp(40px, 6vw, 88px)}
.hero-poster .eyebrow{color:var(--dc-accent-soft)}
.hero-poster h1{color:var(--dc-on-primary);font-size:clamp(52px, 8vw, 120px);line-height:.9;letter-spacing:-.02em;text-transform:uppercase;font-weight:800;margin-bottom:20px}
.hero-poster .lead{color:color-mix(in srgb, var(--dc-on-primary) 82%, transparent);max-width:48ch}
.hero-poster .btn-ghost{color:var(--dc-on-primary);border-color:color-mix(in srgb, var(--dc-on-primary) 60%, transparent)}
.hero-poster .btn-ghost:hover{background:var(--dc-on-primary);color:var(--dc-primary);border-color:var(--dc-on-primary)}
.poster-stats{display:flex;gap:32px;margin-top:32px;padding-top:24px;border-top:1px solid color-mix(in srgb, var(--dc-on-primary) 25%, transparent)}
.poster-stats strong{display:block;font-family:var(--dc-font-display);font-size:clamp(30px, 3vw, 44px);line-height:1;text-transform:uppercase}
.poster-stats span{font-size:13px;opacity:.8}
.poster-media{position:relative;filter:drop-shadow(0 30px 50px rgba(0,0,0,.35))}
.poster-media img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--dc-radius);border:6px solid var(--dc-on-primary)}
.ticker{position:relative;z-index:1;background:var(--dc-ink);color:var(--dc-paper);overflow:hidden;padding:12px 0;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:13px}
.ticker-track{display:flex;gap:48px;width:max-content;animation:marquee 40s linear infinite;white-space:nowrap}
.ticker-track span::before{content:'\25B2';color:var(--dc-accent);margin-right:16px;font-size:10px}
@media (max-width:900px){.hero-poster-grid{grid-template-columns:1fr}.hero-poster::after{width:120%;height:45%;top:auto;bottom:-10%;right:-10%;transform:skewY(-6deg)}.poster-media{max-width:70%;margin:0 auto}}

/* cards: editorial (horizontal rows) ------------------------------------------------- */
.card-editorial .pgrid{grid-template-columns:repeat(2,1fr);gap:18px}
.card-editorial .pcard{flex-direction:row;background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius);overflow:hidden}
.card-editorial .pcard-media{flex:0 0 42%;aspect-ratio:auto;min-height:220px}
.card-editorial .pcard-body{padding:20px 22px;justify-content:center}
.card-editorial .pcard h3{font-size:22px}
.card-editorial .pcard-short{flex:0;margin-bottom:16px}
.card-editorial .pcard:hover{transform:none;box-shadow:var(--dc-shadow-sm)}
@media (max-width:1000px){.card-editorial .pgrid{grid-template-columns:1fr}}
@media (max-width:560px){.card-editorial .pcard{flex-direction:column}.card-editorial .pcard-media{aspect-ratio:1;min-height:0}}

/* cards: outline (bold border, hard shadow, price tag) ------------------------------- */
.card-outline .pcard{border:2px solid var(--dc-ink);border-radius:var(--dc-radius);background:var(--dc-surface);box-shadow:6px 6px 0 var(--dc-ink)}
.card-outline .pcard:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--dc-accent)}
.card-outline .pcard-media{border-bottom:2px solid var(--dc-ink);background:var(--dc-surface-2)}
.card-outline .pcard-cat{color:var(--dc-accent)}
.card-outline .pcard h3{text-transform:uppercase;letter-spacing:.02em;font-size:18px}
.card-outline .pcard .price strong{background:var(--dc-accent);color:var(--dc-on-accent);padding:2px 8px;border-radius:4px}
.card-outline .btn-outline{border:2px solid var(--dc-ink);color:var(--dc-ink);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.card-outline .btn-outline:hover{background:var(--dc-ink);color:var(--dc-paper)}
.card-outline .bcard{border:2px solid var(--dc-ink);box-shadow:6px 6px 0 var(--dc-ink)}
.card-outline .badge{border-radius:4px}
/* ==================================================================== layout variants, set 2 (Sites 9-11)
   heroes: diagonal | panorama | bento · navs: pill | drawer | side · cards: slab | polaroid | spec
   sections: rail, week, checklist, zigzag, kit, strip */

/* nav: pill (floating rounded bar) ------------------------------------------------- */
.nav-pill .site-header{background:transparent;border-bottom:0;backdrop-filter:none;padding:12px 0}
.nav-pill .header-inner{background:color-mix(in srgb, var(--dc-surface) 92%, transparent);backdrop-filter:blur(12px);border:1px solid var(--dc-border);border-radius:var(--dc-radius-pill);padding:0 10px 0 22px;height:62px;box-shadow:var(--dc-shadow-sm)}
.nav-pill .main-nav a{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:0;padding:8px 12px;border-radius:var(--dc-radius-pill)}
.nav-pill .main-nav a:hover,.nav-pill .main-nav a.is-active{background:var(--dc-ink);color:var(--dc-paper)}
.nav-pill .header-actions .btn-primary{border-radius:var(--dc-radius-pill)}
@media (max-width:860px){.nav-pill .main-nav{top:calc(100% - 8px);left:var(--dc-gutter);right:var(--dc-gutter);border:1px solid var(--dc-border);border-radius:var(--dc-radius)}.nav-pill .main-nav a{border-radius:var(--dc-radius-sm)}}

/* nav: drawer (menu button on every breakpoint, full-screen overlay) ------------------- */
.nav-drawer .header-inner{grid-template-columns:1fr auto 1fr}
.nav-drawer .nav-toggle{display:flex;position:relative;z-index:70;justify-self:start}
.nav-drawer .logo{justify-self:center}
.nav-drawer .header-actions{justify-self:end}
.nav-drawer .main-nav{display:none;position:fixed;inset:0;z-index:60;background:var(--dc-ink);color:var(--dc-paper);flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding:0 max(var(--dc-gutter), calc((100vw - var(--dc-container))/2));box-shadow:none;border:0}
.nav-drawer .main-nav.is-open{display:flex}
.nav-drawer .main-nav a{font-family:var(--dc-font-display);font-size:clamp(34px, 6vw, 72px);line-height:1.1;padding:6px 0;border:0;color:var(--dc-paper);font-weight:500}
.nav-drawer .main-nav a:hover,.nav-drawer .main-nav a.is-active{color:var(--dc-accent);border:0}
.nav-drawer .main-nav a::before{content:'0' counter(navi) '  ';counter-increment:navi;font-family:var(--dc-font-body);font-size:13px;letter-spacing:.14em;color:var(--dc-accent);vertical-align:super;margin-right:6px}
.nav-drawer .main-nav{counter-reset:navi}
.nav-drawer .header-inner:has(.main-nav.is-open) .nav-toggle span{background:var(--dc-paper)}
.nav-drawer .header-inner:has(.main-nav.is-open) .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-drawer .header-inner:has(.main-nav.is-open) .nav-toggle span:nth-child(2){opacity:0}
.nav-drawer .header-inner:has(.main-nav.is-open) .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-drawer .nav-toggle span{transition:transform .25s var(--dc-ease), opacity .2s}
.nav-drawer .site-header{background:var(--dc-paper);backdrop-filter:none}

/* nav: side (fixed left column on wide screens) ----------------------------------------- */
.nav-side{--dc-side:248px}
@media (min-width:1100px){
  .nav-side .announce,.nav-side main,.nav-side .site-footer{margin-left:var(--dc-side)}
  .nav-side .site-header{position:fixed;top:0;left:0;bottom:0;width:var(--dc-side);border-bottom:0;border-right:1px solid var(--dc-border);background:var(--dc-surface);backdrop-filter:none;overflow:auto;z-index:50}
  .nav-side .header-inner{display:flex;flex-direction:column;align-items:stretch;height:100%;width:auto;margin:0;padding:28px 22px 24px;gap:30px}
  .nav-side .logo{justify-self:start}
  .nav-side .main-nav{flex-direction:column;align-items:stretch;gap:2px;flex:1;justify-content:flex-start}
  .nav-side .main-nav a{padding:11px 12px;border-bottom:0;border-left:3px solid transparent;font-size:15px;font-weight:600;border-radius:0 var(--dc-radius-sm) var(--dc-radius-sm) 0}
  .nav-side .main-nav a:hover,.nav-side .main-nav a.is-active{border-color:var(--dc-accent);background:var(--dc-paper);color:var(--dc-ink)}
  .nav-side .header-actions{justify-self:stretch;justify-content:space-between;border-top:1px solid var(--dc-border);padding-top:18px}
  .nav-side .header-actions .btn{flex:1}
  .nav-side .header-actions.secure{justify-content:flex-start}
  .nav-side .cart-drawer{z-index:80}
  .nav-side .cart-overlay{z-index:75}
}

/* hero: diagonal ------------------------------------------------------------------------ */
.hero-diagonal{display:grid;grid-template-columns:1.05fr .95fr;grid-template-areas:"copy media" "ticker ticker";padding:0;background:var(--dc-ink);color:var(--dc-paper);overflow:hidden}
.hero-dg-copy{grid-area:copy;display:flex;align-items:center;padding:clamp(56px, 7vw, 110px) clamp(24px, 4vw, 64px) clamp(56px, 7vw, 110px) max(var(--dc-gutter), calc((100vw - var(--dc-container))/2))}
.hero-dg-inner{max-width:620px}
.hero-diagonal .eyebrow{color:var(--dc-accent)}
.hero-diagonal h1{color:var(--dc-paper);font-size:clamp(52px, 7.5vw, 112px);line-height:.92;text-transform:uppercase;letter-spacing:-.02em;font-weight:800;margin-bottom:22px}
.hero-diagonal .lead{color:color-mix(in srgb, var(--dc-paper) 76%, transparent)}
.hero-diagonal .btn-ghost{color:var(--dc-paper);border-color:color-mix(in srgb, var(--dc-paper) 50%, transparent)}
.hero-diagonal .btn-ghost:hover{background:var(--dc-paper);color:var(--dc-ink);border-color:var(--dc-paper)}
.hero-dg-media{grid-area:media;position:relative;clip-path:polygon(18% 0, 100% 0, 100% 100%, 0 100%);min-height:560px}
.hero-dg-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dg-tag{position:absolute;left:26%;bottom:32px;background:var(--dc-accent);color:var(--dc-on-accent);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:12px;padding:10px 14px}
.dg-stats{display:flex;gap:clamp(20px, 3vw, 40px);margin-top:36px;padding-top:24px;border-top:1px solid color-mix(in srgb, var(--dc-paper) 22%, transparent)}
.dg-stats strong{display:block;font-family:var(--dc-font-display);font-size:clamp(34px, 3.4vw, 54px);line-height:1;color:var(--dc-accent);font-weight:800}
.dg-stats span{font-size:13px;opacity:.72;display:block;margin-top:4px}
.dg-ticker{grid-area:ticker;background:var(--dc-accent);color:var(--dc-on-accent)}
.dg-ticker .ticker-track span::before{color:var(--dc-on-accent)}
@media (max-width:900px){.hero-diagonal{grid-template-columns:1fr;grid-template-areas:"media" "copy" "ticker"}.hero-dg-media{clip-path:polygon(0 0, 100% 0, 100% 84%, 0 100%);min-height:0;aspect-ratio:4/3}.hero-dg-copy{padding:8px var(--dc-gutter) 48px}.hero-diagonal h1{font-size:clamp(44px, 12vw, 72px)}}

/* hero: panorama ------------------------------------------------------------------------ */
.hero-panorama{padding:0 0 clamp(40px, 5vw, 72px);background-color:var(--dc-paper);background-image:repeating-radial-gradient(circle at 12% 130%, transparent 0 46px, color-mix(in srgb, var(--dc-ink) 6%, transparent) 46px 47px);overflow:hidden}
.pano-media{position:relative;height:clamp(340px, 54vw, 660px);overflow:hidden;background:var(--dc-sage)}
.pano-media img{width:100%;height:100%;object-fit:cover}
.pano-caption{position:absolute;right:var(--dc-gutter);bottom:16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.38);padding:6px 10px;border-radius:4px;backdrop-filter:blur(4px)}
.pano-grid{display:grid;grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr);gap:clamp(24px, 4vw, 56px);align-items:start;margin-top:clamp(-140px, -13vw, -80px);position:relative;z-index:2}
.pano-card{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius);padding:clamp(28px, 4vw, 52px);box-shadow:var(--dc-shadow-md)}
.hero-panorama h1{font-size:clamp(40px, 5.2vw, 74px);letter-spacing:-.01em;margin-bottom:18px}
.pano-points{list-style:none;padding:clamp(150px, 14vw, 180px) 0 0;margin:0;display:grid;gap:18px}
.pano-points li{display:grid;grid-template-columns:42px 1fr;gap:2px 14px;align-items:center;font-size:14px}
.pano-points strong{display:block;line-height:1.25}
.pano-points li > span:not(.pano-ico){grid-column:2;color:var(--dc-muted);font-size:13px}
.pano-ico{grid-row:span 2;width:42px;height:42px;border-radius:50%;background:var(--dc-sage);display:grid;place-items:center;color:var(--dc-primary)}
.pano-ico svg{width:20px;height:20px}
@media (max-width:900px){.pano-grid{grid-template-columns:1fr;margin-top:-56px}.pano-points{padding-top:0;grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pano-points{grid-template-columns:1fr}}

/* hero: bento --------------------------------------------------------------------------- */
.hero-bento{padding:clamp(20px, 3vw, 40px) 0 clamp(40px, 5vw, 64px)}
.bento{display:grid;grid-template-columns:repeat(12, 1fr);grid-auto-rows:minmax(110px, auto);gap:14px}
.bt{border-radius:var(--dc-radius);overflow:hidden;background:var(--dc-surface);border:1px solid var(--dc-border);position:relative}
.bt-title{grid-column:span 7;grid-row:span 2;padding:clamp(28px, 4vw, 56px);display:flex;flex-direction:column;justify-content:center}
.hero-bento h1{font-size:clamp(40px, 5.6vw, 80px);letter-spacing:-.03em;line-height:.98;margin-bottom:18px}
.bt-img{grid-column:span 5;grid-row:span 3;min-height:320px;background:var(--dc-surface-2)}
.bt-img img,.bt-img2 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bt-stat{grid-column:span 2;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--dc-ink);color:var(--dc-paper);border:0}
.bt-stat strong{font-family:var(--dc-font-display);font-size:clamp(32px, 3.4vw, 54px);line-height:1;color:var(--dc-accent);letter-spacing:-.02em}
.bt-stat span{font-size:12.5px;opacity:.72;margin-top:6px;line-height:1.3}
.bt-prod{grid-column:span 3;display:grid;grid-template-columns:90px 1fr;gap:14px;align-items:center;padding:14px}
.bt-prod img{width:90px;height:90px;object-fit:cover;border-radius:var(--dc-radius-sm);background:var(--dc-surface-2)}
.bt-prod small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dc-muted)}
.bt-prod strong{display:block;font-family:var(--dc-font-display);font-size:19px;line-height:1.15;margin:2px 0 4px}
.bt-prod em{font-style:normal;font-weight:700;color:var(--dc-primary)}
.bt-prod:hover{border-color:var(--dc-primary)}
.bt-img2{grid-column:span 5;min-height:170px;background:var(--dc-surface-2)}
.bt-cta{grid-column:span 7;background:var(--dc-primary);color:var(--dc-on-primary);border:0;display:flex;align-items:center;justify-content:space-between;padding:22px 28px;font-family:var(--dc-font-display);font-size:clamp(20px, 2vw, 28px);font-weight:600;min-height:110px}
.bt-cta:hover{background:var(--dc-accent);color:var(--dc-on-accent)}
@media (max-width:900px){.bento{grid-template-columns:repeat(6, 1fr)}.bt-title{grid-column:span 6;grid-row:auto}.bt-img{grid-column:span 6;grid-row:auto;min-height:260px}.bt-stat{grid-column:span 3}.bt-prod{grid-column:span 6}.bt-img2{grid-column:span 3;min-height:140px}.bt-cta{grid-column:span 3;font-size:17px;padding:16px;min-height:0}}

/* cards: slab (flat, heavy rule, full-width black add button) ---------------------------- */
.card-slab .pcard{border:0;border-radius:0;background:transparent}
.card-slab .pcard:hover{transform:none;box-shadow:none}
.card-slab .pcard-media{border-radius:0;background:var(--dc-surface-2)}
.card-slab .pcard-body{padding:14px 0 0;border-top:3px solid var(--dc-ink);margin-top:12px}
.card-slab .pcard-cat{color:var(--dc-accent)}
.card-slab .pcard h3{text-transform:uppercase;font-weight:800;letter-spacing:.01em;font-size:19px}
.card-slab .pcard-foot{display:grid;grid-template-columns:1fr;gap:10px;margin-top:auto}
.card-slab .pcard .price strong{font-family:var(--dc-font-display);font-size:22px;font-weight:800}
.card-slab .pcard .btn-outline{width:100%;border-radius:0;background:var(--dc-ink);color:var(--dc-paper);border-color:var(--dc-ink);text-transform:uppercase;letter-spacing:.12em;font-size:12px;padding:13px}
.card-slab .pcard .btn-outline:hover{background:var(--dc-accent);border-color:var(--dc-accent);color:var(--dc-on-accent)}
.card-slab .pcard .badge-soft{border-radius:0;background:var(--dc-ink);color:var(--dc-paper)}
.card-slab .bcard{border-radius:0}
.card-slab .bcard-media{border-radius:0}

/* cards: polaroid (paper frame, slight tilt on hover) ------------------------------------- */
.card-polaroid .pcard{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:3px;padding:10px 10px 0;box-shadow:0 1px 0 rgba(0,0,0,.05), var(--dc-shadow-sm)}
.card-polaroid .pcard:hover{transform:translateY(-4px) rotate(-.8deg);box-shadow:var(--dc-shadow-md)}
.card-polaroid .pcard-media{border-radius:2px;border:1px solid var(--dc-border);background:var(--dc-surface-2)}
.card-polaroid .pcard-body{padding:16px 6px 16px}
.card-polaroid .pcard h3{font-size:21px}
.card-polaroid .pcard-cat::before{content:'— '}
.card-polaroid .pcard .badge-soft{top:16px;left:16px;transform:rotate(-4deg);background:var(--dc-accent);color:var(--dc-on-accent)}
.card-polaroid .bcard{border-radius:3px;padding:10px 10px 0}
.card-polaroid .bcard-media{border-radius:2px;overflow:hidden}
.card-polaroid .bcard-body{padding-left:8px;padding-right:8px}

/* cards: spec (technical sheet: crosshair corners, mono meta) ------------------------------ */
.card-spec{--dc-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}
.card-spec .pcard{border:1px solid var(--dc-ink);border-radius:0;position:relative;background:var(--dc-surface);overflow:visible}
.card-spec .pcard::before,.card-spec .pcard::after{content:'+';position:absolute;font:700 15px/1 var(--dc-mono);color:var(--dc-accent);z-index:2;background:var(--dc-paper);padding:0 1px}
.card-spec .pcard::before{top:-9px;left:-6px}
.card-spec .pcard::after{bottom:-9px;right:-6px}
.card-spec .pcard:hover{transform:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--dc-primary) 18%, transparent)}
.card-spec .pcard-media{border-bottom:1px solid var(--dc-ink);border-radius:0}
.card-spec .pcard-media img{border-radius:0}
.card-spec .pcard-cat{font-family:var(--dc-mono);letter-spacing:.04em;color:var(--dc-primary);text-transform:none}
.card-spec .pcard-cat::before{content:'// '}
.card-spec .pcard h3{font-size:19px;font-weight:600;letter-spacing:-.01em}
.card-spec .pcard-short{font-family:var(--dc-mono);font-size:12px;border-top:1px dashed var(--dc-border);padding-top:10px;color:var(--dc-ink-soft)}
.card-spec .pcard .price strong{font-family:var(--dc-mono);font-size:17px}
.card-spec .pcard .btn-outline{border-radius:0;border:1px solid var(--dc-ink);font-family:var(--dc-mono);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.card-spec .pcard .btn-outline:hover{background:var(--dc-ink);color:var(--dc-paper)}
.card-spec .pcard .badge-soft{border-radius:0;font-family:var(--dc-mono)}
.card-spec .bcard{border:1px solid var(--dc-ink);border-radius:0}
.card-spec .bcard-media{border-radius:0}
.card-spec .bcard .badge{border-radius:0;font-family:var(--dc-mono)}

/* section: rail ----------------------------------------------------------------------- */
.rail{overflow:hidden}
.rail-nav{display:flex;gap:8px}
.rail-nav button{width:46px;height:46px;border:1.5px solid var(--dc-ink);background:transparent;border-radius:var(--dc-radius-pill);font-size:18px;display:grid;place-items:center}
.rail-nav button:hover{background:var(--dc-ink);color:var(--dc-paper)}
.rail-track{--dc-rail-pad:max(var(--dc-gutter), calc((100vw - var(--dc-container))/2));display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;padding:12px var(--dc-rail-pad) 24px;scroll-padding-inline:var(--dc-rail-pad);scrollbar-width:none;scroll-behavior:smooth}
.nav-side .rail-track{--dc-rail-pad:var(--dc-gutter)}
.rail-track::-webkit-scrollbar{display:none}
.rail-item{flex:0 0 clamp(240px, 24vw, 320px);scroll-snap-align:start;position:relative;display:flex;flex-direction:column}
.rail-n{position:absolute;top:-10px;left:-6px;font-family:var(--dc-font-display);font-size:clamp(52px, 5vw, 76px);font-weight:800;line-height:1;color:var(--dc-accent);z-index:2}
.rail-media{display:block;aspect-ratio:1;background:var(--dc-surface-2);border-radius:var(--dc-radius);overflow:hidden}
.rail-media img{width:100%;height:100%;object-fit:cover}
.rail-body{padding:14px 0 0;display:flex;flex-direction:column;flex:1}
.rail-body h3{font-size:19px;margin:0 0 4px}
.rail-body .pcard-foot{margin-top:auto}

/* section: week planner ------------------------------------------------------------------ */
.week-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:10px}
.week-day{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius);padding:16px 14px;min-height:230px;display:flex;flex-direction:column}
.week-day.is-rest{background:transparent;border-style:dashed}
.week-label{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dc-accent)}
.week-day h3{font-size:17px;margin:8px 0 6px;text-transform:uppercase;font-weight:800;letter-spacing:.01em}
.week-day p{font-size:12.5px;color:var(--dc-muted);margin:0 0 12px;flex:1;line-height:1.45}
.week-products{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.week-products a{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;line-height:1.2}
.week-products img{width:36px;height:36px;border-radius:6px;object-fit:cover;background:var(--dc-surface-2);flex:0 0 36px}
@media (max-width:1100px){.week-grid{grid-template-columns:repeat(4, 1fr)}}
@media (max-width:700px){.week-grid{grid-template-columns:repeat(2, 1fr)}}

/* section: checklist (pack lists) ------------------------------------------------------- */
.check-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:22px}
.check-card{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius);overflow:hidden;display:flex;flex-direction:column}
.check-media{position:relative;aspect-ratio:4/3;background:var(--dc-surface-2)}
.check-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.check-tag{position:absolute;top:14px;left:14px;background:var(--dc-ink);color:var(--dc-paper);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:4px}
.check-body{padding:22px;display:flex;flex-direction:column;flex:1}
.check-body h3{margin:0 0 6px}
.check-body > p{color:var(--dc-muted);font-size:14px;margin:0 0 14px}
.check-items{list-style:none;padding:0;margin:0 0 18px;flex:1}
.check-items a{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px dashed var(--dc-border);font-size:14px;font-weight:600}
.check-items em{font-style:normal;color:var(--dc-muted);font-weight:600;font-size:13px}
.check-box{width:20px;height:20px;border:1.5px solid var(--dc-primary);border-radius:4px;display:grid;place-items:center;color:var(--dc-primary)}
.check-box svg{width:14px;height:14px}
@media (max-width:900px){.check-grid{grid-template-columns:1fr}}

/* section: zigzag ----------------------------------------------------------------------- */
.zz-wrap{display:grid;gap:clamp(48px, 7vw, 96px)}
.zz-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px, 5vw, 72px);align-items:center}
.zz-flip .zz-media{order:2}
.zz-media img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--dc-radius)}
.zz-copy h2{margin-bottom:14px}
.zz-prod{display:flex;align-items:center;gap:14px;background:var(--dc-paper);border:1px solid var(--dc-border);border-radius:var(--dc-radius-sm);padding:10px 14px 10px 10px;margin:6px 0 22px;max-width:440px}
.zz-prod img{width:64px;height:64px;border-radius:8px;object-fit:cover;background:var(--dc-surface-2);flex:0 0 64px}
.zz-prod strong{display:block}
.zz-prod small{color:var(--dc-muted);display:block;font-size:12.5px}
@media (max-width:800px){.zz-row{grid-template-columns:1fr}.zz-flip .zz-media{order:0}}

/* section: kit (build the kit) ---------------------------------------------------------- */
.kit-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px, 5vw, 72px);align-items:start}
.kit-media{position:sticky;top:96px;border-radius:var(--dc-radius);overflow:hidden;background:var(--dc-surface-2)}
.kit-media img{width:100%;aspect-ratio:1;object-fit:cover}
.kit-badge{position:absolute;top:16px;left:16px;background:var(--dc-accent);color:var(--dc-on-accent);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;border-radius:4px}
.kit-list{list-style:none;padding:0;margin:22px 0;border-top:1px solid var(--dc-ink)}
.kit-list a{display:grid;grid-template-columns:34px 56px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--dc-border)}
.kit-n{font-family:ui-monospace, Menlo, Consolas, monospace;font-size:13px;color:var(--dc-muted)}
.kit-list img{width:56px;height:56px;border-radius:6px;object-fit:cover;background:var(--dc-surface-2)}
.kit-name strong{display:block}
.kit-name small{color:var(--dc-muted);font-size:12.5px}
.kit-price{font-family:ui-monospace, Menlo, Consolas, monospace;font-weight:700}
.kit-foot{display:flex;gap:28px;align-items:flex-end;flex-wrap:wrap}
.kit-total{display:block;font-family:var(--dc-font-display);font-size:30px;line-height:1;margin-top:4px}
.kit-total-bundle{color:var(--dc-primary)}
@media (max-width:900px){.kit-grid{grid-template-columns:1fr}.kit-media{position:relative;top:auto}}

/* section: strip (photo marquee) --------------------------------------------------------- */
.strip{overflow:hidden;padding:0 0 clamp(40px, 5vw, 72px)}
.strip-track{display:flex;gap:14px;width:max-content;animation:marquee 70s linear infinite}
.strip-track img{width:clamp(200px, 22vw, 320px);height:clamp(200px, 22vw, 320px);object-fit:cover;border-radius:var(--dc-radius)}
/* ==================================================================== layout variants, set 3 (Sites 12-13)
   heroes: magazine | ring · navs: stacked | boxed · cards: pill | ticket
   sections: timeline, lookbook, rounds, split, numbers */

/* nav: stacked (big centred logo, dotted link row beneath, not sticky) --------------------- */
.nav-stacked .site-header{position:relative;background:var(--dc-paper);backdrop-filter:none;border-bottom:1px solid var(--dc-border)}
.nav-stacked .header-inner{grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;height:auto;padding:20px 0 0;gap:10px 24px}
.nav-stacked .logo{grid-column:2;grid-row:1;justify-self:center}
.nav-stacked .logo svg{height:40px}
.nav-stacked .nav-toggle{grid-column:1;grid-row:1}
.nav-stacked .header-actions{grid-column:3;grid-row:1}
.nav-stacked .main-nav{grid-column:1 / -1;grid-row:2;justify-content:center;gap:0;padding:6px 0 16px}
.nav-stacked .main-nav a{padding:4px 18px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border:0;position:relative}
.nav-stacked .main-nav a + a::before{content:'·';position:absolute;left:-5px;top:2px;color:var(--dc-muted)}
.nav-stacked .main-nav a:hover,.nav-stacked .main-nav a.is-active{color:var(--dc-accent)}
@media (max-width:860px){.nav-stacked .header-inner{grid-template-rows:auto;padding:0;height:72px}.nav-stacked .logo svg{height:30px}.nav-stacked .main-nav{padding:16px var(--dc-gutter) 24px}.nav-stacked .main-nav a + a::before{display:none}.nav-stacked .main-nav a{padding:10px 0}}

/* nav: boxed (hard outline, logo in a filled block, divided links) -------------------------- */
.nav-boxed .site-header{background:var(--dc-paper);border-bottom:0;padding:14px 0;backdrop-filter:none}
.nav-boxed .header-inner{border:2px solid var(--dc-ink);height:64px;gap:0;background:var(--dc-surface)}
.nav-boxed .logo{background:var(--dc-ink);height:100%;display:flex;align-items:center;padding:0 22px}
.nav-boxed .logo svg text{fill:var(--dc-paper)}
.nav-boxed .main-nav{gap:0;justify-content:flex-start;height:100%}
.nav-boxed .main-nav a{padding:0 20px;height:100%;display:flex;align-items:center;border:0;border-right:2px solid var(--dc-ink);font-weight:800;text-transform:uppercase;font-size:12.5px;letter-spacing:.1em}
.nav-boxed .main-nav a:hover,.nav-boxed .main-nav a.is-active{background:var(--dc-accent);color:var(--dc-on-accent)}
.nav-boxed .header-actions{padding:0 14px}
.nav-boxed .header-actions .btn{border-radius:0}
@media (max-width:860px){.nav-boxed .header-inner{height:60px}.nav-boxed .logo{background:transparent;padding:0}.nav-boxed .logo svg text{fill:var(--dc-ink)}.nav-boxed .nav-toggle{margin-left:8px}.nav-boxed .main-nav{top:calc(100% + 2px);border:2px solid var(--dc-ink);left:0;right:0;height:auto;padding:12px var(--dc-gutter) 18px}.nav-boxed .main-nav a{border:0;height:auto;padding:10px 0}}

/* hero: magazine ------------------------------------------------------------------------ */
.hero-mag{padding:clamp(28px, 4vw, 56px) 0 clamp(40px, 5vw, 72px)}
.mag-head{display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--dc-ink);padding-top:12px}
.mag-head .eyebrow{margin:0}
.mag-issue{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dc-muted);font-weight:700}
.mag-title{font-size:clamp(48px, 10.5vw, 168px);line-height:.9;letter-spacing:-.035em;margin:18px 0 28px;font-weight:600}
.mag-grid{display:grid;grid-template-columns:.9fr 1.5fr .7fr;gap:clamp(20px, 3vw, 40px);align-items:start;border-top:1px solid var(--dc-border);padding-top:clamp(20px, 3vw, 36px)}
.mag-copy .lead{font-size:clamp(16px, 1.25vw, 19px)}
.mag-copy .hero-ctas{align-items:center;gap:20px;margin-top:22px}
.mag-img{position:relative}
.mag-img img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--dc-radius)}
.mag-caption{position:absolute;left:14px;bottom:14px;background:var(--dc-paper);color:var(--dc-ink);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:6px 10px;border-radius:4px}
.mag-side{display:grid;gap:18px}
.mag-side img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--dc-radius)}
.mag-stat{border-top:2px solid var(--dc-ink);padding-top:12px}
.mag-stat strong{display:block;font-family:var(--dc-font-display);font-size:clamp(40px, 4vw, 64px);line-height:1;letter-spacing:-.03em;color:var(--dc-primary)}
.mag-stat span{font-size:13px;color:var(--dc-muted)}
.mag-points{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:13.5px;font-weight:600}
.mag-points li{display:flex;gap:8px;align-items:center}
.mag-points svg{width:16px;height:16px;color:var(--dc-accent);flex:0 0 16px}
@media (max-width:900px){.mag-grid{grid-template-columns:1fr}.mag-img{order:-1}.mag-side{grid-template-columns:1fr 1fr;align-items:start}.mag-side img{grid-row:span 2}.mag-title{font-size:clamp(44px, 14vw, 96px)}}
@media (max-width:560px){.mag-side{grid-template-columns:1fr}.mag-side img{grid-row:auto}}

/* hero: ring ---------------------------------------------------------------------------- */
.hero-ring{padding:clamp(20px, 3vw, 40px) 0 clamp(36px, 5vw, 64px)}
.ring{position:relative;border:4px solid var(--dc-ink);border-radius:var(--dc-radius);padding:clamp(28px, 3.5vw, 52px);background:var(--dc-surface)}
.ring-img{width:100%;aspect-ratio:16/8;object-fit:cover;display:block;border-radius:var(--dc-radius-sm)}
.ring-corner{position:absolute;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--dc-ink);background:var(--dc-paper);padding:6px 10px;border:2px solid var(--dc-ink);border-radius:4px;display:flex;gap:8px;align-items:baseline;max-width:44%;line-height:1.2}
.ring-corner strong{font-family:var(--dc-font-display);font-size:20px;color:var(--dc-accent);letter-spacing:0}
.ring-c1{top:-14px;left:24px}.ring-c2{top:-14px;right:24px}.ring-c3{bottom:-14px;left:24px}.ring-c4{bottom:-14px;right:24px}
.ring-copy{position:absolute;left:clamp(28px, 3.5vw, 52px);bottom:clamp(28px, 3.5vw, 52px);max-width:min(560px, 70%);background:var(--dc-ink);color:var(--dc-paper);padding:clamp(22px, 3vw, 40px);border-radius:var(--dc-radius-sm)}
.ring-copy .eyebrow{color:var(--dc-accent)}
.ring-copy h1{color:var(--dc-paper);font-size:clamp(40px, 5.6vw, 84px);line-height:.95;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:14px}
.ring-copy .lead{color:color-mix(in srgb, var(--dc-paper) 78%, transparent);font-size:clamp(15px, 1.15vw, 18px)}
.ring-copy .hero-ctas{margin:20px 0 0}
.ring-copy .btn-ghost{color:var(--dc-paper);border-color:color-mix(in srgb, var(--dc-paper) 50%, transparent)}
.ring-copy .btn-ghost:hover{background:var(--dc-paper);color:var(--dc-ink);border-color:var(--dc-paper)}
.ring-ticker{margin:28px 0 0;border-top:2px solid var(--dc-ink);border-bottom:2px solid var(--dc-ink);padding:10px 0;overflow:hidden;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:12.5px}
.ring-ticker .ticker-track{display:flex;gap:44px;width:max-content;animation:marquee 45s linear infinite;white-space:nowrap}
.ring-ticker .ticker-track span::before{content:'\25CF';color:var(--dc-accent);margin-right:14px;font-size:10px}
@media (max-width:900px){.ring{padding:14px;display:flex;flex-direction:column;gap:10px}.ring-img{aspect-ratio:4/3;order:2}.ring-copy{position:static;max-width:none;margin-top:6px;order:3}.ring-corner{position:static;max-width:none;font-size:10px;display:inline-flex;margin:0 6px 0 0;order:1}.ring-c3,.ring-c4{display:none}}

/* cards: pill (rounded media, price pill overlapping, text-link add) -------------------------- */
.card-pill .pcard{border:0;background:transparent;overflow:visible;text-align:center}
.card-pill .pcard:hover{transform:none;box-shadow:none}
.card-pill .pcard-media{border-radius:var(--dc-radius);overflow:hidden;background:var(--dc-surface-2)}
.card-pill .pcard:hover .pcard-media img{transform:scale(1.03)}
.card-pill .pcard-media img{transition:transform .5s var(--dc-ease), opacity .4s}
.card-pill .pcard-body{padding:0 8px 10px;align-items:center}
.card-pill .pcard-foot{display:contents}
.card-pill .pcard .price{order:1;margin:-20px 0 10px;background:var(--dc-ink);color:var(--dc-paper);border-radius:999px;padding:9px 18px;font-size:14px;line-height:1;box-shadow:var(--dc-shadow-sm);display:inline-flex;gap:6px;align-items:baseline;position:relative;z-index:2}
.card-pill .pcard h3{order:2;font-size:20px;margin-bottom:2px}
.card-pill .pcard-cat{order:3;margin:0 0 6px}
.card-pill .pcard-short{order:4;text-align:center;flex:0}
.card-pill .pcard .price strong{color:var(--dc-paper);font-size:16px}
.card-pill .pcard .sub-hint{display:none}
.card-pill .pcard .btn-outline{border:0;padding:4px 0;text-decoration:underline;text-underline-offset:4px;font-weight:700;color:var(--dc-primary);background:transparent;order:5}
.card-pill .pcard .btn-outline:hover{color:var(--dc-accent);background:transparent}
.card-pill .pcard .badge-soft{border-radius:999px}
.card-pill .bcard{border-radius:var(--dc-radius)}

/* cards: ticket (hard outline, dashed tear line with notches) --------------------------------- */
.card-ticket .pcard{border:2px solid var(--dc-ink);border-radius:12px;background:var(--dc-surface);overflow:visible;position:relative}
.card-ticket .pcard:hover{transform:translateY(-3px);box-shadow:6px 6px 0 var(--dc-accent)}
.card-ticket .pcard-media{border-radius:10px 10px 0 0;overflow:hidden;border-bottom:2px dashed var(--dc-ink)}
.card-ticket .pcard-body{position:relative;padding:16px 18px 18px}
.card-ticket .pcard-body::before,.card-ticket .pcard-body::after{content:'';position:absolute;top:-12px;width:20px;height:20px;border-radius:50%;background:var(--dc-paper);border:2px solid var(--dc-ink);z-index:2}
.card-ticket .pcard-body::before{left:-12px;clip-path:inset(-4px -4px -4px 50%)}
.card-ticket .pcard-body::after{right:-12px;clip-path:inset(-4px 50% -4px -4px)}
.card-ticket .pcard-cat{font-weight:800;color:var(--dc-accent)}
.card-ticket .pcard h3{text-transform:uppercase;font-weight:800;letter-spacing:.02em;font-size:19px}
.card-ticket .pcard .price strong{font-family:var(--dc-font-display);font-size:24px}
.card-ticket .pcard .btn-outline{border:2px solid var(--dc-ink);border-radius:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.card-ticket .pcard .btn-outline:hover{background:var(--dc-ink);color:var(--dc-paper)}
.card-ticket .pcard .badge-soft{border:2px solid var(--dc-ink);border-radius:6px;background:var(--dc-paper);color:var(--dc-ink)}
.card-ticket .bcard{border:2px solid var(--dc-ink);border-radius:12px}
.card-ticket .bcard .badge{border-radius:6px}

/* section: timeline --------------------------------------------------------------------- */
.tl{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4, 1fr);gap:24px;position:relative}
.tl::before{content:'';position:absolute;left:0;right:0;top:9px;height:2px;background:var(--dc-border)}
.tl-item{position:relative;padding-top:32px}
.tl-dot{position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%;background:var(--dc-paper);border:4px solid var(--dc-primary)}
.tl-item:first-child .tl-dot{background:var(--dc-primary)}
.tl-phase{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dc-accent)}
.tl-weeks{display:block;font-family:var(--dc-font-display);font-size:clamp(26px, 2.6vw, 38px);line-height:1;margin:6px 0 10px;letter-spacing:-.02em}
.tl-item h3{font-size:19px;margin:0 0 6px}
.tl-item p{font-size:14px;color:var(--dc-muted);margin:0 0 14px}
.tl-products{display:flex;gap:6px;flex-wrap:wrap}
.tl-products img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--dc-surface);box-shadow:var(--dc-shadow-sm);background:var(--dc-surface-2)}
@media (max-width:900px){.tl{grid-template-columns:1fr 1fr}.tl::before{display:none}}
@media (max-width:520px){.tl{grid-template-columns:1fr}}

/* section: lookbook ---------------------------------------------------------------------- */
.lb-grid{display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-rows:minmax(240px, 32vw);gap:16px}
.lb-tile{position:relative;border-radius:var(--dc-radius);overflow:hidden;background:var(--dc-surface-2);display:block;color:#fff}
.lb-tile:hover{color:#fff}
.lb-wide{grid-column:span 2}
.lb-tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--dc-ease)}
.lb-tile:hover img{transform:scale(1.04)}
.lb-cap{position:absolute;inset:auto 0 0 0;padding:22px;padding-top:80px;background:linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,0));display:grid;gap:2px}
.lb-cap small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;opacity:.85}
.lb-cap strong{font-family:var(--dc-font-display);font-size:clamp(22px, 2.2vw, 30px);line-height:1.1}
.lb-cap > span{font-size:13.5px;opacity:.9}
@media (max-width:800px){.lb-grid{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(200px, 48vw)}}
@media (max-width:520px){.lb-grid{grid-template-columns:1fr}.lb-wide{grid-column:auto}}

/* section: rounds ----------------------------------------------------------------------- */
.rounds-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:20px}
.round{border:2px solid var(--dc-ink);border-radius:12px;background:var(--dc-surface);padding:22px;display:flex;flex-direction:column;position:relative;box-shadow:6px 6px 0 var(--dc-ink)}
.round-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.round-n{font-family:var(--dc-font-display);font-size:clamp(44px, 4.5vw, 64px);line-height:1;color:var(--dc-accent);letter-spacing:-.02em}
.round-time{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:var(--dc-ink);color:var(--dc-paper);padding:6px 10px;border-radius:6px}
.round h3{text-transform:uppercase;font-weight:800;font-size:20px;margin:0 0 6px}
.round p{font-size:14px;color:var(--dc-muted);margin:0 0 14px;flex:1}
.round-products{list-style:none;padding:0;margin:0;display:grid;gap:6px;border-top:2px dashed var(--dc-border);padding-top:12px}
.round-products a{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;font-size:13px;font-weight:700}
.round-products img{width:40px;height:40px;border-radius:8px;object-fit:cover;background:var(--dc-surface-2)}
.round-products em{font-style:normal;color:var(--dc-muted);font-weight:600}
@media (max-width:900px){.rounds-grid{grid-template-columns:1fr}}

/* section: split promo -------------------------------------------------------------------- */
.split-promo{padding:0 0 clamp(40px, 5vw, 72px)}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.split-tile{position:relative;border-radius:var(--dc-radius);overflow:hidden;aspect-ratio:4/3;display:block;color:#fff;background:var(--dc-surface-2)}
.split-tile:hover{color:#fff}
.split-tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--dc-ease)}
.split-tile:hover img{transform:scale(1.04)}
.split-copy{position:absolute;inset:0;padding:clamp(20px, 3vw, 40px);display:flex;flex-direction:column;justify-content:flex-end;gap:6px;background:linear-gradient(to top, rgba(0,0,0,.8) 20%, rgba(0,0,0,.05) 70%)}
.split-copy .eyebrow{color:var(--dc-accent);margin:0}
.split-copy strong{font-family:var(--dc-font-display);font-size:clamp(26px, 3vw, 44px);line-height:1;text-transform:uppercase}
.split-copy > span{font-size:14px;opacity:.9;max-width:44ch}
.split-copy em{font-style:normal;align-self:flex-start;margin-top:10px}
@media (max-width:700px){.split-grid{grid-template-columns:1fr}}

/* section: numbers ----------------------------------------------------------------------- */
.num-list{display:grid;gap:0;border-top:2px solid var(--dc-ink)}
.num-row{display:grid;grid-template-columns:minmax(120px, .3fr) 1fr;gap:clamp(16px, 4vw, 60px);align-items:center;padding:clamp(18px, 2.5vw, 30px) 0;border-bottom:2px solid var(--dc-ink)}
.num-row strong{font-family:var(--dc-font-display);font-size:clamp(56px, 8vw, 128px);line-height:.9;letter-spacing:-.03em;color:var(--dc-accent)}
.num-row h3{text-transform:uppercase;font-weight:800;font-size:20px;margin:0 0 4px}
.num-row p{margin:0;color:var(--dc-muted);font-size:15px;max-width:60ch}
@media (max-width:600px){.num-row{grid-template-columns:1fr;gap:6px}}
.section-dark .save,.section-dark .pill-sub{background:rgba(255,255,255,.14);color:inherit}
.switch-plan:hover{color:var(--dc-accent)}

/* ══════════════════════════════════════════════════════════════════════════════════════
   S677k BRIDGE — the scaffold's OWN pages (legal set, cart, checkout, thank-you, contact,
   ingredients, downloads, search) render the one shared money/compliance DOM, not the outside
   template's. These rules dress that DOM in the skin's tokens so the site reads as one thing.
   Nothing above this line is ours; everything below is additive and token-only.
   ══════════════════════════════════════════════════════════════════════════════════════ */
.container-x{max-width:var(--dc-container);margin:0 auto;padding-left:var(--dc-gutter);padding-right:var(--dc-gutter)}
.btn-base{font:inherit;font-weight:700;border-radius:var(--dc-radius-pill,var(--dc-radius-btn,999px));padding:.75rem 1.25rem;height:auto;line-height:1.2;transition:transform .2s var(--dc-ease),background .2s var(--dc-ease),opacity .2s}
.btn-base:hover{transform:translateY(-1px)}
.btn-primary,.btn-cart{background:var(--dc-primary);color:var(--dc-on-primary);border-color:var(--dc-primary)}
.btn-cart{background:var(--dc-accent);color:var(--dc-on-accent);border-color:var(--dc-accent)}
.btn-outline{background:transparent;color:var(--dc-ink);border-color:var(--dc-border)}
.btn-outline:hover{background:var(--dc-surface-2)}
.btn-secondary{background:var(--dc-surface-2);color:var(--dc-ink);border-color:var(--dc-surface-2)}
.legal-page,.prose,.prose-block{color:var(--dc-ink)}
.legal-page h1,.legal-page h2,.legal-page h3{font-family:var(--dc-font-display);font-weight:500}
.legal-page{max-width:820px;margin:0 auto;padding:2.5rem var(--dc-gutter)}
.section-head .eyebrow,.eyebrow{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--dc-accent);margin:0 0 .6rem}
.section-head h2{margin:0 0 .35rem}
.product-card{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius);overflow:hidden}
.product-card .thumb img{width:100%;aspect-ratio:1/1;object-fit:cover}
.product-card .body{padding:1rem 1.1rem}
.co-card,.co-summary{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius-sm)}
.footer-legal a,.footer-contact a{color:inherit}
input[type=text],input[type=email],input[type=tel],input[type=search],input[type=number],select,textarea{border:1px solid var(--dc-border);border-radius:var(--dc-radius-sm);background:var(--dc-surface);color:var(--dc-ink);padding:.6rem .75rem}
input:focus,select:focus,textarea:focus{outline:2px solid var(--dc-accent);outline-offset:1px}
.sf-payment-marks img{opacity:.85}
.announcement-bar{display:none} /* the skin renders its own .announce bar */
/* S677s: the text fallback of the wordmark (no logo asset sourced) inherited the page's display
   type and rendered as a headline-sized brand name in the header and footer (getlucereskin). */
.site-header .logo-text{font-family:var(--dc-font-display);font-size:1.35rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1;color:var(--dc-ink)}
.site-footer .footer-logo-text{font-family:var(--dc-font-display);font-size:1.35rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1;margin:0 0 .75rem}
.sf-hamburger{display:none!important} /* the skin has its own nav toggle */

/* ── S677k skin additions: the factory's B41-safe card (one link wraps image + text, action outside) ── */
.pcard{position:relative;display:flex;flex-direction:column}
.pcard-link{display:block;color:inherit}
.pcard-link .pcard-media{display:block}
.pcard-link .pcard-body{display:block}
.pcard-body .pcard-cat,.pcard-body .pcard-short,.pcard-body .product-type{display:block}
.pcard .product-type,.routine-item .product-type,.active-chip .product-type,.inside .product-type{font-size:12px;color:var(--dc-muted);letter-spacing:.02em;display:block;margin:.1rem 0 .3rem}
.pcard-actions{padding:0 18px 18px;margin-top:auto;display:flex;justify-content:flex-end}
.pcard .price .was{color:var(--dc-muted);font-weight:400;margin-right:.35rem;text-decoration:line-through}
.actives-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;padding:0 0 32px}
.compare-wrap{overflow-x:auto}
.compare-table{width:100%;border-collapse:collapse;background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius-sm);overflow:hidden}
.compare-table th,.compare-table td{padding:.9rem 1rem;border-bottom:1px solid var(--dc-border);text-align:left;font-size:15px}
.compare-table th{font-weight:700;background:var(--dc-surface-2)}
.routine-item{display:flex;gap:12px;align-items:center;color:inherit}
.routine-item img{width:64px;height:64px;object-fit:contain;border-radius:var(--dc-radius-sm);background:var(--dc-surface-2)}
.footer-logo-text,.logo-text{font-family:var(--dc-font-display);font-size:26px;font-weight:600;letter-spacing:.02em}
.footer-marks{margin:22px 0 6px}
.footer-marks img{height:22px;opacity:.85}
.site-header .cart-btn{position:relative;display:inline-flex;align-items:center;justify-content:center}
.site-header .cart-count{display:inline-flex}
.buybox .btn-base{width:100%;justify-content:center}
.buybox form fieldset{border:1px solid var(--dc-border);border-radius:var(--dc-radius-sm)}
.buybox h1{margin-top:.2rem}
/* S677t: the scaffold's .section-head h2 (site.css) outranks Dean's h2 rule; restate his size at the same specificity */
.section-head h2{font-size:clamp(30px, 3.6vw, 46px)}
/* S677t: the card is ONE link (B41); Dean's media anchor is a span inside it, styled as his block */
.pcard .pcard-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.pcard span.pcard-media{display:block}
