*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;font-weight:400;line-height:1.6;color:#1a1f2e;background:#faf8f3;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none;transition:all .2s ease}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul{list-style:none}
:root{
  --c-ink:#0a1628;--c-ink-soft:#1a2942;--c-paper:#faf8f3;--c-paper-warm:#f4f0e6;
  --c-line:rgba(10,22,40,.08);--c-line-strong:rgba(10,22,40,.18);
  --c-amber:#c8761c;--c-amber-dark:#9a5912;--c-amber-light:#f4e4c8;
  --c-mute:#6b7280;
  --shadow-sm:0 2px 6px rgba(10,22,40,.06);--shadow-md:0 4px 12px rgba(10,22,40,.08);
  --shadow-lg:0 16px 40px rgba(10,22,40,.12);--shadow-xl:0 24px 60px rgba(10,22,40,.20);
  --r-sm:4px;--r-md:8px;--r-lg:16px;
  --display:'Oswald',sans-serif;--body:'Inter',system-ui,sans-serif;--mono:'JetBrains Mono',monospace;
}
.container{max-width:1280px;margin:0 auto;padding:0 32px}
.container--narrow{max-width:860px}
@media(max-width:768px){.container{padding:0 20px}}
.preview-banner{background:var(--c-amber);color:var(--c-ink);text-align:center;padding:8px 16px;font-family:var(--mono);font-size:.75rem;font-weight:600;letter-spacing:.05em}

/* TOPBAR + HEADER (shared) */
.topbar{background:var(--c-ink);color:rgba(255,255,255,.78);font-size:.78rem;padding:10px 0;font-family:var(--mono);letter-spacing:.04em}
.topbar__row{display:flex;justify-content:space-between;align-items:center;gap:24px}
.topbar__usps{display:flex;gap:32px}
.topbar__usp{position:relative;padding-left:18px}
.topbar__usp::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--c-amber)}
.topbar__contact a{color:rgba(255,255,255,.9);border-bottom:1px dotted rgba(255,255,255,.3)}
.topbar__contact a:hover{color:var(--c-amber-light);border-bottom-color:var(--c-amber)}
@media(max-width:900px){.topbar__usps{display:none}.topbar__row{justify-content:center}}

.header{background:rgba(250,248,243,.92);border-bottom:1px solid var(--c-line);position:sticky;top:0;z-index:100;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.header__row{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:20px 0}
.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.brand__mark{width:48px;height:48px;background:linear-gradient(135deg,var(--c-ink) 0%,var(--c-ink-soft) 100%);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--c-amber);font-family:var(--display);font-weight:700;font-size:1.7rem;line-height:1}
.brand__text{display:flex;flex-direction:column;line-height:1.05}
.brand__name{font-family:var(--display);font-weight:600;font-size:1.45rem;color:var(--c-ink);letter-spacing:.01em;text-transform:uppercase}
.brand__tag{font-family:var(--mono);font-size:.65rem;color:var(--c-mute);text-transform:uppercase;letter-spacing:.18em;margin-top:4px}
.nav{display:flex;gap:36px;align-items:center}
.nav a{font-family:var(--display);text-transform:uppercase;font-size:.92rem;font-weight:500;letter-spacing:.06em;color:var(--c-ink-soft);padding:8px 0;position:relative}
.nav a::after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--c-amber);transition:width .2s ease}
.nav a:hover,.nav a.active{color:var(--c-ink)}
.nav a:hover::after,.nav a.active::after{width:100%}
.header__actions{display:flex;align-items:center;gap:12px}
.icon-btn{width:40px;height:40px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--c-ink);border:1px solid var(--c-line);transition:all .2s ease}
.icon-btn:hover{background:var(--c-ink);color:var(--c-amber);border-color:var(--c-ink)}
.icon-btn svg{width:18px;height:18px;stroke-width:1.5}
.cart-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--c-ink);color:var(--c-paper);border-radius:var(--r-md);font-family:var(--display);font-weight:500;font-size:.88rem;text-transform:uppercase;letter-spacing:.04em}
.cart-btn:hover{background:var(--c-amber)}
.cart-btn svg{width:16px;height:16px}
.cart-count{background:var(--c-amber);color:var(--c-ink);border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700;font-family:var(--mono)}
@media(max-width:1024px){.nav{display:none}}
@media(max-width:600px){.brand__text{display:none}}

