
/* ═══════════════════════════════════════════════════════════
   SKYLINE — the design's own stylesheet.
   Generated by scripts/design-to-theme-css.py from
   /private/tmp/claude-501/-Users-tony-Code-astrocart-v2-1/60bc91a4-5786-42d7-83d8-3eb53ac51566/scratchpad/design-clean/home.html. The rules below are the design's, verbatim; only the
   :root block is rewritten (tokens read --ac-* with the design's
   value as fallback). Edit the design or this file — never paste
   another theme's base underneath it.
   ═══════════════════════════════════════════════════════════ */

/* ═══ DESIGN TOKENS ═══
   Each token READS its platform equivalent and falls back to the
   design's own value, so the Design panel restyles the theme and an
   unset token still renders exactly as designed. Never define --ac-*
   from these (resolution cycle — both sides go invalid). */
:root {
  --ink:             var(--ac-color-text, #0a1622);
  --ink-soft:        var(--ac-color-text-secondary, #485d70);
  --muted:           var(--ac-color-text-muted, #6b8093);
  --bg:              var(--ac-color-background, #ffffff);
  --paper:           var(--ac-color-background-secondary, #ffffff);
  --surface:         #f3f7f9;
  --surface-alt:     #e8eff3;
  --border:          var(--ac-color-border, #dde6ec);
  --accent:          var(--ac-color-primary, #00c9a0);
  --accent-deep:     var(--ac-color-accent-deep, #007a61);
  --accent-tint:     #dff8f1;
  --on-accent:       #04231c;
  --dark:            #0a1622;
  --dark-alt:        #132535;
  --on-dark:         #e9f1f6;
  --on-dark-soft:    rgba(233,241,246,.76);
  --dark-border:     rgba(233,241,246,.16);
  --hero-bg:         linear-gradient(165deg,#0a1622 0%,#122a3e 46%,#1d3c50 74%,#2f5560 100%);
  --on-hero:         #e9f1f6;
  --on-hero-soft:    rgba(233,241,246,.78);
  --hero-border:     rgba(233,241,246,.2);
  --sale:            var(--ac-color-sale, #d4532f);
  --sale-tint:       #fbe6e0;
  --sale-ink:        #a63f22;
  --success:         #007a61;
  --warn:            #e9a53b;
  --warn-tint:       #fdf1dc;
  --warn-ink:        #8a5d0c;
  --range-low:       #f3c4b4;
  --range-ok:        #f6e2b4;
  --range-opt:       #9fe3cf;
  --rating:          #00854f;
  --font-heading:    var(--ac-font-heading, 'Sora',sans-serif);
  --font-body:       var(--ac-font-body, 'Plus Jakarta Sans',sans-serif);
  --heading-case:    none;
  --heading-weight:  500;
  --heading-track:   -.03em;
  --heading-stretch: 100%;
  --radius-card:     var(--ac-border-radius-card, 14px);
  --radius-image:    var(--ac-border-radius-image, 14px);
  --radius-button:   var(--ac-border-radius-button, 999px);
  --radius-input:    var(--ac-border-radius-input, 999px);
  --shadow-card:     0 1px 3px rgba(10,22,34,.06);
  --shadow-raised:   0 30px 70px -30px rgba(10,22,34,.35);
  --max-width:       var(--container-width, 1280px);
  --gutter:          36px;

  /* aliases for platform-chrome rules not yet rebuilt from the
     design — see PLATFORM CHROME at the foot of this file */
  --panel:           var(--paper);
  --ink-muted:       var(--ink-soft);
  --line-soft:       var(--border);
  --r-card:          var(--radius-card);
  --r-btn:           var(--radius-button);
  --r-input:         var(--radius-input);
  --container:       var(--max-width);
  --font:            var(--font-body);
  --inverse:         var(--dark);
  --inv-text:        var(--on-dark);
  --star:            var(--accent);
}

/* SKYLINE VITALITY — theme. Direction A "Dusk Ridge" is the default token set; Direction B "Summit Daylight" overrides it under html.dir-b (mockup only: keep ONE set at conversion). */
*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0}body{overflow-x:clip}
body{font-family:var(--font-body);font-size:15px;color:var(--ink);background:var(--bg);line-height:1.62;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:var(--accent-deep);text-decoration:none}a:hover{color:var(--ink)}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0}
ul,ol{list-style:none;margin:0;padding:0}p{margin:0}
h1,h2,h3,h4{margin:0;font-family:var(--font-heading);font-weight:var(--heading-weight);font-stretch:var(--heading-stretch);letter-spacing:var(--heading-track);line-height:1.08;text-wrap:balance}
.h1{font-size:clamp(34px,4.4vw,62px);text-transform:var(--heading-case);line-height:1.02}
.h2{font-size:clamp(28px,3.3vw,46px);text-transform:var(--heading-case)}
.h3{font-size:clamp(20px,1.8vw,24px)}
.wrap{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-deep)}
.on-dark .eyebrow,.eyebrow--on-dark{color:var(--accent)}
.lead{font-size:17px;line-height:1.62;color:var(--ink-soft);text-wrap:pretty}
.on-dark .lead{color:var(--on-dark-soft)}
.muted{color:var(--muted)}
.sec-head{display:flex;flex-direction:column;gap:14px;max-width:680px;margin-bottom:48px}
.sec-head--c{text-align:center;margin-inline:auto;align-items:center}
.sec-head--row{max-width:none;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.sec-head--row>div{display:flex;flex-direction:column;gap:14px;max-width:640px}
.band{padding:100px 0}.band--tight{padding:64px 0}
.bg-bg{background:var(--bg)}.bg-paper{background:var(--paper)}.bg-surface{background:var(--surface)}.bg-dark{background:var(--dark);color:var(--on-dark)}
.bg-dark h2,.bg-dark h3{color:var(--on-dark)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border-radius:var(--radius-button);font-weight:700;font-size:14px;border:1.5px solid transparent;transition:.2s;white-space:nowrap;cursor:pointer;font-family:var(--font-body)}
.btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2}
.btn--primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn--primary:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn--dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn--dark:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--border)}.btn--ghost:hover{border-color:var(--ink);color:var(--ink)}
.btn--light{background:transparent;color:var(--on-dark);border-color:var(--dark-border)}.btn--light:hover{border-color:var(--on-dark);color:var(--on-dark)}
.btn--hero{background:transparent;color:var(--on-hero);border-color:var(--hero-border)}.btn--hero:hover{border-color:var(--on-hero);color:var(--on-hero)}
.btn--sm{padding:11px 20px;font-size:13px}.btn--block{width:100%}
.link-arrow{font-weight:700;color:var(--ink);display:inline-flex;align-items:center;gap:8px;font-size:14px}
.link-arrow svg{width:15px;height:15px;stroke:var(--accent-deep);fill:none;stroke-width:2.2}.link-arrow:hover{color:var(--accent-deep)}
.on-dark .link-arrow,.bg-dark .link-arrow{color:var(--on-dark)}.bg-dark .link-arrow svg{stroke:var(--accent)}
.ph{position:relative;background:var(--surface-alt);background-image:repeating-linear-gradient(135deg,transparent 0 14px,rgba(10,22,34,.05) 14px 15px);display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-image)}
.ph>span:first-child{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--ink-soft);letter-spacing:.06em;background:var(--paper);padding:6px 11px;border-radius:6px;text-align:center;max-width:80%}
.ph--dark{background-color:var(--dark-alt);background-image:repeating-linear-gradient(135deg,transparent 0 14px,rgba(255,255,255,.05) 14px 15px)}
.stars{display:inline-flex;gap:2px;color:var(--rating)}.stars svg{width:14px;height:14px;fill:currentColor;stroke:none}
.tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px;white-space:nowrap}
.tag--opt{background:var(--accent-tint);color:var(--accent-deep)}.tag--watch{background:var(--warn-tint);color:var(--warn-ink)}.tag--flag{background:var(--sale-tint);color:var(--sale-ink)}.tag--plain{background:var(--surface);color:var(--ink-soft)}
.chk{display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--ink-soft)}
.chk li{display:flex;gap:11px;align-items:flex-start}.chk svg{width:16px;height:16px;stroke:var(--accent-deep);fill:none;stroke-width:2.4;flex:none;margin-top:4px}
.bg-dark .chk{color:var(--on-dark-soft)}.bg-dark .chk svg{stroke:var(--accent)}
.grid-2,.grid-3,.grid-4{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.crumbs{display:flex;gap:8px;font-size:13px;color:var(--muted);flex-wrap:wrap}.crumbs a{color:var(--ink-soft)}.crumbs a:hover{color:var(--accent-deep)}
/* ECG — the theme's one ambient effect */
.ecg{display:block;width:100%;height:46px}
.ecg path{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1400;stroke-dashoffset:1400;animation:trace 5.5s linear infinite}
@keyframes trace{0%{stroke-dashoffset:1400}60%,100%{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.ecg path{animation:none;stroke-dashoffset:0}}
.ecg-band{background:var(--paper);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0}
.ecg-band--dark{background:var(--dark);border-color:var(--dark-border)}
/* announcement */
.ann{background:var(--dark);color:var(--on-dark);font-size:12.5px;font-weight:600}
.ann .wrap{display:flex;justify-content:center;gap:34px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}
.ann span{display:inline-flex;align-items:center;gap:8px}.ann svg{width:14px;height:14px;stroke:var(--accent);fill:none;stroke-width:2.2}
/* header */
.hdr{background:var(--paper);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:60}
.hdr .wrap{display:grid;grid-template-columns:auto 1fr auto auto;grid-template-areas:"logo nav search utils";align-items:center;gap:24px;height:78px}
.logo{grid-area:logo;display:flex;align-items:center;gap:11px;color:var(--ink)}.logo:hover{color:var(--ink)}
.logo svg{width:30px;height:30px;flex:none}
.logo__txt{font-family:var(--font-heading);font-size:15px;font-weight:700;letter-spacing:.2em;line-height:1.15;text-transform:uppercase}
.logo__txt i{display:block;font-style:normal;font-weight:400;font-size:10px;letter-spacing:.36em;color:var(--ink-soft)}
.nav{grid-area:nav;display:flex;gap:22px;font-size:14px;font-weight:600}
.nav a{color:var(--ink);white-space:nowrap;padding:6px 0}.nav a:hover,.nav a[aria-current]{color:var(--accent-deep)}.nav a[aria-current]{box-shadow:inset 0 -2px 0 var(--accent)}
.search{grid-area:search;display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-input);padding:0 16px;height:42px;width:clamp(150px,14vw,220px);min-width:0}
.search svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:2;flex:none}
.search input{border:0;background:none;font:inherit;font-size:14px;color:var(--ink);outline:none;width:100%;min-width:0}
.utils{grid-area:utils;display:flex;align-items:center;gap:4px}
.hdr__phone{display:flex;flex-direction:column;line-height:1.2;font-size:13px;font-weight:700;color:var(--ink);margin-right:10px;white-space:nowrap}
.hdr__phone small{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.icon-btn{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--ink);position:relative}
.icon-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7}.icon-btn:hover{background:var(--surface);color:var(--ink)}
.icon-btn .count{position:absolute;top:1px;right:-1px;background:var(--accent);color:var(--on-accent);font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;display:grid;place-items:center}
.mmenu{grid-area:menu;display:none;position:relative}
.mmenu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-items:center}.mmenu summary::-webkit-details-marker{display:none}
.mmenu summary svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:2}
.mmenu__panel{position:absolute;top:50px;left:0;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-raised);padding:10px;display:flex;flex-direction:column;min-width:250px;z-index:70}
.mmenu__panel a{padding:13px 14px;color:var(--ink);font-weight:600;border-radius:8px}.mmenu__panel a:hover{background:var(--surface)}
/* footer */
.ftr{background:var(--dark);color:var(--on-dark);padding:72px 0 0}
.ftr__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:48px}
.ftr .logo{color:var(--on-dark)}.ftr .logo__txt i{color:var(--on-dark-soft)}
.ftr__about p{font-size:13.5px;color:var(--on-dark-soft);margin-top:18px;max-width:34ch}
.ftr__col b{font-family:var(--font-heading);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:16px}
.ftr__col a{display:block;font-size:14px;color:var(--on-dark-soft);padding:6px 0}.ftr__col a:hover{color:var(--accent)}
.ftr__book p{font-size:13.5px;color:var(--on-dark-soft);margin-bottom:10px}
.ftr__book a.big{display:block;font-family:var(--font-heading);font-size:20px;font-weight:600;color:var(--on-dark);padding:2px 0}
.ftr__book a.wa{display:inline-flex;align-items:center;gap:8px;margin:2px 0 8px;font-weight:700;font-size:14.5px;color:var(--accent)}.ftr__book a.wa svg{width:16px;height:16px;flex:none;fill:currentColor}
.ftr__accred{border-top:1px solid var(--dark-border);padding:24px 0;display:flex;gap:28px;flex-wrap:wrap;font-size:12.5px;color:var(--on-dark-soft)}
.ftr__accred b{color:var(--on-dark)}
.ftr__bottom{border-top:1px solid var(--dark-border);padding:20px 0 96px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:var(--on-dark-soft)}
.ftr__legal{display:flex;gap:22px;flex-wrap:wrap}.ftr__legal a{color:var(--on-dark-soft)}.ftr__legal a:hover{color:var(--accent)}
/* product card — ONE design used everywhere */
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.pgrid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pcard{position:relative;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;transition:.22s}
.pcard__link{display:flex;flex-direction:column;height:100%;color:var(--ink)}.pcard__link:hover{color:var(--ink)}
.pcard__img{aspect-ratio:4/3;border-radius:0}
.pcard__badge{position:absolute;top:14px;left:14px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:999px}
.pcard__badge--sale{background:var(--sale);color:#fff}
.pcard__body{padding:20px 20px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.pcard__meta{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep)}
.pcard__title{font-size:19px;letter-spacing:-.015em;text-transform:none;font-weight:600}
.pcard__rating{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft)}
.pcard__price{display:flex;align-items:baseline;gap:8px;margin-top:auto;padding-top:8px}
.pcard__price b{font-family:var(--font-heading);font-size:22px;font-weight:600;letter-spacing:-.02em}
.pcard__price s{color:var(--muted);font-size:14px}.pcard__price small{color:var(--muted);font-size:13px}
.pcard__cta{position:absolute;left:0;right:0;bottom:0;background:var(--ink);color:var(--paper);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;height:48px;transform:translateY(100%);transition:.22s}
.pcard__cta svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2}
.pcard:hover{border-color:var(--ink);box-shadow:var(--shadow-raised);transform:translateY(-3px)}
.pcard:hover .pcard__cta{transform:translateY(0)}
/* page header (inner pages) */
.phead{background:var(--surface);padding:52px 0 56px;border-bottom:1px solid var(--border)}
.phead .wrap{display:flex;flex-direction:column;gap:16px}.phead .lead{max-width:640px}
.phead--dark{background:var(--hero-bg);color:var(--on-hero);border-bottom:0}
.phead--dark .lead{color:var(--on-hero-soft)}.phead--dark .crumbs,.phead--dark .crumbs a{color:var(--on-hero-soft)}.phead--dark .eyebrow{color:var(--accent)}
/* hero */
.hero{position:relative;background:var(--hero-bg);color:var(--on-hero);overflow:hidden;padding:84px 0 92px}
.hero__ridge{position:absolute;left:0;right:0;bottom:0;width:100%;height:170px;opacity:.12}
.hero__ridge path{fill:none;stroke:var(--on-hero);stroke-width:1.4}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.hero__copy{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.hero h1 span{display:block;color:var(--accent)}
.hero .lead{color:var(--on-hero-soft);max-width:540px}
.hero .eyebrow{color:var(--accent)}
.hchips{display:flex;gap:10px;flex-wrap:wrap}
.hchip{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--hero-border);border-radius:var(--radius-button);padding:9px 15px;font-size:13px;font-weight:600;color:var(--on-hero)}
.hchip svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:2.3}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
.hcard{position:relative;background:var(--paper);color:var(--ink);border-radius:18px;box-shadow:var(--shadow-raised);overflow:hidden}
.hcard__bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px;border-bottom:1px solid var(--border)}
.hcard__bar b{font-family:var(--font-heading);font-size:15px;font-weight:600}
.mono{font-family:ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.06em;color:var(--ink-soft)}
.hrow{padding:14px 22px;border-bottom:1px solid var(--border)}
.hrow__top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.hrow__top b{font-size:14px;font-weight:600}
.val{font-family:var(--font-heading);font-size:16px;font-weight:600;white-space:nowrap}.val small{font-family:var(--font-body);font-size:11px;font-weight:500;color:var(--ink-soft);margin-left:4px}
.hrow p{font-size:12.5px;color:var(--ink-soft);margin-top:8px}
.hcard__foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px;background:var(--surface);font-size:12.5px;font-weight:600;color:var(--ink-soft)}
/* range scale */
.scale{margin-top:10px;position:relative;height:8px;border-radius:999px;display:flex;background:var(--surface-alt)}
.scale i{display:block;height:100%}.scale i:first-child{border-radius:999px 0 0 999px}.scale i:last-of-type{border-radius:0 999px 999px 0}
.s-low{background:var(--range-low);flex:2}.s-ok{background:var(--range-ok);flex:1.4}.s-opt{background:var(--range-opt);flex:3}.s-high{background:var(--range-low);flex:2}
.pin{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--ink);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--ink)}
.pin--flag{background:var(--sale);box-shadow:0 0 0 1px var(--sale)}.pin--opt{background:var(--accent-deep);box-shadow:0 0 0 1px var(--accent-deep)}
/* trust strip */
.trust{background:var(--paper);border-bottom:1px solid var(--border);padding:28px 0}
.trust .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.trust__i{display:flex;gap:13px;align-items:flex-start;font-size:14px;font-weight:700;line-height:1.35}
.trust__i svg{width:24px;height:24px;stroke:var(--accent-deep);fill:none;stroke-width:1.8;flex:none}
.trust__i small{display:block;font-weight:400;color:var(--ink-soft);font-size:13px;margin-top:3px}
/* collection options + postcode check */
.opt{border:1px solid var(--border);border-radius:var(--radius-card);padding:28px;background:var(--paper);display:flex;flex-direction:column;gap:12px}
.opt__ic{width:50px;height:50px;border-radius:50%;background:var(--accent-tint);display:grid;place-items:center}
.opt__ic svg{width:24px;height:24px;stroke:var(--accent-deep);fill:none;stroke-width:1.7}
.opt h3{font-size:19px;font-weight:600}.opt p{font-size:14px;color:var(--ink-soft);flex:1}
.opt__fee{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;border-top:1px solid var(--border);font-size:13px;color:var(--ink-soft)}
.opt__fee b{font-family:var(--font-heading);font-size:18px;color:var(--ink)}
.pc{background:var(--dark);color:var(--on-dark);border-radius:var(--radius-card);padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.pc h3{font-size:24px;margin-bottom:10px;color:var(--on-dark)}.pc p{font-size:14.5px;color:var(--on-dark-soft)}
.pc-form{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.pc-form input,.field input,.field select,.field textarea{height:50px;border-radius:var(--radius-input);border:1px solid var(--border);background:var(--paper);padding:0 20px;font:inherit;font-size:15px;color:var(--ink);outline:none;width:100%}
.pc-form input{flex:1;min-width:150px;width:auto;border-color:var(--dark-border);background:rgba(255,255,255,.06);color:var(--on-dark);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.pc-res{background:rgba(255,255,255,.05);border:1px solid var(--dark-border);border-radius:var(--radius-card);padding:22px}
.pc-res__head{display:flex;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--dark-border)}
.pc-res__head b{font-family:var(--font-heading);font-size:16px}.pc-res__head span{font-size:12px;color:var(--on-dark-soft)}
.pc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--dark-border);font-size:14px;font-weight:600}
.pc-row:last-child{border-bottom:0;padding-bottom:0}.pc-row small{display:block;font-weight:400;color:var(--on-dark-soft);font-size:12.5px}
.pc-row i{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);white-space:nowrap}
/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--dark-border);border:1px solid var(--dark-border);border-radius:var(--radius-card);overflow:hidden}
.step{background:var(--dark);padding:30px;display:flex;flex-direction:column;gap:10px}
.step__n{font-family:var(--font-heading);font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--accent)}
.step h3{font-size:19px;color:var(--on-dark)}.step p{font-size:14px;color:var(--on-dark-soft)}
.step--manual{background:var(--dark-alt)}
.step__tag{align-self:flex-start;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:3px 9px}
.steps--light{background:var(--border);border-color:var(--border)}.steps--light .step{background:var(--paper)}.steps--light .step h3{color:var(--ink)}.steps--light .step p{color:var(--ink-soft)}.steps--light .step__n{color:var(--accent-deep)}.steps--light .step--manual{background:var(--accent-tint)}.steps--light .step__tag{color:var(--accent-deep);border-color:var(--accent-deep)}
/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split__copy{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.split__img{aspect-ratio:4/5}
.feats{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}
.feat{border:1px solid var(--border);border-radius:var(--radius-card);padding:18px;background:var(--paper)}
.feat b{display:block;font-family:var(--font-heading);font-size:15px;font-weight:600;margin-bottom:4px}.feat p{font-size:13.5px;color:var(--ink-soft)}
/* report preview */
.rep{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-raised);overflow:hidden}
.rep__bar{background:var(--dark);color:var(--on-dark);padding:16px 24px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.rep__bar b{font-family:var(--font-heading);font-size:13px;letter-spacing:.14em;text-transform:uppercase}.rep__bar .mono{color:var(--on-dark-soft)}
.rep__body{padding:6px 24px 20px}
.marker{padding:18px 0;border-bottom:1px solid var(--border)}.marker:last-child{border-bottom:0}
.marker__top{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.marker__top h4{font-size:15px;font-weight:600;letter-spacing:0}
.marker__note{font-size:13.5px;color:var(--ink-soft);margin-top:12px}
/* reviews */
.review{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:28px;display:flex;flex-direction:column;gap:14px}
.review blockquote{margin:0;font-size:15.5px;line-height:1.6;flex:1;text-wrap:pretty}
.review__who{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--border)}
.av{width:40px;height:40px;border-radius:50%;background:var(--surface-alt);display:grid;place-items:center;font-family:var(--font-heading);font-size:13px;font-weight:600;color:var(--ink-soft);flex:none}
.review__who b{display:block;font-size:14px}.review__who small{color:var(--muted);font-size:13px}
/* faq / accordions */
.acc{border-top:1px solid var(--border)}
.acc details{border-bottom:1px solid var(--border)}
.acc summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--font-heading);font-size:16.5px;font-weight:600;letter-spacing:-.01em}
.acc summary::-webkit-details-marker{display:none}.acc summary:hover{color:var(--accent-deep)}
.pm{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--border);position:relative}
.pm::before,.pm::after{content:"";position:absolute;left:50%;top:50%;background:var(--ink);border-radius:1px}
.pm::before{width:11px;height:1.6px;margin:-.8px 0 0 -5.5px}.pm::after{width:1.6px;height:11px;margin:-5.5px 0 0 -.8px;transition:.2s}
details[open]>summary .pm::after{transform:scaleY(0)}
.acc__body{padding-bottom:22px;font-size:14.5px;color:var(--ink-soft);display:flex;flex-direction:column;gap:12px;max-width:68ch}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
/* cta band */
.cta{background:var(--hero-bg);color:var(--on-hero);padding:92px 0;text-align:center}
.cta .wrap{display:flex;flex-direction:column;align-items:center;gap:22px}.cta h2{color:var(--on-hero)}.cta h2 span{color:var(--accent)}.cta .lead{color:var(--on-hero-soft);max-width:560px}.cta .ctas{justify-content:center}
/* category */
.cat{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start;padding:44px 0 90px}
.filters{display:flex;flex-direction:column;gap:6px;position:sticky;top:100px}
.fgroup{border-bottom:1px solid var(--border);padding:16px 0}
.fgroup>b{display:block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.fopt{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-soft);padding:5px 0;cursor:pointer}
.fopt input{width:18px;height:18px;accent-color:var(--accent-deep);margin:0}.fopt span{margin-left:auto;color:var(--muted);font-size:12.5px}
.ffilter{display:none}
.sortbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;font-size:14px;color:var(--ink-soft);flex-wrap:wrap}
.sortbar select{height:42px;border:1px solid var(--border);border-radius:var(--radius-input);padding:0 16px;font:inherit;font-size:14px;background:var(--paper);color:var(--ink)}
.active-f{display:flex;gap:8px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--ink);background:var(--paper)}
.pill[aria-pressed="true"],.pill.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pager{display:flex;justify-content:center;gap:6px;margin-top:44px}
.pager a{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-button);color:var(--ink);font-weight:700;font-size:14px}
.pager a[aria-current]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.cmp{width:100%;border-collapse:collapse;font-size:14px;background:var(--paper);border-radius:var(--radius-card);overflow:hidden}
.cmp th,.cmp td{padding:14px 18px;border-bottom:1px solid var(--border);text-align:left}
.cmp th{font-family:var(--font-heading);font-size:15px;font-weight:600}.cmp td:not(:first-child),.cmp th:not(:first-child){text-align:center}
.cmp td svg{width:18px;height:18px;stroke:var(--accent-deep);fill:none;stroke-width:2.4}
.cmp thead th{background:var(--dark);color:var(--on-dark)}
/* PDP */
.pdp{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;padding:36px 0 90px}
.gal{display:flex;flex-direction:column;gap:12px;position:sticky;top:100px}
.gal__main{aspect-ratio:1/1}
.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.thumbs .ph{aspect-ratio:1/1;border:1.5px solid transparent}.thumbs .ph.is-on{border-color:var(--ink)}
.buy{display:flex;flex-direction:column;gap:20px}
.buy__rating{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-soft)}
.buy__price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.buy__price b{font-family:var(--font-heading);font-size:36px;font-weight:600;letter-spacing:-.03em}.buy__price s{color:var(--muted);font-size:18px}
.buy__price small{font-size:13.5px;color:var(--ink-soft)}
.opt-label{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;display:flex;justify-content:space-between;gap:10px}
.opt-label span{font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink-soft);font-size:13px}
.vopts{display:flex;flex-direction:column;gap:10px}
.vopt{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:1.5px solid var(--border);border-radius:var(--radius-card);padding:16px 18px;cursor:pointer;background:var(--paper);transition:.15s}
.vopt input{position:absolute;opacity:0}
.vopt__dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);position:relative}
.vopt b{display:block;font-size:15px}.vopt small{display:block;font-size:13px;color:var(--ink-soft)}
.vopt__fee{font-family:var(--font-heading);font-weight:600;font-size:15px;white-space:nowrap}
.vopt:hover{border-color:var(--ink)}
.vopt:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.vopt:has(input:checked) .vopt__dot{border-color:var(--ink)}.vopt:has(input:checked) .vopt__dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent)}
.vopt.is-off{opacity:.5;cursor:not-allowed}
.vgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.vgrid .vopt{grid-template-columns:1fr;text-align:left;gap:4px;padding:16px}
.vgrid .vopt__dot{display:none}
.pcbox{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:18px}
.pcbox__form{display:flex;gap:8px}
.pcbox__form input{flex:1;min-width:0;height:46px;border-radius:var(--radius-input);border:1px solid var(--border);padding:0 18px;font:inherit;font-weight:700;letter-spacing:.08em;background:var(--paper);color:var(--ink)}
.pcbox__ok{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink-soft);margin-top:14px}
.pcbox__ok svg{width:18px;height:18px;stroke:var(--accent-deep);fill:none;stroke-width:2.4;flex:none;margin-top:2px}
.pcbox__ok b{color:var(--ink)}
.addrow{display:flex;gap:12px}
.qty{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:var(--radius-button);height:52px;flex:none}
.qty button{width:44px;height:100%;display:grid;place-items:center;font-size:18px;color:var(--ink)}
.qty span{width:30px;text-align:center;font-weight:700}
.addrow .btn{flex:1}
.paynote{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-soft)}
.paynote svg{width:18px;height:18px;stroke:var(--ink-soft);fill:none;stroke-width:1.8;flex:none}
.booknote{display:flex;gap:14px;border-radius:var(--radius-card);background:var(--accent-tint);padding:18px;font-size:14px;color:var(--ink)}
.booknote svg{width:22px;height:22px;stroke:var(--accent-deep);fill:none;stroke-width:1.8;flex:none;margin-top:1px}
.booknote b{display:block;margin-bottom:3px}
/* about page: founder badge + story in columns, 21 Oct 2026 */
.split__img{position:relative}.split__badge{position:absolute;right:-18px;bottom:-18px;width:132px;height:132px;border-radius:50%;object-fit:cover;border:4px solid var(--bg);box-shadow:0 10px 30px rgba(10,22,34,.18)}
.story__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.story__head{position:sticky;top:96px;display:flex;flex-direction:column;gap:14px}
.story__grid--full{grid-template-columns:1fr}.story__grid--full .story__body{column-gap:56px;max-width:1040px}
.story__body{columns:2;column-gap:40px;font-size:15.5px;line-height:1.7;color:var(--ink-soft)}.story__body p{margin:0 0 16px;break-inside:avoid}.story__body p:first-child{font-size:17px;color:var(--ink)}
.story__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}
.story__stat b{display:block;font-family:var(--font-heading);font-size:34px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.story__stat span{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.story__quote{margin:36px 0 0;font-family:var(--font-heading);font-size:clamp(20px,2.4vw,28px);font-weight:700;letter-spacing:.08em;color:var(--accent-deep)}
@media (max-width:900px){.story__grid{grid-template-columns:1fr;gap:28px}.story__head{position:static}.story__body{columns:1}.story__stats{grid-template-columns:1fr 1fr 1fr;gap:12px}.story__stat b{font-size:26px}.split__badge{width:96px;height:96px;right:-8px;bottom:-8px}}
/* promo ticket (buy box) + offer band (landing), 21 Oct 2026 */
.promo{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-tint);border-radius:var(--radius-card);font-size:13px;color:var(--ink)}
.promo>svg{width:22px;height:22px;stroke:var(--accent-deep);fill:none;stroke-width:2;flex:none}
.promo__text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.promo__text b{font-size:14.5px}.promo__text span{color:var(--ink-soft)}
.promo__code{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1.5px dashed var(--accent-deep);border-radius:10px;background:var(--bg);color:var(--ink);font-family:ui-monospace,Menlo,monospace;font-size:13px;font-weight:700;letter-spacing:.08em;cursor:pointer;white-space:nowrap}
.promo__code svg{width:15px;height:15px;stroke:var(--accent-deep);fill:none;stroke-width:2;flex:none}
@media (max-width:560px){.promo{flex-wrap:wrap}.promo__code{width:100%;justify-content:center}}
.promoband{background:var(--dark);color:var(--on-dark);border-top:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}
.promoband .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:34px;padding-bottom:34px;flex-wrap:wrap}
.promoband__lead{display:flex;align-items:center;gap:20px;min-width:0;flex:1 1 520px}
.promoband__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;flex:none;border-radius:16px;background:color-mix(in srgb,var(--accent) 14%,transparent)}.promoband__icon svg{width:26px;height:26px;stroke:var(--accent);fill:none;stroke-width:2}
.promoband .eyebrow{color:var(--accent);margin:0}.promoband h2{color:#fff;font-size:clamp(22px,2.4vw,30px);margin:6px 0 4px}.promoband p{margin:0;color:#b7c6d1;font-size:14px}
.promoband__actions{display:flex;align-items:center;gap:14px;flex:none;flex-wrap:wrap}
.promoband .promo__code{background:rgba(255,255,255,.04);color:#fff;border-color:color-mix(in srgb,var(--accent) 80%,transparent);min-height:48px}.promoband .promo__code svg{stroke:var(--accent)}

.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{font-size:12.5px;border:1px solid var(--border);border-radius:999px;padding:4px 10px;color:var(--ink-soft);background:var(--paper)}
.sysgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sys{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:22px;display:flex;flex-direction:column;gap:10px}
.sys h3{font-size:16px;font-weight:600;letter-spacing:0;text-transform:none}.sys p{font-size:13px;color:var(--ink-soft)}
.sys__n{font-family:var(--font-heading);font-size:28px;font-weight:600;color:var(--accent-deep);line-height:1}
/* cart */
.cart{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:start;padding:40px 0 90px}
.line{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:22px;padding:24px 0;border-bottom:1px solid var(--border);align-items:start}
.line:first-child{border-top:1px solid var(--border)}
.line .ph{aspect-ratio:1/1}
.line h3{font-size:18px;font-weight:600;letter-spacing:-.01em;text-transform:none}
.line__meta{font-size:13.5px;color:var(--ink-soft);margin-top:4px}
.line__acts{display:flex;align-items:center;gap:18px;margin-top:16px}
.line__acts .qty{height:42px}.line__acts a{font-size:13px;color:var(--ink-soft);text-decoration:underline}
.line__price{font-family:var(--font-heading);font-size:18px;font-weight:600;text-align:right}.line__price small{display:block;font-family:var(--font-body);font-size:12.5px;font-weight:500;color:var(--muted)}
.summary{background:var(--surface);border-radius:var(--radius-card);padding:28px;display:flex;flex-direction:column;gap:14px;position:sticky;top:100px}
.summary h2{font-size:20px;text-transform:var(--heading-case)}
.srow{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;color:var(--ink-soft)}
.srow--total{border-top:1px solid var(--border);padding-top:16px;font-size:17px;color:var(--ink);font-weight:700}
.srow--total b{font-family:var(--font-heading);font-size:24px}
.codefield{display:flex;gap:8px}.codefield input{flex:1;min-width:0;height:46px;border:1px solid var(--border);border-radius:var(--radius-input);padding:0 16px;font:inherit;background:var(--paper)}
/* forms */
.field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}
.field textarea{height:140px;padding:14px 20px;border-radius:var(--radius-card);resize:vertical}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}
/* contact */
.bookcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.bookcard{background:var(--dark);color:var(--on-dark);border-radius:var(--radius-card);padding:32px;display:flex;flex-direction:column;gap:10px}
.bookcard svg{width:28px;height:28px;stroke:var(--accent);fill:none;stroke-width:1.7}
.bookcard small{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-soft)}
.bookcard a{font-family:var(--font-heading);font-size:clamp(22px,2.4vw,30px);font-weight:600;color:var(--on-dark);letter-spacing:-.02em;word-break:break-word}.bookcard a:hover{color:var(--accent)}
.bookcard p{font-size:14px;color:var(--on-dark-soft)}
.hours{display:flex;flex-direction:column;font-size:14px}
.hours div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.hours b{font-weight:700}
.card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:28px}
.card h3{font-size:18px;font-weight:600;text-transform:none;letter-spacing:-.01em}
.numlist{display:flex;flex-direction:column;gap:14px;counter-reset:n}
.numlist li{display:flex;gap:14px;font-size:14.5px;color:var(--ink-soft);counter-increment:n}
.numlist li::before{content:counter(n);flex:none;width:28px;height:28px;border-radius:50%;background:var(--accent-tint);color:var(--accent-deep);font-weight:700;font-size:13px;display:grid;place-items:center}
/* clinics */
.clinics{display:grid;grid-template-columns:420px minmax(0,1fr);gap:28px;align-items:start}
.clist{display:flex;flex-direction:column;gap:12px}
.clinic{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px;display:flex;flex-direction:column;gap:8px}
.clinic__top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.clinic h3{font-size:16px;font-weight:600;text-transform:none;letter-spacing:0}.clinic__d{font-size:13px;font-weight:700;color:var(--accent-deep);white-space:nowrap}
.clinic p{font-size:13.5px;color:var(--ink-soft)}
.clinic.is-on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.map{aspect-ratio:4/3;position:sticky;top:100px}
.regions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.region b{display:block;font-family:var(--font-heading);font-size:15px;margin-bottom:10px}
.region a{display:block;font-size:14px;color:var(--ink-soft);padding:4px 0}.region a:hover{color:var(--accent-deep)}
/* articles */
.art{display:flex;flex-direction:column;gap:14px;color:var(--ink)}.art:hover{color:var(--ink)}
.art .ph{aspect-ratio:3/2}
.art__meta{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep)}
.art h3{font-size:19px;font-weight:600;text-transform:none;letter-spacing:-.015em}
.art p{font-size:14px;color:var(--ink-soft)}.art:hover h3{color:var(--accent-deep)}
.az{display:flex;flex-wrap:wrap;gap:8px}
.az a{min-width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--dark-border);border-radius:var(--radius-button);color:var(--on-dark);font-weight:700;padding:0 12px}.az a:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
/* quiz */
.quiz{max-width:760px;margin:0 auto;padding:56px 0 90px;display:flex;flex-direction:column;gap:28px}
.qprog{display:flex;flex-direction:column;gap:10px;font-size:13px;font-weight:700;color:var(--ink-soft)}
.qbar{height:6px;border-radius:999px;background:var(--surface-alt);overflow:hidden}.qbar i{display:block;height:100%;width:33%;background:var(--accent)}
.qopts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qopt{position:relative;border:1.5px solid var(--border);border-radius:var(--radius-card);padding:20px;cursor:pointer;background:var(--paper);display:flex;gap:14px;align-items:flex-start}
.qopt input{position:absolute;opacity:0}
.qopt svg{width:26px;height:26px;stroke:var(--accent-deep);fill:none;stroke-width:1.7;flex:none}
.qopt b{display:block;font-size:15.5px}.qopt small{font-size:13px;color:var(--ink-soft)}
.qopt:hover{border-color:var(--ink)}.qopt:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);background:var(--accent-tint)}
.qnav{display:flex;justify-content:space-between;gap:12px;align-items:center}
/* account (Astrocart account structure: sidebar + content) */
.acct{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:start;padding-top:48px;padding-bottom:96px}
.anav-wrap{position:sticky;top:100px}.anav-toggle{display:none}
.anav{display:flex;flex-direction:column;gap:2px}
.anav a{display:flex;align-items:center;gap:13px;padding:11px 14px;border-radius:10px;color:var(--ink);font-size:15px;font-weight:600}
.anav a svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;flex:none}
.anav a:hover{background:var(--surface);color:var(--ink)}.anav a[aria-current]{background:var(--ink);color:var(--paper)}
.anav hr{border:0;border-top:1px solid var(--border);margin:10px 0}
.amain{display:flex;flex-direction:column;gap:24px;min-width:0}
.ahead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--border)}
.ahead h1{font-size:clamp(26px,2.6vw,34px);text-transform:var(--heading-case)}
.ahead p{color:var(--ink-soft);margin-top:6px}
.action{background:var(--dark);color:var(--on-dark);border-radius:var(--radius-card);padding:28px 30px;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center}
.action__ic{width:52px;height:52px;border-radius:50%;background:var(--accent);display:grid;place-items:center}
.action__ic svg{width:24px;height:24px;stroke:var(--on-accent);fill:none;stroke-width:2}
.action small{font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.action h2{font-size:21px;color:var(--on-dark);margin:4px 0}.action p{font-size:14px;color:var(--on-dark-soft)}
.action__btns{display:flex;flex-direction:column;gap:8px}
.jtrack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative}
.jstep{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;position:relative;padding:0 8px}
.jstep::before{content:"";position:absolute;top:18px;left:-50%;right:50%;height:2px;background:var(--border)}
.jstep:first-child::before{display:none}
.jstep.is-done::before,.jstep.is-now::before{background:var(--accent)}
.jdot{position:relative;z-index:1;width:38px;height:38px;border-radius:50%;background:var(--paper);border:2px solid var(--border);display:grid;place-items:center;font-family:var(--font-heading);font-weight:700;font-size:14px;color:var(--muted)}
.is-done .jdot{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.is-now .jdot{border-color:var(--accent);color:var(--accent-deep);box-shadow:0 0 0 5px var(--accent-tint)}
.jstep b{font-size:14px}.jstep small{font-size:12.5px;color:var(--ink-soft)}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tile{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:22px;display:flex;gap:14px;align-items:flex-start;color:var(--ink)}.tile:hover{border-color:var(--ink);color:var(--ink)}
.tile svg{width:24px;height:24px;stroke:var(--accent-deep);fill:none;stroke-width:1.7;flex:none}
.tile b{display:block;font-size:15.5px}.tile small{font-size:13px;color:var(--ink-soft)}
.rows{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.rowi{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--border)}
.rowi b{display:block;font-size:15px}.rowi small{font-size:13px;color:var(--ink-soft)}
.rowi__price{font-family:var(--font-heading);font-weight:600;text-align:right}
.order{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}
.order__head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.order__head h3{font-size:18px;font-weight:600;text-transform:none;letter-spacing:-.01em}
.order__head small{display:block;font-size:13px;color:var(--ink-soft);margin-top:2px}
.order__body{padding:24px;display:flex;flex-direction:column;gap:22px}
.otrack{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.otrack .jstep b{font-size:13px}.otrack .jdot{width:30px;height:30px;font-size:12px}.otrack .jstep::before{top:14px}
.order__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kv{background:var(--surface);border-radius:var(--radius-card);padding:18px;font-size:14px;display:flex;flex-direction:column;gap:6px}
.kv small{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.kv b{font-size:15px}
.sub{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:22px;align-items:center;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:22px}
.sub .ph{aspect-ratio:1/1}
.sub h3{font-size:18px;font-weight:600;text-transform:none;letter-spacing:-.01em}
.sub__meta{display:flex;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-soft);margin-top:6px}
.sub__acts{display:flex;flex-direction:column;gap:8px}
/* report */
.rbar{background:var(--paper);border-bottom:1px solid var(--border);position:sticky;top:78px;z-index:50}
.rbar .wrap{display:flex;align-items:center;gap:20px;height:62px}
.rbar__who{font-size:13.5px;color:var(--ink-soft);white-space:nowrap;padding-right:20px;border-right:1px solid var(--border)}
.rbar__who b{color:var(--ink)}
.rtabs{display:flex;gap:4px;flex:1;overflow-x:auto}
.rtabs a{padding:8px 14px;border-radius:var(--radius-button);font-size:14px;font-weight:600;color:var(--ink-soft);white-space:nowrap}
.rtabs a:hover{color:var(--ink);background:var(--surface)}.rtabs a[aria-current]{background:var(--accent-tint);color:var(--accent-deep)}
.rbar__acts{display:flex;gap:8px}
.rwrap{max-width:960px;margin:0 auto;padding:0 var(--gutter)}
.rsec{padding:56px 0 8px;scroll-margin-top:150px}
.rsec>.eyebrow{display:block;margin-bottom:10px}.rsec>h2{font-size:clamp(24px,2.6vw,34px);text-transform:var(--heading-case)}.rsec>.lead{margin-top:8px;font-size:15.5px}
.rsec__body{margin-top:26px}
.alert{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;border:1px solid var(--sale);background:var(--sale-tint);border-radius:var(--radius-card);padding:20px 22px}
.alert__ic{width:44px;height:44px;border-radius:12px;background:var(--paper);display:grid;place-items:center}
.alert__ic svg{width:22px;height:22px;stroke:var(--sale-ink);fill:none;stroke-width:1.9}
.alert b{display:block;font-size:15.5px}.alert p{font-size:14px;color:var(--ink-soft)}
.btn--flag{background:var(--paper);color:var(--sale-ink);border-color:var(--sale)}.btn--flag:hover{background:var(--sale);color:#fff;border-color:var(--sale)}
.rhead{background:var(--dark);color:var(--on-dark);border-radius:var(--radius-card);padding:40px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.rhead h2{font-size:clamp(36px,4vw,54px);color:var(--on-dark);text-transform:var(--heading-case)}
.rhead p{color:var(--on-dark-soft);max-width:48ch;margin-top:10px}
.rstats{display:flex;gap:34px;margin-top:26px;flex-wrap:wrap}.rhead>.rstats{margin-top:0}
.rstats div{display:flex;flex-direction:column}.rstats b{font-family:var(--font-heading);font-size:34px;font-weight:600;line-height:1}
.rstats small{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-soft);margin-top:6px}
.c-opt{color:var(--accent)}.c-ok{color:var(--warn)}.c-flag{color:#ff8a6b}
.ring{width:200px;height:200px;position:relative}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:14}
.ring__bg{stroke:var(--dark-border)}.ring__fg{stroke:var(--accent);stroke-linecap:round}
.ring__txt{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.ring__txt b{font-family:var(--font-heading);font-size:52px;font-weight:600;line-height:1;letter-spacing:-.03em}.ring__txt small{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-soft);margin-top:6px}
.sysc{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;color:var(--ink)}.sysc:hover{border-color:var(--ink);color:var(--ink)}
.sysc__ic{width:42px;height:42px;border-radius:10px;background:var(--accent-tint);display:grid;place-items:center}
.sysc__ic svg{width:21px;height:21px;stroke:var(--accent-deep);fill:none;stroke-width:1.8}
.sysc--flag .sysc__ic{background:var(--sale-tint)}.sysc--flag .sysc__ic svg{stroke:var(--sale-ink)}
.sysc b{display:block;font-size:15px}.sysc small{font-size:12.5px;color:var(--ink-soft)}
.rsys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rsys .sysc{padding:14px 16px;min-height:74px}.rsys .sysc b{font-size:14.5px;line-height:1.3}.rsys .sysc small{display:block;margin-top:2px}
.rchip{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;line-height:1;padding:6px 9px;border-radius:7px;white-space:nowrap}.rchip--opt{background:var(--accent-tint);color:var(--accent-deep)}.rchip--flag{background:var(--sale-tint);color:var(--sale-ink)}
.find{background:var(--paper);border:1px solid var(--border);border-top:3px solid var(--sale);border-radius:var(--radius-card);padding:22px}
.find--opt{border-top-color:var(--accent)}
.find__top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.find__top b{font-size:15.5px}
.find .find__val{font-family:var(--font-heading);font-size:26px;font-weight:600;margin-top:8px;color:var(--ink)}.find .find__val small{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--ink-soft);margin-left:4px}
.find p{font-size:13.5px;color:var(--ink-soft);margin-top:12px}
.prose{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:32px 34px;display:flex;flex-direction:column;gap:16px;font-size:15.5px;line-height:1.75;color:var(--ink-soft)}
.prose b{color:var(--ink)}
.clin{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid var(--border);font-size:13.5px}
.nlist{display:flex;flex-direction:column;gap:12px}
.nitem{display:grid;grid-template-columns:auto 1fr;gap:18px;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px 22px;font-size:14.5px;color:var(--ink-soft)}
.nitem__n{width:40px;height:40px;border-radius:10px;background:var(--sale-tint);color:var(--sale-ink);display:grid;place-items:center;font-family:var(--font-heading);font-weight:700;font-size:14px}
.nitem b{color:var(--ink);display:block;margin-bottom:4px;font-size:15px}
.nlist--gp .nitem__n{background:var(--surface);color:var(--ink)}
.nlist--act .nitem__n{background:var(--accent-tint);color:var(--accent-deep)}
.rfilter{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.rfilter input[type=search]{flex:1;min-width:200px;height:44px;border:1px solid var(--border);border-radius:var(--radius-input);padding:0 18px;font:inherit;background:var(--paper)}
.rfilter input[type=radio]{position:absolute;opacity:0}
.rfilter label{height:44px;display:inline-flex;align-items:center;padding:0 18px;border:1px solid var(--border);border-radius:var(--radius-button);font-weight:700;font-size:14px;cursor:pointer;background:var(--paper)}
.rfilter input:checked+label{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.rgroups{display:flex;flex-direction:column;gap:10px}
.rgroup{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}
.rgroup>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;font-size:13.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.rgroup>summary::-webkit-details-marker{display:none}
.rgroup>summary>span{display:flex;white-space:nowrap;gap:14px;align-items:center;font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink-soft);font-weight:600}
.rgroup>summary em{font-style:normal;color:var(--sale-ink);font-weight:700}
.rgroup__body{padding:0 14px 14px;display:flex;flex-direction:column;gap:8px}
.mk{border:1px solid var(--border);border-radius:calc(var(--radius-card) - 4px);background:var(--surface)}
.mk--flag{background:var(--sale-tint);border-color:#f2c9bc}
.mk>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:12px minmax(0,1fr) 260px 120px 20px;gap:16px;align-items:center;padding:14px 16px}
.mk>summary::-webkit-details-marker{display:none}
.mk__dot{width:10px;height:10px;border-radius:50%;background:var(--accent-deep)}.mk--flag .mk__dot{background:var(--sale)}
.mk__name b{display:block;font-size:15px}.mk__name small{font-size:13px;color:var(--ink-soft)}
.mk .scale{margin-top:0}
.mk .tag{justify-self:end;min-width:120px;justify-content:center}
.chev{width:18px;height:18px;stroke:var(--ink-soft);fill:none;stroke-width:2;transition:.2s}
details[open]>summary .chev{transform:rotate(180deg)}
.mk__body{padding:4px 16px 18px 44px;display:flex;flex-direction:column;gap:14px;font-size:14px;color:var(--ink-soft)}
.mk__body b{color:var(--ink)}
.ranges{display:flex;gap:8px;flex-wrap:wrap}
.ranges div{background:var(--paper);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px}
.ranges small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rs:has(#rf-flag:checked) .mk:not(.mk--flag){display:none}
.rs:has(#rf-opt:checked) .mk.mk--flag{display:none}
.rfoot{text-align:center;padding:48px 0 70px;font-size:12.5px;color:var(--muted);display:flex;flex-direction:column;gap:6px}
/* responsive */
@media(max-width:1100px){
.hdr .wrap{grid-template-columns:auto 1fr auto;grid-template-areas:"menu logo utils" "search search search";height:auto;padding-top:10px;padding-bottom:12px;row-gap:10px;column-gap:10px}
.nav,.hdr__phone{display:none}.mmenu{display:block}.search{width:100%}.logo{justify-content:center}
.trust .wrap,.grid-4,.pgrid,.pgrid--3,.sysgrid,.regions{grid-template-columns:repeat(2,minmax(0,1fr))}
.steps{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero .wrap,.split,.pc,.faq-layout,.pdp,.cart,.clinics,.rhead{grid-template-columns:minmax(0,1fr);gap:36px}
.gal,.buy,.split__img,.split__copy{min-width:0}
.gal,.summary,.map,.filters{position:static}
.ftr__top{grid-template-columns:1fr 1fr;gap:34px}
.cat{grid-template-columns:1fr;gap:0}
.cat .filters{display:none}
.ffilter{display:block;margin-bottom:18px}
.ffilter summary{list-style:none;cursor:pointer}.ffilter summary::-webkit-details-marker{display:none}
.ffilter[open] .ffilter__panel{display:block}
.ffilter__panel{border:1px solid var(--border);border-radius:var(--radius-card);padding:6px 18px 18px;margin-top:10px;background:var(--paper)}
.acct{grid-template-columns:1fr;gap:24px}
.anav-wrap{position:static}
.anav-toggle{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:13px 16px;border:1px solid var(--border);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;font-size:15px;font-weight:600;text-align:left;cursor:pointer}
.anav-toggle svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;flex:none}.anav-toggle span{flex:1;min-width:0}
.anav-toggle__chev{transition:transform .2s}.anav-toggle__chev.is-open{transform:rotate(180deg)}
.anav{display:none;margin-top:8px;padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--paper)}.anav.is-open{display:flex}
.rbar{top:118px}.rbar__who{display:none}
.mk>summary{grid-template-columns:12px minmax(0,1fr) 120px 20px}.mk .scale,.mk__noscale{display:none}
}
@media(max-width:760px){
:root,html.dir-b{--gutter:20px}
.band{padding:64px 0}.hero{padding:48px 0 60px}.cta{padding:64px 0}
.ann .wrap{gap:14px;font-size:11.5px}.ann span:nth-child(n+2){display:none}
.trust .wrap,.grid-2,.grid-3,.grid-4,.steps,.sysgrid,.rsys,.feats,.bookcards,.tiles,.order__grid,.qopts,.form-grid,.regions,.jtrack{grid-template-columns:1fr}
.pgrid,.pgrid--3{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pcard__body{padding:14px}.pcard__title{font-size:16px}.pcard__price b{font-size:18px}.pcard__cta{display:none}
.ctas .btn{width:100%}.pc{padding:26px}.opt,.review,.step,.card{padding:22px}
.sec-head{margin-bottom:32px}
.ftr__top{grid-template-columns:1fr}
.line{grid-template-columns:84px minmax(0,1fr);gap:16px}.line__price{grid-column:2;text-align:left}
.vgrid{grid-template-columns:1fr}
.action{grid-template-columns:1fr;padding:24px}.action__btns{flex-direction:row;flex-wrap:wrap}
.jtrack{gap:14px}.jstep{flex-direction:row;text-align:left;align-items:center}.jstep::before{display:none}
.otrack{grid-template-columns:1fr;gap:10px}
.rowi{grid-template-columns:1fr auto}.rowi .tag{display:none}
.sub{grid-template-columns:64px 1fr}.sub__acts{grid-column:1/-1;flex-direction:row}
.rhead{padding:26px}.ring{width:150px;height:150px}.ring__txt b{font-size:40px}
.alert{grid-template-columns:1fr}.rbar__acts .btn span{display:none}
.mk__body{padding-left:16px}.prose{padding:22px}
.rhead>.rstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rstats small{letter-spacing:.1em}
.mk>summary{grid-template-columns:10px minmax(0,1fr) auto 14px;gap:10px;padding:12px 14px}.mk .tag{min-width:0;padding:4px 8px;font-size:10px;letter-spacing:.06em}
.rgroup>summary{flex-wrap:wrap;row-gap:8px;padding:16px 18px}.rgroup>summary>span{width:100%;justify-content:flex-start}.rgroup>summary>span .chev{margin-left:auto}
}


/* ═══ PLATFORM ADAPTATIONS ═══
   From platform-adapt.css — reconciliations between the design's
   markup assumptions and the platform's. Keep this list short;
   each entry should name why the design rule needs scoping. */
/* ── CHROME ZONES (header / footer are the zone builders: rows / columns /
   widgets rendered as #block-<id> with data-sub-element hooks). The rules
   below map that DOM onto the design's .ann / .hdr / .ftr anatomy so the zones
   stay merchant-editable AND pixel-faithful. The logo, announcement, lifeline
   divider, booking column, accreditation strip and legal links are html
   blocks carrying the design's own markup, so their classes land as-is. ── */

/* .hdr — sticky; the announcement row scrolls away first (negative top = the
   zone sticks with its announcement already off-screen, so only the main row
   stays pinned, exactly like the design's sticky .hdr under a static .ann) */
#site-header{position:sticky;top:calc(-1 * var(--ann-h, 36px));z-index:60;background:var(--paper);border-bottom:1px solid var(--border)}
#site-header .v3-custom-section{position:relative}
#block-hdr-row-ann{max-width:none!important}
#block-hdr-ann .ann{margin:0}
/* .nav */
#block-hdr-menu{display:flex;align-items:center;gap:22px;position:static}
#block-hdr-menu>[data-nav-item]{display:flex;align-items:center;position:relative}
#block-hdr-menu [data-sub-element^="menu-link"],#block-hdr-menu a[data-nav-parent]{display:block!important;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;padding:6px 0;transition:color .15s}
#block-hdr-menu [data-sub-element^="menu-link"]:hover,#block-hdr-menu a[data-nav-parent]:hover{color:var(--accent-deep)}
#block-hdr-menu [data-sub-element^="menu-link"][aria-current],#block-hdr-menu a[aria-current="page"]{color:var(--accent-deep);box-shadow:inset 0 -2px 0 var(--accent)}
#block-hdr-menu [data-sub-element="menu-badge"],#mobile-drawer [data-sub-element="menu-badge"]{display:none!important}
#block-hdr-menu svg[data-nav-chevron]{display:none}
#block-hdr-menu>details[data-nav-accordion]{display:none}
/* .search */
#block-hdr-search [data-sub-element="search-form"],#block-hdr-mob-search [data-sub-element="search-form"]{display:flex;align-items:center;gap:9px;margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-input);padding:0 16px;height:42px;width:100%;min-width:0;color:var(--muted)}
#block-hdr-search [data-sub-element="search-form"]:focus-within,#block-hdr-mob-search [data-sub-element="search-form"]:focus-within{border-color:var(--ink)}
#block-hdr-search [data-sub-element="icon"],#block-hdr-mob-search [data-sub-element="icon"]{position:static!important;display:inline-flex;flex:0 0 auto;color:var(--muted);transform:none!important;width:16px;height:16px}
#block-hdr-search [data-sub-element="icon"] svg,#block-hdr-mob-search [data-sub-element="icon"] svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:2}
#block-hdr-search [data-sub-element="input"],#block-hdr-mob-search [data-sub-element="input"]{flex:1;min-width:0;border:0!important;outline:0;background:transparent!important;padding:0!important;font:inherit;font-size:14px;color:var(--ink);box-shadow:none!important}
#block-hdr-search [data-sub-element="input"]::placeholder,#block-hdr-mob-search [data-sub-element="input"]::placeholder{color:var(--muted)}
/* .hdr__phone is an html block carrying the design markup (the header-phone widget forces a colon after its label — platform gap G09) */
/* .icon-btn (account + basket, desktop and mobile) */
#block-hdr-col-utils [data-sub-element="container"],#block-hdr-mob-col-utils [data-sub-element="container"]{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--ink);position:relative;text-decoration:none;background:none;border:0;padding:0;transition:background .15s}
#block-hdr-col-utils [data-sub-element="container"]:hover,#block-hdr-mob-col-utils [data-sub-element="container"]:hover{background:var(--surface);color:var(--ink)}
#block-hdr-col-utils [data-sub-element="icon"],#block-hdr-mob-col-utils [data-sub-element="icon"]{width:20px;height:20px;display:inline-flex}
#block-hdr-col-utils [data-sub-element="icon"] svg,#block-hdr-mob-col-utils [data-sub-element="icon"] svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7}
#block-hdr-account [data-sub-element="label"],#block-hdr-cart [data-sub-element="label"],#block-hdr-mob-account [data-sub-element="label"],#block-hdr-mob-cart [data-sub-element="label"]{display:none}
#block-hdr-col-utils [data-sub-element="badge"],#block-hdr-mob-col-utils [data-sub-element="badge"]{position:absolute;top:1px;right:-1px;background:var(--accent)!important;color:var(--on-accent)!important;font-size:10px!important;font-weight:700;width:18px!important;height:18px!important;min-width:0!important;border-radius:50%!important;display:grid!important;place-items:center;padding:0!important;line-height:1!important}
/* mobile rows (.hdr at ≤1100 in the design: menu · logo · utils, then a full-width search row) */
#block-hdr-row-mobile [data-block-type="header-hamburger"] [data-sub-element="toggle"]{width:44px;height:44px;display:grid;place-items:center;color:var(--ink);background:none;border:0;padding:0}
#block-hdr-row-mobile [data-block-type="header-hamburger"] svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:2}
#block-hdr-mob-logo .logo{justify-content:center}
/* the design collapses at 1100px, the zone's own mobile switch is 768px — bridge the gap */
@media (max-width:1100px){
  #block-hdr-row-main{display:none!important}
  #block-hdr-row-mobile{display:grid!important}
  #block-hdr-row-mobile-search{display:flex!important}
  .ann .wrap{gap:14px;font-size:11.5px}
}
/* mobile drawer (platform mobile-drawer.js) styled like .mmenu__panel */
#mobile-drawer[data-menu-drawer]{background:var(--paper)!important;color:var(--ink)}
#mobile-drawer a[data-nav-accordion-child],#mobile-drawer summary[data-nav-accordion-summary],#mobile-drawer a[data-nav-parent]{display:block;padding:13px 14px;font-weight:600;color:var(--ink);border-radius:8px;text-decoration:none}
#mobile-drawer a[data-nav-accordion-child]:hover,#mobile-drawer a[data-nav-parent]:hover{background:var(--surface)}

/* .ftr */
footer[data-zone="footer"]{background:var(--dark);color:var(--on-dark)}
#block-ftr-row-ecg{max-width:none!important}
#block-ftr-ecg .ecg-band{margin:0}
footer[data-zone="footer"] .logo{color:var(--on-dark)}
footer[data-zone="footer"] .logo:hover{color:var(--on-dark)}
footer[data-zone="footer"] .logo__txt i{color:var(--on-dark-soft)}
#block-ftr-about-text{font-size:13.5px;color:var(--on-dark-soft);margin:18px 0 0;max-width:34ch;line-height:1.6}
#block-ftr-about-text p{margin:0}
/* the widget writes its defaults inline, so the design values need !important here */
footer[data-zone="footer"] [data-block-type="footer-links"] :is(h2,h3,h4,h5,[data-sub-element="footer-links-title"]){display:block;color:var(--accent)!important;font-family:var(--font-heading)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.2em!important;text-transform:uppercase!important;margin:0 0 16px!important}
footer[data-zone="footer"] [data-block-type="footer-links"] ul{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}
footer[data-zone="footer"] [data-sub-element="footer-links-link"]{display:block;font-size:14px!important;color:var(--on-dark-soft)!important;padding:6px 0!important;text-decoration:none!important;font-weight:400!important;transition:color .15s}
footer[data-zone="footer"] [data-sub-element="footer-links-link"]:hover{color:var(--accent)!important}
#block-ftr-row-accred{border-top:1px solid var(--dark-border)}
#block-ftr-accred .ftr__accred{border-top:0}
#block-ftr-row-bottom{border-top:1px solid var(--dark-border);font-size:12.5px;color:var(--on-dark-soft);padding-bottom:72px}
#block-ftr-copyright [data-sub-element="copy-text"],#block-ftr-credit [data-sub-element="credit"]{font-size:12.5px;color:var(--on-dark-soft)}
#block-ftr-credit [data-sub-element="credit"] a{color:inherit;text-decoration:none!important}
#block-ftr-credit [data-sub-element="credit"] a:hover{color:var(--accent)}
/* full-bleed rows: the zone style compiler drops calc()/max() paddings, so the
   design's .wrap (1280px, 36px gutters) is restated on the rows themselves */

/* ── CART DRAWER (cart-slider section; the design ships no drawer, so the
   platform's panel is dressed in the design's tokens: Sora headings, hairline
   rules, teal primary + ghost secondary pill buttons) ── */
[data-el="slider-panel"]{background:var(--bg)!important;color:var(--ink);font-family:var(--font-body)}
[data-el="slider-header"]{border-bottom:1px solid var(--border)!important;padding:22px 28px!important}
[data-el="slider-title"]{font-family:var(--font-heading)!important;font-size:22px!important;font-weight:500!important;letter-spacing:-.02em!important;text-transform:none!important;color:var(--ink)!important}
[data-el="slider-count"]{font-family:var(--font-body)!important;font-size:12px!important;letter-spacing:0!important;text-transform:none!important;color:var(--muted)!important}
[data-el="slider-close"]{color:var(--ink)!important;background:none!important}
[data-el="slider-items"]{padding:0 28px!important}
[data-el="slider-item"]{border-bottom:1px solid var(--border)!important;padding:20px 0!important;gap:16px!important}
[data-el="slider-item-image"]{width:72px!important;aspect-ratio:4/3;border-radius:10px!important;background:var(--surface-alt)!important;object-fit:cover!important}
[data-el="slider-item-name"]{font-family:var(--font-body)!important;font-size:15px!important;font-weight:600!important;line-height:1.3!important;color:var(--ink)!important}
[data-el="slider-item-variant"],[data-el="slider-item-option"],[data-el="slider-item-subscription"]{font-size:13px!important;color:var(--ink-soft)!important}
[data-el="slider-item-price"]{font-family:var(--font-heading)!important;font-size:18px!important;font-weight:500!important;color:var(--ink)!important}
[data-el="slider-item-qty"]{border:1px solid var(--border)!important;border-radius:var(--radius-input)!important;height:36px!important;background:var(--paper)!important}
[data-el="slider-qty-btn"]{color:var(--ink)!important;background:none!important;border:0!important;width:32px!important}
[data-el="slider-qty-value"]{font-size:13px!important;font-weight:700!important}
[data-el="slider-item-remove"]{font-size:12px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;text-decoration:underline!important;color:var(--ink-soft)!important}
[data-el="slider-footer"]{border-top:1px solid var(--border)!important;padding:22px 28px!important;background:var(--paper)!important}
[data-el="slider-subtotal-label"]{font-size:14px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink)!important}
[data-el="slider-subtotal-value"]{font-family:var(--font-heading)!important;font-size:22px!important;font-weight:500!important;color:var(--ink)!important}
[data-el="slider-shipping-note"]{font-size:12px!important;color:var(--muted)!important}
[data-el="slider-checkout-btn"]{background:var(--accent)!important;color:var(--on-accent)!important;border:1.5px solid var(--accent)!important;border-radius:var(--radius-button)!important;font-size:14px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;padding:15px 28px!important}
[data-el="slider-checkout-btn"]:hover{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--paper)!important}
[data-el="slider-view-cart-btn"]{background:transparent!important;color:var(--ink)!important;border:1.5px solid var(--border)!important;border-radius:var(--radius-button)!important;font-size:14px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;padding:14px 28px!important}
[data-el="slider-view-cart-btn"]:hover{border-color:var(--ink)!important}
[data-el="slider-empty"]{color:var(--ink-soft)!important;font-family:var(--font-heading)!important;font-size:20px!important}

/* ── SHARED STATE LINES the static design never drew (forms, lightbox) ── */
.form__note{font-size:13px;margin:0 0 14px}
.form__note--ok{color:var(--success)}
.form__note--err{color:var(--sale)}
.form__fine{font-size:12px;color:var(--muted);margin:12px 0 0}

/* ── PRODUCT CARD: the design's .pcard__link is one <a> around the card; ours is a div with the title
   as the link stretched over the card (no nested anchors), so the whole card still clicks through ── */
.pcard__link{cursor:pointer}
.pcard__title a{color:inherit;text-decoration:none}
.pcard__title a::after{content:"";position:absolute;inset:0;z-index:1}
.pcard__img{position:relative;overflow:hidden}
.pcard__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pcard__img.ph{display:grid;place-items:center}
.pcard__cta{z-index:2;pointer-events:none}
.pcard__rating .stars svg{width:13px;height:13px}
/* the design shows every card with a hover bar; the Product Card editor's quick-add toggle hides it */

/* ── CATEGORY LISTING (category-browse renders the design's .phead / .cat / .filters / .sortbar / .pager
   anatomy around the platform's live facets; the few platform controls the design never drew) ── */
.h1--page{font-size:clamp(32px,3.6vw,50px)}
.phead .accent{color:var(--accent)}
.fprice{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.fprice input{flex:1;min-width:0;height:40px;border:1px solid var(--border);border-radius:var(--radius-input);padding:0 14px;font:inherit;font-size:14px;background:var(--paper);color:var(--ink);outline:none}
.fprice input:focus{border-color:var(--ink)}
.cat--nofilters{grid-template-columns:minmax(0,1fr)}
.sortbar .pill[aria-hidden]{display:none}
.filter-swatches{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}
.filter-swatch{width:26px;height:26px;border-radius:50%;border:1px solid var(--border);cursor:pointer}
.filter-img-swatch{width:44px;height:44px;border-radius:8px;overflow:hidden;border:1.5px solid var(--border);background:var(--surface);padding:0;cursor:pointer}
.filter-img-swatch.is-active{border-color:var(--ink)}
.filter-img-swatch img{width:100%;height:100%;object-fit:cover;display:block}
.filter-img-swatch__fallback{font-size:10px;color:var(--ink-soft)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ── PRODUCT PAGE (pdp-buy renders the design's .pdp / .gal / .buy anatomy; the platform's Alpine controls are
   restated on the design's hooks) ── */
.h1--pdp{font-size:clamp(32px,3.4vw,48px)}
.lead--pdp{font-size:16px}
.buy__head{display:flex;flex-direction:column;gap:10px}
.gal__main{position:relative;overflow:hidden;border-radius:var(--radius-image);background:var(--surface-alt)}
.gal__main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.gal__main .pcard__badge{z-index:2}
.thumbs .thumb{padding:0;overflow:hidden;cursor:pointer;background:var(--surface-alt);border-radius:var(--radius-image)}
.thumbs .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.vopt.is-off{opacity:.5;cursor:not-allowed}
.pdp-input{width:100%;min-height:46px;border:1px solid var(--border);border-radius:var(--radius-input);padding:10px 18px;font:inherit;font-size:15px;color:var(--ink);background:var(--paper);outline:none}
.pdp-input:focus{border-color:var(--ink)}
textarea.pdp-input{border-radius:var(--radius-card);resize:vertical}
.btn--sm{padding:11px 20px;font-size:13px}
.acc__body p{margin:0}
.acc details[open] .pm::after{transform:rotate(90deg);opacity:0}
.pdp-lightbox{position:fixed;inset:0;z-index:2000;background:rgba(10,22,34,.92);display:flex;align-items:center;justify-content:center}
.pdp-lightbox img{max-width:92vw;max-height:92vh;object-fit:contain}
.pdp-lightbox__close{position:absolute;top:18px;right:22px;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}
.pdp-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;font-size:44px;cursor:pointer;padding:12px 18px}
.pdp-lightbox__nav--prev{left:8px}.pdp-lightbox__nav--next{right:8px}

/* ── BASKET PAGE (cart-page renders the design's .cart / .line / .summary anatomy on the live cart store) ── */
.h1--cart{font-size:clamp(30px,3.2vw,44px)}
.line__img{display:grid;place-items:center;overflow:hidden;color:inherit}
.line__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.line .ph{position:relative}
.line h3 a{text-decoration:none}
.line__acts .qty button{cursor:pointer}
.cart-empty h2{margin:0}

/* ---- legal / policy pages (partials/legal-page) ---- */
.legal{max-width:820px;display:flex;flex-direction:column;gap:14px;font-size:15.5px;line-height:1.75;color:var(--ink-soft)}
.legal h2{font-family:var(--font-heading);font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin-top:22px}
.legal h2:first-child{margin-top:0}
.legal ul{list-style:disc;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.legal li{display:list-item}
.legal a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px}
.legal__draft{background:var(--accent-tint);color:var(--accent-deep);border-radius:var(--radius-input);padding:12px 18px;font-size:14px}
.legal__draft b{color:inherit}

/* ---- comparison table: the design has no phone rule for a 5-column table; scroll it inside its own box ---- */
/* position:relative so the cells' absolute .sr-only labels are contained (else they sit past the viewport and widen the page) */
.cmp-scroll{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-card)}
.cmp-scroll .cmp{min-width:560px}

/* ── BLOOD TESTS LANDING + HOME HERO B (2026-10-12, Artifacts canvas KT9KobCDx9yMtRYbGzLA37): the profile
   cards, the photo page header, the trust ticker, the photo hero with its glass data strip, and the motion
   pass (entrance eases, slow zoom, scroll reveals, hover lifts). Everything stops under
   prefers-reduced-motion; scroll reveals need animation-timeline and render static elsewhere. ── */
html{scroll-behavior:smooth}
@keyframes sky-kb{from{transform:scale(1)}to{transform:scale(1.07)}}
@keyframes sky-drift{from{transform:translate(0,0)}to{transform:translate(12%,-10%)}}
@keyframes sky-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes sky-ticker{to{transform:translateX(-50%)}}
@keyframes sky-pulse{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes sky-rv{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes sky-ecg{from{stroke-dashoffset:1400}to{stroke-dashoffset:0}}
/* photo page header (page-header with an image) */
.phead--photo{position:relative;overflow:hidden;isolation:isolate;padding:76px 0 80px}
.ph__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:0;transform-origin:60% 50%;animation:sky-kb 26s ease-in-out infinite alternate}
.ph__shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,22,34,.95) 0%,rgba(10,22,34,.84) 36%,rgba(10,22,34,.32) 66%,rgba(10,22,34,.1) 100%),linear-gradient(180deg,rgba(10,22,34,.3) 0%,rgba(10,22,34,0) 30%,rgba(10,22,34,.55) 100%)}
.ph__glow{position:absolute;left:-10%;bottom:-40%;width:52%;height:120%;z-index:1;background:radial-gradient(closest-side,rgba(0,201,160,.28),rgba(0,201,160,0));filter:blur(30px);animation:sky-drift 16s ease-in-out infinite alternate;pointer-events:none}
.phead--photo .wrap{position:relative;z-index:2}
.phead--photo .crumbs,.phead--photo .eyebrow,.phead--photo .h1,.phead--photo .lead,.phead--photo .hchips,.phead--photo .ctas{animation:sky-up .9s cubic-bezier(.2,.7,.2,1) both}
.phead--photo .eyebrow{animation-delay:.08s}.phead--photo .h1{animation-delay:.16s}.phead--photo .lead{animation-delay:.26s}.phead--photo .hchips{animation-delay:.36s}.phead--photo .ctas{animation-delay:.46s}
.phead--still .ph__img,.phead--still .ph__glow,.phead--still .crumbs,.phead--still .eyebrow,.phead--still .h1,.phead--still .lead,.phead--still .hchips,.phead--still .ctas{animation:none}
.phead .hchips{margin-top:4px}
.phead .ctas{margin-top:6px}
/* trust ticker (trust-strip with ticker on) */
.trust--ticker{padding:20px 0;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--border);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.trust__track{display:flex;width:max-content;animation:sky-ticker 46s linear infinite}
.trust__group{display:flex;gap:60px;padding-right:60px}
.trust--ticker .trust__i{white-space:nowrap;flex:none;align-items:center}
.trust--ticker:hover .trust__track{animation-play-state:paused}
/* chips, buttons, links */
.hchip{transition:.2s}.hchip:hover{border-color:var(--accent);transform:translateY(-1px)}
.btn--primary{box-shadow:0 10px 26px -12px rgba(0,201,160,.55)}.btn--primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px -12px rgba(0,201,160,.5)}
.link-arrow svg{transition:transform .2s}.link-arrow:hover svg{transform:translateX(4px)}
/* profile cards */
.profs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:stretch}
.prof{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px 20px 22px;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:.22s}
.prof:hover{transform:translateY(-3px);box-shadow:var(--shadow-raised)}
.prof--hot{border:2px solid transparent;padding:25px 19px 21px;background:linear-gradient(var(--paper),var(--paper)) padding-box,linear-gradient(150deg,var(--accent) 0%,#7fe9d3 55%,var(--accent-deep) 100%) border-box;box-shadow:0 24px 60px -30px rgba(0,122,97,.5)}
.prof--hot:hover{box-shadow:0 30px 70px -28px rgba(0,122,97,.6)}
.prof--dark{background:radial-gradient(120% 90% at 100% 0%,rgba(0,201,160,.22) 0%,rgba(0,201,160,0) 55%),var(--dark);color:var(--on-dark);border-color:var(--dark)}
.prof__badge{position:absolute;top:-13px;left:18px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 11px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 16px -6px rgba(0,201,160,.7)}
.prof__badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--on-accent);display:inline-block;margin-right:7px;vertical-align:1px;animation:sky-pulse 2s ease-in-out infinite}
.prof--dark .prof__badge{background:var(--on-dark);color:var(--dark)}
.prof__meta{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep)}
.prof--dark .prof__meta{color:var(--accent)}
.prof h3{font-size:21px;font-weight:600;letter-spacing:-.015em;line-height:1.15;min-height:48px;text-transform:none}
.prof--dark h3{color:var(--on-dark)}
.prof__for{font-size:13.5px;color:var(--ink-soft);line-height:1.5;min-height:81px}
.prof--dark .prof__for{color:var(--on-dark-soft)}
.prof__price{display:flex;flex-direction:column;gap:3px;padding-top:4px}
.prof__price b{font-family:var(--font-heading);font-size:34px;font-weight:600;letter-spacing:-.03em;line-height:1}
.prof__price small{font-size:12.5px;color:var(--muted)}
.prof--dark .prof__price small{color:var(--on-dark-soft)}
.prof__inc{display:flex;flex-direction:column;gap:7px;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:13px;font-weight:600}
.prof__inc span{display:flex;gap:8px;align-items:center}
.prof__inc svg{width:15px;height:15px;stroke:var(--accent-deep);fill:none;stroke-width:2.4;flex:none}
.prof--dark .prof__inc{border-color:var(--dark-border)}
.prof--dark .prof__inc svg{stroke:var(--accent)}
.prof__lbl{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.prof--dark .prof__lbl{color:var(--on-dark)}
.prof__sys{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--ink-soft);flex:1}
.prof__sys li{display:flex;gap:8px;align-items:flex-start}
.prof__sys svg{width:15px;height:15px;stroke:var(--accent-deep);fill:none;stroke-width:2.4;flex:none;margin-top:3px}
.prof--dark .prof__sys{color:var(--on-dark-soft)}
.prof--dark .prof__sys svg{stroke:var(--accent)}
.prof .btn{width:100%;margin-top:4px;transition:.2s}
.prof .btn--ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.prof--dark .btn--ghost{color:var(--on-dark);border-color:var(--dark-border)}
.profs-hint{display:none}
.profs-note{margin-top:22px;font-size:13.5px;color:var(--ink-soft);display:flex;gap:10px;align-items:flex-start;max-width:900px}
.profs-note svg{width:18px;height:18px;stroke:var(--accent-deep);fill:none;stroke-width:2.2;flex:none;margin-top:2px}
/* comparison table: tinted column, small text cells, pinned label column, row hover */
.cmp td b{font-family:var(--font-heading);font-size:16px}
.cmp td .txt{font-size:12.5px;font-weight:600;color:var(--ink-soft)}
.cmp td.is-hot{background:var(--accent-tint)}
.cmp th:first-child,.cmp td:first-child{min-width:220px;position:sticky;left:0;z-index:1;background:var(--paper);box-shadow:1px 0 0 var(--border)}
.cmp thead th:first-child{background:var(--dark)}
.cmp tbody tr{transition:background .15s}.cmp tbody tr:hover td{background:var(--surface)}.cmp tbody tr:hover td.is-hot{background:#c9f1e5}
/* option cards, faq, ecg, postcode rows */
.opt{transition:.22s}.opt:hover{transform:translateY(-3px);box-shadow:var(--shadow-raised);border-color:var(--ink)}
.opt__ic{transition:transform .25s}.opt:hover .opt__ic{transform:scale(1.08)}
.acc summary .pm{transition:transform .25s}.acc details[open] summary .pm{transform:rotate(180deg)}
.acc{interpolate-size:allow-keywords}
.acc details::details-content{height:0;overflow:clip;transition:height .35s cubic-bezier(.2,.7,.2,1),content-visibility .35s allow-discrete}
.acc details[open]::details-content{height:auto}
.ecg path{animation:sky-ecg 6s linear infinite}
.pc-row{transition:background .15s}.pc-row:hover{background:rgba(255,255,255,.04)}
/* photo hero (hero variant photo) */
.hero.hero--photo{isolation:isolate}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:0;transform-origin:65% 50%;animation:sky-kb 26s ease-in-out infinite alternate}
.hero__shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,22,34,.94) 0%,rgba(10,22,34,.82) 32%,rgba(10,22,34,.34) 60%,rgba(10,22,34,.1) 100%),linear-gradient(180deg,rgba(10,22,34,.5) 0%,rgba(10,22,34,0) 28%,rgba(10,22,34,0) 52%,rgba(10,22,34,.88) 100%)}
.hero__glow{position:absolute;left:-8%;bottom:-30%;width:48%;height:110%;z-index:1;background:radial-gradient(closest-side,rgba(0,201,160,.26),rgba(0,201,160,0));filter:blur(30px);animation:sky-drift 16s ease-in-out infinite alternate;pointer-events:none}
.hero.hero--photo{padding:0}
.hero.hero--photo .wrap{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-height:0;padding-top:52px;padding-bottom:48px;gap:40px}
.hero--photo .hdata{width:100%}
.hero--photo .hero__copy{display:flex;flex-direction:column;gap:22px;max-width:760px;align-items:flex-start}
.hero--photo .h1{font-size:clamp(34px,3.9vw,56px)}
.hero--photo .hero__copy>*{animation:sky-up .9s cubic-bezier(.2,.7,.2,1) both}
.hero--photo .hero__copy>*:nth-child(1){animation-delay:.05s}.hero--photo .hero__copy>*:nth-child(2){animation-delay:.14s}.hero--photo .hero__copy>*:nth-child(3){animation-delay:.24s}.hero--photo .hero__copy>*:nth-child(4){animation-delay:.34s}.hero--photo .hero__copy>*:nth-child(5){animation-delay:.44s}
.hdata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:16px 28px;align-items:start;background:rgba(10,22,34,.58);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--hero-border);border-radius:var(--radius-card);padding:18px 26px 22px;animation:sky-up 1s .6s cubic-bezier(.2,.7,.2,1) both}
.hdata__bar{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--on-hero-soft);padding-bottom:12px;border-bottom:1px solid var(--hero-border)}
.hdata__bar b{color:var(--on-hero);font-family:var(--font-heading);font-size:14.5px;font-weight:600}
.hdata .hrow{border:0;padding:0;margin:0}
.hdata .hrow__top b{color:var(--on-hero)}
.hdata .val{color:var(--on-hero)}
.hdata .val small{color:var(--on-hero-soft)}
.hdata .hrow p{color:var(--on-hero-soft)}
.hdata__foot{display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:var(--on-hero-soft);align-self:stretch;justify-content:center;border-left:1px solid var(--hero-border);padding-left:28px;min-width:210px}
.hdata__foot .link-arrow{color:var(--on-hero)}
.hdata__foot .link-arrow svg{stroke:var(--accent)}
.hero--still .hero__img,.hero--still .hero__glow,.hero--still .hero__copy>*,.hero--still .hdata{animation:none}
/* scroll reveals */
@supports (animation-timeline: view()){
.sec-head,.profs-note,.pc,.opt,.step,.faq-layout>.sec-head,.acc,.prof{animation:sky-rv 1s linear both;animation-timeline:view();animation-range:entry 0% entry 32%}
.prof:nth-child(2),.opt:nth-child(2),.step:nth-child(2){animation-range:entry 6% entry 38%}
.prof:nth-child(3),.opt:nth-child(3),.step:nth-child(3){animation-range:entry 12% entry 44%}
.prof:nth-child(4),.step:nth-child(4){animation-range:entry 18% entry 50%}
.prof:nth-child(5){animation-range:entry 24% entry 56%}
}
@media (prefers-reduced-motion:reduce){
.trust__track,.ph__img,.ph__glow,.hero__img,.hero__glow,.ecg path,.prof__badge::before,.phead--photo .crumbs,.phead--photo .eyebrow,.phead--photo .h1,.phead--photo .lead,.phead--photo .hchips,.phead--photo .ctas,.hero--photo .hero__copy>*,.hdata{animation:none}
.sec-head,.profs-note,.pc,.opt,.step,.acc,.prof{animation:none}
}
@media (max-width:1180px){.profs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
.hdata{grid-template-columns:1fr}.hdata__foot{border-left:0;padding-left:0;border-top:1px solid var(--hero-border);padding-top:14px;min-width:0}
.hero.hero--photo .wrap{min-height:0;padding-top:36px;padding-bottom:36px}
.hero--photo .hero__shade{background:linear-gradient(180deg,rgba(10,22,34,.7) 0%,rgba(10,22,34,.55) 40%,rgba(10,22,34,.92) 100%)}
}
@media (max-width:720px){
.profs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:16px 4px 12px;margin:0 -4px;scrollbar-width:none}
.profs::-webkit-scrollbar{display:none}
.prof{flex:0 0 86%;scroll-snap-align:start;animation:none}
.prof__for,.prof h3{min-height:0}
.profs-hint{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-top:2px}
.cmp{overflow:visible;border-collapse:separate;border-spacing:0}
.cmp th:first-child,.cmp td:first-child{min-width:150px;max-width:160px;font-size:13px}
.hchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:2px 20px 6px;mask-image:linear-gradient(90deg,#000 86%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent)}
.hchips::-webkit-scrollbar{display:none}
.hchip{flex:none}
.phead--photo{padding:56px 0 60px}
.ph__shade{background:linear-gradient(180deg,rgba(10,22,34,.72) 0%,rgba(10,22,34,.6) 50%,rgba(10,22,34,.9) 100%)}
}
/* credentials cards with marker chips + an arrow link (blood tests landing "why" and goal cards) */
.card--cred{display:flex;flex-direction:column;transition:.22s}
.card--cred:hover{transform:translateY(-3px);box-shadow:var(--shadow-raised);border-color:var(--ink)}
.card--cred h3{font-size:18px;font-weight:600;letter-spacing:-.01em;text-transform:none}
.card__chips{margin-top:14px}
.card__link{margin-top:auto;padding-top:16px}
@supports (animation-timeline: view()){.card--cred{animation:sky-rv 1s linear both;animation-timeline:view();animation-range:entry 0% entry 32%}.card--cred:nth-child(2){animation-range:entry 6% entry 38%}.card--cred:nth-child(3){animation-range:entry 12% entry 44%}}
@media (prefers-reduced-motion:reduce){.card--cred{animation:none}}



