:root{
  --ink:#16233B; --ink-2:#23324F; --brass:#C9A46E; --brass-d:#9C7A45;
  --bg:#FFFFFF; --soft:#F6F6F9; --soft-2:#EEEEF3; --line:#E3E3EA; --text:#141A26; --muted:#5E6474; --faint:#9A9FAB;
  --sale:#C0283F; --ok:#1F7A4D; --okbg:#E9F6EE; --warnbg:#FFF6E3;
  --lav:#E9E5F5; --sage:#E6F0E7; --blush:#F6E6E3; --butter:#F4F0DA; --sky:#E4ECF5; --mint:#E0EFED; --dusk:#E5E7F1; --rose:#F7E6EC;
  --r:14px; --r-lg:20px; --shadow:0 1px 2px rgba(20,26,38,.05),0 8px 30px rgba(20,26,38,.06);
  --sans:'Switzer',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif; --serif:'Instrument Serif',Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--text);background:var(--bg);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:200;background:#fff;padding:8px 12px;border-radius:8px}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:12px;color:var(--muted);line-height:1.5}.center{text-align:center}
.link{text-decoration:underline;text-underline-offset:2px}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:10px}
h1,h2,h3{line-height:1.12;letter-spacing:-.02em;font-weight:700}
h1{font-size:clamp(40px,6vw,76px);letter-spacing:-.035em}
h2{font-size:clamp(28px,3.4vw,42px)}
h3{font-size:19px;letter-spacing:-.01em}
.serif{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.01em}
.hidden{display:none!important}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:999px;font-weight:600;font-size:15px;transition:transform .15s,background .2s,box-shadow .2s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:#0c1628}
.btn-ink:disabled{background:#C9CCD6;cursor:not-allowed}
.btn-line{border:1.5px solid var(--line);background:#fff}.btn-line:hover{border-color:var(--ink)}
.btn-brass{background:var(--brass);color:var(--ink)}
.btn.lg{height:52px;padding:0 26px;font-size:16px}.btn.sm{height:36px;padding:0 14px;font-size:14px}
.btn.full{width:100%}
.new{font-style:normal;font-size:9px;font-weight:700;letter-spacing:.06em;background:var(--okbg);color:var(--ok);padding:2px 6px;border-radius:5px;margin-left:4px;vertical-align:2px}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:24px;height:64px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.mark{width:34px;height:34px}
.wordmark{font-weight:700;font-size:19px;letter-spacing:-.02em;line-height:1;display:flex;flex-direction:column}
.wm-sub{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.nav{display:flex;gap:22px;margin-inline:auto;font-size:14px;font-weight:500}
.nav a{padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover,.nav a.active{border-color:var(--ink)}
.header-actions{display:flex;gap:6px;align-items:center;margin-left:auto}
.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;position:relative}
.icon-btn:hover{background:var(--soft)}
.cart-count{position:absolute;top:2px;right:0;background:var(--ink);color:#fff;font-size:10px;font-weight:700;min-width:17px;height:17px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
.menu-btn{display:none}
.mnav{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:10px 20px 16px;border-top:1px solid var(--line)}
.mnav a{padding:10px 8px;font-weight:500}
@media (max-width:1120px){.nav{display:none}.menu-btn{display:grid}}

/* sale bar */
.sale-bar{background:linear-gradient(90deg,#16233B,#23324F 45%,#16233B);color:#EDE8DC;overflow:hidden;position:relative}
.sale-bar:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 40%,rgba(201,164,110,.25),transparent 30%),radial-gradient(circle at 85% 60%,rgba(201,164,110,.18),transparent 28%)}
.sale-inner{position:relative;display:flex;align-items:center;justify-content:center;gap:28px;height:56px}
.sale-big{display:flex;align-items:center;gap:10px}
.sale-big b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:38px;color:var(--brass);line-height:1}
.sale-big span{display:flex;flex-direction:column;line-height:1.1}.sale-big em{font-family:var(--serif);font-size:19px}.sale-big small{font-size:11px;letter-spacing:.08em;opacity:.8}
.sale-code{display:flex;align-items:center;gap:10px}
.muted-l{font-size:12px;opacity:.7}
.ticket{background:#EDE8DC;color:var(--ink);padding:5px 14px 5px 18px;clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 50%);display:flex;flex-direction:column;align-items:center;line-height:1.1}
.ticket b{font-size:13px;letter-spacing:.08em}.ticket small{font-size:9.5px;opacity:.75}
.ticket.on{background:var(--brass)}
.sale-ends b{font-variant-numeric:tabular-nums;font-size:14px}
@media (max-width:720px){.sale-inner{gap:12px;height:50px}.sale-big b{font-size:28px}.sale-big small,.sale-ends .muted-l{display:none}.sale-big em{font-size:15px}.sale-ends b{font-size:12px}}

/* gate */
.gate{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px;background:#F7F7FA}
.gate-bg{position:absolute;inset:0;background:url(assets/hero-club.jpg) center/cover;opacity:.55;filter:saturate(1.05)}
.gate-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 80px rgba(22,35,59,.18);max-width:430px;width:100%;padding:30px 28px;display:grid;gap:14px}
.gate-logo{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:4px}
.gate-logo span{font-weight:700;font-size:22px;display:flex;flex-direction:column;line-height:1}.gate-logo small{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.gate-card h2{font-size:28px}
.gate-card>p{font-size:14.5px;color:var(--muted)}
.gate-check{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font-size:14px;cursor:pointer}
.gate-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--ink);flex-shrink:0}

/* hero (signed-out) */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:60px 48px 60px max(20px,calc((100vw - 1180px)/2))}
.hero-copy h1{margin-bottom:20px}
.hero-copy p{font-size:19px;color:var(--muted);max-width:430px;margin-bottom:28px}
.hero-media{background:var(--lav) url(assets/hero-club.jpg) center/cover;min-height:420px}
.trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;font-size:13px;font-weight:600;color:var(--muted)}
.trust span{display:flex;align-items:center;gap:6px}
.trust svg{color:var(--ok)}
@media (max-width:860px){.hero{grid-template-columns:1fr}.hero-copy{padding:44px 20px}.hero-media{min-height:320px;order:-1}}

/* guarantee */
.guarantee{display:grid;grid-template-columns:1fr 1fr;background:var(--soft)}
.g-media{background:var(--sage) url(assets/guarantee.jpg) center/cover;min-height:460px}
.g-copy{padding:60px max(20px,calc((100vw - 1180px)/2)) 60px 48px;display:flex;flex-direction:column;justify-content:center}
.g-copy>p{color:var(--muted);font-size:17px;margin:12px 0 26px;max-width:470px}
.g-item{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:12px;box-shadow:var(--shadow)}
.g-ico{width:46px;height:46px;border-radius:50%;background:var(--okbg);color:var(--ok);display:grid;place-items:center;flex-shrink:0}
.g-item b{display:block;font-size:16px}.g-item span{font-size:14px;color:var(--muted)}
@media (max-width:860px){.guarantee{grid-template-columns:1fr}.g-copy{padding:40px 20px}.g-media{min-height:300px}}

/* sections */
.section{padding:72px 0}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.section-head p{color:var(--muted);max-width:520px}

/* store */
.store-top{padding:34px 0 10px}
.store-title{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.store-title .eyebrow{margin-bottom:6px}
.store-title h1{font-size:clamp(34px,4vw,46px)}
.store-tools{display:flex;gap:10px;flex:1;justify-content:flex-end;max-width:620px}
.search{flex:1;position:relative}
.search input{width:100%;height:46px;border-radius:999px;border:1px solid var(--line);background:var(--soft);padding:0 18px 0 44px;font-size:15px}
.search svg{position:absolute;left:16px;top:14px;color:var(--faint)}
.select{height:46px;border-radius:999px;border:1px solid var(--line);background:#fff;padding:0 16px;font-size:14px}
.club-strip{display:flex;align-items:center;gap:14px;background:#0F1B30;color:#EDE8DC;border-radius:12px;padding:12px 18px;margin-bottom:16px;flex-wrap:wrap}
.club-strip .ttl{font-family:var(--serif);font-size:22px}.club-strip .ttl i{color:var(--brass)}
.club-strip .sub{font-size:13px;opacity:.8}
.club-strip .rs{margin-left:auto;font-size:11px;letter-spacing:.12em;opacity:.7}.club-strip .rs b{font-size:14px;letter-spacing:0;opacity:1;margin-left:6px;font-variant-numeric:tabular-nums;color:#fff}
.club-strip .btn{height:32px;border:1px solid rgba(201,164,110,.6);color:var(--brass);font-size:13px;padding:0 14px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.chip-f{height:40px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);font-weight:600;font-size:14px;background:#fff}
.chip-f:hover{border-color:var(--ink)}
.chip-f.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.promo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
.promo{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:linear-gradient(135deg,#FBFAF3,#F2F4FB)}
.promo:nth-child(2){background:linear-gradient(135deg,#FCFAEE,#F4F8F1)}
.promo:nth-child(3){background:linear-gradient(135deg,#F3F7FC,#EEF1FA)}
.badge-round{width:54px;height:54px;border-radius:50%;background:#fff;border:1.5px solid #EAD9A9;display:grid;place-items:center;text-align:center;line-height:1;flex-shrink:0}
.badge-round b{font-family:var(--serif);font-size:21px;font-weight:400;display:block}.badge-round small{font-size:9px;font-weight:700}
.promo h3{font-size:16px;display:flex;align-items:center;gap:6px}
.promo p{font-size:13.5px;color:var(--muted);line-height:1.4;margin-top:2px}
.promo .btn{margin-left:auto;flex-shrink:0}
.points-banner{display:flex;align-items:center;gap:16px;background:#F7F4EC;border:1px solid #E8DFC8;border-radius:16px;padding:14px 18px;margin-bottom:22px}
.points-banner h3{font-size:16px}.points-banner p{font-size:14px;color:var(--muted)}.points-banner .btn{margin-left:auto}
@media (max-width:960px){.promo-row{grid-template-columns:1fr}}
@media (max-width:640px){.store-tools{max-width:none;width:100%}.points-banner,.promo{flex-wrap:wrap}.points-banner .btn,.promo .btn{margin-left:0}}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1060px){.grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.grid{grid-template-columns:repeat(2,1fr);gap:12px}}
.card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:0 14px 40px rgba(22,35,59,.1);transform:translateY(-2px)}
.card-media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .card-media img{transform:scale(1.04)}
.off-badge{position:absolute;top:10px;right:10px;background:#5B1623;color:#fff;font-size:11px;font-weight:700;padding:3px 7px;border-radius:6px}
.off-badge.club{background:var(--brass);color:var(--ink)}
.best{position:absolute;top:10px;left:10px;background:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px}
.coa-pill{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.94);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;display:flex;gap:6px;align-items:center}
.coa-pill u{font-weight:500;color:var(--muted)}
.card-body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:3px;flex:1}
.card-body h3{font-size:16.5px}
.card-body .cat{font-size:13px;color:var(--muted)}
.price-row{display:flex;align-items:baseline;gap:8px;margin:6px 0 12px}
.was{font-size:12.5px;color:var(--faint);text-decoration:line-through}
.now{font-size:21px;font-weight:700;color:var(--sale);letter-spacing:-.01em}
.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.card-actions .btn{height:40px;font-size:14px;padding:0 10px}
.card-actions .btn-ink.done{background:var(--ok)}
.size-note{font-size:12px;color:var(--muted)}
.empty{border:1px dashed var(--line);border-radius:16px;padding:40px;text-align:center;color:var(--muted)}

/* groupings */
.groups{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.group{border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:12px;border:1px solid rgba(22,35,59,.06);min-height:250px;position:relative;overflow:hidden}
.group h3{font-size:20px}.group p{font-size:14px;color:#3b4254}
.group .thumbs{display:flex;margin-top:auto}
.group .thumbs img{width:66px;height:66px;border-radius:12px;border:3px solid #fff;margin-right:-14px;object-fit:cover;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.group .count{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.group .go{position:absolute;right:18px;bottom:22px;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center}
@media (max-width:960px){.groups{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.groups{grid-template-columns:1fr}}
.stack-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.stack{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff;display:flex;flex-direction:column;gap:12px}
.stack .items{display:flex;gap:8px;flex-wrap:wrap}.stack .items span{background:var(--soft);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:500}
.stack .price-row{margin:0}
@media (max-width:960px){.stack-cards{grid-template-columns:1fr}}

/* marquee */
.marquee{overflow:hidden;background:var(--ink);color:#EDE8DC;padding:14px 0;white-space:nowrap}
.marquee-track{display:inline-flex;gap:48px;animation:mq 38s linear infinite;font-size:14px}
.marquee-track span b{color:var(--brass)}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* PDP */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:28px 0 20px}
.pdp-media{border:1px solid var(--line);border-radius:22px;overflow:hidden;position:relative;background:var(--soft);align-self:start;position:sticky;top:140px}
.pdp-media img{width:100%}
.pdp-tags{position:absolute;left:14px;bottom:14px;display:flex;gap:6px;flex-wrap:wrap}
.pdp-tags span{background:rgba(255,255,255,.95);border:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.06em;padding:5px 10px;border-radius:999px}
.pdp-panel{border:1px solid var(--line);border-radius:22px;padding:26px}
.pdp-panel h1{font-size:clamp(32px,4vw,44px);margin:4px 0 12px}
.pdp-panel .desc{color:var(--muted);font-size:15px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.opt-row{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}
.opt-row .lbl{font-size:12px;letter-spacing:.12em;font-weight:600;color:var(--muted);width:78px}
.sz{height:40px;padding:0 16px;border-radius:10px;border:1.5px solid var(--line);font-weight:600;font-size:14px}
.sz.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;height:40px}
.qty button{width:38px;height:38px;font-size:18px}.qty span{min-width:26px;text-align:center;font-weight:600}
.pdp-price{margin-left:auto;text-align:right}
.pdp-price .now{font-size:30px}.pdp-price .was{font-size:15px;margin-right:6px}
.pdp-price .hint{font-size:12.5px;color:var(--muted)}
.bundle-opts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.bopt{border:1.5px solid var(--line);border-radius:12px;padding:12px 8px 10px;text-align:center;position:relative;font-size:13px;font-weight:600;line-height:1.25}
.bopt small{display:block;color:var(--ok);font-size:11.5px;margin-top:3px}
.bopt .flag{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.06em;background:var(--ok);color:#fff;padding:2px 6px;border-radius:5px;white-space:nowrap}
.bopt .flag.b{background:#E0A11B}.bopt .flag.k{background:var(--ink)}
.bopt.on{border-color:var(--ok);background:#F2FAF5}
.add-row{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:16px}
.sub-btn{margin-top:10px}
.ship-box{border:1px solid var(--line);border-radius:14px;margin-top:16px;overflow:hidden}
.ship-box>div{display:flex;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px}
.ship-box>div:first-child{background:var(--okbg)}
.ship-box>div:last-child{border-bottom:0;font-size:12px;color:var(--muted);align-items:center}
.ship-box small{display:block;color:var(--muted);font-size:12.5px}
.ship-box svg{flex-shrink:0;color:var(--ok);margin-top:2px}
.ruo{background:var(--warnbg);border:1px solid #F0DFB2;border-radius:12px;padding:10px 14px;font-size:13px;margin-top:14px}
.results{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;margin-top:10px}
.panel{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}
.assays{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.assays div{display:flex;gap:8px;align-items:center;font-size:14px;background:var(--soft);border-radius:10px;padding:9px 12px}
.assays svg{color:var(--ok);flex-shrink:0}
.spec{width:100%;border-collapse:collapse;font-size:14px;margin-top:10px}
.spec td{padding:9px 0;border-bottom:1px solid var(--line)}.spec td:first-child{color:var(--muted);width:48%}
.big-purity{font-size:44px;font-weight:700;letter-spacing:-.03em;color:var(--ok)}
@media (max-width:900px){.pdp{grid-template-columns:1fr}.pdp-media{position:relative;top:0}.results{grid-template-columns:1fr}.bundle-opts{grid-template-columns:1fr 1fr}.assays{grid-template-columns:1fr}}

/* program pages */
.page-hero{padding:56px 0 30px;text-align:center}
.page-hero h1{font-size:clamp(34px,5vw,58px);margin-bottom:14px}
.page-hero p{color:var(--muted);font-size:18px;max-width:640px;margin:0 auto}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0}
.steps3>div{background:var(--soft);border-radius:16px;padding:20px}
.steps3 b{display:block;font-size:13px;letter-spacing:.1em;color:var(--muted);margin-bottom:6px}
@media (max-width:760px){.steps3{grid-template-columns:1fr}}
.box-layout{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}
.box-tray{position:sticky;top:140px;border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff;box-shadow:var(--shadow)}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.slot{aspect-ratio:1;border:1.5px dashed var(--line);border-radius:12px;display:grid;place-items:center;font-size:12px;color:var(--faint);overflow:hidden;position:relative}
.slot img{width:100%;height:100%;object-fit:cover}
.slot button{position:absolute;top:4px;right:4px;background:#fff;border-radius:50%;width:22px;height:22px;font-size:14px;line-height:1}
.slot.free{border-style:solid;background:var(--rose)}
.sum{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;padding:4px 0}
.sum.tot{font-weight:700;font-size:17px;border-top:1px solid var(--line);margin-top:6px;padding-top:10px}
@media (max-width:960px){.box-layout{grid-template-columns:1fr}.box-tray{position:relative;top:0}}

.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.tier{border:1.5px solid var(--line);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:10px;background:#fff;position:relative}
.tier.pop{border-color:var(--ink);box-shadow:0 18px 50px rgba(22,35,59,.12)}
.tier .pop-flag{position:absolute;top:-11px;left:22px;background:var(--ink);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.08em;padding:4px 9px;border-radius:6px}
.tier h3{font-size:22px}.tier .p{font-size:34px;font-weight:700;letter-spacing:-.03em}.tier .p small{font-size:15px;color:var(--muted);font-weight:500}
.tier .yr{font-size:13px;color:var(--muted)}.tier .yr b{color:var(--ok)}
.tier ul{list-style:none;display:grid;gap:8px;font-size:14px;margin:6px 0 10px}
.tier li{display:flex;gap:8px;align-items:flex-start}
.tier li.no{color:var(--faint);text-decoration:line-through}
.tier li svg{flex-shrink:0;margin-top:3px}
.tier .btn{margin-top:auto}
.tier.cur{background:var(--soft)}
.bill-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:4px;margin-top:20px}
.bill-toggle button{height:36px;padding:0 16px;border-radius:999px;font-weight:600;font-size:14px}
.bill-toggle button.on{background:var(--ink);color:#fff}
@media (max-width:1000px){.tiers{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tiers{grid-template-columns:1fr}}
.compare{width:100%;border-collapse:collapse;margin-top:26px;font-size:14px}
.compare th,.compare td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:center}
.compare th:first-child,.compare td:first-child{text-align:left}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px}

.credit{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-top:20px}
.note{background:linear-gradient(135deg,#16233B,#2A3B5E);color:#EDE8DC;border-radius:20px;padding:28px;position:relative;overflow:hidden}
.note .no{font-size:11px;letter-spacing:.16em;opacity:.7}
.note .pts{font-size:54px;font-weight:700;letter-spacing:-.03em;margin:10px 0 0}
.note .worth{opacity:.8}
.note .bonus{position:absolute;top:24px;right:24px;border:1.5px solid var(--brass);color:var(--brass);border-radius:50%;width:84px;height:84px;display:grid;place-items:center;text-align:center;font-weight:700;line-height:1.1}
.note .foot{display:flex;justify-content:space-between;margin-top:26px;font-size:12px;letter-spacing:.1em}
.amts{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0}
.amts button{border:1.5px solid var(--line);border-radius:12px;padding:12px 4px;font-weight:700;text-align:center;line-height:1.2}
.amts button small{display:block;color:var(--ok);font-size:11.5px}
.amts button.on{border-color:var(--ink);background:var(--soft)}
@media (max-width:860px){.credit{grid-template-columns:1fr}.amts{grid-template-columns:repeat(3,1fr)}}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0}
.kpi{background:var(--soft);border-radius:16px;padding:20px}.kpi .v{font-size:32px;font-weight:700;letter-spacing:-.03em}.kpi .l{font-size:13.5px;color:var(--muted)}
@media (max-width:760px){.kpis{grid-template-columns:1fr 1fr}}

.coa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.coa-card{border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;background:#fff}
.coa-card .t{font-weight:700}
.coa-card .iso{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--ok);background:var(--okbg);padding:2px 7px;border-radius:5px;align-self:flex-start}
.coa-card .pu{font-size:28px;font-weight:700;letter-spacing:-.02em}.coa-card .pu small{font-size:13px;color:var(--muted);font-weight:500}
.coa-card .lot{font-size:12.5px;color:var(--muted)}
.coa-card .ok{font-size:13px;color:var(--ok);font-weight:600;display:flex;gap:6px;align-items:center}
.coa-card .row{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:13px}
@media (max-width:1000px){.coa-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.coa-grid{grid-template-columns:1fr}}

.prose{max-width:760px;padding:48px 0}
.prose h1{font-size:clamp(32px,4vw,46px);margin-bottom:18px}
.prose h3{margin:26px 0 8px}.prose p{color:#3b4254;margin-bottom:10px}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.faq summary:after{content:"+";font-size:20px;color:var(--muted)}
.faq details[open] summary:after{content:"−"}
.faq details p{margin-top:10px;color:var(--muted)}

/* forms */
.form{display:grid;gap:14px;margin-top:18px}
.form label{display:grid;gap:6px;font-size:13.5px;font-weight:600}
.form input,.form select{height:46px;border:1px solid var(--line);border-radius:12px;padding:0 14px;font-weight:400;font-size:15px;background:#fff}
.form .check{display:flex;gap:10px;font-weight:400;align-items:flex-start;font-size:13.5px}
.form .check input{height:18px;width:18px;margin-top:2px;accent-color:var(--ink)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.form-err{color:var(--sale);font-size:13px;min-height:1px}
.overlay{position:fixed;inset:0;background:rgba(15,20,32,.5);z-index:250;display:grid;place-items:center;padding:20px}
.overlay[hidden],.gate[hidden],.drawer[hidden],.scrim[hidden],.mnav[hidden]{display:none}
.dialog{background:#fff;border-radius:20px;padding:28px;max-width:440px;width:100%;position:relative;max-height:92vh;overflow:auto}
.dialog.wide{max-width:600px}
.close{position:absolute;top:14px;right:16px;font-size:26px;line-height:1;color:var(--muted)}

/* drawer */
.scrim{position:fixed;inset:0;background:rgba(15,20,32,.4);z-index:120}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;z-index:130;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.15)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}
.drawer-body{flex:1;overflow:auto;padding:16px 20px}
.drawer-foot{border-top:1px solid var(--line);padding:16px 20px;display:grid;gap:6px}
.line{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:start}
.line img{width:64px;height:64px;border-radius:10px;object-fit:cover}
.line .qty{height:32px;margin-top:6px}.line .qty button{width:30px;height:30px;font-size:15px}
.progress{height:6px;background:var(--soft-2);border-radius:4px;overflow:hidden}.progress i{display:block;height:100%;background:var(--ok);border-radius:4px}
.pill{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--okbg);color:var(--ok)}
.pill.brass{background:#F5EBDA;color:var(--brass-d)}

.checkout{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;padding:34px 0 60px;align-items:start}
.pay-opts{display:grid;gap:8px}
.pay-opt{display:flex!important;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-weight:500!important;grid-template-columns:none!important}
.pay-opt span:first-child{display:flex;gap:10px;align-items:center}
.pay-opt input{height:16px!important;width:16px}
.save{color:var(--ok);font-weight:700;font-size:13px}
@media (max-width:900px){.checkout{grid-template-columns:1fr}}

.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;font-size:14px;z-index:400;box-shadow:0 10px 30px rgba(0,0,0,.2);max-width:90vw}

/* footer */
.site-footer{background:#0F1B30;color:#C9CDD8;margin-top:40px;padding:56px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:28px}
.site-footer h4{color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.site-footer a{display:block;font-size:14px;padding:4px 0;color:#C9CDD8}.site-footer a:hover{color:#fff}
.foot-brand{color:#fff;margin-bottom:12px}.foot-brand .wm-sub{color:#9aa3b8}
.pay-marks{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.pay-marks span{border:1px solid #2E3D5C;border-radius:6px;font-size:11px;font-weight:700;padding:4px 8px}
.fda{border-top:1px solid #243452;margin-top:34px;padding-top:22px}.fda p{font-size:13px;line-height:1.6;max-width:980px}
.foot-base{font-size:12px;color:#8891a6;margin-top:18px}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}

.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* responsive overrides for inline program grids */
@media (max-width: 900px){
  .steps3[style*="repeat(4"]{grid-template-columns:1fr 1fr !important}
  .grid[style*="repeat(3"]{grid-template-columns:repeat(2,1fr) !important}
}
@media (max-width: 640px){
  .steps3[style*="repeat(4"], .steps3[style*="1fr 1fr"], .tiers[style*="repeat(2"]{grid-template-columns:1fr !important}
  .grid[style*="repeat(3"]{grid-template-columns:repeat(2,1fr) !important}
}
.form select,.form input{max-width:100%;min-width:0;width:100%}.checkout>*{min-width:0}

/* ===== North Wall theme: midnight navy + brass accent ===== */
:root{
  --navy:#0B1528; --navy-2:#101D35; --navy-3:#16264A;
  --ink:#C9A46E; --ink-2:#DDBE8A; --brass:#C9A46E; --brass-d:#DDBE8A;
  --bg:#0B1528; --soft:#12203B; --soft-2:#1A2B4C; --line:#26385C; --text:#E9ECF3; --muted:#A3AEC4; --faint:#6E7B96;
  --sale:#E0667A; --ok:#5BC08C; --okbg:rgba(91,192,140,.12); --warnbg:rgba(201,164,110,.10);
  --lav:#1A1F45; --sage:#122D2A; --blush:#321C24; --butter:#2C2717; --sky:#12284A; --mint:#0F2E33; --dusk:#1B2143; --rose:#301A2A;
  --shadow:0 1px 2px rgba(0,0,0,.25),0 10px 30px rgba(0,0,0,.25);
}
body{background:var(--bg);color:var(--text)}
:focus-visible{outline-color:var(--brass)}
.eyebrow{color:var(--brass)}
.serif{color:var(--brass-d)}
.btn-ink{background:var(--brass);color:var(--navy)}.btn-ink:hover{background:var(--ink-2)}
.btn-ink:disabled{background:#2A3857;color:#7D89A3}
.btn-line{background:transparent;border-color:var(--line);color:var(--text)}.btn-line:hover{border-color:var(--brass);color:var(--brass-d)}
.new{background:rgba(201,164,110,.16);color:var(--brass-d)}
.site-header{background:rgba(11,21,40,.94);border-bottom-color:var(--line)}
.wm-sub{color:var(--muted)}
.nav a:hover,.nav a.active{border-color:var(--brass);color:var(--brass-d)}
.icon-btn:hover{background:var(--soft)}
.cart-count{background:var(--brass);color:var(--navy)}
.mnav{background:var(--navy)}
.sale-bar{background:linear-gradient(90deg,#070F1E,#14254A 45%,#070F1E);border-bottom:1px solid var(--line)}
.ticket{background:var(--brass);color:var(--navy)}
.gate{background:radial-gradient(circle at 70% 20%,#16264A,#070F1E 70%)}
.gate-card,.dialog,.drawer,.panel,.box-tray,.tier,.coa-card,.stack,.card,.g-item{background:var(--navy-2);border-color:var(--line);color:var(--text)}
.gate-card{box-shadow:0 30px 80px rgba(0,0,0,.5)}
.gate-check{border-color:var(--line)!important}
.gate-check input,.form .check input{accent-color:var(--brass)}
.hero-media{background:var(--navy-3) url(assets/hero-club.jpg) center/cover}
.guarantee{background:var(--navy-2)}
.g-media{background:var(--navy-3) url(assets/guarantee.jpg) center/cover}
.g-ico{color:var(--brass)}
.search input,.select,.form input,.form select{background:var(--soft);border-color:var(--line);color:var(--text)}
.search input::placeholder,.form input::placeholder{color:var(--faint)}
.search svg{color:var(--muted)}
.club-strip{background:linear-gradient(90deg,#14254A,#0F1C36);border:1px solid rgba(201,164,110,.35)}
.club-strip .rs b{color:var(--brass-d)}
.chip-f{background:transparent;border-color:var(--line);color:var(--text)}
.chip-f:hover{border-color:var(--brass)}
.chip-f.on{background:var(--brass);color:var(--navy);border-color:var(--brass)}
.promo,.promo:nth-child(2),.promo:nth-child(3){background:linear-gradient(135deg,#132344,#0F1C36);border-color:var(--line)}
.badge-round{background:var(--navy);border-color:rgba(201,164,110,.55);color:var(--brass-d)}
.points-banner{background:linear-gradient(90deg,rgba(201,164,110,.14),rgba(201,164,110,.04));border-color:rgba(201,164,110,.35)}
.card:hover{box-shadow:0 16px 44px rgba(0,0,0,.45);border-color:rgba(201,164,110,.45)}
.off-badge{background:#8E2437;color:#fff}
.off-badge.club{background:var(--brass);color:var(--navy)}
.best{background:rgba(11,21,40,.88);color:var(--brass-d)}
.coa-pill{background:rgba(11,21,40,.88);color:var(--text)}
.was{color:var(--faint)}.now{color:var(--text)}
.cat{color:var(--muted)}
.group{border-color:var(--line);border-top:3px solid var(--brass)}
.group p{color:var(--muted)}
.group .thumbs img{border-color:var(--navy-2);box-shadow:0 4px 12px rgba(0,0,0,.4)}
.group .go{background:var(--brass);color:var(--navy)}
.stack .items span{background:var(--soft)}
.marquee{background:#070F1E;color:var(--muted);border-block:1px solid var(--line)}
.marquee b{color:var(--brass-d)}
.pdp-media{background:var(--navy-2)}
.pdp-tags span{background:rgba(11,21,40,.9);border-color:var(--line);color:var(--text)}
.sz{border-color:var(--line)}.sz.on{background:var(--brass);color:var(--navy);border-color:var(--brass)}
.qty{border-color:var(--line)}
.bopt{background:transparent;border-color:var(--line);color:var(--text)}
.bopt .flag{color:var(--navy)}.bopt .flag.b{background:var(--brass)}.bopt .flag.k{background:#8FA6D6}
.bopt.on{border-color:var(--ok);background:rgba(91,192,140,.08)}
.ship-box{background:var(--soft);border-color:var(--line)}
.ruo{border-color:rgba(201,164,110,.35);color:var(--text)}
.assays div,.steps3>div,.kpi{background:var(--soft)}
.assays svg,.tier li svg,.ok{color:var(--ok)}
.kpi .v{color:var(--brass-d)}
.spec td{border-color:var(--line)}
.slot{background:var(--soft);border-color:var(--line);color:var(--muted)}
.slot button{background:var(--navy);color:var(--text)}
.tier.pop{border-color:var(--brass);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.tier .pop-flag{background:var(--brass);color:var(--navy)}
.tier.cur{background:var(--soft)}
.bill-toggle{background:var(--soft);border-color:var(--line)}
.bill-toggle button.on{background:var(--brass);color:var(--navy)}
.compare th,.compare td{border-color:var(--line)}
.compare thead th{background:var(--soft);color:var(--text)}
.note{background:linear-gradient(135deg,#16264A,#0B1528);border:1px solid rgba(201,164,110,.35)}
.amts button{background:transparent;border-color:var(--line);color:var(--text)}
.amts button.on{border-color:var(--brass);background:rgba(201,164,110,.1)}
.prose p{color:var(--muted)}
.faq details{border-color:var(--line)}
.overlay{background:rgba(3,7,16,.7)}
.scrim{background:rgba(3,7,16,.6)}
.drawer-head,.drawer-foot,.line{border-color:var(--line)}
.progress{background:var(--soft-2)}
.pill{background:rgba(91,192,140,.12);color:var(--ok)}
.pill.brass{background:rgba(201,164,110,.14);color:var(--brass-d)}
.pay-opt{border-color:var(--line)}
.toast{background:var(--brass);color:var(--navy)}
.site-footer{background:#070F1E;border-top:1px solid var(--line)}
.empty{color:var(--muted)}
input[type=range]{accent-color:var(--brass)!important}

/* auth + account tables */
.auth-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;width:max-content;margin-bottom:14px}
.auth-tabs button{border:0;background:transparent;padding:8px 16px;border-radius:999px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer}
.auth-tabs button[aria-selected="true"]{background:var(--ink);color:#fff}
.nw-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.nw-table th{text-align:left;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 10px;white-space:nowrap}
.nw-table td{border-bottom:1px solid var(--line);padding:9px 10px;vertical-align:top}
@media (max-width:720px){#adminKpis,.prose .kpis{grid-template-columns:repeat(2,1fr)!important}}
[hidden]{display:none!important}
#acct .dialog{max-height:calc(100vh - 32px);overflow-y:auto}

/* Proof, published */
.tagline{font-family:var(--serif, "Instrument Serif", Georgia, serif);font-style:italic;font-size:22px;line-height:1.1;color:var(--brass);margin:2px 0 12px}
.gate-tag{text-align:center;font-family:var(--serif, "Instrument Serif", Georgia, serif);font-style:italic;font-size:19px;color:var(--brass);margin:2px 0 10px}
.proof{border-top:1px solid var(--line)}
.proof-steps{grid-template-columns:repeat(4,1fr)}
.proof-steps .link{color:var(--brass);text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.proof-steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.proof-steps{grid-template-columns:1fr}}
.fda p.ruo-full{margin-bottom:22px}