/* PAGE HEADER (hero for inner pages) */
.page-hero{padding:80px 0 60px;background:linear-gradient(180deg,var(--c-paper) 0%,var(--c-paper-warm) 100%);position:relative;overflow:hidden;border-bottom:1px solid var(--c-line)}
.page-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(10,22,40,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(10,22,40,.025) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.page-hero__inner{position:relative;max-width:860px}
.page-hero__breadcrumb{font-family:var(--mono);font-size:.7rem;color:var(--c-mute);text-transform:uppercase;letter-spacing:.15em;margin-bottom:16px;display:flex;gap:8px;align-items:center}
.page-hero__breadcrumb a:hover{color:var(--c-amber-dark)}
.page-hero__breadcrumb span{color:var(--c-amber)}
.page-hero__eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--c-amber-dark);font-weight:600;margin-bottom:20px}
.page-hero__eyebrow::before{content:"";width:24px;height:1px;background:var(--c-amber)}
.page-hero h1{font-family:var(--display);font-size:clamp(2.2rem,5vw,3.6rem);font-weight:600;line-height:1.0;letter-spacing:-.005em;text-transform:uppercase;color:var(--c-ink);margin-bottom:20px}
.page-hero__lead{font-size:1.15rem;line-height:1.6;color:var(--c-ink-soft);max-width:680px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:var(--r-md);font-family:var(--display);font-weight:500;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;transition:all .2s ease;cursor:pointer;border:1px solid transparent}
.btn--primary{background:var(--c-ink);color:var(--c-paper)}
.btn--primary:hover{background:var(--c-amber);color:var(--c-ink);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn--ghost{background:transparent;color:var(--c-ink);border-color:var(--c-line-strong)}
.btn--ghost:hover{background:var(--c-ink);color:var(--c-paper);border-color:var(--c-ink)}
.btn--sm{padding:10px 18px;font-size:.85rem}
.btn svg{width:16px;height:16px}

/* SECTION SHARED */
.section{padding:80px 0}
.section--alt{background:var(--c-paper-warm)}
.section__eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--c-amber-dark);font-weight:600;margin-bottom:16px}
.section__eyebrow::before{content:"";width:20px;height:1px;background:var(--c-amber)}
.section__title{font-family:var(--display);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:600;line-height:1.05;color:var(--c-ink);margin-bottom:16px;text-transform:uppercase;letter-spacing:.005em}
@media(max-width:768px){.section{padding:50px 0}}

/* CONTENT (rich text) */
.content{font-size:1.02rem;line-height:1.75;color:var(--c-ink-soft)}
.content h2{font-family:var(--display);font-size:1.7rem;font-weight:600;color:var(--c-ink);margin:48px 0 16px;text-transform:uppercase;letter-spacing:.005em;line-height:1.15}
.content h2:first-child{margin-top:0}
.content h3{font-family:var(--display);font-size:1.25rem;font-weight:600;color:var(--c-ink);margin:32px 0 12px;text-transform:uppercase;letter-spacing:.01em}
.content p{margin-bottom:18px}
.content ul,.content ol{margin:0 0 20px 24px}
.content li{margin-bottom:10px}
.content strong{color:var(--c-ink);font-weight:600}
.content a{color:var(--c-amber-dark);border-bottom:1px solid var(--c-amber);font-weight:500}
.content a:hover{color:var(--c-amber)}
.content code{font-family:var(--mono);font-size:.88em;background:var(--c-paper-warm);padding:2px 6px;border-radius:3px}
.content blockquote{border-left:3px solid var(--c-amber);padding-left:24px;margin:24px 0;font-style:italic;color:var(--c-ink-soft)}
.content hr{border:0;border-top:1px solid var(--c-line);margin:32px 0}