/* ═══ PLATFORM CHROME ═══
   Shared blades the static design has no counterpart for (cart drawer,
   search overlay, live facets, subscription cadences). Carried from the
   theme's previous stylesheet and retinted through the aliases above.
   515 rules of migration debt: when a blade is rebuilt from the
   design, delete its rules here. */
.hero__heading { font-family: var(--font-display); }
.eyebrow--bar { display: flex; align-items: center; gap: 12px; }
.eyebrow--bar::before { content: ""; width: 34px; height: 1px;
  background: var(--accent); display: inline-block; flex-shrink: 0; }
.eyebrow--light { color: rgba(245,243,239,.6); }
.eyebrow--light.eyebrow--bar::before { background: var(--accent); }
.sec-title { font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 600; line-height: 1.08;
  letter-spacing: -.018em; margin: 0; }
.sec-title em { font-style: normal; color: var(--accent); }
.sec-title--light { color: var(--inv-text); }
.sec-title--light em { color: var(--accent); }
.btn--ghost-light { background: transparent; color: var(--inv-text); border-color: rgba(245,243,239,.4); }
.btn--ghost-light:hover, .btn--ghost-light[data-v3-state~="hover"] { background: rgba(245,243,239,.1); border-color: rgba(245,243,239,.7); }
.btn--lg { padding: 20px 44px; }
.tlink { font-size: 12.5px; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: var(--ink);
  display: inline-flex; align-items: center; gap: 6px;
  transition: color .15s; white-space: nowrap; }
