.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body{overflow-x:hidden;max-width:100%}:root{--blue:#1C3FCB;--blue-2:#2347db;--blue-deep:#142a8a;--blue-dark:#0b1857;--gold:#B8902A;--gold-2:#d4a73a;--black:#0A0A0A;--ink:#111425;--ink-2:#3a3f55;--muted:#6c7080;--line:#e6e8ef;--bg:#ffffff;--bg-soft:#f6f7fb;--bg-blue:#f0f3ff;--shadow-sm:0 2px 6px rgba(10,20,60,.05);--shadow:0 10px 30px rgba(10,20,60,.08);--shadow-lg:0 25px 60px rgba(10,20,60,.14);--radius:14px;--radius-lg:22px;--container:1240px;--t:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden;max-width:100%}[hidden]{display:none !important}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.55;font-size:16px}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;margin-bottom:14px}.section-title{font-size:clamp(28px,3.4vw,44px);font-weight:800;color:var(--ink);letter-spacing:-.02em;margin:0 0 14px;line-height:1.1}.section-sub{color:var(--ink-2);max-width:720px;margin:0 0 36px;font-size:17px}.section-head{text-align:center;margin-bottom:32px}.section-head .section-sub{margin-left:auto;margin-right:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px;font-weight:600;font-size:15px;border:1px solid transparent;transition:transform .2s var(--t),box-shadow .2s var(--t),background .2s var(--t),color .2s var(--t);white-space:nowrap}.btn--lg{padding:16px 28px;font-size:16px}.btn--primary{background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(28,63,203,.25)}.btn--primary:hover{background:var(--blue-2);transform:translateY(-1px);box-shadow:0 12px 24px rgba(28,63,203,.35)}.btn--outline{background:transparent;border-color:var(--blue);color:var(--blue)}.btn--outline:hover{background:var(--blue);color:#fff}.btn--ghost{background:transparent;color:var(--ink-2);border-color:var(--line)}.btn--ghost:hover{background:var(--bg-soft)}.btn--gold{background:var(--gold);color:#fff;box-shadow:0 8px 20px rgba(184,144,42,.25)}.btn--gold:hover{background:var(--gold-2)}.brand{display:inline-flex;flex-direction:column;line-height:1}.brand__word{font-weight:800;letter-spacing:.08em;font-size:38px;color:var(--ink);line-height:1}.brand__sub{font-size:13px;letter-spacing:.46em;color:var(--gold);font-weight:600;margin-top:6px}.i-dot{color:var(--gold);position:relative}.brand--footer .brand__word{color:#fff}.age-gate{position:fixed;inset:0;background:radial-gradient(circle at 30% 20%,#1a2f8a 0%,#0a113d 70%);display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px}.age-gate__panel{background:#fff;max-width:480px;width:100%;padding:40px 36px;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-lg);border-top:4px solid var(--gold)}.age-gate__logo{font-weight:800;font-size:32px;letter-spacing:.08em;color:var(--ink)}.age-gate__sub{font-size:11px;letter-spacing:.5em;color:var(--gold);margin-bottom:26px}.age-gate__title{font-size:26px;margin:8px 0 14px;letter-spacing:-.01em}.age-gate__text{color:var(--ink-2);font-size:15px}.age-gate__actions{display:flex;flex-direction:column;gap:10px;margin:24px 0 16px}.age-gate__fine{font-size:12px;color:var(--muted)}.age-gate.is-hidden{display:none}.announce{background:var(--black);color:#fff;overflow:hidden;border-bottom:1px solid #1a1a1a}.announce__track{display:flex;gap:28px;padding:7px 0;white-space:nowrap;font-size:12px;letter-spacing:.14em;font-weight:600;animation:marquee 38s linear infinite}.announce__track .dot{color:var(--gold)}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.nav{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.92);backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--line)}.nav__inner{display:flex;align-items:center;justify-content:space-between;padding-top:10px;padding-bottom:10px}.nav__links{display:flex;gap:32px}.nav__links a{font-size:14px;font-weight:500;color:var(--ink-2);transition:color .2s var(--t);position:relative}.nav__links a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--gold);transition:width .25s var(--t)}.nav__links a:hover{color:var(--ink)}.nav__links a:hover::after{width:100%}.cart-link{position:relative;display:inline-flex;align-items:center;padding:10px;border-radius:999px;color:var(--ink);border:1px solid var(--line);transition:background .2s var(--t)}.cart-link:hover{background:var(--bg-soft)}.cart-count{position:absolute;top:-4px;right:-4px;background:var(--gold);color:#fff;font-size:11px;min-width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;font-weight:700}.hero{position:relative;padding:16px 0 16px;background:#ffffff;overflow:hidden;min-height:calc(100vh - 110px);display:flex;align-items:center}.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:start;gap:40px;width:100%}.hero__copy{padding-top:15vh}.hero__title{font-size:clamp(34px,4.4vw,56px);font-weight:800;letter-spacing:-.025em;line-height:1.08;margin:0 0 18px}.hero__title .accent{color:var(--blue)}.hero__title .hero-24{color:var(--gold);font-weight:800}.hero__title .hero-line1,.hero__title .hero-line2{white-space:nowrap;display:inline-block}.hero__lede{font-size:17px;max-width:600px;margin:0 0 20px;font-weight:800;white-space:nowrap}.hero__lede .lede-dark{color:var(--black)}.hero__lede .lede-gold{color:var(--gold)}.hero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.hero__bullets{list-style:none;padding:0;margin:0;display:flex;gap:24px;flex-wrap:wrap;font-size:14px;color:var(--ink-2);font-weight:500}.hero__bullets li{display:inline-flex;align-items:center;gap:8px}.hero__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.hero__stat-num{font-size:24px;font-weight:800;color:var(--blue);letter-spacing:-.02em;line-height:1}.hero__stat-label{font-size:10px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-weight:600;margin-top:6px}.tick{width:18px;height:18px;border-radius:50%;background:var(--blue);display:inline-block;position:relative}.tick::after{content:"";position:absolute;left:5px;top:3px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.hero__art{position:relative;display:flex;align-items:flex-start;justify-content:flex-end;overflow:visible;height:auto}.hero__halo{display:none}.hero__vial{position:relative;object-fit:contain;filter:drop-shadow(0 40px 50px rgba(10,20,60,.22));transition:transform .6s var(--t)}.hero__vial--main{height:min(900px,calc(100vh - 130px));width:auto;max-width:none;z-index:3;animation:float 6s ease-in-out infinite;margin-left:auto;margin-right:15%}.hero__vial--left,.hero__vial--right{display:none}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}.trust{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}.trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.trust__item{display:flex;align-items:center;gap:14px;font-size:14px}.trust__item strong{display:block;color:var(--ink);font-size:15px}.trust__item span{color:var(--muted);font-size:13px}.catalog{padding:70px 0 30px}.grid--products{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.product{background:transparent;border:none;border-radius:0;padding:8px 4px 18px;transition:transform .25s var(--t);display:flex;flex-direction:column;position:relative;overflow:visible;text-align:center}.product:hover{transform:translateY(-6px)}.product__flag{position:absolute;top:8px;left:50%;transform:translateX(-50%);background:var(--gold);color:#fff;font-size:10px;font-weight:700;letter-spacing:.14em;padding:5px 12px;border-radius:999px;z-index:3}.product__img{background:transparent;border-radius:0;aspect-ratio:1;display:flex;align-items:center;justify-content:center;margin-bottom:18px;overflow:visible;position:relative}.product__img img,.product__img svg{max-height:150%;max-width:127%;object-fit:contain;transition:transform .5s var(--t);filter:drop-shadow(0 22px 28px rgba(10,20,60,.18))}.product:hover .product__img img,.product:hover .product__img svg{transform:scale(1.08) translateY(-4px)}.product__name{font-size:19px;font-weight:700;color:var(--ink);margin:0;letter-spacing:-.01em}.product__meta{font-size:11px;letter-spacing:.18em;color:var(--gold);font-weight:600;margin:6px 0 14px;text-transform:uppercase}.product__price-row{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:4px}.product__price{font-size:26px;font-weight:800;color:var(--ink)}.product__price-tier{font-size:12px;color:var(--muted)}.product__price-bulk{font-size:13px;color:var(--blue);font-weight:600;margin-bottom:16px}.product__actions{display:flex;gap:8px;margin-top:auto;justify-content:center}.product__actions .btn{flex:1;max-width:150px;padding:11px 14px;font-size:14px}.product__qty{flex:1;max-width:150px;display:flex;align-items:center;justify-content:space-between;background:var(--blue);color:#fff;border-radius:999px;padding:4px;height:42px;box-shadow:0 6px 14px rgba(28,63,203,.25)}.product__qty-btn{width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.product__qty-btn:hover{background:rgba(255,255,255,.32)}.product__qty-num{font-weight:800;font-size:15px;min-width:24px;text-align:center}.product__notice{font-size:11px;color:var(--muted);margin-top:14px;line-height:1.4;padding-top:0;border-top:0}.pricing-note{margin-top:40px;background:var(--bg-blue);border:1px solid #d6dcff;border-radius:var(--radius);padding:16px 20px;display:flex;align-items:center;gap:12px}.pricing-note p{margin:0;color:var(--ink-2);font-size:14px}.grid--stacks{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.stack__items li:last-child{border:none}.stack__items li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}.why{padding:60px 0}.grid--why{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.why__card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;transition:border-color .25s var(--t),transform .25s var(--t)}.why__card:hover{border-color:var(--blue);transform:translateY(-3px)}.why__icon{width:64px;height:64px;border-radius:16px;background:var(--bg-blue);display:flex;align-items:center;justify-content:center;margin-bottom:18px}.why__card h3{margin:0 0 8px;font-size:20px}.why__card p{color:var(--ink-2);margin:0}.faq{padding:50px 0 70px;background:var(--bg-soft)}.faq__list{max-width:820px;margin:0 auto}.faq__item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;overflow:hidden;transition:box-shadow .2s var(--t)}.faq__item.open{box-shadow:var(--shadow-sm);border-color:rgba(28,63,203,.4)}.faq__q{width:100%;background:none;border:0;text-align:left;padding:20px 22px;font-size:16px;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px}.faq__q .plus{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--bg-blue);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:500;transition:transform .25s var(--t),background .25s var(--t)}.faq__item.open .plus{background:var(--blue);color:#fff;transform:rotate(45deg)}.faq__a{max-height:0;overflow:hidden;transition:max-height .35s var(--t);color:var(--ink-2)}.faq__a-inner{padding:0 22px 22px;font-size:15px}.faq__item.open .faq__a{max-height:400px}.docs{padding:60px 0}.docs__inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.docs__card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;position:relative;box-shadow:var(--shadow-sm)}.docs__chip{position:absolute;top:-12px;left:24px;background:var(--gold);color:#fff;font-size:11px;font-weight:700;letter-spacing:.2em;padding:6px 12px;border-radius:999px}.docs__row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--line);font-size:14px}.docs__row:last-child{border:none}.docs__row span{color:var(--muted)}.docs__row strong{color:var(--ink)}.footer{background:var(--black);color:#c7c9d6;padding:60px 0 0}.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:40px}.footer h4{color:#fff;font-size:14px;font-weight:700;margin:0 0 16px;letter-spacing:.12em;text-transform:uppercase}.footer a{display:block;color:#c7c9d6;padding:4px 0;font-size:14px;transition:color .2s var(--t)}.footer a:hover{color:var(--gold)}.footer__about{font-size:14px;color:#9ea1b3;margin:16px 0 0;max-width:320px}.footer__compliance{background:#050505;padding:26px 0;border-top:1px solid #1a1a1a;font-size:12px;color:#9ea1b3}.footer__compliance p{margin:0 0 6px}.footer__copy{color:#6c7080 !important;margin-top:14px !important}.wa-float{position:fixed;bottom:24px;right:24px;width:60px;height:60px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(37,211,102,.4);z-index:800;transition:transform .25s var(--t)}.wa-float:hover{transform:scale(1.08)}.wa-float::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:rgba(37,211,102,.3);animation:pulse 2s infinite;z-index:-1}@keyframes pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.6);opacity:0}}@keyframes rv-pulse{0%,100%{box-shadow:0 0 0 0 rgba(229,57,53,.55)}50%{box-shadow:0 0 0 6px rgba(229,57,53,0)}}.news-pop{position:fixed;inset:0;z-index:700;background:rgba(8,12,30,.55);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:24px}.news-pop.is-open{display:flex}.news-pop__panel{background:#fff;width:100%;max-width:720px;border-radius:var(--radius-lg);display:grid;grid-template-columns:1fr 1.2fr;overflow:hidden;position:relative;box-shadow:var(--shadow-lg);animation:pop .4s var(--t)}@keyframes pop{from{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.news-pop__close{position:absolute;top:12px;right:14px;background:rgba(255,255,255,.9);border:0;width:32px;height:32px;border-radius:50%;font-size:22px;line-height:1;color:var(--ink);z-index:2}.news-pop__art{background:linear-gradient(160deg,var(--blue) 0%,var(--blue-deep) 100%);display:flex;align-items:center;justify-content:center;padding:30px}.news-pop__art img,.news-pop__art svg{max-height:240px}.news-pop__body{padding:36px 32px}.news-pop__body h3{font-size:26px;margin:8px 0 8px}.news-pop__body p{color:var(--ink-2);margin:0 0 18px;font-size:14px}.news-pop form{display:flex;gap:8px;flex-direction:column}.news-pop input[type="email"]{border:1px solid var(--line);background:var(--bg-soft);border-radius:999px;padding:13px 18px;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s var(--t)}.news-pop input[type="email"]:focus{border-color:var(--blue)}.news-pop__code{background:var(--bg-blue);border-radius:12px;padding:12px 14px;font-size:14px;color:var(--ink);margin-top:12px !important;display:flex;align-items:center;justify-content:space-between;gap:12px}.news-pop__code strong{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:16px;letter-spacing:1px;color:var(--blue)}.news-pop__copy{border:0;background:var(--blue);color:#fff;border-radius:8px;padding:6px 14px;font-weight:700;font-size:13px;cursor:pointer;transition:background .15s}.news-pop__copy:hover{background:var(--blue-2)}.news-pop__fine{font-size:11px;color:var(--muted);margin-top:14px !important}.wheel-pop{position:fixed;inset:0;z-index:750;background:rgba(8,12,30,.6);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:24px}.wheel-pop.is-open{display:flex}.wheel-pop__panel{background:#fff;width:100%;max-width:420px;border-radius:var(--radius-lg);padding:28px 28px 32px;position:relative;box-shadow:var(--shadow-lg);text-align:center;animation:pop .4s var(--t)}.wheel-pop__close{position:absolute;top:12px;right:14px;background:var(--bg-soft);border:0;width:32px;height:32px;border-radius:50%;font-size:22px;line-height:1;color:var(--ink);cursor:pointer;z-index:2}.wheel-pop__head h3{font-size:24px;margin:6px 0 6px}.wheel-pop__head p{color:var(--ink-2);font-size:13px;margin:0 0 18px}.wheel-stage{position:relative;width:300px;height:300px;margin:0 auto}.wheel{width:300px;height:300px;border-radius:50%;border:8px solid var(--gold);box-shadow:0 10px 30px rgba(8,12,30,.25),inset 0 0 0 4px rgba(255,255,255,.15);position:relative;overflow:hidden;transition:transform 4.8s cubic-bezier(.16,1,.3,1)}.wheel-label{position:absolute;inset:0;display:flex;justify-content:center;pointer-events:none}.wheel-label b{margin-top:16px;color:#fff;font-weight:800;font-size:14px;text-shadow:0 1px 2px rgba(0,0,0,.45)}.wheel-pointer{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:0;height:0;z-index:3;border-left:13px solid transparent;border-right:13px solid transparent;border-top:22px solid var(--gold);filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}.wheel-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:#fff;color:var(--blue);border:4px solid var(--gold);font-weight:800;font-size:15px;letter-spacing:.05em;cursor:pointer;z-index:4;box-shadow:0 4px 12px rgba(8,12,30,.3)}.wheel-hub:disabled{cursor:default;color:var(--muted)}.wheel-result{margin-top:22px}.wheel-result__win{font-size:20px;font-weight:700;color:var(--ink);margin-bottom:12px}.wheel-result__win strong{color:var(--gold)}.wheel-result__code{background:var(--bg-blue);border-radius:12px;padding:12px 14px;font-size:14px;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.wheel-result__code strong{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:16px;letter-spacing:1px;color:var(--blue)}.spin-float{position:fixed;left:20px;bottom:22px;z-index:600;display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#B8902A 0%,#DBAA32 50%,#B8902A 100%);color:#1a1a1a;border:0;border-radius:999px;padding:12px 18px;font-family:inherit;font-weight:800;font-size:14px;letter-spacing:.02em;cursor:pointer;box-shadow:0 6px 18px rgba(8,12,30,.28);animation:spinFloatPulse 2.2s ease-in-out infinite}.spin-float:hover{filter:brightness(1.05)}@keyframes spinFloatPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}@media (max-width:560px){.spin-float{padding:10px 14px;font-size:13px}}.nav__account{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line);color:var(--ink);padding:9px 16px;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s var(--t),border-color .2s var(--t);margin-right:10px}.nav__account:hover{background:var(--bg-soft);border-color:var(--blue);color:var(--blue)}.nav__account.is-signed{background:var(--bg-blue);border-color:var(--blue);color:var(--blue);font-weight:600}.auth-modal{position:fixed;inset:0;z-index:850;background:rgba(8,12,30,.55);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:24px}.auth-modal.is-open{display:flex}.auth-modal__panel{background:#fff;width:100%;max-width:880px;max-height:92vh;overflow:hidden;border-radius:var(--radius-lg);display:grid;grid-template-columns:.9fr 1.1fr;position:relative;box-shadow:var(--shadow-lg);animation:pop .4s var(--t)}.auth-modal__close{position:absolute;top:14px;right:16px;background:rgba(255,255,255,.9);border:0;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;color:var(--ink);z-index:3}.auth-modal__art{background:linear-gradient(160deg,var(--blue) 0%,var(--blue-deep) 100%);padding:40px 32px;color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-modal__brand{font-size:32px;font-weight:800;letter-spacing:.08em;line-height:1}.auth-modal__brand .i-dot{color:var(--gold)}.auth-modal__sub{font-size:11px;letter-spacing:.5em;color:var(--gold);margin:8px 0 26px}.auth-modal__pitch{font-size:15px;color:rgba(255,255,255,.85);margin:0 0 24px}.auth-modal__perks{list-style:none;padding:0;margin:0;font-size:14px}.auth-modal__perks li{padding:6px 0;color:rgba(255,255,255,.92)}.auth-modal__body{padding:40px 36px 36px;max-height:92vh;overflow-y:auto}.auth-tabs{display:flex;gap:4px;background:var(--bg-soft);border-radius:999px;padding:4px;margin-bottom:24px}.auth-tab{flex:1;background:transparent;border:0;padding:10px 16px;font-size:14px;font-weight:600;color:var(--ink-2);border-radius:999px;cursor:pointer;transition:background .2s var(--t),color .2s var(--t)}.auth-tab.is-active{background:#fff;color:var(--blue);box-shadow:0 2px 6px rgba(10,20,60,.06)}.auth-form{display:none}.auth-form.is-active{display:block}.auth-field{margin-bottom:14px}.auth-field label{font-size:12px;font-weight:600;color:var(--ink-2);letter-spacing:.06em;text-transform:uppercase;display:block;margin-bottom:6px}.auth-field input{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:14px;font-family:inherit;background:#fff;outline:none;transition:border-color .2s var(--t)}.auth-field input:focus{border-color:var(--blue)}.auth-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--ink-2);background:var(--bg-soft);border-radius:10px;padding:12px;margin-bottom:18px}.auth-consent input{width:18px;height:18px;flex-shrink:0;margin-top:1px}.auth-fine{font-size:13px;text-align:center;margin:14px 0 0}.auth-fine a{color:var(--blue);font-weight:600}.auth-message{margin-top:14px;padding:10px 12px;border-radius:10px;font-size:13px}.auth-message.ok{background:var(--bg-blue);color:var(--blue)}.auth-message.err{background:#ffe9e9;color:#b53939}@media (max-width:720px){.auth-modal__panel{grid-template-columns:1fr;max-height:96vh}.auth-modal__art{display:none}.nav__account span{display:none}}.spec-modal{position:fixed;inset:0;z-index:750;background:rgba(8,12,30,.55);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:24px}.spec-modal.is-open{display:flex}.spec-modal__panel{background:#fff;width:100%;max-width:880px;max-height:90vh;overflow-y:auto;border-radius:var(--radius-lg);padding:36px;position:relative;box-shadow:var(--shadow-lg);animation:pop .4s var(--t)}.spec-modal__close{position:absolute;top:14px;right:16px;background:var(--bg-soft);border:0;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;color:var(--ink)}.spec-modal__close:hover{background:var(--line)}.spec-head{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}.spec-head__img{background:transparent;border-radius:var(--radius);aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:0;overflow:visible}.spec-head__img img,.spec-head__img svg{max-height:118%;max-width:105%;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(10,20,60,.18))}.spec-head h2{font-size:28px;margin:6px 0 6px}.spec-head .meta{color:var(--gold);letter-spacing:.18em;font-size:12px;font-weight:700}.spec-head .price{font-size:22px;font-weight:800;color:var(--blue);margin-top:8px}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}.spec-grid .row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);font-size:14px}.spec-grid .row span{color:var(--muted)}.spec-grid .row strong{color:var(--ink)}.spec-section{margin-top:22px}.spec-section h4{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}.spec-section p{color:var(--ink-2);font-size:14px;margin:0 0 10px}.spec-coa{background:var(--bg-blue);border:1px solid #d6dcff;border-radius:var(--radius);padding:16px;margin-top:14px}.spec-coa h5{margin:0 0 10px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}.spec-coa .docs__row span{color:var(--muted)}.spec-coa-real{text-align:center}.coa-img{max-width:300px;width:100%;height:auto;display:block;margin:0 auto;border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 18px rgba(8,12,30,.12);pointer-events:none;user-select:none;-webkit-user-drag:none}.coa-note{font-size:12px;color:var(--muted);margin-top:10px !important}.mix-steps{margin:0;padding-left:20px;color:var(--ink-2);font-size:14px}.mix-steps li{padding:4px 0;line-height:1.5}.mix-note{margin-top:10px;background:var(--bg-blue);border:1px solid #d6dcff;border-radius:8px;padding:10px 12px;color:var(--ink-2);font-size:13px}.spec-calc{background:#fafbff;border:1px solid #e4e8f7;border-radius:var(--radius);padding:16px}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calc-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.calc-field input,.calc-field select{font-family:inherit;font-size:15px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink);padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}.calc-field input[readonly]{background:#eef1fa;color:var(--muted)}.calc-dose{display:flex;gap:8px}.calc-dose input{flex:1;min-width:0}.calc-dose select{flex:0 0 78px}.calc-out{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 14px;color:var(--muted);font-size:14px}.calc-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed var(--line)}.calc-row:last-child{border-bottom:none}.calc-row span{color:var(--muted)}.calc-row strong{color:var(--ink)}.calc-row--hi strong{color:var(--blue);font-size:17px}.calc-disclaimer{margin:12px 0 0;font-size:11px;color:var(--muted);line-height:1.5}@media (max-width:560px){.calc-grid{grid-template-columns:1fr}}.spec-actions{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}.spec-compliance{margin-top:18px;background:#fff5e6;border:1px solid #f0d9a6;color:#6a4d0a;border-radius:var(--radius);padding:12px 14px;font-size:12px}.checkout-page{padding:50px 0 80px;background:var(--bg-soft);min-height:80vh}.guest-banner{background:var(--bg-blue);border:1px solid #d6dcff;border-radius:12px;padding:14px 16px;font-size:14px;color:var(--ink);margin-bottom:22px;display:flex;align-items:center;gap:12px}.guest-banner strong{display:block;color:var(--blue)}.guest-banner span{color:var(--ink-2)}.guest-banner a{color:var(--blue);font-weight:600;text-decoration:underline}.form-note{font-size:13px;color:var(--ink-2);background:#fff5e6;border:1px solid #f0d9a6;border-radius:10px;padding:10px 14px;margin:0 0 18px}.req{color:#b53939;font-weight:700}.field-err{display:block;font-size:12px;color:#b53939;margin-top:4px;min-height:0;font-weight:500}.field input.is-invalid,.field select.is-invalid,.field textarea.is-invalid{border-color:#b53939;background:#fff7f7}.checkout-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:32px;align-items:flex-start}.co-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px}.co-card h3{font-size:18px;margin:0 0 16px;display:flex;align-items:center;gap:10px}.co-card h3 .num{width:26px;height:26px;background:var(--blue);color:#fff;border-radius:50%;font-size:13px;display:inline-flex;align-items:center;justify-content:center}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.form-row.full{grid-template-columns:1fr}.field label{font-size:12px;font-weight:600;color:var(--ink-2);letter-spacing:.06em;text-transform:uppercase;display:block;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:14px;font-family:inherit;background:#fff;transition:border-color .2s var(--t);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue)}.cod-block{background:var(--bg-blue);border:1px solid #d6dcff;border-radius:var(--radius);padding:16px;display:flex;align-items:center;gap:14px}.cod-block svg{flex-shrink:0}.cod-block strong{color:var(--ink);display:block}.cod-block span{color:var(--ink-2);font-size:13px}.consent{display:flex;gap:12px;margin:22px 0 0;padding:16px;background:#fff5e6;border:1px solid #f0d9a6;border-radius:var(--radius);font-size:13px;color:#6a4d0a}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:2px}.summary{position:sticky;top:96px}.summary__item{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px dashed var(--line)}.summary__item .img{background:transparent;border-radius:10px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:0;overflow:visible}.summary__item .img img,.summary__item .img svg{max-height:115%;max-width:110%;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(10,20,60,.15))}.summary__item .name{font-weight:600;font-size:14px;color:var(--ink)}.summary__item .meta{font-size:12px;color:var(--muted)}.summary__item .price{font-weight:700;font-size:14px;color:var(--ink);white-space:nowrap}.summary__item .qty{display:inline-flex;align-items:center;gap:8px;margin-top:4px}.summary__item .qty button{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink-2)}.summary__item.is-free .price{color:var(--blue)}.totals-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;color:var(--ink-2)}.totals-row.total{font-size:18px;color:var(--ink);font-weight:800;border-top:1px solid var(--line);padding-top:14px;margin-top:10px}.totals-row.discount{color:var(--blue)}.promo{margin-top:16px;background:var(--bg-soft);border:1px dashed var(--line);border-radius:var(--radius);padding:14px}.promo__row{display:flex;gap:8px}.promo input{flex:1;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:14px;font-family:inherit;outline:none;background:#fff}.promo input:focus{border-color:var(--blue)}.promo__msg{font-size:12px;margin-top:8px;color:var(--muted)}.promo__msg.ok{color:var(--blue)}.promo__msg.err{color:#b53939}.ship-nudge{margin-top:14px;background:linear-gradient(120deg,#fff4d6,#fffbef);border:1px solid #f0d9a6;border-radius:var(--radius);padding:14px;font-size:13px;color:#6a4d0a}.ship-nudge .bar{height:6px;background:#f0e0b8;border-radius:999px;overflow:hidden;margin-top:8px}.ship-nudge .fill{height:100%;background:var(--gold);transition:width .35s var(--t)}.empty-cart{text-align:center;padding:40px 20px;color:var(--muted)}.empty-cart a{color:var(--blue);font-weight:600}@media (max-width:1024px){.hero__grid{grid-template-columns:1fr}.hero__art{height:700px}.hero__vial--main{height:660px}.grid--products{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--stacks{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--why,.footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.docs__inner{grid-template-columns:1fr}.product,.stack{min-width:0}.checkout-grid{grid-template-columns:1fr}.summary{position:static}}@media (max-width:720px){.nav__links{display:none}.grid--products{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--stacks{grid-template-columns:minmax(0,1fr)}.product,.stack{min-width:0}.grid--why{grid-template-columns:1fr}.trust__grid{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr}.news-pop__panel{grid-template-columns:1fr}.news-pop__art{display:none}.spec-head{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.hero{padding:24px 0;min-height:0;align-items:flex-start}.hero__grid{display:flex;flex-direction:column;gap:14px;align-items:stretch}.hero__copy,.hero__art{display:contents}.hero__title{order:1}.hero__lede{order:2}.hero__vial--main{order:3;height:auto;width:90%;max-width:340px;margin:12px auto;align-self:center;transform:scale(1.15);transform-origin:center}.hero__cta{order:4}.hero__bullets{order:5}.hero__stats{order:6;display:none}.trust{padding:22px 0}.trust__grid{grid-template-columns:repeat(2,1fr);gap:12px}.trust__item{padding:12px;font-size:12px}.trust__item strong{font-size:13px}.catalog{padding:36px 0}.section-head{margin-bottom:22px}.section-title{font-size:24px}.section-sub{font-size:14px}.product{padding:14px 12px}.product__notice{display:none}.product__price{font-size:22px}.product__name{font-size:15px}.product__price-bulk{font-size:11px;margin-bottom:10px}.product__actions{gap:6px}.product__actions .btn{padding:9px 8px;font-size:12px;max-width:none}.product__qty{max-width:none;height:36px;padding:3px}.product__qty-btn{width:28px;height:28px;font-size:16px}.product__qty-num{font-size:13px}.product__flag{font-size:9px;padding:4px 8px}.why{padding:36px 0}.docs{padding:36px 0}.faq{padding:36px 0}.hero__copy{padding-top:0}.hero__lede{white-space:normal;font-size:15px}.hero__title{font-size:clamp(28px,7vw,38px)}.hero__title .hero-line1,.hero__title .hero-line2{white-space:normal;display:inline}.hero__stats{grid-template-columns:repeat(2,1fr)}.hero__bullets{gap:10px 16px}.age-gate{padding:16px !important;box-sizing:border-box}.age-gate__panel{padding:28px 20px !important;max-width:calc(100vw - 32px) !important;width:calc(100vw - 32px) !important;box-sizing:border-box}.age-gate__title{font-size:22px}.age-gate__text{font-size:14px;word-wrap:break-word}.age-gate__actions .btn{width:100% !important;min-width:0 !important;padding:13px 10px;font-size:14px;white-space:normal !important}.nav__inner{gap:8px}.nav__actions{gap:8px}.container{padding:0 16px}}/* Uniform blog hero image — same size everywhere, matches semax-dosing-protocol reference style */
.rv-blog-hero-wrap{display:block;text-align:center;margin:28px auto 32px}img.rv-blog-hero{display:block;width:100%;max-width:480px;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:14px;box-shadow:0 8px 24px rgba(10,20,60,.12);margin:0 auto}
@media (max-width:640px){img.rv-blog-hero{max-width:100%}}/* Also normalize inline-style .blog__hero-img (reference-style blogs) to match .rv-blog-hero — uniformity across all 801 blogs */
img.blog__hero-img{display:block !important;width:100% !important;max-width:480px !important;height:auto !important;aspect-ratio:1/1 !important;object-fit:cover !important;border-radius:14px !important;box-shadow:0 8px 24px rgba(10,20,60,.12) !important;margin:28px auto 32px !important}/* Widen catalog + stacks — fill up to 1920px on wide monitors (cards ~470px). Only these two sections. */
.catalog>.container,.stacks>.container{max-width:min(1920px,calc(100vw - 40px))}/* --- Product images: one model, no magnification, no cropping --------------
   Sizes to the column and caps the height so a tall vial (0.55) and a wide pen
   (1.72) both sit comfortably in the same grid. Supersedes the 127%/150%
   pop-out above, which was tuned for uncropped artwork and now oversizes every
   image. */
.product .product__img{
  aspect-ratio:auto;
  height:auto;
  min-height:0;
  display:block;
  overflow:visible;
  margin-bottom:12px;
}.product .product__img img,
.product .product__img svg{
  display:block;
  margin:0 auto;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:300px;
  object-fit:contain;
  transform:none;
}.product:hover .product__img img{transform:scale(1.03)}

@media (max-width:720px){/* 250px, not 220: in a two-column phone grid each card has ~156px of usable
     width, and a 0.55-ratio vial capped at 220px only reached 121px of it. */
  .product .product__img img,
  .product .product__img svg{max-height:250px}.product .product__img{margin-bottom:8px}/* Two columns on a phone. The grid steps 4 -> 3 at 1024px and then stops, so
     a 390px screen was still rendering THREE columns: minus the container's
     48px of padding and two 24px gaps, each card came out ~98px wide with the
     vial inside it ~90px. That is the "still issues on mobile" — the artwork
     was never the problem, the column count was.

     The gutter tightens too. 24px is sized for a 1240px desktop grid; on a
     390px phone it was eating 12% of the screen. */
  .grid--products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}/* One pen or pack per row: a wide pen (1.72:1) or pack (1.86:1) in half a
     phone screen shrinks to almost nothing. Vials stay two-across — they are
     tall and narrow and suit a half column. Lost once already when this block
     was rewritten; keep it with the rule it belongs to. */
  .grid--products > .product[data-id^="pen-"],
  .grid--products > .product[data-id^="pack-"]{grid-column:1 / -1}.product[data-id^="pen-"] .product__img img,
  .product[data-id^="pack-"] .product__img img{max-height:none}
}/* --- Hero "Verify a vial" shortcut ----------------------------------------
   Identical to "Browse catalog": the markup carries .btn--primary, so the fill,
   text colour, shadow and hover all come from that one definition rather than
   being restated here. Restating them is how the two would drift apart the
   next time the primary style is touched.

   .hero__cta-verify therefore carries no colour of its own — it exists purely
   as a hook for the width rule below and for the mobile block. */