/* FOOTER */
.footer{background:var(--c-ink);color:rgba(255,255,255,.65);padding:80px 0 40px}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:60px}
.footer__brand{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.footer__brand .brand__mark{background:var(--c-paper);color:var(--c-ink)}
.footer__brand .brand__name{color:var(--c-paper);font-size:1.5rem}
.footer__brand .brand__tag{color:rgba(255,255,255,.5)}
.footer__col h4{color:var(--c-paper);font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:20px;font-weight:600}
.footer__col ul li{margin:12px 0}
.footer__col a{color:rgba(255,255,255,.6);font-size:.92rem}
.footer__col a:hover{color:var(--c-amber)}
.footer__col p{font-size:.92rem;line-height:1.6;margin-bottom:12px}
.footer__bottom{padding-top:32px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:.82rem}
.footer__disclaimer{background:rgba(255,255,255,.04);padding:16px 20px;border-radius:var(--r-md);border-left:3px solid var(--c-amber);font-size:.82rem;line-height:1.6;margin-bottom:24px}
.footer__disclaimer strong{color:var(--c-amber);font-family:var(--display);text-transform:uppercase;letter-spacing:.02em}
@media(max-width:900px){.footer__grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:540px){.footer__grid{grid-template-columns:1fr}}

/* ===== HERO (homepage) ===== */
.hero{position:relative;padding:80px 0 100px;overflow:hidden;background:radial-gradient(ellipse at top right,rgba(200,118,28,.06) 0%,transparent 50%),radial-gradient(ellipse at bottom left,rgba(26,93,94,.04) 0%,transparent 50%),var(--c-paper)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(10,22,40,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(10,22,40,.025) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.hero__inner{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center}
.hero__eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--c-amber-dark);font-weight:600;margin-bottom:24px}
.hero__eyebrow::before{content:"";width:24px;height:1px;background:var(--c-amber)}
.hero h1{font-family:var(--display);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:600;line-height:1.0;letter-spacing:-.005em;text-transform:uppercase;color:var(--c-ink);margin-bottom:24px}
.hero h1 .accent,.hero h1 em{font-style:normal;color:var(--c-amber);font-weight:500}
.hero__lead{font-size:1.15rem;line-height:1.6;color:var(--c-ink-soft);margin-bottom:36px;max-width:540px}
.hero__ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:48px}
.hero__trust{display:flex;gap:36px;padding-top:28px;border-top:1px solid var(--c-line)}
.hero__trust > span{display:flex;flex-direction:column}
.hero__trust strong{font-family:var(--display);font-size:1.7rem;font-weight:600;color:var(--c-ink);line-height:1}
.hero__trust > span:not(:has(strong)){font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-mute);margin-top:6px}
.hero__visual{position:relative;height:540px}
.hero__vial-stack{position:relative;height:100%}
.hero__vial{position:absolute;border-radius:10px 10px 4px 4px;box-shadow:var(--shadow-xl);overflow:hidden;background:linear-gradient(180deg,#fcf9f3 0%,#f0e9d8 100%);border:1px solid rgba(10,22,40,.12);transition:transform .3s ease,box-shadow .3s ease;text-decoration:none;color:inherit;display:block}
a.hero__vial{cursor:pointer}
a.hero__vial:hover{box-shadow:0 28px 70px rgba(10,22,40,.28)}
.hero__vial--lg{top:0;left:30%;width:140px;height:340px;z-index:3;transform:rotate(-3deg)}
.hero__vial--md{top:80px;right:0;width:120px;height:290px;z-index:2;transform:rotate(4deg)}
.hero__vial--sm{bottom:30px;left:0;width:110px;height:260px;z-index:1;transform:rotate(-2deg)}
a.hero__vial--lg:hover{transform:rotate(-3deg) translateY(-6px) scale(1.02)}
a.hero__vial--md:hover{transform:rotate(4deg) translateY(-6px) scale(1.02)}
a.hero__vial--sm:hover{transform:rotate(-2deg) translateY(-6px) scale(1.02)}
.hero__vial::before{content:"";position:absolute;top:0;left:0;right:0;height:18%;background:linear-gradient(180deg,#2d3848 0%,#0f1a2c 100%);border-bottom:2px solid #0a1628;border-radius:10px 10px 0 0;z-index:2}
.hero__vial span{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:white;padding:10px 14px;border-radius:3px;font-family:var(--display);font-weight:700;font-size:.95rem;color:var(--c-ink);text-transform:uppercase;letter-spacing:.04em;border:1px solid rgba(10,22,40,.08);white-space:nowrap;z-index:3}
.hero__vial img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
@media(max-width:900px){.hero{padding:60px 0 80px}.hero__inner{grid-template-columns:1fr;gap:40px}.hero__visual{height:400px;max-width:380px;margin:0 auto}.hero__trust{flex-wrap:wrap;gap:20px}}

/* ===== TRUST STRIP ===== */
.trust-strip{padding:32px 0;background:var(--c-ink);color:var(--c-paper)}
.trust-strip__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.trust-strip__item{display:flex;align-items:center;gap:20px}
.trust-strip__icon{width:52px;height:52px;background:rgba(200,118,28,.15);border:1px solid rgba(200,118,28,.4);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--c-amber);flex-shrink:0;font-size:1.5rem}
.trust-strip__item strong{font-family:var(--display);font-weight:600;font-size:1.15rem;display:block;margin-bottom:2px;text-transform:uppercase;letter-spacing:.02em}
.trust-strip__item p{color:rgba(255,255,255,.65);font-size:.82rem;line-height:1.4}
@media(max-width:768px){.trust-strip__grid{grid-template-columns:1fr;gap:24px}}

/* ===== SECTION ===== */
.section__header{margin-bottom:56px;max-width:720px}
.section__header--row{display:flex;justify-content:space-between;align-items:flex-end;max-width:100%;gap:24px;flex-wrap:wrap}
.section__lead{font-size:1.1rem;color:var(--c-ink-soft);line-height:1.6}

/* ===== CATEGORIES ===== */
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--c-line);border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden}
.category-card{background:var(--c-paper);padding:36px 28px;display:flex;flex-direction:column;gap:16px;transition:all .3s ease}
.category-card:hover{background:var(--c-ink);color:var(--c-paper)}
.category-card__icon{width:48px;height:48px;background:var(--c-paper-warm);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--c-amber-dark);font-size:1.4rem;transition:all .3s ease}
.category-card:hover .category-card__icon{background:rgba(200,118,28,.2);color:var(--c-amber)}
.category-card h3{font-family:var(--display);font-size:1.35rem;font-weight:600;color:inherit;line-height:1.1;text-transform:uppercase;letter-spacing:.01em}
.category-card p{font-size:.88rem;line-height:1.5;color:var(--c-mute);flex-grow:1}
.category-card:hover p{color:rgba(255,255,255,.7)}
.category-card__cta{font-family:var(--mono);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--c-amber-dark);display:inline-flex;align-items:center;gap:8px;transition:gap .2s ease}
.category-card:hover .category-card__cta{color:var(--c-amber);gap:12px}
@media(max-width:1024px){.category-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.category-grid{grid-template-columns:1fr}}