.tlink:hover, .tlink[data-v3-state~="hover"] { color: var(--accent); }
.tlink--accent { color: var(--accent); }
.tlink--accent:hover, .tlink--accent[data-v3-state~="hover"] { color: var(--accent-deep); }
.tlink--muted { color: var(--ink-muted); }
.badge { display: inline-block; font-size: 10.5px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  padding: 3px 7px; border-radius: var(--r-btn);
  background: var(--ink); color: var(--inv-text); }
.badge--sale { background: var(--sale); color: #fff; }
.input { font-family: var(--font); font-size: 14px; color: var(--ink);
  background: var(--panel); border: 1px solid var(--border);
  border-radius: var(--r-input); padding: 12px 16px; width: 100%;
  outline: none; transition: border-color .15s; }
.input:focus, .input[data-v3-state~="focus"] { border-color: var(--ink); }
.input::placeholder { color: var(--ink-muted); }
.anno { background: var(--inverse); overflow: hidden;
  height: 34px; display: flex; align-items: center; }
.anno__track { display: flex; white-space: nowrap;
  animation: marquee 30s linear infinite; }
.anno__item { font-size: 11px; font-weight: 500; letter-spacing: .07em;
  color: rgba(245,243,239,.65); padding: 0 28px; }
.anno__sep { color: var(--accent); font-size: 10px; flex-shrink: 0; }
}