.hero__cta-verify{display:inline-flex}/* Match "Browse catalog" exactly. Both already share .btn--lg, so padding and
   font-size were identical — what made them look different was font-weight
   (700 vs the primary's 600, now dropped) and the labels being different
   lengths, since a .btn is only as wide as its text.

   A shared min-width fixes the width regardless of wording. It goes on BOTH
   buttons rather than just this one, so they stay equal if either label is
   ever reworded; 176px clears the natural width of the wider of the two
   (~169px for "Browse catalog") with a little slack.

   Mobile is untouched: the inline block sets flex:1 with min-width:0
   !important there, which already makes the pair exactly equal halves. */
.hero__cta .btn--primary,
.hero__cta .hero__cta-verify{min-width:176px}

/* --- Phone: uniform card alignment ----------------------------------------
   Two things made names and prices sit at different heights across a row.

   The image box was height:auto, so its height followed each rendered image.
   Vials are all 499x900 now, but the box still varied by a pixel or two and,
   more importantly, product names wrap to different line counts — "MOTS-c" on
   one line against "TB500 (Thymosin B4 Acetate)" on three. Everything below a
   long name was pushed down, so prices in the same row disagreed by 30-40px.

   Fixed height on the image box gives every card the same starting point, and
   margin-top:auto on the price row pushes prices to a common baseline whatever
   the name does above it. The price row carries an inline margin from the card
   template, so this needs !important to win.

   Only the price row gets auto margin — .product__actions already had one, and
   two auto margins would split the slack between them and separate the price
   from its button. */