/* ===== PRODUCT CARDS + GRID ===== */
.products-grid,ul.products{display:grid !important;grid-template-columns:repeat(4,1fr);gap:24px;list-style:none;margin:0;padding:0}
ul.products li.product{width:auto !important;margin:0 !important;list-style:none;float:none !important}
.product-card,ul.products li.product{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-md);overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.product-card:hover,ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--c-line-strong)}
.product-card__media{aspect-ratio:4/3;background:linear-gradient(135deg,#f7f2e6 0%,#ebe5d3 100%);position:relative;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}
.product-card__media::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 30% 30%,rgba(200,118,28,.10) 0%,transparent 60%)}
.product-card__img{position:relative;max-height:100%;z-index:2}
.product-card__vial{position:relative;width:80px;height:160px;z-index:2;filter:drop-shadow(0 6px 16px rgba(10,22,40,.18))}
.product-card__vial::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:62px;height:34px;background:linear-gradient(180deg,#2d3848 0%,#0a1628 100%);border-radius:6px 6px 2px 2px;z-index:3}
.product-card__vial::after{content:"";position:absolute;top:30px;left:50%;transform:translateX(-50%);width:54px;height:14px;background:linear-gradient(180deg,#e8e1cd 0%,#d4ccb5 100%);z-index:2;border-left:1px solid rgba(10,22,40,.15);border-right:1px solid rgba(10,22,40,.15)}
.product-card__vial-body{position:absolute;top:42px;left:50%;transform:translateX(-50%);width:80px;height:118px;background:linear-gradient(180deg,#fcfaf3 0%,#f0e9d8 80%,#e8dfc8 100%);border-radius:4px 4px 8px 8px;border:1px solid rgba(10,22,40,.12);overflow:hidden}
.product-card__vial-body::before{content:"";position:absolute;top:0;left:8%;width:14%;height:60%;background:linear-gradient(180deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,0) 100%);border-radius:0 0 100% 100%}
.product-card__vial-label-box{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:88%;background:white;padding:10px 6px;border-radius:2px;text-align:center;border:1px solid rgba(10,22,40,.06)}
.product-card__vial-brand{font-family:var(--mono);font-size:.42rem;color:var(--c-amber-dark);text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-bottom:3px}
.product-card__vial-name{font-family:var(--display);font-size:.78rem;font-weight:700;color:var(--c-ink);text-transform:uppercase;letter-spacing:.02em;line-height:1}
.product-card__vial-amount{font-family:var(--mono);font-size:.5rem;color:var(--c-mute);margin-top:4px;letter-spacing:.05em}
.product-card__vial-divider{height:1px;background:rgba(10,22,40,.1);margin:4px auto;width:60%}
.product-card__vial-purity{font-family:var(--mono);font-size:.45rem;color:var(--c-amber-dark);font-weight:600;letter-spacing:.05em}
.product-card__badge{position:absolute;top:12px;right:12px;background:var(--c-ink);color:var(--c-amber);padding:5px 11px;font-family:var(--mono);font-size:.62rem;font-weight:600;border-radius:var(--r-sm);letter-spacing:.12em;z-index:5}
.product-card__body{padding:20px;display:flex;flex-direction:column;gap:12px;flex-grow:1}
.product-card__cat{font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--c-mute)}
.product-card__name{font-family:var(--display);font-size:1.25rem;font-weight:600;color:var(--c-ink);line-height:1.1;text-transform:uppercase}
.product-card__meta{display:flex;gap:8px;margin-top:auto;padding-top:8px}
.product-card__meta span{font-family:var(--mono);font-size:.65rem;padding:4px 8px;background:var(--c-paper-warm);color:var(--c-ink-soft);border-radius:var(--r-sm);font-weight:500}
.product-card__footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--c-line)}
.product-card__price{font-family:var(--display);font-size:1.4rem;font-weight:600;color:var(--c-ink)}
.product-card__price-from,.product-card__price small{font-family:var(--body);font-size:.7rem;color:var(--c-mute);font-weight:400;margin-right:4px;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:1024px){.products-grid,ul.products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.products-grid,ul.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.products-grid,ul.products{grid-template-columns:1fr}}

/* ===== STANDARDS ===== */
.standards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.standards__item{background:var(--c-paper);padding:36px 32px;border-radius:var(--r-lg);border:1px solid var(--c-line)}
.standards__item h3{font-family:var(--display);font-size:1.55rem;font-weight:600;color:var(--c-ink);margin-bottom:16px;line-height:1.1;text-transform:uppercase;letter-spacing:.01em}
.standards__item p{color:var(--c-ink-soft);font-size:.95rem;line-height:1.6}
.standards__item a{color:var(--c-amber-dark);border-bottom:1px solid var(--c-amber)}
@media(max-width:900px){.standards{grid-template-columns:1fr;gap:20px}}

/* ===== FAQ ===== */
.faq-list{max-width:720px;margin:0 auto}
.faq-item{background:white;border:1px solid var(--c-line);border-radius:var(--r-md);margin-bottom:12px;transition:all .2s ease}
.faq-item summary{padding:20px 24px;font-family:var(--display);font-size:1.05rem;font-weight:500;color:var(--c-ink);text-transform:uppercase;letter-spacing:.005em;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;line-height:1.3}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-family:var(--mono);font-size:1.4rem;color:var(--c-amber);transition:transform .2s ease;flex-shrink:0}
.faq-item[open]{border-color:var(--c-amber);box-shadow:var(--shadow-sm)}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 24px 20px;color:var(--c-ink-soft);line-height:1.7;font-size:.95rem}
.faq-item a{color:var(--c-amber-dark);border-bottom:1px solid var(--c-amber)}

