/* GetPepharma storefront — 2026 conversion redesign.
   One self-hosted variable family (Schibsted Grotesk, SIL OFL), no external requests. */
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-display:swap;font-weight:400 900;src:url(../fonts/schibsted-grotesk-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-display:swap;font-weight:400 900;src:url(../fonts/schibsted-grotesk-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#0f2221;--ink-2:#405250;--ink-3:#5f706e;
  --teal:#0b8a8f;--deep:#08474a;--deeper:#053235;
  --mist:#edf4f3;--mist-2:#dfebe9;--line:#d2e0de;--paper:#fff;
  --label:#ffd34a;--label-ink:#3b2f00;
  --ok:#0b6e4f;--ok-bg:#e3f4ec;--error:#b42318;
  --r-xl:28px;--r-lg:18px;--r:12px;--r-sm:8px;
  --shadow:0 1px 2px rgba(8,71,74,.06),0 8px 24px -12px rgba(8,71,74,.25);
  --font:"Schibsted Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --gutter:clamp(16px,4vw,40px);
  --header-h:68px;
  box-sizing:border-box;
}
*,*::before,*::after{box-sizing:inherit}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;overflow-wrap:break-word;font-family:var(--font);font-size:16px;line-height:1.55;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,picture,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
h1,h2,h3{margin:0;line-height:1.08;letter-spacing:-.02em;font-weight:760}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.container{width:100%;max-width:1240px;margin-inline:auto;padding-inline:max(var(--gutter),env(safe-area-inset-left,0px))}
.icon{width:20px;height:20px;flex:none}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--deep);color:#fff;padding:10px 16px;border-radius:var(--r-sm);text-decoration:none;font-weight:650}
.skip-link:focus{top:12px}
[hidden]{display:none!important}

/* Buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:var(--r);border:1.5px solid transparent;font-weight:700;font-size:16px;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,transform .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;text-align:center}
.button:active{transform:translateY(1px)}
.button .icon{width:20px;height:20px;transition:transform .2s}
.button:hover .icon:last-child{transform:translateX(3px)}
.button-primary{background:var(--deep);color:#fff}
.button-primary:hover{background:var(--deeper)}
.button-outline{background:var(--paper);color:var(--deep);border-color:var(--deep)}
.button-outline:hover{background:var(--mist)}
.button-light{background:#fff;color:var(--deep)}
.button-light:hover{background:var(--mist)}
.button-xl{min-height:60px;font-size:clamp(16.5px,1.6vw,18px);padding:14px 20px;width:100%}
.button-small{min-height:40px;padding:8px 16px;font-size:15px}
.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--deep);font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;background:none;border:0;padding:4px 0;cursor:pointer}
.text-link .icon{width:18px;height:18px}

/* Announcement + header */
.announcement{background:var(--deeper);color:#d9ecea;font-size:13.5px}
.announcement-inner{display:flex;justify-content:center;align-items:center;gap:28px;min-height:38px;padding-block:6px}
.announcement span{display:inline-flex;align-items:center;gap:8px}
.announcement .icon{width:17px;height:17px;color:var(--label)}
.announcement-note{opacity:.8}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:24px;min-height:var(--header-h)}
.brand{display:block;flex:none}
.brand img{width:156px}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:10px 12px;border-radius:var(--r-sm);text-decoration:none;font-weight:560;font-size:15px;color:var(--ink-2)}
.nav a:hover{color:var(--ink);background:var(--mist)}
.header-actions{display:flex;align-items:center;gap:10px}
.language-switcher{position:relative;display:flex;align-items:center;gap:6px;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14px;font-weight:650;background:#fff}
.language-switcher:focus-within{outline:3px solid var(--teal);outline-offset:2px}
.language-switcher .icon{width:17px;height:17px;color:var(--ink-3)}
.language-switcher .language-chevron{width:14px;height:14px}
.language-select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;align-items:center;justify-content:center;cursor:pointer}
.secure-badge{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;margin-left:auto;font-weight:650;font-size:14.5px;color:var(--ok)}
.secure-badge .icon{width:18px;height:18px}
.checkout-header .header-actions{margin-left:16px}