.site-header { background: var(--panel); border-bottom: 1px solid var(--border);
  position: sticky; top: 0; z-index: 100; }
.header__top { display: flex; align-items: center; height: 70px; gap: 20px; }
.header__logo img { height: 65px; width: auto; }
.header__logo-fallback { font-size: 19px; font-weight: 700; letter-spacing: .04em; color: var(--ink); }
.hamburger { display: none; width: 40px; height: 40px;
  align-items: center; justify-content: center;
  color: var(--ink); cursor: pointer; flex-shrink: 0; }
.header__search-wrap { flex: 1; max-width: 460px; margin: 0 auto; }
.header__search { display: flex; align-items: center; gap: 10px;
  background: var(--bg); border: 1px solid var(--border);
  border-radius: var(--r-input); padding: 0 14px; height: 40px;
  cursor: text; color: var(--ink-muted); width: 100%;
  transition: border-color .15s; }
.header__search:focus-within { border-color: var(--ink-muted); }
.header__search input { border: none; background: transparent;
  font-family: var(--font); font-size: 14px; color: var(--ink);
  outline: none; width: 100%; }
.header__search input::placeholder { color: var(--ink-muted); }
.header__actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.basket-btn { display: flex; align-items: center; gap: 8px; font-size: 12.5px;
  font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink); padding: 9px 16px;
  border: 1px solid var(--border); border-radius: var(--r-btn);
  transition: border-color .15s; cursor: pointer;
  background: none; font-family: var(--font); }