/* ===== HEADER NAV (clean) ===== */
.site-header{background:rgba(250,248,243,.92);border-bottom:1px solid var(--c-line);position:sticky;top:0;z-index:100;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.site-header__main{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:20px 0}
.site-header__topbar{background:var(--c-ink);color:rgba(255,255,255,.78);font-size:.78rem;padding:10px 0;font-family:var(--mono);letter-spacing:.04em}
.site-header__topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}
.topbar-features{display:flex;gap:32px;list-style:none}
.topbar-features li{position:relative;padding-left:18px}
.topbar-features li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--c-amber)}
.site-header__topbar a{color:rgba(255,255,255,.9);border-bottom:1px dotted rgba(255,255,255,.3)}
.site-header__topbar a:hover{color:var(--c-amber-light);border-bottom-color:var(--c-amber)}
.site-brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.site-brand__mark{width:48px;height:48px;background:linear-gradient(135deg,var(--c-ink) 0%,var(--c-ink-soft) 100%);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--c-amber);font-family:var(--display);font-weight:700;font-size:1.7rem;line-height:1}
.site-brand__name{font-family:var(--display);font-weight:600;font-size:1.45rem;color:var(--c-ink);letter-spacing:.01em;text-transform:uppercase;display:block;line-height:1.05}
.site-brand__tag{font-family:var(--mono);font-size:.65rem;color:var(--c-mute);text-transform:uppercase;letter-spacing:.18em;margin-top:4px;display:block}
.primary-nav__list{display:flex;gap:36px;align-items:center;list-style:none;margin:0;padding:0}
.primary-nav a{font-family:var(--display);text-transform:uppercase;font-size:.92rem;font-weight:500;letter-spacing:.06em;color:var(--c-ink-soft);padding:8px 0;position:relative}
.primary-nav a::after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--c-amber);transition:width .2s ease}
.primary-nav a:hover,.primary-nav .current-menu-item a{color:var(--c-ink)}
.primary-nav a:hover::after,.primary-nav .current-menu-item a::after{width:100%}
.header-actions{display:flex;align-items:center;gap:12px}
.icon-btn{width:40px;height:40px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--c-ink);border:1px solid var(--c-line);font-size:1rem;transition:all .2s ease}
.icon-btn:hover{background:var(--c-ink);color:var(--c-amber);border-color:var(--c-ink)}
.cart-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--c-ink);color:var(--c-paper);border-radius:var(--r-md);font-family:var(--display);font-weight:500;font-size:.88rem;text-transform:uppercase;letter-spacing:.04em}
.cart-btn:hover{background:var(--c-amber)}
.cart-count{background:var(--c-amber);color:var(--c-ink);border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700;font-family:var(--mono)}
@media(max-width:1024px){.primary-nav__list{display:none}}
@media(max-width:600px){.site-brand > span:not(.site-brand__mark){display:none}}

/* ===== FOOTER ===== */
.site-footer{background:var(--c-ink);color:rgba(255,255,255,.65);padding:80px 0 40px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:60px}
.footer-col{}
.footer-brand{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.footer-brand .site-brand__mark{background:var(--c-paper);color:var(--c-ink)}
.footer-brand__name{font-family:var(--display);font-weight:600;font-size:1.5rem;color:var(--c-paper);text-transform:uppercase;letter-spacing:.01em}
.footer-col h4{color:var(--c-paper);font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:20px;font-weight:600}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col ul li{margin:12px 0}
.footer-col a{color:rgba(255,255,255,.6);font-size:.92rem}
.footer-col a:hover{color:var(--c-amber)}
.footer-col p{font-size:.92rem;line-height:1.6;margin-bottom:12px}
.footer-bottom{padding-top:32px;border-top:1px solid rgba(255,255,255,.08);font-size:.82rem;display:flex;flex-direction:column;gap:16px}
.footer-bottom p:first-child{background:rgba(255,255,255,.04);padding:16px 20px;border-radius:var(--r-md);border-left:3px solid var(--c-amber);font-size:.82rem;line-height:1.6;margin:0}
.footer-bottom p:first-child strong{color:var(--c-amber);font-family:var(--display);text-transform:uppercase;letter-spacing:.02em}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:540px){.footer-grid{grid-template-columns:1fr}}