/* Hero */
.hero{padding-block:28px 64px;background:var(--mist)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);grid-template-areas:"gallery head" "gallery buy";grid-template-rows:auto 1fr;column-gap:clamp(28px,4vw,64px);align-items:start}
.hero-head{grid-area:head;padding-top:4px}
.gallery{grid-area:gallery;position:sticky;top:calc(var(--header-h) + 20px)}
.buy-box{grid-area:buy;margin-top:24px}
.breadcrumb{display:flex;gap:8px;font-size:13.5px;color:var(--ink-3);margin-bottom:14px}
.breadcrumb a{color:inherit}
.product-title{font-size:clamp(44px,5.6vw,68px);font-weight:820;letter-spacing:-.045em;line-height:.95;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.dose-tag{display:inline-block;background:var(--label);color:var(--label-ink);font-size:.4em;letter-spacing:-.01em;font-weight:800;padding:.18em .5em .2em;border-radius:6px;transform:rotate(-3deg);box-shadow:0 1px 0 rgba(59,47,0,.25)}
.hero-description{margin-top:14px;font-size:18px;color:var(--ink-2);max-width:46ch}
.hero-price{display:none;margin-top:10px;font-size:18px;font-weight:750;color:var(--ink)}
.hero-price strong{color:var(--ink);font-size:20px;font-weight:800}

.gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--r-xl);background:#fbfbfb;box-shadow:var(--shadow);overscroll-behavior-x:contain}
.gallery-track::-webkit-scrollbar{display:none}
.slide{margin:0;scroll-snap-align:start;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.slide picture{width:100%;height:100%}
.slide img{width:100%;height:100%;object-fit:contain}
.slide-photo img{object-fit:cover}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}
.thumbnails{display:flex;gap:10px}
.thumb{padding:0;border:2px solid transparent;border-radius:var(--r);overflow:hidden;background:#fbfbfb;cursor:pointer;width:76px;height:60px}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb.active{border-color:var(--deep)}
.gallery-note{font-size:13px;color:var(--ink-3)}

/* Buy box */
.spec-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.spec-chips li{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:600}
.spec-chips .icon{width:17px;height:17px;color:var(--teal)}
.package-picker{border:0;margin:0;padding:0;min-width:0}
.package-picker legend{padding:0;margin-bottom:12px;font-weight:750;font-size:17px}
.pack-options{display:grid;gap:10px}
.pack-option{position:relative;display:block;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pack-option input{position:absolute;opacity:0;pointer-events:none}
.pack-content{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 14px;padding:14px 18px;border:1.5px solid var(--line);border-radius:var(--r-lg);background:#fff;transition:border-color .15s,box-shadow .15s,background-color .15s}
.pack-option:hover .pack-content{border-color:#9fbcb9}
.pack-option input:checked + .pack-content{border-color:var(--deep);box-shadow:0 0 0 1.5px var(--deep),var(--shadow);background:#fbfefd}
.pack-option input:focus-visible + .pack-content{outline:3px solid var(--teal);outline-offset:3px}
.radio-mark{width:22px;height:22px;border-radius:50%;border:2px solid #9fb2b0;align-self:start;margin-top:2px}
.pack-option input:checked + .pack-content .radio-mark{border-color:var(--deep);background:var(--deep);box-shadow:inset 0 0 0 4px #fff}
.pack-main{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;min-width:0}
.pack-title{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.pack-name{font-weight:780;font-size:18px;letter-spacing:-.01em}
.pack-vials{font-size:14px;color:var(--ink-3)}
.rack{display:block;margin-top:6px;width:min(calc(var(--rows,1)*70px),100%);height:11px;background:#c3d4d2;-webkit-mask:url(../images/vial.svg) 0 100%/calc(100% / (var(--rows,1) * 10)) auto repeat-x;mask:url(../images/vial.svg) 0 100%/calc(100% / (var(--rows,1) * 10)) auto repeat-x;transition:background-color .15s}
.pack-option input:checked + .pack-content .rack{background:var(--teal)}
.pack-price{display:grid;grid-template-columns:auto auto;justify-content:end;justify-items:end;align-items:baseline;column-gap:8px;text-align:right;row-gap:1px}
.pack-badges,.pack-unit{grid-column:1/-1}
.pack-compare{grid-column:1;grid-row:2}.pack-total{grid-column:2;grid-row:2}
.pack-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-bottom:4px}
.pack-label{font-size:12.5px;font-weight:750;padding:3px 8px;border-radius:6px;background:var(--mist);color:var(--ink-2);white-space:nowrap}
.pack-option[data-qty="2"] .pack-label,.pack-option[data-qty="3"] .pack-label{background:var(--label);color:var(--label-ink)}
.pack-flag{font-size:12.5px;font-weight:750;padding:3px 8px;border-radius:6px;background:var(--deep);color:#fff;white-space:nowrap}
.pack-total{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.pack-compare{font-size:14px;color:var(--ink-3);text-decoration-thickness:1.5px}
.pack-compare:empty{display:none}
.pack-unit{font-size:13.5px;color:var(--ok);font-weight:650}
.pack-option[data-qty="1"] .pack-unit{color:var(--ink-3);font-weight:500}
.pack-footnote{font-size:13px;color:var(--ink-3);margin-top:8px}

.buy-action{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 22px;margin-top:18px;padding-top:18px;border-top:1px solid #c9dad8}
.buy-summary{display:grid;justify-items:start;gap:2px}
.total-label{display:block;font-size:13.5px;color:var(--ink-3);font-weight:600}
#product-total{font-size:32px;font-weight:820;letter-spacing:-.03em;line-height:1}
.savings-pill{display:inline-block;margin-top:4px;background:var(--ok-bg);color:var(--ok);font-weight:750;padding:4px 10px;border-radius:999px;font-size:13.5px}
.delivery-estimate{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;font-size:14.5px;color:var(--ink-2);text-align:center}
.delivery-estimate .icon{width:18px;height:18px;color:var(--teal)}
.assurance{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 18px;margin-top:20px;padding:16px 18px;border-radius:var(--r-lg);background:rgba(255,255,255,.6);border:1px solid var(--line)}
.assurance li{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:580;line-height:1.3}
.assurance .icon{width:18px;height:18px;color:var(--deep)}
.research-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:13.5px;color:var(--ink-2)}
.research-note .icon{width:18px;height:18px;color:var(--ink-3);margin-top:1px}

/* Benefit strip */
.benefit-strip{border-block:1px solid var(--line);background:#fff}
.benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.benefits > div{display:flex;gap:14px;align-items:flex-start;padding:24px 20px}
.benefits > div + div{border-left:1px solid var(--line)}
.benefits .icon{width:24px;height:24px;color:var(--teal);margin-top:2px}
.benefits p{display:grid;gap:2px}
.benefits strong{font-size:15.5px}
.benefits span{font-size:14px;color:var(--ink-3)}

/* Sections */
.section{padding-block:clamp(56px,8vw,104px)}
.section-head{max-width:620px;margin-bottom:clamp(28px,4vw,44px)}
.section-head h2{font-size:clamp(30px,4.2vw,48px);font-weight:790;letter-spacing:-.035em}
.section-head p{margin-top:14px;font-size:17.5px;color:var(--ink-2);max-width:52ch}
.section-head .text-link{margin-top:18px}

.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.compare-card{position:relative;display:flex;flex-direction:column;padding:28px 26px 26px;border:1.5px solid var(--line);border-radius:var(--r-lg);background:#fff}
.compare-card.featured{border-color:var(--deep);box-shadow:0 0 0 1.5px var(--deep),var(--shadow)}
.compare-card .pack-flag{position:absolute;top:-12px;left:24px;font-size:13px;padding:4px 10px}
.rack-large{width:140px;max-width:none;height:calc(var(--rows,1)*21px);-webkit-mask-size:14px 21px;mask-size:14px 21px;-webkit-mask-repeat:repeat;mask-repeat:repeat;-webkit-mask-position:0 0;mask-position:0 0;background:var(--teal);margin:0 0 18px}
.compare-name{font-size:24px;font-weight:800;letter-spacing:-.02em}
.compare-vials{color:var(--ink-3);margin-top:2px}
.unit-bar{height:8px;border-radius:99px;background:var(--mist);margin:22px 0 12px;overflow:hidden}
.unit-bar span{display:block;height:100%;width:var(--w);background:var(--teal);border-radius:inherit}
.compare-unit strong{font-size:28px;font-weight:820;letter-spacing:-.03em}
.compare-unit span{color:var(--ink-3)}
.compare-total{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 22px;color:var(--ink-2)}
.compare-total-value{font-weight:700;color:var(--ink)}
.compare-save{font-size:13px;font-weight:750;padding:3px 8px;border-radius:6px;background:var(--label);color:var(--label-ink)}
.compare-card[data-qty="1"] .compare-save{background:var(--mist);color:var(--ink-2)}
.compare-card .button{margin-top:auto;width:100%}

.steps-section{background:var(--mist)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.steps li{position:relative;padding:28px 26px;background:#fff;border-radius:var(--r-lg)}
.step-num{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--deep);color:#fff;font-weight:800;font-size:18px;margin-bottom:22px}
.steps li:not(:last-child)::after{content:"";position:absolute;top:50px;left:calc(26px + 44px + 12px);right:-18px;height:2px;background:repeating-linear-gradient(90deg,var(--teal) 0 6px,transparent 6px 12px);opacity:.5}
.steps h3{font-size:20px;letter-spacing:-.015em}
.steps p{margin-top:8px;color:var(--ink-2)}

.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:stretch}
.spec-card{padding:clamp(24px,3.5vw,40px);border:1.5px solid var(--line);border-radius:var(--r-lg)}
.spec-card h2{font-size:26px;letter-spacing:-.025em;margin-bottom:12px}
.spec-card dl{margin:0}
.spec-card dl div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.spec-card dt{color:var(--ink-3)}
.spec-card dd{margin:0;font-weight:680;text-align:right;min-width:0}
.spec-card dt{min-width:0}
.spec-foot{margin-top:16px;font-size:14px;color:var(--ink-3)}
.doc-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:420px;border-radius:var(--r-lg);overflow:hidden;background:var(--deeper);color:#fff;isolation:isolate}
.doc-card picture{position:absolute;inset:0;z-index:-2}
.doc-card img{width:100%;height:100%;object-fit:cover;opacity:.6}
.doc-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,50,53,0) 10%,rgba(5,50,53,.94) 66%)}
.doc-copy{padding:clamp(24px,3.5vw,40px)}
.doc-copy h2{font-size:clamp(26px,3vw,34px);letter-spacing:-.03em}
.doc-copy p{margin:12px 0 22px;color:#d5e8e6;max-width:46ch}

.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:start}
.faq-grid .section-head{position:sticky;top:calc(var(--header-h) + 24px)}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 2px;cursor:pointer;font-weight:680;font-size:17px;list-style:none;min-height:56px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .icon{transition:transform .2s;color:var(--teal)}
.faq-list details[open] summary .icon{transform:rotate(45deg)}
.faq-list details p{padding:0 2px 22px;color:var(--ink-2);max-width:62ch}

.bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:clamp(56px,8vw,96px);padding:clamp(28px,4vw,48px);border-radius:var(--r-xl);background:var(--deep);color:#fff}
.bottom-cta h2{font-size:clamp(28px,3.6vw,42px);letter-spacing:-.035em}
.bottom-cta p{margin-top:8px;color:#cfe5e3}
.bottom-cta-action{display:flex;align-items:center;gap:20px;flex:none}
#final-total{font-size:30px;font-weight:820;letter-spacing:-.03em}
.bottom-cta .button-xl{width:auto}

/* Footer */
.site-footer{background:var(--deeper);color:#cfe2e0;padding-block:48px calc(28px + env(safe-area-inset-bottom,0px));font-size:14.5px}
.footer-top{display:grid;grid-template-columns:1.2fr 1fr auto;gap:32px;align-items:start;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-brand{font-size:28px;font-weight:800;letter-spacing:-.035em;color:#fff;text-decoration:none}
.footer-brand span{color:#4fc3c7}
.footer-top p{margin-top:6px}
.footer-links{display:grid;gap:8px;justify-items:start}
.footer-links a,.footer-contact{color:#fff;text-decoration:none}
.footer-links a:hover,.footer-contact:hover span{text-decoration:underline}
.footer-contact{display:grid;gap:2px;text-align:right;font-weight:700;font-size:17px}
.footer-contact small{font-weight:400;font-size:14px;color:#cfe2e0}
.footer-notice{padding-block:22px;color:#a9c6c3;font-size:13.5px;max-width:90ch}
.footer-notice strong{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;font-size:13px;color:#a9c6c3}

/* Sticky purchase bar */
.sticky-buy{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -8px 24px -16px rgba(8,71,74,.4);animation:sticky-in .22s ease-out}
.sticky-info{display:grid;line-height:1.25;min-width:0}
.sticky-info strong{font-size:20px;font-weight:820;letter-spacing:-.02em}
.sticky-info span{font-size:13px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-buy .button{min-height:52px;padding-inline:22px;flex:none}
@keyframes sticky-in{from{transform:translateY(100%)}to{transform:none}}

/* Checkout */
.checkout-page{background:var(--mist)}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:clamp(24px,4vw,56px);align-items:start;padding-block:28px 72px}
.checkout-main{background:#fff;border-radius:var(--r-xl);padding:clamp(20px,4vw,44px);box-shadow:var(--shadow);min-width:0}
.back-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-3);text-decoration:none;font-weight:600}
.back-link .icon{width:17px;height:17px}
.back-link:hover{color:var(--ink)}
.checkout-main h1{font-size:clamp(32px,4vw,44px);letter-spacing:-.04em;margin-top:10px}
.checkout-steps{display:flex;gap:10px;margin:18px 0 28px;font-size:14.5px;font-weight:650;color:var(--ink-3)}
.checkout-steps li{display:flex;align-items:center;gap:8px;flex:1;padding-bottom:10px;border-bottom:3px solid var(--line)}
.checkout-steps li span{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:var(--mist-2);font-size:13px}
.checkout-steps li.current{color:var(--ink);border-color:var(--deep)}
.checkout-steps li.current span{background:var(--deep);color:#fff}
.package-picker.compact .pack-content{padding:12px 14px}
.package-picker.compact .rack{display:none}
.package-picker.compact .pack-name{font-size:16.5px}
.package-picker.compact .pack-total{font-size:19px}
.form-section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin:32px 0 16px}
.form-section-heading h2{font-size:22px;letter-spacing:-.02em}
.form-section-heading span{font-size:13.5px;color:var(--ink-3)}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px}
.form-field{display:grid;gap:6px;margin-bottom:14px;min-width:0}
.form-field label{font-weight:650;font-size:14.5px}
.form-field input,.form-field select{width:100%;min-height:52px;padding:12px 14px;border:1.5px solid #c2d3d1;border-radius:var(--r);background:#fff;font-size:16px;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
.form-field input:hover,.form-field select:hover{border-color:#94b0ad}
.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--deep);box-shadow:0 0 0 3px rgba(11,138,143,.22)}
.form-field [aria-invalid="true"]{border-color:var(--error);background:#fffafa}
.select-wrap{position:relative}
.select-wrap select{padding-right:44px}
.select-wrap .icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--ink-3)}
.field-error{font-size:13.5px;color:var(--error);font-weight:600}
.field-error:empty{display:none}
.field-hint{font-size:13px;color:var(--ink-3);margin:-8px 0 14px}
.delivery-option{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1.5px solid var(--deep);border-radius:var(--r);background:#fbfefd;margin:8px 0 18px}
.delivery-option .icon{color:var(--teal)}
.delivery-option div{display:grid;flex:1}
.delivery-option span{font-size:14px;color:var(--ink-3)}
.free-label{color:var(--ok);font-weight:750}
.consent{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r);background:var(--mist);font-size:14.5px;cursor:pointer}
.consent input{width:22px;height:22px;flex:none;margin:1px 0 0;accent-color:var(--deep)}
.consent + .field-error{display:block;margin-top:6px}
.consent + .field-error:empty{display:none}
.form-error{margin:14px 0 0;padding:12px 14px;border-radius:var(--r);background:#fdeceb;color:var(--error);font-weight:650;font-size:14.5px}
#details-step > .button-xl{margin-top:20px}
.checkout-assurance{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-top:14px;font-size:13.5px;color:var(--ink-2)}
.checkout-assurance li{display:flex;align-items:center;gap:7px}
.checkout-assurance .icon{width:17px;height:17px;color:var(--ok)}
.under-button{font-size:13.5px;color:var(--ink-3);margin-top:12px;text-align:center}
.review-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.review-heading h2{font-size:22px}
.review-heading h2:focus{outline:none}
.review-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:20px;border-radius:var(--r-lg);background:var(--mist)}
.review-card h3{font-size:14px;color:var(--ink-3);font-weight:650;letter-spacing:0;margin-bottom:6px}
.review-card p{white-space:pre-line;overflow-wrap:anywhere}
.payment-panel{margin-top:20px;padding:28px;border:1.5px dashed #a9c0be;border-radius:var(--r-lg);text-align:center;display:grid;justify-items:center;gap:10px}
.payment-panel iframe{width:100%;border:0;min-height:420px}
.payment-panel h2{font-size:22px}
.payment-panel p{color:var(--ink-2);max-width:48ch}
.round-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--mist);color:var(--deep)}
.round-icon .icon{width:24px;height:24px}

.order-aside{position:sticky;top:calc(var(--header-h) + 20px);display:grid;gap:14px;min-width:0}
.order-summary{background:#fff;border-radius:var(--r-xl);padding:24px;box-shadow:var(--shadow)}
.summary-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.summary-heading h2{font-size:20px}
.summary-toggle{display:none;border:0;background:none;color:var(--deep);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px 0;min-height:40px}
.compact-row{display:none}
.summary-product{display:flex;gap:14px;align-items:center;margin:18px 0 6px}
.summary-product picture{flex:none}
.summary-product img{width:84px;height:66px;object-fit:cover;border-radius:var(--r);background:#fbfbfb}
.summary-product div{display:grid;font-size:14px;color:var(--ink-3)}
.summary-product strong{color:var(--ink);font-size:16px}
.summary-lines{margin:0}
.summary-lines div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.summary-lines dt{color:var(--ink-2)}
.summary-lines dd{margin:0;font-weight:650}
#summary-savings{color:var(--ok)}
.summary-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:16px;font-weight:750}
.summary-total small{font-weight:500;color:var(--ink-3);font-size:13px}
#summary-total{font-size:28px;font-weight:820;letter-spacing:-.03em}
.upsell{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:14px;border-radius:var(--r);background:#fff8dc;border:1px solid #f1d98a}
.upsell div{display:grid;font-size:13.5px;color:var(--ink-2);line-height:1.35}
.upsell strong{color:var(--ink);font-size:14.5px}
.upsell .button{flex:none}
.summary-note{font-size:13px;color:var(--ink-3);margin-top:14px}
.help-card{display:flex;gap:14px;padding:20px 22px;border-radius:var(--r-lg);background:#fff}
.help-card .icon{color:var(--teal);margin-top:2px}
.help-card p{font-size:14px;color:var(--ink-2)}
.help-card a{font-weight:700;color:var(--deep);font-size:14.5px}
.order-aside .research-note{margin:0 4px}

/* Status page */
.status-page{background:var(--mist)}
.status-main{padding-block:clamp(40px,8vw,96px)}
.status-card{max-width:620px;margin-inline:auto;background:#fff;border-radius:var(--r-xl);padding:clamp(28px,5vw,52px);text-align:center;display:grid;justify-items:center;gap:14px;box-shadow:var(--shadow)}
.status-card h1{font-size:clamp(30px,4vw,40px);letter-spacing:-.035em}
.status-card p{color:var(--ink-2)}
.order-reference{font-weight:700;color:var(--ink)!important;background:var(--mist);padding:8px 14px;border-radius:var(--r-sm);overflow-wrap:anywhere}
.status-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 24px;margin-top:8px}

.noscript-note{position:fixed;bottom:0;left:0;right:0;padding:14px;background:var(--label);color:var(--label-ink);text-align:center;font-weight:650;z-index:60}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .nav a{padding-inline:9px;font-size:14.5px}
}
@media (max-width:1100px){
  .buy-action{grid-template-columns:minmax(0,1fr)}
  .buy-summary{grid-template-columns:auto 1fr;align-items:center;column-gap:12px}
  .buy-summary .total-label{grid-column:1/-1}
  .savings-pill{justify-self:start;margin-top:0}
  .menu-toggle{display:inline-flex}
  .nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;gap:0;margin:0;padding:8px var(--gutter) 16px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 16px 24px -16px rgba(8,71,74,.35)}
  .nav.open{display:flex}
  .nav a{padding:14px 4px;font-size:17px;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink)}
  .nav a:last-child{border-bottom:0}
  .header-actions{margin-left:auto}
  .benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .benefits > div:nth-child(3){border-left:0}
  .benefits > div:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:1024px){
  .bottom-cta{flex-direction:column;align-items:flex-start}
  .bottom-cta-action{width:100%;justify-content:space-between}
  .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .footer-contact{text-align:left;grid-column:1/-1}
}
@media (max-width:900px){
  .assurance{grid-template-columns:minmax(0,1fr)}
  .hero-grid{column-gap:28px}
  :root{--header-h:62px}
  .detail-grid{grid-template-columns:minmax(0,1fr)}
  .doc-card{min-height:380px}
  .faq-grid{grid-template-columns:minmax(0,1fr)}
  .faq-grid .section-head{position:static;margin-bottom:8px}
  .checkout-layout{grid-template-columns:minmax(0,1fr);padding-top:0}
  .order-aside{position:static;order:-1;margin-inline:calc(-1 * var(--gutter));gap:0}
  .order-aside .help-card,.order-aside .research-note{display:none}
  .order-summary{border-radius:0;box-shadow:none;border-bottom:1px solid var(--line);padding:14px var(--gutter)}
  .summary-toggle{display:inline-block}
  .summary-heading h2{font-size:17px}
  .compact-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .compact-quantity{font-size:14.5px;color:var(--ink-2)}
  .compact-total{font-size:20px;font-weight:820}
  .order-summary.summary-collapsed .upsell,.order-summary.summary-collapsed .summary-body,.order-summary.summary-collapsed .summary-total,.order-summary.summary-collapsed .summary-note,.order-summary.summary-collapsed .pack-footnote{display:none}
  .order-summary:not(.summary-collapsed) .compact-row{display:none}
  .checkout-main{margin-top:20px}
}
@media (max-width:700px){
  .hero{padding-top:12px}
  .hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "gallery" "buy";grid-template-rows:none}
  .hero-head,.gallery,.buy-box{max-width:640px;width:100%;justify-self:center}
  .gallery{position:static;margin-top:18px}
  .slide{aspect-ratio:4/3}
  .hero-price{display:block}
  .buy-box{margin-top:24px}
}
@media (max-width:640px){
  .compare-grid{grid-template-columns:minmax(0,1fr);max-width:560px}
  .compare-card{display:grid;grid-template-columns:1fr auto;column-gap:16px;padding:22px}
  .compare-card > *{grid-column:1/-1}
  .compare-card .rack-large{grid-column:2;grid-row:1/3;margin:0;align-self:start;width:100px;height:calc(var(--rows,1)*15px);-webkit-mask-size:10px 15px;mask-size:10px 15px}
  .compare-card .compare-name{grid-column:1;grid-row:1}
  .compare-card .compare-vials{grid-column:1;grid-row:2}
  .compare-card .pack-flag{position:absolute}
  .steps{grid-template-columns:minmax(0,1fr);max-width:560px}
  .steps li{display:grid;grid-template-columns:44px 1fr;column-gap:18px;padding:22px}
  .steps li .step-num{grid-row:1/3;margin:0}
  .steps li:not(:last-child)::after{top:auto;bottom:-18px;left:calc(22px + 21px);right:auto;width:2px;height:18px;background:repeating-linear-gradient(180deg,var(--teal) 0 4px,transparent 4px 8px)}
  .announcement-inner{gap:14px;font-size:13px}
  .announcement-extra,.announcement-note{display:none!important}
  .brand img{width:132px}
  .header-order{display:none}
  .header-inner{gap:12px}
  .product-title{font-size:clamp(40px,12vw,56px)}
  .hero-description{font-size:16.5px;margin-top:12px}
  .gallery-track{border-radius:var(--r-lg)}
  .gallery-note{font-size:12px;text-align:right}
  .thumb{width:54px;height:44px}
  .slide{aspect-ratio:3/2}
  .slide:first-child img{transform:scale(1.18)}
  .gallery-toolbar{margin-top:10px}
  .pack-content{padding:14px;gap:4px 12px}
  .pack-name{font-size:17px}
  .pack-total{font-size:20px}
  .assurance{grid-template-columns:minmax(0,1fr);gap:10px}
  #product-total{font-size:32px}
  .benefits > div{padding:16px 12px 16px 0;gap:10px}
  .benefits > div:nth-child(even){padding-left:12px}
  .benefits .icon{width:20px;height:20px}
  .benefits strong{font-size:14.5px}
  .benefits span{font-size:13px}
  .bottom-cta{margin-inline:var(--gutter);width:auto}
  .bottom-cta-action{flex-direction:column;align-items:stretch;gap:12px}
  .bottom-cta .button-xl{width:100%}
  .footer-top{grid-template-columns:minmax(0,1fr)}
  .footer-bottom{flex-direction:column;gap:4px}
  .product-page .site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .review-card{grid-template-columns:minmax(0,1fr)}
  .checkout-main{margin-inline:calc(-1 * var(--gutter));border-radius:0;box-shadow:none;margin-top:0}
  .checkout-header .secure-badge{font-size:13px;gap:5px}
  .checkout-header .header-actions{margin-left:8px}
  .checkout-steps{font-size:13.5px}
  .upsell{flex-direction:column;align-items:stretch}
}
@media (max-width:480px){
  .checkout-header .secure-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .checkout-header .secure-badge .icon{width:22px;height:22px}
  h2,h3,p,dt,dd,li,.benefits strong{-webkit-hyphens:auto;hyphens:auto}
}
@media (max-width:380px){
  .pack-content{padding:12px;gap:4px 10px}
  .pack-vials{font-size:13px}
  .pack-total{font-size:19px}
  .pack-flag,.pack-label{font-size:11.5px;padding:2px 6px}
  .product-title{gap:4px 12px}
  .brand img{width:112px}
  .sticky-buy .button{padding-inline:16px}
  .checkout-header .secure-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .checkout-header .secure-badge .icon{width:22px;height:22px}
}
@media (hover:none){.button:hover .icon:last-child{transform:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
@media print{.announcement,.site-header,.sticky-buy,.bottom-cta{display:none}}

/* ---------- Conversion modules (js/conversion.js) ---------- */
.demo-tag{display:inline-block;vertical-align:middle;margin-left:6px;padding:1px 7px;border-radius:5px;background:#7a1fa2;color:#fff;font:700 11px/1.6 var(--font);letter-spacing:.02em}
.demo-banner{background:#7a1fa2;color:#fff;font-size:13px;font-weight:600;text-align:center;padding:6px 12px}
.promo-countdown:not(.announcement-promo){display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin-bottom:16px;padding:12px 16px;border-radius:var(--r-lg);background:var(--deeper);color:#fff}
.promo-head{font-weight:700;font-size:15px}
.promo-units{display:flex;gap:6px}
.promo-unit{display:grid;justify-items:center;min-width:48px;padding:6px 4px;border-radius:var(--r-sm);background:rgba(255,255,255,.1)}
.promo-unit strong{font-size:20px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.promo-unit small{font-size:11px;color:#bfe0dd}
.announcement-promo{font-weight:700;color:var(--label)!important;font-variant-numeric:tabular-nums}
.stock-note{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:14.5px;font-weight:650;color:var(--ok)}
.stock-note.low{color:#9a4b00}
.stock-dot{width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 18%,transparent)}
.quality-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.quality-badges li{padding:6px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13.5px;font-weight:620}
.quality-badges .quality-link,.quality-badges .quality-demo{border:0;background:none;padding:6px 2px}
.quality-badges a{color:var(--deep);font-weight:700}
.reviews-section{background:var(--paper);padding-top:0}
.reviews-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;margin-bottom:28px}
.reviews-head h2{font-size:clamp(28px,3.6vw,40px);letter-spacing:-.035em}
.reviews-summary{display:flex;align-items:center;gap:10px;color:var(--ink-2)}
.reviews-summary strong{font-size:22px;color:var(--ink)}
.stars{color:#e0a800;letter-spacing:2px;font-size:18px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.review-card{display:flex;flex-direction:column;gap:12px;padding:24px;border:1.5px solid var(--line);border-radius:var(--r-lg)}
.review-text{color:var(--ink);font-size:16px}
.review-meta{margin-top:auto;display:grid;gap:2px;font-size:13.5px;color:var(--ink-3)}
.review-meta strong{color:var(--ink);font-size:14.5px}
.review-meta .verified{color:var(--ok);font-weight:700}
.order-toast{position:fixed;left:16px;bottom:16px;z-index:60;display:flex;align-items:center;gap:12px;width:min(360px,calc(100% - 32px));padding:12px 12px 12px 14px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);box-shadow:0 12px 32px -12px rgba(8,71,74,.45);animation:toast-in .3s ease-out}
.order-toast.leaving{opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.toast-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--mist);color:var(--teal)}
.toast-icon svg{width:20px;height:20px}
.toast-body{display:grid;gap:1px;min-width:0;font-size:14px;line-height:1.35}
.toast-body span{color:var(--ink-3);font-size:13px}
.toast-body .demo-tag{justify-self:start;margin:4px 0 0}
.toast-close{flex:none;margin-left:auto;width:36px;height:36px;border:0;border-radius:50%;background:none;font-size:22px;line-height:1;color:var(--ink-3);cursor:pointer}
.toast-close:hover{background:var(--mist)}
@keyframes toast-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.quick-buy{width:min(480px,calc(100% - 32px));max-height:calc(100% - 32px);padding:22px;border:0;border-radius:var(--r-xl);background:#fff;color:var(--ink);box-shadow:0 24px 60px -20px rgba(5,50,53,.5)}
.quick-buy::backdrop{background:rgba(5,50,53,.55)}
.quick-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.quick-top h2{font-size:22px}
.quick-close{width:44px;height:44px;border:0;border-radius:50%;background:var(--mist);font-size:24px;cursor:pointer}
.quick-product{color:var(--ink-3);margin:2px 0 16px}
.quick-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.quick-pack{display:grid;justify-items:center;gap:2px;padding:12px 6px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;cursor:pointer;text-align:center}
.quick-pack strong{font-size:15px}
.quick-pack span{font-weight:800;font-size:17px}
.quick-pack small{font-size:11.5px;font-weight:700;color:var(--ink-3)}
.quick-pack[aria-checked="true"]{border-color:var(--deep);box-shadow:0 0 0 1.5px var(--deep);background:#fbfefd}
.quick-pack[aria-checked="true"] small{color:var(--ok)}
.quick-total{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:18px 0 14px}
.quick-total span:first-child{color:var(--ink-3);font-weight:600}
.quick-total strong{font-size:28px;font-weight:820;letter-spacing:-.03em}
.quick-note{text-align:center;font-size:13.5px;color:var(--ink-2);margin-top:10px}
body:has(#sticky-buy:not([hidden])) .order-toast{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
@media (max-width:900px){.reviews-grid{grid-template-columns:minmax(0,1fr);max-width:640px}}
@media (max-width:640px){
  .quick-buy{width:100%;max-width:100%;margin:auto 0 0;border-radius:var(--r-xl) var(--r-xl) 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px))}
  .order-toast{left:12px;right:12px;width:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:10px 8px 10px 12px}
  .toast-icon{width:34px;height:34px}
  .promo-countdown:not(.announcement-promo){padding:10px 12px}
  .promo-unit{min-width:42px}
}
@media (max-width:380px){.quick-pack small{font-size:10.5px}}
@media (prefers-reduced-motion:reduce){.order-toast{animation:none}}
@media (max-width:640px){.announcement-inner:has(.announcement-promo) > span:not(.announcement-promo){display:none}}

/* ---------- One-page checkout: numbered sections + payment slot ---------- */
.step-dot{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:8px;border-radius:50%;background:var(--deep);color:#fff;font-size:14px;font-weight:800;vertical-align:2px;letter-spacing:0}
.package-picker.compact legend{font-size:22px;letter-spacing:-.02em;font-weight:760;margin-bottom:16px}
.form-section-heading h2{display:flex;align-items:center}
.secure-inline{display:inline-flex;align-items:center;gap:6px;color:var(--ok)!important;font-weight:650}
.secure-inline .icon{width:16px;height:16px}
.payment-slot{min-height:180px;border-radius:var(--r-lg)}
.payment-slot iframe{display:block;width:100%;min-height:420px;border:0}
.payment-placeholder{display:grid;place-content:center;gap:8px;min-height:200px;padding:28px 24px;border:2px dashed #c6d6d4;border-radius:var(--r-lg);background:#f6f9f8;text-align:center}
.payment-placeholder strong{font-size:17px;color:var(--ink-2)}
.payment-placeholder p{font-size:15px;color:var(--ink-3);max-width:40ch;margin-inline:auto}
.payment-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 18px;font-size:13.5px;color:var(--ink-2);text-align:center}
.payment-note .icon{width:16px;height:16px;color:var(--ok);flex:none}
#place-order{margin-top:4px;box-shadow:0 10px 24px -12px rgba(8,71,74,.6)}
#place-order[aria-busy="true"]{opacity:.7;cursor:progress}
.payment-status{display:grid;justify-items:center;gap:12px;margin-top:14px;padding:16px;border-radius:var(--r);background:#fff8dc;border:1px solid #f1d98a;text-align:center;font-size:14.5px}
@media (max-width:640px){.package-picker.compact legend,.form-section-heading h2{font-size:19px}.payment-placeholder{min-height:170px;padding:22px 16px}}
.form-section-heading .step-dot{color:#fff;font-size:14px}