.basket-btn:hover { border-color: var(--ink); }
.basket-btn__count { background: var(--accent); color: #fff; font-size: 10px; font-weight: 700;
  border-radius: 50%; width: 18px; height: 18px;
  display: flex; align-items: center; justify-content: center; line-height: 1; }
.header__msearch { display: none; align-items: center; gap: 10px;
  background: var(--bg); border-top: 1px solid var(--border);
  padding: 9px 20px; color: var(--ink-muted); }
.header__msearch input { border: none; background: transparent;
  font-family: var(--font); font-size: 14px; color: var(--ink);
  outline: none; width: 100%; }
.header__msearch input::placeholder { color: var(--ink-muted); }
.header__nav { border-top: 1px solid var(--line-soft); }
.nav__link { font-size: 12.5px; font-weight: 500; letter-spacing: .03em;
  color: var(--ink); padding: 0 15px; height: 100%;
  display: flex; align-items: center; white-space: nowrap;
  border-bottom: 2px solid transparent; transition: color .15s, border-color .15s; }
.nav__link:hover { color: var(--accent); border-bottom-color: var(--accent); }
.nav__link--sale { color: var(--sale); }
.nav__link--sale:hover { color: var(--sale); border-bottom-color: var(--sale); }
.hero-slider { position: relative; min-height: 76vh;
  overflow: hidden; background: var(--inverse); }