/* ===== WOOCOMMERCE OVERRIDES ===== */
.woocommerce ul.products li.product .price{font-family:var(--display);font-size:1.4rem;font-weight:600;color:var(--c-ink)}
.woocommerce ul.products li.product h2,.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--display);font-size:1.25rem;font-weight:600;color:var(--c-ink);text-transform:uppercase;padding:16px 20px 8px}
.woocommerce ul.products li.product .button{background:var(--c-ink);color:var(--c-paper);font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;font-weight:500;border-radius:var(--r-md);margin:12px 20px 20px}
.woocommerce ul.products li.product .button:hover{background:var(--c-amber);color:var(--c-ink)}
.single-product .product .price{font-family:var(--display);font-size:2rem;color:var(--c-ink)}
.single-product .product .product_title{font-family:var(--display);font-size:clamp(1.8rem,3vw,2.4rem);text-transform:uppercase;color:var(--c-ink)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--c-paper-warm);border-radius:var(--r-md) var(--r-md) 0 0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--c-paper)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--display);text-transform:uppercase;color:var(--c-ink)}

/* Research alerts */
.research-alert{background:#fef4ea;border:1px solid var(--c-amber);border-radius:var(--r-md);padding:16px 20px;margin:24px 0;font-size:.92rem;line-height:1.55}
.research-alert strong{font-family:var(--display);text-transform:uppercase;color:var(--c-ink)}
.global-disclaimer{background:var(--c-paper-warm);text-align:center;padding:12px 20px;font-size:.82rem;color:var(--c-ink-soft);border-bottom:1px solid var(--c-line)}

/* ===== ARTICLE GRID (Latest Research on homepage + Research index) ===== */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:0 0 48px}
@media(max-width:1024px){.article-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.article-grid{grid-template-columns:1fr}}
.article-card{background:white;border:1px solid var(--c-line);border-radius:var(--r-md);overflow:hidden;transition:all .25s ease;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.article-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--c-line-strong)}
.article-card__image{aspect-ratio:16/9;background:linear-gradient(135deg,var(--c-ink) 0%,var(--c-ink-soft) 100%);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.article-card__image::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(200,118,28,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(200,118,28,.10) 1px,transparent 1px);background-size:30px 30px}
.article-card__icon{position:relative;width:60px;height:60px;color:var(--c-amber);opacity:.7}
.article-card__icon svg{width:100%;height:100%}
.article-card__body{padding:24px;display:flex;flex-direction:column;gap:12px;flex-grow:1}
.article-card__meta{display:flex;gap:12px;font-family:var(--mono);font-size:.7rem;color:var(--c-mute);text-transform:uppercase;letter-spacing:.1em}
.article-card__meta .cat{color:var(--c-amber-dark);font-weight:600}
.article-card__title{font-family:var(--display);font-size:1.2rem;font-weight:600;color:var(--c-ink);text-transform:uppercase;letter-spacing:.005em;line-height:1.2}
.article-card__excerpt{font-size:.92rem;color:var(--c-ink-soft);line-height:1.55;flex-grow:1}
.article-card__cta{font-family:var(--mono);font-size:.72rem;color:var(--c-amber-dark);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-top:8px;padding-top:12px;border-top:1px solid var(--c-line)}

/* =====================================================================
   MOBILE OPTIMIZATIONS (under 768px)
   ===================================================================== */

/* TYPOGRAPHY - scale headings down on small screens */
@media (max-width: 768px) {
  body { font-size: 0.95rem; }
  h1 { font-size: 1.85rem !important; line-height: 1.15 !important; }
  h2, .section__title { font-size: 1.5rem !important; line-height: 1.2 !important; }
  h3 { font-size: 1.2rem !important; }
  .hero__title { font-size: 2.2rem !important; line-height: 1.05 !important; }
  .hero__lead { font-size: 1rem !important; }
  .section__lead { font-size: 1rem !important; }
  .page-hero h1 { font-size: 2rem !important; }
  .page-hero__lead { font-size: 1rem !important; }
}

@media (max-width: 480px) {
  h1 { font-size: 1.6rem !important; }
  h2, .section__title { font-size: 1.3rem !important; }
  .hero__title { font-size: 1.85rem !important; }
  .page-hero h1 { font-size: 1.6rem !important; }
}

/* CONTAINER - tighter padding on mobile */
@media (max-width: 480px) {
  .container { padding: 0 16px; }
}

/* SECTIONS - reduce vertical spacing aggressively */
@media (max-width: 768px) {
  .section { padding: 40px 0; }
  .section__header { margin-bottom: 36px !important; }
}
@media (max-width: 480px) {
  .section { padding: 32px 0; }
}

/* HERO - fluid height, better vial stacking */
@media (max-width: 900px) {
  .hero { padding: 40px 0 60px !important; }
  .hero__inner { gap: 32px !important; }
  .hero__visual { height: 340px !important; max-width: 320px !important; }
  .hero__vial--lg { width: 110px !important; height: 280px !important; left: 30% !important; }
  .hero__vial--md { width: 95px !important; height: 240px !important; }
  .hero__vial--sm { width: 90px !important; height: 220px !important; }
  .hero__vial span { font-size: 0.78rem !important; padding: 7px 10px !important; }
}

@media (max-width: 480px) {
  .hero__visual { height: 280px !important; max-width: 280px !important; }
  .hero__vial--lg { width: 95px !important; height: 230px !important; }
  .hero__vial--md { width: 85px !important; height: 200px !important; }
  .hero__vial--sm { width: 80px !important; height: 185px !important; }
  .hero__vial span { font-size: 0.7rem !important; padding: 5px 8px !important; letter-spacing: 0 !important; }
  .hero__cta { flex-direction: column; gap: 12px !important; }
  .hero__cta .btn { width: 100%; justify-content: center; }
  .hero__trust { font-size: 0.75rem !important; }
}

