:root{--sc-canvas:#0a0a0b;--sc-surface:#121214;--sc-ink:#f2f3f5;--sc-ink-soft:#9a9ca3;--sc-accent:#d7202c;--sc-accent-ink:#fff;
--bg:#0a0a0b;--panel:#121214;--panel2:#18181b;--line:#2a2a30;--ink:#f2f3f5;--text:#c7c9ce;--mute:#8d9098;--red:#d7202c;--red2:#ff4450;--silver:#d9dce1;
--sans:'Helvetica Neue','Segoe UI',Arial,system-ui,sans-serif;--mono:ui-monospace,'SF Mono','Cascadia Mono','Liberation Mono',Menlo,monospace;--bar:64px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--sc-canvas);color:var(--text);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--silver)}a:hover{color:#fff}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}.narrow{max-width:820px}
.mono{font:600 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 8px}
.small{font-size:13px;color:var(--mute)}
h1,h2,h3{color:var(--ink);font-weight:700;letter-spacing:-.025em;line-height:1.05;margin:0}
h1{font-size:clamp(34px,5vw,56px)}h2{font-size:clamp(26px,3.6vw,40px);margin-bottom:.4em}h3{font-size:22px}
.lead{font-size:18px;max-width:640px}
/* chrome: wordmark + index of objects */
.bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;padding:6px 20px;background:rgba(10,10,11,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--red),transparent 60%)}
.brand img{display:block;height:46px;width:auto}
.idx{flex:1;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);padding:0 18px}
.idx::-webkit-scrollbar{display:none}
.idx a{flex:none;font:600 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:6px 12px;white-space:nowrap}
.idx a:hover,.idx a[aria-current]{color:#fff;border-color:var(--red)}
.acts{display:flex;gap:16px;align-items:center}.acts a{font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);text-decoration:none;white-space:nowrap}.acts a:hover{color:#fff}
.acts .cart{border:1px solid var(--red);color:#fff;padding:7px 12px;border-radius:4px;background:rgba(215,32,44,.12)}
/* buttons */
.btn{display:inline-block;background:var(--red);color:#fff;border:1px solid var(--red);border-radius:4px;padding:12px 22px;font:600 13px var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:transform .15s,background .15s}
.btn:hover{background:var(--red2);color:#fff}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.sm{padding:8px 14px}
.link{font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--silver);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}
/* museum label plate */
.plate{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-left:3px solid var(--red);border-radius:6px;padding:22px 24px}
.plate h1,.plate h2,.plate h3{margin-bottom:12px}
.plate .id{color:var(--red2)}
.facts{margin:0 0 16px;display:grid}.facts>div{display:grid;grid-template-columns:128px 1fr;gap:12px;padding:7px 0;border-top:1px dotted var(--line)}
.facts dt{font:600 11px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.facts dd{margin:0;color:var(--ink);font-size:15px}
.plate__act{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:6px 0 12px}
.comp{width:100%;border-collapse:collapse;margin:0 0 14px;font-size:15px}.comp caption{text-align:left;font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding-bottom:6px}
.comp td{padding:6px 0;border-top:1px dotted var(--line);color:var(--ink)}.comp td+td{text-align:right;font-family:var(--mono)}
/* hero: object one + the turn (peak) */
.turn{background:#0a0a0b;border-bottom:1px solid var(--line)}
.turn__stage:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#0a0a0b 0%,rgba(10,10,11,.5) 45%,rgba(10,10,11,.15)),url(img/hero.jpg) center right/cover no-repeat}
.turn__in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,480px) 1fr;align-items:center;gap:32px;max-width:1180px;margin:0 auto;padding:var(--bar) 24px 0;height:100%}
.plate--hero{align-self:center}
.tt{position:relative;margin:0 auto;aspect-ratio:400/720}
.tt canvas,.tt img.tt__fb{display:block;width:100%;height:auto;touch-action:pan-y;cursor:grab;filter:drop-shadow(0 40px 50px rgba(0,0,0,.65))}
.tt canvas:active{cursor:grabbing}
.tt--hero{height:min(78svh,760px);aspect-ratio:400/720}
.tt--hero:after{content:"";position:absolute;left:10%;right:10%;bottom:-3%;height:8%;background:radial-gradient(closest-side,rgba(215,32,44,.55),transparent);filter:blur(10px);z-index:-1}
/* rail */
.rail-act{background:#0d0c0e;border-bottom:1px solid var(--line)}
.rail-stage{display:flex;align-items:center}
.rail{display:flex;gap:28px;align-items:center;padding:0 24px;width:max-content}
.rail__lead,.rail__end{flex:none;width:min(80vw,340px);padding:0 12px}
.rail__lead p:not(.mono),.rail__end p:not(.mono){color:var(--text)}
.obj{flex:none;display:flex;align-items:center;gap:0;width:min(88vw,470px)}
.obj__pic{flex:none;width:36%;display:block}.obj .vimg{width:100%;height:auto;filter:drop-shadow(0 28px 30px rgba(0,0,0,.6))}
.obj .plate{flex:1;margin-left:-8px;padding:16px 18px}.obj .plate h3{font-size:19px}
.obj .facts>div{grid-template-columns:96px 1fr;padding:5px 0}.obj .facts dd{font-size:13px}.obj .facts>div:nth-child(1),.obj .facts>div:nth-child(2),.obj .facts>div:nth-child(6),.obj .facts>div:nth-child(7){display:none}
.obj .plate__act{margin:2px 0 0;gap:12px}.obj .btn{padding:9px 14px}
/* blends */
.blends{padding-top:88px;padding-bottom:24px}
.blend{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:center;margin:36px 0}
.blend__pic .vimg{width:100%;height:auto;filter:drop-shadow(0 28px 30px rgba(0,0,0,.6))}
.steps{padding-top:72px}.plates{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:24px 0}
.close{padding:48px 24px 24px}.plate--close{max-width:900px}
/* specimen */
.spec{display:grid;grid-template-columns:minmax(260px,440px) 1fr;gap:48px;align-items:start;padding-top:48px}
.tt--spec{aspect-ratio:auto;max-width:440px;width:100%;position:sticky;top:96px}.tt--spec .hint{text-align:center;margin:8px 0 0}
.nextrow{padding-top:56px}.minis{display:flex;gap:16px;flex-wrap:wrap}
.mini{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:6px;padding:10px 16px 10px 10px;color:var(--ink);text-decoration:none;background:var(--panel)}.mini:hover{border-color:var(--red)}.mini img{width:40px;height:auto}
/* catalogue index */
.sec{padding-top:56px;padding-bottom:24px}
.index{width:100%;border-collapse:collapse;margin:28px 0 56px}.index th{text-align:left;font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding:8px 10px;border-bottom:1px solid var(--line)}
.index td{padding:10px;border-bottom:1px dotted var(--line);vertical-align:middle}.index .t{width:56px}.index .t img{width:36px;height:auto;display:block}.index a{text-decoration:none;color:var(--ink)}.index .price{font-weight:700;color:#fff;white-space:nowrap}
/* prose + forms */
.prose main,.order main{padding:48px 0 72px}
.prose .eyebrow,.order .eyebrow,.eyebrow{font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red2);margin:0 0 12px}
.acc details{border-bottom:1px solid var(--line);padding:18px 0}.acc summary{cursor:pointer;font-weight:600;color:var(--ink);list-style:none;display:flex;justify-content:space-between}
.acc summary::after{content:"+";color:var(--red2)}.acc details[open] summary::after{content:"\2212"}
.list{padding-left:20px}.step{margin:.2em 0 .2em 1em}
form{display:grid;gap:16px;margin:28px 0 64px}form.plate{margin:28px 0 28px}
label{display:grid;gap:6px;font-size:14px;color:var(--ink)}
input,textarea,select{font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:4px;background:#0c0c0e;color:var(--ink)}
input:focus,textarea:focus,select:focus,.btn:focus-visible,a:focus-visible{outline:2px solid var(--red2);outline-offset:2px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:400;color:var(--text)}.chk input{margin-top:4px;accent-color:var(--red)}
.hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
.cart-list{margin:24px 0;border-top:1px solid var(--line)}.cart-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.cart-row button{background:none;border:1px solid var(--line);border-radius:4px;padding:2px 10px;cursor:pointer;color:var(--silver)}
footer{border-top:1px solid var(--line);padding:40px 0;margin-top:48px;background:#08080a}
.foot{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:start}.foot p{margin:.4em 0;max-width:760px}.foot .mono{margin-top:10px;text-transform:none;letter-spacing:.04em}
.age{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
html.ack .age{display:none}body.gated{overflow:hidden}
.age-bg{position:fixed;inset:0;background:radial-gradient(60% 50% at 50% 0%,rgba(215,32,44,.35),transparent 70%),linear-gradient(180deg,rgba(8,8,10,.86),#050506 85%),url(img/hero.jpg) center/cover no-repeat}
.age-box{position:relative;max-width:520px;width:100%;margin:auto;background:rgba(18,18,20,.88);backdrop-filter:blur(12px);border:1px solid var(--line);border-top:2px solid var(--red);border-radius:10px;padding:36px 32px;display:grid;gap:14px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.age-box h2{margin:0;font-size:clamp(34px,6vw,48px)}.age-box .mono{margin:0;color:var(--red2)}
.age-mark{height:64px;width:auto;filter:drop-shadow(0 0 18px rgba(215,32,44,.5))}
.age-word{margin:0;font:800 clamp(30px,6vw,40px)/1 var(--sans);letter-spacing:.14em;color:var(--ink)}.age-word b{color:var(--red2);text-shadow:0 0 22px rgba(255,68,80,.6)}.age-word span{display:block;font:600 12px var(--mono);letter-spacing:.5em;color:var(--mute);margin-top:8px}
.age-lead{margin:0;color:var(--silver)}
.age-act{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:6px}
.plate--red{border-color:var(--red);box-shadow:0 0 0 1px rgba(215,32,44,.3),0 12px 40px rgba(215,32,44,.12)}
.pay{padding-top:24px}.pay h2{margin-bottom:20px}
[hidden]{display:none!important}
/* mobile art direction */
@media(max-width:860px){
 .bar{flex-wrap:wrap;gap:6px 12px;padding:6px 14px}.brand img{height:38px}.acts{margin-left:auto}.acts a:not(.cart){display:none}.idx{order:3;flex:1 0 100%;padding:0 6px 4px}
 .turn__in{grid-template-columns:1fr;grid-template-rows:auto auto;align-content:start;gap:8px;padding:92px 16px 0}
 .tt--hero{order:-1;height:min(36svh,330px);margin:0 auto}
 .plate--hero{padding:14px 16px}.plate--hero h1{font-size:28px;margin-bottom:6px}.plate--hero .facts>div{padding:3px 0}.plate--hero .facts>div:nth-child(n+6){display:none}.plate--hero .small{display:none}.plate--hero .facts dd{font-size:13px}
 .obj{width:86vw;flex-direction:column;align-items:stretch}.obj__pic{width:46%;margin:0 auto}.obj .plate{margin:-6px 0 0}
 .blend{grid-template-columns:1fr;gap:12px}.blend__pic{max-width:180px}
 .spec{grid-template-columns:1fr;gap:16px;padding-top:24px}.tt--spec{position:static;margin:0 auto;max-width:300px}
 .foot{grid-template-columns:1fr}.facts>div{grid-template-columns:104px 1fr}
 .turn__stage:before{background:linear-gradient(180deg,rgba(10,10,11,.5),rgba(10,10,11,.92)),url(img/hero.jpg) 70% center/cover no-repeat}
}
/* reduced motion: stage becomes static, rail becomes a scrollable strip (engine) */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media (prefers-reduced-motion:reduce){
 .turn,.rail-act{height:auto!important;min-height:0!important}
 .turn [data-sc-stage],.rail-act [data-sc-stage]{position:relative!important;height:auto!important;min-height:0}
 .turn__in{min-height:min(88svh,760px)}
 .rail-act [data-sc-stage]{overflow-x:auto!important;scroll-snap-type:x proximity;padding:40px 0}
 .rail{transform:none!important}
}

/* home: hero, strip, featured, story */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero__bg{position:absolute;inset:0;background:radial-gradient(50% 60% at 78% 45%,rgba(215,32,44,.28),transparent 70%),linear-gradient(90deg,#0a0a0b 0%,rgba(10,10,11,.55) 50%,rgba(10,10,11,.25)),url(img/hero.jpg) center right/cover no-repeat}
.hero__in{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center;padding-top:56px;padding-bottom:40px;min-height:min(86svh,780px)}
.hero h1{font-size:clamp(40px,6vw,76px);margin:8px 0 18px}.hero h1 em{font-style:normal;color:var(--red2)}
.hero__txt .lead{margin-bottom:24px}.hero__note{margin-top:14px}
.hero__vial{display:flex;flex-direction:column;align-items:center}.hero__vial .hint{margin:8px 0 0;text-align:center}
.v3d{position:relative;aspect-ratio:400/720;height:clamp(420px,66svh,640px)}
.v3d__cv{touch-action:pan-y}
.v3d__fb{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6))}
.v3d.on .v3d__fb{display:none}
.v3d:after{content:"";position:absolute;left:12%;right:12%;bottom:-2%;height:7%;background:radial-gradient(closest-side,rgba(215,32,44,.5),transparent);z-index:-1}
.v3d--spec{height:auto;width:100%;max-width:420px;margin:0 auto}
.spec__vial{position:sticky;top:96px}.spec__vial .hint{text-align:center;margin:8px 0 0}
.strip{background:#0d0c0e;border-bottom:1px solid var(--line)}
.strip ul{list-style:none;margin:0 auto;padding:18px 24px;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.strip li{display:grid;gap:2px;font-size:13px;color:var(--mute)}.strip b{color:var(--ink);font:700 12px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.feat{padding-top:72px}.sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px}.sechead h2{margin:0}
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fcard{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:10px;overflow:hidden;display:grid}
.fcard__pic{display:block;padding:20px 20px 0;background:radial-gradient(60% 50% at 50% 55%,rgba(215,32,44,.2),transparent 70%)}
.fcard__pic .vimg{display:block;width:78%;height:auto;margin:0 auto;filter:drop-shadow(0 22px 24px rgba(0,0,0,.6))}
.fcard__txt{padding:16px 18px 18px;display:grid;gap:6px}.fcard h3{font-size:20px}.price{margin:4px 0 8px;color:var(--ink);font:700 20px var(--sans)}
.story{padding-top:80px}.story__txt{max-width:720px;margin-bottom:8px}
.advisory{padding-top:56px}
@media(max-width:860px){
 .hero__in{grid-template-columns:1fr;padding-top:24px;min-height:0}.hero__vial{order:-1}.v3d{height:min(46svh,380px)}
 .strip ul{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr 1fr}.sechead{flex-direction:column;align-items:flex-start}
 .spec__vial{position:static}
}

.bar{justify-content:space-between;padding:8px 24px}.brand img{height:52px}
.acts{gap:26px}.acts a[aria-current]{color:#fff}
@media(max-width:700px){.bar{flex-wrap:wrap;padding:6px 14px;gap:4px 12px}.brand img{height:40px}.acts{width:100%;order:3;overflow-x:auto;gap:18px;padding-bottom:4px;scrollbar-width:none}.acts a{font-size:11px}.acts .cart{margin-left:auto}}
@media(max-width:860px){.acts a:not(.cart){display:inline}}
@media(max-width:700px){.acts{gap:12px}.acts a{font-size:10px;letter-spacing:.06em}.acts .cart{padding:5px 8px;margin-left:0}}
.v3d--spec{height:min(74svh,680px);width:auto;max-width:100%;margin:0 auto}
@media(max-width:860px){.v3d--spec{height:min(54svh,460px)}}

/* photo vial proportions */
.v3d{aspect-ratio:600/1040;height:clamp(440px,70svh,660px)}.v3d--spec{height:min(74svh,700px)}
.v3d__fb{object-fit:contain}
.fcard__pic .vimg{width:46%}
.index .t img{height:84px;width:auto}
@media(max-width:860px){.v3d{height:min(50svh,430px)}.v3d--spec{height:min(54svh,470px)}}

/* reference-inspired: announcement bar, stats, carousel, drawer, updates */
.ann{overflow:hidden;white-space:nowrap;padding:7px 0;background:linear-gradient(90deg,#3a0a10,#7a1019,#3a0a10);font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#f3dcdc}.ann__track{display:inline-flex;animation:ann 60s linear infinite}.ann:hover .ann__track{animation-play-state:paused}.ann__grp{display:inline-flex;gap:40px;padding-right:40px}.ann span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#ff3b4a;margin-right:10px;vertical-align:1px}@keyframes ann{to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.ann__track{animation:none}.ann{text-align:center}.ann__grp[aria-hidden]{display:none}}
.stats{list-style:none;display:flex;gap:28px;padding:0;margin:22px 0 4px;flex-wrap:wrap}.stats li{display:grid;gap:0}.stats b{font:800 28px/1.1 var(--sans);color:var(--ink)}.stats span{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.fwrap{position:relative}.fgrid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 8px}.fgrid::-webkit-scrollbar{display:none}
.fgrid .fcard{flex:0 0 calc((100% - 48px)/4);scroll-snap-align:start;min-width:230px}
.fnav-b{position:absolute;top:38%;z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(10,10,11,.88);color:#fff;font-size:26px;cursor:pointer;line-height:1}.fnav-b:hover{border-color:var(--red)}.fnav-b--l{left:-18px}.fnav-b--r{right:-18px}
.fcard{transition:transform .25s,border-color .25s}.fcard:hover{transform:translateY(-4px);border-color:var(--red)}
.upd{padding-top:64px}.upd__box{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap;padding:28px;border:1px solid var(--line);border-radius:10px;background:radial-gradient(60% 120% at 100% 0%,rgba(215,32,44,.22),transparent 70%),var(--panel)}
.upd__box h2{margin:0 0 6px;font-size:28px}.upd__f{display:flex;gap:10px;flex-wrap:wrap}.upd__f input{min-width:260px;background:#0d0d10;border:1px solid var(--line);border-radius:6px;padding:12px 14px;color:var(--ink);font:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.foot4{grid-template-columns:200px 180px 220px 1fr!important}.fnav{display:grid;gap:6px;align-content:start}.fnav b{font:700 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:4px}.fnav a{font-size:14px;color:var(--text);text-decoration:none}.fnav a:hover{color:#fff}
.drawer{position:fixed;inset:0;z-index:70;pointer-events:none}.drawer__bg{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .25s}
.drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--panel);border-left:1px solid var(--line);border-top:2px solid var(--red);transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}
.drawer.open{pointer-events:auto}.drawer.open .drawer__bg{opacity:1}.drawer.open .drawer__panel{transform:none}.noscroll{overflow:hidden}
.drawer__head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.drawer__head h2{margin:0;font-size:22px}.drawer__x{background:none;border:0;color:#fff;font-size:30px;cursor:pointer}
.drawer__list{flex:1;overflow:auto;padding:8px 20px;color:var(--text)}.drow{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.drow__n{color:var(--ink);font-weight:600}
.drow__q{display:flex;align-items:center;gap:8px}.drow__q button{width:26px;height:26px;border-radius:4px;border:1px solid var(--line);background:#0d0d10;color:#fff;cursor:pointer}.drow__p{font-weight:700;color:var(--ink)}
.drawer__foot{padding:18px 20px;border-top:1px solid var(--line);display:grid;gap:10px}.drawer__foot .btn{text-align:center}
@media(max-width:860px){.fgrid .fcard{flex-basis:70%}.fnav-b{display:none}.foot4{grid-template-columns:1fr 1fr!important}.ann{font-size:10px}.stats{gap:18px}}
@media(prefers-reduced-motion:reduce){.drawer__panel,.drawer__bg,.fcard{transition:none}}
.drawer__foot .link{background:none;border:0;color:var(--silver);cursor:pointer;font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:6px}

.qty{display:inline-flex;align-items:stretch;border:1px solid var(--line,#2a2a2e);border-radius:4px;overflow:hidden}
.qty__b{background:#141417;color:#eee;border:0;width:38px;font-size:18px;cursor:pointer}.qty__b:hover{background:#1d1d22}
.qty__n{width:46px;text-align:center;background:#0b0b0d;color:#fff;border:0;border-inline:1px solid var(--line,#2a2a2e);font:inherit;-moz-appearance:textfield}
.qty__n::-webkit-outer-spin-button,.qty__n::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.plate--spec .plate__act{flex-wrap:wrap;align-items:center;gap:12px}
.faq-mini{margin:14px 0 8px;border-top:1px solid var(--line,#2a2a2e)}
.faq-mini details{border-bottom:1px solid var(--line,#2a2a2e);padding:10px 0}
.faq-mini summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between}
.faq-mini summary::after{content:"+";color:#e3242b}.faq-mini details[open] summary::after{content:"\2212"}
.faq-mini p{margin:8px 0 0;color:#b9b9c0;font-size:.92rem}

.stick{display:none}
@media(max-width:860px){.specimen .stick{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(10,10,12,.96);border-top:1px solid #e3242b;backdrop-filter:blur(8px)}
.stick div{display:flex;flex-direction:column;min-width:0}.stick strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stick span{font-size:.8rem;color:#b9b9c0}
.specimen{padding-bottom:70px}}

.vslot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#4a4a52;background:radial-gradient(ellipse at 50% 40%,#16161a,#0b0b0d 70%);border:1px solid #1d1d22;border-radius:10px}
.vslot svg{width:46%;height:auto;opacity:.9}.vslot span{font:600 .72rem/1 var(--mono,monospace);letter-spacing:.14em;color:#8d9098}
.vslot-sz{aspect-ratio:600/1040;height:clamp(380px,62svh,600px)}.vslot-sz.is-spec{height:min(70svh,640px);width:min(100%,420px);margin:0 auto}@media(max-width:860px){.vslot-sz.is-spec{height:min(54svh,460px)}}
.vslot--card{aspect-ratio:3/4;width:100%}.vslot--t{width:40px;height:56px;border-radius:6px;flex:none}.vslot--t svg{width:60%}

.chk--all{padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid #26262b}

/* motion: hero headline word rise, stat count-up, CTA sheen, pointer parallax */
.js .split>*{display:inline-block;opacity:0;transform:translateY(.55em);filter:blur(6px);animation:wrise .8s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i)*110ms + 250ms)}
@keyframes wrise{to{opacity:1;transform:none;filter:none}}
.btn{position:relative;overflow:hidden}
.btn:not(:disabled):after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);transition:left .6s}
.btn:not(:disabled):hover:after{left:130%}
.turn__stage:before{will-change:transform;transform:translate3d(var(--px,0),var(--py,0),0) scale(1.04);transition:transform .25s ease-out}
@media(prefers-reduced-motion:reduce){.js .split>*{animation:none;opacity:1;transform:none;filter:none}.btn:after{display:none}.turn__stage:before{transform:none}}

.vv{position:relative;border:0;background:none;cursor:grab;touch-action:pan-y;user-select:none}.vv:active{cursor:grabbing}
.vv__f{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none}.vv__f.on{opacity:1}

.vv-has{background:none;border:0}.vv__t{width:100%;height:100%;object-fit:contain}

.vv.is-spec{height:auto;aspect-ratio:1;width:min(100%,640px)}
.vv__f{transition:opacity .35s ease}
.vv__flip{position:absolute;right:10px;bottom:10px;z-index:2;background:rgba(10,10,12,.7);color:#eee;border:1px solid #3a3a42;border-radius:999px;padding:6px 14px;font:600 .72rem/1 var(--mono,monospace);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.vv__flip:hover{border-color:#e3242b}
.vv.vslot--card,.vslot--card.vv-has{aspect-ratio:3/4}
.vslot--t.vv-has{width:40px;height:56px;border:0;background:none}.vslot--t .vv__t{object-fit:contain}
@media(prefers-reduced-motion:reduce){.vv__f{transition:none}}
/* hero vial: soft-edged reveal + slow float (the one peak moment) */
.hero__vial .vv{height:auto;aspect-ratio:1;width:min(100%,600px);margin:0 auto;overflow:visible}
.hero__vial .vv__f{-webkit-mask-image:radial-gradient(closest-side,#000 64%,transparent 100%);mask-image:radial-gradient(closest-side,#000 64%,transparent 100%)}
.hero__vial .vv{filter:drop-shadow(0 30px 50px rgba(215,32,44,.28))}
.js .hero__vial .vv{animation:vin 1.1s cubic-bezier(.2,.7,.2,1) .5s both,vfloat 7s ease-in-out 1.6s infinite}
@keyframes vin{from{opacity:0;transform:translateY(28px) scale(.93);filter:blur(8px)}}
@keyframes vfloat{50%{transform:translateY(-10px)}}
@media(max-width:860px){.hero__vial .vv{width:min(88%,380px)}}
@media(prefers-reduced-motion:reduce){.js .hero__vial .vv{animation:none}}
/* a11y/touch pass: 44px targets, no sideways scroll on the index at phone width */
.btn.sm,.btn.add.sm{min-height:44px}
.vv__flip{min-height:40px;padding-inline:16px}
.drawer__x{min-width:44px;min-height:44px}
.faq-mini summary{min-height:44px;align-items:center}
.qty__b{min-width:44px;min-height:44px}
.fnav a,.foot a{display:inline-block;padding:6px 0}
@media(max-width:860px){.acts a{display:inline-flex;align-items:center;min-height:44px}.acts a.cart{padding-block:0}}
@media(max-width:560px){.index th:nth-child(3),.index td:nth-child(3){display:none}.index td,.index th{padding-inline:6px}}
:focus-visible{outline:2px solid #ff4a52;outline-offset:2px}
@media(max-width:860px){.acts a.cart{padding-block:0!important;min-height:44px;height:44px}}
@media(max-width:860px){.acts{align-items:center}.acts a.cart{align-self:center}}
/* browser surfaces + type compensation for light-on-dark */
:root{color-scheme:dark;accent-color:#e3242b;caret-color:#ff4a52;scrollbar-color:#3a3a42 #0b0b0d;scrollbar-width:thin}
::selection{background:#7a141a;color:#fff}
a{text-underline-offset:.2em;text-decoration-thickness:1px}
.price,.index td,.stats b,.stick span,#drawer-sub,.qty__n{font-variant-numeric:tabular-nums}
body{letter-spacing:.005em;line-height:1.6}

.sortbar{display:flex;align-items:center;gap:10px;margin:18px 0 0}.sortbar label{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.sortbar select{padding:8px 10px;font-size:14px}
.index .price .pn{display:inline-block;min-width:4.6em;text-align:right}

.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 22px;margin:32px 0 72px}
.pgrid .fcard{flex:none;min-width:0}.pgrid .fcard__pic{padding:28px 20px 6px}.pgrid .fcard__pic .vimg{width:86%;max-height:360px;object-fit:contain}
.pgrid .fcard__txt{padding:16px 20px 22px;gap:8px}.pgrid .fcard h3 a{color:var(--ink);text-decoration:none}.pgrid .price .pn{min-width:0;text-align:left}
@media(max-width:1100px){.pgrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.pgrid{grid-template-columns:repeat(2,1fr);gap:18px 14px}}
@media(max-width:420px){.pgrid .fcard__txt{padding:12px 12px 16px}.pgrid .fcard h3{font-size:17px}.pgrid .plate__act .link{display:none}}
@media(min-width:821px){.pgrid .fcard h3{min-height:2.5em}}
.pgrid .fcard{display:flex;flex-direction:column}.pgrid .fcard__txt{display:flex;flex-direction:column;flex:1}.pgrid .fcard__txt .price{margin-top:auto;padding-top:6px}
.pgrid .mono{color:#b9bcc4}.pgrid .small{color:#b4b7bf}.pgrid .plate__act .link{color:#e6e8ec}
@media(max-width:700px){.bar{display:flex;flex-wrap:wrap;align-items:center;gap:2px 14px}.brand{order:1;flex:1 0 calc(100% - 130px)}.acts{display:contents}
.acts .cart{order:2;margin-left:auto;margin-right:0}.acts a:not(.cart){order:3;min-height:44px;font-size:11px}.pgrid .fcard h3{min-height:0}}

.pgrid .fcard__pic{padding:0;background:#0b0f18;aspect-ratio:1/1;overflow:hidden;display:block;border-bottom:1px solid var(--line)}
.pgrid .pimg{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform .5s ease}.pgrid .fcard:hover .pimg{transform:scale(1.04)}
@media(prefers-reduced-motion:reduce){.pgrid .pimg{transition:none}}
.pgrid .pimg{transform:translateY(4%) scale(.9);-webkit-mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 62%,transparent 100%)}
.pgrid .fcard:hover .pimg{transform:translateY(4%) scale(.94)}
/* polish pass (make-interfaces-feel-better): optical details, press feedback, text wrapping, concentric radii */
html{-webkit-text-size-adjust:100%;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3,.lead{text-wrap:balance}p,li{text-wrap:pretty}
.price,.pn,.stats b,.qty__n,#drawer-sub,.index td{font-variant-numeric:tabular-nums}
.btn{transition:transform .16s cubic-bezier(.2,0,0,1),background-color .16s ease-out,border-color .16s ease-out}.btn:active{transform:scale(.96)}
.btn.sm{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
.fcard{transition:transform .25s cubic-bezier(.2,0,0,1),border-color .25s ease-out,box-shadow .25s ease-out}
.fcard:hover{box-shadow:0 18px 40px -20px rgba(215,32,44,.35)}
.pgrid .fcard{border-radius:12px}.pgrid .fcard__pic{border-radius:11px 11px 0 0;position:relative}
.pgrid .fcard__pic::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);pointer-events:none}
.plate__act .link{display:inline-flex;align-items:center;min-height:40px}
.acts a,.sortbar select{transition:color .15s ease-out,border-color .15s ease-out}
.sortbar select{min-height:40px;border-radius:6px}
@media(hover:none){.fcard:hover{transform:none;box-shadow:none}.pgrid .fcard:hover .pimg{transform:translateY(4%) scale(.9)}}
/* card photo: 4:5 portrait crop, whole vial large, no mask/zoom */
.pgrid .fcard__pic{aspect-ratio:4/5;background:#0b0f18}
.pgrid .pimg{transform:none;-webkit-mask-image:none;mask-image:none;object-fit:cover}
.pgrid .fcard:hover .pimg{transform:scale(1.03)}
@media(hover:none){.pgrid .fcard:hover .pimg{transform:none}}
.labelzoom{display:grid;gap:6px;margin:18px auto 0;max-width:min(100%,640px);text-decoration:none}.labelzoom img{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);background:#fff;transition:transform .2s ease-out,border-color .2s ease-out}.labelzoom:hover img{border-color:var(--red);transform:scale(1.01)}

/* card titles: reserve two lines so descriptions and prices align across a row */
.pgrid .fcard h3{min-height:2.7em;line-height:1.3;font-weight:700;color:#fff}

/* checkout */
.co-h{font-size:1.05rem;margin:28px 0 8px;letter-spacing:.02em}
.co-sum{border:1px solid var(--line);border-radius:10px;padding:6px 14px;margin:8px 0 12px}
.co-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.co-row:last-child{border-bottom:0}
.co-total{font-weight:700;font-size:1.1rem}
.paym{display:grid;gap:8px;margin:8px 0}.paym__o{border:1px solid var(--line);border-radius:10px;padding:12px 14px;align-items:center}.paym__o:has(input:checked){border-color:#e3242b}.paym__o em{color:#b9bcc4;font-style:normal;margin-left:6px;font-size:.75rem}
.paybox{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:8px 0;background:#0f1218}.paybox p{margin:6px 0}
.paybox .warn{border-left:3px solid #e3242b;padding-left:10px;color:#f0c9cc}
.copyrow span{user-select:all;word-break:break-all;text-transform:none}
.co-done{border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:20px}.co-done:focus{outline:2px solid #e3242b}
#order-form input[type=file]{padding:10px 0}
.btn.is-out,.btn:disabled{opacity:.55;cursor:not-allowed;background:#2a2d35;border-color:#3a3e48;color:#c9ccd3}

/* vial photos: one consistent 4:5 framed photo on shop cards, product pages and the home hero (no crop, mask or fade) */
.vv.is-spec,.spec__vial .vv{width:100%;max-width:460px;height:auto;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#0b0f18;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);margin:0 auto}
.vv.is-spec .vv__f,.spec__vial .vv__f{object-fit:cover}
.hero__vial .vv{width:min(100%,460px);aspect-ratio:4/5;height:auto;border-radius:16px;overflow:hidden;background:#0b0f18;filter:none;box-shadow:0 24px 60px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.07)}
.hero__vial .vv__f{-webkit-mask-image:none;mask-image:none;object-fit:cover}
@media(max-width:860px){.hero__vial .vv{width:min(86%,380px)}}
.labelzoom{display:block;max-width:460px;margin:14px auto 0}.labelzoom img{border-radius:10px;border:1px solid var(--line)}
.fgrid .fcard__pic{aspect-ratio:4/5;background:#0b0f18;overflow:hidden;display:block;padding:0;border-radius:11px 11px 0 0}
.fgrid .pimg{display:block;width:100%;height:100%;object-fit:cover;transform:none;-webkit-mask-image:none;mask-image:none}
/* taller 2:3 vial photos so the vial fills the frame */
.pgrid .fcard__pic,.fgrid .fcard__pic{aspect-ratio:5/8}
.vv.is-spec,.spec__vial .vv{aspect-ratio:5/8;max-width:420px}
.hero__vial .vv{aspect-ratio:5/8;width:min(100%,380px)}
@media(max-width:860px){.hero__vial .vv{width:min(70%,300px)}}
/* alerts form */
.upd__box--form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:start}
.upd__f2{display:grid;gap:10px;min-width:0}.upd__f2 label:not(.chk){font-size:.85rem;color:#b9bcc4}
.upd__f2 input[type=email],.upd__f2 input[type=tel]{background:#0d0d10;border:1px solid var(--line);border-radius:6px;padding:12px;color:inherit;font:inherit;min-width:0;width:100%}
.upd__m{border:1px solid var(--line);border-radius:8px;padding:12px;margin:0;display:grid;gap:8px;min-width:0}.upd__m legend{padding:0 6px;font-size:.85rem;color:#b9bcc4}
.upd__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px 12px;max-height:220px;overflow:auto;padding:6px 2px}
.upd__f2 .btn{justify-self:start}
@media(max-width:860px){.upd__box--form{grid-template-columns:1fr}}

/* batch 12-21: final price display, ask form, pending notes, tap targets */
.price .was{color:#8a8d96;font-weight:400;font-size:.85em;margin-right:4px}
.fcard .off,.pcard .off{margin:2px 0 8px;color:#b9bcc4}
.upd__f2 input[type=text],.upd__f2 textarea{background:#0d0d10;border:1px solid var(--line);border-radius:6px;padding:12px;color:inherit;font:inherit;min-width:0;width:100%}
.upd__f2 textarea{resize:vertical;min-height:110px}
.ask{padding-top:32px}.pend{color:#b9bcc4}
.qty__b,.drow__q button,.drawer__x,.cart-row button{min-width:44px;min-height:44px}
.fnav a,.foot a{display:inline-block;padding:10px 0}
.acts a{padding-top:12px;padding-bottom:12px}
.link{display:inline-block;padding:12px 4px}
.split>*:nth-child(1){--i:0}.split>*:nth-child(2){--i:1}.split>*:nth-child(3){--i:2}.split>*:nth-child(4){--i:3}
.acts a,.link,button.link{min-height:44px;display:inline-flex;align-items:center}
details>summary{min-height:44px;display:flex;align-items:center}
.chips a,.chip a,nav[aria-label=Products] a,.mini{min-height:44px;display:inline-flex;align-items:center}
.fnav a,.foot a,.id a{min-height:44px;display:inline-flex;align-items:center}
.drawer__x,.qty__b{min-width:44px;min-height:44px}
.pcard h3 a{display:block;padding:12px 0;margin:-12px 0}
.acts a:not(.cart),.fnav a{min-width:44px;justify-content:center}

/* side cart: thumbnails, stepper, totals */
.drow{grid-template-columns:56px 1fr auto;align-items:start}
.drow__img{width:56px;height:auto;aspect-ratio:56/99;object-fit:cover;border-radius:6px;background:#0d0d10;border:1px solid var(--line)}
.drow__mid{display:grid;gap:6px;min-width:0}.drow__e{font-size:.8rem;color:#9a9da6}
.drow__r{display:grid;gap:6px;justify-items:end}.drow__x{background:none;border:0;color:var(--silver);cursor:pointer;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;min-height:44px;padding:0 4px}
.drow__q button{width:44px;height:44px}.drow__q{gap:2px}
.drawer__empty{padding:24px 0;color:#9a9da6}
#drawer-sub{display:grid;gap:6px}.drawer__row{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;color:#b9bcc4}
.drawer__total{color:#fff;font-weight:700;font-size:1rem;border-top:1px solid var(--line);padding-top:8px;margin-top:2px}
.drawer__bulk{margin:4px 0 0;font-size:.85rem;color:#b9bcc4}.drawer__bulk a{color:#fff}
.tiers{width:100%;border-collapse:collapse;margin:0 0 12px}.tiers caption{text-align:left;font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#9a9da6;padding:6px 0}
.tiers td{padding:8px 0;border-top:1px solid var(--line)}.tiers td:last-child{text-align:right}

/* product gallery: vial, label, COA */
.gal{max-width:460px;margin:0 auto}.gal__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:14px;outline-offset:3px}.gal__track::-webkit-scrollbar{display:none}
.gal__s{flex:0 0 100%;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0}
.gal__lab{width:100%;height:auto;border-radius:10px;background:#fff;border:1px solid var(--line)}
.gal__coa{width:100%;display:grid;gap:12px;justify-items:start;padding:28px;border:1px solid var(--line);border-radius:14px;background:#101013}.gal__coa h3{margin:0;font-size:1.4rem}
.gal__nav{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px}
.gal__b{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#0d0d10;color:#fff;font-size:22px;cursor:pointer}
.gal__dots{display:flex;gap:2px}.gal__d{width:44px;height:44px;border:0;background:none;cursor:pointer;position:relative}.gal__d::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:#555}.gal__d[aria-current=true]::after{background:var(--red,#d7202c)}
@media(max-width:700px){.acts{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:6px}.acts a:not(.cart){flex:none;padding:0 8px}}
@media(max-width:700px){.acts a:not(.cart){min-width:0;padding:0 3px;font-size:10px;letter-spacing:.03em}.bar{column-gap:2px}}
@media(max-width:700px){.brand{flex:1 0 calc(100% - 100px)}}

/* checkout payment type */
.paym2{display:grid;gap:10px;margin:8px 0}
.payopt{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"r t" ". s";gap:2px 12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:10px;background:#0d0d10;cursor:pointer}
.payopt input{grid-area:r;width:20px;height:20px}.payopt__t{grid-area:t;font-size:1.05rem}.payopt__s{grid-area:s;font-size:.85rem;color:#9a9da6}
.payopt.is-direct{border-color:var(--red,#d7202c);background:linear-gradient(120deg,rgba(215,32,44,.14),#0d0d10 60%)}
.payopt.is-off{opacity:.55;cursor:not-allowed}.soon{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#9a9da6;margin-left:8px}
.badge{font:700 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--red,#d7202c);color:#fff;padding:3px 8px;border-radius:999px;margin-left:8px}
.payexp{margin:4px 0 14px;font-size:.88rem;color:#b9bcc4;line-height:1.5}.co-sub{margin:10px 0 6px;font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#9a9da6}
.co-disc span:last-child{color:#7fd48a}

/* free-floating hero vial: transparent cutout, no box */
.hero__vial .hero__img{display:block;width:auto;height:min(64svh,560px);max-width:100%;object-fit:contain;filter:drop-shadow(0 30px 50px rgba(215,32,44,.30))}
.js .hero__vial .hero__img{animation:vin 1.1s cubic-bezier(.2,.7,.2,1) .5s both,vfloat 7s ease-in-out 1.6s infinite}
@media(max-width:860px){.hero__vial .hero__img{height:min(44svh,380px)}}
@media(prefers-reduced-motion:reduce){.js .hero__vial .hero__img{animation:none}}

/* checkout steps + drop box */
.co-steps{list-style:none;counter-reset:st;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:14px 0 22px;padding:0}
.co-steps li{counter-increment:st;display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#0d0d10}
.co-steps li::before{content:counter(st);font:700 12px var(--mono);color:var(--red,#d7202c)}.co-steps b{color:#fff}.co-steps span{font-size:.85rem;color:#9a9da6;line-height:1.45}
.drop{position:relative;border:2px dashed #3a3a42;border-radius:12px;background:#0d0d10;min-height:160px;display:grid;place-items:center;text-align:center;transition:border-color .2s,background .2s;margin:8px 0}
.drop:hover,.drop.is-over{border-color:var(--red,#d7202c);background:#14100f}
.drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.drop__in{display:grid;gap:6px;padding:24px;pointer-events:none}.drop__in b{font-size:1.05rem}.drop__in span{font-size:.85rem;color:#9a9da6}.drop__in em{font-style:normal;color:#7fd48a;min-height:1em}

/* hero vial: drag or hover to turn it (springs back) */
.hero__vial a{display:block;touch-action:pan-y;cursor:grab;transform:perspective(900px) rotateY(var(--ry,0deg));transition:transform .6s cubic-bezier(.2,.7,.2,1);-webkit-user-drag:none;user-select:none}
.hero__vial a.is-drag{cursor:grabbing;transition:none}.hero__vial img{-webkit-user-drag:none;pointer-events:none}
@media(prefers-reduced-motion:reduce){.hero__vial a{transform:none!important}}
.coa-l{color:#fff;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;display:inline-block;padding:12px 0 12px 4px;margin:-12px 0}
/* vials are transparent cutouts: the frame carries no colour of its own (no box), only a soft glow and shadow */
.pgrid .fcard__pic,.fgrid .fcard__pic{background:radial-gradient(62% 46% at 50% 56%,rgba(215,32,44,.16),transparent 72%)}
.fcard__pic .pimg{filter:drop-shadow(0 10px 14px rgba(0,0,0,.35)))}
.vv.is-spec,.spec__vial .vv{background:radial-gradient(62% 46% at 50% 56%,rgba(215,32,44,.14),transparent 72%);box-shadow:none}
.spec__vial .vv__f{filter:drop-shadow(0 10px 14px rgba(0,0,0,.35)))}
.howsteps{padding-left:1.2em}.howsteps li{margin:.7em 0}.howvid{border:1px dashed #3a3a42;border-radius:10px;padding:28px 16px;text-align:center;margin:1.2em 0;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}
/* item 6 fixes */
.co-steps{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.co-steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.co-steps{grid-template-columns:1fr}}
.fnav a,.foot a{justify-content:flex-start}
.payclosed{border:1px solid #d7202c;background:#2a0b0e;color:#fff;border-radius:10px;padding:14px 16px;margin:8px 0 14px;font-size:1rem}
.payrule{margin:8px 0 14px;padding:10px 14px;border-left:3px solid #d7202c;background:#141418;color:#e4e5e8;font-size:.95rem}
.refbox{display:grid;gap:4px;margin:16px 0;padding:14px 16px;border:1px solid #3a3a42;border-radius:10px;background:#101014;font-size:1rem}.refbox b{font-size:1.5rem;letter-spacing:.08em;color:#fff}.refbox span{font-size:.9rem;color:#c5c7ce}
.payopt__s,.co-steps span,.drop__in span,.payexp,.pend,.pay small,.howvid,.paym2 .soon{font-size:max(13.5px,.85rem);color:#c5c7ce}
.soon,.co-sub{font-size:13px;color:#c5c7ce}
.paym__o.is-off{opacity:.5;cursor:not-allowed}
.howvid .small{font-size:14px;color:#c5c7ce}
button[type=submit]:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:430px){.acts a:not(.cart){font-size:9.5px;padding:0 2px;letter-spacing:.01em}.acts{gap:3px}}
/* COA pop-up + COA page */
.coa-dlg{width:min(860px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);display:none;flex-direction:column;overflow:hidden}
.coa-dlg[open]{display:flex}.coa-dlg::backdrop{background:rgba(0,0,0,.78)}
.coa-dlg__bar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line)}
.coa-dlg__bar .mono{margin:0 0 4px}.coa-dlg__x{background:none;border:1px solid var(--line);border-radius:4px;color:var(--ink);font-size:24px;line-height:1;width:40px;height:40px;cursor:pointer;flex:none}.coa-dlg__x:hover{border-color:var(--red)}
.coa-dlg__doc{overflow:auto;padding:12px;background:#2a2a30;flex:1;min-height:0}
.coa-dlg__doc img{display:block;width:100%;height:auto;margin:0 auto 12px;background:#fff;border-radius:2px}
.coa-dlg__foot{padding:14px 18px;border-top:1px solid var(--line)}.coa-dlg__foot .small{margin:0 0 10px}
.coa-dlg__acts{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.coa-dlg__acts .btn{padding:10px 16px}
.coa-list{display:grid;gap:10px;margin-top:20px}
.coa-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--line);border-radius:6px;padding:12px 14px;background:var(--panel)}
.coa-row b{display:block;color:var(--ink)}.coa-row .mono{display:block;margin:2px 0 0;font-size:11px}.coa-row .btn{flex:none;padding:9px 14px;background:none;border-color:#3a3a42}
.verify{counter-reset:v;list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}
.verify li{position:relative;padding:14px 16px 14px 56px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}
.verify li:before{counter-increment:v;content:counter(v);position:absolute;left:16px;top:13px;width:26px;height:26px;border-radius:50%;background:var(--red);color:#fff;font:600 13px/26px var(--mono);text-align:center}
.verify code{color:var(--ink);background:var(--panel2);padding:2px 6px;border-radius:3px}
.coa-pg__top{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin:0 0 18px}.coa-pg__top .btn{padding:11px 18px}.coa-pg .btn--ghost{background:none;border-color:#3a3a42}
.coa-pg__doc{margin:20px 0 26px;padding:12px;background:#2a2a30;border-radius:8px}.coa-pg__doc img{display:block;width:100%;height:auto;margin:0 auto 12px;background:#fff;border-radius:2px}.coa-pg__doc img:last-child{margin-bottom:0}
/* owner admin page (/admin) */
.adm-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 20px}
.adm-tab{background:transparent;border:1px solid var(--line);color:var(--text);padding:8px 14px;border-radius:6px;font:inherit;cursor:pointer}
.adm-tab.on{border-color:var(--red);color:var(--red2)}
.adm-order{margin-bottom:16px}.adm-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.adm-order input,.adm-form input,#adm-f{background:var(--panel);border:1px solid var(--line);color:var(--text);padding:8px 10px;border-radius:6px;font:inherit}
.adm-pill{display:inline-block;padding:2px 10px;border-radius:999px;border:1px solid var(--line);font-size:12px;letter-spacing:.04em}
.adm-payment_verified,.adm-delivered{border-color:#2f9e5b}.adm-cancelled{color:var(--mute)}
.adm-err{color:var(--red2);font-size:13px}.adm-hist{margin:8px 0 0 18px}.adm-shot{max-width:100%;border:1px solid var(--line);border-radius:6px;margin-top:8px}
.adm-tbl{width:100%;border-collapse:collapse}.adm-tbl th,.adm-tbl td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);font-size:14px;word-break:break-word}