@media (max-width:720px){
  .product .product__img{
    height:230px !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    margin-bottom:6px;
  }
  .product .product__img img{max-height:230px}

  /* Pens and packs span the full row and are wide, not tall — they keep
     sizing to their own artwork. */
  .product[data-id^="pen-"] .product__img,
  .product[data-id^="pack-"] .product__img{height:auto !important;display:block !important}

  .product__name{font-size:15px;line-height:1.25;min-height:2.5em}
  .product__meta{margin:4px 0 8px}
  .product__price-row{margin-top:auto !important}
  .product__price{font-size:21px !important}
  .product__actions{margin-top:8px !important}
}

/* --- Phone: let the hero text wrap ----------------------------------------
   .hero__title's two spans and .hero__lede are white-space:nowrap, which is
   deliberate on a wide screen — it controls where the headline breaks. On a
   phone it forces a single line roughly 390px wide into about 312px of usable
   space, and since html carries overflow-x:hidden the excess is simply cut off
   rather than scrolled.

   index.html overrides this in its own inline block, but the rule belongs here
   so any page using the hero gets it without depending on that block. */
@media (max-width:720px){
  .hero__title .hero-line1,
  .hero__title .hero-line2{white-space:normal;display:inline}
  .hero__lede{white-space:normal}
}