/* PAGE-HERO - mobile padding */
@media (max-width: 768px) {
  .page-hero { padding: 40px 0 !important; }
  .page-hero__inner { padding: 0 !important; }
  .page-hero__breadcrumb { font-size: 0.7rem !important; flex-wrap: wrap; }
  .page-hero__eyebrow { font-size: 0.7rem !important; }
}

/* BUTTONS - meet 44px minimum touch target */
@media (max-width: 768px) {
  .btn { padding: 14px 22px !important; min-height: 44px; font-size: 0.9rem !important; }
  .btn--sm, .btn--small { padding: 10px 16px !important; min-height: 40px; font-size: 0.82rem !important; }
}

/* FORMS - prevent iOS zoom on focus, full-width on mobile */
@media (max-width: 768px) {
  input[type="text"],
  input[type="email"],
  input[type="search"],
  input[type="tel"],
  input[type="url"],
  textarea,
  select {
    font-size: 16px !important; /* prevents iOS auto-zoom */
    padding: 14px 16px !important;
    border-radius: var(--r-sm) !important;
    width: 100%;
  }
  .contact-form { gap: 16px !important; }
  .form-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
}

/* CONTACT PAGE - stack info blocks */
@media (max-width: 768px) {
  .contact-info { grid-template-columns: 1fr !important; gap: 20px !important; }
  .contact-layout { grid-template-columns: 1fr !important; gap: 40px !important; }
  .info-block { padding: 20px !important; }
}

/* FAQ - tighter on mobile */
@media (max-width: 768px) {
  .faq-item summary { padding: 16px 0 !important; font-size: 1rem !important; }
  .faq-item p { font-size: 0.92rem !important; padding-bottom: 20px !important; }
}

/* PRODUCT CARDS - tighter spacing */
@media (max-width: 480px) {
  .product-card { padding: 14px !important; }
  .product-card__title { font-size: 0.95rem !important; }
  .product-card__meta { font-size: 0.7rem !important; flex-wrap: wrap; gap: 6px !important; }
  .product-card__badge { top: 8px !important; right: 8px !important; padding: 3px 8px !important; font-size: 0.58rem !important; }
}

/* CATEGORY CARDS */
@media (max-width: 768px) {
  .cat-card { padding: 24px 20px !important; }
  .cat-card h3 { font-size: 1.1rem !important; }
}

/* STANDARDS / TRUST CARDS */
@media (max-width: 768px) {
  .standards .standard-card { padding: 24px 20px !important; }
  .trust-strip { padding: 28px 0 !important; }
  .trust-strip__grid { gap: 20px !important; }
}

/* ARTICLE CARDS (research library) */
@media (max-width: 768px) {
  .article-card__body { padding: 18px !important; gap: 10px !important; }
  .article-card__title { font-size: 1.05rem !important; }
  .article-card__excerpt { font-size: 0.88rem !important; }
}

/* COA CARDS */
@media (max-width: 540px) {
  .coa-card { padding: 18px !important; }
  .coa-card__name { font-size: 1rem !important; }
  .coa-search { flex-direction: column; }
  .coa-search input, .coa-search select, .coa-search button { width: 100%; }
}

/* TABLES - horizontal scroll on mobile */
@media (max-width: 768px) {
  table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  table th, table td { padding: 10px 12px !important; font-size: 0.85rem; white-space: nowrap; }
}

/* HEADER - mobile menu, brand */
@media (max-width: 1024px) {
  .site-header { padding: 12px 0 !important; }
  .mobile-toggle { display: flex !important; align-items: center; justify-content: center; }
  .primary-nav { 
    position: fixed; 
    top: 0; right: 0; 
    width: 80%; max-width: 320px; 
    height: 100vh; 
    background: var(--c-paper); 
    transform: translateX(100%); 
    transition: transform 0.3s ease; 
    z-index: 9999;
    padding: 80px 24px 24px;
    overflow-y: auto;
    box-shadow: -8px 0 24px rgba(10,22,40,0.1);
  }
  .primary-nav.is-open { transform: translateX(0); }
  .primary-nav ul { flex-direction: column !important; gap: 0 !important; align-items: flex-start !important; }
  .primary-nav li { width: 100%; border-bottom: 1px solid var(--c-line); }
  .primary-nav a { 
    display: block; 
    padding: 16px 0 !important; 
    width: 100%; 
    font-size: 1.05rem !important;
  }
  .topbar { display: none !important; }
}

@media (max-width: 480px) {
  .site-brand__mark { width: 32px !important; height: 32px !important; font-size: 1.1rem !important; }
  .site-brand__name { font-size: 1rem !important; }
  .site-brand__tag { display: none !important; }
  .header-actions { gap: 8px !important; }
  .header-actions .icon-btn { width: 36px !important; height: 36px !important; }
}