.hero-slide { position: absolute; inset: 0;
  display: flex; align-items: center;
  padding: 96px 0; opacity: 0;
  transition: opacity .9s ease; pointer-events: none; }
.hero-slide.is-active { opacity: 1; z-index: 1; pointer-events: auto; }
.hero-slide__bg { position: absolute; inset: 0;
  background-size: cover; background-position: center; z-index: 0; }
.hero-slide__overlay { position: absolute; inset: 0; z-index: 1; }
.hero-slide__inner { position: relative; z-index: 2;
  max-width: var(--container); margin: 0 auto;
  padding: 0 var(--gutter); width: 100%;
  display: flex; flex-direction: column;
  gap: 26px; align-items: flex-start; }
.hero__eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .22em;
  text-transform: uppercase; color: #fff;
  display: flex; align-items: center; gap: 12px; }
.hero__eyebrow::before { content: ""; width: 34px; height: 1px;
  background: var(--accent); display: inline-block; }
.hero__heading { font-size: clamp(38px, 4.6vw, 68px); font-weight: 600;
  line-height: 1.04; letter-spacing: -.018em;
  margin: 0; color: #fff; max-width: 16ch; }
.hero__body { font-size: 16px; line-height: 1.65;
  color: rgba(255,255,255,.82); max-width: 52ch; margin: 0; }
.hero__cta-row { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 4px; }
.hero__dots { position: absolute; bottom: 28px; left: 50%;
  transform: translateX(-50%); z-index: 10; display: flex; gap: 8px; }
.hero__dot.is-active { background: #fff; transform: scale(1.5); }
.hero__arr { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10;
  width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.28);
  border-radius: 2px; display: flex; align-items: center; justify-content: center;
  color: #fff; cursor: pointer; background: rgba(0,0,0,.22);
  transition: background .15s, border-color .15s; }
.hero__arr:hover { background: rgba(0,0,0,.5); border-color: rgba(255,255,255,.6); }
.hero__arr--prev { left: var(--gutter); }
.hero__arr--next { right: var(--gutter); }
.section { padding: var(--sec-y) 0; }
.section--sm { padding: var(--sec-y-m) 0; }
.bg-white { background: var(--panel); }
.usp-bar { background: var(--panel); border-bottom: 1px solid var(--border); padding: 0; }
.usp-bar__grid { display: grid; grid-template-columns: repeat(4, 1fr);
  border-left: 1px solid var(--border); }
.usp-item { display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: 8px; padding: 22px 16px;
  border-right: 1px solid var(--border); }
.usp-item__icon { color: var(--accent); }
.usp-item__title { font-size: 13px; font-weight: 600; color: var(--ink); }
.usp-item__sub { font-size: 12px; color: var(--ink-muted); line-height: 1.45; }
.pcard__media { position: relative; aspect-ratio: 1/1; overflow: hidden;
  border-radius: var(--r-card); background: var(--surface-alt); margin-bottom: 14px; }
.pcard__media img { width: 100%; height: 100%; object-fit: cover;
  transition: transform .5s ease; }
.pcard__qa { position: absolute; bottom: 0; left: 0; right: 0;
  background: var(--inverse); color: var(--inv-text);
  font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  padding: 12px; text-align: center; cursor: pointer;
  opacity: 0; transform: translateY(100%);
  transition: opacity .2s, transform .2s;
  border: 0; }
.pcard__qa[disabled] { opacity: 0; }
.pcard__cat { font-size: 10.5px; color: var(--ink-muted);
  letter-spacing: .06em; text-transform: uppercase; margin-bottom: 4px; }
.pcard__name { font-size: 15px; font-weight: 600; color: var(--ink);
  line-height: 1.3; margin-bottom: 6px;
  display: block; letter-spacing: -.01em; transition: color .15s; }
.pcard__name:hover { color: var(--accent); }
.pcard__price-from { font-size: 12px; font-weight: 400; color: var(--ink-muted); margin-right: 2px; }
.pcard__price-was { font-size: 13px; font-weight: 400; color: var(--ink-muted); text-decoration: line-through; margin-right: 6px; }
.pcard__price-sale { color: var(--sale); }
.pcard__row { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.pcard__row--single { display: block; }
.pcard__row .pcard__media { flex: 1 1 auto; }
.pcard--media-overlay > .pcard__row--single { height: 100%; }
.pcard--media-overlay .pcard__media { height: 100%; aspect-ratio: auto; min-height: 0; }
.pcard__text { font-size: 12.5px; color: var(--ink-muted); line-height: 1.4; }
.pcard--media-right .pcard__media-col { order: 2; }
.pcard--media-left .pcard__media, .pcard--media-right .pcard__media { margin-bottom: 0; }
.pcard--media-overlay .pcard__media { aspect-ratio: 3/4; margin-bottom: 0; border-radius: 0; }
.pcard--media-overlay .pcard__overlay-body { position: absolute; inset: auto 0 0 0; padding: 40px 14px 14px;
  
  background: linear-gradient(180deg, rgba(10, 10, 12, 0) 0%, rgba(10, 10, 12, .55) 34%, rgba(10, 10, 12, .88) 100%);
  pointer-events: none; }
.pcard--media-overlay .pcard__overlay-body .pcard__row { pointer-events: auto; }
.pcard--media-overlay .pcard__overlay-body .pcard__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pcard--media-overlay .pcard__overlay-body .pcard__price-was { color: rgba(255, 255, 255, .65); }
.pcard--media-overlay .pcard__qa { z-index: 2; }
.cat-browse { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cat-card { display: block; text-decoration: none; background: var(--panel);
  border: 1px solid var(--border); border-radius: var(--r-card); overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.cat-card:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(29,27,24,.10); border-color: var(--ink-muted); }
.cat-card__media { aspect-ratio: 4 / 3; overflow: hidden; position: relative;
  background: var(--bg); display: flex; align-items: center; justify-content: center; }
.cat-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(29,27,24,.07)); }
.cat-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.cat-card:hover .cat-card__media img { transform: scale(1.04); }
.cat-card__placeholder { font-size: 16px; font-weight: 600; letter-spacing: -.01em; color: var(--ink);
  text-align: center; padding: 18px; position: relative; z-index: 1; }
.cat-card__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; }
.cat-card__name { font-size: 14.5px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; }
.cat-card__cta { font-size: 11.5px; font-weight: 600; color: var(--accent); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.split__img-caption { position: absolute; bottom: 20px; left: 20px;
  background: rgba(33,30,26,.72); color: rgba(245,243,239,.7);
  font-size: 11px; letter-spacing: .06em; padding: 6px 10px; border-radius: 2px; }
.split__content { padding: 80px 72px; display: flex; flex-direction: column;
  justify-content: center; gap: 22px; }
.split__content--dark { background: var(--inverse); }
.split__content--alt { background: var(--surface-alt); }
.split__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
  padding: 26px 0;
  border-top: 1px solid rgba(245,243,239,.14);
  border-bottom: 1px solid rgba(245,243,239,.14);
  margin: 4px 0; }
.stat-num { font-size: 26px; font-weight: 700; color: var(--inv-text); }
.stat-lbl { font-size: 11.5px; color: rgba(245,243,239,.5); letter-spacing: .04em; margin-top: 2px; }
.split__fine { font-size: 12.5px; color: var(--ink-muted);
  display: flex; align-items: center; gap: 8px; }
.split__fine::before { content: "✓"; color: var(--accent); font-weight: 700; flex-shrink: 0; }
.klarna-section { background: var(--panel); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: var(--sec-y-m) 0; }
.klarna-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 40px; flex-wrap: wrap; gap: 12px; }
.klarna-logo { font-size: 20px; font-weight: 700; letter-spacing: -.02em;
  background: var(--ink); color: #ffb3c7;
  padding: 5px 14px; border-radius: 4px; line-height: 1; }
.klarna-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.klarna-step__n { font-size: 12px; font-weight: 700; color: var(--ink-muted); letter-spacing: .1em; margin-bottom: 8px; }
.klarna-step__t { font-size: 16px; font-weight: 600; color: var(--ink); margin-bottom: 6px; }
.klarna-step__b { font-size: 14px; line-height: 1.65; color: var(--ink-muted); }
.klarna-fine { font-size: 11px; color: var(--ink-muted); margin-top: 28px; line-height: 1.6; border-top: 1px solid var(--line-soft); padding-top: 16px; }
.reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 36px; }
.review-card { background: var(--panel); border: 1px solid var(--border);
  border-radius: var(--r-card); padding: 28px;
  display: flex; flex-direction: column; gap: 14px; }
.review-card__top { display: flex; align-items: center; gap: 10px; }
.review-card__stars { color: #c9962e; font-size: 13px; letter-spacing: 2px; }
.review-card__tag { font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink-muted); border: 1px solid var(--border); padding: 3px 7px; border-radius: 2px; }
.review-card__body { font-size: 14px; line-height: 1.7; color: var(--ink); flex: 1; }
.review-card__author { font-size: 13px; font-weight: 600; color: var(--ink); }
.review-card__prod { font-size: 12px; color: var(--ink-muted); }
.insta-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 32px; }
.insta-grid__item { aspect-ratio: 1/1; overflow: hidden; border-radius: var(--r-card); }
.insta-grid__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; display: block; }
.insta-grid__item:hover img { transform: scale(1.06); }
.site-footer { background: var(--inverse); color: rgba(245,243,239,.6); }
.footer__main { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px; padding: 64px 0 52px;
  border-bottom: 1px solid rgba(245,243,239,.09); }
.footer__brand-logo { height: 60px; width: auto; filter: brightness(10); opacity: .8; margin-bottom: 14px; }
.footer__brand-name { font-size: 17px; font-weight: 700; letter-spacing: .04em; color: var(--inv-text); margin-bottom: 14px; display: block; }
.footer__blurb { font-size: 13px; line-height: 1.7; color: rgba(245,243,239,.5); max-width: 30ch; margin-bottom: 16px; }
.footer__col-head { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--inv-text); margin-bottom: 14px; }
.footer__col-head + .footer__col-head { margin-top: 24px; }
.footer__col-links { display: flex; flex-direction: column; gap: 8px; }
.footer__col-links a { font-size: 13px; color: rgba(245,243,239,.5); transition: color .15s; }
.footer__col-links a:hover { color: var(--accent); }
.footer__contact-sub { font-size: 12.5px; color: rgba(245,243,239,.4); margin-bottom: 8px; }
.footer__contact-link { font-size: 13px; color: rgba(245,243,239,.55); display: block; margin-bottom: 6px; transition: color .15s; }
.footer__contact-link:hover { color: var(--accent); }
.social { display: flex; gap: 8px; margin-top: 14px; }
.social a { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
  border: 1px solid rgba(245,243,239,.18); border-radius: 3px;
  font-size: 10px; font-weight: 700; color: rgba(245,243,239,.5);
  letter-spacing: .04em; transition: color .15s, border-color .15s; }
.social a:hover { color: var(--accent); border-color: var(--accent); }
.footer__nl-row { display: flex; gap: 8px; margin-top: 10px; }
.footer__nl-row .input { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14);
  color: var(--inv-text); flex: 1; font-size: 13px; padding: 10px 14px; }
.footer__nl-row .input::placeholder { color: rgba(245,243,239,.3); }
.footer__bottom { display: flex; align-items: center; justify-content: space-between;
  padding: 18px 0; gap: 20px; flex-wrap: wrap; }
.footer__copy { font-size: 12px; color: rgba(245,243,239,.3); }
.footer__legal { display: flex; gap: 16px; }
.footer__legal a { font-size: 12px; color: rgba(245,243,239,.3); transition: color .15s; }
.footer__legal a:hover { color: rgba(245,243,239,.7); }
.pay { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.pay__icon { display: inline-flex; width: 34px; height: 34px; }
.pay__icon svg { width: 100%; height: 100%; display: block; }
.footer__co { font-size: 10.5px; color: rgba(245,243,239,.22); padding: 10px 0 14px; border-top: 1px solid rgba(245,243,239,.06); }
.overlay { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 200; }
.drawer { position: fixed; top: 0; right: 0; bottom: 0; width: 420px; max-width: 100vw;
  background: var(--panel); z-index: 201; display: flex; flex-direction: column;
  box-shadow: -8px 0 40px rgba(29,27,24,.16); }
.drawer--left { right: auto; left: 0; box-shadow: 8px 0 40px rgba(29,27,24,.16); }
.drawer__head { display: flex; align-items: center; justify-content: space-between;
  padding: 20px 24px; border-bottom: 1px solid var(--border); flex-shrink: 0; }
.drawer__title { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.drawer__close { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
  color: var(--ink-muted); border-radius: 3px; transition: color .15s; }
.drawer__close:hover { color: var(--ink); }
.drawer__promo { display: flex; align-items: center; gap: 8px; padding: 9px 24px;
  background: var(--bg); border-bottom: 1px solid var(--border);
  font-size: 12px; color: var(--ink-muted); flex-shrink: 0; }
.drawer__items { flex: 1; overflow-y: auto; }
.cart-line { display: grid; grid-template-columns: 80px 1fr auto;
  gap: 14px; padding: 18px 24px;
  border-bottom: 1px solid var(--line-soft); align-items: start; }
.cart-line__img { display: block; width: 80px; height: 80px;
  border-radius: var(--r-card); overflow: hidden;
  background: var(--surface-alt); flex-shrink: 0; }
.cart-line__img img { width: 100%; height: 100%; object-fit: cover; }
.cart-line__name { font-size: 14px; font-weight: 600; color: var(--ink); line-height: 1.3; margin-bottom: 4px; }
.cart-line__opt { font-size: 12px; color: var(--ink-muted); margin-bottom: 4px; }
.cart-line__right { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.cart-line__remove { font-size: 11px; color: var(--ink-muted); text-transform: uppercase; letter-spacing: .06em; transition: color .15s; }
.cart-line__remove:hover { color: var(--sale); }
.price { font-size: 15px; font-weight: 600; color: var(--ink); }
.qty__n { min-width: 28px; text-align: center; font-size: 13px; font-weight: 600; }
.qty--sm { margin-top: 8px; }
.qty--sm button { width: 28px; height: 28px; }
.drawer-empty { padding: 60px 24px; text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 14px;
  color: var(--ink-muted); font-size: 14px; }
.drawer__foot { border-top: 1px solid var(--border); padding: 20px 24px 24px; flex-shrink: 0; display: flex; flex-direction: column; gap: 8px; }
.subtotal-row { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 4px; }
.subtotal-row .lbl { font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-muted); }
.drawer__note { font-size: 11.5px; color: var(--ink-muted); margin: 0 0 6px; }
.mnav__links { display: flex; flex-direction: column; padding: 4px 0; }
.mnav__links a { display: block; padding: 13px 24px;
  font-size: 15px; font-weight: 500; color: var(--ink);
  border-bottom: 1px solid var(--line-soft); transition: color .15s; }
.mnav__links a:hover { color: var(--accent); }
.mnav__links a.is-sale { color: var(--sale); }
.mnav__actions { padding: 14px 24px 24px; display: flex; flex-direction: column; gap: 10px; }
.breadcrumb { display: flex; align-items: center; gap: 8px;
  flex-wrap: wrap; font-size: 12px; color: var(--ink-muted); margin-bottom: 18px; }
.breadcrumb a { color: var(--ink-muted); transition: color .15s; }
.breadcrumb a:hover { color: var(--accent); }
.breadcrumb__sep { color: var(--border); }
.cat-header { padding: 36px calc(50vw - 50%) 28px; margin-inline: calc(50% - 50vw);
  background: var(--panel, #fff); border-bottom: 1px solid var(--border); }
.cat-header__meta { font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 8px; }
.cat-header__title { font-size: clamp(36px, 5vw, 64px); font-weight: 500; letter-spacing: -.02em; line-height: 1.02; margin: 0 0 12px; }
.cat-header__title em, .cat-header__accent { font-style: italic; font-weight: 400; }
.cat-header__desc { font-size: 15px; color: var(--ink-muted); max-width: 540px; line-height: 1.55; }
.filter-bar { display: flex; align-items: center; justify-content: space-between;
  padding: 14px calc(50vw - 50%); margin-inline: calc(50% - 50vw);
  background: var(--panel, #fff); border-bottom: 1px solid var(--border); gap: 12px; }
.filter-btn { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink);
  padding: 9px 16px; border: 1px solid var(--border); border-radius: var(--r-btn);
  cursor: pointer; background: none; font-family: var(--font); transition: border-color .15s; }
.filter-btn:hover { border-color: var(--ink); }
.result-count { font-size: 13px; color: var(--ink-muted); }
.sort-select { font-family: var(--font); font-size: 13px; color: var(--ink);
  background: var(--panel); border: 1px solid var(--border);
  border-radius: var(--r-input); padding: 9px 34px 9px 14px;
  cursor: pointer; outline: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237d766c' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; min-width: 180px; }
.cat-layout { display: grid; grid-template-columns: 256px 1fr; gap: 40px; padding: 32px 0 72px; align-items: start; }
.filter-sidebar { position: sticky; top: 132px; }
.filter-group { border-bottom: 1px solid var(--border); padding: 18px 0; }
.filter-group:first-child { padding-top: 0; }
.filter-group__head { display: flex; align-items: center; justify-content: space-between;
  cursor: pointer; font-size: 12px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; margin-bottom: 12px; }
.filter-group__head svg { transition: transform .2s; }
.filter-group.is-closed .filter-group__head svg { transform: rotate(-90deg); }
.filter-group.is-closed .filter-group__body { display: none; }
.filter-item { display: flex; align-items: center; gap: 10px;
  padding: 5px 0; cursor: pointer; font-size: 13.5px; color: var(--ink); }
.filter-item input[type="checkbox"] { accent-color: var(--ink); width: 14px; height: 14px; flex-shrink: 0; cursor: pointer; }
.filter-item__count { font-size: 11.5px; color: var(--ink-muted); margin-left: auto; }
.filter-swatch { width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--border); cursor: pointer; flex-shrink: 0; padding: 0; transition: box-shadow .15s; }
.filter-swatch:hover { box-shadow: 0 0 0 1px var(--ink-muted); }
.filter-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-img-swatch { width: 46px; height: 46px; flex-shrink: 0; border-radius: 4px;
  overflow: hidden; border: 2px solid var(--border); cursor: pointer;
  padding: 0; background: var(--surface-alt); transition: border-color .15s;
  display: flex; align-items: center; justify-content: center; }
.filter-img-swatch:hover { border-color: var(--ink-muted); }
.filter-img-swatch.is-active { border-color: var(--ink); }
.filter-img-swatch img { width: 100%; height: 100%; object-fit: cover; display: block; }
.filter-img-swatch__fallback { font-size: 9px; line-height: 1.1; text-align: center; color: var(--ink-muted);
  padding: 2px; overflow: hidden; max-height: 100%; }
.filter-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-pills .pill-opt { padding: 7px 12px; font-size: 12.5px; }
.filter-pill__count { font-size: 11px; opacity: .7; }
.pagination { display: flex; align-items: center; justify-content: center;
  gap: 4px; margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--border); }
.page-btn { min-width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 500; color: var(--ink); border: 1px solid transparent;
  border-radius: var(--r-btn); cursor: pointer; transition: all .15s; background: none; font-family: var(--font); padding: 0 12px; }
.page-btn:hover { border-color: var(--border); }
.page-btn.is-active { background: var(--ink); color: var(--inv-text); border-color: var(--ink); }
.pdp-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; padding: 32px 0 80px; align-items: start; }
.pdp-gallery { position: sticky; top: 132px; }
.gallery__main { overflow: hidden; border-radius: var(--r-card); background: var(--surface-alt); margin-bottom: 10px; position: relative; }
.gallery__main img { width: 100%; height: auto; display: block; transition: opacity .2s; }
.gallery__placeholder { display: grid; place-items: center; aspect-ratio: 1 / 1; width: 100%;
  font-size: 15px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  color: var(--ink-muted); text-align: center; padding: 24px; }
.gallery__flag { position: absolute; top: 14px; left: 14px; z-index: 2; }
.gallery__thumbs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; }
.gallery__thumbs::-webkit-scrollbar { display: none; }
.gallery__thumbs-wrap { position: relative; }
.gallery__thumbs-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 30px; height: 30px; border-radius: 50%;
  border: 1px solid var(--border); background: var(--panel); color: var(--ink);
  box-shadow: 0 2px 8px rgba(29, 27, 24, .16); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; line-height: 1; padding: 0 0 2px; }
.gallery__thumbs-nav:hover { border-color: var(--ink); }
.gallery__thumbs-nav--prev { left: -6px; }
.gallery__thumbs-nav--next { right: -6px; }
.gallery__thumb { width: 74px; height: 74px; flex-shrink: 0;
  border-radius: var(--r-card); overflow: hidden;
  border: 2px solid transparent; cursor: pointer; padding: 0;
  background: var(--surface-alt); transition: border-color .15s; }
.gallery__thumb.is-active { border-color: var(--ink); }
.gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pdp-form { display: flex; flex-direction: column; gap: 18px; }
.pdp__cat { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-muted); }
.pdp__title { font-size: clamp(24px, 2.8vw, 36px); font-weight: 600; letter-spacing: -.018em; line-height: 1.1; }
.pdp-price-row { display: flex; align-items: baseline; gap: 10px; }
.pdp__price { font-size: 30px; font-weight: 700; color: var(--ink); letter-spacing: -.02em; }
.pdp__vat { font-size: 12px; color: var(--ink-muted); }
.variant-block { display: flex; flex-direction: column; gap: 0; }
.variant-label { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; }
.variant-label a { font-weight: 400; color: var(--accent); text-transform: none; letter-spacing: 0; font-size: 12px; }
.pill-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.pill-opt { font-size: 13px; font-weight: 500; color: var(--ink); padding: 9px 15px;
  border: 1px solid var(--border); border-radius: var(--r-btn); cursor: pointer;
  background: none; font-family: var(--font); transition: border-color .15s, background .15s, color .15s; }