/* FOOTER - tighter mobile */
@media (max-width: 540px) {
  .site-footer { padding: 40px 0 24px !important; }
  .footer-brand__name { font-size: 1.1rem !important; }
  .footer-col h4 { font-size: 0.85rem !important; margin-bottom: 12px !important; }
  .footer-col ul li { padding: 4px 0 !important; }
  .footer-bottom { font-size: 0.75rem !important; flex-direction: column; gap: 12px; text-align: center; }
}

/* CALLOUTS / ALERTS */
@media (max-width: 768px) {
  .callout, .research-alert, .global-disclaimer { padding: 16px 18px !important; font-size: 0.88rem !important; }
}

/* SHOP PAGE - filters */
@media (max-width: 768px) {
  .shop-filters { flex-direction: column; align-items: stretch; gap: 12px !important; }
  .shop-filters select, .shop-filters input { width: 100%; }
  .woocommerce-result-count { text-align: center; font-size: 0.85rem; }
  .woocommerce-ordering { width: 100%; }
  .woocommerce-ordering select { width: 100%; }
}

/* SINGLE PRODUCT PAGE - mobile */
@media (max-width: 768px) {
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary { 
    float: none !important; 
    width: 100% !important; 
    margin-bottom: 24px;
  }
  .woocommerce div.product .product_title { font-size: 1.6rem !important; }
  .woocommerce div.product p.price { font-size: 1.5rem !important; }
  .quantity input.qty { width: 80px !important; }
  .single_add_to_cart_button { width: 100% !important; padding: 16px !important; font-size: 1rem !important; }
}

/* RESEARCH POST (single blog post) - readability on mobile */
@media (max-width: 768px) {
  .content { font-size: 1rem !important; line-height: 1.65 !important; }
  .content h2 { font-size: 1.4rem !important; margin: 32px 0 12px !important; }
  .content h3 { font-size: 1.15rem !important; margin: 24px 0 10px !important; }
  .content ul, .content ol { padding-left: 20px !important; }
  .content p { margin: 0 0 16px !important; }
}

/* IMAGES & MEDIA - always responsive */
img, video, iframe { max-width: 100%; height: auto; }

/* PREVENT HORIZONTAL OVERFLOW */
html, body { overflow-x: hidden; max-width: 100%; }

/* TAP HIGHLIGHT - subtle amber on tap */
* { -webkit-tap-highlight-color: rgba(200, 118, 28, 0.15); }

/* MODAL/POPUP - prevent zoom-jank on iOS */
.modal-backdrop, .cookie-banner { font-size: 16px; }
@media (max-width: 540px) {
  .cookie-banner { 
    left: 12px !important; 
    right: 12px !important; 
    bottom: 12px !important; 
    max-width: none !important; 
    padding: 18px !important;
  }
  .modal-backdrop > div { padding: 24px 20px !important; max-width: calc(100vw - 32px) !important; }
}

/* MOBILE TOGGLE BUTTON */
.mobile-toggle {
  display: none;
  width: 40px;
  height: 40px;
  background: var(--c-paper-warm);
  border: 1px solid var(--c-line);
  border-radius: var(--r-sm);
  color: var(--c-ink);
  cursor: pointer;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.mobile-toggle:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
@media (max-width: 1024px) {
  .mobile-toggle { display: flex; }
}

/* CLOSE BUTTON INSIDE OPEN MOBILE MENU */
.primary-nav.is-open::before {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 20%;
  height: 100vh;
  background: rgba(10,22,40,0.4);
  z-index: -1;
}

/* ============================================================
   MOBILE FIXES — Topbar hiding + Menu slide-in
   ============================================================ */

/* HIDE THE ACTUAL TOPBAR ELEMENT ON MOBILE */
@media (max-width: 1024px) {
  .site-header__topbar { display: none !important; }
}

/* SLIDE-IN MENU - properly override the older display:none rule */
@media (max-width: 1024px) {
  /* When mobile nav opens, force the inner UL to show */
  .primary-nav.is-open .primary-nav__list,
  .primary-nav.is-open ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    align-items: flex-start !important;
    width: 100%;
  }
  
  /* And each link to be visible + tappable */
  .primary-nav.is-open li {
    width: 100%;
    border-bottom: 1px solid var(--c-line);
    list-style: none;
  }
  .primary-nav.is-open li a {
    display: block !important;
    width: 100%;
    padding: 18px 0 !important;
    font-size: 1.05rem !important;
    color: var(--c-ink) !important;
  }
  
  /* The nav container itself - sliding panel */
  .primary-nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    width: 80% !important;
    max-width: 320px !important;
    height: 100vh !important;
    background: var(--c-paper) !important;
    transform: translateX(100%);
    transition: transform 0.3s ease !important;
    z-index: 9999 !important;
    padding: 80px 24px 24px !important;
    overflow-y: auto;
    box-shadow: -8px 0 24px rgba(10,22,40,0.15);
    display: block !important;
  }
  .primary-nav.is-open {
    transform: translateX(0) !important;
  }
  
  /* Hide hover underline animation in mobile menu */
  .primary-nav.is-open a::after {
    display: none !important;
  }
}

/* Body lock when menu is open (prevent background scroll) */
body.menu-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}