.pill-opt:hover { border-color: var(--ink-muted); }
.pill-opt.is-active { border-color: var(--ink); background: var(--ink); color: var(--inv-text); }
.pill-opt:disabled { opacity: .4; cursor: not-allowed; }
.color-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.color-opt { width: 38px; height: 38px; border-radius: 4px; cursor: pointer;
  border: 2px solid transparent; outline: 2px solid transparent;
  outline-offset: 2px; transition: outline-color .15s, border-color .15s; padding: 0; }
.color-opt.is-active { outline-color: var(--ink);
  border-color: #fff;
  position: relative; }
.color-opt.is-active::after { content: "✓"; position: absolute; right: -6px; top: -6px;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--ink); color: var(--inv-text, #fff);
  font-size: 10px; line-height: 16px; text-align: center; font-weight: 700; }
.swatch-img { width: 72px; height: 72px; flex-shrink: 0; border-radius: 4px;
  overflow: hidden; border: 2px solid var(--line-soft); cursor: pointer;
  padding: 0; background: var(--surface-alt); transition: border-color .15s; }
.swatch-img:hover { border-color: var(--ink-muted); }
.swatch-img.is-active { border-color: var(--ink);
  outline: 2px solid var(--ink); outline-offset: 2px;
  position: relative; }
.swatch-img.is-active::after { content: "✓"; position: absolute; right: 4px; top: 4px;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--ink); color: var(--inv-text, #fff);
  font-size: 10px; line-height: 16px; text-align: center; font-weight: 700; }
.swatch-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.select-wrap { position: relative; }
.select-wrap select, .select { font-family: var(--font); font-size: 14px; color: var(--ink);
  background: var(--panel); border: 1px solid var(--border);
  border-radius: var(--r-input); padding: 13px 38px 13px 16px;
  width: 100%; cursor: pointer; outline: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237d766c' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; transition: border-color .15s; }
.select-wrap select:focus, .select:focus { border-color: var(--ink); }
.pdp__trust { display: flex; flex-direction: column; gap: 6px; padding: 14px 0; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.pdp__trust-line { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-muted); }
.pdp__trust-line::before { content: "✓"; color: var(--accent); font-weight: 700; flex-shrink: 0; }
.pdp-atc-row { display: flex; gap: 10px; align-items: stretch; }
.accordion { border-bottom: 1px solid var(--border); }
.accordion__head { display: flex; align-items: center; justify-content: space-between;
  padding: 15px 0; cursor: pointer; width: 100%;
  font-size: 13.5px; font-weight: 600; letter-spacing: .01em; user-select: none; text-align: left; }
.accordion__head svg { transition: transform .2s; flex-shrink: 0; color: var(--ink-muted); }
.accordion.is-open .accordion__head svg { transform: rotate(180deg); }
.accordion__body { display: none; padding: 0 0 16px; font-size: 14px; line-height: 1.75; color: var(--ink-muted); }
.accordion.is-open .accordion__body { display: block; }
.accordion__body :is(p,ul,ol) { margin: 0 0 10px; }
.accordion__body ul, .accordion__body ol { padding-left: 18px; list-style: revert; }
.cartpage { padding: 36px 0 80px; }
.cartpage__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 20px; }
.cartpage__title { font-size: clamp(22px, 2.5vw, 32px); font-weight: 700; letter-spacing: -.018em; }
.cart__list { border-top: 1px solid var(--border); }
.cart-row { display: grid; grid-template-columns: 110px 1fr 120px 110px;
  gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--border); align-items: start; }
.cart-row__img { display: block; width: 110px; height: 110px; border-radius: var(--r-card); overflow: hidden; background: var(--surface-alt); flex-shrink: 0; }
.cart-row__img img { width: 100%; height: 100%; object-fit: cover; }
.cart-row__name { font-size: 15px; font-weight: 600; color: var(--ink); line-height: 1.3; margin-bottom: 6px; display: block; transition: color .15s; }
.cart-row__name:hover, .cart-row__name[data-v3-state~="hover"] { color: var(--accent); }
.cart-row__opt { font-size: 12px; color: var(--ink-muted); margin-bottom: 4px; }
.cart-row__remove { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-muted); transition: color .15s; cursor: pointer; margin-top: 6px; }
.cart-row__remove:hover, .cart-row__remove[data-v3-state~="hover"] { color: var(--sale); }
.cart-row__price { font-size: 15px; font-weight: 600; color: var(--ink); text-align: right; }
.cart__grid { display: grid; grid-template-columns: 1fr 380px; gap: 48px; align-items: start; }
.cart__summary { background: var(--bg); border: 1px solid var(--border); border-radius: var(--r-card);
  padding: 28px; position: sticky; top: 132px; }
.cart__summary h3 { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 18px; }
.sumrow { display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; padding: 7px 0; color: var(--ink-muted); border-bottom: 1px solid var(--line-soft); }
.sumrow .v { font-weight: 600; color: var(--ink); }
.sumrow.total { font-size: 16px; font-weight: 700; color: var(--ink); border-bottom: none; padding-top: 12px; margin-top: 2px; }
.sumrow.total .v { font-size: 22px; letter-spacing: -.02em; }
.cart__summary .promo { display: flex; gap: 8px; padding: 14px 0; }
.cart__summary .promo .input { font-size: 13px; padding: 10px 12px; flex: 1; }
.cart__trust { display: flex; flex-direction: column; gap: 6px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line-soft); }
.cart__trust span { display: flex; align-items: center; gap: 7px; font-size: 12px; color: var(--ink-muted); }
.cart__trust em { color: var(--accent); font-style: normal; font-weight: 700; }
.cart-empty { padding: 80px 0; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.cart-empty h2 { font-size: 22px; font-weight: 600; letter-spacing: -.018em; }
.fchip { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600;
  letter-spacing: .04em; color: var(--ink); padding: 6px 12px; cursor: pointer;
  border: 1px solid var(--border); border-radius: var(--r-btn); background: var(--panel);
  transition: border-color .15s; }
.fchip:hover { border-color: var(--ink); }
.fchip.is-active { border-color: var(--ink); }
.buybox { display: flex; flex-direction: column; gap: 8px; }
.buy-option { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px;
  border: 1px solid var(--border); border-radius: var(--r-card); cursor: pointer; transition: border-color .15s; }
.buy-option.is-active { border-color: var(--ink); }
.buy-option__radio { width: 16px; height: 16px; border-radius: 50%; border: 1px solid var(--border); flex-shrink: 0; margin-top: 2px; position: relative; }
.buy-option.is-active .buy-option__radio { border-color: var(--ink); }
.buy-option.is-active .buy-option__radio::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--ink); }
.buy-option__main { display: flex; flex-direction: column; gap: 3px; }
.buy-option__name { font-size: 14px; font-weight: 600; color: var(--ink); }
.buy-option__sub { font-size: 12.5px; color: var(--ink-muted); line-height: 1.45; }
.subnote { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted); }
.cadences { display: flex; flex-wrap: wrap; gap: 8px; }
.cadence { border: 1px solid var(--border); border-radius: var(--r-card); padding: 10px 14px;
  cursor: pointer; text-align: left; transition: border-color .15s; background: var(--panel); min-width: 120px; }
.cadence.is-active { border-color: var(--ink); }
.cadence__t { font-size: 13px; font-weight: 600; color: var(--ink); }
.cadence__d { font-size: 13px; color: var(--ink); margin-top: 2px; }
.cadence__off { font-size: 11px; font-weight: 600; color: var(--accent); margin-top: 2px; }
.search-overlay { position: fixed; inset: 0; z-index: 1300; background: var(--bg); overflow-y: auto; }
.search-overlay__bar { border-bottom: 1px solid var(--border); background: var(--panel); position: sticky; top: 0; z-index: 2; }
.search-overlay__barinner { display: flex; align-items: center; gap: 16px; padding: 16px var(--gutter); max-width: var(--container); margin: 0 auto; }
.search-overlay__field { flex: 1; display: flex; align-items: center; gap: 10px; background: var(--bg); border: 1px solid var(--border); border-radius: var(--r-input); padding: 11px 16px; color: var(--ink-muted); }
.search-overlay__field input { flex: 1; border: 0; background: transparent; outline: none; font-family: var(--font); font-size: 15px; color: var(--ink); }
.search-overlay__layout { display: flex; gap: 32px; align-items: flex-start; }
.search-overlay__filters { width: 240px; flex: none; }
.search-overlay__results { flex: 1; min-width: 0; }
.search-overlay__state { text-align: center; padding: 72px 0; color: var(--ink-muted); }
.search-overlay__count { font-size: 13px; color: var(--ink-muted); margin-bottom: 18px; }
.content-page .accordion:first-of-type { border-top: 1px solid var(--border); }
.contact-form textarea.input { resize: vertical; min-height: 130px; font-family: var(--font); }
.cat-index-head { display: flex; flex-direction: column; gap: 10px; margin-bottom: 32px; }
.cat-index-title { font-size: clamp(28px, 3.2vw, 44px); font-weight: 600; letter-spacing: -.018em; margin: 0; }
.cat-index-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.cat-index-card { display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: var(--r-card); overflow: hidden; background: var(--panel); transition: border-color .15s; }
.cat-index-card:hover { border-color: var(--ink); }
.cat-index-card__media { aspect-ratio: 16/10; overflow: hidden; background: var(--surface-alt); position: relative; }
.cat-index-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(29,27,24,.06)); }
.cat-index-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.cat-index-card:hover .cat-index-card__media img { transform: scale(1.04); }
.cat-index-card__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; }
.cat-index-card__name { font-size: 15px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; }
.cat-index-card__count { font-size: 12px; color: var(--ink-muted); margin-top: 2px; }
.cat-index-card__cta { font-size: 11.5px; font-weight: 600; color: var(--accent); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
@media (max-width: 1024px) { .cat-browse { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 1024px) { .split__content { padding: 56px 40px; } }
@media (max-width: 1024px) { .footer__main { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media (max-width: 768px) { .hamburger { display: flex; } }
@media (max-width: 768px) { .header__search-wrap { display: none; } }
@media (max-width: 768px) { .header__msearch { display: flex; } }
@media (max-width: 768px) { .header__nav { display: none; } }
@media (max-width: 768px) { .icon-btn--account { display: none; } }
@media (max-width: 768px) { .header__top { gap: 10px; height: 60px; } }
@media (max-width: 768px) { .header__logo { flex: 1; display: flex; justify-content: center; } }
@media (max-width: 768px) { .header__logo img { height: 52px; } }
@media (max-width: 768px) { .cat-browse { grid-template-columns: repeat(2, 1fr); gap: 12px; } }
@media (max-width: 768px) { .usp-bar__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .split__content { padding: 40px 20px; } }
@media (max-width: 768px) { .split__stats { grid-template-columns: repeat(3, 1fr); gap: 16px; } }
@media (max-width: 768px) { .klarna-section { padding: 40px 0; } }
@media (max-width: 768px) { .klarna-steps { grid-template-columns: 1fr; gap: 24px; } }
@media (max-width: 768px) { .reviews-grid { grid-template-columns: 1fr; gap: 12px; } }
@media (max-width: 768px) { .insta-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) { .footer__main { grid-template-columns: 1fr; gap: 24px; } }
@media (max-width: 768px) { .footer__bottom { flex-direction: column; align-items: flex-start; } }
@media (max-width: 768px) { .cat-layout { grid-template-columns: 1fr; gap: 0; } }
@media (max-width: 768px) { .filter-sidebar { display: none; position: static; top: auto; } }
@media (max-width: 768px) { .filter-sidebar.is-mobile-open { display: block; margin-bottom: 24px; } }
@media (max-width: 768px) { .pdp-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; } }
@media (max-width: 768px) { .pdp-gallery { position: static; } }
@media (max-width: 768px) { .cart__grid { grid-template-columns: 1fr; gap: 24px; } }
@media (max-width: 768px) { .cart__summary { position: static; } }
@media (max-width: 768px) { .cart-row { grid-template-columns: 90px 1fr auto; } }
@media (max-width: 768px) { .cart-row__price { grid-column: 2; } }
@media (max-width: 768px) { .drawer { width: 100%; } }
@media (max-width: 768px) { .hero__arr { display: none; } }
@media (max-width: 768px) { .search-overlay__layout { flex-direction: column; } }
@media (max-width: 768px) { .search-overlay__filters { width: 100%; } }
@media (max-width: 768px) { .cat-index-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; } }
@media (max-width: 1024px) { .cat-index-grid { grid-template-columns: repeat(2, 1fr); } }
.pcard__name[data-v3-state~="hover"] { color: var(--accent); }
.pcard__brand { font-size: 10.5px; color: var(--ink-muted);
  letter-spacing: .06em; text-transform: uppercase; margin-bottom: 2px; }
.card-showcase__cell { display: flex; flex-direction: column; }
.pcard__media { object-fit: cover; }
.pcard__media a, .pcard__media img { object-fit: inherit; }
.filter-sidebar--drawer.is-mobile-open { display: block; }
.cat-index-grid--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1024px) { .cat-index-grid--3, .cat-index-grid--4 { grid-template-columns: repeat(2, 1fr); } }
.cat-index-grid--square .cat-index-card__media { aspect-ratio: 1 / 1; }
.cat-index-grid--portrait .cat-index-card__media { aspect-ratio: 3 / 4; }
.cat-index-grid--landscape .cat-index-card__media { aspect-ratio: 4 / 3; }
.pdp-gallery--thumbs-left .gallery__main { order: 2; }
.pdp-gallery--thumbs-left .gallery__thumbs-wrap { order: 1; }
.pdp-gallery--thumbs-left .gallery__thumbs, .pdp-gallery--thumbs-right .gallery__thumbs { flex-direction: column; overflow-x: hidden; overflow-y: auto; max-height: 520px; }
.pdp-gallery--thumbs-left .gallery__thumbs-nav, .pdp-gallery--thumbs-right .gallery__thumbs-nav { display: none; }
.pdp-gallery--fit-contain .gallery__main img { object-fit: contain; }
.pdp-gallery--fit-cover .gallery__main img { object-fit: cover; }
.pdp-lightbox { position: fixed; inset: 0; z-index: 2000; background: rgba(10,10,10,.92); display: flex; align-items: center; justify-content: center; }
.pdp-lightbox img { max-width: 92vw; max-height: 92vh; object-fit: contain; }
.pdp-lightbox__close { position: absolute; top: 18px; right: 22px; background: none; border: 0; color: #fff; font-size: 26px; cursor: pointer; }
.pdp-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); background: none; border: 0; color: #fff; font-size: 44px; cursor: pointer; padding: 12px 18px; }
.pdp-lightbox__nav--prev { left: 8px; }
.pdp-lightbox__nav--next { right: 8px; }
.cat-index-grid--circle .cat-index-card { text-align: center; border: 0; background: transparent; box-shadow: none; }
.cat-index-grid--circle .cat-index-card__media { aspect-ratio: 1 / 1; border-radius: 999px; overflow: hidden; }
.cat-index-grid--circle .cat-index-card:hover .cat-index-card__media { transform: scale(1.02); }
.cat-index-grid--circle .cat-index-card__row { justify-content: center; flex-direction: column; gap: 2px; align-items: center; }
.cat-index-grid--circle .cat-index-card__cta { display: none; }
.cat-index-grid--circle .cat-index-card__name { font-size: 13px; font-weight: 600; }
.cat-index-grid--circle .cat-index-card__count { font-size: 11px; color: var(--ink-muted); }
.cat-index-grid--circle .cat-index-card:nth-child(6n+1) .cat-index-card__media { background: linear-gradient(135deg,#e8f0f5,#d3dee6); }
.cat-index-grid--circle .cat-index-card:nth-child(6n+2) .cat-index-card__media { background: linear-gradient(135deg,#f5ede4,#e8d9c6); }
.cat-index-grid--circle .cat-index-card:nth-child(6n+3) .cat-index-card__media { background: linear-gradient(135deg,#ece8f0,#d9d2e2); }
.cat-index-grid--circle .cat-index-card:nth-child(6n+4) .cat-index-card__media { background: linear-gradient(135deg,#e4f0ea,#c9ddd0); }
.cat-index-grid--circle .cat-index-card:nth-child(6n+5) .cat-index-card__media { background: linear-gradient(135deg,#fcf2e6,#f2dfc2); }
.cat-index-grid--circle .cat-index-card:nth-child(6n+6) .cat-index-card__media { background: linear-gradient(135deg,#f5e4e4,#e6cbcb); }
.pcard__qa--inline { position: static; opacity: 1; transform: none;
  display: inline-flex; align-items: center; justify-content: center;
  width: auto; padding: 7px 14px; margin-left: auto;
  background: var(--inverse); color: var(--inv-text);
  border-radius: 999px; text-decoration: none; }
.pcard__qa--inline[disabled] { opacity: .6; }
@media (max-width: 767px) { .pdp-gallery--thumbs-left .gallery__main, .pdp-gallery--thumbs-right .gallery__main { margin-bottom: 10px; } }
@media (max-width: 767px) { .pdp-gallery--thumbs-left .gallery__thumbs, .pdp-gallery--thumbs-right .gallery__thumbs { flex-direction: row; overflow-x: auto; overflow-y: hidden; max-height: none; } }
@media (max-width: 767px) { .pdp-gallery--thumbs-left .gallery__thumbs-nav, .pdp-gallery--thumbs-right .gallery__thumbs-nav { display: none; } }
.subcat-pill.is-active { background: var(--ink, #111); color: #fff; border-color: var(--ink, #111); }
.subcat-pill.is-active .subcat-pill__n { color: rgba(255,255,255,.55); }
.pagination { display: flex; justify-content: space-between; align-items: center; margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--line, #e7e5df); font-size: 13px; }
.pagination .page-btn { width: 36px; height: 36px; border-radius: 8px; display: grid; place-items: center; font-size: 13px; font-weight: 600; color: var(--ink, #111); border: 1px solid transparent; background: none; cursor: pointer; padding: 0; }
.pagination .page-btn:hover { background: var(--bg, #fafaf8); }
.pagination .page-btn.is-active { background: var(--ink, #111); color: #fff; }
.pagination .page-btn--nav { border-color: var(--line, #e7e5df); background: var(--panel, #fff); }
.fchip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; background: var(--bg, #fafaf8); border: 1px solid var(--line, #e7e5df); border-radius: 999px; font-size: 12px; font-weight: 500; color: var(--ink, #111); cursor: pointer; font-family: var(--font); }
.result-count b { color: var(--ink, #111); font-weight: 600; }
.filter-bar .sort-select { border-radius: 999px; font-size: 12px; font-weight: 500; padding: 8px 32px 8px 14px; min-width: 0; }
.seofaq { background: var(--panel, #fff); border-top: 1px solid var(--line, #e7e5df); padding: 56px 0; }
.seofaq__grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 48px; align-items: start; }
@media (max-width: 900px) { .seofaq__grid { grid-template-columns: 1fr; } }
.seofaq__title { font-family: var(--font-heading); font-weight: 500; font-size: 32px; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 16px; }
.seofaq__title em { font-style: italic; font-weight: 400; }
.seofaq__lede { color: var(--ink-muted, #6b6b6b); font-size: 14px; line-height: 1.7; margin: 0; }
.seofaq__faq { display: flex; flex-direction: column; }
.seofaq__q { border-bottom: 1px solid var(--line, #e7e5df); padding: 16px 0; }
.seofaq__q:first-child { border-top: 1px solid var(--line, #e7e5df); }
.seofaq__q summary { cursor: pointer; list-style: none; font-family: var(--font-heading); font-size: 15px; font-weight: 500; display: flex; justify-content: space-between; align-items: center; letter-spacing: -.005em; }
.seofaq__q summary::-webkit-details-marker { display: none; }
.seofaq__q summary::after { content: "+"; font-size: 22px; color: var(--ink-muted, #6b6b6b); font-weight: 300; margin-left: 12px; line-height: 1; }
.seofaq__q[open] summary::after { content: "−"; }
.seofaq__q p { margin: 12px 0 0; font-size: 13px; color: var(--ink-muted, #6b6b6b); line-height: 1.6; }
.filter-item input[type="checkbox"] { appearance: none; width: 15px; height: 15px; border: 1.5px solid var(--line, #e7e5df); border-radius: 3px; position: relative; flex-shrink: 0; cursor: pointer; }
.filter-item input[type="checkbox"]:checked { background: var(--ink, #111); border-color: var(--ink, #111); }
.filter-item input[type="checkbox"]:checked::after { content: "✓"; position: absolute; color: #fff; font-size: 10px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.pdp-gallery--aspect-square .gallery__main img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
.pdp-gallery--aspect-portrait .gallery__main img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.heroS__stat .stat-num { font-size: 22px; font-weight: 650; color: var(--ink); }
.heroS__stat .stat-lbl { font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-muted); margin-top: 2px; }
.promoT { display: grid; gap: 20px; }
.promoT--two { grid-template-columns: 1fr 1fr; }
.promoT__tile { border-radius: 16px; padding: 48px 40px; min-height: 240px; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; background-size: cover; background-position: center; }
.promoT__eyebrow { font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 8px; color: rgba(255,255,255,.72); }
.promoT__tile--linen .promoT__eyebrow { color: var(--ink-muted); }
.promoT__heading { font-family: var(--font-display); font-size: 32px; font-weight: 500; line-height: 1.1; margin: 0 0 18px; color: #fff; }
.promoT__heading em { font-style: italic; font-weight: 400; }
.promoT__tile--linen .promoT__heading { color: var(--ink); }
.promoT__cta { border-radius: 999px; }
@media (max-width: 900px) { .promoT--two { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .promoT__tile { padding: 36px 24px; min-height: 190px; } }
@media (max-width: 900px) { .promoT__heading { font-size: 26px; } }
.quoteR { background: var(--paper, #faf9f7); }
.quoteR__wrap { max-width: 820px; text-align: center; }
.quoteR__stars { color: var(--accent); letter-spacing: 3px; font-size: 15px; margin: 0 0 18px; }
.quoteR__item { margin: 0; }
.quoteR__text { font-family: var(--font-display); font-size: clamp(24px, 3.2vw, 38px); font-weight: 450; line-height: 1.28; letter-spacing: -0.01em; color: var(--ink); margin: 0 0 20px; }
.quoteR__text em { font-style: italic; font-weight: 400; color: var(--accent-deep, inherit); }
.quoteR__attr { font-size: 13.5px; color: var(--ink-muted); }
.journalT { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.journalT__card { display: block; text-decoration: none; color: inherit; }
.journalT__media { aspect-ratio: 16 / 10; border-radius: 12px; background: linear-gradient(135deg, #efece6, #e7e2d9); overflow: hidden; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.journalT__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.journalT__media-ph { color: var(--ink-muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.journalT__meta { font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 6px; }
.journalT__title { font-family: var(--font-display); font-size: 21px; font-weight: 500; line-height: 1.25; margin: 0 0 8px; color: var(--ink); }
.journalT__title em { font-style: italic; font-weight: 400; }
.journalT__summary { font-size: 14px; line-height: 1.6; color: var(--ink-muted); margin: 0; }
a.journalT__card:hover .journalT__title { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) { .journalT { grid-template-columns: 1fr; gap: 24px; } }
.nlB { background: #1d1b18; color: var(--inv-text, #f5f3ef); padding: 64px 0; }
.nlB__wrap { max-width: 720px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.nlB__title { font-family: var(--font-display); font-size: clamp(30px, 4vw, 46px); font-weight: 500; line-height: 1.1; letter-spacing: -0.02em; margin: 14px 0 12px; color: #fff; }
.nlB__title em { font-style: italic; font-weight: 400; color: var(--accent); }
.nlB__sub { font-size: 14.5px; line-height: 1.65; color: rgba(245,243,239,.65); margin: 0 0 26px; max-width: 520px; }
.nlB__form { width: 100%; max-width: 480px; }
.nlB__row { display: flex; gap: 10px; }
.nlB__input { flex: 1; min-width: 0; border: 1px solid rgba(245,243,239,.25); background: rgba(255,255,255,.06); color: #fff; border-radius: 999px; padding: 12px 20px; font-size: 14px; }
.nlB__input::placeholder { color: rgba(245,243,239,.45); }
.nlB__btn { border-radius: 999px; padding: 12px 26px; }
.nlB__msg { font-size: 14px; margin: 0 0 12px; }
.nlB__msg--ok { color: #a7f3d0; }
.nlB__msg--err { color: #fecaca; }
@media (max-width: 640px) { .nlB__row { flex-direction: column; } }
@media (max-width: 640px) { .nlB__btn { width: 100%; } }

/* ── PRODUCT LANDING SECTIONS (16 Oct 2026): who-for, tier compare, full marker list, not included, sticky buy bar.
   Data comes from the product's metafields; every block hides itself when its field is empty. ── */
.whofor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.whofor li{display:flex;gap:12px;align-items:flex-start;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px 22px;font-size:15px;line-height:1.5;color:var(--ink)}
.whofor svg{width:18px;height:18px;stroke:var(--accent-deep);fill:none;stroke-width:2.4;flex:none;margin-top:3px}
.tiles--notinc .tile{align-items:flex-start;cursor:default}.tiles--notinc .tile:hover{border-color:var(--border);color:var(--ink)}
.tiles--notinc .tile svg{stroke:var(--muted);margin-top:2px}.tiles--notinc .tile small{display:block;margin-top:4px;line-height:1.5}
.tcmp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tcmp__col{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:30px;display:flex;flex-direction:column;gap:14px}
.tcmp__col--hot{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}
.tcmp__col h3{font-size:22px;text-transform:none;letter-spacing:-.01em}
.tcmp__n{font-family:var(--font-heading);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep)}
.tcmp__col .chk{font-size:14.5px}.tcmp__col .chk li{line-height:1.45}
.tcmp__price{margin-top:auto;display:flex;align-items:baseline;gap:10px;padding-top:8px}.tcmp__price b{font-size:28px;letter-spacing:-.02em}.tcmp__price span{font-size:13.5px;color:var(--ink-soft)}
.tcmp__col .btn{align-self:flex-start}
.mlist{display:flex;flex-direction:column;gap:10px}
.mlist__tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mlist__search{position:relative;display:block;min-width:280px}
.mlist__search svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:2;pointer-events:none}
.mlist__search input{padding-left:42px;min-height:44px}
.mlist__group{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card)}
.mlist__group summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px 22px;font-family:var(--font-heading);font-weight:600;font-size:16px;letter-spacing:-.01em}
.mlist__group summary::-webkit-details-marker{display:none}
.mlist__group summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);transition:transform .2s;margin-left:6px;flex:none}
.mlist__group[open] summary::after{transform:rotate(-135deg)}
.mlist__count{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--ink-soft);font-family:var(--font-body)}
.mlist__rows{list-style:none;margin:0;padding:0 22px 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.mlist__rows li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border);font-size:14.5px;min-width:0}
.mlist__name{font-weight:500;color:var(--ink)}.mlist__name small{display:block;font-size:12px;color:var(--muted);font-weight:400}
.mlist__tags{display:flex;gap:6px;flex-wrap:wrap}.mlist__tags .tag{padding:3px 8px;font-size:10px}
.mlist__also{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46%}
.mlist__none{margin-top:14px;font-size:14px;color:var(--ink-soft)}
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--paper);border-top:1px solid var(--border);box-shadow:0 -6px 24px rgba(10,22,34,.08)}
.buybar__in{display:flex;align-items:center;gap:16px;padding-top:10px;padding-bottom:10px}
.buybar__name{font-family:var(--font-heading);font-weight:600;font-size:15px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.buybar__price{font-size:18px;margin-left:auto;letter-spacing:-.02em}
@media(max-width:860px){.whofor,.tcmp,.mlist__rows{grid-template-columns:1fr}.mlist__also{display:none}.mlist__search{min-width:0;flex:1}.mlist__tools{width:100%}.buybar__name{font-size:13.5px}}

/* CHECK YOUR AREA (19 Oct 2026): route cards answer the postcode check; an unavailable route is dimmed */
.clinic.is-off{opacity:.55}
.clinic.is-off h3,.clinic.is-off .clinic__d{color:var(--ink-soft)}

/* WhatsApp chat button (20 Oct 2026) */
.wa-chat{position:fixed;right:18px;bottom:18px;z-index:60;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:#25d366;color:#fff;font-weight:700;font-size:14px;text-decoration:none;box-shadow:0 8px 24px rgba(10,22,34,.18);transition:transform .15s ease,box-shadow .15s ease}
.wa-chat:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(10,22,34,.22);color:#fff}
.wa-chat svg{width:22px;height:22px;flex:none}
@media (max-width:640px){.wa-chat{right:14px;bottom:14px;padding:12px 14px}.wa-chat span{display:none}}
@media print{.wa-chat{display:none}}

/* Biomarker library (21 Oct 2026) */
.lib .sec-head{max-width:760px}
.lib__note{font-size:13.5px;color:var(--muted);max-width:640px}
.lib__az{display:flex;flex-direction:column;gap:10px;margin:36px 0 48px;padding:22px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}
.lib__letter{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;font-size:14px}
.lib__letter b{font-family:var(--font-heading);font-size:15px;color:var(--accent-deep);min-width:22px}
.lib__letter a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent}
.lib__letter a:hover{color:var(--ink);border-bottom-color:var(--accent)}
.lib__system{margin-top:40px;scroll-margin-top:110px}
.lib__system .h3{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.lib__count{font-family:var(--font-heading);font-size:13px;font-weight:600;color:var(--accent-deep);background:var(--accent-tint);border-radius:999px;padding:3px 10px}
.lib__rows{display:flex;flex-direction:column;gap:8px}
.lib__row{border:1px solid var(--border);border-radius:14px;background:var(--surface);scroll-margin-top:110px}
.lib__row summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;list-style:none;font-family:var(--font-heading);font-weight:600;font-size:16px}
.lib__row summary::-webkit-details-marker{display:none}
.lib__row summary::after{content:"+";font-weight:500;color:var(--muted);margin-left:auto}
.lib__row[open] summary::after{content:"–"}
.lib__row summary small{font-family:var(--font);font-weight:400;font-size:13px;color:var(--muted);margin-left:8px}
.lib__body{padding:0 18px 16px;display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--ink-soft);line-height:1.55}
.lib__body b{color:var(--ink);font-weight:600;margin-right:4px}
.lib__in{font-size:13.5px;color:var(--muted)}
.mlist__name a{color:inherit;text-decoration:none;border-bottom:1px solid var(--border)}
.mlist__name a:hover{border-bottom-color:var(--accent)}
@media (max-width:640px){.lib__az{padding:16px}.lib__row summary{font-size:15px;padding:12px 14px}.lib__body{padding:0 14px 14px}}
/* Learn hub topic pills sit in a row beside the heading, not in a column (21 Oct 2026: .sec-head--row>div forced the column) */
.sec-head--row>.active-f{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;max-width:none}

/* founder photo shown whole (21 Oct 2026): the split slot takes the image's own aspect instead of 4:5 */
.split__img--natural{aspect-ratio:auto;height:auto}
.split__img--natural img{height:auto}
