
:root{
--bg:#1a0c0a;--bg2:#20100d;--bg3:#281411;--bg4:#130807;
--cream:#f1ebe1;--muted:#a89a92;
--gold:#c39a54;--gdim:#a07d3c;--gfaint:rgba(196,154,84,.12);--gold-soft:#dcc79a;
--resin:#5a2e28;--hair:rgba(241,235,225,.14);--bone:#f1ebe1;--orris:#c39a54;--oud:#1a0c0a;
--damask:#b0524a;--damask-deep:#8a2f39;
--vetiver:#8ea283;--vetiver-deep:#6b7d62;
--iris:#c8a24e;--iris-deep:#a07d3c;
--amberr:#d9b070;--amberr-deep:#b08a4a;
--blood:var(--damask-deep);--burnt-sienna:var(--damask);--cognac:var(--damask-deep);
--cinnabar:var(--damask);--madder:var(--damask-deep);--vermeil:var(--damask);
--ember:var(--damask);--magenta:var(--damask);--wine:var(--damask-deep);--rose:var(--damask);
--absinthe:var(--vetiver);--verdigris:var(--vetiver);--teal:var(--vetiver-deep);
--jade:var(--vetiver);--electric:var(--vetiver);--seafoam:var(--vetiver);--chartreuse:var(--vetiver);
--prussian:var(--iris-deep);--byzantine:var(--iris);--tyrian:var(--iris-deep);
--violet:var(--iris);--orchid:var(--iris);--mauve:var(--iris);
--gamboge:var(--amberr);--ochre:var(--amberr-deep);--amber:var(--amberr);
--saffron:var(--amberr);--copper:var(--amberr-deep)}
@font-face{font-family:'Bodoni Moda';src:url('/fonts/p1/bodoni-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Bodoni Moda';src:url('/fonts/p1/bodoni-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Bodoni Moda';src:url('/fonts/p1/bodoni-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'Bodoni Moda';src:url('/fonts/p1/bodoni-900.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:'Bodoni Moda';src:url('/fonts/p1/bodoni-400i.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:'Archivo';src:url('/fonts/p1/archivo-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Archivo';src:url('/fonts/p1/archivo-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Archivo';src:url('/fonts/p1/archivo-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
.handwritten{font-family:'Caveat',cursive;font-weight:500}
.signature{font-family:'Caveat',cursive;font-size:1.4em;font-weight:600;letter-spacing:.02em}
.mol-card{transition:background .32s,transform .28s,box-shadow .35s}
.fam-card{transition:background .29s,border-color .33s}
.go-card{transition:background .31s,transform .27s}
.rec-card{transition:all .34s}
.ext-card{transition:background .28s}
.gloss-item{transition:background .31s}
.vocab-item{transition:background .29s}
.beg-card{transition:background .33s}
.region-card{transition:all .36s}
.sec:nth-child(3n+1){padding:6.8rem 0 7.2rem}
.sec:nth-child(3n+2){padding:7.1rem 0 6.9rem}
.sec:nth-child(3n){padding:6.9rem 0 7.3rem}
.mol-card:nth-child(odd) .mol-body{padding:1.75rem 2.15rem 2.25rem}
.mol-card:nth-child(even) .mol-body{padding:1.85rem 2.25rem 2.15rem}
.fam-card:nth-child(odd){padding:2.15rem 1.85rem}
.fam-card:nth-child(even){padding:2.25rem 1.95rem}
.hand-underline{position:relative;display:inline-block}
.hand-underline::after{
content:'';position:absolute;left:-2%;right:-2%;bottom:-.15em;height:.12em;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8'%3E%3Cpath d='M0 5 Q10 2,20 5 T40 5 T60 5 T80 5 T100 5' fill='none' stroke='%23c39a54' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x;
background-size:auto 100%;opacity:.7
}
.hand-border{
border:none;position:relative;
background:linear-gradient(var(--bg2),var(--bg2)) padding-box,
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Crect x='2' y='2' width='96' height='96' fill='none' stroke='%23c39a54' stroke-width='1.5' rx='2' style='stroke-dasharray:4,2;stroke-linecap:round'/%3E%3C/svg%3E") border-box;
border:2px solid transparent
}
.sketch-accent{position:relative}
.sketch-accent::before{
content:'';position:absolute;left:-1.5rem;top:50%;transform:translateY(-50%);
width:1rem;height:2px;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 4'%3E%3Cpath d='M0 2 Q5 0,10 2 T20 2' fill='none' stroke='%23c39a54' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat;
opacity:.5
}
.paper-texture{
position:relative
}
.paper-texture::before{
content:'';position:absolute;inset:0;pointer-events:none;opacity:.015;
background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E");
mix-blend-mode:soft-light
}
.img-vignette{position:relative;overflow:hidden}
.img-vignette::after{
content:'';position:absolute;inset:0;pointer-events:none;
box-shadow:inset 0 0 80px 20px rgba(12,5,4,.4);
border-radius:inherit
}
.margin-note{
position:absolute;right:-180px;top:0;width:160px;
font-family:'Caveat',cursive;font-size:.95rem;color:rgba(241,235,225,.35);
transform:rotate(-2deg);line-height:1.4;pointer-events:none
}
.margin-note::before{
content:'→ ';opacity:.6
}
@media(max-width:1400px){.margin-note{display:none}}
.mol-card:hover{transform:translateY(-4px) rotate(-.15deg)}
.fam-card:hover{transform:rotate(.1deg)}
.rec-card:hover{transform:translateY(-4px) rotate(.12deg)}
.go-card:hover{transform:rotate(-.08deg)}
.sec:nth-child(4n+1){filter:sepia(.01) hue-rotate(-2deg)}
.sec:nth-child(4n+2){filter:sepia(.008) hue-rotate(1deg)}
.sec:nth-child(4n+3){filter:sepia(.012) hue-rotate(-1deg)}
.sec:nth-child(4n){filter:sepia(.006) hue-rotate(2deg)}
.stats>div:nth-child(1){transform:translateY(1px)}
.stats>div:nth-child(2){transform:translateY(-1px)}
.stats>div:nth-child(3){transform:translateY(2px)}
.tl-item:nth-child(odd){margin-left:1px}
.tl-item:nth-child(even){margin-left:-1px}
.hand-bullet{list-style:none;padding-left:1.5em;position:relative}
.hand-bullet::before{
content:'';position:absolute;left:0;top:.55em;width:.5em;height:.5em;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='3.5' fill='none' stroke='%23c39a54' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat center/contain
}
#hero::before{
content:'';position:absolute;inset:0;z-index:10;pointer-events:none;
opacity:.03;mix-blend-mode:overlay;
background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)'/%3E%3C/svg%3E")
}
.ft-cr{font-family:'Caveat',cursive;font-size:1.1rem;letter-spacing:.02em;opacity:.5}
.pq-attr{font-family:'Caveat',cursive;font-size:1rem;letter-spacing:.08em}
.mol-card:nth-child(3n+1){border-radius:2px 3px 2px 4px}
.mol-card:nth-child(3n+2){border-radius:3px 2px 4px 2px}
.mol-card:nth-child(3n){border-radius:4px 2px 3px 2px}
.st em,.ht em{text-shadow:0 0 1px rgba(241,235,225,.3)}
.pq{
background:linear-gradient(90deg,rgba(241,235,225,.02) 0%,var(--bg4) 3%,var(--bg4) 97%,rgba(241,235,225,.02) 100%)
}
.note-style{
font-family:'Caveat',cursive;font-size:1.1em;color:var(--gold);
transform:rotate(-1deg);display:inline-block
}
@keyframes subtleWobble{
0%,100%{transform:translateY(0) rotate(0deg)}
25%{transform:translateY(-2px) rotate(.3deg)}
50%{transform:translateY(-4px) rotate(-.2deg)}
75%{transform:translateY(-2px) rotate(.15deg)}
}
.float-bottle{animation:subtleWobble 6s ease-in-out infinite}
.float-bottle:nth-child(2){animation-duration:6.3s}
.float-bottle:nth-child(3){animation-duration:5.7s}
.float-bottle:nth-child(4){animation-duration:6.5s}
.float-bottle:nth-child(5){animation-duration:5.9s}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--cream);font-family:'Archivo',system-ui,sans-serif;overflow-x:hidden;font-size:clamp(1.19rem,1.05rem+0.45vw,1.34rem);line-height:1.62;font-weight:400}
.grain{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.04;
background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E")}
nav{
position:fixed;top:0;left:0;right:0;z-index:990;
display:grid;
grid-template-columns:1fr auto 1fr;
align-items:center;
padding:.85rem 2rem;
background:linear-gradient(180deg,rgba(10,8,16,.82),rgba(7,6,12,.62));
backdrop-filter:blur(20px) saturate(135%);
-webkit-backdrop-filter:blur(20px) saturate(135%);
border-bottom:1px solid transparent;
border-image:linear-gradient(90deg,transparent,rgba(241,235,225,.38),rgb(112,91,41,.28),transparent) 1;
box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 1px 0 rgba(12,5,4,.5)}
#hero::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.03;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-size:170px 170px}
@media (prefers-reduced-motion:reduce){#hero::after{opacity:.022}}
@media (max-height:900px){.hc{padding:1rem}.hs{margin-bottom:1.5rem}.hs-note{margin-bottom:1.1rem}
.hero-sig{margin-top:1rem}.hml.hero-meta{margin-bottom:.9rem}}
.rose-cap{position:absolute;right:3vw;bottom:14vh;z-index:4;max-width:min(38vw,320px);
font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;line-height:1.7;
color:var(--cream);text-align:right;opacity:0;transform:translateY(6px);
transition:opacity .45s ease,transform .45s ease;pointer-events:none}
.rose-cap.on{opacity:1;transform:none}
.rose-cap b{display:block;font-weight:500;letter-spacing:.06em;font-size:.95rem;color:#E8B45A}
.rose-cap span{color:var(--muted)}
.rose-cap i{display:block;font-style:normal;color:var(--muted);font-size:.66rem;letter-spacing:.1em;margin-top:.15rem}
.lib-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem;margin-top:2.2rem}.lib-cat{display:block;padding:1.4rem 1.5rem;border:1px solid var(--hair);background:var(--bg2);text-decoration:none;color:var(--cream);border-radius:2px;transition:border-color .25s,transform .2s}.lib-cat:hover{border-color:var(--gold);transform:translateY(-2px)}.lib-cat b{font-family:'Bodoni Moda',serif;font-size:1.3rem;display:block;margin-bottom:.3rem}.lib-cat span{color:var(--muted);font-size:.95rem}
.ht.wordmark .wm-svg{display:block;width:min(480px,90%);height:auto;margin:.1rem 0 0}
.rose-mols{display:none!important;position:absolute;right:3vw;bottom:4.6vh;z-index:5;gap:.5rem;flex-wrap:wrap;
justify-content:flex-end;max-width:min(42vw,340px)}
.rose-mol{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
color:var(--muted);background:transparent;border:1px solid rgba(232,180,90,.28);border-radius:2px;
padding:.38em .7em;cursor:pointer;transition:color .25s,border-color .25s,background .25s}
.rose-mol:hover,.rose-mol:focus-visible{color:#E8B45A;border-color:rgba(232,180,90,.75);
background:rgba(232,180,90,.08);outline:none}
.rose-mol:focus-visible{box-shadow:0 0 0 2px rgba(232,180,90,.35)}
@media (max-width:760px){.rose-mols{right:auto;left:5vw;bottom:auto;top:24vh;justify-content:flex-start;max-width:86vw}}
.rose-hint{position:absolute;right:3vw;bottom:9vh;z-index:4;font-family:'IBM Plex Mono',monospace;
font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);
opacity:0;transition:opacity .8s ease;pointer-events:none}
.rose-hint.show{opacity:.62}
.rose-hint.gone{opacity:0}
@media (max-width:760px){.rose-cap{right:auto;left:5vw;bottom:auto;top:11vh;text-align:left;max-width:80vw}
.rose-hint{right:auto;left:5vw;top:18vh;bottom:auto}}
#mc{display:none!important}
.hero-rose3d{position:absolute;right:1vw;left:auto;bottom:-5vh;z-index:1;width:min(44vw,600px);height:min(78vh,820px);margin:0;pointer-events:none}
.hero-rose3d .rb-model-stage{position:absolute;inset:0;pointer-events:auto;cursor:grab}
.hero-rose3d .rb-model-stage:active{cursor:grabbing}
.hero-rose3d .rb-model-fallback{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;opacity:.96;transition:opacity .7s ease;transform:rotate(-3deg)}
.hero-rose3d.rb-ready .rb-model-fallback{opacity:0}
.hero-drawn img{width:100%;height:auto;display:block}
.hero-drawn img{width:100%;height:auto;display:block}
@media (max-width:1100px){.hero-rose3d{width:min(60vw,460px);right:-6vw;height:min(64vh,620px)}.hero-rose3d .rb-model-fallback{opacity:.85}}
@media (max-width:760px){.hero-rose3d{right:auto;left:50%;bottom:auto;top:8vh;transform:translateX(-50%);width:82vw;height:52vh;z-index:0}.hero-rose3d .rb-model-fallback{opacity:.4}}
#hero{height:calc(100vh - var(--nudge, 0px));position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;
background:radial-gradient(ellipse 90% 80% at 50% 44%, #2d1a10 0%, #1a0c0a 46%, #060202 100%)}
#hero::before{content:'';position:absolute;width:160%;height:160%;left:-30%;top:-30%;z-index:0;pointer-events:none;
background:conic-gradient(from 0deg at 50% 50%,
rgb(81,23,30,.0) 0deg,
rgb(112,91,41,.55) 55deg,
rgba(0,49,83,.45) 130deg,
rgba(241,235,225,.40) 200deg,
rgba(207,143,146,.42) 270deg,
rgba(67,179,174,.38) 330deg,
rgb(81,23,30,.0) 360deg);
filter:blur(60px);opacity:.55;mix-blend-mode:screen;
animation:heroSpin 38s linear infinite;will-change:transform}
@keyframes heroSpin{to{transform:rotate(360deg)}}
#hero::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;mix-blend-mode:screen;
background:
radial-gradient(ellipse 48% 58% at 22% 34%, rgb(112,91,41,.45) 0%, transparent 58%),
radial-gradient(ellipse 46% 56% at 80% 62%, rgba(0,49,83,.42) 0%, transparent 58%),
radial-gradient(ellipse 38% 46% at 62% 24%, rgba(241,235,225,.30) 0%, transparent 52%),
radial-gradient(ellipse 60% 42% at 50% 104%, rgb(81,23,30,.50) 0%, transparent 56%);
animation:heroBloom 14s ease-in-out infinite}
@keyframes heroBloom{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}
#mc{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:2}
.hero-radial{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen;
background:radial-gradient(ellipse 50% 56% at 50% 46%,rgba(241,235,225,.16) 0%,rgba(207,143,146,.07) 38%,transparent 70%);
animation:heroCore 9s ease-in-out infinite}
@keyframes heroCore{0%,100%{opacity:.7}50%{opacity:1}}
.hc{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;text-align:center;pointer-events:none;max-width:900px;width:90%;padding:2rem}
.hey{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.5em;color:var(--gold);text-transform:uppercase;margin-bottom:1.5rem;opacity:0;animation:fadeUp .45s .02s ease forwards}
.ht{font-size:clamp(3rem,7vw,6.5rem);font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);line-height:.92;margin-bottom:.6rem;opacity:0;animation:fadeUp .9s .4s ease forwards;filter:drop-shadow(0 2px 30px rgba(241,235,225,.28)) drop-shadow(0 0 60px rgb(112,91,41,.25))}
.ht em{color:var(--gold);font-style:normal}
.hs-note{font-size:clamp(.78rem,1.25vw,.95rem);margin-top:-1.8rem;margin-bottom:1.5rem;opacity:0;animation:fadeUp .5s .28s ease forwards}
.hs{font-size:clamp(.9rem,1.8vw,1.2rem);font-style:italic;font-weight:300;color:var(--muted);letter-spacing:.06em;margin-bottom:2.5rem;opacity:0;animation:fadeUp .5s .15s ease forwards}
.hml{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.3em;color:rgba(241,235,225,.4);margin-bottom:2.5rem;opacity:0;animation:fadeUp .9s .8s ease forwards}
.hb{display:flex;gap:1.3rem;justify-content:center;pointer-events:all;opacity:0;animation:fadeUp .9s 1s ease forwards}
.btn{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;padding:.75rem 2.1rem;transition:all .28s;display:inline-block}
.btng{border:1px solid var(--gold);color:var(--gold);background:transparent}
.btng:hover{background:var(--gold);color:var(--bg)}
.btno{border:1px solid rgba(240,234,214,.18);color:var(--muted);background:transparent}
.btno:hover{border-color:var(--cream);color:var(--cream)}
*:focus{outline:none}
*:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
a:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btng:focus-visible{background:rgba(241,235,225,.15)}
.btno:focus-visible{border-color:var(--gold)}
.mol-card:focus-visible,.fam-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold)}
.skip-link{position:absolute;top:-100px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--bg);padding:.8rem 1.5rem;font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;z-index:100000;transition:top .3s}
.skip-link:focus{top:10px}
.sc{position:absolute;bottom:1.7rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;animation:fadeUp .9s 1.2s ease forwards}
.scl{width:1px;height:52px;background:linear-gradient(to bottom,var(--gold),transparent);animation:bob 2.4s ease-in-out infinite}
.sct{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.3em;color:var(--gold);opacity:.38;text-transform:uppercase;writing-mode:vertical-rl}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes bob{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(9px);opacity:.9}}
.tk{background:rgba(241,235,225,.06);border-top:1px solid rgba(241,235,225,.15);border-bottom:1px solid rgba(241,235,225,.15);padding:.6rem 0;overflow:hidden}
.tki{display:inline-flex;white-space:nowrap;animation:roll 55s linear infinite}
.tks{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.14em;color:var(--gold);opacity:.6;padding:0 2.8rem}
@keyframes roll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.sec{padding:7rem 0}
.si{max-width:1360px;margin:0 auto;padding:0 4.5rem}
.sl{font-family:'Archivo',sans-serif;font-size:.8rem;font-weight:600;font-variant:small-caps;letter-spacing:.1em;color:var(--gold);text-transform:none;margin-bottom:.9rem;opacity:.95}
.st{font-size:clamp(2rem,4vw,3.5rem);font-weight:300;letter-spacing:.05em;color:var(--cream);line-height:1.05;margin-bottom:1.1rem}
.st em{color:var(--gold);font-style:italic}
.sp{font-size:1.06rem;font-style:italic;color:var(--muted);max-width:52ch;line-height:1.9;margin-bottom:3.5rem}
.gb{width:44px;height:1px;background:var(--gold);margin-bottom:1.7rem}
html.jsr .rv{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1s ease}
.rv.in{opacity:1;transform:none}
.rv-l{opacity:0;transform:translateX(-40px);transition:opacity 1s ease,transform 1s ease}
.rv-l.in{opacity:1;transform:none}
.rv-r{opacity:0;transform:translateX(40px);transition:opacity 1s ease,transform 1s ease}
.rv-r.in{opacity:1;transform:none}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.intro-body p{font-size:1.04rem;color:var(--muted);line-height:1.95;margin-bottom:1.3rem}
.intro-body strong{color:var(--cream);font-weight:400}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;padding-top:4rem;border-top:1px solid rgba(241,235,225,.12)}
.stn{font-size:2.8rem;font-weight:300;color:var(--gold);line-height:1;margin-bottom:.4rem}
.stl{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
.pq{padding:5.5rem 4rem;background:var(--bg4);text-align:center;border-top:1px solid rgba(241,235,225,.08);border-bottom:1px solid rgba(241,235,225,.08)}
.pq-text{font-size:clamp(1.5rem,3vw,2.4rem);font-weight:300;font-style:italic;color:var(--cream);max-width:850px;margin:0 auto 1.5rem;line-height:1.55;letter-spacing:.02em}
.pq-text::before{content:'\201C';color:var(--gold);font-size:3em;line-height:0;vertical-align:-.25em;margin-right:.1em;opacity:.5}
.pq-text::after{content:'\201D';color:var(--gold);font-size:3em;line-height:0;vertical-align:-.25em;margin-left:.1em;opacity:.5}
.pq-attr{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.35em;color:var(--gold);text-transform:uppercase;opacity:.65}
#history{background:var(--bg2)}
.hist-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.hist-body h3{font-size:1.3rem;font-weight:400;color:var(--gold);margin:2rem 0 .7rem;letter-spacing:.05em;font-style:italic}
.hist-body p{font-size:1.02rem;color:var(--muted);line-height:1.92;margin-bottom:1.1rem}
.hist-body em{color:var(--cream);font-style:italic}
.timeline{display:flex;flex-direction:column}
.tl-item{padding:1.2rem 0 1.2rem 1.6rem;border-left:1px solid rgba(241,235,225,.18);position:relative;transition:border-color .3s}
.tl-item:hover{border-left-color:var(--gold)}
.tl-item::before{content:'';position:absolute;left:-4px;top:1.65rem;width:7px;height:7px;border:1px solid var(--gold);background:var(--bg2);transform:rotate(45deg);transition:background .3s}
.tl-item:hover::before{background:var(--gold)}
.tl-year{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.22em;color:var(--gold);margin-bottom:.3rem}
.tl-title{font-size:1rem;color:var(--cream);font-weight:400;margin-bottom:.28rem}
.tl-desc{font-size:.88rem;color:var(--muted);line-height:1.72}
.origin-sec{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden}
.origin-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-attachment:fixed;filter:brightness(.3) saturate(.65);transition:filter .6s}
.origin-sec:hover .origin-bg{filter:brightness(.35) saturate(.7)}
.origin-sec:hover .origin-bg.origin-plate{filter:none}
.origin-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(8,8,8,.95) 40%,rgba(8,8,8,.25) 100%)}
.origin-content{position:relative;z-index:2;max-width:1360px;margin:0 auto;padding:5rem 4.5rem;display:grid;grid-template-columns:1.1fr 1fr;gap:7rem;align-items:center;width:100%}
.origin-eyebrow{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem}
.origin-coords{font-family:'IBM Plex Mono',monospace;font-size:.57rem;letter-spacing:.3em;color:var(--gold);opacity:.7}
.origin-sep{width:20px;height:1px;background:var(--gdim)}
.origin-season{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.25em;color:var(--muted);opacity:.7}
.origin-title{font-size:clamp(2.2rem,4vw,4rem);font-weight:300;letter-spacing:.05em;color:var(--cream);line-height:1;margin-bottom:.3rem;font-style:italic}
.origin-sub{font-size:1.1rem;color:var(--gold);font-weight:400;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.8rem;font-family:'IBM Plex Mono',monospace;font-size:.7rem}
.origin-story{font-size:1.05rem;color:var(--muted);line-height:1.95;margin-bottom:2rem;max-width:50ch}
.origin-frags-l{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.28em;color:var(--gdim);text-transform:uppercase;margin-bottom:.7rem}
.origin-frags{display:flex;flex-wrap:wrap;gap:.4rem}
.origin-frag{font-size:.85rem;color:var(--muted);padding:.22rem .65rem;border:1px solid rgba(241,235,225,.15);transition:border-color .2s}
.origin-frag:hover{border-color:rgba(241,235,225,.4);color:var(--cream)}
.origin-right{display:flex;flex-direction:column;gap:1.5rem}
.origin-mol-head{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.32em;color:var(--gold);text-transform:uppercase;margin-bottom:.2rem}
.origin-mol-name{font-size:1.2rem;color:var(--cream);margin-bottom:.2rem;font-style:italic}
.origin-mol-formula{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--gold);letter-spacing:.12em;margin-bottom:1rem}
.origin-mol-box{background:rgba(12,5,4,.5);border:1px solid rgba(241,235,225,.12);padding:1.5rem;display:flex;justify-content:center;align-items:center;height:185px;backdrop-filter:blur(8px)}
.origin-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(241,235,225,.06)}
.origin-datum{background:rgba(12,5,4,.4);padding:.9rem 1rem;backdrop-filter:blur(8px)}
.origin-dl{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gdim);text-transform:uppercase;margin-bottom:.2rem}
.origin-dv{font-size:.9rem;color:var(--cream)}
.origin-flex{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1360px;margin:0 auto;padding:5rem 4.5rem;align-items:start}
.origin-img-wrap{position:relative;padding:12px;background:var(--bg);border:2px solid var(--gold);box-sizing:border-box}
.origin-img{width:100%;height:auto;display:block;filter:brightness(.85) saturate(.9);transition:filter .4s;margin:0;padding:0;aspect-ratio:3/2;object-fit:cover}
.origin-img-wrap:hover .origin-img{filter:brightness(.95) saturate(1)}
.origin-grad{position:absolute;bottom:12px;left:12px;right:12px;height:80px;background:linear-gradient(to top,rgba(8,8,8,.9),transparent);pointer-events:none}
.origin-label{position:absolute;bottom:22px;left:22px;font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;background:rgba(8,8,8,.85);padding:.5rem 1rem;border:1px solid var(--gold)}
.origin-txt{padding-top:1rem}
.origin-tag{display:flex;gap:.5rem;margin-bottom:1rem}
.origin-tag-i{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;padding:.25rem .65rem;border:1px solid rgba(241,235,225,.25)}
.origin-lead{font-size:1.1rem;color:var(--cream);font-style:italic;line-height:1.85;margin-bottom:1.2rem}
.origin-body{font-size:.95rem;color:var(--muted);line-height:1.9;margin-bottom:1rem}
.origin-mol-wrap{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(241,235,225,.1)}
.origin-mol-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;margin-bottom:.8rem}
.origin-mol-svg{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.1);padding:1rem;display:flex;justify-content:center;align-items:center;height:140px}
@media(max-width:1100px){.origin-flex{grid-template-columns:1fr;gap:2.5rem;padding:4rem 2rem}}
#families{background:var(--bg4)}
.fam-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(241,235,225,.06);margin-top:3rem}
.fam-card{background:var(--bg2);padding:2.2rem 1.9rem;transition:background .3s;position:relative;overflow:hidden}
.fam-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);opacity:0;transition:opacity .3s}
.fam-card:hover{background:var(--bg3)}
.fam-card:hover::before{opacity:.6}
.fam-icon{width:34px;height:34px;color:var(--gold);margin-bottom:1rem;opacity:.65}
.fam-icon svg{width:100%;height:100%}
.fam-name{font-size:1.3rem;color:var(--cream);margin-bottom:.6rem;font-weight:400}
.fam-desc{font-size:.88rem;color:var(--muted);line-height:1.78;margin-bottom:1.1rem}
.fam-notes{display:flex;flex-wrap:wrap;gap:.35rem}
.fam-note{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.12em;color:var(--muted);border:1px solid rgba(241,235,225,.14);padding:.15rem .48rem;text-transform:uppercase}
.mg{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:2px;background:rgba(241,235,225,.07);margin-top:3rem}
.mol-card{background:var(--bg2);position:relative;overflow:hidden;transition:background .35s}
.mol-card:hover{background:var(--bg3)}
.mol-card::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);opacity:0;transition:opacity .35s}
.mol-card:hover::after{opacity:.55}
.mol-photo{height:210px;overflow:hidden;position:relative;aspect-ratio:3/2}
.mol-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.6) saturate(.65);transition:filter .8s ease,transform 1s ease;display:block;aspect-ratio:3/2}
.mol-card:hover .mol-photo img{filter:brightness(.72) saturate(.8);transform:scale(1.04)}
.mol-photo-grad{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,8,8,.1) 0%,rgba(13,13,13,.95) 100%)}
.mol-photo-tag{position:absolute;bottom:.8rem;left:1rem;font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.25em;color:rgba(241,235,225,.7);text-transform:uppercase}
.mol-body{padding:1.8rem 2.2rem 2.2rem}
.hover-hint{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.22em;color:rgba(241,235,225,.3);text-transform:uppercase;margin-bottom:1rem;transition:color .3s}
.mol-card:hover .hover-hint{color:rgba(241,235,225,.6)}
.mtag{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.28em;color:var(--gdim);text-transform:uppercase;margin-bottom:1.2rem;display:flex;align-items:center;gap:.6rem}
.mtag::before{content:'';display:block;width:14px;height:1px;background:var(--gdim)}
.msv{height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:1.3rem;position:relative;overflow:hidden}
.msv svg{max-height:145px;max-width:100%;filter:drop-shadow(0 0 8px rgba(241,235,225,.12));transition:opacity .4s}
.msv canvas.mol3d{position:absolute;inset:0;width:100%!important;height:100%!important;opacity:0;transition:opacity .4s}
.msv canvas.mol3d.active{opacity:1}
.msv canvas.mol3d.active ~ svg{opacity:0}
.mn{font-size:1.45rem;font-weight:400;color:var(--cream);margin-bottom:.2rem}
.msp{font-size:.86rem;font-style:italic;color:var(--muted);margin-bottom:.75rem}
.mf{font-family:'IBM Plex Mono',monospace;font-size:.66rem;color:var(--gold);letter-spacing:.1em;margin-bottom:.75rem;display:flex;align-items:center;gap:1rem}
.mf .cas{color:var(--muted);font-size:.56rem}
.md{font-size:.9rem;color:var(--muted);line-height:1.82;margin-bottom:1.2rem}
.mdata{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding-top:1.1rem;border-top:1px solid rgba(241,235,225,.1)}
.mdl{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.17em;color:var(--gdim);text-transform:uppercase;margin-bottom:.12rem}
.mdv{font-size:.87rem;color:var(--cream)}
#syn{background:var(--bg4)}
.syn-header{display:grid;grid-template-columns:1fr 1.5fr;gap:5rem;margin-bottom:4.5rem;align-items:start}
.syn-quote{font-size:1.06rem;font-style:italic;color:var(--muted);line-height:1.98;border-left:1px solid var(--gold);padding-left:2rem}
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(241,235,225,.05)}
.sc2{background:var(--bg);padding:2rem;transition:background .3s;position:relative}
.sc2:hover{background:#0c0c0c}
.sa{font-family:'IBM Plex Mono',monospace;font-size:1.85rem;font-weight:300;color:rgba(241,235,225,.17);margin-bottom:.7rem;letter-spacing:.05em}
.ssv{height:118px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;position:relative;overflow:hidden}
.ssv svg{max-height:112px;max-width:100%;transition:opacity .4s}
.ssv canvas.mol3d{position:absolute;inset:0;width:100%!important;height:100%!important;opacity:0;transition:opacity .4s}
.ssv canvas.mol3d.active{opacity:1}
.ssv canvas.mol3d.active ~ svg{opacity:0}
.sn{font-size:1.2rem;color:var(--cream);margin-bottom:.2rem}
.sf{font-family:'IBM Plex Mono',monospace;font-size:.62rem;color:var(--gold);letter-spacing:.1em;margin-bottom:.65rem}
.stgs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}
.stg{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.12em;color:var(--muted);border:1px solid rgba(241,235,225,.12);padding:.15rem .48rem;text-transform:uppercase}
.sdesc{font-size:.87rem;color:var(--muted);line-height:1.77}
.sfact{margin-top:.72rem;padding-top:.72rem;border-top:1px solid rgba(241,235,225,.07);font-family:'IBM Plex Mono',monospace;font-size:.57rem;color:var(--gdim);letter-spacing:.1em}
#lab{background:var(--bg2)}
.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--gfaint);margin-top:3rem}
.lab-accord{background:var(--bg2);padding:2.5rem}
.lab-accord-name{font-size:2rem;font-weight:300;color:var(--gold);margin-bottom:.3rem;font-style:italic;letter-spacing:.03em}
.lab-accord-year{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.3em;color:var(--muted);margin-bottom:.6rem}
.lab-accord-desc{font-size:.9rem;color:var(--muted);line-height:1.82;margin-bottom:2rem}
.lab-nodes{display:flex;flex-direction:column;gap:2px}
.lab-node{padding:.85rem 1rem;display:flex;align-items:flex-start;gap:.9rem}
.lab-node-role{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.18em;color:var(--gdim);text-transform:uppercase;min-width:55px;padding-top:.2rem}
.lab-node-right{flex:1;min-width:0}
.lab-node-ingr{font-size:.95rem;color:var(--cream);margin-bottom:.15rem}
.lab-node-note{font-size:.82rem;color:var(--muted);font-style:italic;line-height:1.6}
.lab-node.tn{background:rgba(241,235,225,.05);border-left:2px solid rgba(241,235,225,.45)}
.lab-node.mn{background:rgba(241,235,225,.03);border-left:2px solid rgba(241,235,225,.22)}
.lab-node.bn{background:rgba(241,235,225,.015);border-left:2px solid rgba(241,235,225,.1)}
.lab-landmark{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(241,235,225,.1)}
.lab-lm-l{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gdim);text-transform:uppercase;margin-bottom:.45rem}
.lab-lm-v{font-size:.9rem;color:var(--muted);font-style:italic;line-height:1.7}
#extraction{background:var(--bg4)}
.ext-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--gfaint);margin-top:3rem}
.ext-card{background:var(--bg2);padding:2.2rem}
.ext-num{font-family:'IBM Plex Mono',monospace;font-size:3rem;font-weight:300;color:rgba(241,235,225,.17);line-height:1;margin-bottom:1rem}
.ext-title{font-size:1.18rem;color:var(--cream);margin-bottom:.7rem;font-weight:400}
.ext-body{font-size:.9rem;color:var(--muted);line-height:1.82;margin-bottom:1.3rem}
.ext-meta{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding-top:1rem;border-top:1px solid rgba(241,235,225,.1)}
.ext-ml{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;color:var(--gdim);text-transform:uppercase;margin-bottom:.15rem}
.ext-mv{font-size:.87rem;color:var(--cream)}
#conc{background:var(--bg)}
.conc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:var(--gfaint);margin-top:3rem}
.conc-card{background:var(--bg2);padding:2rem 1.5rem;text-align:center}
.conc-bar-wrap{height:120px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:1.3rem}
.conc-bar{width:36px;background:rgba(241,235,225,.1);border:1px solid rgba(241,235,225,.18);position:relative;overflow:hidden}
.conc-fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,var(--gold),rgba(241,235,225,.45));height:0;transition:height 1.6s cubic-bezier(.4,0,.2,1)}
.conc-name{font-size:1rem;color:var(--cream);margin-bottom:.3rem}
.conc-pct{font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:var(--gold);letter-spacing:.1em;margin-bottom:.3rem}
.conc-dur{font-size:.82rem;color:var(--muted);font-style:italic}
#pyr{text-align:center}
.pw{display:flex;flex-direction:column;align-items:center;gap:3px;margin:0 auto 4rem;max-width:720px}
.pl{display:flex;align-items:center;justify-content:space-between;padding:1.6rem 2.8rem;border:1px solid rgba(241,235,225,.1);background:var(--bg2);cursor:default;transition:all .3s;position:relative;overflow:hidden}
.pl::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transition:transform .3s}
.pl:hover::before{transform:scaleY(1)}
.pl:hover{background:var(--bg3)}
.ptop{width:44%}.pmid{width:73%}.pbase{width:100%}
.ptt{font-size:1.06rem;color:var(--cream);margin-bottom:.18rem}
.ptm{font-family:'IBM Plex Mono',monospace;font-size:.56rem;letter-spacing:.2em;color:var(--gold)}
.pn{font-size:.8rem;color:var(--muted);font-style:italic;text-align:right;max-width:190px}
#app{background:var(--bg2)}
.app-grid{display:grid;grid-template-columns:1fr 1fr;gap:5.5rem;align-items:start}
.app-tips{display:flex;flex-direction:column;gap:2.2rem}
.app-tip{display:flex;gap:1.5rem;align-items:flex-start}
.app-icon{width:34px;height:34px;min-width:34px;color:var(--gold);opacity:.65}
.app-icon svg{width:100%;height:100%}
.app-tip h4{font-size:1.1rem;color:var(--cream);font-weight:400;margin-bottom:.4rem}
.app-tip p{font-size:.9rem;color:var(--muted);line-height:1.82}
.pulse-wrap{background:rgba(241,235,225,.04);border:1px solid rgba(241,235,225,.1);padding:2.5rem}
.pulse-wrap h4{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem}
.pulse-pt{display:flex;align-items:flex-start;gap:.8rem;padding:.4rem 0;border-bottom:1px solid rgba(241,235,225,.07)}
.pulse-dot{width:6px;height:6px;min-width:6px;background:var(--gold);border-radius:50%;margin-top:.45rem}
.pulse-label{font-size:.9rem;color:var(--muted);line-height:1.6}
#gloss{background:var(--bg4)}
.gloss-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--gfaint);margin-top:3rem}
.gloss-item{background:var(--bg2);padding:1.9rem;transition:background .3s}
.gloss-item:hover{background:var(--bg3)}
.gloss-term{font-size:1.18rem;color:var(--gold);margin-bottom:.5rem;font-weight:400;font-style:italic}
.gloss-def{font-size:.9rem;color:var(--muted);line-height:1.82}
#about .si{max-width:700px;margin:0 auto;text-align:center}
.ab{font-size:1.06rem;color:var(--muted);font-style:italic;line-height:1.98;margin-bottom:2rem}
footer{background:var(--bg4);border-top:1px solid rgba(241,235,225,.1);padding:5rem}
.ft-inner{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem}
.ft-brand{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.42em;color:var(--gold);text-transform:uppercase;margin-bottom:1.1rem}
.ft-tag{font-size:.97rem;color:var(--muted);font-style:italic;line-height:1.82;margin-bottom:.9rem}
.ft-loc{font-family:'IBM Plex Mono',monospace;font-size:.57rem;color:var(--muted);opacity:.42;letter-spacing:.15em}
.ft-col h4{font-family:'IBM Plex Mono',monospace;font-size:.56rem;letter-spacing:.28em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem;opacity:.72}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.ft-col a{font-size:.92rem;color:var(--muted);text-decoration:none;transition:color .2s}
.ft-col a:hover{color:var(--cream)}
.ft-bottom{max-width:1360px;margin:2.5rem auto 0;padding-top:2rem;border-top:1px solid rgba(241,235,225,.07);display:flex;justify-content:space-between;align-items:center}
.ft-cr{font-family:'IBM Plex Mono',monospace;font-size:.55rem;color:var(--muted);opacity:.32;letter-spacing:.1em}
.modal-overlay{position:fixed;inset:0;background:rgba(12,5,4,.9);z-index:9000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s;backdrop-filter:blur(14px)}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal-box{background:var(--bg2);max-width:920px;width:90%;max-height:88vh;overflow-y:auto;position:relative;border:1px solid rgba(241,235,225,.14)}
.modal-close{position:absolute;top:1.2rem;right:1.5rem;font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.25em;color:var(--muted);cursor:pointer;text-transform:uppercase;z-index:10;transition:color .2s}
.modal-close:hover{color:var(--gold)}
.modal-canvas-wrap{height:320px;background:#030303;position:relative}
#modal-canvas{width:100%;height:100%;display:block}
.modal-body{padding:2.8rem}
.modal-name{font-size:2.2rem;font-weight:300;color:var(--cream);margin-bottom:.3rem;font-style:italic}
.modal-formula{font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--gold);letter-spacing:.18em;margin-bottom:1.8rem}
.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;margin-bottom:1.8rem}
.modal-field-l{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.22em;color:var(--gdim);text-transform:uppercase;margin-bottom:.32rem}
.modal-field-v{font-size:.97rem;color:var(--cream);line-height:1.75}
.modal-odor{padding:1.6rem;background:rgba(241,235,225,.05);border-left:1px solid var(--gold);margin-bottom:1.8rem}
.modal-odor-l{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;margin-bottom:.55rem}
.modal-odor-v{font-size:1.02rem;color:var(--muted);font-style:italic;line-height:1.82}
.atom-legend{display:flex;gap:1.5rem;flex-wrap:wrap}
.atom-leg{display:flex;align-items:center;gap:.4rem;font-family:'IBM Plex Mono',monospace;font-size:.57rem;letter-spacing:.1em;color:var(--muted)}
.atom-dot{width:10px;height:10px;border-radius:50%}
.bond-svg{stroke:#c39a54;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;fill:none}
@media(max-width:1100px){
.intro-grid,.hist-grid,.syn-header,.app-grid,.origin-content{grid-template-columns:1fr}
.sg,.lab-grid{grid-template-columns:repeat(2,1fr)}
.fam-grid{grid-template-columns:repeat(2,1fr)}
.conc-grid{grid-template-columns:repeat(3,1fr)}
.gloss-grid{grid-template-columns:repeat(2,1fr)}
.si,.ft-inner-wrap{padding:0 2rem}
.si{padding:0 2rem}
.ft-inner{grid-template-columns:1fr 1fr}
.origin-bg{background-attachment:scroll}
body{cursor:auto}
}
@media(max-width:640px){
.fam-grid,.ext-grid,.gloss-grid,.lab-grid{grid-template-columns:1fr}
.sg{grid-template-columns:1fr}
.conc-grid{grid-template-columns:repeat(2,1fr)}
.ft-inner{grid-template-columns:1fr}
.origin-content{padding:4rem 2rem}
}
@keyframes shimmer{
0%{background-position:200% center}
50%{background-position:-200% center}
100%{background-position:200% center}
}
#particles{position:absolute;inset:0;z-index:0;pointer-events:none;contain:strict}
.particle{position:absolute;width:3px;height:3px;border-radius:50%;opacity:0;animation:float 12s ease-in-out infinite;will-change:transform,opacity}
@keyframes float{
0%{opacity:0;transform:translateY(100vh) scale(.5) rotate(0deg)}
10%{opacity:.5}
90%{opacity:.5}
100%{opacity:0;transform:translateY(-10vh) scale(1.5) rotate(180deg)}
}
#global-origins{background:var(--bg);position:relative;overflow:hidden}
.go-header{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;margin-bottom:4rem;align-items:start}
.go-map-wrap{position:relative;padding:2rem 0}
.go-map{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.2em;color:rgba(241,235,225,.25);white-space:pre;line-height:1.15;text-align:center}
.go-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(241,235,225,.06)}
.go-card{background:var(--bg2);padding:2rem 1.8rem;position:relative;overflow:hidden;transition:background .3s}
.go-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--gold),transparent);opacity:0;transition:opacity .3s}
.go-card:hover{background:var(--bg3)}
.go-card:hover::before{opacity:.6}
.go-region{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.28em;color:var(--gold);text-transform:uppercase;margin-bottom:.6rem;opacity:.7}
.go-place{font-size:1.4rem;font-weight:300;color:var(--cream);margin-bottom:.4rem;font-style:italic}
.go-country{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;color:var(--muted);margin-bottom:1rem}
.go-mats{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.1rem}
.go-mat{font-size:.78rem;color:var(--muted);padding:.18rem .55rem;border:1px solid rgba(241,235,225,.12);transition:border-color .2s,color .2s}
.go-mat:hover{border-color:rgba(241,235,225,.4);color:var(--cream)}
.go-note{font-size:.82rem;color:var(--muted);font-style:italic;line-height:1.72}
@media(max-width:1100px){.go-grid{grid-template-columns:repeat(2,1fr)}.go-header{grid-template-columns:1fr}}
@media(max-width:640px){.go-grid{grid-template-columns:1fr}}
.accent-rose{color:var(--rose)}
.accent-amber{color:var(--amber)}
.accent-violet{color:var(--violet)}
.accent-teal{color:var(--teal)}
.glow-gold{text-shadow:0 0 30px rgba(241,235,225,.3)}
.gradient-text{background:linear-gradient(135deg,var(--gold) 0%,var(--saffron) 50%,var(--ember) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.color-shift{background:linear-gradient(270deg,var(--gamboge),var(--cinnabar),var(--tyrian),var(--byzantine),var(--verdigris),var(--burnt-sienna));background-size:600% 600%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:colorShift 8s ease infinite}
@keyframes colorShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.border-shift{position:relative}
.border-shift::after{content:'';position:absolute;inset:-2px;background:linear-gradient(270deg,var(--ember),var(--magenta),var(--jade),var(--saffron));background-size:400% 400%;animation:borderShift 6s ease infinite;z-index:-1;border-radius:inherit}
@keyframes borderShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.glow-ember{text-shadow:0 0 20px var(--ember),0 0 40px rgba(255,77,0,.3)}
.glow-magenta{text-shadow:0 0 20px var(--magenta),0 0 40px rgb(198,57,74,.3)}
.glow-jade{text-shadow:0 0 20px var(--jade),0 0 40px rgba(0,168,107,.3)}
.glow-saffron{text-shadow:0 0 20px var(--saffron),0 0 40px rgba(244,196,48,.3)}
.accent-ember{color:var(--ember)}
.accent-saffron{color:var(--saffron)}
.accent-vermillion{color:var(--cinnabar)}
.accent-magenta{color:var(--magenta)}
.accent-electric{color:var(--electric)}
.accent-jade{color:var(--jade)}
.accent-orchid{color:var(--orchid)}
.accent-copper{color:var(--copper)}
.accent-seafoam{color:var(--seafoam)}
.accent-wine{color:var(--wine)}
.accent-chartreuse{color:var(--chartreuse)}
.accent-mauve{color:var(--mauve)}
.accent-blood{color:var(--blood)}
.accent-cognac{color:var(--cognac)}
.accent-gamboge{color:var(--gamboge)}
.accent-cinnabar{color:var(--cinnabar)}
.accent-verdigris{color:var(--verdigris)}
.accent-byzantine{color:var(--byzantine)}
.accent-tyrian{color:var(--tyrian)}
.accent-ochre{color:var(--ochre)}
.accent-prussian{color:var(--prussian)}
.accent-absinthe{color:var(--absinthe)}
.accent-vermeil{color:var(--vermeil)}
.accent-madder{color:var(--madder)}
.sec:nth-child(odd) .sl{color:var(--gamboge)}
.sec:nth-child(even) .sl{color:var(--verdigris)}
.sec:nth-child(3n) .gb{background:linear-gradient(90deg,var(--tyrian),var(--byzantine),transparent)}
.sec:nth-child(3n+1) .gb{background:linear-gradient(90deg,var(--cinnabar),var(--gamboge),transparent)}
.sec:nth-child(3n+2) .gb{background:linear-gradient(90deg,var(--verdigris),var(--absinthe),transparent)}
.mol-card:hover{border-color:var(--cinnabar);box-shadow:0 0 30px rgba(207,143,146,.15)}
.fam-card:hover{border-color:var(--byzantine);box-shadow:0 0 25px rgb(112,91,41,.12)}
.go-card:hover::before{background:linear-gradient(to right,transparent,var(--gamboge),transparent)}
.vocab-item:hover{border-left:3px solid var(--verdigris)}
50%{background-position:100% 50%}
75%{background-position:50% 0%}
100%{background-position:0% 50%}
}
.sec{border-top:1px solid transparent;background-image:linear-gradient(var(--bg),var(--bg)),linear-gradient(90deg,transparent,var(--cinnabar),var(--gamboge),var(--verdigris),transparent);background-origin:border-box;background-clip:padding-box,border-box}
.stn{font-size:2.8rem;font-weight:300;margin-bottom:.4rem}
.stats{display:grid;gap:2rem;padding:2rem 0}
.stats>div{text-align:center;padding:1.5rem;border:1px solid rgba(241,235,225,.1);transition:border-color .3s,transform .3s}
.stats>div:hover{border-color:var(--gamboge);transform:translateY(-3px)}
#beginners{background:linear-gradient(180deg,var(--bg2) 0%,var(--bg4) 100%);position:relative;overflow:hidden}
#beginners::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.beg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(241,235,225,.05);margin-top:3rem}
.beg-card{background:var(--bg2);padding:2.5rem 2rem;position:relative;transition:background .3s}
.beg-card:hover{background:var(--bg3)}
.beg-num{font-family:'IBM Plex Mono',monospace;font-size:2.5rem;font-weight:300;line-height:1;margin-bottom:1rem;background:linear-gradient(135deg,var(--gamboge),var(--cinnabar),var(--tyrian),var(--byzantine));background-size:300% 300%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:colorShift 6s ease infinite}
.beg-title{font-size:1.25rem;color:var(--cream);margin-bottom:.8rem;font-weight:400}
.beg-text{font-size:.92rem;color:var(--muted);line-height:1.85}
.beg-highlight{color:var(--cream);font-style:italic}
.vocab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:rgba(241,235,225,.05);margin-top:2.5rem}
.vocab-item{background:var(--bg2);padding:1.5rem 1.8rem;transition:background .3s}
.vocab-item:hover{background:var(--bg3)}
.vocab-term{font-size:1.1rem;color:var(--gold);margin-bottom:.4rem;font-style:italic}
.vocab-def{font-size:.88rem;color:var(--muted);line-height:1.75}
.bottle-card{display:flex;gap:1.8rem;align-items:flex-start}
.bottle-render{flex:0 0 120px;position:relative}
.bottle-svg{width:100%;height:auto;filter:drop-shadow(0 8px 24px rgba(12,5,4,.5))}
.bottle-info{flex:1}
.bottle-materials{margin-top:1rem;padding:1rem;background:rgba(241,235,225,.04);border-left:2px solid rgba(241,235,225,.2)}
.bottle-materials h5{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.18em;color:var(--verdigris);text-transform:uppercase;margin-bottom:.6rem}
.bottle-materials ul{list-style:none;font-size:.78rem;color:var(--muted);line-height:1.9}
.bottle-materials li::before{content:'◆ ';color:var(--gold);font-size:.7rem}
.ingredient-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}
.ingredient-tag{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;padding:.25rem .6rem;background:rgba(241,235,225,.08);border:1px solid rgba(241,235,225,.15);color:var(--gold)}
@media(max-width:900px){.bottle-card{flex-direction:column}.bottle-render{flex:0 0 auto;width:100px;margin:0 auto 1rem}}
.floating-bottles{display:flex;justify-content:center;gap:3rem;margin:3rem 0;flex-wrap:wrap}
.float-bottle{width:140px;text-align:center;animation:floatBottle 4s ease-in-out infinite;transform-style:preserve-3d;backface-visibility:visible}
.float-bottle:nth-child(2){animation-delay:-.8s}
.float-bottle:nth-child(3){animation-delay:-1.6s}
.float-bottle:nth-child(4){animation-delay:-2.4s}
.float-bottle:nth-child(5){animation-delay:-3.2s}
.float-bottle:nth-child(6){animation-delay:-4s}
.float-bottle svg{width:100%;height:180px;filter:drop-shadow(0 15px 35px rgba(12,5,4,.6));transform:none}
.float-bottle-era{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.2em;color:var(--gold);margin-top:.8rem;text-transform:uppercase}
.float-bottle-name{font-size:.9rem;color:var(--cream);font-style:italic;margin-top:.3rem}
@keyframes floatBottle{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media(max-width:600px){
.floating-bottles{gap:1rem;margin:1.5rem 0;padding:0 0.5rem}
.float-bottle{width:90px;flex:0 0 auto;animation:none}
.float-bottle svg{height:120px;transform:none!important}
.float-bottle-era{font-size:.7rem;letter-spacing:.12em;margin-top:.5rem}
.float-bottle-name{font-size:.7rem}
}
@media(max-width:400px){
.floating-bottles{gap:.5rem}
.float-bottle{width:75px}
.float-bottle svg{height:100px;transform:none!important}
.float-bottle-era{font-size:.7rem}
.float-bottle-name{font-size:.6rem}
}
.section-bottle{position:absolute;right:3rem;top:50%;transform:translateY(-50%);width:160px;opacity:.85;pointer-events:none;z-index:1}
.section-bottle svg{width:100%;filter:drop-shadow(0 20px 40px rgba(12,5,4,.5))}
@media(max-width:1100px){.section-bottle{display:none}}
.bottle-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:2rem;margin:2.5rem 0;padding:2rem;background:rgba(241,235,225,.03);border:1px solid rgba(241,235,225,.1)}
.bottle-row-item{text-align:center}
.bottle-row-item svg{width:80px;height:120px;filter:drop-shadow(0 8px 20px rgba(12,5,4,.4))}
.bottle-row-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;color:var(--gold);margin-top:.6rem;text-transform:uppercase}
.material-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-top:2.5rem}
.material-card{background:rgba(241,235,225,.02);border:1px solid rgba(241,235,225,.1);padding:1.8rem;position:relative;overflow:hidden;transition:border-color .3s,transform .3s}
.material-card:hover{border-color:var(--gold);transform:translateY(-3px)}
.material-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--gold)}
.material-icon{width:50px;height:50px;margin-bottom:1rem;opacity:.8}
.material-name{font-size:1.2rem;color:var(--cream);margin-bottom:.3rem;font-style:italic}
.material-latin{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.15em;color:var(--gold);margin-bottom:1rem;text-transform:uppercase}
.material-desc{font-size:.88rem;color:var(--muted);line-height:1.75;margin-bottom:1.2rem}
.material-specs{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;padding-top:1rem;border-top:1px solid rgba(241,235,225,.08)}
.material-spec{font-size:.75rem}
.material-spec-label{color:var(--gold);font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.2rem}
.material-spec-value{color:var(--cream)}
.bottle-detail{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start;padding:2.5rem;background:rgba(12,5,4,.2);border:1px solid rgba(241,235,225,.1);margin:2rem 0}
.bottle-detail-render{position:relative}
.bottle-detail-render svg{width:100%;filter:drop-shadow(0 25px 50px rgba(12,5,4,.6))}
.bottle-detail-info h3{font-size:1.8rem;color:var(--cream);font-style:italic;margin-bottom:.5rem}
.bottle-detail-era{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.2em;color:var(--gold);margin-bottom:1.5rem}
.bottle-detail-text{font-size:.95rem;color:var(--muted);line-height:1.85;margin-bottom:1.5rem}
.bottle-detail-materials{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.bottle-detail-mat{padding:.8rem;background:rgba(241,235,225,.04);border-left:2px solid var(--gold)}
.bottle-detail-mat h5{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.12em;color:var(--verdigris);margin-bottom:.4rem;text-transform:uppercase}
.bottle-detail-mat p{font-size:.8rem;color:var(--muted);line-height:1.6}
@media(max-width:900px){.bottle-detail{grid-template-columns:1fr}.bottle-detail-render{max-width:160px;margin:0 auto}.bottle-detail-materials{grid-template-columns:1fr}}
.craft-highlight{display:flex;gap:2.5rem;padding:2.5rem;background:linear-gradient(135deg,rgba(241,235,225,.04) 0%,rgba(139,0,0,.04) 100%);border:1px solid rgba(241,235,225,.12);margin:2rem 0}
.craft-icon{flex:0 0 80px;font-size:3rem;text-align:center;color:var(--gold);opacity:.7}
.craft-content h4{font-size:1.2rem;color:var(--cream);margin-bottom:.6rem;font-style:italic}
.craft-content p{font-size:.9rem;color:var(--muted);line-height:1.8}
@media(max-width:700px){.craft-highlight{flex-direction:column;text-align:center}.craft-icon{flex:none}}
.rec-section{margin-top:4rem;padding-top:3rem;border-top:1px solid rgba(241,235,225,.1)}
.rec-section-title{font-size:1.6rem;color:var(--cream);margin-bottom:.5rem;font-weight:300;font-style:italic}
.rec-section-sub{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.25em;color:var(--gold);text-transform:uppercase;margin-bottom:2rem}
.rec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}
.rec-card{background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.12);padding:0;overflow:hidden;transition:all .3s}
.rec-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 12px 40px rgba(12,5,4,.4)}
.rec-card-header{padding:1.5rem;background:linear-gradient(135deg,rgba(241,235,225,.08) 0%,rgba(139,0,0,.05) 100%);border-bottom:1px solid rgba(241,235,225,.1);display:flex;justify-content:space-between;align-items:flex-start}
.rec-card-brand{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.3rem}
.rec-card-name{font-size:1.3rem;color:var(--cream);font-style:italic;line-height:1.2}
.rec-card-year{font-family:'IBM Plex Mono',monospace;font-size:.6rem;color:var(--muted)}
.rec-card-price{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--gold);padding:.4rem .8rem;background:rgba(241,235,225,.1);border:1px solid rgba(241,235,225,.2)}
.rec-card-body{padding:1.5rem}
.rec-card-desc{font-size:.88rem;color:var(--muted);line-height:1.75;margin-bottom:1.2rem}
.rec-card-notes{margin-bottom:1rem}
.rec-card-notes-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;margin-bottom:.5rem}
.rec-card-notes-list{display:flex;flex-wrap:wrap;gap:.3rem}
.rec-note{font-size:.7rem;color:var(--muted);padding:.2rem .5rem;background:rgba(241,235,225,.06);border:1px solid rgba(241,235,225,.1)}
.rec-card-meta{display:flex;gap:1.5rem;padding-top:1rem;border-top:1px solid rgba(241,235,225,.08)}
.rec-meta-item{flex:1}
.rec-meta-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;color:var(--gdim);text-transform:uppercase;margin-bottom:.2rem}
.rec-meta-value{font-size:.8rem;color:var(--cream)}
.rec-badge{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.12em;padding:.3rem .7rem;text-transform:uppercase;margin-right:.5rem;margin-bottom:.5rem}
.rec-badge.beginner{background:rgba(142,162,131,.15);color:var(--absinthe);border:1px solid rgba(142,162,131,.3)}
.rec-badge.classic{background:rgba(241,235,225,.1);color:var(--gold);border:1px solid rgba(241,235,225,.25)}
.rec-badge.niche{background:rgb(112,91,41,.15);color:var(--byzantine);border:1px solid rgb(112,91,41,.3)}
.rec-badge.crowd-pleaser{background:rgba(67,179,174,.12);color:var(--verdigris);border:1px solid rgba(67,179,174,.25)}
.rec-badge.connoisseur{background:rgba(139,0,0,.15);color:var(--blood);border:1px solid rgba(139,0,0,.3)}
.rec-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}
.rec-tab{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.15em;padding:.6rem 1.2rem;border:1px solid rgba(241,235,225,.2);background:transparent;color:var(--muted);cursor:pointer;text-transform:uppercase;transition:all .3s}
.rec-tab:hover{border-color:var(--gold);color:var(--gold)}
.rec-tab.active{background:var(--gold);color:var(--bg);border-color:var(--gold)}
.rec-occasion{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;color:var(--muted);margin-right:1rem}
.rec-occasion-icon{font-size:.9rem}
@media(max-width:900px){.rec-grid{grid-template-columns:1fr}}
.mega-timeline{position:relative;padding:6rem 0;background:linear-gradient(180deg,var(--bg4) 0%,var(--bg) 50%,var(--bg4) 100%);overflow:hidden}
.mega-timeline::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cognac),var(--gold),var(--byzantine),transparent)}
.mega-timeline::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--byzantine),var(--gold),var(--cognac),transparent)}
.tl-header{text-align:center;margin-bottom:3rem}
.tl-header .sl{margin-bottom:.8rem}
.tl-header .st{margin-bottom:1rem}
.tl-header .sp{max-width:70ch;margin:0 auto 2rem}
.era-nav{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:2.5rem}
.era-btn{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.15em;padding:.7rem 1.2rem;border:1px solid rgba(241,235,225,.2);background:transparent;color:var(--muted);cursor:pointer;text-transform:uppercase;transition:all .4s;position:relative;overflow:hidden}
.era-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--gold),var(--cognac));opacity:0;transition:opacity .4s;z-index:0}
.era-btn span{position:relative;z-index:1}
.era-btn:hover{border-color:var(--gold);color:var(--gold)}
.era-btn.active{border-color:var(--gold);color:var(--bg)}
.era-btn.active::before{opacity:1}
.era-btn .era-years{display:block;font-size:.7rem;color:var(--gdim);margin-top:.2rem;letter-spacing:.1em}
.era-btn.active .era-years{color:var(--bg)}
.tl-track{position:relative;padding:2rem 0}
.tl-track::before{content:'';position:absolute;top:50%;left:5%;right:5%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:translateY(-50%)}
.era-panel{display:none;animation:eraFadeIn .6s ease}
.era-panel.active{display:block}
@keyframes eraFadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.era-header{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:3rem;padding:2rem;background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.1)}
.era-visual{position:relative;min-height:280px;display:flex;align-items:center;justify-content:center}
.era-visual svg{max-width:200px;max-height:200px}
.era-title-block{display:flex;flex-direction:column;justify-content:center}
.era-period{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-bottom:.5rem}
.era-name{font-size:2.5rem;color:var(--cream);font-weight:300;margin-bottom:.5rem;line-height:1.1}
.era-name em{color:var(--gold);font-style:italic}
.era-tagline{font-size:1.1rem;color:var(--muted);font-style:italic;margin-bottom:1.5rem}
.era-intro{font-size:.95rem;color:rgba(240,234,214,.7);line-height:1.85;max-width:55ch}
.era-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-bottom:3rem}
.era-event{background:rgba(12,5,4,.25);border:1px solid rgba(241,235,225,.08);padding:0;overflow:hidden;transition:all .4s}
.era-event:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 15px 40px rgba(12,5,4,.4)}
.era-event-date{padding:.8rem 1.2rem;background:linear-gradient(135deg,rgba(241,235,225,.1) 0%,rgba(139,0,0,.05) 100%);border-bottom:1px solid rgba(241,235,225,.08)}
.era-event-year{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gold)}
.era-event-body{padding:1.2rem}
.era-event-title{font-size:1.15rem;color:var(--cream);margin-bottom:.6rem;line-height:1.3}
.era-event-desc{font-size:.85rem;color:var(--muted);line-height:1.75}
.era-event-impact{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(241,235,225,.06)}
.era-event-impact-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gdim);text-transform:uppercase;margin-bottom:.3rem}
.era-event-impact-text{font-size:.75rem;color:var(--gold);font-style:italic}
.era-figures{margin-bottom:3rem}
.era-figures-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-bottom:1.5rem;text-align:center}
.figures-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}
.figure-card{text-align:center;padding:2rem 1.5rem;background:rgba(241,235,225,.02);border:1px solid rgba(241,235,225,.08);transition:all .3s}
.figure-card:hover{border-color:var(--gold);background:rgba(241,235,225,.05)}
.figure-portrait{width:80px;height:80px;margin:0 auto 1rem;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--cognac));display:flex;align-items:center;justify-content:center;font-size:2rem}
.figure-name{font-size:1.1rem;color:var(--cream);margin-bottom:.3rem}
.figure-dates{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.15em;color:var(--gdim);margin-bottom:.8rem}
.figure-role{font-size:.8rem;color:var(--muted);font-style:italic;margin-bottom:.8rem}
.figure-contrib{font-size:.75rem;color:rgba(240,234,214,.6);line-height:1.7}
.era-innovations{background:rgba(12,5,4,.2);border:1px solid rgba(241,235,225,.08);padding:2rem;margin-bottom:3rem}
.era-innovations-title{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.25em;color:var(--gold);text-transform:uppercase;margin-bottom:1.5rem}
.innovations-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.innovation-item{display:flex;align-items:flex-start;gap:.8rem}
.innovation-icon{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(241,235,225,.1);border:1px solid rgba(241,235,225,.2);font-size:.9rem}
.innovation-text{font-size:.8rem;color:var(--muted);line-height:1.6}
.innovation-text strong{color:var(--cream);display:block;margin-bottom:.2rem}
.era-perfumes{margin-bottom:2rem}
.era-perfumes-title{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.25em;color:var(--gold);text-transform:uppercase;margin-bottom:1.5rem;text-align:center}
.perfumes-showcase{display:flex;gap:1.5rem;overflow-x:auto;padding:1rem 0;scroll-snap-type:x mandatory}
.perfume-showcase-card{flex:0 0 220px;scroll-snap-align:start;background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.1);padding:1.5rem;text-align:center;transition:all .3s}
.perfume-showcase-card:hover{border-color:var(--gold);transform:scale(1.02)}
.perfume-showcase-card svg{max-width:60px;max-height:100px;margin-bottom:1rem}
.perfume-showcase-house{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;color:var(--gdim);text-transform:uppercase}
.perfume-showcase-name{font-size:1rem;color:var(--cream);font-style:italic;margin:.3rem 0}
.perfume-showcase-year{font-family:'IBM Plex Mono',monospace;font-size:.6rem;color:var(--gold)}
.perfume-showcase-note{font-size:.7rem;color:var(--muted);margin-top:.5rem;font-style:italic}
.era-legacy{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,rgba(241,235,225,.04) 0%,rgba(139,0,0,.02) 100%);border:1px solid rgba(241,235,225,.1);margin-top:2rem}
.era-legacy-quote{font-size:1.4rem;color:var(--cream);font-style:italic;line-height:1.7;max-width:50ch;margin:0 auto 1rem}
.era-legacy-quote::before{content:'"';font-size:3rem;color:var(--gold);opacity:.3;display:block;line-height:.5;margin-bottom:.5rem}
.era-legacy-attr{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gdim);text-transform:uppercase}
.tl-markers{display:flex;justify-content:space-between;padding:2rem 5%;position:relative}
.tl-marker{text-align:center;cursor:pointer;transition:transform .3s}
.tl-marker:hover{transform:scale(1.1)}
.tl-marker-dot{width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--gold);margin:0 auto .5rem;transition:all .3s}
.tl-marker.active .tl-marker-dot{background:var(--gold);box-shadow:0 0 20px rgba(241,235,225,.5)}
.tl-marker-year{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--muted)}
.tl-marker.active .tl-marker-year{color:var(--gold)}
@media(max-width:900px){
.era-header{grid-template-columns:1fr;text-align:center}
.era-visual{min-height:180px}
.era-name{font-size:2rem}
.era-intro{margin:0 auto}
.era-nav{gap:.4rem}
.era-btn{padding:.5rem .8rem;font-size:.7rem}
}
.smell-wheel{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem}
.smell-cat{text-align:center;padding:1.5rem 1rem;border:1px solid rgba(241,235,225,.1);transition:border-color .3s,transform .3s}
.smell-cat:hover{border-color:var(--gold);transform:translateY(-3px)}
.smell-icon{font-size:2rem;margin-bottom:.8rem;display:block}
.smell-name{font-size:1rem;color:var(--cream);margin-bottom:.4rem}
.smell-ex{font-size:.78rem;color:var(--muted);font-style:italic}
@media(max-width:1100px){.beg-grid{grid-template-columns:repeat(2,1fr)}.vocab-grid{grid-template-columns:1fr}.smell-wheel{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.beg-grid{grid-template-columns:1fr}.smell-wheel{grid-template-columns:1fr}}
.mol-explorer{position:relative;padding:6rem 0;background:linear-gradient(180deg,var(--bg) 0%,#100d05 50%,var(--bg) 100%);overflow:hidden}
.mol-explorer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--byzantine),var(--gold),var(--verdigris),transparent)}
.mol-explorer-header{text-align:center;margin-bottom:3rem}
.mol-explorer-header .sp{max-width:65ch;margin:0 auto}
.mol-categories{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:2.5rem}
.mol-cat-btn{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.12em;padding:.6rem 1.1rem;border:1px solid rgba(241,235,225,.2);background:transparent;color:var(--muted);cursor:pointer;text-transform:uppercase;transition:all .3s}
.mol-cat-btn:hover{border-color:var(--gold);color:var(--gold)}
.mol-cat-btn.active{background:var(--gold);color:var(--bg);border-color:var(--gold)}
.mol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}
.mol-card{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.1);overflow:hidden;transition:all .4s;position:relative;will-change:transform,box-shadow}
.mol-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 20px 50px rgba(12,5,4,.5)}
.mol-card.hidden{display:none}
.mol-card-header{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,rgb(112,91,41,.08) 0%,rgba(12,5,4,.3) 100%);border-bottom:1px solid rgba(241,235,225,.08)}
.mol-structure{background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.1);padding:1rem;display:flex;align-items:center;justify-content:center;min-height:100px}
.mol-structure svg{max-width:100%;max-height:80px}
.mol-info{display:flex;flex-direction:column;justify-content:center}
.mol-name{font-size:1.3rem;color:var(--cream);margin-bottom:.3rem;font-weight:400}
.mol-iupac{font-family:'IBM Plex Mono',monospace;font-size:.55rem;color:var(--gdim);letter-spacing:.05em;margin-bottom:.5rem;line-height:1.4}
.mol-formula{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--gold);margin-bottom:.3rem}
.mol-cas{font-family:'IBM Plex Mono',monospace;font-size:.55rem;color:var(--muted)}
.mol-card-body{padding:1.5rem}
.mol-scent{margin-bottom:1.2rem}
.mol-scent-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gdim);text-transform:uppercase;margin-bottom:.4rem}
.mol-scent-desc{font-size:.9rem;color:var(--cream);font-style:italic;line-height:1.6}
.mol-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.2rem;padding:1rem;background:rgba(241,235,225,.03);border:1px solid rgba(241,235,225,.06)}
.mol-stat{text-align:center}
.mol-stat-value{font-family:'IBM Plex Mono',monospace;font-size:.85rem;color:var(--gold);margin-bottom:.2rem}
.mol-stat-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;color:var(--gdim);text-transform:uppercase}
.mol-discovery{margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid rgba(241,235,225,.06)}
.mol-discovery-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gdim);text-transform:uppercase;margin-bottom:.3rem}
.mol-discovery-text{font-size:.8rem;color:var(--muted);line-height:1.6}
.mol-usage{margin-bottom:1rem}
.mol-usage-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gdim);text-transform:uppercase;margin-bottom:.5rem}
.mol-usage-list{display:flex;flex-wrap:wrap;gap:.4rem}
.mol-usage-frag{font-size:.65rem;padding:.3rem .6rem;background:rgba(241,235,225,.08);border:1px solid rgba(241,235,225,.15);color:var(--cream)}
.mol-badge{position:absolute;top:1rem;right:1rem;font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;padding:.3rem .6rem;text-transform:uppercase}
.mol-badge.aldehyde{background:rgba(232,144,156,.15);color:var(--rose);border:1px solid rgba(232,144,156,.3)}
.mol-badge.musk{background:rgb(112,91,41,.15);color:var(--byzantine);border:1px solid rgb(112,91,41,.3)}
.mol-badge.wood{background:rgba(113,84,63,.2);color:#c39a54;border:1px solid rgba(113,84,63,.4)}
.mol-badge.floral{background:rgb(214,185,115,.12);color:var(--orchid);border:1px solid rgb(214,185,115,.25)}
.mol-badge.citrus{background:rgba(244,196,48,.12);color:var(--saffron);border:1px solid rgba(244,196,48,.25)}
.mol-badge.amber{background:rgba(255,191,0,.12);color:var(--amber);border:1px solid rgba(255,191,0,.25)}
.mol-badge.marine{background:rgba(67,179,174,.12);color:var(--verdigris);border:1px solid rgba(67,179,174,.25)}
.mol-badge.green{background:rgba(142,162,131,.12);color:var(--absinthe);border:1px solid rgba(142,162,131,.25)}
.mol-badge.spice{background:rgba(207,143,146,.12);color:var(--cinnabar);border:1px solid rgba(207,143,146,.25)}
.mol-badge.vanilla{background:rgba(228,155,15,.12);color:var(--gamboge);border:1px solid rgba(228,155,15,.25)}
.mol-featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;background:linear-gradient(135deg,rgba(241,235,225,.05) 0%,rgb(112,91,41,.03) 100%);border:1px solid rgba(241,235,225,.2)}
.mol-featured .mol-card-header{grid-template-columns:180px 1fr;border-bottom:none;border-right:1px solid rgba(241,235,225,.1)}
.mol-featured .mol-structure{min-height:160px}
.mol-featured .mol-name{font-size:1.6rem}
.mol-detail-panel{display:none;position:fixed;inset:0;z-index:1000;background:rgba(12,5,4,.9);backdrop-filter:blur(10px);overflow-y:auto;padding:3rem}
.mol-detail-panel.show{display:flex;justify-content:center;align-items:flex-start}
.mol-detail-content{max-width:800px;width:100%;background:var(--bg2);border:1px solid rgba(241,235,225,.2);padding:3rem;position:relative}
.mol-detail-close{position:absolute;top:1.5rem;right:1.5rem;font-size:1.5rem;color:var(--muted);cursor:pointer;transition:color .3s}
.mol-detail-close:hover{color:var(--gold)}
@media(max-width:900px){
.mol-grid{grid-template-columns:1fr}
.mol-featured{grid-template-columns:1fr}
.mol-featured .mol-card-header{border-right:none;border-bottom:1px solid rgba(241,235,225,.1)}
.mol-card-header{grid-template-columns:100px 1fr}
}
@media(max-width:500px){
.mol-card-header{grid-template-columns:1fr;text-align:center}
.mol-structure{margin-bottom:1rem}
.mol-stats{grid-template-columns:1fr;gap:.5rem}
}
.world-map-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#050508 0%,#0a0812 50%,#050508 100%);overflow:hidden}
.world-map-section::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--verdigris),var(--gold),var(--cognac),transparent)}
.map-header{text-align:center;margin-bottom:3rem}
.map-header .sp{max-width:65ch;margin:0 auto}
.map-container{position:relative;max-width:1200px;margin:0 auto 3rem;padding:2rem;background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.1)}
.world-map-svg{width:100%;height:auto;max-height:500px}
.world-map-svg .land{fill:#1a1a1a;stroke:rgba(241,235,225,.15);stroke-width:.5;transition:fill .3s}
.world-map-svg .region{cursor:pointer;transition:all .3s}
.world-map-svg .region:hover{fill:rgba(241,235,225,.3)}
.world-map-svg .region.active{fill:rgba(241,235,225,.4)}
@media(max-width:640px){#map-labels .map-sub{display:none}}
.living{display:none}
.zone-motif.zband{bottom:auto;height:min(100%,880px)}
[data-onclick],[role="button"],.mol-card{cursor:pointer}
input[type="range"]{cursor:pointer!important}
@media(hover:hover){
button:not(:disabled):hover,select:hover,.mol-card:hover,td.pairing-cell:hover,.note-chip:hover,.accord-note-btn:hover{outline:1.5px solid var(--zone,#c39a54);outline-offset:2px}
}
.mol-card{position:relative}
.mol-card::before{content:'';position:absolute;top:9px;right:9px;width:8px;height:8px;border-top:1.5px solid var(--zone,#c39a54);border-right:1.5px solid var(--zone,#c39a54);transform:rotate(45deg);opacity:.5;pointer-events:none;z-index:3}
.mol-card::after{content:'hover · 3D   ·   tap · detail';position:absolute;left:0;right:0;bottom:0;padding:3px 0;text-align:center;font:400 8px/1.5 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--zone,#c39a54);background:linear-gradient(0deg,rgba(12,5,4,.72),transparent);opacity:0;transition:opacity .3s;pointer-events:none;z-index:3}
@media(hover:hover){.mol-card:hover::after{opacity:.8}}
@media(hover:none){.mol-card::after{opacity:.72}}
.rb-nudge{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.55rem 1.1rem;background:linear-gradient(90deg,rgba(207,143,146,.12),rgba(196,154,84,.12));border-bottom:1px solid rgba(207,143,146,.28);font-family:'Archivo',serif;font-style:italic;font-size:clamp(.85rem,2.4vw,1rem);color:var(--cream,#f1ebe1);text-align:center;position:relative;z-index:6}
.rb-nudge-x{background:none;border:none;color:var(--damask,#b0524a);font-size:1.25rem;line-height:1;cursor:pointer;padding:0 .4rem;flex:0 0 auto}
.tool-hint{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--zone,#c39a54);opacity:.78;margin:.2rem 0 1.1rem;display:flex;align-items:center;gap:.55rem}
.tool-hint::before{content:'';width:1.5rem;height:1px;background:var(--zone,#c39a54);opacity:.6;flex:0 0 auto}
@keyframes rb-seg-pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.5)}}
.wheel-segment.rb-hint-pulse{animation:rb-seg-pulse 2.4s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.wheel-segment.rb-hint-pulse{animation:none}}
.eng-glyph{display:inline-block;width:1em;height:1em;vertical-align:-.15em}
.eng-star{display:inline-block;width:.85em;height:.85em;vertical-align:-.08em;margin:0 .02em}
.constellation-wrap{max-width:920px;margin:2.5rem auto .5rem;position:relative}
#constellation{width:100%;height:auto;display:block;overflow:visible}
#constellation text{pointer-events:none;user-select:none}
#constellation g[data-mol] circle,#constellation g[data-fam] circle,#constellation line{transition:opacity .18s,stroke-width .18s,r .18s}
.constellation-caption{text-align:center;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;color:var(--gold,#d9b070);text-transform:uppercase;min-height:1.3em;margin-top:.6rem;opacity:.85}
.rb-cred{opacity:.62;font-size:.72rem;letter-spacing:.04em}
.pairing-cell .eng-star,.app-pulse-rating .eng-star{color:var(--gold,#d9b070)}
.dupe-mol{color:#dce7d2!important;background:rgba(12,5,4,.55)!important;border-color:rgba(142,162,131,.4)!important}
.wardrobe-tab.active{background:#d9b070!important;color:#160a08!important;font-weight:600}
.note-chip.selected,#accord-builder .note-chip.selected,.accord-note-btn.active,.gift-option-btn.selected{background:#d9b070!important;color:#160a08!important;border-color:#d9b070!important;font-weight:600}
.vol-mol-btn.active{background:color-mix(in srgb,var(--mol-color) 26%,#0b0504)!important}
.atelier-sub{color:#cdc1b0!important}
#atelier-list .zone-motif{opacity:.55!important}
#paradox,#history,#big-four,#scent-quiz,#atelier-list{position:relative}
#paradox>.si,#history>.si,#big-four>.si,#scent-quiz>.si,#atelier-list>.si{position:relative;z-index:1}
#precious-materials{position:relative}
#precious-materials>.si{position:relative;z-index:1}
.zone-motif{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:.85}
.zone-motif canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.zone-motif::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 130% 92% at 50% 22%,transparent 42%,var(--bg,#1a0c0a) 100%);pointer-events:none}
.map-marker{position:absolute;cursor:pointer;z-index:10;transition:transform .3s}
.map-marker:hover{transform:scale(1.2)}
.map-marker-dot{width:12px;height:12px;border-radius:50%;background:var(--gold);border:2px solid var(--bg);box-shadow:0 0 10px rgba(241,235,225,.5);animation:markerPulse 2s infinite}
.map-marker.premium .map-marker-dot{background:var(--byzantine);box-shadow:0 0 10px rgb(112,91,41,.5)}
.map-marker.exotic .map-marker-dot{background:var(--cognac);box-shadow:0 0 10px rgba(184,115,51,.5)}
@keyframes markerPulse{0%,100%{box-shadow:0 0 10px rgba(241,235,225,.5)}50%{box-shadow:0 0 20px rgba(241,235,225,.8)}}
.map-marker-label{position:absolute;left:50%;transform:translateX(-50%);top:-25px;font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--gold);white-space:nowrap;opacity:0;transition:opacity .3s}
.map-marker:hover .map-marker-label{opacity:1}
.region-info{position:absolute;bottom:1rem;left:1rem;right:1rem;background:rgba(12,5,4,.9);border:1px solid rgba(241,235,225,.2);padding:1.5rem;opacity:0;transform:translateY(10px);transition:all .4s;pointer-events:none}
.region-info.show{opacity:1;transform:none;pointer-events:auto}
.region-info-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}
.region-info-name{font-size:1.4rem;color:var(--cream);font-weight:300}
.region-info-flag{font-size:1.5rem}
.region-info-desc{font-size:.85rem;color:var(--muted);line-height:1.7;margin-bottom:1rem}
.region-ingredients{display:flex;flex-wrap:wrap;gap:.5rem}
.region-ingredient{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.1em;padding:.4rem .8rem;background:rgba(241,235,225,.08);border:1px solid rgba(241,235,225,.2);color:var(--cream)}
.region-ingredient.star{background:rgba(241,235,225,.15);border-color:var(--gold);color:var(--gold)}
.regions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:3rem}
.region-card{background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.08);overflow:hidden;transition:all .4s;cursor:pointer}
.region-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 15px 40px rgba(12,5,4,.4)}
.region-card-header{padding:1.5rem;background:linear-gradient(135deg,rgba(241,235,225,.06) 0%,rgba(12,5,4,.2) 100%);border-bottom:1px solid rgba(241,235,225,.08);display:flex;align-items:center;gap:1rem}
.region-card-flag{font-size:2rem}
.region-card-title{flex:1}
.region-card-name{font-size:1.2rem;color:var(--cream);margin-bottom:.2rem}
.region-card-country{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.15em;color:var(--gdim);text-transform:uppercase}
.region-card-body{padding:1.5rem}
.region-card-desc{font-size:.85rem;color:var(--muted);line-height:1.7;margin-bottom:1rem}
.region-card-ingredients{margin-bottom:1rem}
.region-card-ingredients-title{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gdim);text-transform:uppercase;margin-bottom:.6rem}
.region-card-ingredients-list{display:flex;flex-wrap:wrap;gap:.4rem}
.region-card-star{padding-top:1rem;border-top:1px solid rgba(241,235,225,.08)}
.region-card-star-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.4rem}
.region-card-star-name{font-size:1rem;color:var(--cream);font-style:italic}
.region-card-star-desc{font-size:.75rem;color:var(--muted);margin-top:.3rem}
.map-legend{display:flex;justify-content:center;gap:2rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(241,235,225,.08)}
.legend-item{display:flex;align-items:center;gap:.6rem}
.legend-dot{width:10px;height:10px;border-radius:50%}
.legend-dot.gold{background:var(--gold)}
.legend-dot.premium{background:var(--byzantine)}
.legend-dot.exotic{background:var(--cognac)}
.legend-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
@media(max-width:900px){
.regions-grid{grid-template-columns:1fr}
.map-legend{flex-wrap:wrap;gap:1rem}
}
.lineages-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,var(--bg) 0%,#080510 50%,var(--bg) 100%);overflow:hidden}
.lineages-section::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--rose),var(--gold),var(--orchid),transparent)}
.lineages-header{text-align:center;margin-bottom:3rem}
.lineages-header .sp{max-width:65ch;margin:0 auto}
.dynasty-nav{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:2.5rem}
.dynasty-btn{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.12em;padding:.7rem 1.3rem;border:1px solid rgba(241,235,225,.2);background:transparent;color:var(--muted);cursor:pointer;text-transform:uppercase;transition:all .3s}
.dynasty-btn:hover{border-color:var(--gold);color:var(--gold)}
.dynasty-btn.active{background:var(--gold);color:var(--bg);border-color:var(--gold)}
.dynasty-panel{display:none;animation:dynastyFadeIn .5s ease}
.dynasty-panel.active{display:block}
@keyframes dynastyFadeIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
.dynasty-header{display:grid;grid-template-columns:auto 1fr;gap:2rem;margin-bottom:3rem;padding:2rem;background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.1)}
.dynasty-crest{width:100px;height:100px;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(135deg,rgba(241,235,225,.1) 0%,rgba(12,5,4,.3) 100%);border:1px solid rgba(241,235,225,.2)}
.dynasty-info h3{font-size:2rem;color:var(--cream);font-weight:300;margin-bottom:.5rem}
.dynasty-info h3 em{color:var(--gold)}
.dynasty-tagline{font-size:1rem;color:var(--muted);font-style:italic;margin-bottom:1rem}
.dynasty-intro{font-size:.9rem;color:rgba(240,234,214,.7);line-height:1.8;max-width:60ch}
.family-tree{position:relative;padding:2rem 0}
.tree-generation{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;position:relative;flex-wrap:wrap}
.tree-generation::after{content:'';position:absolute;bottom:-1rem;left:50%;width:2px;height:1rem;background:rgba(241,235,225,.3)}
.tree-generation:last-child::after{display:none}
.tree-node{text-align:center;position:relative}
.tree-node::before{content:'';position:absolute;top:-1rem;left:50%;width:2px;height:1rem;background:rgba(241,235,225,.3)}
.tree-generation:first-child .tree-node::before{display:none}
.perfumer-card{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.15);padding:1.5rem;min-width:200px;max-width:280px;transition:all .3s;cursor:pointer}
.perfumer-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 10px 30px rgba(12,5,4,.4)}
.perfumer-card.founder{border-color:var(--gold);background:linear-gradient(135deg,rgba(241,235,225,.08) 0%,rgba(12,5,4,.4) 100%)}
.perfumer-card.master{border-left:3px solid var(--gold)}
.perfumer-card.current{border-left:3px solid var(--verdigris)}
.perfumer-portrait{width:60px;height:60px;margin:0 auto 1rem;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--cognac));display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--bg)}
.perfumer-card.founder .perfumer-portrait{background:linear-gradient(135deg,var(--gold),var(--saffron))}
.perfumer-name{font-size:1.1rem;color:var(--cream);margin-bottom:.3rem}
.perfumer-dates{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.1em;color:var(--gdim);margin-bottom:.5rem}
.perfumer-role{font-size:.75rem;color:var(--gold);font-style:italic;margin-bottom:.8rem}
.perfumer-works{font-size:.7rem;color:var(--muted);line-height:1.6}
.perfumer-works strong{color:var(--cream);display:block;margin-top:.4rem}
.tree-connector{position:absolute;background:rgba(241,235,225,.2)}
.tree-connector.vertical{width:2px;left:50%;transform:translateX(-50%)}
.tree-connector.horizontal{height:2px;top:0}
.perfumer-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-top:3rem}
.perfumer-detail-card{background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.1);overflow:hidden;transition:all .3s}
.perfumer-detail-card:hover{border-color:var(--gold)}
.perfumer-detail-header{display:grid;grid-template-columns:80px 1fr;gap:1.2rem;padding:1.5rem;background:linear-gradient(135deg,rgba(241,235,225,.05) 0%,rgba(12,5,4,.2) 100%);border-bottom:1px solid rgba(241,235,225,.08)}
.perfumer-detail-portrait{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--cognac));display:flex;align-items:center;justify-content:center;font-size:2rem}
.perfumer-detail-info{display:flex;flex-direction:column;justify-content:center}
.perfumer-detail-name{font-size:1.3rem;color:var(--cream);margin-bottom:.2rem}
.perfumer-detail-dates{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.1em;color:var(--gdim);margin-bottom:.4rem}
.perfumer-detail-house{font-size:.8rem;color:var(--gold);font-style:italic}
.perfumer-detail-body{padding:1.5rem}
.perfumer-detail-bio{font-size:.85rem;color:var(--muted);line-height:1.75;margin-bottom:1.2rem}
.perfumer-detail-legacy{padding-top:1rem;border-top:1px solid rgba(241,235,225,.08)}
.perfumer-detail-legacy-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gdim);text-transform:uppercase;margin-bottom:.5rem}
.perfumer-detail-creations{display:flex;flex-wrap:wrap;gap:.4rem}
.creation-tag{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.08em;padding:.35rem .7rem;background:rgba(241,235,225,.08);border:1px solid rgba(241,235,225,.15);color:var(--cream)}
.creation-tag.masterpiece{background:rgba(241,235,225,.15);border-color:var(--gold);color:var(--gold)}
.influence-section{margin-top:3rem;padding:2rem;background:rgba(12,5,4,.2);border:1px solid rgba(241,235,225,.08)}
.influence-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.25em;color:var(--gold);text-transform:uppercase;margin-bottom:1.5rem;text-align:center}
.influence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}
.influence-item{text-align:center;padding:1rem;background:rgba(241,235,225,.03);border:1px solid rgba(241,235,225,.08);transition:all .3s}
.influence-item:hover{border-color:var(--gold)}
.influence-arrow{color:var(--gold);font-size:1.2rem;margin-bottom:.5rem}
.influence-name{font-size:.9rem;color:var(--cream);margin-bottom:.2rem}
.influence-relation{font-size:.65rem;color:var(--muted);font-style:italic}
@media(max-width:900px){
.dynasty-header{grid-template-columns:1fr;text-align:center}
.dynasty-crest{margin:0 auto}
.dynasty-intro{margin:0 auto}
.tree-generation{flex-direction:column;align-items:center;gap:1rem}
.perfumer-detail-header{grid-template-columns:1fr;text-align:center}
.perfumer-detail-portrait{margin:0 auto}
}
.reformulation-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#080705 0%,#100d06 50%,#080705 100%);overflow:hidden}
.reform-
.reform-btn{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.15em;padding:.7rem 1.2rem;border:1px solid rgba(207,143,146,.2);background:transparent;color:var(--muted);cursor:pointer;transition:all .3s;text-transform:uppercase}
.reform-btn:hover{border-color:var(--cinnabar);color:var(--cinnabar)}
.reform-btn.active{background:rgba(207,143,146,.1);border-color:var(--cinnabar);color:var(--cinnabar)}
.reform-panel{display:none;animation:reformFadeIn .5s ease}
.reform-panel.active{display:block}
@keyframes reformFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.reform-card{background:rgba(12,5,4,.4);border:1px solid rgba(207,143,146,.15);margin-bottom:2rem;overflow:hidden}
.reform-card-header{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;padding:2rem;border-bottom:1px solid rgba(207,143,146,.1);align-items:center}
.reform-card-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,rgba(207,143,146,.2) 0%,rgba(12,5,4,.4) 100%);display:flex;align-items:center;justify-content:center;font-size:2rem}
.reform-card-title{font-size:1.4rem;color:var(--cream);margin-bottom:.3rem}
.reform-card-house{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--cinnabar);text-transform:uppercase}
.reform-card-verdict{text-align:right}
.reform-verdict-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-bottom:.3rem}
.reform-verdict-status{font-size:.9rem;padding:.4rem .8rem;display:inline-block}
.reform-verdict-status.compromised{background:rgba(207,143,146,.15);color:var(--cinnabar);border:1px solid rgba(207,143,146,.3)}
.reform-verdict-status.altered{background:rgba(241,235,225,.15);color:var(--gold);border:1px solid rgba(241,235,225,.3)}
.reform-verdict-status.preserved{background:rgba(142,162,131,.15);color:var(--absinthe);border:1px solid rgba(142,162,131,.3)}
.reform-card-body{padding:2rem}
.reform-timeline{position:relative;padding-left:2rem;border-left:2px solid rgba(207,143,146,.2)}
.reform-event{position:relative;padding-bottom:2rem}
.reform-event:last-child{padding-bottom:0}
.reform-event::before{content:'';position:absolute;left:-2rem;top:.4rem;width:12px;height:12px;border-radius:50%;background:var(--cinnabar);transform:translateX(-5px)}
.reform-event-year{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;color:var(--cinnabar);margin-bottom:.5rem}
.reform-event-title{font-size:1rem;color:var(--cream);margin-bottom:.5rem}
.reform-event-desc{font-size:.85rem;color:var(--muted);line-height:1.7}
.reform-molecules{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.reform-molecule{font-family:'IBM Plex Mono',monospace;font-size:.55rem;padding:.3rem .6rem;background:rgba(207,143,146,.1);border:1px solid rgba(207,143,146,.2);color:var(--rose)}
.reform-molecule.removed{text-decoration:line-through;opacity:.6}
.reform-molecule.added{background:rgba(142,162,131,.1);border-color:rgba(142,162,131,.2);color:var(--absinthe)}
.reform-comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(207,143,146,.1)}
.reform-compare-col{text-align:center}
.reform-compare-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-bottom:.5rem}
.reform-compare-value{font-size:1.1rem;color:var(--cream)}
.reform-compare-arrow{display:flex;align-items:center;justify-content:center;color:var(--cinnabar);font-size:1.5rem}
@media(max-width:768px){.reform-card-header{grid-template-columns:1fr;text-align:center;gap:1rem}.reform-card-verdict{text-align:center}.reform-comparison{grid-template-columns:1fr}}
.scent-wheel-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,var(--bg) 0%,#0a0812 50%,var(--bg) 100%);overflow:hidden}
.wheel-container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;margin-top:3rem}
.wheel-svg-wrap{position:relative;max-width:500px;margin:0 auto}
.wheel-svg-wrap svg{width:100%;height:auto}
.wheel-segment{cursor:pointer;transition:all .3s;transform-origin:center}
.wheel-segment:hover{filter:brightness(1.3)}
.wheel-segment.active{filter:brightness(1.5)}
.wheel-segment text{pointer-events:none;font-family:'IBM Plex Mono',monospace;font-size:11px;fill:var(--cream);text-anchor:middle}
.wheel-info{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.15);padding:2rem}
.wheel-info-title{font-size:1.5rem;color:var(--cream);margin-bottom:.5rem}
.wheel-info-family{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:1.5rem}
.wheel-info-desc{font-size:.9rem;color:var(--muted);line-height:1.8;margin-bottom:1.5rem}
.wheel-info-notes{margin-bottom:1.5rem}
.wheel-info-notes-title{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.8rem}
.wheel-info-notes-list{display:flex;flex-wrap:wrap;gap:.4rem}
.wheel-note{font-size:.75rem;padding:.3rem .6rem;background:rgba(241,235,225,.08);border:1px solid rgba(241,235,225,.15);color:var(--cream)}
.wheel-examples{border-top:1px solid rgba(241,235,225,.1);padding-top:1.5rem}
.wheel-examples-title{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.8rem}
.wheel-example{padding:.6rem 0;border-bottom:1px solid rgba(241,235,225,.05)}
.wheel-example:last-child{border-bottom:none}
.wheel-example-name{font-size:.9rem;color:var(--cream)}
.wheel-example-house{font-size:.7rem;color:var(--muted)}
@media(max-width:900px){.wheel-container{grid-template-columns:1fr}.wheel-svg-wrap{max-width:350px}}
.comparator-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#050508 0%,#080510 50%,#050508 100%);overflow:hidden}
.comparator-grid{display:grid;grid-template-columns:1fr 80px 1fr;gap:1rem;margin-top:3rem}
.comparator-col{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.12);padding:2rem}
.comparator-select{width:100%;padding:1rem;background:rgba(12,5,4,.5);border:1px solid rgba(241,235,225,.2);color:var(--cream);font-family:'Archivo',serif;font-size:1rem;cursor:pointer;margin-bottom:1.5rem}
.comparator-select option{background:var(--bg);color:var(--cream)}
.comparator-name{font-size:1.4rem;color:var(--cream);margin-bottom:.3rem;text-align:center}
.comparator-house{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;text-align:center;margin-bottom:1.5rem}
.comparator-stats{margin-bottom:1.5rem}
.comparator-stat{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid rgba(241,235,225,.08)}
.comparator-stat-label{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}
.comparator-stat-value{font-size:.85rem;color:var(--cream)}
.comparator-bar{height:6px;background:rgba(241,235,225,.1);margin-top:.4rem;border-radius:3px;overflow:hidden}
.comparator-bar-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gamboge));border-radius:3px;transition:width .5s}
.comparator-notes{margin-top:1.5rem}
.comparator-notes-title{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.8rem}
.comparator-note-row{font-size:.8rem;color:var(--muted);padding:.3rem 0}
.comparator-vs{display:flex;flex-direction:column;align-items:center;justify-content:center}
.comparator-vs-text{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.3em;color:var(--gold);writing-mode:vertical-rl;text-orientation:mixed}
.comparator-overlap{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.12);padding:2rem;margin-top:2rem;grid-column:1/-1}
.comparator-overlap-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem;text-align:center}
.comparator-overlap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}
.comparator-shared{text-align:center;padding:1rem;background:rgba(241,235,225,.05);border:1px solid rgba(241,235,225,.1)}
.comparator-shared-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;margin-bottom:.3rem}
.comparator-shared-value{font-size:1rem;color:var(--cream)}
@media(max-width:768px){.comparator-grid{grid-template-columns:1fr}.comparator-vs{padding:1rem 0}.comparator-vs-text{writing-mode:horizontal-tb}}
.dupe-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,var(--bg4) 0%,#0a0810 50%,var(--bg4) 100%);overflow:hidden}
.dupe-search{max-width:500px;margin:0 auto 3rem;position:relative}
.dupe-search input{width:100%;padding:1rem 1.5rem;background:rgba(12,5,4,.5);border:1px solid rgba(241,235,225,.2);color:var(--cream);font-family:'Archivo',serif;font-size:1rem}
.dupe-search input::placeholder{color:var(--muted)}
.dupe-grid{display:grid;gap:1.5rem}
.dupe-card{background:rgba(12,5,4,.4);border:1px solid rgba(142,162,131,.15);overflow:hidden}
.dupe-card-header{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;padding:1.5rem;background:rgba(142,162,131,.05);border-bottom:1px solid rgba(142,162,131,.1);align-items:center}
.dupe-original{text-align:left}
.dupe-arrow{color:var(--absinthe);font-size:1.5rem;text-align:center}
.dupe-alternative{text-align:right}
.dupe-frag-name{font-size:1.1rem;color:var(--cream);margin-bottom:.2rem}
.dupe-frag-house{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}
.dupe-frag-price{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--gold);margin-top:.3rem}
.dupe-card-body{padding:1.5rem}
.dupe-match{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.dupe-match-label{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}
.dupe-match-bar{flex:1;height:8px;background:rgba(142,162,131,.1);border-radius:4px;overflow:hidden}
.dupe-match-fill{height:100%;background:linear-gradient(90deg,var(--absinthe),var(--verdigris));border-radius:4px}
.dupe-match-pct{font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--absinthe)}
.dupe-analysis{font-size:.85rem;color:var(--muted);line-height:1.7;margin-bottom:1rem}
.dupe-molecules{display:flex;flex-wrap:wrap;gap:.4rem}
.dupe-mol{font-family:'IBM Plex Mono',monospace;font-size:.7rem;padding:.25rem .5rem;background:rgba(142,162,131,.1);border:1px solid rgba(142,162,131,.2);color:var(--absinthe)}
.dupe-savings{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(142,162,131,.1);text-align:center}
.dupe-savings-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}
.dupe-savings-value{font-size:1.2rem;color:var(--absinthe)}
.vintage-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#0a0808 0%,#0e0a0a 50%,#0a0808 100%);overflow:hidden}
.vintage-card{background:rgba(12,5,4,.4);border:1px solid rgba(139,115,85,.2);margin-bottom:2rem;overflow:hidden}
.vintage-card-header{padding:2rem;border-bottom:1px solid rgba(139,115,85,.1)}
.vintage-card-title{font-size:1.5rem;color:var(--cream);margin-bottom:.3rem}
.vintage-card-subtitle{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--cognac);text-transform:uppercase}
.vintage-comparison{display:grid;grid-template-columns:1fr 1fr;gap:0}
.vintage-col{padding:2rem}
.vintage-col.old{background:rgba(139,115,85,.08);border-right:1px solid rgba(139,115,85,.1)}
.vintage-col.new{background:rgba(100,100,120,.05)}
.vintage-col-label{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.25em;color:var(--gold);text-transform:uppercase;margin-bottom:1.5rem;text-align:center}
.vintage-batch{font-family:'IBM Plex Mono',monospace;font-size:.6rem;color:var(--muted);text-align:center;margin-bottom:1rem}
.vintage-notes{margin-bottom:1.5rem}
.vintage-note-group{margin-bottom:1rem}
.vintage-note-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;margin-bottom:.4rem}
.vintage-note-list{font-size:.85rem;color:var(--cream)}
.vintage-rating{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}
.vintage-rating-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;width:80px}
.vintage-rating-bar{flex:1;height:4px;background:rgba(139,115,85,.2);border-radius:2px;overflow:hidden}
.vintage-rating-fill{height:100%;border-radius:2px}
.vintage-rating-fill.high{background:var(--gold)}
.vintage-rating-fill.med{background:var(--cognac)}
.vintage-rating-fill.low{background:var(--muted)}
.vintage-verdict{padding:2rem;border-top:1px solid rgba(139,115,85,.1);text-align:center}
.vintage-verdict-title{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.5rem}
.vintage-verdict-text{font-size:.9rem;color:var(--muted);line-height:1.7}
.vintage-price{margin-top:1rem}
.vintage-price-row{display:flex;justify-content:center;gap:2rem}
.vintage-price-item{text-align:center}
.vintage-price-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.vintage-price-value{font-size:1rem;color:var(--cream)}
@media(max-width:768px){.vintage-comparison{grid-template-columns:1fr}.vintage-col.old{border-right:none;border-bottom:1px solid rgba(139,115,85,.1)}}
.failed-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,var(--bg) 0%,#0a0805 50%,var(--bg) 100%);overflow:hidden}
.failed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-top:3rem}
.failed-card{background:rgba(12,5,4,.4);border:1px solid rgba(196,154,84,.15);overflow:hidden;transition:all .4s}
.failed-card:hover{border-color:rgba(196,154,84,.3);transform:translateY(-3px)}
.failed-card-badge{position:absolute;top:1rem;right:1rem;font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;padding:.3rem .6rem;background:rgba(196,154,84,.2);color:#c39a54;text-transform:uppercase}
.failed-card-header{padding:2rem;border-bottom:1px solid rgba(196,154,84,.1);position:relative}
.failed-card-name{font-size:1.3rem;color:var(--cream);margin-bottom:.3rem}
.failed-card-meta{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:var(--muted)}
.failed-card-meta span{color:#c39a54}
.failed-card-body{padding:2rem}
.failed-card-story{font-size:.9rem;color:var(--muted);line-height:1.8;margin-bottom:1.5rem}
.failed-card-why{background:rgba(196,154,84,.08);padding:1rem;margin-bottom:1.5rem}
.failed-card-why-title{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:#c39a54;text-transform:uppercase;margin-bottom:.5rem}
.failed-card-why-text{font-size:.85rem;color:var(--cream)}
.failed-card-legacy{padding-top:1rem;border-top:1px solid rgba(196,154,84,.1)}
.failed-card-legacy-title{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.5rem}
.failed-card-legacy-text{font-size:.8rem;color:var(--muted)}
.failed-card-status{display:flex;gap:1rem;margin-top:1rem}
.failed-status-item{font-family:'IBM Plex Mono',monospace;font-size:.55rem;padding:.3rem .6rem;border:1px solid rgba(196,154,84,.2)}
.failed-status-item.discontinued{background:rgba(207,143,146,.1);border-color:rgba(207,143,146,.2);color:var(--cinnabar)}
.failed-status-item.cult{background:rgba(241,235,225,.1);border-color:rgba(241,235,225,.2);color:var(--gold)}
.failed-status-item.rare{background:rgba(196,154,84,.1);color:#c39a54}
.training-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#050508 0%,#080810 50%,#050508 100%);overflow:hidden}
.training-intro{max-width:700px;margin:0 auto 3rem;text-align:center}
.training-levels{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:3rem}
.training-level-btn{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.15em;padding:.7rem 1.5rem;border:1px solid rgba(127,158,154,.2);background:transparent;color:var(--muted);cursor:pointer;transition:all .3s;text-transform:uppercase}
.training-level-btn:hover{border-color:var(--verdigris);color:var(--verdigris)}
.training-level-btn.active{background:rgba(127,158,154,.1);border-color:var(--verdigris);color:var(--verdigris)}
.training-panel{display:none}
.training-panel.active{display:block}
.training-module{background:rgba(12,5,4,.4);border:1px solid rgba(127,158,154,.12);margin-bottom:1.5rem;overflow:hidden}
.training-module-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(127,158,154,.1);cursor:pointer}
.training-module-title{font-size:1.1rem;color:var(--cream)}
.training-module-meta{display:flex;gap:1rem}
.training-module-duration{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.1em;color:var(--muted)}
.training-module-difficulty{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.1em;padding:.2rem .5rem}
.training-module-difficulty.beginner{background:rgba(142,162,131,.15);color:var(--absinthe)}
.training-module-difficulty.intermediate{background:rgba(241,235,225,.15);color:var(--gold)}
.training-module-difficulty.advanced{background:rgba(207,143,146,.15);color:var(--cinnabar)}
.training-module-body{padding:1.5rem;display:none}
.training-module.open .training-module-body{display:block}
.training-exercise{background:rgba(127,158,154,.03);padding:1.5rem;margin-bottom:1rem;border-left:3px solid var(--verdigris)}
.training-exercise-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:var(--verdigris);text-transform:uppercase;margin-bottom:.5rem}
.training-exercise-desc{font-size:.9rem;color:var(--cream);line-height:1.7;margin-bottom:1rem}
.training-materials{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.training-material{font-family:'IBM Plex Mono',monospace;font-size:.55rem;padding:.3rem .6rem;background:rgba(127,158,154,.1);border:1px solid rgba(127,158,154,.2);color:var(--verdigris)}
.training-tip{font-size:.8rem;color:var(--muted);font-style:italic}
.controversy-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#0a0505 0%,#0e0808 50%,#0a0505 100%);overflow:hidden}
.controversy-warning{max-width:600px;margin:0 auto 3rem;padding:1.5rem;background:rgba(207,143,146,.08);border:1px solid rgba(207,143,146,.2);text-align:center}
.controversy-warning-text{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--cinnabar)}
.controversy-grid{display:grid;gap:2rem}
.controversy-card{background:rgba(12,5,4,.4);border:1px solid rgba(207,143,146,.12);overflow:hidden}
.controversy-card-header{padding:2rem;border-bottom:1px solid rgba(207,143,146,.1)}
.controversy-card-category{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--cinnabar);text-transform:uppercase;margin-bottom:.5rem}
.controversy-card-title{font-size:1.4rem;color:var(--cream);margin-bottom:.5rem}
.controversy-card-parties{font-size:.85rem;color:var(--muted)}
.controversy-card-body{padding:2rem}
.controversy-story{font-size:.9rem;color:var(--muted);line-height:1.8;margin-bottom:1.5rem}
.controversy-timeline{position:relative;padding-left:1.5rem;border-left:2px solid rgba(207,143,146,.2)}
.controversy-event{padding-bottom:1.5rem;position:relative}
.controversy-event::before{content:'';position:absolute;left:-1.5rem;top:.3rem;width:8px;height:8px;border-radius:50%;background:var(--cinnabar);transform:translateX(-3px)}
.controversy-event-year{font-family:'IBM Plex Mono',monospace;font-size:.6rem;color:var(--cinnabar);margin-bottom:.3rem}
.controversy-event-text{font-size:.85rem;color:var(--cream)}
.controversy-outcome{background:rgba(207,143,146,.05);padding:1.5rem;margin-top:1rem}
.controversy-outcome-title{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.5rem}
.controversy-outcome-text{font-size:.85rem;color:var(--cream)}
.batch-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#050508 0%,#0a0810 50%,#050508 100%);overflow:hidden}
.batch-decoder{max-width:600px;margin:0 auto}
.batch-input-wrap{display:flex;gap:1rem;margin-bottom:2rem}
.batch-input{flex:1;padding:1rem 1.5rem;background:rgba(12,5,4,.5);border:1px solid rgba(241,235,225,.3);color:var(--cream);font-family:'IBM Plex Mono',monospace;font-size:1rem;letter-spacing:.1em}
.batch-input::placeholder{color:var(--muted)}
.batch-btn{padding:1rem 2rem;background:var(--gold);border:none;color:var(--bg);font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .3s}
.batch-btn:hover{background:var(--cream)}
.batch-result{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.15);padding:2rem;display:none}
.batch-result.show{display:block}
.batch-result-brand{font-size:1.5rem;color:var(--cream);margin-bottom:.5rem}
.batch-result-date{font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--gold);margin-bottom:1.5rem}
.batch-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.batch-result-item{padding:1rem;background:rgba(241,235,225,.05);border:1px solid rgba(241,235,225,.1)}
.batch-result-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-bottom:.3rem}
.batch-result-value{font-size:.95rem;color:var(--cream)}
.batch-brands{margin-top:3rem}
.batch-brands-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem;text-align:center}
.batch-brands-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}
.batch-brand{padding:.8rem;background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.08);text-align:center;font-size:.8rem;color:var(--muted);cursor:pointer;transition:all .3s}
.batch-brand:hover{border-color:var(--gold);color:var(--cream)}
.ifra-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#0a0505 0%,#0e0808 50%,#0a0505 100%);overflow:hidden}
.ifra-search{max-width:500px;margin:0 auto 2rem}
.ifra-search input{width:100%;padding:1rem 1.5rem;background:rgba(12,5,4,.5);border:1px solid rgba(207,143,146,.2);color:var(--cream);font-family:'Archivo',serif;font-size:1rem}
.ifra-filters{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}
.ifra-filter{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.1em;padding:.5rem 1rem;border:1px solid rgba(207,143,146,.2);background:transparent;color:var(--muted);cursor:pointer;transition:all .3s}
.ifra-filter:hover,.ifra-filter.active{border-color:var(--cinnabar);color:var(--cinnabar);background:rgba(207,143,146,.1)}
.ifra-grid{display:grid;gap:1rem}
.ifra-card{background:rgba(12,5,4,.4);border:1px solid rgba(207,143,146,.12);padding:1.5rem;display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center}
.ifra-card-status{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.ifra-card-status.banned{background:rgba(207,143,146,.2);border:2px solid var(--cinnabar)}
.ifra-card-status.restricted{background:rgba(241,235,225,.2);border:2px solid var(--gold)}
.ifra-card-status.limited{background:rgba(142,162,131,.2);border:2px solid var(--absinthe)}
.ifra-card-name{font-size:1.1rem;color:var(--cream);margin-bottom:.3rem}
.ifra-card-category{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}
.ifra-card-detail{font-size:.85rem;color:var(--muted);margin-top:.5rem}
.ifra-card-limit{text-align:right}
.ifra-card-limit-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.ifra-card-limit-value{font-size:1.1rem;color:var(--cinnabar)}
.ifra-card-alt{margin-top:.5rem;font-size:.75rem;color:var(--absinthe)}
.price-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,var(--bg) 0%,#0a0812 50%,var(--bg) 100%);overflow:hidden}
.price-chart{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.12);padding:2rem;margin-bottom:2rem}
.price-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.price-chart-title{font-size:1.2rem;color:var(--cream)}
.price-chart-legend{display:flex;gap:1.5rem}
.price-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--muted)}
.price-legend-dot{width:10px;height:10px;border-radius:50%}
.price-legend-dot.actual{background:var(--cinnabar)}
.price-legend-dot.inflation{background:var(--muted)}
.price-bars{display:flex;align-items:flex-end;gap:1rem;height:200px;padding:1rem 0;border-bottom:1px solid rgba(241,235,225,.1)}
.price-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.price-bar-container{display:flex;gap:4px;align-items:flex-end;height:180px}
.price-bar{width:20px;border-radius:2px 2px 0 0;transition:height .5s}
.price-bar.actual{background:linear-gradient(180deg,var(--cinnabar),var(--cognac))}
.price-bar.inflation{background:rgba(150,150,150,.4)}
.price-bar-year{font-family:'IBM Plex Mono',monospace;font-size:.6rem;color:var(--muted)}
.price-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}
.price-insight{background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.1);padding:1.5rem}
.price-insight-value{font-size:2rem;color:var(--cinnabar);margin-bottom:.3rem}
.price-insight-label{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}
.price-insight-detail{font-size:.8rem;color:var(--cream);margin-top:.5rem}
.dna-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#080705 0%,#100e08 50%,#080705 100%);overflow:hidden}
.dna-
.dna-btn{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.15em;padding:.7rem 1.2rem;border:1px solid rgba(241,235,225,.2);background:transparent;color:var(--muted);cursor:pointer;transition:all .3s;text-transform:uppercase}
.dna-btn:hover{border-color:var(--gold);color:var(--gold)}
.dna-btn.active{background:rgba(241,235,225,.1);border-color:var(--gold);color:var(--gold)}
.dna-panel{display:none}
.dna-panel.active{display:block}
.dna-header{display:grid;grid-template-columns:auto 1fr;gap:2rem;margin-bottom:2rem;padding:2rem;background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.15)}
.dna-logo{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,rgba(241,235,225,.2) 0%,rgba(12,5,4,.4) 100%);display:flex;align-items:center;justify-content:center;font-size:2.5rem;border:2px solid var(--gold)}
.dna-house-name{font-size:1.8rem;color:var(--cream);margin-bottom:.3rem}
.dna-house-tagline{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem}
.dna-house-desc{font-size:.9rem;color:var(--muted);line-height:1.7}
.dna-signature{margin-bottom:2rem}
.dna-signature-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem}
.dna-molecules{display:flex;flex-wrap:wrap;gap:.5rem}
.dna-molecule{padding:.5rem 1rem;background:rgba(241,235,225,.08);border:1px solid rgba(241,235,225,.2);font-size:.8rem;color:var(--cream)}
.dna-molecule.primary{background:rgba(241,235,225,.15);border-color:var(--gold);color:var(--gold)}
.dna-examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.dna-example{padding:1.5rem;background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.1)}
.dna-example-name{font-size:1rem;color:var(--cream);margin-bottom:.3rem}
.dna-example-year{font-family:'IBM Plex Mono',monospace;font-size:.6rem;color:var(--muted)}
.dna-example-note{font-size:.8rem;color:var(--gold);margin-top:.5rem}
.concentration-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,var(--bg4) 0%,#0a0810 50%,var(--bg4) 100%);overflow:hidden}
.concentration-card{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.12);margin-bottom:2rem;overflow:hidden}
.concentration-card-header{padding:2rem;border-bottom:1px solid rgba(241,235,225,.1)}
.concentration-card-name{font-size:1.4rem;color:var(--cream);margin-bottom:.3rem}
.concentration-card-house{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}
.concentration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.concentration-col{padding:2rem;border-right:1px solid rgba(241,235,225,.1)}
.concentration-col:last-child{border-right:none}
.concentration-col-label{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;text-align:center;margin-bottom:1rem}
.concentration-col-pct{font-size:2rem;color:var(--cream);text-align:center;margin-bottom:1rem}
.concentration-col-price{font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--muted);text-align:center;margin-bottom:1.5rem}
.concentration-stat{margin-bottom:1rem}
.concentration-stat-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:.3rem}
.concentration-stat-bar{height:6px;background:rgba(241,235,225,.1);border-radius:3px;overflow:hidden}
.concentration-stat-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--gold),var(--gamboge))}
.concentration-verdict{padding:1.5rem 2rem;background:rgba(241,235,225,.05);border-top:1px solid rgba(241,235,225,.1)}
.concentration-verdict-text{font-size:.85rem;color:var(--cream);text-align:center}
@media(max-width:768px){.concentration-grid{grid-template-columns:1fr}.concentration-col{border-right:none;border-bottom:1px solid rgba(241,235,225,.1)}.concentration-col:last-child{border-bottom:none}}
.celeb-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#0a0808 0%,#0e0a0a 50%,#0a0808 100%);overflow:hidden}
.celeb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}
.celeb-card{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.12);overflow:hidden}
.celeb-card-header{display:flex;gap:1.5rem;padding:1.5rem;border-bottom:1px solid rgba(241,235,225,.1)}
.celeb-card-avatar{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,rgba(241,235,225,.2) 0%,rgba(12,5,4,.4) 100%);display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.celeb-card-info{flex:1}
.celeb-card-name{font-size:1.2rem;color:var(--cream);margin-bottom:.3rem}
.celeb-card-frags{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.1em;color:var(--muted)}
.celeb-card-rating{display:flex;align-items:center;gap:.3rem;margin-top:.5rem}
.celeb-card-rating-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.celeb-card-rating-value{font-size:.9rem;padding:.2rem .5rem}
.celeb-card-rating-value.high{background:rgba(142,162,131,.15);color:var(--absinthe)}
.celeb-card-rating-value.medium{background:rgba(241,235,225,.15);color:var(--gold)}
.celeb-card-rating-value.low{background:rgba(207,143,146,.15);color:var(--cinnabar)}
.celeb-card-rating-value.none{background:rgba(100,100,100,.15);color:var(--muted)}
.celeb-card-body{padding:1.5rem}
.celeb-card-truth{font-size:.9rem;color:var(--muted);line-height:1.7;margin-bottom:1rem}
.celeb-card-perfumer{padding:.8rem;background:rgba(241,235,225,.05);border-left:3px solid var(--gold)}
.celeb-card-perfumer-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--gold);text-transform:uppercase;margin-bottom:.3rem}
.celeb-card-perfumer-name{font-size:.85rem;color:var(--cream)}
.layering-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,var(--bg) 0%,#080812 50%,var(--bg) 100%);overflow:hidden}
.layering-grid{display:grid;gap:2rem}
.layering-combo{background:rgba(12,5,4,.4);border:1px solid rgba(142,162,131,.15);overflow:hidden}
.layering-combo-header{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;padding:1.5rem;background:rgba(142,162,131,.05);border-bottom:1px solid rgba(142,162,131,.1);align-items:center}
.layering-frag{text-align:center}
.layering-frag-name{font-size:1.1rem;color:var(--cream);margin-bottom:.2rem}
.layering-frag-house{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.1em;color:var(--muted)}
.layering-plus{font-size:1.5rem;color:var(--absinthe)}
.layering-combo-body{padding:1.5rem}
.layering-result{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.layering-result-label{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.layering-result-name{font-size:1rem;color:var(--absinthe)}
.layering-why{font-size:.85rem;color:var(--muted);line-height:1.7;margin-bottom:1rem}
.layering-molecules{display:flex;flex-wrap:wrap;gap:.4rem}
.layering-mol{font-family:'IBM Plex Mono',monospace;font-size:.7rem;padding:.25rem .5rem;background:rgba(142,162,131,.1);border:1px solid rgba(142,162,131,.2);color:var(--absinthe)}
.layering-tips{margin-top:3rem;padding:2rem;background:rgba(12,5,4,.3);border:1px solid rgba(142,162,131,.1)}
.layering-tips-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--absinthe);text-transform:uppercase;margin-bottom:1rem}
.layering-tip{display:flex;gap:1rem;margin-bottom:1rem}
.layering-tip-num{font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--absinthe)}
.layering-tip-text{font-size:.85rem;color:var(--cream)}
.wardrobe-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#050508 0%,#0a0812 50%,#050508 100%);overflow:hidden}
.wardrobe-tabs{display:flex;justify-content:center;gap:0;margin-bottom:3rem;border:1px solid rgba(241,235,225,.2)}
.wardrobe-tab{flex:1;max-width:150px;padding:1rem;background:transparent;border:none;border-right:1px solid rgba(241,235,225,.2);font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:var(--muted);cursor:pointer;transition:all .3s;text-transform:uppercase}
.wardrobe-tab:last-child{border-right:none}
.wardrobe-tab:hover{color:var(--gold)}
.wardrobe-tab.active{background:rgba(241,235,225,.1);color:var(--gold)}
.wardrobe-panel{display:none}
.wardrobe-panel.active{display:block}
.wardrobe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.wardrobe-slot{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.12);padding:1.5rem}
.wardrobe-slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.wardrobe-slot-occasion{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:var(--gold);text-transform:uppercase}
.wardrobe-slot-icon{font-size:1.2rem}
.wardrobe-slot-pick{margin-bottom:1rem}
.wardrobe-slot-name{font-size:1.1rem;color:var(--cream);margin-bottom:.2rem}
.wardrobe-slot-house{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.1em;color:var(--muted)}
.wardrobe-slot-why{font-size:.8rem;color:var(--muted);line-height:1.6;padding-top:1rem;border-top:1px solid rgba(241,235,225,.1)}
.invest-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#0a0805 0%,#0e0c08 50%,#0a0805 100%);overflow:hidden}
.invest-grid{display:grid;gap:1.5rem}
.invest-card{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.15);overflow:hidden}
.invest-card-header{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1.5rem;border-bottom:1px solid rgba(241,235,225,.1);align-items:center}
.invest-card-info{flex:1}
.invest-card-name{font-size:1.2rem;color:var(--cream);margin-bottom:.2rem}
.invest-card-meta{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.1em;color:var(--muted)}
.invest-card-return{text-align:right}
.invest-card-return-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.invest-card-return-value{font-size:1.5rem;color:var(--absinthe)}
.invest-card-body{padding:1.5rem}
.invest-card-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}
.invest-price{text-align:center;padding:.8rem;background:rgba(241,235,225,.05)}
.invest-price-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:.3rem}
.invest-price-value{font-size:1rem;color:var(--cream)}
.invest-card-reason{font-size:.85rem;color:var(--muted);line-height:1.7}
.invest-card-tags{display:flex;gap:.5rem;margin-top:1rem}
.invest-tag{font-family:'IBM Plex Mono',monospace;font-size:.7rem;padding:.3rem .6rem;background:rgba(241,235,225,.1);border:1px solid rgba(241,235,225,.2);color:var(--gold)}
.clone-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,var(--bg) 0%,#100d05 50%,var(--bg) 100%);overflow:hidden}
.clone-grid{display:grid;gap:2rem}
.clone-chain{background:rgba(12,5,4,.4);border:1px solid rgba(196,154,84,.15);overflow:hidden}
.clone-chain-header{padding:1.5rem;border-bottom:1px solid rgba(196,154,84,.1)}
.clone-chain-title{font-size:1.1rem;color:var(--cream);margin-bottom:.3rem}
.clone-chain-subtitle{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.15em;color:#c39a54;text-transform:uppercase}
.clone-chain-body{padding:1.5rem}
.clone-flow{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem}
.clone-node{padding:1rem;background:rgba(196,154,84,.08);border:1px solid rgba(196,154,84,.2);text-align:center;min-width:120px}
.clone-node.original{border-color:var(--gold);background:rgba(241,235,225,.1)}
.clone-node-name{font-size:.9rem;color:var(--cream);margin-bottom:.2rem}
.clone-node-year{font-family:'IBM Plex Mono',monospace;font-size:.55rem;color:var(--muted)}
.clone-arrow{color:#c39a54;font-size:1.2rem}
.clone-explanation{font-size:.85rem;color:var(--muted);line-height:1.7}
.cost-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#080505 0%,#0c0808 50%,#080505 100%);overflow:hidden}
.cost-breakdown{max-width:800px;margin:0 auto}
.cost-example{background:rgba(12,5,4,.4);border:1px solid rgba(207,143,146,.15);margin-bottom:2rem;overflow:hidden}
.cost-example-header{padding:2rem;border-bottom:1px solid rgba(207,143,146,.1);display:flex;justify-content:space-between;align-items:center}
.cost-example-name{font-size:1.4rem;color:var(--cream)}
.cost-example-price{font-family:'IBM Plex Mono',monospace;font-size:1.2rem;color:var(--cinnabar)}
.cost-example-body{padding:2rem}
.cost-bars{margin-bottom:2rem}
.cost-bar-item{margin-bottom:1.5rem}
.cost-bar-header{display:flex;justify-content:space-between;margin-bottom:.5rem}
.cost-bar-label{font-size:.9rem;color:var(--cream)}
.cost-bar-value{font-family:'IBM Plex Mono',monospace;font-size:.85rem;color:var(--muted)}
.cost-bar-track{height:24px;background:rgba(207,143,146,.1);border-radius:4px;overflow:hidden;position:relative}
.cost-bar-fill{height:100%;border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding-right:.5rem}
.cost-bar-fill.juice{background:linear-gradient(90deg,var(--absinthe),var(--verdigris))}
.cost-bar-fill.bottle{background:linear-gradient(90deg,var(--gold),var(--gamboge))}
.cost-bar-fill.marketing{background:linear-gradient(90deg,var(--cinnabar),var(--rose))}
.cost-bar-fill.margin{background:linear-gradient(90deg,#666,#888)}
.cost-bar-pct{font-family:'IBM Plex Mono',monospace;font-size:.6rem;color:var(--bg);font-weight:bold}
.cost-insight{padding:1.5rem;background:rgba(207,143,146,.05);border-left:3px solid var(--cinnabar)}
.cost-insight-text{font-size:.9rem;color:var(--cream);line-height:1.7}
.cost-comparison{margin-top:2rem}
.cost-comparison-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem;text-align:center}
.cost-comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cost-compare-item{padding:1.5rem;background:rgba(12,5,4,.3);border:1px solid rgba(207,143,146,.1);text-align:center}
.cost-compare-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:.5rem}
.cost-compare-value{font-size:1.2rem;color:var(--cream);margin-bottom:.3rem}
.cost-compare-juice{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--absinthe)}
@media(max-width:600px){.cost-comparison-grid{grid-template-columns:1fr}}
.quiz-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#0a0808 0%,#0d0a0a 50%,#0a0808 100%);overflow:hidden}
.quiz-container{max-width:800px;margin:0 auto;background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.15);padding:3rem}
.quiz-progress{display:flex;gap:.5rem;margin-bottom:2rem}
.quiz-progress-dot{width:12px;height:12px;border-radius:50%;background:rgba(241,235,225,.2);transition:all .3s}
.quiz-progress-dot.active{background:var(--gold)}
.quiz-progress-dot.complete{background:var(--absinthe)}
.quiz-question{font-size:1.4rem;color:var(--cream);margin-bottom:2rem;line-height:1.5}
.quiz-options{display:grid;gap:1rem}
.quiz-option{padding:1.5rem;background:rgba(241,235,225,.03);border:1px solid rgba(241,235,225,.15);cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:1rem}
.quiz-option:hover{background:rgba(241,235,225,.08);border-color:var(--gold)}
.quiz-option.selected{background:rgba(241,235,225,.12);border-color:var(--gold)}
.quiz-option-icon{font-size:1.5rem}
.quiz-option-text{color:var(--cream);font-size:1rem}
.quiz-option-desc{font-size:.8rem;color:var(--muted);margin-top:.3rem}
.quiz-
.quiz-btn{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;padding:.8rem 2rem;border:1px solid var(--gold);background:transparent;color:var(--gold);cursor:pointer;transition:all .3s}
.quiz-btn:hover{background:var(--gold);color:var(--bg)}
.quiz-btn:disabled{opacity:.3;cursor:not-allowed}
.quiz-result{text-align:center;padding:3rem}
.quiz-result-title{font-size:2rem;color:var(--gold);margin-bottom:1rem}
.quiz-result-profile{font-size:1.2rem;color:var(--cream);margin-bottom:2rem}
.quiz-result-desc{color:var(--muted);line-height:1.8;margin-bottom:2rem}
.quiz-result-recs{text-align:left;background:rgba(241,235,225,.05);padding:2rem;margin-top:2rem}
.quiz-result-recs-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);margin-bottom:1rem}
.quiz-rec-item{padding:.8rem 0;border-bottom:1px solid rgba(241,235,225,.1);display:flex;justify-content:space-between}
.quiz-rec-name{color:var(--cream)}
.quiz-rec-house{color:var(--muted);font-size:.85rem}
.decant-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#080606 0%,#0a0808 50%,#080606 100%)}
.decant-calc{max-width:600px;margin:0 auto;background:rgba(12,5,4,.4);border:1px solid rgba(142,162,131,.15);padding:2.5rem}
.decant-input-group{margin-bottom:1.5rem}
.decant-label{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.5rem;display:block}
.decant-input{width:100%;padding:1rem;background:rgba(12,5,4,.5);border:1px solid rgba(142,162,131,.2);color:var(--cream);font-size:1rem;font-family:inherit}
.decant-input:focus{outline:none;border-color:var(--absinthe)}
.decant-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.decant-btn{width:100%;margin-top:1rem;padding:1rem;background:var(--absinthe);border:none;color:var(--bg);font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .3s}
.decant-btn:hover{background:var(--verdigris)}
.decant-results{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(142,162,131,.2);display:none}
.decant-results.show{display:block}
.decant-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.decant-result-item{padding:1.5rem;background:rgba(142,162,131,.05);text-align:center}
.decant-result-value{font-size:1.8rem;color:var(--absinthe);font-family:'IBM Plex Mono',monospace}
.decant-result-label{font-size:.75rem;color:var(--muted);margin-top:.5rem}
.decant-comparison{margin-top:2rem;padding:1.5rem;background:rgba(12,5,4,.3);border-left:3px solid var(--absinthe)}
.decant-comparison-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;color:var(--gold);margin-bottom:1rem}
.decant-comparison-text{color:var(--cream);font-size:.9rem;line-height:1.7}
.application-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#0a0808 0%,#0c0909 50%,#0a0808 100%)}
.app-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}
@media(max-width:768px){.app-grid{grid-template-columns:1fr}}
.app-card{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.12);padding:2rem;position:relative}
.app-card-icon{font-size:2.5rem;margin-bottom:1rem}
.app-card-title{font-size:1.2rem;color:var(--gold);margin-bottom:.5rem}
.app-card-body{color:var(--muted);font-size:.9rem;line-height:1.7}
.app-card-tip{margin-top:1rem;padding:1rem;background:rgba(241,235,225,.05);font-size:.85rem;color:var(--cream)}
.app-pulse-points{margin-top:3rem}
.app-pulse-title{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.2em;color:var(--gold);text-align:center;margin-bottom:2rem}
.app-body-diagram{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap}
.app-pulse-item{text-align:center;padding:1.5rem}
.app-pulse-name{color:var(--cream);font-size:1rem;margin-bottom:.3rem}
.app-pulse-rating{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--absinthe)}
.app-pulse-note{font-size:.75rem;color:var(--muted);margin-top:.3rem}
.app-fatigue{margin-top:3rem;padding:2rem;background:rgba(241,235,225,.03);border:1px solid rgba(241,235,225,.1)}
.app-fatigue-title{font-size:1.1rem;color:var(--cream);margin-bottom:1rem}
.app-fatigue-text{color:var(--muted);line-height:1.8}
.storage-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#080505 0%,#0a0707 50%,#080505 100%)}
.storage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
@media(max-width:900px){.storage-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.storage-grid{grid-template-columns:1fr}}
.storage-card{background:rgba(12,5,4,.4);border:1px solid rgba(207,143,146,.12);padding:2rem}
.storage-card-icon{font-size:2rem;margin-bottom:1rem}
.storage-card-title{font-size:1.1rem;color:var(--cream);margin-bottom:.5rem}
.storage-card-do{color:var(--absinthe);font-size:.9rem;margin-bottom:.5rem}
.storage-card-dont{color:var(--cinnabar);font-size:.9rem;margin-bottom:1rem}
.storage-card-why{color:var(--muted);font-size:.85rem;line-height:1.6}
.storage-signs{margin-top:3rem}
.storage-signs-title{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.2em;color:var(--gold);text-align:center;margin-bottom:2rem}
.storage-signs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
@media(max-width:768px){.storage-signs-grid{grid-template-columns:repeat(2,1fr)}}
.storage-sign{padding:1.5rem;background:rgba(207,143,146,.05);text-align:center}
.storage-sign-icon{font-size:1.5rem;margin-bottom:.5rem}
.storage-sign-text{font-size:.85rem;color:var(--cream)}
.storage-sign-meaning{font-size:.75rem;color:var(--muted);margin-top:.3rem}
.storage-lifespan{margin-top:3rem;padding:2rem;background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.1)}
.storage-lifespan-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;color:var(--gold);margin-bottom:1.5rem}
.storage-lifespan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.storage-lifespan-item{text-align:center}
.storage-lifespan-type{color:var(--cream);font-size:.9rem}
.storage-lifespan-years{font-family:'IBM Plex Mono',monospace;font-size:1.2rem;color:var(--gold);margin:.5rem 0}
.storage-lifespan-note{font-size:.7rem;color:var(--muted)}
.perfumer-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#0a0808 0%,#0c0a0a 50%,#0a0808 100%)}
.perfumer-
.perfumer-btn{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.1em;padding:.6rem 1.2rem;background:transparent;border:1px solid rgba(241,235,225,.2);color:var(--muted);cursor:pointer;transition:all .3s}
.perfumer-btn:hover{border-color:var(--gold);color:var(--gold)}
.perfumer-btn.active{background:var(--gold);color:var(--bg);border-color:var(--gold)}
.perfumer-panel{display:none}
.perfumer-panel.active{display:block}
.perfumer-header{display:flex;gap:2rem;align-items:flex-start;margin-bottom:2rem;padding:2rem;background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.12)}
@media(max-width:600px){.perfumer-header{flex-direction:column}}
.perfumer-avatar{width:120px;height:120px;background:linear-gradient(135deg,var(--gold),var(--byzantine));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--bg);flex-shrink:0}
.perfumer-info{flex:1}
.perfumer-name{font-size:1.8rem;color:var(--cream);margin-bottom:.3rem}
.perfumer-years{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--gold);margin-bottom:1rem}
.perfumer-bio{color:var(--muted);line-height:1.7}
.perfumer-style{margin-top:1rem;padding:1rem;background:rgba(241,235,225,.05)}
.perfumer-style-label{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.2em;color:var(--gold);margin-bottom:.5rem}
.perfumer-style-text{color:var(--cream);font-size:.9rem}
.perfumer-works{margin-top:2rem}
.perfumer-works-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);margin-bottom:1.5rem}
.perfumer-works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:768px){.perfumer-works-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.perfumer-works-grid{grid-template-columns:1fr}}
.perfumer-work{padding:1.5rem;background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.08)}
.perfumer-work-name{color:var(--cream);font-size:1rem;margin-bottom:.3rem}
.perfumer-work-house{font-size:.8rem;color:var(--gold)}
.perfumer-work-year{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--muted);margin-top:.5rem}
.blindbuy-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#080606 0%,#0a0808 50%,#080606 100%)}
.blindbuy-search{max-width:600px;margin:0 auto 3rem}
.blindbuy-input{width:100%;padding:1.2rem;background:rgba(12,5,4,.5);border:1px solid rgba(241,235,225,.2);color:var(--cream);font-size:1.1rem;text-align:center}
.blindbuy-input::placeholder{color:var(--muted)}
.blindbuy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
@media(max-width:768px){.blindbuy-grid{grid-template-columns:1fr}}
.blindbuy-card{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.12);overflow:hidden}
.blindbuy-card-header{padding:1.5rem;border-bottom:1px solid rgba(241,235,225,.1);display:flex;justify-content:space-between;align-items:center}
.blindbuy-card-name{font-size:1.1rem;color:var(--cream)}
.blindbuy-card-house{font-size:.85rem;color:var(--muted)}
.blindbuy-risk-badge{padding:.4rem .8rem;border-radius:2px;font-family:'IBM Plex Mono',monospace;font-size:.65rem;font-weight:bold}
.blindbuy-risk-badge.safe{background:var(--absinthe);color:var(--bg)}
.blindbuy-risk-badge.moderate{background:var(--gamboge);color:var(--bg)}
.blindbuy-risk-badge.risky{background:var(--cinnabar);color:var(--cream)}
.blindbuy-card-body{padding:1.5rem}
.blindbuy-meters{margin-bottom:1.5rem}
.blindbuy-meter{margin-bottom:1rem}
.blindbuy-meter-label{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);margin-bottom:.3rem}
.blindbuy-meter-bar{height:8px;background:rgba(241,235,225,.1);border-radius:4px;overflow:hidden}
.blindbuy-meter-fill{height:100%;border-radius:4px;transition:width .5s}
.blindbuy-meter-fill.polarizing{background:linear-gradient(90deg,var(--absinthe),var(--cinnabar))}
.blindbuy-meter-fill.mass-appeal{background:var(--absinthe)}
.blindbuy-meter-fill.unique{background:var(--byzantine)}
.blindbuy-verdict{padding:1rem;background:rgba(241,235,225,.05);font-size:.85rem;color:var(--cream);line-height:1.6}
.office-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#0a0808 0%,#0c0909 50%,#0a0808 100%)}
.office-legend{display:flex;justify-content:center;gap:2rem;margin-bottom:3rem;flex-wrap:wrap}
.office-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--muted)}
.office-legend-dot{width:12px;height:12px;border-radius:50%}
.office-legend-dot.safe{background:var(--absinthe)}
.office-legend-dot.caution{background:var(--gamboge)}
.office-legend-dot.avoid{background:var(--cinnabar)}
.office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:900px){.office-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.office-grid{grid-template-columns:1fr}}
.office-card{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.1);padding:1.5rem}
.office-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}
.office-card-name{color:var(--cream);font-size:1rem}
.office-card-house{color:var(--muted);font-size:.8rem}
.office-rating{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:.8rem;font-weight:bold}
.office-rating.safe{background:var(--absinthe);color:var(--bg)}
.office-rating.caution{background:var(--gamboge);color:var(--bg)}
.office-rating.avoid{background:var(--cinnabar);color:var(--cream)}
.office-factors{margin-bottom:1rem}
.office-factor{display:flex;justify-content:space-between;font-size:.8rem;padding:.4rem 0;border-bottom:1px solid rgba(241,235,225,.05)}
.office-factor-name{color:var(--muted)}
.office-factor-value{color:var(--cream)}
.office-verdict{font-size:.85rem;color:var(--muted);line-height:1.5}
.weather-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#080606 0%,#0a0808 50%,#080606 100%)}
.weather-selector{max-width:700px;margin:0 auto;background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.15);padding:2.5rem}
.weather-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}
@media(max-width:500px){.weather-row{grid-template-columns:1fr}}
.weather-group label{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.5rem;display:block}
.weather-select{width:100%;padding:1rem;background:rgba(12,5,4,.5);border:1px solid rgba(241,235,225,.2);color:var(--cream);font-size:1rem;cursor:pointer}
.weather-btn{width:100%;padding:1rem;background:var(--gold);border:none;color:var(--bg);font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;margin-top:1rem}
.weather-btn:hover{background:var(--gamboge)}
.weather-results{margin-top:2rem;display:none}
.weather-results.show{display:block}
.weather-results-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);margin-bottom:1.5rem}
.weather-rec{padding:1.5rem;background:rgba(241,235,225,.03);border:1px solid rgba(241,235,225,.1);margin-bottom:1rem}
.weather-rec-name{font-size:1.1rem;color:var(--cream)}
.weather-rec-house{font-size:.85rem;color:var(--gold);margin-bottom:.5rem}
.weather-rec-why{font-size:.85rem;color:var(--muted);line-height:1.6}
.sample-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#0a0808 0%,#0c0a0a 50%,#0a0808 100%)}
.sample-filter{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}
.sample-filter-btn{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.1em;padding:.5rem 1rem;background:transparent;border:1px solid rgba(241,235,225,.2);color:var(--muted);cursor:pointer}
.sample-filter-btn:hover,.sample-filter-btn.active{border-color:var(--gold);color:var(--gold);background:rgba(241,235,225,.1)}
.sample-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
@media(max-width:768px){.sample-grid{grid-template-columns:1fr}}
.sample-card{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.12);overflow:hidden}
.sample-card-header{padding:1.5rem;background:rgba(241,235,225,.03);border-bottom:1px solid rgba(241,235,225,.1)}
.sample-card-brand{font-size:1.2rem;color:var(--cream)}
.sample-card-name{font-size:.9rem;color:var(--gold)}
.sample-card-price{font-family:'IBM Plex Mono',monospace;font-size:1rem;color:var(--absinthe);margin-top:.5rem}
.sample-card-body{padding:1.5rem}
.sample-card-contents{margin-bottom:1rem}
.sample-card-contents-title{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.2em;color:var(--gold);margin-bottom:.5rem}
.sample-card-list{font-size:.85rem;color:var(--muted);line-height:1.8}
.sample-card-rating{display:flex;gap:1.5rem}
.sample-rating-item{text-align:center}
.sample-rating-value{font-size:1.3rem;color:var(--gold)}
.sample-rating-label{font-size:.65rem;color:var(--muted)}
.sample-card-verdict{margin-top:1rem;padding:1rem;background:rgba(241,235,225,.05);font-size:.85rem;color:var(--cream)}
.collection-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#080606 0%,#0a0808 50%,#080606 100%)}
.collection-input{max-width:600px;margin:0 auto 3rem}
.collection-textarea{width:100%;height:150px;padding:1rem;background:rgba(12,5,4,.5);border:1px solid rgba(142,162,131,.2);color:var(--cream);font-size:.9rem;font-family:inherit;resize:vertical}
.collection-textarea::placeholder{color:var(--muted)}
.collection-btn{width:100%;margin-top:1rem;padding:1rem;background:var(--verdigris);border:none;color:var(--bg);font-family:'IBM Plex Mono',monospace;cursor:pointer}
.collection-results{display:none}
.collection-results.show{display:block}
.collection-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}
@media(max-width:768px){.collection-stats{grid-template-columns:repeat(2,1fr)}}
.collection-stat{padding:1.5rem;background:rgba(12,5,4,.4);text-align:center;border:1px solid rgba(142,162,131,.1)}
.collection-stat-value{font-size:2rem;color:var(--verdigris);font-family:'IBM Plex Mono',monospace}
.collection-stat-label{font-size:.75rem;color:var(--muted);margin-top:.5rem}
.collection-gaps{padding:2rem;background:rgba(142,162,131,.03);border:1px solid rgba(142,162,131,.15)}
.collection-gaps-title{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--gold);margin-bottom:1.5rem}
.collection-gap{display:flex;align-items:center;gap:1rem;padding:.8rem 0;border-bottom:1px solid rgba(142,162,131,.1)}
.collection-gap-icon{font-size:1.2rem}
.collection-gap-text{color:var(--cream);font-size:.9rem}
.collection-gap-rec{color:var(--absinthe);font-size:.8rem;margin-left:auto}
.compliment-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#0a0808 0%,#0c0909 50%,#0a0808 100%)}
.compliment-sort{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}
.compliment-sort-btn{font-family:'IBM Plex Mono',monospace;font-size:.6rem;padding:.5rem 1rem;background:transparent;border:1px solid rgba(241,235,225,.2);color:var(--muted);cursor:pointer}
.compliment-sort-btn:hover,.compliment-sort-btn.active{border-color:var(--gold);color:var(--gold)}
.compliment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
@media(max-width:768px){.compliment-grid{grid-template-columns:1fr}}
.compliment-card{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.12);padding:1.5rem;display:flex;gap:1.5rem;align-items:center}
.compliment-rank{font-size:2rem;color:var(--gold);font-family:'IBM Plex Mono',monospace;width:50px;text-align:center}
.compliment-info{flex:1}
.compliment-name{font-size:1.1rem;color:var(--cream)}
.compliment-house{font-size:.8rem;color:var(--muted)}
.compliment-stats{display:flex;gap:1.5rem;margin-top:.8rem}
.compliment-stat{font-size:.75rem}
.compliment-stat-value{color:var(--absinthe)}
.compliment-stat-label{color:var(--muted)}
.compliment-score{text-align:center}
.compliment-score-value{font-size:1.8rem;color:var(--absinthe);font-family:'IBM Plex Mono',monospace}
.compliment-score-label{font-size:.6rem;color:var(--muted)}
.gift-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#080606 0%,#0a0808 50%,#080606 100%)}
.gift-wizard{max-width:700px;margin:0 auto;background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.15);padding:2.5rem}
.gift-step{display:none}
.gift-step.active{display:block}
.gift-step-title{font-size:1.3rem;color:var(--cream);margin-bottom:2rem;text-align:center}
.gift-options{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(max-width:500px){.gift-options{grid-template-columns:1fr}}
.gift-option{padding:1.5rem;background:rgba(241,235,225,.03);border:1px solid rgba(241,235,225,.15);cursor:pointer;transition:all .3s;text-align:center}
.gift-option:hover{background:rgba(241,235,225,.08);border-color:var(--gold)}
.gift-option.selected{background:rgba(241,235,225,.12);border-color:var(--gold)}
.gift-option-icon{font-size:2rem;margin-bottom:.5rem}
.gift-option-text{color:var(--cream);font-size:.95rem}
.gift-
.gift-btn{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;padding:.8rem 1.5rem;border:1px solid var(--gold);background:transparent;color:var(--gold);cursor:pointer}
.gift-btn:hover{background:var(--gold);color:var(--bg)}
.gift-btn.primary{background:var(--gold);color:var(--bg)}
.gift-results{text-align:center}
.gift-results-title{font-size:1.5rem;color:var(--gold);margin-bottom:2rem}
.gift-results-grid{display:grid;gap:1.5rem;text-align:left}
.gift-result{padding:1.5rem;background:rgba(241,235,225,.03);border:1px solid rgba(241,235,225,.1)}
.gift-result-name{font-size:1.1rem;color:var(--cream)}
.gift-result-house{font-size:.85rem;color:var(--gold)}
.gift-result-price{font-family:'IBM Plex Mono',monospace;font-size:.9rem;color:var(--absinthe);margin:.5rem 0}
.gift-result-why{font-size:.85rem;color:var(--muted);line-height:1.6}
.perfumer-container{margin-top:1rem}
.perfumer-filter{margin-bottom:1.5rem}
.perfumer-filter-label{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.8rem}
.perfumer-filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}
.perfumer-filter-btn{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.1em;padding:.5rem 1rem;background:transparent;border:1px solid rgba(241,235,225,.2);color:var(--muted);cursor:pointer;transition:all .3s}
.perfumer-filter-btn:hover{border-color:var(--gold);color:var(--gold)}
.perfumer-filter-btn.active{background:rgba(241,235,225,.15);border-color:var(--gold);color:var(--gold)}
.perfumer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem}
.perfumer-card{background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.1);padding:1.3rem;transition:all .3s}
.perfumer-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.perfumer-card.hidden{display:none}
.perfumer-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}
.perfumer-name{font-size:1.05rem;color:var(--cream)}
.perfumer-years{font-family:'IBM Plex Mono',monospace;font-size:.6rem;color:var(--gdim)}
.perfumer-house{font-size:.8rem;color:var(--gold);margin-bottom:.6rem}
.perfumer-style{font-size:.82rem;color:var(--muted);line-height:1.6;margin-bottom:.8rem}
.perfumer-works{display:flex;flex-wrap:wrap;gap:.4rem}
.perfumer-work{font-size:.7rem;padding:.25rem .5rem;background:rgba(241,235,225,.08);border:1px solid rgba(241,235,225,.15);color:var(--cream)}
@media(max-width:600px){.perfumer-grid{grid-template-columns:1fr}}
.blindbuy-form{max-width:500px}
.blindbuy-row{margin-bottom:1.2rem}
.blindbuy-label{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.15em;color:var(--gold);text-transform:uppercase;margin-bottom:.5rem;display:block}
.blindbuy-select{width:100%;padding:.8rem;background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.2);color:var(--cream);font-size:.9rem;cursor:pointer}
.blindbuy-select option{background:var(--bg);color:var(--cream)}
.blindbuy-btn{width:100%;padding:1rem;background:var(--gold);border:none;color:var(--bg);font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;margin-top:1rem;transition:background .3s}
.blindbuy-btn:hover{background:var(--gamboge)}
.blindbuy-result{margin-top:2rem;padding:1.5rem;background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.15);display:none}
.blindbuy-result.show{display:block}
.blindbuy-risk-display{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem}
.blindbuy-risk-meter{flex:1;height:20px;background:linear-gradient(90deg,var(--absinthe) 0%,var(--gamboge) 50%,var(--cinnabar) 100%);border-radius:10px;position:relative}
.blindbuy-risk-indicator{position:absolute;top:-5px;width:10px;height:30px;background:var(--cream);border-radius:3px;transition:left .5s}
.blindbuy-risk-label{font-family:'IBM Plex Mono',monospace;font-size:1rem;min-width:80px;text-align:right}
.blindbuy-risk-label.low{color:var(--absinthe)}
.blindbuy-risk-label.medium{color:var(--gamboge)}
.blindbuy-risk-label.high{color:var(--cinnabar)}
.blindbuy-factors{margin-top:1rem}
.blindbuy-factor{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(241,235,225,.08);font-size:.85rem}
.blindbuy-factor-name{color:var(--muted)}
.blindbuy-factor-impact{font-family:'IBM Plex Mono',monospace}
.blindbuy-factor-impact.positive{color:var(--absinthe)}
.blindbuy-factor-impact.negative{color:var(--cinnabar)}
.blindbuy-factor-impact.neutral{color:var(--gamboge)}
.blindbuy-recommendation{margin-top:1.5rem;padding:1rem;background:rgba(241,235,225,.05);font-size:.9rem;color:var(--cream);line-height:1.7}
.office-container{margin-top:1rem}
.office-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}
.office-category{background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.1);padding:1.5rem}
.office-category-header{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid rgba(241,235,225,.1)}
.office-category-icon{width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem}
.office-category-icon.safe{background:var(--absinthe);color:var(--bg)}
.office-category-icon.moderate{background:var(--gamboge);color:var(--bg)}
.office-category-icon.risky{background:var(--cinnabar);color:var(--cream)}
.office-category-icon.avoid{background:#444;color:var(--cream)}
.office-category-title{font-size:1rem;color:var(--cream)}
.office-category-desc{font-size:.8rem;color:var(--muted);margin-bottom:1rem;line-height:1.5}
.office-fragrance-list{list-style:none}
.office-fragrance{padding:.5rem 0;border-bottom:1px solid rgba(241,235,225,.05);font-size:.85rem}
.office-fragrance:last-child{border-bottom:none}
.office-fragrance-name{color:var(--cream)}
.office-fragrance-house{color:var(--muted);font-size:.75rem}
.gift-container{margin-top:1rem}
.gift-wizard-panel{background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.15);padding:2rem}
.gift-question{font-size:1.1rem;color:var(--cream);margin-bottom:1.5rem;text-align:center}
.gift-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem}
.gift-option-btn{padding:1rem;background:rgba(241,235,225,.03);border:1px solid rgba(241,235,225,.15);color:var(--cream);font-size:.85rem;cursor:pointer;transition:all .3s;text-align:center}
.gift-option-btn:hover{background:rgba(241,235,225,.1);border-color:var(--gold)}
.gift-option-btn.selected{background:rgba(241,235,225,.15);border-color:var(--gold);color:var(--gold)}
.gift-progress{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem}
.gift-progress-dot{width:10px;height:10px;border-radius:50%;background:rgba(241,235,225,.2);transition:background .3s}
.gift-progress-dot.active{background:var(--gold)}
.gift-progress-dot.completed{background:var(--absinthe)}
.gift-results-panel{display:none;text-align:center}
.gift-results-panel.show{display:block}
.gift-results-title{font-size:1.3rem;color:var(--gold);margin-bottom:1.5rem}
.gift-results-list{text-align:left}
.gift-result-item{padding:1.2rem;background:rgba(241,235,225,.03);border:1px solid rgba(241,235,225,.1);margin-bottom:.8rem}
.gift-result-name{font-size:1rem;color:var(--cream)}
.gift-result-meta{font-size:.8rem;color:var(--gold);margin:.3rem 0}
.gift-result-reason{font-size:.85rem;color:var(--muted);line-height:1.6}
.gift-restart{margin-top:1.5rem}
.game-sec{padding:7rem 0;background:var(--bg4);position:relative;overflow:hidden}
.game-sec::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--verdigris),var(--gold),var(--cinnabar),transparent)}
.game-container{background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.12);padding:2.5rem;margin-top:2rem;backdrop-filter:blur(8px)}
.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(241,235,225,.1)}
.game-title{font-size:1.3rem;color:var(--cream);font-weight:400}
.game-score{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;color:var(--gold)}
.game-btn{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:.6rem 1.5rem;border:1px solid var(--gold);background:transparent;color:var(--gold);cursor:pointer;transition:all .3s}
.game-btn:hover{background:var(--gold);color:var(--bg)}
.game-btn:disabled{opacity:.4;cursor:not-allowed}
.game-btn.secondary{border-color:var(--muted);color:var(--muted)}
.game-btn.secondary:hover{border-color:var(--cream);color:var(--cream);background:transparent}
.game-feedback{margin-top:1.5rem;padding:1.2rem;background:rgba(241,235,225,.06);border-left:3px solid var(--gold);font-size:.95rem;color:var(--cream);display:none}
.game-feedback.show{display:block}
.game-feedback.correct{border-left-color:var(--absinthe);background:rgba(142,162,131,.08)}
.game-feedback.wrong{border-left-color:var(--cinnabar);background:rgba(207,143,146,.08)}
#accord-builder .mixer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}
#accord-builder .mixer-slot{background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.1);padding:1.5rem;text-align:center}
#accord-builder .mixer-label{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.25em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem}
#accord-builder .mixer-note{font-size:1.1rem;color:var(--cream);margin-bottom:1rem;min-height:1.5rem}
#accord-builder input[type="range"]{width:100%;height:4px;-webkit-appearance:none;background:rgba(241,235,225,.2);border-radius:2px;outline:none;margin-bottom:.5rem}
#accord-builder input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--gold);border-radius:50%;cursor:pointer;transition:transform .2s}
#accord-builder input[type="range"]::-webkit-slider-thumb:hover{transform:scale(1.2)}
#accord-builder .mixer-value{font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--muted)}
#accord-builder .result-display{background:rgba(241,235,225,.03);border:1px solid rgba(241,235,225,.15);padding:2rem;text-align:center;margin-bottom:1.5rem}
#accord-builder .result-name{font-size:1.8rem;color:var(--gold);font-style:italic;margin-bottom:.5rem}
#accord-builder .result-desc{font-size:.95rem;color:var(--muted);max-width:50ch;margin:0 auto}
#accord-builder .note-palette{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(241,235,225,.1)}
#accord-builder .note-chip{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.1em;padding:.5rem 1rem;border:1px solid rgba(241,235,225,.2);color:var(--muted);cursor:pointer;transition:all .3s;text-transform:uppercase}
#accord-builder .note-chip:hover{border-color:var(--gold);color:var(--gold)}
#accord-builder .note-chip.selected{background:var(--gold);color:var(--bg);border-color:var(--gold)}
#accord-builder .note-chip.used{opacity:.3;pointer-events:none}
#memory-match .match-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}
#memory-match .match-card{aspect-ratio:1;background:rgba(241,235,225,.08);border:1px solid rgba(241,235,225,.15);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .4s;perspective:1000px;position:relative}
#memory-match .match-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s}
#memory-match .match-card.flipped .match-card-inner{transform:rotateY(180deg)}
#memory-match .match-card-front,#memory-match .match-card-back{position:absolute;inset:0;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;padding:.8rem}
#memory-match .match-card-front{background:linear-gradient(135deg,rgba(241,235,225,.1),rgba(241,235,225,.03))}
#memory-match .match-card-front::after{content:'?';font-size:2rem;color:var(--gold);opacity:.4}
#memory-match .match-card-back{background:var(--bg2);transform:rotateY(180deg);flex-direction:column;text-align:center}
#memory-match .match-card-back .card-icon{font-size:1.8rem;margin-bottom:.5rem}
#memory-match .match-card-back .card-text{font-size:.75rem;color:var(--cream);line-height:1.4}
#memory-match .match-card.matched{border-color:var(--absinthe);background:rgba(142,162,131,.1)}
#memory-match .match-card.matched .match-card-front::after{content:'';color:var(--absinthe)}
#memory-match .match-stats{display:flex;gap:2rem;justify-content:center;margin-top:1rem}
#memory-match .stat{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.15em;color:var(--muted)}
#memory-match .stat span{color:var(--gold)}
#quiz-challenge .quiz-question{font-size:1.3rem;color:var(--cream);text-align:center;margin-bottom:2rem;line-height:1.6}
#quiz-challenge .quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}
#quiz-challenge .quiz-option{padding:1.2rem 1.5rem;background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.15);cursor:pointer;transition:all .3s;text-align:left}
#quiz-challenge .quiz-option:hover{border-color:var(--gold);background:rgba(241,235,225,.05)}
#quiz-challenge .quiz-option.selected{border-color:var(--gold);background:rgba(241,235,225,.1)}
#quiz-challenge .quiz-option.correct{border-color:var(--absinthe);background:rgba(142,162,131,.15)}
#quiz-challenge .quiz-option.wrong{border-color:var(--cinnabar);background:rgba(207,143,146,.1)}
#quiz-challenge .quiz-option-letter{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--gold);margin-bottom:.4rem;letter-spacing:.1em}
#quiz-challenge .quiz-option-text{font-size:.95rem;color:var(--cream)}
#quiz-challenge .quiz-progress{display:flex;gap:.4rem;justify-content:center;margin-bottom:2rem}
#quiz-challenge .quiz-dot{width:10px;height:10px;border:1px solid rgba(241,235,225,.3);background:transparent;transition:all .3s}
#quiz-challenge .quiz-dot.active{border-color:var(--gold)}
#quiz-challenge .quiz-dot.correct{background:var(--absinthe);border-color:var(--absinthe)}
#quiz-challenge .quiz-dot.wrong{background:var(--cinnabar);border-color:var(--cinnabar)}
#quiz-challenge .quiz-final{text-align:center;padding:3rem;display:none}
#quiz-challenge .quiz-final.show{display:block}
#quiz-challenge .quiz-final-score{font-size:4rem;color:var(--gold);font-weight:300;margin-bottom:.5rem}
#quiz-challenge .quiz-final-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.3em;color:var(--muted);text-transform:uppercase;margin-bottom:1rem}
#quiz-challenge .quiz-final-msg{font-size:1.1rem;color:var(--cream);font-style:italic;margin-bottom:2rem}
#pyramid-builder .pyramid-workspace{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
#pyramid-builder .pyramid-visual{position:relative}
#pyramid-builder .pyramid-layer{border:2px dashed rgba(241,235,225,.2);padding:1.5rem;margin-bottom:1rem;min-height:80px;transition:all .3s;position:relative}
#pyramid-builder .pyramid-layer.drag-over{border-color:var(--gold);background:rgba(241,235,225,.05)}
#pyramid-builder .pyramid-layer.correct{border-color:var(--absinthe);border-style:solid}
#pyramid-builder .pyramid-layer.wrong{border-color:var(--cinnabar);border-style:solid}
#pyramid-builder .layer-label{position:absolute;top:-12px;left:1rem;background:var(--bg4);padding:0 .5rem;font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}
#pyramid-builder .layer-notes{display:flex;flex-wrap:wrap;gap:.5rem;min-height:40px}
#pyramid-builder .pyramid-note{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.08em;padding:.4rem .8rem;background:rgba(241,235,225,.1);border:1px solid var(--gold);color:var(--cream);cursor:grab;transition:all .2s;text-transform:uppercase}
#pyramid-builder .pyramid-note:active{cursor:grabbing;transform:scale(1.05)}
#pyramid-builder .pyramid-note.placed{background:var(--gold);color:var(--bg)}
#pyramid-builder .note-bank{background:rgba(12,5,4,.3);border:1px solid rgba(241,235,225,.1);padding:1.5rem}
#pyramid-builder .bank-label{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.25em;color:var(--muted);text-transform:uppercase;margin-bottom:1rem}
#pyramid-builder .bank-notes{display:flex;flex-wrap:wrap;gap:.5rem}
#pyramid-builder .pyramid-hint{font-size:.85rem;color:var(--muted);font-style:italic;margin-top:1rem;text-align:center}
#blind-brief .brief-card{background:linear-gradient(135deg,rgba(241,235,225,.08),rgba(12,5,4,.4));border:1px solid rgba(241,235,225,.2);padding:2.5rem;margin-bottom:2rem;position:relative}
#blind-brief .brief-label{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem}
#blind-brief .brief-text{font-size:1.2rem;color:var(--cream);font-style:italic;line-height:1.7;margin-bottom:1.5rem}
#blind-brief .brief-meta{display:flex;gap:2rem}
#blind-brief .brief-meta-item{font-family:'IBM Plex Mono',monospace;font-size:.6rem;color:var(--muted);letter-spacing:.1em}
#blind-brief .brief-meta-item span{color:var(--cream)}
#blind-brief .selection-area{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}
#blind-brief .selection-slot{background:rgba(12,5,4,.3);border:2px dashed rgba(241,235,225,.15);padding:1rem;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .3s}
#blind-brief .selection-slot.filled{border-style:solid;border-color:var(--gold)}
#blind-brief .slot-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-bottom:.5rem}
#blind-brief .slot-note{font-size:1rem;color:var(--cream)}
#blind-brief .ingredient-pool{display:flex;flex-wrap:wrap;gap:.6rem;padding:1.5rem;background:rgba(12,5,4,.2);border:1px solid rgba(241,235,225,.08)}
#blind-brief .pool-note{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.1em;padding:.5rem 1rem;border:1px solid rgba(241,235,225,.2);color:var(--muted);cursor:pointer;transition:all .3s;text-transform:uppercase}
#blind-brief .pool-note:hover{border-color:var(--gold);color:var(--gold)}
#blind-brief .pool-note.selected{background:var(--gold);color:var(--bg);border-color:var(--gold)}
#blind-brief .pool-note.used{opacity:.3;pointer-events:none}
#blind-brief .judge-result{margin-top:2rem;padding:2rem;background:rgba(241,235,225,.05);border:1px solid rgba(241,235,225,.15);text-align:center;display:none}
#blind-brief .judge-result.show{display:block}
#blind-brief .judge-score{font-size:3rem;color:var(--gold);font-weight:300;margin-bottom:.3rem}
#blind-brief .judge-verdict{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-bottom:1rem}
#blind-brief .judge-notes{font-size:.9rem;color:var(--cream);line-height:1.7;max-width:50ch;margin:0 auto}
.game-tabs{display:flex;gap:0;margin-bottom:0;border-bottom:1px solid rgba(241,235,225,.15)}
.game-tab{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;padding:1rem 1.5rem;background:transparent;border:none;color:var(--muted);cursor:pointer;transition:all .3s;position:relative}
.game-tab:hover{color:var(--cream)}
.game-tab.active{color:var(--gold)}
.game-tab.active::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--gold)}
.game-panel{display:none}
.game-panel.active{display:block}
@media(max-width:900px){
#memory-match .match-grid{grid-template-columns:repeat(3,1fr)}
#pyramid-builder .pyramid-workspace{grid-template-columns:1fr}
#quiz-challenge .quiz-options{grid-template-columns:1fr}
#blind-brief .selection-area{grid-template-columns:1fr}
#accord-builder .mixer-grid{grid-template-columns:1fr}
}
html{font-size:18px}
body{
font-family:'Archivo','Times New Roman',serif;
font-weight:400;font-size:1rem;line-height:1.85;
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility;
color:var(--muted)}
.ht{
font-family:'Archivo',serif!important;
font-size:clamp(2.8rem,7vw,6.5rem)!important;
font-weight:300!important;font-style:italic!important;
letter-spacing:.04em!important;line-height:.92!important;
color:var(--cream)!important}
.ht em{color:var(--gold)!important;font-style:normal!important}
.st{
font-family:'Archivo',serif!important;
font-size:clamp(2rem,4.5vw,3.8rem)!important;
font-weight:300!important;font-style:italic!important;
letter-spacing:.03em!important;color:var(--cream)!important;
line-height:1.05!important}
.st em{color:var(--gold)!important;font-style:normal!important}
.sl{
font-family:'IBM Plex Mono',monospace!important;
font-size:.58rem!important;font-weight:400!important;
letter-spacing:.42em!important;color:var(--gdim)!important;
text-transform:uppercase!important}
.sp{
font-size:clamp(1rem,1.8vw,1.15rem)!important;
line-height:1.95!important;color:var(--muted)!important;
font-weight:400!important}
.hey{
font-family:'IBM Plex Mono',monospace!important;
font-size:clamp(.7rem,.9vw,.6rem)!important;
letter-spacing:.48em!important;color:rgba(241,235,225,.5)!important;
font-weight:400!important}
.hs{
font-size:clamp(1rem,1.6vw,1.2rem)!important;
color:var(--muted)!important;font-style:italic!important;
letter-spacing:.02em!important;font-weight:400!important}
.hml{
font-family:'IBM Plex Mono',monospace!important;
font-size:clamp(.7rem,.7vw,.56rem)!important;
letter-spacing:.24em!important;color:rgba(241,235,225,.4)!important}
.stn{color:var(--gold)!important;font-weight:300!important;font-style:italic}
.stn-label{
font-family:'IBM Plex Mono',monospace!important;
font-size:.7rem!important;letter-spacing:.26em!important;
color:var(--muted)!important;text-transform:uppercase!important}
.tl-item::before{border-color:rgba(241,235,225,.3)!important}
.tl-item:hover::before{background:var(--gold)!important;border-color:var(--gold)!important}
.tl-title{
font-family:'Archivo',serif!important;
font-size:1.1rem!important;font-weight:600!important;
color:var(--cream)!important}
.fam-card:hover{
border-top:1px solid rgba(241,235,225,.35)!important;
box-shadow:0 12px 50px rgba(12,5,4,.5)!important}
.fam-name{
font-family:'Archivo',serif!important;
font-size:1.3rem!important;font-weight:600!important;
color:var(--cream)!important}
.gloss-term{
font-family:'Archivo',serif!important;
font-size:1.1rem!important;font-weight:600!important;
color:var(--cream)!important}
.nb:hover{text-shadow:0 0 25px rgba(241,235,225,.3)}
.nav a{font-size:.7rem!important;letter-spacing:.32em!important}
.btn{
font-family:'IBM Plex Mono',monospace!important;
font-size:.56rem!important;letter-spacing:.28em!important}
.mol-name{
font-family:'Archivo',serif!important;
font-size:1.1rem!important;font-weight:600!important;
color:var(--cream)!important}
.sec-divider{height:1px;background:rgba(241,235,225,.14)}
.ft-brand{
font-family:'Archivo',serif!important;
font-size:1.6rem!important;font-weight:600!important;
font-style:italic!important;color:var(--gold)!important}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--gold);margin:5px 0;transition:all .3s}
.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
@media(max-width:768px){
html{font-size:16px}
.ht{font-size:clamp(2.4rem,10vw,4rem)!important}
.st{font-size:clamp(1.8rem,8vw,2.8rem)!important}
.sp{font-size:1rem!important;line-height:1.9!important}
.sl{font-size:.7rem!important;letter-spacing:.28em!important}
#mc{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
#hero{height:auto!important;min-height:100vh!important;overflow:visible!important}
.hb{flex-direction:column!important;gap:.8rem!important;align-items:center!important}
.btn{width:100%!important;max-width:280px!important;text-align:center!important;padding:.9rem 1.5rem!important}
.hey,.hml{display:none!important}
.hs{font-size:.95rem!important;padding:0 .5rem!important}
.hero-icon{font-size:2.5rem!important}
.sc{position:relative!important;margin-top:2rem!important}
.si{padding:3rem 1.4rem!important}
nav .nl.open{display:flex}
nav .nl li{margin:0;padding:.6rem 0;border-bottom:1px solid rgba(241,235,225,.1)}
nav .nl li a{display:block!important;font-size:.9rem!important;letter-spacing:.15em!important;padding:.5rem 0}
.stats{flex-direction:column!important;gap:1.5rem!important;grid-template-columns:1fr!important}
.stn{font-size:2.2rem!important}
.collection-grid{grid-template-columns:1fr!important}
}
#olfactory-lab {
background: linear-gradient(180deg, #050505 0%, #080404 40%, #040808 100%);
position: relative;
overflow: hidden}
#olfactory-lab::before {
content:'';
position:absolute;
inset:0;
background:
radial-gradient(ellipse 50% 40% at 20% 30%, rgba(255,77,0,.04) 0%, transparent 70%),
radial-gradient(ellipse 40% 50% at 80% 70%, rgba(0,168,107,.04) 0%, transparent 70%),
radial-gradient(ellipse 30% 30% at 50% 50%, rgb(214,185,115,.03) 0%, transparent 70%);
pointer-events:none}
.lab-tool-tabs {
display:flex;
gap:0;
border-bottom:1px solid rgba(241,235,225,.15);
margin-top:3rem;
overflow-x:auto}
.lab-tool-tab {
font-family:'IBM Plex Mono',monospace;
font-size:.56rem;
letter-spacing:.15em;
text-transform:uppercase;
padding:1rem 1.6rem;
background:transparent;
border:none;
border-bottom:2px solid transparent;
color:var(--muted);
cursor:pointer;
transition:all .3s;
white-space:nowrap;
position:relative}
.lab-tool-tab:hover { color:var(--cream)}
.lab-tool-tab.active { color:var(--gold); border-bottom-color:var(--gold)}
.lab-tool-tab .tab-indicator {
position:absolute;
top:.4rem;right:.4rem;
width:5px;height:5px;
border-radius:50%;
background:var(--ember);
animation:labPulse 2.4s ease-in-out infinite}
@keyframes labPulse {0%,100%{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}
.lab-tool-panel { display:none; padding:2.5rem 0}
.lab-tool-panel.active { display:block}
.sillage-wrap {
display:grid;
grid-template-columns:1fr 340px;
gap:2.5rem;
align-items:start}
#sillage-canvas {
width:100%;
height:420px;
background:#020202;
border:1px solid rgba(241,235,225,.12);
display:block}
.sillage-controls {
background:rgba(12,5,4,.5);
border:1px solid rgba(241,235,225,.1);
padding:1.8rem}
.sillage-ctrl-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.22em;
color:var(--gdim);
text-transform:uppercase;
margin-bottom:.4rem;
display:flex;
justify-content:space-between}
.sillage-ctrl-label span { color:var(--gold)}
.sillage-range {
width:100%;
height:3px;
-webkit-appearance:none;
background:rgba(241,235,225,.18);
border-radius:2px;
outline:none;
margin-bottom:1.3rem}
.sillage-range::-webkit-slider-thumb {
-webkit-appearance:none;
width:14px;height:14px;
background:var(--gold);
border-radius:50%;
cursor:pointer}
.sillage-note-legend {
display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;
border-top:1px solid rgba(241,235,225,.08)}
.sillage-legend-item {
display:flex;align-items:center;gap:.35rem;
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
letter-spacing:.1em;color:var(--muted)}
.sillage-legend-dot { width:8px;height:8px;border-radius:50%}
.sillage-spray-btn {
width:100%;
font-family:'IBM Plex Mono',monospace;
font-size:.62rem;
letter-spacing:.24em;
text-transform:uppercase;
padding:.8rem;
border:1px solid var(--ember);
background:transparent;
color:var(--ember);
cursor:pointer;
transition:all .3s;
margin-bottom:1.2rem}
.sillage-spray-btn:hover { background:var(--ember); color:#000}
.sillage-stat {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
color:var(--muted);
letter-spacing:.1em;
margin-bottom:.3rem}
.sillage-stat span { color:var(--cream)}
.radar-wrap {
display:grid;
grid-template-columns:1fr 1fr;
gap:3rem;
align-items:center}
#radar-svg { width:100%; max-width:420px; display:block; margin:0 auto}
.radar-sliders { display:flex; flex-direction:column; gap:1.1rem}
.radar-axis-row { display:flex; flex-direction:column; gap:.3rem}
.radar-axis-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.18em;
text-transform:uppercase;
color:var(--muted);
display:flex;
justify-content:space-between}
.radar-axis-label strong { color:var(--cream); font-weight:400}
.radar-axis-label .val { color:var(--gold); min-width:2ch; text-align:right}
.radar-range {
width:100%;height:3px;
-webkit-appearance:none;
border-radius:2px;
outline:none;
cursor:pointer}
.radar-range::-webkit-slider-thumb {
-webkit-appearance:none;
width:12px;height:12px;
border-radius:50%;
cursor:pointer}
.radar-profile-result {
margin-top:2rem;
padding:1.5rem;
background:rgba(241,235,225,.04);
border:1px solid rgba(241,235,225,.12)}
.radar-profile-name {
font-size:1.5rem;
color:var(--cream);
font-style:italic;
margin-bottom:.4rem}
.radar-profile-family {
font-family:'IBM Plex Mono',monospace;
font-size:.55rem;
letter-spacing:.22em;
text-transform:uppercase;
margin-bottom:.7rem}
.radar-profile-examples {
font-size:.85rem;
color:var(--muted);
line-height:1.7}
.drydown-wrap { position:relative}
.drydown-clock-row {
display:flex;
align-items:center;
gap:1.5rem;
margin-bottom:2.5rem}
#drydown-clock-svg { width:100px; height:100px; flex-shrink:0}
.drydown-clock-info { flex:1}
.drydown-time-label {
font-family:'IBM Plex Mono',monospace;
font-size:1.4rem;
color:var(--cream);
letter-spacing:.08em;
margin-bottom:.2rem}
.drydown-phase-label {
font-family:'IBM Plex Mono',monospace;
font-size:.6rem;
letter-spacing:.28em;
text-transform:uppercase;
margin-bottom:.4rem}
.drydown-phase-desc {
font-size:.88rem;
color:var(--muted);
font-style:italic;
line-height:1.7}
.drydown-molecule-bar-wrap {
margin-bottom:.2rem}
.drydown-mol-row {
display:grid;
grid-template-columns:130px 1fr 80px;
gap:1rem;
align-items:center;
padding:.5rem 0;
border-bottom:1px solid rgba(255,255,255,.04)}
.drydown-mol-name {
font-family:'IBM Plex Mono',monospace;
font-size:.55rem;
letter-spacing:.1em;
color:var(--muted)}
.drydown-mol-bar-outer {
height:6px;
background:rgba(255,255,255,.05);
border-radius:3px;
overflow:hidden}
.drydown-mol-bar-inner {
height:100%;
border-radius:3px;
transition:width 1.2s cubic-bezier(.4,0,.2,1)}
.drydown-mol-pct {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
color:var(--muted);
text-align:right}
.drydown-controls {
display:flex;
gap:1rem;
margin-bottom:2rem;
align-items:center;
flex-wrap:wrap}
.drydown-btn {
font-family:'IBM Plex Mono',monospace;
font-size:.58rem;
letter-spacing:.18em;
text-transform:uppercase;
padding:.6rem 1.3rem;
border:1px solid rgba(241,235,225,.3);
background:transparent;
color:var(--muted);
cursor:pointer;
transition:all .3s}
.drydown-btn.active, .drydown-btn:hover { border-color:var(--gold); color:var(--gold)}
.drydown-timeline-bar {
width:100%;
height:6px;
background:rgba(241,235,225,.08);
border-radius:3px;
position:relative;
margin-bottom:1rem;
cursor:pointer}
.drydown-timeline-fill {
height:100%;
border-radius:3px;
background:linear-gradient(90deg,var(--ember),var(--gamboge),var(--jade));
transition:width .3s}
.drydown-timeline-thumb {
position:absolute;
top:-5px;
width:16px;height:16px;
background:var(--gold);
border-radius:50%;
transform:translateX(-50%);
transition:left .3s;
cursor:grab}
.synth-wrap {
display:grid;
grid-template-columns:1fr 380px;
gap:2.5rem;
align-items:start}
#synth-canvas {
width:100%;
height:400px;
background:#010101;
border:1px solid rgba(241,235,225,.1);
display:block;
border-radius:2px}
.synth-controls { background:rgba(12,5,4,.5); border:1px solid rgba(241,235,225,.1); padding:1.8rem}
.synth-note-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:.4rem;
margin-bottom:1.5rem}
.synth-note-btn {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.1em;
text-transform:uppercase;
padding:.45rem .7rem;
border:1px solid rgba(241,235,225,.15);
background:transparent;
color:var(--muted);
cursor:pointer;
transition:all .25s;
text-align:left;
position:relative;
overflow:hidden}
.synth-note-btn::before {
content:'';
position:absolute;
top:0;left:0;
width:3px;height:100%}
.synth-note-btn.active {
color:var(--cream);
border-color:currentColor}
.synth-palette-preview {
height:60px;
border-radius:2px;
margin-bottom:1rem;
border:1px solid rgba(241,235,225,.1);
transition:all .4s;
position:relative;
overflow:hidden}
.synth-palette-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.2em;
color:var(--muted);
text-transform:uppercase;
margin-bottom:.5rem}
.synth-clear-btn {
width:100%;
font-family:'IBM Plex Mono',monospace;
font-size:.58rem;
letter-spacing:.18em;
text-transform:uppercase;
padding:.7rem;
border:1px solid rgba(241,235,225,.2);
background:transparent;
color:var(--muted);
cursor:pointer;
transition:all .3s;
margin-top:1rem}
.synth-clear-btn:hover { border-color:var(--cinnabar); color:var(--cinnabar)}
.synth-famous-row {
display:flex;flex-direction:column;gap:.4rem;
padding-top:1rem;
border-top:1px solid rgba(241,235,225,.08)}
.synth-famous-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.2em;
color:var(--gdim);
text-transform:uppercase;
margin-bottom:.3rem}
.synth-famous-btn {
font-size:.82rem;
color:var(--muted);
cursor:pointer;
padding:.3rem .5rem;
border:1px solid transparent;
background:transparent;
text-align:left;
transition:all .2s;
font-style:italic}
.synth-famous-btn:hover { color:var(--gold); border-color:rgba(241,235,225,.2)}
.quiz-container {
max-width:720px;
margin:0 auto;
background:rgba(12,5,4,.4);
border:1px solid rgba(241,235,225,.12);
padding:2.5rem}
.quiz-progress {
display:flex;
align-items:center;
gap:1.2rem;
margin-bottom:2rem}
.quiz-progress-bar {
flex:1;
height:4px;
background:rgba(241,235,225,.12);
border-radius:2px;
overflow:hidden}
.quiz-progress-fill {
height:100%;
background:linear-gradient(90deg,var(--ember),var(--gamboge),var(--jade));
transition:width .4s ease}
.quiz-progress-text {
font-family:'IBM Plex Mono',monospace;
font-size:.6rem;
letter-spacing:.15em;
color:var(--muted);
min-width:45px}
.quiz-question-area { text-align:center}
.quiz-question-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.28em;
color:var(--ember);
text-transform:uppercase;
margin-bottom:.8rem}
.quiz-question-text {
font-size:1.5rem;
font-style:italic;
color:var(--cream);
line-height:1.5;
margin-bottom:2rem}
.quiz-answers {
display:grid;
grid-template-columns:1fr 1fr;
gap:.6rem;
max-width:560px;
margin:0 auto}
.quiz-answer-btn {
font-family:'Archivo',serif;
font-size:.95rem;
color:var(--muted);
padding:1rem 1.2rem;
border:1px solid rgba(241,235,225,.15);
background:transparent;
cursor:pointer;
transition:all .25s;
text-align:left;
position:relative;
overflow:hidden}
.quiz-answer-btn::before {
content:'';
position:absolute;
top:0;left:0;
width:3px;height:100%;
background:var(--gold);
transform:scaleY(0);
transition:transform .25s}
.quiz-answer-btn:hover {
border-color:rgba(241,235,225,.4);
color:var(--cream);
background:rgba(241,235,225,.04)}
.quiz-answer-btn:hover::before { transform:scaleY(1)}
.quiz-answer-btn.selected {
border-color:var(--gold);
color:var(--cream);
background:rgba(241,235,225,.08)}
.quiz-answer-btn.selected::before { transform:scaleY(1); background:var(--ember)}
.quiz-
.quiz-nav-btn {
font-family:'IBM Plex Mono',monospace;
font-size:.58rem;
letter-spacing:.18em;
text-transform:uppercase;
padding:.7rem 1.5rem;
border:1px solid rgba(241,235,225,.2);
background:transparent;
color:var(--muted);
cursor:pointer;
transition:all .3s}
.quiz-nav-btn:hover:not(:disabled) { border-color:var(--gold); color:var(--gold)}
.quiz-nav-btn:disabled { opacity:.3; cursor:not-allowed}
.quiz-nav-primary { border-color:var(--gold); color:var(--gold)}
.quiz-nav-primary:hover:not(:disabled) { background:var(--gold); color:#000}
.quiz-results {
max-width:800px;
margin:0 auto}
.quiz-results-header {
text-align:center;
padding:2.5rem;
background:linear-gradient(180deg,rgba(241,235,225,.08) 0%,transparent 100%);
border:1px solid rgba(241,235,225,.15);
margin-bottom:2rem}
.quiz-results-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.35em;
color:var(--gold);
text-transform:uppercase;
margin-bottom:1rem}
.quiz-results-title {
font-size:2.2rem;
font-weight:300;
font-style:italic;
color:var(--cream);
margin-bottom:.5rem}
.quiz-results-family {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.22em;
color:var(--ember);
text-transform:uppercase}
.quiz-results-grid {
display:grid;
grid-template-columns:repeat(4,1fr);
gap:2px;
background:rgba(241,235,225,.06);
margin-bottom:2rem}
.quiz-result-card {
background:var(--bg2);
padding:1.5rem;
text-align:center}
.quiz-result-card-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.2em;
color:var(--gdim);
text-transform:uppercase;
margin-bottom:.5rem}
.quiz-result-card-value {
font-size:1.1rem;
color:var(--cream);
font-style:italic}
.quiz-results-notes { margin-bottom:2rem}
.quiz-results-notes-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.25em;
color:var(--gold);
text-transform:uppercase;
margin-bottom:1rem}
.quiz-results-notes-grid {
display:flex;
flex-wrap:wrap;
gap:.5rem}
.quiz-note-tag {
font-size:.85rem;
color:var(--muted);
padding:.35rem .8rem;
border:1px solid rgba(241,235,225,.15);
transition:all .2s}
.quiz-note-tag:hover { border-color:rgba(241,235,225,.4); color:var(--cream)}
.quiz-results-recommendations { margin-bottom:2rem}
.quiz-results-rec-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.25em;
color:var(--gold);
text-transform:uppercase;
margin-bottom:1rem}
.quiz-results-rec-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2px;
background:rgba(241,235,225,.06)}
.quiz-rec-card {
background:var(--bg2);
padding:1.3rem;
transition:background .3s}
.quiz-rec-card:hover { background:var(--bg3)}
.quiz-rec-name {
font-size:1rem;
color:var(--cream);
font-style:italic;
margin-bottom:.25rem}
.quiz-rec-house {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.12em;
color:var(--muted);
text-transform:uppercase}
.quiz-results-personality {
background:rgba(241,235,225,.04);
border-left:2px solid var(--gold);
padding:1.5rem 2rem;
margin-bottom:2rem}
.quiz-results-personality-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.22em;
color:var(--gold);
text-transform:uppercase;
margin-bottom:.8rem}
.quiz-results-personality-text {
font-size:.95rem;
color:var(--muted);
line-height:1.85;
font-style:italic}
.quiz-restart-btn {
display:block;
width:100%;
font-family:'IBM Plex Mono',monospace;
font-size:.6rem;
letter-spacing:.22em;
text-transform:uppercase;
padding:1rem;
border:1px solid var(--gold);
background:transparent;
color:var(--gold);
cursor:pointer;
transition:all .3s}
.quiz-restart-btn:hover { background:var(--gold); color:#000}
@media(max-width:700px){
.quiz-answers{grid-template-columns:1fr}
.quiz-results-grid{grid-template-columns:repeat(2,1fr)}
.quiz-results-rec-grid{grid-template-columns:1fr}
}
.decant-container { max-width:900px; margin:0 auto}
.decant-grid {
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:2px;
background:rgba(241,235,225,.06);
margin-bottom:2rem}
.decant-section {
background:var(--bg2);
padding:1.8rem}
.decant-section-title {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.25em;
color:var(--gold);
text-transform:uppercase;
margin-bottom:1.2rem}
.decant-field { margin-bottom:1rem}
.decant-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.15em;
color:var(--muted);
text-transform:uppercase;
margin-bottom:.4rem;
display:block}
.decant-input, .decant-select {
width:100%;
padding:.6rem .8rem;
background:rgba(12,5,4,.4);
border:1px solid rgba(241,235,225,.15);
color:var(--cream);
font-family:'Archivo',serif;
font-size:1rem;
outline:none;
transition:border-color .2s}
.decant-input:focus, .decant-select:focus { border-color:var(--gold)}
.decant-select { cursor:pointer}
.decant-select option { background:var(--bg2)}
.decant-results-section { background:rgba(241,235,225,.04)}
.decant-result-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:.8rem;
margin-bottom:1.2rem}
.decant-result-item {
padding:.6rem;
background:rgba(12,5,4,.3);
border-left:2px solid var(--gold)}
.decant-result-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.12em;
color:var(--gdim);
text-transform:uppercase;
margin-bottom:.2rem}
.decant-result-value {
font-size:1.1rem;
color:var(--cream);
font-style:italic}
.decant-verdict {
padding:1rem;
background:rgba(12,5,4,.3);
border-left:2px solid var(--ember)}
.decant-verdict-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.18em;
color:var(--ember);
text-transform:uppercase;
margin-bottom:.4rem}
.decant-verdict-text {
font-size:.88rem;
color:var(--muted);
font-style:italic;
line-height:1.7}
.decant-chart-section { margin-bottom:2rem}
.decant-breakeven-bar {
height:24px;
background:rgba(241,235,225,.08);
border-radius:3px;
position:relative;
margin:1rem 0}
.decant-breakeven-fill {
height:100%;
background:linear-gradient(90deg,var(--jade),var(--gamboge),var(--ember));
border-radius:3px;
transition:width .4s}
.decant-breakeven-marker {
position:absolute;
top:-8px;
transform:translateX(-50%);
transition:left .4s}
.decant-breakeven-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.1em;
color:var(--cream);
background:var(--bg);
padding:.3rem .6rem;
border:1px solid var(--gold);
white-space:nowrap}
.decant-breakeven-note {
font-size:.85rem;
color:var(--muted);
font-style:italic;
text-align:center}
.decant-presets { margin-top:1.5rem}
.decant-presets-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.22em;
color:var(--gdim);
text-transform:uppercase;
margin-bottom:.8rem}
.decant-preset-grid {
display:flex;
flex-wrap:wrap;
gap:.5rem}
.decant-preset-btn {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.1em;
padding:.5rem 1rem;
border:1px solid rgba(241,235,225,.2);
background:transparent;
color:var(--muted);
cursor:pointer;
transition:all .2s}
.decant-preset-btn:hover {
border-color:var(--gold);
color:var(--gold)}
@media(max-width:800px){
.decant-grid{grid-template-columns:1fr}
}
.app-guide-container { max-width:900px; margin:0 auto}
.app-guide-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:2px;
background:rgba(241,235,225,.06)}
.app-guide-card {
background:var(--bg2);
padding:1.8rem}
.app-guide-card-header {
display:flex;
align-items:center;
gap:.8rem;
margin-bottom:1rem}
.app-guide-icon {
font-size:1.2rem;
color:var(--gold)}
.app-guide-card-title {
font-family:'IBM Plex Mono',monospace;
font-size:.58rem;
letter-spacing:.2em;
color:var(--gold);
text-transform:uppercase}
.app-guide-card-body p {
font-size:.88rem;
color:var(--muted);
line-height:1.75;
margin-bottom:1rem}
.app-guide-list {
list-style:none;
padding:0}
.app-guide-list li {
font-size:.85rem;
color:var(--muted);
line-height:1.7;
padding:.4rem 0;
padding-left:1.2rem;
position:relative}
.app-guide-list li::before {
content:'·';
position:absolute;
left:0;
color:var(--gold)}
.app-guide-list li strong {
color:var(--cream);
font-weight:400}
.app-guide-warning {
margin-top:1rem;
padding:.8rem 1rem;
background:rgba(255,77,0,.08);
border-left:2px solid var(--ember);
font-size:.8rem;
color:var(--ember);
font-style:italic}
.app-guide-dosage { display:flex; flex-direction:column; gap:.5rem}
.app-dosage-item {
display:grid;
grid-template-columns:1fr auto auto;
gap:1rem;
align-items:center;
padding:.6rem;
background:rgba(12,5,4,.3);
border-left:2px solid var(--gold)}
.app-dosage-label {
font-size:.88rem;
color:var(--cream)}
.app-dosage-value {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
color:var(--gold);
letter-spacing:.1em}
.app-dosage-note {
font-size:.72rem;
color:var(--muted);
font-style:italic}
.storage-container { max-width:900px; margin:0 auto}
.storage-grid {
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:2px;
background:rgba(241,235,225,.06)}
.storage-section {
background:var(--bg2);
padding:1.8rem}
.storage-section-title {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.25em;
color:var(--gold);
text-transform:uppercase;
margin-bottom:1.2rem}
.storage-enemy {
display:flex;
gap:1rem;
margin-bottom:1.2rem}
.storage-enemy-icon {
font-size:1.4rem;
min-width:2rem;
text-align:center}
.storage-enemy-name {
font-size:1rem;
color:var(--cream);
margin-bottom:.3rem}
.storage-enemy-desc {
font-size:.82rem;
color:var(--muted);
line-height:1.7}
.storage-life-grid { display:flex; flex-direction:column; gap:.4rem}
.storage-life-item {
padding:.6rem;
background:rgba(12,5,4,.3);
border-left:2px solid var(--gold)}
.storage-life-type {
font-size:.9rem;
color:var(--cream);
margin-bottom:.15rem}
.storage-life-time {
font-family:'IBM Plex Mono',monospace;
font-size:.65rem;
color:var(--gold);
letter-spacing:.1em;
margin-bottom:.15rem}
.storage-life-note {
font-size:.72rem;
color:var(--muted);
font-style:italic}
.storage-tips-list {
list-style:none;
padding:0}
.storage-tips-list li {
font-size:.85rem;
color:var(--muted);
line-height:1.7;
padding:.35rem 0;
padding-left:1rem;
position:relative}
.storage-tips-list li::before {
content:'✓';
position:absolute;
left:0;
color:var(--jade);
font-size:.7rem}
.storage-tips-list li strong {
color:var(--cream);
font-weight:400}
.storage-note {
margin-top:1rem;
padding:.8rem 1rem;
background:rgba(255,77,0,.06);
border-left:2px solid var(--ember);
font-size:.78rem;
color:var(--muted);
font-style:italic}
@media(max-width:800px){
.app-guide-grid{grid-template-columns:1fr}
.storage-grid{grid-template-columns:1fr}
.app-dosage-item{grid-template-columns:1fr;gap:.3rem}
}
.occasion-container { max-width:900px; margin:0 auto}
.occasion-selectors {
display:flex;
flex-direction:column;
gap:1.5rem;
margin-bottom:2rem}
.occasion-selector-group {display:flex;flex-direction:column;gap:.5rem}
.occasion-selector-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.25em;
color:var(--gold);
text-transform:uppercase;
margin-bottom:.7rem}
.occasion-selector-buttons {
display:flex;
flex-wrap:wrap;
gap:.4rem}
.occasion-btn {
font-family:'IBM Plex Mono',monospace;
font-size:.55rem;
letter-spacing:.1em;
padding:.55rem 1rem;
border:1px solid rgba(241,235,225,.2);
background:transparent;
color:var(--muted);
cursor:pointer;
transition:all .25s}
.occasion-btn:hover {
border-color:rgba(241,235,225,.5);
color:var(--cream)}
.occasion-btn.active {
border-color:var(--gold);
color:var(--gold);
background:rgba(241,235,225,.08)}
.occasion-results {
background:rgba(12,5,4,.3);
border:1px solid rgba(241,235,225,.12);
padding:1.8rem}
.occasion-results-header { margin-bottom:1.5rem}
.occasion-results-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.25em;
color:var(--gold);
text-transform:uppercase;
margin-bottom:.4rem}
.occasion-results-context {
font-size:.85rem;
color:var(--muted);
font-style:italic}
.occasion-results-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2px;
background:rgba(241,235,225,.06);
margin-bottom:1.5rem}
.occasion-rec-card {
background:var(--bg2);
padding:1.2rem;
transition:background .3s}
.occasion-rec-card:hover { background:var(--bg3)}
.occasion-rec-family {
font-size:1rem;
color:var(--cream);
font-style:italic;
margin-bottom:.3rem}
.occasion-rec-desc {
font-size:.78rem;
color:var(--muted);
line-height:1.6}
.occasion-notes-section, .occasion-avoid-section { margin-bottom:1rem}
.occasion-notes-label, .occasion-avoid-label {
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.2em;
color:var(--gold);
text-transform:uppercase;
margin-bottom:.6rem}
.occasion-avoid-label { color:var(--ember)}
.occasion-notes-grid, .occasion-avoid-grid {
display:flex;
flex-wrap:wrap;
gap:.4rem}
.occasion-note-tag {
font-size:.78rem;
color:var(--muted);
padding:.3rem .6rem;
border:1px solid rgba(241,235,225,.15);
transition:all .2s}
.occasion-note-tag:hover { border-color:rgba(241,235,225,.4); color:var(--cream)}
.occasion-avoid-tag {
font-size:.78rem;
color:var(--muted);
padding:.3rem .6rem;
border:1px solid rgba(232,80,80,.2);
transition:all .2s}
.occasion-avoid-tag:hover { border-color:var(--ember); color:var(--ember)}
@media(max-width:700px){
.occasion-results-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
.sillage-wrap,.radar-wrap,.synth-wrap{grid-template-columns:1fr}
#sillage-canvas{height:280px}
.lab-tool-tab{padding:.8rem 1rem;font-size:.7rem}
}
#hero .ht,#hero .hs,#hero .hey,#hero .hb,#hero .hml,
#hero .hc,#hero .sc{
opacity:1!important;transform:none!important;transition:none!important}
#hero{z-index:1}
#mc{z-index:2}
.rv,.rv-l,.rv-r{opacity:1!important;transform:none!important}
.hey,.ht,.hs,.hml,.hb,.sc,.scl{opacity:1!important;animation:none!important}
section *{visibility:visible!important}
section{scroll-margin-top:80px}
.game-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:2rem 0 1.5rem;border-bottom:1px solid rgba(241,235,225,.15);padding-bottom:1rem}
.game-tab{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding:.6rem 1.4rem;background:transparent;border:1px solid rgba(241,235,225,.2);color:var(--muted);cursor:pointer;transition:all .25s}
.game-tab:hover{border-color:var(--gold);color:var(--gold)}
.game-tab.active{border-color:var(--gold);color:var(--gold);background:rgba(241,235,225,.08)}
.game-panel{display:none}.game-panel.active{display:block}
.game-title{font-size:1.4rem;font-weight:300;color:var(--cream);margin-bottom:.5rem;font-style:italic}
.game-desc{font-size:.95rem;color:var(--muted);margin-bottom:1.5rem;line-height:1.8}
.game-intro{margin-bottom:1.5rem}
.game-result{margin-top:1.5rem;padding:1.5rem;border:1px solid rgba(241,235,225,.2);background:rgba(241,235,225,.03)}
.result-name{font-size:1.4rem;color:var(--gold);font-style:italic;margin-bottom:.5rem}
.result-desc{font-size:.95rem;color:var(--muted);line-height:1.8;margin-bottom:.8rem}
.result-feedback{font-size:.9rem;font-family:'IBM Plex Mono',monospace;letter-spacing:.1em}
.accord-palette{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;max-width:900px}
.note-chip{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:.4rem .9rem;background:rgba(255,255,255,.04);border:1px solid rgba(241,235,225,.18);color:var(--muted);cursor:pointer;transition:all .2s;border-radius:2px}
.note-chip:hover{border-color:var(--gold);color:var(--cream)}
.note-chip.selected{background:rgba(241,235,225,.15);border-color:var(--gold);color:var(--gold)}
.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;max-width:700px}
.memory-card{height:80px;cursor:pointer;perspective:600px}
.card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .4s}
.memory-card.flipped .card-inner,.memory-card.matched .card-inner{transform:rotateY(180deg)}
.card-front,.card-back{position:absolute;inset:0;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;padding:.5rem;text-align:center;border:1px solid rgba(241,235,225,.2)}
.card-front{background:rgba(241,235,225,.06);color:var(--gold);font-size:1.2rem}
.card-back{background:rgba(30,20,10,.8);color:var(--cream);font-size:.75rem;transform:rotateY(180deg);font-family:'IBM Plex Mono',monospace;letter-spacing:.08em}
.memory-card.matched .card-back{border-color:rgba(100,200,100,.5);background:rgba(100,200,100,.08)}
.quiz-question{font-size:1.1rem;color:var(--cream);margin-bottom:1.5rem;line-height:1.7;font-style:italic}
.quiz-options{display:flex;flex-direction:column;gap:.7rem}
.quiz-option{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.1em;padding:.75rem 1.2rem;background:rgba(255,255,255,.03);border:1px solid rgba(241,235,225,.2);color:var(--muted);cursor:pointer;text-align:left;transition:all .2s}
.quiz-option:hover{border-color:var(--gold);color:var(--cream);background:rgba(241,235,225,.06)}
.quiz-final-score{font-size:2.5rem;color:var(--gold);font-style:italic;margin-bottom:.8rem}
.quiz-message{font-size:1rem;color:var(--muted);font-style:italic}
.pyramid-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.5rem}
.pyramid-tiers{display:flex;flex-direction:column;gap:1rem}
.pyramid-tier{border:1px solid rgba(241,235,225,.2);padding:1rem;min-height:80px}
.pyramid-tier:nth-child(1){border-color:rgba(241,235,225,.4)}
.tier-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.28em;color:var(--gold);text-transform:uppercase;margin-bottom:.8rem}
.tier-drop{display:flex;flex-wrap:wrap;gap:.4rem;min-height:36px}
.pyramid-bank{border:1px dashed rgba(241,235,225,.15);padding:1rem;display:flex;flex-wrap:wrap;gap:.5rem;align-content:flex-start}
.pyr-chip{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.12em;padding:.35rem .8rem;background:rgba(241,235,225,.08);border:1px solid rgba(241,235,225,.25);color:var(--cream);cursor:grab;transition:all .2s;user-select:none}
.pyr-chip:hover{background:rgba(241,235,225,.16);border-color:var(--gold)}
.pyr-chip.placed{background:rgba(241,235,225,.12);cursor:pointer}
.pyramid-feedback{margin-top:1rem;font-size:.95rem;font-style:italic}
.brief-card{border:1px solid rgba(241,235,225,.25);padding:1.8rem;background:rgba(241,235,225,.03);margin-bottom:1.5rem}
.brief-row{display:grid;grid-template-columns:100px 1fr;gap:1rem;padding:.5rem 0;border-bottom:1px solid rgba(241,235,225,.07)}
.brief-row:last-child{border-bottom:none}
.brief-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.24em;color:var(--gdim);text-transform:uppercase;align-self:center}
.brief-card span:not(.brief-label){color:var(--cream);font-size:1rem;font-style:italic}
.brief-workspace{margin-bottom:1.5rem}
.brief-textarea{width:100%;height:140px;background:rgba(12,5,4,.4);border:1px solid rgba(241,235,225,.2);color:var(--cream);padding:1rem;font-family:'Archivo',serif;font-size:1rem;resize:vertical;outline:none;line-height:1.7}
.brief-textarea:focus{border-color:rgba(241,235,225,.5)}
.lab-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:2rem 0 1.5rem;border-bottom:1px solid rgba(241,235,225,.15);padding-bottom:1rem}
.lab-tab{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding:.6rem 1.4rem;background:transparent;border:1px solid rgba(241,235,225,.2);color:var(--muted);cursor:pointer;transition:all .25s}
.lab-tab:hover{border-color:var(--gold);color:var(--gold)}
.lab-tab.active{border-color:var(--gold);color:var(--gold);background:rgba(241,235,225,.08)}
.lab-panel{display:none}.lab-panel.active{display:block}
.lab-title{font-size:1.4rem;font-weight:300;color:var(--cream);margin-bottom:.5rem;font-style:italic}
.lab-subdesc{font-size:.95rem;color:var(--muted);margin-bottom:1.5rem;line-height:1.8}
.lab-intro{margin-bottom:1.5rem}
.sillage-controls{display:flex;gap:2rem;flex-wrap:wrap;margin-bottom:1rem}
.sillage-controls label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.18em;color:var(--muted);display:flex;flex-direction:column;gap:.4rem}
.sillage-controls input[type=range]{accent-color:var(--gold)}
.sillage-stats{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.18em;color:var(--muted);margin:.8rem 0}
.radar-display{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:start;margin-top:1rem}
.radar-controls{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 2rem}
.radar-row label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.14em;color:var(--muted);display:flex;flex-direction:column;gap:.3rem}
.radar-row input[type=range]{accent-color:var(--gold);width:100%}
.radar-result{padding:1.5rem;border:1px solid rgba(241,235,225,.15)}
#radar-name{font-size:1.2rem;color:var(--cream);font-style:italic;margin-bottom:.5rem}
#radar-family{font-family:'IBM Plex Mono',monospace;font-size:.56rem;letter-spacing:.28em;color:var(--gold);margin-bottom:.5rem}
#radar-examples{font-size:.9rem;color:var(--muted)}
.drydown-controls{margin-bottom:1rem}
.drydown-controls select{cursor:pointer}
.drydown-display{display:grid;grid-template-columns:140px 1fr;gap:2rem;align-items:center;margin:1.5rem 0}
.drydown-clock{position:relative;display:flex;align-items:center;justify-content:center}
.drydown-time-display{position:absolute;font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--gold);letter-spacing:.1em}
.drydown-bar-wrap{flex:1}
.drydown-bar{position:relative;height:12px;background:rgba(241,235,225,.1);border-radius:6px;margin-bottom:1rem;overflow:visible}
.drydown-fill{height:100%;background:linear-gradient(90deg,var(--gold),rgba(241,235,225,.3));border-radius:6px;transition:width .1s}
.drydown-thumb{position:absolute;top:50%;width:16px;height:16px;background:var(--gold);border-radius:50%;transform:translate(-50%,-50%);transition:left .1s}
.drydown-phase-label{font-family:'IBM Plex Mono',monospace;font-size:.56rem;letter-spacing:.28em;margin-bottom:.4rem}
.drydown-phase-desc{font-size:.9rem;color:var(--muted);font-style:italic}
.drydown-molecule-bars{display:flex;flex-direction:column;gap:.4rem;margin-top:1.5rem}
.mol-bar-row{display:grid;grid-template-columns:200px 1fr 60px;gap:1rem;align-items:center;padding:.4rem .6rem;cursor:pointer;border:1px solid transparent;transition:all .2s}
.mol-bar-row:hover,.mol-bar-row.active{border-color:rgba(241,235,225,.2);background:rgba(241,235,225,.04)}
.mol-bar-name{font-size:.85rem;color:var(--muted)}
.mol-bar-track{height:4px;background:rgba(241,235,225,.1);border-radius:2px}
.mol-bar-fill{height:100%;border-radius:2px;transition:width .3s}
.mol-bar-bp{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--gdim);text-align:right}
.synth-layout{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start;margin-bottom:1rem}
.synth-row{display:grid;grid-template-columns:70px 1fr;gap:.8rem;align-items:center;margin-bottom:.5rem}
.synth-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
#synth-sliders input[type=range]{accent-color:var(--gold);width:100%}
#hero .ht,#hero .hs,#hero .hey,#hero .hml,#hero .hb,#hero .hc,#hero .sc{
opacity:1!important;transform:none!important;animation:none!important}
@media(max-width:768px){
.hc{
position:absolute!important;
left:1rem!important;right:1rem!important;
top:auto!important;bottom:8vh!important;
transform:none!important;
text-align:center!important;
max-width:100%!important;
padding:1rem!important}
}
.sec,.game-sec{
position:relative;
overflow:hidden}
.sec::before{
content:'';
position:absolute;
top:0;left:0;right:0;
height:1px;
background:linear-gradient(90deg,transparent,rgba(241,235,225,.15),transparent)}
.gb{
width:48px;height:1px;
background:linear-gradient(90deg,transparent,var(--gold),transparent);
margin:0 auto 1.8rem;
opacity:.7}
.sl{
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.42em;
color:var(--gdim);
text-transform:uppercase;
margin-bottom:1rem;
display:block}
.rv{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
.rv.hidden-rv{opacity:0;transform:translateY(20px)}
.rv.in{opacity:1!important;transform:none!important}
.nl a::after{
content:'';
position:absolute;
bottom:-2px;left:0;right:100%;
height:1px;
background:var(--gold);
transition:right .25s}
.nl a:hover::after{right:0}
.btn{
position:relative;
overflow:hidden;
isolation:isolate}
.btn::before{
content:'';
position:absolute;
inset:0;
background:var(--gold);
opacity:0;
transition:opacity .25s;
z-index:-1}
.btn:hover::before{opacity:.08}
.game-tab,.lab-tab{
position:relative;
transition:all .22s}
.game-tab.active::after,.lab-tab.active::after{
content:'';
position:absolute;
bottom:-1px;left:0;right:0;
height:2px;
background:var(--gold)}
.note-chip{
transition:all .18s;
position:relative}
.note-chip.selected{
box-shadow:0 0 12px rgba(241,235,225,.25)}
.memory-card:hover:not(.flipped):not(.matched){
transform:translateY(-2px);
transition:transform .2s}
.quiz-option{
transition:all .18s}
.quiz-option:hover{
transform:translateX(4px)}
.pyramid-tier[ondragover]{
transition:background .2s, border-color .2s}
.pyramid-tier.drag-over{
background:rgba(241,235,225,.06)!important;
border-color:rgba(241,235,225,.4)!important}
#cf-name,#cf-email,#cf-msg{
transition:border-color .25s, box-shadow .25s}
#cf-name:focus,#cf-email:focus,#cf-msg:focus{
box-shadow:0 0 0 1px rgba(241,235,225,.3)}
.origin-img{
transition:transform .4s ease, filter .4s ease;
filter:brightness(.9) saturate(1.1)}
.origin-img:hover{
transform:scale(1.02);
filter:brightness(1) saturate(1.2)}
footer{
border-top:1px solid rgba(241,235,225,.1);
position:relative}
footer::before{
content:'';
position:absolute;
top:0;left:50%;transform:translateX(-50%);
width:120px;height:1px;
background:var(--gold);
opacity:.4}
@media(max-width:600px){
.st{font-size:clamp(1.8rem,8vw,2.8rem)!important}
.ht{font-size:clamp(2.4rem,10vw,4rem)!important}
.sp{font-size:1rem!important;line-height:1.9!important}
.si{padding:3rem 1.2rem!important}
.game-tabs,.lab-tabs{gap:.35rem!important}
.game-tab,.lab-tab{font-size:.7rem!important;padding:.5rem .8rem!important;letter-spacing:.14em!important}
.memory-grid{grid-template-columns:repeat(4,1fr)!important;gap:.4rem!important}
.memory-card{height:65px!important}
.pyramid-layout{grid-template-columns:1fr!important}
.radar-display{grid-template-columns:1fr!important}
.radar-controls{grid-template-columns:1fr!important}
.drydown-display{grid-template-columns:1fr!important}
.synth-layout{grid-template-columns:1fr!important}
.brief-card{padding:1.2rem!important}
.brief-row{grid-template-columns:80px 1fr!important}
}
html{scroll-behavior:smooth}
:focus-visible{
outline:1px solid rgba(241,235,225,.5);
outline-offset:2px}
::selection{
background:rgba(241,235,225,.25);
color:var(--cream)}
html{scrollbar-width:thin;scrollbar-color:rgba(241,235,225,.45) rgba(8,8,8,.6)}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:rgba(5,4,8,.65);border-left:1px solid rgba(241,235,225,.08)}
::-webkit-scrollbar-thumb{
background:linear-gradient(180deg,rgba(241,235,225,.55),rgba(168,134,64,.4) 50%,rgba(241,235,225,.55));
border:2px solid rgba(5,4,8,.8);
border-radius:6px}
::-webkit-scrollbar-thumb:hover{
background:linear-gradient(180deg,var(--gold),var(--gdim) 50%,var(--gold))}
::-webkit-scrollbar-corner{background:rgba(5,4,8,.65)}
.nb{
grid-column:2;justify-self:center;
display:inline-flex;align-items:center;gap:.6em;
font-family:'IBM Plex Mono',monospace;
font-size:.64rem;font-weight:600;
letter-spacing:.4em;
text-transform:uppercase;
text-decoration:none;white-space:nowrap;
background:linear-gradient(90deg,#f0ead6,#c39a54 50%,#f0ead6);
background-size:200% auto;
-webkit-background-clip:text;background-clip:text;color:transparent;
transition:filter .3s,background-position .6s}
.nb::before{content:'\2726';-webkit-text-fill-color:var(--gold);color:var(--gold);font-size:.82em;letter-spacing:0;filter:drop-shadow(0 0 7px rgba(241,235,225,.55))}
.nb:hover{filter:drop-shadow(0 0 14px rgba(241,235,225,.4));background-position:right center}
.nav-toggle span{
display:block;
width:22px;height:2px;
background:var(--cream);
transition:all .3s}
.nav-left-spacer{grid-column:1}
@media(max-width:768px){
.nl.open{
display:flex;
flex-direction:column;
position:fixed;top:52px;left:0;right:0;
background:rgba(8,8,8,.97);
padding:1.5rem 2rem;
gap:1.2rem;
border-bottom:1px solid rgba(241,235,225,.1)}
.nb{font-size:.7rem;letter-spacing:.28em}
}
.nav-left-spacer{grid-column:1}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--cream);transition:all .3s}
@media(max-width:768px){
.nl.open{display:flex;flex-direction:column;position:fixed;top:50px;left:0;right:0;background:rgba(8,8,8,.97);padding:1.5rem 2rem;gap:1.2rem;border-bottom:1px solid rgba(241,235,225,.12);z-index:989}
}
.ai-label{
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;
color:var(--gdim);display:block;margin-bottom:.75rem}
.ai-textarea{
width:100%;min-height:130px;
background:rgba(12,5,4,.55);
border:1px solid rgba(241,235,225,.2);
border-radius:2px;
color:var(--cream);
padding:1rem 1.2rem;
font-family:'Archivo',serif;
font-size:1.05rem;line-height:1.75;
resize:vertical;outline:none;
transition:border-color .3s, box-shadow .3s}
.ai-textarea:focus{
border-color:rgba(241,235,225,.5);
box-shadow:0 0 0 1px rgba(241,235,225,.15), 0 0 30px rgba(241,235,225,.04)}
.ai-select{
background:#0c0c1a;
border:1px solid rgba(241,235,225,.22);
color:var(--cream);
padding:.55rem 1rem;
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;letter-spacing:.12em;
outline:none;cursor:pointer;
transition:border-color .25s}
.ai-select:focus{border-color:var(--gold)}
.ai-options{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.2rem 0 1.8rem}
.ai-option-group{display:flex;flex-direction:column;gap:.4rem}
.ai-opt-label{
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
color:var(--gdim)}
.ai-run-btn{
width:100%;padding:1rem;
font-size:.62rem;letter-spacing:.32em}
.ai-loading{
margin-top:2rem;
padding:2rem;
text-align:center}
.ai-loading-bar{
height:2px;
background:rgba(241,235,225,.12);
border-radius:1px;
overflow:hidden;
margin-bottom:1rem;
position:relative}
.ai-loading-bar::after{
content:'';
position:absolute;
top:0;left:-60%;
width:60%;height:100%;
background:linear-gradient(90deg,transparent,var(--gold),transparent);
animation:loading-sweep 1.4s ease-in-out infinite}
@keyframes loading-sweep{to{left:120%}}
.ai-loading-text{
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;letter-spacing:.22em;
color:var(--gdim);
text-transform:uppercase}
.ai-arch-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.ai-output-panel{
padding:2rem;
border:1px solid rgba(241,235,225,.18);
background:rgba(241,235,225,.02)}
.ai-output-header{margin-bottom:1.5rem}
.ai-output-title{
font-size:1.8rem;font-style:italic;color:var(--cream);
font-family:'Archivo',serif;margin-bottom:.3rem}
.ai-output-family{
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
letter-spacing:.3em;color:var(--gold);text-transform:uppercase}
.ai-pyramid{margin:1.5rem 0}
.ai-pyramid-tier{
padding:.8rem 1.2rem;margin-bottom:.5rem;
border-left:2px solid var(--gold);
background:rgba(241,235,225,.03)}
.ai-pyramid-tier-label{
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
letter-spacing:.28em;color:var(--gdim);text-transform:uppercase;
margin-bottom:.4rem}
.ai-pyramid-materials{font-size:.95rem;color:var(--cream);line-height:1.7}
.ai-narrative{
font-size:1rem;color:var(--muted);line-height:1.9;
font-style:italic;margin:1.5rem 0;
padding:1.2rem;
border-top:1px solid rgba(241,235,225,.08);
border-bottom:1px solid rgba(241,235,225,.08)}
.ai-formula-table{margin:1.2rem 0}
.ai-formula-row{
display:grid;grid-template-columns:1fr auto auto;gap:1rem;
padding:.5rem 0;border-bottom:1px solid rgba(241,235,225,.06);
align-items:center}
.ai-formula-material{font-size:.95rem;color:var(--cream)}
.ai-formula-pct{
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
color:var(--gold);letter-spacing:.1em}
.ai-formula-role{
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
letter-spacing:.18em;color:var(--gdim);text-transform:uppercase}
.ai-chem-notes{
margin-top:1.5rem;font-size:.88rem;color:var(--muted);line-height:1.8}
.dna-layout{max-width:720px;margin:0 auto}
.dna-progress-bar{
height:2px;background:rgba(241,235,225,.1);
margin-bottom:1.5rem;border-radius:1px;overflow:hidden}
.dna-progress-fill{
height:100%;background:var(--gold);
transition:width .5s ease}
.dna-q-counter{
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
letter-spacing:.28em;color:var(--gdim);text-transform:uppercase;
margin-bottom:1rem}
.dna-question{
font-size:1.3rem;font-style:italic;color:var(--cream);
font-family:'Archivo',serif;
margin-bottom:1.8rem;line-height:1.5}
.dna-options{display:flex;flex-direction:column;gap:.6rem}
.dna-option{
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
letter-spacing:.1em;padding:.85rem 1.2rem;
background:rgba(12,5,4,.4);
border:1px solid rgba(241,235,225,.15);
color:var(--muted);cursor:pointer;text-align:left;
transition:all .2s}
.dna-option:hover{
border-color:rgba(241,235,225,.4);color:var(--cream);
background:rgba(241,235,225,.05);
transform:translateX(4px)}
.dna-result-header{
text-align:center;padding:2.5rem 0;
border-bottom:1px solid rgba(241,235,225,.1);
margin-bottom:2rem}
.dna-type-label{
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
letter-spacing:.38em;color:var(--gdim);text-transform:uppercase;
margin-bottom:.8rem}
.dna-type-name{
font-size:2.8rem;font-style:italic;color:var(--gold);
font-family:'Archivo',serif}
.dna-result-body{font-size:1rem;color:var(--muted);line-height:1.9}
.dna-section-title{
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
letter-spacing:.28em;color:var(--gold);text-transform:uppercase;
margin:1.5rem 0 .6rem}
.memory-engine-layout{
display:grid;grid-template-columns:1fr 1fr;
gap:3rem;align-items:start}
.mem-output-side{
padding:1.8rem;
border:1px solid rgba(241,235,225,.15);
background:rgba(241,235,225,.02);
font-size:1rem;color:var(--muted);line-height:1.9}
.mem-material-tag{
display:inline-block;
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
letter-spacing:.16em;padding:.3rem .7rem;
border:1px solid rgba(241,235,225,.3);
color:var(--gold);margin:.2rem;
text-transform:uppercase}
.ref-archive-grid{
display:grid;grid-template-columns:repeat(3,1fr);
gap:1.2rem;margin-bottom:2rem}
.ref-card{
padding:1.5rem;border:1px solid rgba(241,235,225,.15);
background:rgba(12,5,4,.4);cursor:pointer;
transition:all .25s}
.ref-card:hover{
border-color:rgba(241,235,225,.4);
background:rgba(241,235,225,.04);
transform:translateY(-2px)}
.ref-fragrance{
font-size:1.05rem;font-style:italic;color:var(--cream);
font-family:'Archivo',serif;margin-bottom:.3rem}
.ref-year-range{
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
letter-spacing:.18em;color:var(--gdim);margin-bottom:.6rem}
.ref-damage{
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
letter-spacing:.22em;text-transform:uppercase;
padding:.2rem .6rem;display:inline-block;margin-bottom:.5rem}
.ref-card:nth-child(1) .ref-damage,.ref-card:nth-child(2) .ref-damage{color:var(--cinnabar);border:1px solid rgba(207,143,146,.3)}
.ref-card:nth-child(3) .ref-damage,.ref-card:nth-child(4) .ref-damage{color:var(--gamboge);border:1px solid rgba(228,155,15,.3)}
.ref-card:nth-child(6) .ref-damage{color:var(--vermeil);border:1px solid rgba(204,34,0,.3)}
.ref-key-change{font-size:.9rem;color:var(--muted)}
.ref-detail-panel{
padding:2.5rem;border:1px solid rgba(241,235,225,.2);
background:rgba(5,5,14,.8);position:relative}
.ref-close{
position:absolute;top:1.2rem;right:1.2rem;
background:none;border:none;color:var(--gdim);
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
cursor:pointer;transition:color .2s;letter-spacing:.1em}
.ref-close:hover{color:var(--gold)}
.ref-diff-table{width:100%;border-collapse:collapse;margin:1.5rem 0}
.ref-diff-table th{
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
letter-spacing:.22em;color:var(--gdim);text-transform:uppercase;
text-align:left;padding:.6rem;border-bottom:1px solid rgba(241,235,225,.1)}
.ref-diff-table td{
padding:.7rem .6rem;font-size:.9rem;color:var(--muted);
border-bottom:1px solid rgba(241,235,225,.05)}
.ref-removed{color:var(--cinnabar)}
.ref-added{color:var(--verdigris)}
@media(max-width:768px){
.ai-arch-layout,.memory-engine-layout{grid-template-columns:1fr}
.ai-options{grid-template-columns:1fr}
.ref-archive-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
.ref-archive-grid{grid-template-columns:1fr}
}
@keyframes gold-pulse{
0%,100%{text-shadow:0 0 12px rgba(241,235,225,.3)}
50%{text-shadow:0 0 28px rgba(241,235,225,.65),0 0 50px rgba(241,235,225,.2)}
}
.stat-number,.price-number,.pct-number,.big-number{
animation:gold-pulse 3.5s ease-in-out infinite}
.sec::after{
content:'';
position:absolute;
bottom:0;left:0;right:0;
height:1px;
background:linear-gradient(90deg,transparent 0%,rgba(241,235,225,.06) 30%,rgba(241,235,225,.14) 50%,rgba(241,235,225,.06) 70%,transparent 100%)}
.st em{
background:linear-gradient(135deg,#e8d090 0%,#c39a54 40%,#f0e0a0 60%,#a87830 100%);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
background-clip:text}
.secret-card,.insider-card,.reveal-card{
border:1px solid rgba(241,235,225,.18);
background:linear-gradient(135deg,rgba(241,235,225,.04) 0%,rgba(12,5,4,.6) 100%);
transition:all .3s ease;
position:relative;
overflow:hidden}
.secret-card::before,.insider-card::before,.reveal-card::before{
content:'';
position:absolute;
top:0;left:-100%;
width:100%;height:1px;
background:linear-gradient(90deg,transparent,rgba(241,235,225,.5),transparent);
transition:left .5s ease}
.secret-card:hover::before,.insider-card:hover::before,.reveal-card:hover::before{
left:100%}
.secret-card:hover,.insider-card:hover,.reveal-card:hover{
border-color:rgba(241,235,225,.35);
background:linear-gradient(135deg,rgba(241,235,225,.07) 0%,rgba(12,5,4,.5) 100%);
transform:translateY(-2px);
box-shadow:0 8px 30px rgba(12,5,4,.4),0 0 1px rgba(241,235,225,.2)}
input:focus,select:focus,textarea:focus{
box-shadow:0 0 0 1px rgba(241,235,225,.25),0 0 20px rgba(241,235,225,.06)!important}
.rv{
opacity:1;
transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
@keyframes count-up{
from{opacity:0;transform:translateY(8px)}
to{opacity:1;transform:translateY(0)}
}
.stat-row,.cost-row,.data-row{
animation:count-up .5s ease both}
.ref-damage-severe{color:#cf6a5c;border-color:rgba(207,143,146,.3)!important}
.ref-damage-moderate{color:#e49b0f;border-color:rgba(228,155,15,.3)!important}
.ref-damage-catastrophic{
color:#ff4d00;
border-color:rgba(255,77,0,.4)!important;
text-shadow:0 0 10px rgba(255,77,0,.3)}
.mol-card:hover{
box-shadow:0 0 20px rgba(241,235,225,.08),0 4px 24px rgba(12,5,4,.5)!important}
.data-highlight{
background:linear-gradient(90deg,rgba(241,235,225,.1),rgba(241,235,225,.04));
border-left:2px solid var(--gold);
padding:.6rem 1rem;
margin:.5rem 0}
.data-highlight strong{color:var(--gold)}
.term-link{
background-image:linear-gradient(var(--gold),var(--gold));
background-size:0 1px;
background-repeat:no-repeat;
background-position:0 100%;
transition:background-size .3s ease;
cursor:help}
.term-link:hover{background-size:100% 1px;color:var(--cream)}
.data-table{width:100%;border-collapse:collapse;margin:1.2rem 0}
.data-table th{
font-family:'IBM Plex Mono',monospace;font-size:.7rem;
letter-spacing:.24em;text-transform:uppercase;
color:var(--gdim);padding:.6rem .8rem;
border-bottom:1px solid rgba(241,235,225,.15);
text-align:left}
.data-table td{
padding:.65rem .8rem;font-size:.9rem;color:var(--muted);
border-bottom:1px solid rgba(241,235,225,.05);
vertical-align:top}
.data-table tr:hover td{background:rgba(241,235,225,.02);color:var(--cream)}
.gold-quote{
border-left:2px solid var(--gold);
padding:1rem 1.5rem;
margin:1.5rem 0;
font-style:italic;
color:var(--cream);
font-size:1.05rem;
line-height:1.8;
background:rgba(241,235,225,.03)}
.gold-quote cite{
display:block;margin-top:.5rem;
font-style:normal;
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;letter-spacing:.2em;
color:var(--gdim);text-transform:uppercase}
#hero{
background:radial-gradient(ellipse 80% 60% at 50% 40%,#0d0a1a 0%,#080808 100%)}
.grain{opacity:.035!important}
@media(max-width:768px){
.ref-archive-grid{grid-template-columns:1fr!important}
.data-highlight{padding:.5rem .8rem}
}
.gcms-explainer,.ip-layout,.brief-economy-layout{max-width:900px}
.gcms-compounds{margin-top:1.5rem}
.brief-steps .data-highlight{border-left-color:var(--verdigris)}
.brief-steps .data-highlight strong{color:var(--verdigris)}
.brief-steps .data-highlight:nth-child(2){border-left-color:var(--gold)}
.brief-steps .data-highlight:nth-child(2) strong{color:var(--gold)}
.brief-steps .data-highlight:nth-child(3){border-left-color:var(--byzantine)}
.brief-steps .data-highlight:nth-child(3) strong{color:var(--byzantine)}
.brief-steps .data-highlight:nth-child(4){border-left-color:var(--cinnabar)}
.brief-steps .data-highlight:nth-child(4) strong{color:var(--cinnabar)}
nav{
position:fixed;top:0;left:0;right:0;z-index:990;
display:grid;
grid-template-columns:1fr auto 1fr;
align-items:center;
padding:.75rem 2rem;
background:rgba(8,8,8,.95);
backdrop-filter:blur(16px);
-webkit-backdrop-filter:blur(16px);
border-bottom:1px solid rgba(241,235,225,.1);
transition:background .3s}
.nb{
grid-column:2;justify-self:center;
font-family:'IBM Plex Mono',monospace;
font-size:.56rem;letter-spacing:.42em;text-transform:uppercase;
color:var(--cream);text-decoration:none;white-space:nowrap;
transition:color .3s}
.nb:hover{color:var(--gold);text-shadow:0 0 18px rgba(241,235,225,.35)}
.nav-left-spacer{grid-column:1}
.nl{
grid-column:3;justify-self:end;
display:flex;
align-items:center;
gap:.2rem;
list-style:none;
margin:0;padding:0}
.nl > li > a{
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.13em;
text-transform:uppercase;
color:rgba(178,168,150,.92);
text-decoration:none;
padding:.5rem .58rem;
display:block;
white-space:nowrap;
transition:color .22s, background .22s, text-shadow .22s;
border-radius:3px}
.nl > li > a:hover{color:var(--cream);background:rgba(241,235,225,.09);text-shadow:0 0 12px rgba(241,235,225,.25)}
.nl-drop{position:relative}
.nl-drop-btn{cursor:pointer}
.nl-drop-btn::after{
content:'';
position:absolute;
bottom:-1px;left:50%;right:50%;
height:1px;background:var(--gold);
transition:left .25s, right .25s}
.nl-drop:hover .nl-drop-btn::after,
.nl-drop:focus-within .nl-drop-btn::after{
left:10%;right:10%}
.nl-sub{
position:absolute;
top:100%;right:0;
min-width:238px;
background:linear-gradient(180deg,rgba(13,10,21,.97),rgba(7,6,13,.98));
backdrop-filter:blur(22px) saturate(130%);
-webkit-backdrop-filter:blur(22px) saturate(130%);
border:1px solid rgba(241,235,225,.16);
border-top:2px solid rgba(241,235,225,.5);
border-radius:0 0 11px 11px;
list-style:none;
margin:0;padding:.45rem 0;
opacity:0;
visibility:hidden;
transform:translateY(-8px);
transition:opacity .22s ease, transform .22s ease, visibility .22s;
box-shadow:0 20px 56px rgba(12,5,4,.72),inset 0 1px 0 rgba(241,235,225,.1);
pointer-events:none;
z-index:1000}
.nl-drop:hover .nl-sub,
.nl-drop:focus-within .nl-sub{
opacity:1;
visibility:visible;
transform:translateY(0);
pointer-events:all}
.nl-sub li a{
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.13em;
text-transform:uppercase;
color:rgba(180,170,152,.86);
text-decoration:none;
display:block;
padding:.52rem 1.2rem;
transition:color .18s, background .18s, padding-left .18s;
white-space:nowrap}
.nl-sub li a:hover{
color:var(--gold);
background:rgba(241,235,225,.06);
padding-left:1.4rem}
.nl > li:not(.nl-drop) > a{
color:rgba(178,168,150,.78);
font-size:.7rem}
.nav-toggle{
display:none;
grid-column:3;
justify-self:end;
flex-direction:column;gap:5px;
background:none;border:none;cursor:pointer;
padding:6px;z-index:1001}
.nav-toggle span{
display:block;width:22px;height:1.5px;
background:var(--cream);
transition:all .3s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
@media(max-width:1300px){
nav{grid-template-columns:1fr auto auto;padding:.75rem 1.2rem}
.nl{display:none}
.nav-toggle{display:flex}
.nl.open{
display:flex;
flex-direction:column;
align-items:stretch;
position:fixed;
top:50px;left:0;right:0;bottom:0;
width:100vw;
height:calc(100vh - 50px);
background:linear-gradient(180deg,rgb(18,15,8,.99),rgba(6,5,13,.99));
backdrop-filter:blur(24px) saturate(130%);
-webkit-backdrop-filter:blur(24px) saturate(130%);
padding:1.1rem 1.4rem 3rem;
overflow-y:auto;
z-index:989;
gap:0;
border-top:1px solid rgba(241,235,225,.2)}
.nl.open > li{width:100%;min-height:44px;display:flex;flex-direction:column;justify-content:center}
.nl.open > li > a{
padding:.95rem .4rem;
font-size:.62rem;
letter-spacing:.18em;
color:rgba(192,182,164,.95);
border-bottom:1px solid rgba(241,235,225,.08);
width:100%}
.nl-sub{
position:static;
opacity:1;visibility:visible;
transform:none;
background:rgba(241,235,225,.04);
border:none;border-left:2px solid rgba(241,235,225,.28);
border-radius:0;
backdrop-filter:none;-webkit-backdrop-filter:none;
margin:.15rem 0 .65rem 1rem;
pointer-events:all;
box-shadow:none;
display:none}
.nl-drop.open-mobile .nl-sub{display:block;animation:mobSubIn .3s ease}
.nl-sub li a{font-size:.56rem;padding:.62rem 1.1rem;letter-spacing:.13em}
.nl-drop-btn::after{display:none}
}
@keyframes mobSubIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.accord-builder-container{display:grid;gap:2rem}
.accord-tiers{display:grid;gap:1.5rem}
.accord-tier-label{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.15em;margin-bottom:.8rem;text-transform:uppercase}
.accord-notes-grid{display:flex;flex-wrap:wrap;gap:.5rem}
.accord-note-btn{background:var(--bg2);border:1px solid rgba(241,235,225,.2);color:var(--muted);padding:.5rem 1rem;font-size:.8rem;cursor:pointer;transition:all .2s;border-radius:2px}
.accord-note-btn:hover{border-color:var(--gold);color:var(--cream)}
.accord-note-btn.active{background:rgba(241,235,225,.15);border-color:var(--gold);color:var(--gold)}
.accord-output{display:grid;grid-template-columns:200px 1fr;gap:2rem;margin-top:2rem;padding:2rem;background:var(--bg2);border:1px solid rgba(241,235,225,.1)}
.accord-pyramid-visual{display:flex;align-items:center;justify-content:center}
.pyramid-svg{width:100%;max-width:200px}
.accord-analysis-title{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.2em;color:var(--gold);margin-bottom:1rem}
.accord-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}
.accord-stat-label{font-size:.65rem;color:var(--muted);margin-bottom:.3rem}
.accord-stat-value{font-size:.9rem;color:var(--cream)}
.accord-similar-label,.accord-molecules-label{font-size:.7rem;color:var(--muted);margin-bottom:.5rem}
.accord-similar-list,.accord-molecules-list{font-size:.85rem;color:var(--cream);line-height:1.6}
.accord-presets{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(241,235,225,.1)}
.accord-presets-label{font-size:.75rem;color:var(--muted)}
.accord-preset-btn{background:transparent;border:1px solid rgba(241,235,225,.3);color:var(--gold);padding:.4rem .8rem;font-size:.75rem;cursor:pointer;transition:all .2s}
.accord-preset-btn:hover{background:rgba(241,235,225,.1)}
.dilution-container{max-width:900px;margin:0 auto}
.dilution-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2rem}
.dilution-input-group{display:flex;flex-direction:column;gap:.5rem}
.dilution-label{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.15em;color:var(--gold);text-transform:uppercase}
.dilution-input,.dilution-select{background:var(--bg2);border:1px solid rgba(241,235,225,.2);color:var(--cream);padding:.8rem;font-size:1rem;width:100%}
.dilution-presets{display:flex;gap:.5rem;margin-top:.5rem}
.dilution-preset{background:transparent;border:1px solid rgba(241,235,225,.2);color:var(--muted);padding:.3rem .6rem;font-size:.7rem;cursor:pointer;transition:all .2s}
.dilution-preset:hover{border-color:var(--gold);color:var(--gold)}
.dilution-results{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;padding:2rem;background:var(--bg2);margin-bottom:2rem}
.dilution-result-card{background:var(--bg);padding:1.5rem;text-align:center;min-width:150px;border:1px solid rgba(241,235,225,.1)}
.dilution-result-card.final{border-color:var(--gold);background:rgba(241,235,225,.05)}
.dilution-result-icon{font-size:1.5rem;margin-bottom:.5rem}
.dilution-result-value{font-size:1.5rem;color:var(--gold);font-weight:600}
.dilution-result-label{font-size:.75rem;color:var(--muted);margin-top:.3rem}
.dilution-result-drops{font-size:.8rem;color:var(--muted);margin-top:.5rem}
.dilution-result-plus,.dilution-result-equals{font-size:1.5rem;color:var(--gold);opacity:.5}
.dilution-safety{padding:1.5rem;background:rgba(241,235,225,.03);border:1px solid rgba(241,235,225,.1)}
.dilution-safety-title{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.2em;color:var(--gold);margin-bottom:1rem;text-align:center}
.dilution-safety-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.dilution-safety-item{text-align:center;padding:1rem}
.dilution-safety-cat{font-weight:600;color:var(--cream);margin-bottom:.3rem}
.dilution-safety-use{font-size:.75rem;color:var(--muted);margin-bottom:.3rem}
.dilution-safety-max{font-size:.9rem;color:var(--gold)}
.volatility-container{max-width:1000px;margin:0 auto}
.volatility-label{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.15em;color:var(--gold);margin-bottom:1rem;display:block}
.volatility-molecules{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.vol-mol-btn{background:transparent;border:1px solid rgba(241,235,225,.2);color:var(--muted);padding:.5rem 1rem;font-size:.8rem;cursor:pointer;transition:all .2s}
.vol-mol-btn:hover{border-color:var(--mol-color,var(--gold));color:var(--mol-color,var(--gold))}
.vol-mol-btn.active{background:color-mix(in srgb,var(--mol-color) 15%,transparent);border-color:var(--mol-color);color:var(--mol-color)}
.volatility-chart-container{background:var(--bg2);padding:2rem;margin-bottom:2rem}
.volatility-chart{display:grid;grid-template-columns:40px 1fr;grid-template-rows:1fr 30px;gap:.5rem}
.vol-y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:.65rem;color:var(--muted);text-align:right;padding-right:.5rem}
.vol-x-axis{grid-column:2;display:flex;justify-content:space-between;font-size:.65rem;color:var(--muted)}
.vol-chart-area{position:relative;background:rgba(12,5,4,.2);border:1px solid rgba(241,235,225,.1);min-height:250px}
.vol-chart-area svg{position:absolute;inset:0;width:100%;height:100%}
.vol-time-marker{position:absolute;top:0;bottom:0;width:2px;background:var(--gold);pointer-events:none;transition:left .1s}
.vol-time-line{width:2px;height:100%;background:var(--gold)}
.vol-time-label{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-size:.7rem;color:var(--gold);white-space:nowrap}
.volatility-playback{display:flex;align-items:center;gap:1rem;margin-top:1rem}
.vol-play-btn{background:var(--gold);color:var(--bg);border:none;padding:.5rem 1.5rem;cursor:pointer;font-size:.85rem}
.vol-slider{flex:1;accent-color:var(--gold)}
.vol-time-display{font-family:'IBM Plex Mono',monospace;font-size:.9rem;color:var(--cream);min-width:50px}
.volatility-legend{display:flex;flex-wrap:wrap;gap:1.5rem}
.vol-legend-item{display:flex;align-items:center;gap:.5rem}
.vol-legend-color{width:12px;height:12px;border-radius:50%}
.vol-legend-name{font-size:.85rem;color:var(--cream)}
.vol-legend-info{font-size:.7rem;color:var(--muted)}
.pairing-container{max-width:900px;margin:0 auto}
.pairing-matrix-wrap{overflow-x:auto;margin-bottom:1.5rem}
.pairing-matrix{width:100%;border-collapse:collapse;font-size:.8rem}
.pairing-matrix th,.pairing-matrix td{padding:.6rem;text-align:center;border:1px solid rgba(241,235,225,.1)}
.pairing-matrix th{background:var(--bg2);color:var(--gold);font-weight:400;font-size:.7rem}
.pairing-row-label{background:var(--bg2);color:var(--gold);font-weight:400;text-align:left !important}
.pairing-cell{cursor:pointer;transition:all .2s}
.pairing-cell:hover{background:rgba(241,235,225,.1)}
.pairing-cell.self{color:var(--muted);cursor:default}
.pairing-cell.excellent{background:rgba(76,175,80,.1);color:#81c784}
.pairing-cell.good{background:rgba(255,193,7,.1);color:#ffd54f}
.pairing-cell.tricky{background:rgba(244,67,54,.1);color:#e57373}
.pairing-legend{display:flex;gap:2rem;justify-content:center;margin-bottom:2rem;font-size:.8rem}
.pairing-legend-item{display:flex;align-items:center;gap:.5rem}
.pairing-legend-dot{width:12px;height:12px;border-radius:2px}
.pairing-legend-dot.excellent{background:rgba(76,175,80,.3)}
.pairing-legend-dot.good{background:rgba(255,193,7,.3)}
.pairing-legend-dot.tricky{background:rgba(244,67,54,.3)}
.pairing-detail{background:var(--bg2);padding:2rem;border:1px solid rgba(241,235,225,.1)}
.pairing-detail-title{font-size:1.2rem;color:var(--cream);margin-bottom:.5rem}
.pairing-detail-desc{color:var(--muted);line-height:1.7;margin-bottom:1rem}
.pairing-detail-examples{font-size:.85rem;color:var(--gold)}
.fatigue-container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:900px;margin:0 auto}
.fatigue-display{display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.fatigue-timer-ring{position:relative;width:200px;height:200px}
.fatigue-timer-ring svg{width:100%;height:100%}
.fatigue-timer-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.fatigue-timer-value{font-size:2.5rem;color:var(--gold);font-family:'IBM Plex Mono',monospace}
.fatigue-timer-label{font-size:.8rem;color:var(--muted)}
.fatigue-controls{display:flex;gap:1rem}
.fatigue-btn{background:var(--gold);color:var(--bg);border:none;padding:.8rem 1.5rem;cursor:pointer;font-size:.9rem}
.fatigue-btn.secondary{background:transparent;border:1px solid var(--gold);color:var(--gold)}
.fatigue-presets{display:flex;gap:.5rem}
.fatigue-preset{background:transparent;border:1px solid rgba(241,235,225,.3);color:var(--muted);padding:.4rem .8rem;font-size:.75rem;cursor:pointer}
.fatigue-preset.active,.fatigue-preset:hover{border-color:var(--gold);color:var(--gold)}
.fatigue-info{display:flex;flex-direction:column;gap:1.5rem}
.fatigue-info-card{background:var(--bg2);padding:1.5rem;border:1px solid rgba(241,235,225,.1)}
.fatigue-info-title{font-size:1rem;color:var(--cream);margin-bottom:.8rem}
.fatigue-info-card p{color:var(--muted);font-size:.85rem;line-height:1.7}
.fatigue-tips{list-style:none;padding:0;margin:0}
.fatigue-tips li{color:var(--muted);font-size:.85rem;padding:.5rem 0;border-bottom:1px solid rgba(241,235,225,.05)}
.fatigue-session{background:var(--bg2);padding:1.5rem}
.fatigue-session-title{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.15em;color:var(--gold);margin-bottom:1rem}
.fatigue-session-count{font-size:1.5rem;color:var(--cream);margin-bottom:1rem}
.fatigue-sample-btn{background:transparent;border:1px solid var(--gold);color:var(--gold);padding:.5rem 1rem;cursor:pointer;font-size:.85rem}
.projection-container{max-width:1000px;margin:0 auto}
.projection-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:2rem}
.projection-input-group{display:flex;flex-direction:column;gap:.5rem}
.projection-label{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.15em;color:var(--gold)}
.projection-select{background:var(--bg2);border:1px solid rgba(241,235,225,.2);color:var(--cream);padding:.8rem}
.projection-range{width:100%;accent-color:var(--gold)}
.projection-range-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted)}
.projection-areas{display:flex;gap:.5rem;flex-wrap:wrap}
.proj-area-btn{background:transparent;border:1px solid rgba(241,235,225,.2);color:var(--muted);padding:.5rem 1rem;font-size:.8rem;cursor:pointer}
.proj-area-btn.active,.proj-area-btn:hover{border-color:var(--gold);color:var(--gold)}
.projection-visual{display:grid;grid-template-columns:300px 1fr;gap:2rem;background:var(--bg2);padding:2rem}
.projection-figure{display:flex;justify-content:center}
.projection-svg{max-height:350px}
.projection-results{display:flex;flex-direction:column;gap:1rem;justify-content:center}
.projection-result-item{display:grid;grid-template-columns:150px 1fr 80px;gap:1rem;align-items:center}
.projection-result-label{font-size:.8rem;color:var(--muted)}
.projection-result-bar{height:8px;background:var(--bg);border-radius:4px;overflow:hidden}
.projection-bar-fill{height:100%;background:var(--gold);transition:width .3s}
.projection-result-value{font-size:.85rem;color:var(--cream);text-align:right}
.projection-result-value.large{font-size:1.2rem;color:var(--gold);grid-column:2/-1}
.projection-tips{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.projection-tip{background:var(--bg2);padding:1rem;font-size:.8rem;color:var(--muted);line-height:1.6;border-left:2px solid var(--gold)}
@media(max-width:768px){
.accord-output{grid-template-columns:1fr}
.accord-stats-grid{grid-template-columns:repeat(2,1fr)}
.dilution-inputs{grid-template-columns:1fr}
.dilution-results{flex-direction:column}
.dilution-safety-grid{grid-template-columns:repeat(2,1fr)}
.fatigue-container{grid-template-columns:1fr}
.projection-inputs{grid-template-columns:1fr}
.projection-visual{grid-template-columns:1fr}
.projection-tips{grid-template-columns:1fr}
.projection-result-item{grid-template-columns:1fr;gap:.5rem}
}
@keyframes holo-shift{
0%  {background-position:0% 50%;filter:hue-rotate(0deg)}
50% {background-position:100% 50%;filter:hue-rotate(30deg)}
100%{background-position:0% 50%;filter:hue-rotate(0deg)}
}
.nb{
background:linear-gradient(135deg,
#f0e080 0%,#c39a54 20%,#fff8c0 35%,
#c39a54 50%,#e8c060 65%,#a07020 80%,#f0e080 100%
) !important;
background-size:300% 300% !important;
-webkit-background-clip:text !important;
-webkit-text-fill-color:transparent !important;
background-clip:text !important;
animation:holo-shift 4s ease infinite !important;
filter:drop-shadow(0 0 8px rgba(241,235,225,0.6))}
@keyframes liquid-metal{
0%  {background-position:0% 50%}
50% {background-position:100% 50%}
100%{background-position:0% 50%}
}
.st em{
background:linear-gradient(90deg,
#fff0a0 0%,#c39a54 15%,#ffffff 28%,
#e8c060 40%,#a07020 55%,
#fff8e0 68%,#c39a54 80%,#f0e080 100%
) !important;
background-size:200% auto !important;
-webkit-background-clip:text !important;
-webkit-text-fill-color:transparent !important;
background-clip:text !important;
animation:liquid-metal 3s linear infinite !important}
@keyframes aurora-drift{
0%  {background-position:0% 0%,50% 50%,100% 100%}
33% {background-position:50% 100%,0% 0%,50% 50%}
66% {background-position:100% 50%,100% 100%,0% 0%}
100%{background-position:0% 0%,50% 50%,100% 100%}
}
#hero{
background:
radial-gradient(ellipse 120% 60% at 20% 40%,rgb(70,55,20,.35) 0%,transparent 60%),
radial-gradient(ellipse 80% 50% at 80% 30%,rgba(80,30,10,.25) 0%,transparent 55%),
radial-gradient(ellipse 100% 80% at 50% 80%,rgba(10,5,30,.9) 0%,transparent 80%),
#00000a !important;
background-size:200% 200%,200% 200%,200% 200%,100% 100% !important;
animation:aurora-drift 12s ease infinite !important}
.beg-card, .mol-card, .ref-card, .secret-card, .insider-card,
.ai-arch-layout > div, .dna-layout, .mem-input-side,
.data-table tr, .ref-archive-grid > div {
transform-style: preserve-3d;
transition: transform 0.4s cubic-bezier(0.23,1,0.32,1),
box-shadow 0.4s ease,
border-color 0.4s ease !important;
will-change: transform}
.beg-card:hover, .mol-card:hover, .ref-card:hover,
.secret-card:hover, .insider-card:hover {
box-shadow:
0 24px 60px rgba(12,5,4,.8),
0 0 0 1px rgba(241,235,225,.25),
inset 0 1px 0 rgba(255,255,200,.08) !important}
@keyframes neon-border{
0%,100%{box-shadow:0 0 4px rgba(241,235,225,.3),0 0 10px rgba(241,235,225,.1)}
50%{box-shadow:0 0 8px rgba(241,235,225,.6),0 0 20px rgba(241,235,225,.3),0 0 40px rgba(241,235,225,.1)}
}
.game-tab.active, .lab-tab.active, .nl-drop-btn:hover{
animation: neon-border 2s ease-in-out infinite !important}
@keyframes sweep-in{
0%  {opacity:0;transform:translateY(30px) scaleX(0.97);filter:blur(4px)}
60% {opacity:0.7;filter:blur(1px)}
100%{opacity:1;transform:translateY(0) scaleX(1);filter:blur(0)}
}
.rv.in{
animation:sweep-in 0.9s cubic-bezier(0.23,1,0.32,1) both !important}
.sec:nth-child(odd)::before {
content:'';
position:absolute;top:0;left:0;right:0;bottom:0;
background:repeating-linear-gradient(
0deg,
transparent,transparent 2px,
rgba(241,235,225,.008) 2px,rgba(241,235,225,.008) 4px
);
pointer-events:none;
z-index:1}
@keyframes chroma{
0%,100%{text-shadow:1px 0 rgba(255,0,0,.1),-1px 0 rgba(0,255,255,.1)}
50%{text-shadow:2px 0 rgb(198,57,74,.12),-2px 0 rgba(0,200,255,.12)}
}
h2.st{
animation:chroma 6s ease-in-out infinite}
@keyframes border-spin{
to{--angle:360deg}
}
.ai-arch-layout, .dna-layout, .memory-engine-layout{
position:relative}
.ai-arch-layout::before, .dna-layout::before{
content:'';
position:absolute;
inset:-1px;
background:conic-gradient(
from var(--angle,0deg),
transparent 70%,
rgba(241,235,225,.4) 80%,
rgba(255,220,100,.8) 85%,
rgba(241,235,225,.4) 90%,
transparent 100%
);
animation:border-spin 4s linear infinite;
z-index:-1;
border-radius:2px}
.data-table tbody tr{
transition:background .2s, box-shadow .2s !important}
.data-table tbody tr:hover{
background:rgba(241,235,225,.04) !important;
box-shadow:inset 2px 0 0 rgba(241,235,225,.5) !important;
color:var(--cream) !important}
@keyframes label-pulse{
0%,100%{opacity:.5;transform:scale(1)}
50%{opacity:1;transform:scale(1.4)}
}
.sl::before{
content:'◆';
font-size:.7rem;
color:var(--gold);
margin-right:.6rem;
display:inline-block;
animation:label-pulse 2.5s ease-in-out infinite}
footer{
box-shadow:0 -1px 0 rgba(241,235,225,.12),
0 -20px 80px rgba(241,235,225,.04) !important}
nav{
transition:background .3s, box-shadow .3s !important}
nav.scrolled{
box-shadow:0 4px 40px rgba(12,5,4,.8),
0 1px 0 rgba(241,235,225,.15) !important}
.nl > li > a.active,.nl-drop-btn.active{color:var(--gold)!important;text-shadow:0 0 14px rgba(241,235,225,.4)}
.nl-drop-btn.active::after{left:8%;right:8%}
.nl-sub li a.active{color:var(--gold)!important;background:rgba(241,235,225,.08);box-shadow:inset 2px 0 0 var(--gold);padding-left:1.4rem}
#nav-progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:9991;
background:linear-gradient(90deg,var(--gold),var(--byzantine),var(--verdigris),var(--gold));
box-shadow:0 0 10px rgba(241,235,225,.55);transition:width .12s linear;pointer-events:none}
@keyframes number-glow{
0%,100%{color:var(--gold);text-shadow:0 0 10px rgba(241,235,225,.3)}
50%{color:#ffe080;text-shadow:0 0 20px rgba(241,235,225,.7),0 0 40px rgba(241,235,225,.3)}
}
.stat-number, .price-number, .big-number,
.quiz-final-score, .dna-type-name{
animation:number-glow 3s ease-in-out infinite !important}
@keyframes hero-title-in{
0%  {opacity:0;transform:translateY(-20px) skewX(3deg);filter:blur(8px)}
70% {opacity:0.8;filter:blur(1px)}
100%{opacity:1;transform:translateY(0) skewX(0);filter:blur(0)}
}
.ht{
animation:hero-title-in 1.4s cubic-bezier(0.23,1,0.32,1) both !important}
.btn{
position:relative;overflow:hidden;
transition:all .25s !important}
.btn::after{
content:'';
position:absolute;
top:50%;left:50%;
width:0;height:0;
background:radial-gradient(circle,rgba(241,235,225,.4) 0%,transparent 70%);
transform:translate(-50%,-50%);
transition:width .5s ease, height .5s ease, opacity .5s ease;
border-radius:50%;
opacity:0}
.btn:active::after{
width:300px;height:300px;
opacity:0;
transition:width .3s ease, height .3s ease, opacity .3s ease}
.ai-output-panel, .dna-layout, .ref-detail-panel{
background:rgba(4,3,14,.82) !important;
backdrop-filter:blur(20px) saturate(180%) !important;
-webkit-backdrop-filter:blur(20px) saturate(180%) !important;
border:1px solid rgba(241,235,225,.18) !important}
.gb{
background:linear-gradient(90deg,
transparent 0%,
rgba(241,235,225,.15) 10%,
rgba(241,235,225,.6) 30%,
rgba(255,220,80,.9) 50%,
rgba(241,235,225,.6) 70%,
rgba(241,235,225,.15) 90%,
transparent 100%
) !important;
height:1px !important;
width:200px !important;
margin:0 auto 2rem !important;
animation:gold-pulse 3s ease-in-out infinite !important}
.grain{
opacity:.055 !important;
background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E") !important;
background-size:200px 200px !important;
mix-blend-mode:overlay !important}
@keyframes holo-card{
0%  {background-position:0% 0%}
100%{background-position:200% 200%}
}
canvas[id^="hcanvas"]:hover,
.hcanvas-wrap:hover canvas{
box-shadow:0 0 30px rgba(241,235,225,.3),
0 0 60px rgba(241,235,225,.1) !important}
#hero::after{
content:'';
position:absolute;
inset:0;
background:radial-gradient(
ellipse 70% 70% at 50% 50%,
transparent 40%,
rgba(0,0,6,.5) 75%,
rgba(0,0,10,.9) 100%
);
pointer-events:none;
z-index:3}
@keyframes hero-shimmer{
0%  {filter:drop-shadow(0 0 8px rgba(241,235,225,.0))}
30% {filter:drop-shadow(0 0 20px rgba(241,235,225,.4)) drop-shadow(0 0 40px rgba(241,235,225,.15))}
60% {filter:drop-shadow(0 0 8px rgba(241,235,225,.1))}
100%{filter:drop-shadow(0 0 8px rgba(241,235,225,.0))}
}
.ht
@keyframes glitch-1{
0%,85%,100%{clip-path:inset(0 0 100% 0)}
86%{clip-path:inset(42% 0 37% 0);transform:translate(-3px)}
88%{clip-path:inset(8% 0 80% 0);transform:translate(3px)}
90%{clip-path:inset(65% 0 20% 0);transform:translate(-2px)}
92%{clip-path:inset(0 0 100% 0)}
}
.st::before{
content:attr(data-text);
position:absolute;
left:0;top:0;
color:rgba(241,235,225,.3);
animation:glitch-1 8s ease-in-out infinite;
pointer-events:none}
.st{position:relative}
@keyframes underline-grow{
from{transform:scaleX(0);transform-origin:left}
to{transform:scaleX(1);transform-origin:left}
}
.st::after{
content:'';
display:block;
height:1px;
width:60px;
background:linear-gradient(90deg,var(--gold),transparent);
margin-top:.5rem;
transform:scaleX(0);
transform-origin:left}
.st.in::after{
animation:underline-grow .8s cubic-bezier(0.23,1,0.32,1) .3s forwards}
.sec:nth-child(even){
background-image:
radial-gradient(ellipse 60% 30% at 80% 50%,rgba(241,235,225,.02) 0%,transparent 70%),
radial-gradient(ellipse 40% 40% at 10% 80%,rgb(93,73,27,.04) 0%,transparent 70%) !important}
.sec:nth-child(odd){
background-image:
radial-gradient(ellipse 50% 40% at 20% 30%,rgba(241,235,225,.015) 0%,transparent 70%),
radial-gradient(ellipse 60% 30% at 90% 70%,rgb(54,43,16,.05) 0%,transparent 70%) !important}
.data-table tbody tr:nth-child(3n+1) td:first-child{
border-left:2px solid rgba(241,235,225,.3)}
.data-table tbody tr:nth-child(3n+2) td:first-child{
border-left:2px solid rgba(100,60,200,.2)}
.insider-card .data-highlight{
border-left-color:var(--verdigris);
background:linear-gradient(90deg,rgba(70,160,120,.06),transparent)}
.insider-card .data-highlight strong{color:var(--verdigris)}
.gold-quote{
position:relative;
padding:1.5rem 1.8rem 1.5rem 3rem !important}
.gold-quote::before{
content:'\201C';
position:absolute;
left:.6rem;top:-.2rem;
font-size:4rem;
color:rgba(241,235,225,.25);
font-family:'Archivo',serif;
line-height:1}
.sl::before{
content:'';
display:inline-block;
width:20px;height:1px;
background:var(--gdim);
vertical-align:middle;
margin-right:.8rem}
@keyframes gb-pulse{
0%,100%{opacity:.5;width:48px}
50%{opacity:1;width:80px}
}
.gb{animation:gb-pulse 3s ease-in-out infinite!important}
.data-table tbody tr{
position:relative}
.data-table tbody tr::before{
content:'';
position:absolute;
left:0;top:0;bottom:0;
width:0;
background:rgba(241,235,225,.04);
transition:width .3s ease}
.data-table tbody tr:hover::before{width:100%}
@keyframes card-emerge{
0%  {opacity:0;transform:translateY(16px) scale(.98);filter:blur(4px)}
100%{opacity:1;transform:none;filter:none}
}
.insider-card.rv.in{
animation:card-emerge .7s cubic-bezier(0.23,1,0.32,1) both}
.insider-card.rv:nth-child(2).in{animation-delay:.1s}
.insider-card.rv:nth-child(3).in{animation-delay:.2s}
.insider-card.rv:nth-child(4).in{animation-delay:.3s}
@keyframes fog-drift{
0%  {transform:translateX(0) translateY(0);opacity:.4}
33% {transform:translateX(-2%) translateY(-1%);opacity:.6}
66% {transform:translateX(2%) translateY(1%);opacity:.3}
100%{transform:translateX(0) translateY(0);opacity:.4}
}
#hero .hero-radial{
animation:fog-drift 18s ease-in-out infinite !important}
#bg-space{
opacity:.85 !important}
#captive-catalog .data-table td:nth-child(2){
color:var(--gold);
font-family:'IBM Plex Mono',monospace;
font-size:.7rem;
letter-spacing:.1em}
#captive-catalog .data-table td strong{
color:var(--cream);
font-style:italic}
#ghost-perfumers .insider-card{
position:relative;
overflow:hidden}
#ghost-perfumers .insider-card::after{
content:'';
position:absolute;
top:0;right:0;
width:1px;height:0;
background:var(--gold);
opacity:0;
transition:height .5s ease, opacity .3s}
#ghost-perfumers .insider-card:hover::after{
height:100%;opacity:.4}
@keyframes scroll-bounce{
0%,100%{transform:translateX(-50%) translateY(0)}
50%{transform:translateX(-50%) translateY(8px)}
}
.sc{animation:scroll-bounce 2.5s ease-in-out infinite!important}
:focus-visible{
outline:1px solid rgba(241,235,225,.6) !important;
outline-offset:3px !important;
box-shadow:0 0 0 3px rgba(241,235,225,.12) !important}
@media(max-width:600px){
.insider-card{padding:1.2rem !important}
.gold-quote{padding:1rem 1rem 1rem 2rem !important}
.data-table td, .data-table th{padding:.5rem .4rem !important;font-size:.8rem}
}
.st{font-family:'Bodoni Moda','Bodoni Moda',Georgia,serif;font-weight:700;letter-spacing:-.005em;text-shadow:0 2px 34px rgba(12,5,4,.55)}
.st em{font-style:italic;font-weight:700}
.origin-title{font-family:'Bodoni Moda','Archivo',serif;font-weight:700}
.sl{position:relative;padding-left:1.45rem}
.sl::before{content:'';position:absolute;left:0;top:50%;width:1rem;height:1px;
background:linear-gradient(90deg,var(--gold),transparent);transform:translateY(-50%)}
.mol-card,.fam-card,.go-card,.rec-card,.region-card,.beg-card,.sc2,.ext-card{
transition:transform .38s cubic-bezier(.2,.7,.2,1),box-shadow .38s,background .3s,border-color .3s !important}
.mol-card:hover,.fam-card:hover,.go-card:hover,.rec-card:hover,.region-card:hover,.sc2:hover{
transform:translateY(-5px);
box-shadow:0 20px 54px rgba(12,5,4,.55),0 0 0 1px rgba(241,235,225,.18),0 0 46px rgba(241,235,225,.07)}
.hover-hint{color:rgba(241,235,225,.5)}
.mol-photo-tag{color:rgba(241,235,225,.85)}
.origin-frags-l,.origin-dl,.mdl{color:rgba(168,134,64,.85)}
.btng{position:relative;overflow:hidden}
.btng::after{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;
background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);
transition:left .6s ease;pointer-events:none}
.btng:hover::after{left:160%}
nav::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1.5px;pointer-events:none;
background:linear-gradient(90deg,transparent 2%,var(--nav-accent,#d0b06a) 18%,var(--nav-accent,#d0b06a) 82%,transparent 98%);
opacity:.75;transition:background .6s ease;
filter:drop-shadow(0 0 6px rgba(241,235,225,.3))}
.nl-drop-btn::after{background:currentColor!important;box-shadow:0 0 9px currentColor;height:1.5px}
.nl > li > a{transition:color .22s,background .22s,text-shadow .22s,letter-spacing .22s !important}
.nl > li > a:hover{
text-shadow:0 0 16px currentColor,0 0 30px currentColor;
letter-spacing:.16em;
background:rgba(255,255,255,.03)}
.nl-drop-btn.active{text-shadow:0 0 16px currentColor,0 0 32px currentColor !important}
.nb{animation:nbShimmer 7s linear infinite}
@keyframes nbShimmer{to{background-position:200% center}}
.nl-sub li a{position:relative}
.nl-sub li a::before{content:'';position:absolute;left:.55rem;top:50%;width:0;height:1.5px;
background:var(--gold);box-shadow:0 0 6px var(--gold);transform:translateY(-50%);transition:width .22s ease}
.nl-sub li a:hover{padding-left:1.65rem;color:var(--gold)}
.nl-sub li a:hover::before{width:.55rem}
.nl-sub{position:absolute}
.nl-sub::before{content:'';position:absolute;top:-2px;left:0;right:0;height:2px;
background:linear-gradient(90deg,transparent,var(--gold),var(--byzantine),transparent);
background-size:200% 100%;animation:navFlow 6s linear infinite}
:root{
--gold:#c39a54;            
--gold-soft:#dcc79a;
--ink:#0a0908;
--hair:rgba(198,162,74,.22)}
#hero .crest{display:flex;align-items:center;justify-content:center;gap:1.1rem;margin-bottom:2rem;opacity:0;animation:fadeUp 1s .1s ease forwards}
#hero .crest-rule{display:block;width:clamp(38px,7vw,90px);height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
#hero .crest-rule:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
#hero .crest-mark{font-family:'Bodoni Moda',serif;font-weight:400;font-size:1.5rem;color:var(--gold);letter-spacing:.05em;line-height:1}
#hero .hero-kicker{font-family:'Bodoni Moda',serif!important;font-style:italic!important;font-weight:300!important;
text-transform:none!important;letter-spacing:.01em!important;font-size:clamp(1rem,1.7vw,1.25rem)!important;
color:var(--gold-soft)!important;opacity:.85;margin-bottom:1.4rem!important}
#hero .ht.wordmark{width:fit-content;max-width:100%;font-family:'Bodoni Moda',serif!important;font-weight:400!important;font-style:normal!important;
font-size:clamp(3rem,8vw,6rem)!important;letter-spacing:-.015em!important;line-height:.92!important;
color:var(--cream)!important;filter:drop-shadow(0 4px 40px rgba(12,5,4,.6))!important;text-transform:none!important;margin:0 auto .8rem!important}
#hero .ht.wordmark .wm-boutique{font-style:italic;font-weight:300;color:var(--gold);
background:linear-gradient(96deg,var(--gold-soft),var(--gold) 55%,#a07d3c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
#hero .hs{max-width:44ch;margin-left:auto;margin-right:auto;color:var(--muted)!important}
#hero .hero-meta{text-transform:none!important;letter-spacing:.16em!important}
#hero .hero-sig{margin-top:1.4rem;opacity:0;animation:fadeUp 1s 1s ease forwards;
display:flex;align-items:baseline;justify-content:center;gap:.6rem;flex-wrap:wrap}
#hero .hero-sig .sig-line{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.28em;
text-transform:uppercase;color:var(--muted)}
#hero .hero-sig .signature{font-family:'Archivo',Georgia,serif;font-style:italic;font-size:1.5rem;color:var(--gold-soft);line-height:1;opacity:.9}
#hero .hero-sig .sig-img{height:2.1rem;width:auto;vertical-align:middle;display:inline-block}
.btn.btn-primary{background:var(--gold)!important;border-color:var(--gold)!important;color:#1a0c0a!important;font-weight:600}
.btn.btn-primary:hover{background:var(--gold-soft)!important;border-color:var(--gold-soft)!important}
#perfumer{background:linear-gradient(180deg,var(--bg) 0%,#0c0a07 100%);position:relative}
#perfumer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.founder-wrap{max-width:820px;margin:0 auto;text-align:center}
.founder-eyebrow{font-family:'Bodoni Moda',serif;font-style:italic;color:var(--gold-soft);font-size:1.1rem;margin-bottom:1rem}
.founder-name{font-family:'Bodoni Moda',serif;font-size:clamp(2.2rem,5vw,3.4rem);color:var(--cream);letter-spacing:-.01em;line-height:1;margin-bottom:.4rem}
.founder-role{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gdim);margin-bottom:2rem}
.founder-body{font-size:1.12rem;line-height:1.95;color:var(--muted);max-width:60ch;margin:0 auto 1.4rem}
.founder-body strong{color:var(--cream);font-weight:400;font-style:italic}
.founder-sig{font-family:'Caveat',cursive;font-size:2.4rem;color:var(--gold-soft);margin-top:1.4rem}
#atelier-list{background:linear-gradient(180deg,#0c0a07 0%,var(--bg4) 100%);position:relative}
.atelier-wrap{max-width:560px;margin:0 auto;text-align:center}
.atelier-title{font-family:'Bodoni Moda',serif;font-size:clamp(1.9rem,4vw,2.8rem);color:var(--cream);line-height:1.05;margin-bottom:1rem}
.atelier-title em{font-style:italic;color:var(--gold)}
.atelier-sub{color:var(--muted);font-size:1.08rem;line-height:1.8;margin-bottom:2rem;max-width:46ch;margin-left:auto;margin-right:auto}
.atelier-form{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}
.atelier-form input{flex:1 1 260px;min-width:0;background:rgba(12,5,4,.45);border:1px solid var(--hair);color:var(--cream);
padding:.9rem 1.1rem;font-family:'Archivo',serif;font-size:1.05rem;outline:none;transition:border-color .3s}
.atelier-form input:focus{border-color:var(--gold)}
.atelier-form button{flex:0 0 auto;background:var(--gold);border:1px solid var(--gold);color:#1a0c0a;
font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;padding:.9rem 1.8rem;
cursor:pointer;transition:background .3s,border-color .3s;font-weight:600}
.atelier-form button:hover{background:var(--gold-soft);border-color:var(--gold-soft)}
#atelier-status{margin-top:1rem;font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.14em;min-height:1.2rem}
.atelier-note{margin-top:1rem;font-size:.82rem;color:var(--gdim)}
@media(max-width:560px){.atelier-form button{flex:1 1 100%}}
@media(min-width:769px){
#hero .hc{transform:translate(-50%,-50%)!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;text-align:center!important}
}
body{cursor:auto!important}
.btn,a,button,[role=button],input,textarea,select,label{cursor:pointer!important}
input,textarea{cursor:text!important}
body{font-size:17.5px;line-height:1.75;-webkit-font-smoothing:antialiased;color:var(--cream)}
p{max-width:68ch}
.si{padding:0 clamp(1.25rem,5vw,4.5rem)}
#hero{background:radial-gradient(ellipse 95% 85% at 50% 42%, #2a1c0d 0%, #140e07 45%, #070503 100%)!important}
.hero-radial{opacity:.55}
.particle{background:var(--gold-soft)!important;opacity:0;width:2px!important;height:2px!important}
.particle:nth-child(3n){background:var(--damask)!important}
.sec{border-top:1px solid var(--hair)!important;background-image:none!important;background-clip:border-box!important;padding:clamp(4.5rem,9vw,7.5rem) 0!important}
.sec:nth-child(3n+1),.sec:nth-child(3n+2),.sec:nth-child(3n){padding:clamp(4.5rem,9vw,7.5rem) 0!important}
#hero,#hero + .tk{border-top:0!important}
.sl{font-family:'Bodoni Moda',serif!important;font-style:italic!important;font-weight:300!important;
font-size:1.05rem!important;letter-spacing:.005em!important;text-transform:none!important;
color:var(--gold-soft)!important;opacity:.9!important;margin-bottom:.6rem!important}
.gb{width:56px!important;height:1px!important;background:linear-gradient(90deg,var(--gold),transparent)!important;margin-bottom:1.6rem!important}
.st{font-family:'Bodoni Moda',serif!important;font-weight:400!important;font-style:normal!important;
font-size:clamp(2.2rem,4.6vw,3.9rem)!important;letter-spacing:-.015em!important;line-height:1.02!important;
color:var(--cream)!important;text-shadow:none!important;max-width:22ch}
.st em{font-style:italic!important;font-weight:300!important;color:var(--gold)!important}
.origin-title,.modal-name,h2:not(.st):not(.founder-name):not(.atelier-title){font-family:'Bodoni Moda',serif!important;font-weight:400!important;letter-spacing:-.01em}
.sp{font-style:normal!important;font-size:1.12rem!important;line-height:1.85!important;color:var(--muted)!important;max-width:60ch!important;margin-bottom:2.8rem!important}
.beg-text,.origin-body,.ext-body,.rec-card-desc,.perfumer-card-bio,.vocab-def,.founder-body{color:#b3a993!important}
.beg-highlight,strong{color:var(--cream)!important}
.beg-num{background:none!important;-webkit-text-fill-color:var(--gold)!important;color:var(--gold)!important;
animation:none!important;font-family:'Bodoni Moda',serif!important;font-weight:300!important;font-size:2.6rem!important}
.stn,.stn-label{font-family:'Bodoni Moda',serif!important}
.stn{font-size:clamp(2.4rem,4vw,3.4rem)!important;font-weight:300!important;font-style:normal!important;color:var(--gold-soft)!important}
.stats>div{border:1px solid var(--hair)!important;background:rgba(12,5,4,.18)}
.stats>div:hover{border-color:var(--gold)!important;transform:none!important}
.mol-card,.beg-card,.fam-card,.go-card,.rec-card,.ext-card,.gloss-item,.vocab-item,.region-card,
.perfumer-card,.era-event,.reform-event,.vintage-card,.data-highlight,.lab-accord,.dna-card,.celeb-card,
.controversy-card,.batch-card,.price-card,.conc-card,.layer-card,.failed-card,.training-card,.dupe-card{
background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(12,5,4,.25))!important;
border:1px solid var(--hair)!important;border-radius:2px!important;box-shadow:none!important}
.mol-card:hover,.beg-card:hover,.fam-card:hover,.go-card:hover,.rec-card:hover,.ext-card:hover,.region-card:hover,.perfumer-card:hover{
border-color:rgba(241,235,225,.55)!important;box-shadow:0 20px 50px -30px rgba(12,5,4,.9)!important;transform:translateY(-2px)!important}
.beg-grid{background:var(--hair)!important;gap:1px!important}
.beg-title,.rec-card-title,.perfumer-card-name,.fam-name,.origin-name{font-family:'Bodoni Moda',serif!important;font-weight:400!important;letter-spacing:-.005em}
.perfumer-card.founder{border-color:var(--gold)!important;background:linear-gradient(135deg,rgba(241,235,225,.10),rgba(12,5,4,.4))!important}
.perfumer-card.founder .perfumer-portrait{background:linear-gradient(135deg,var(--gold),var(--amberr-deep))!important}
.tk{background:rgba(241,235,225,.04)!important;border-top:1px solid var(--hair)!important;border-bottom:1px solid var(--hair)!important;padding:.7rem 0!important}
.tks{font-family:'Bodoni Moda',serif!important;font-style:italic!important;font-size:.92rem!important;letter-spacing:0!important;
text-transform:none!important;color:var(--gold-soft)!important;opacity:.75!important}
nav{background:linear-gradient(180deg,rgba(12,10,7,.88),rgba(8,6,4,.7))!important;
border-image:none!important;border-bottom:1px solid var(--hair)!important}
nav a,nav button,.nl a,.nl li>a,.nl li>button{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.22em;
text-transform:uppercase;color:var(--muted)!important;transition:color .25s}
nav a:hover,.nl a:hover,.nl li>a:hover,.nl li>button:hover{color:var(--gold-soft)!important}
nav .brand,nav .logo,nav [class*="brand"],nav [class*="logo"]{color:var(--gold)!important;letter-spacing:.34em!important}
.btn{border-radius:0!important;padding:.85rem 2.2rem!important;font-size:.58rem!important;letter-spacing:.26em!important;transition:background .25s,border-color .25s,color .25s!important}
.btng{border:1px solid var(--gold)!important;color:var(--gold)!important;background:transparent!important}
.btng:hover{background:rgba(241,235,225,.1)!important;color:var(--gold-soft)!important}
.btno{border:1px solid rgba(236,227,207,.22)!important;color:var(--cream)!important}
.btno:hover{border-color:var(--cream)!important}
input[type=text],input[type=email],textarea,select{background:rgba(12,5,4,.4)!important;border:1px solid var(--hair)!important;color:var(--cream)!important;border-radius:0!important}
input:focus,textarea:focus,select:focus{border-color:var(--gold)!important;outline:none}
footer{background:var(--bg4)!important;border-top:1px solid var(--hair)!important;padding:clamp(3.5rem,7vw,5.5rem) clamp(1.25rem,5vw,4.5rem)!important}
.ft-brand{font-family:'Bodoni Moda',serif!important;font-size:1.6rem!important;letter-spacing:-.01em!important;color:var(--cream)!important}
.ft-tag{color:var(--muted)!important;max-width:38ch}
.ft-loc{color:var(--gold-soft)!important;font-family:'Bodoni Moda',serif!important;font-style:italic!important}
.ft-col h4{font-family:'Bodoni Moda',serif!important;font-style:italic!important;font-weight:300!important;font-size:1rem!important;
letter-spacing:0!important;text-transform:none!important;color:var(--gold-soft)!important;opacity:1!important}
.ft-col a{color:var(--muted)!important;transition:color .25s}
.ft-col a:hover{color:var(--cream)!important}
a{color:var(--gold-soft)}
:focus-visible{outline:2px solid var(--gold)!important;outline-offset:3px}
::selection{background:var(--gold);color:#1a0c0a}
.grain{opacity:.035!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:768px){
.st{font-size:clamp(1.9rem,8vw,2.6rem)!important}
.sp{font-size:1.02rem!important}
.beg-grid{grid-template-columns:1fr!important}
.ft-inner{grid-template-columns:1fr 1fr!important;gap:2rem!important}
}
#hero{background:radial-gradient(ellipse 95% 85% at 50% 40%, #3a1a15 0%, #22100d 42%, #120705 100%)!important}
.hero-radial{opacity:.35}
.particle{background:var(--orris)!important}
.particle:nth-child(3n){background:var(--damask)!important}
#hero .crest-mark{color:var(--orris)!important}
#hero .crest-rule{background:linear-gradient(90deg,transparent,var(--orris))!important}
#hero .crest-rule:last-child{background:linear-gradient(90deg,var(--orris),transparent)!important}
#hero .hero-kicker{color:var(--orris)!important;opacity:1}
#hero .ht.wordmark .wm-boutique{background:none!important;-webkit-text-fill-color:var(--bone)!important;color:var(--bone)!important;font-style:italic;font-weight:300}
#hero .hero-meta{color:var(--muted)!important}
#hero .hero-sig .signature{color:var(--orris)!important}
.btn.btn-primary{background:var(--bone)!important;border-color:var(--bone)!important;color:var(--oud)!important}
.btn.btn-primary:hover{background:var(--gold-soft)!important;border-color:var(--gold-soft)!important}
.btng{border-color:var(--orris)!important;color:var(--orris)!important}
.btng:hover{background:rgba(196,154,84,.12)!important;color:var(--gold-soft)!important}
.atelier-form button{background:var(--bone)!important;border-color:var(--bone)!important;color:var(--oud)!important}
.sl,.founder-eyebrow,.ft-loc,.ft-col h4,.tks{color:var(--orris)!important}
.st em,.atelier-title em{color:var(--bone)!important;font-style:italic!important}
.beg-num{-webkit-text-fill-color:var(--orris)!important;color:var(--orris)!important}
.stn{color:var(--bone)!important}
.gb{background:linear-gradient(90deg,var(--orris),transparent)!important}
.mol-card:hover,.beg-card:hover,.fam-card:hover,.go-card:hover,.rec-card:hover,.ext-card:hover,.region-card:hover,.perfumer-card:hover{border-color:rgba(196,154,84,.6)!important}
.perfumer-card.founder{border-color:var(--orris)!important;background:linear-gradient(135deg,rgba(196,154,84,.10),rgba(12,5,4,.4))!important}
nav .brand,nav .logo,nav [class*="brand"],nav [class*="logo"]{color:var(--bone)!important}
::selection{background:var(--orris);color:var(--oud)}
:focus-visible{outline-color:var(--orris)!important}
input:focus,textarea:focus,select:focus{border-color:var(--orris)!important}
a{color:var(--orris)}
.sec,.origin-sec,.mega-timeline,.mol-explorer,.world-map-section,.lineages-section,.reformulation-section,
.scent-wheel-section,.comparator-section,.dupe-section,.vintage-section,.failed-section,.training-section,
.controversy-section,.batch-section,.ifra-section,.price-section,.dna-section,.concentration-section,
.celeb-section,.layering-section{content-visibility:auto;contain-intrinsic-size:auto 900px}
#hero,#intro,#perfumer,#atelier-list,#contact{content-visibility:visible}
.nb{color:var(--bone)!important;font-family:'Bodoni Moda',serif!important;font-size:1.05rem!important;letter-spacing:.01em!important;text-transform:none!important}
.nb{
background:none!important;
-webkit-background-clip:unset!important;
background-clip:unset!important;
-webkit-text-fill-color:var(--bone)!important;
animation:none!important;
filter:none!important}
.nb::before{
content:'\2726'!important;
color:#f2b657!important;
-webkit-text-fill-color:#f2b657!important;
background:none!important;
-webkit-background-clip:unset!important;
background-clip:unset!important;
font-size:.82em;letter-spacing:0;
filter:drop-shadow(0 0 6px rgba(242,182,87,.45))!important}
.nl a,.nl a[style],.nl-drop-btn,.nl-sub a{color:var(--muted)!important}
.nl a:hover,.nl-drop-btn:hover,.nl-sub a:hover{color:var(--bone)!important}
.nl .active,.nl a.active{color:var(--orris)!important}
.quiz-option-icon,.gift-option-icon,.storage-card-icon,.batch-tip-icon,.invest-warning-icon,
.storage-sign-icon,.app-guide-icon,.app-card-icon,.storage-enemy-icon,.dilution-result-icon,
.hero-icon,[class$="-emoji"],[class*="-icon"]:not(.smell-icon):not(.craft-icon):not(.innovation-icon):not(.nav-toggle):not([class*="svg"]){display:none!important}
.smell-icon{color:var(--orris)!important;font-size:1.4rem!important;opacity:.9}
.ricon{display:inline-block;vertical-align:middle;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.craft-icon{display:flex!important;align-items:center;justify-content:center;color:var(--gold);opacity:.85}
.craft-icon .ricon{width:2.9rem;height:2.9rem;stroke-width:1.05}
.smell-icon .ricon{width:1.7rem;height:1.7rem}
.figure-portrait{font-family:'Bodoni Moda','Archivo',serif!important;font-size:2.1rem!important;font-weight:600!important;font-style:normal!important;color:var(--oud)!important;
background:radial-gradient(circle at 38% 30%,var(--gold-soft) 0%,var(--gold) 52%,var(--gdim) 100%)!important;
letter-spacing:0!important;line-height:1!important;text-shadow:0 1px 0 rgba(241,235,225,.4);
box-shadow:inset 0 1px 2px rgba(241,235,225,.45),inset 0 -2px 5px rgba(26,12,10,.5),0 4px 12px rgba(12,5,4,.5);
border:1px solid rgba(241,235,225,.18)}
.innovation-icon{display:flex!important;align-items:center;justify-content:center;background:transparent!important;border:0!important;font-size:0!important;color:transparent!important}
.innovation-icon::before{content:'';width:11px;height:11px;background:var(--gold);opacity:.9;clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}
:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px;border-radius:2px}
a:focus-visible,button:focus-visible,.btn:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}
body{background:var(--oud)!important}
.st em,.atelier-title em,.origin-title em,h2 em{background:none!important;background-image:none!important;
-webkit-background-clip:initial!important;background-clip:initial!important;
-webkit-text-fill-color:var(--bone)!important;color:var(--bone)!important;animation:none!important;text-shadow:none!important}
.shimmer,
#nav-progress{background:var(--orris)!important;box-shadow:none!important;height:1.5px!important}
.nl-drop-btn,.nl-drop-btn[style],.nl-drop-btn.active,.nl-drop-btn:hover{color:var(--muted)!important;text-shadow:none!important}
.nl-drop-btn.active,.nl-drop-btn:hover{color:var(--bone)!important}
.nl-drop-btn::after{background:var(--orris)!important;box-shadow:none!important;height:1px!important}
.decant-btn,.calc-btn,button[class$="-btn"]:not(.era-btn):not(.nl-drop-btn):not(.nav-toggle):not(.btn-primary):not(.quiz-option){
background:transparent!important;border:1px solid var(--orris)!important;color:var(--orris)!important;
font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;border-radius:0!important;
transition:background .25s,color .25s}
.decant-btn:hover,.calc-btn:hover,button[class$="-btn"]:not(.era-btn):not(.nl-drop-btn):not(.nav-toggle):hover{background:rgba(196,154,84,.12)!important;color:var(--gold-soft)!important}
.era-btn.active,.lab-tool-tab.active{border-color:var(--orris)!important;color:var(--bone)!important}
.float-bottle svg,.floating-bottles svg,.fam-card svg,.bottle-showcase svg{filter:saturate(.55) sepia(.18) contrast(1.05);opacity:.92}
html,body{overflow-x:hidden!important;max-width:100vw}
.tk{overflow:hidden!important;max-width:100vw}
.tki{will-change:transform}
.sc{max-width:100vw;overflow:hidden}
@media(max-width:768px){.sc{display:none!important}}
#hero .ht.wordmark{
font-weight:560!important;
font-size:clamp(3rem,8vw,9rem)!important;
letter-spacing:-.028em!important;line-height:.88!important;
background-image:linear-gradient(115deg,#f6f1e7 0%,#efe6d6 28%,#ded6c4 46%,#c39a54 58%,#f1ebe1 78%,#d9c9c4 100%)!important;
background-size:220% 100%!important;
-webkit-background-clip:text!important;background-clip:text!important;
-webkit-text-fill-color:transparent!important;color:transparent!important;
animation:fadeUp .45s .05s ease forwards,wmSheen 9s 1.8s ease-in-out infinite!important;
filter:drop-shadow(0 3px 18px rgba(12,5,4,.85)) drop-shadow(0 0 44px rgba(196,154,84,.30)) drop-shadow(0 0 90px rgba(207,143,146,.14))!important}
#hero .ht.wordmark .wm-boutique{
font-style:italic;font-weight:330;letter-spacing:-.012em;
background-image:linear-gradient(100deg,#e4ddcd 0%,#c39a54 42%,#b0524a 88%)!important;
background-size:200% 100%!important;
-webkit-background-clip:text!important;background-clip:text!important;
-webkit-text-fill-color:transparent!important;color:transparent!important}
@keyframes wmSheen{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
#hero .hero-kicker{color:#ded6c4!important;text-shadow:0 0 24px rgba(196,154,84,.35)}
@media (prefers-reduced-motion:reduce){
#hero .ht.wordmark{animation:fadeUp .45s .05s ease forwards!important}
}
#hero{overflow-x:clip!important}   
#mc{pointer-events:none}
@media(min-width:1200px){
#hero .hc{max-width:1200px!important;width:100%;margin:0 auto!important;
text-align:left!important;align-items:flex-start!important;
padding-right:max(0px,calc(600px - 8vw + 32px))}
#hero .crest,#hero .hb,#hero .hero-sig{justify-content:flex-start!important}
#hero .hs{margin-left:0!important;margin-right:0!important}
#mc{inset:auto!important;left:auto!important;right:8vw!important;
top:max(9vh,84px)!important;transform:none!important;
width:44vw!important;height:78vh!important;opacity:1;
-webkit-mask-image:linear-gradient(180deg,#000 88%,transparent 100%);
mask-image:linear-gradient(180deg,#000 88%,transparent 100%)}
}
@media(min-width:900px) and (max-width:1199px){
#hero .hc{left:5vw!important;transform:translate(0,-50%)!important;
max-width:52vw!important;width:52vw!important;
text-align:left!important;align-items:flex-start!important;padding:1rem 1.5rem!important}
#hero .crest,#hero .hb,#hero .hero-sig{justify-content:flex-start!important}
#hero .hs{margin-left:0!important;margin-right:0!important}
#mc{inset:auto!important;left:auto!important;right:8vw!important;
top:50%!important;transform:translateY(-50%)!important;
width:40vw!important;height:62vh!important;opacity:1;
-webkit-mask-image:linear-gradient(180deg,#000 88%,transparent 100%);
mask-image:linear-gradient(180deg,#000 88%,transparent 100%)}
}
@media(max-width:899px){#mc{opacity:.32}}
#hero::before,#hero::after{display:none!important;content:none!important}
#hero .hero-radial{mix-blend-mode:normal!important;opacity:1!important;
background:radial-gradient(ellipse at 28% 45%,rgba(74,32,26,.55) 0%,rgba(58,26,21,.25) 35%,transparent 65%)!important}
@media(max-width:1199px){
#hero .hero-radial{background:radial-gradient(ellipse at 50% 42%,rgba(74,32,26,.55) 0%,rgba(58,26,21,.25) 35%,transparent 65%)!important}
}
#hero .sc{left:50%!important;right:auto!important;transform:translateX(-50%)!important;
top:auto!important;bottom:32px!important;margin:0!important}
@media(max-width:899px){#hero .sc{display:none!important}}
.flacon-band{position:relative;width:100%;height:clamp(320px,44vh,480px);
margin:2.5rem 0 3rem;overflow:hidden;
background:radial-gradient(ellipse 90% 80% at 50% 45%,#2a120e 0%,#160a08 55%,#0e0605 100%);
border-top:1px solid rgba(196,154,84,.12);border-bottom:1px solid rgba(196,154,84,.12)}
#flacon-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
:root{
--damask:#e8757e;  --damask-deep:#c4565f;   
--vetiver:#93c47d; --vetiver-deep:#6f9e5b;  
--iris:#d0b06a;    --iris-deep:#c8a24e;     
--amberr:#f2b657;  --amberr-deep:#cf9438;   
--marine:#cb9a56;  --marine-deep:#a07d3c;   
--orris:#d0b06a;   --gold:#d0b06a;  --gold-soft:#f3ead4; --gdim:#c8a24e;
--muted:#b6a99c;                            
--bone:#f4eee4;    --cream:#f4eee4}
#hero,#intro,#perfumer,#atelier-list,#contact,#accord-architect,#perfumer-dna,#memory-engine{
--zone:var(--gold); --zb1:#241510; --zb2:#140b08; --zaura:150,100,48}
#precious-materials,#beginners,#origin-rose,#origin-jasmine,#origin-oud,#origin-lavender,#origin-sandalwood,#origin-vetiver,#origin-frankincense,#origin-bergamot,#origin-vanilla,#origin-iris,#global-origins,#world-map,#naturals,#regions,#adulteration{
--zone:var(--damask); --zb1:#251015; --zb2:#140809; --zaura:150,72,58}
#paradox,#syn,#aroma-chemicals,#mol-explorer,#lab,#extraction,#pyr,#accord-building,#skin-chem,#olfactory-thresholds,#natural-vs-synthetic,#trace-impurities,#gcms-decoded,#iso-e-anosmia,#captive-catalog,#olfactory-lab,#scent-memory,#more-accords,#volatility-sim,#dilution-calc,#projection-calc{
--zone:var(--gold); --zb1:#231a11; --zb2:#130d08; --zaura:150,108,52}
#history,#mega-timeline,#perfumer-lineages,#perfumers,#landmarks,#failed,#vintage,#ghost-perfumers,#shalimar-scandal,#formula-theft,#house-signatures,#reformulations,#reformulation,#training-pro,#perfumery-difficulty{
--zone:var(--gold); --zb1:#24160a; --zb2:#110a04; --zaura:150,104,40}
#big-four,#secrets,#costs,#clones,#focus-groups,#illusions,#controversies,#ifra-database,#price-tracker,#celebrity-truth,#investment,#dupes,#brief-economy,#perfumer-ip,#indie-perfumery,#batch-decoder,#comparator,#blind-buy,#office-safe,#compliment-scores,#sample-sets,#collection-analytics{
--zone:var(--gold); --zb1:#20140e; --zb2:#100a06; --zaura:150,100,50}
#scent-quiz,#decant-calc,#accord-builder,#accord-builder-2,#pairing-matrix,#fatigue-timer,#games,#layering,#wardrobe,#storage,#application,#concentration,#gift-finder,#weather-selector,#fragrance-families,#scent-wheel,#appreciation,#gloss,#scent-categories{
--zone:var(--gold); --zb1:#211410; --zb2:#110a07; --zaura:150,100,50}
section[id]{
background:
radial-gradient(ellipse 70% 55% at 18% 0%, rgba(var(--zaura,96,34,30),.28) 0%, transparent 60%),
linear-gradient(180deg,var(--zb1,#2b0f0d) 0%,var(--zb2,#150706) 100%)!important;
border-top:1px solid color-mix(in srgb,var(--zone,#d0b06a) 28%,transparent)!important}
#hero{background:
radial-gradient(ellipse 55% 60% at 82% 18%, rgb(231,214,174,.12) 0%, transparent 60%),
radial-gradient(ellipse 60% 70% at 24% 48%, rgba(110,38,34,.70) 0%, rgba(64,24,21,.38) 38%, transparent 68%),
linear-gradient(180deg,#2e100e 0%,#1c0a09 55%,#0d0505 100%)!important}
section[id] .sl,section[id] .founder-eyebrow,section[id] .beg-num,section[id] .gb,
section[id] .stn,section[id] .st em,section[id] .atelier-title em,section[id] .tks,
section[id] .ft-col h4,section[id] .beg-highlight,section[id] .mol-cas,section[id] .origin-latin{color:var(--zone)!important;-webkit-text-fill-color:var(--zone)!important}
section[id] .gb{background:linear-gradient(90deg,var(--zone),transparent)!important;height:2px!important}
section[id] .st{text-shadow:0 0 60px color-mix(in srgb,var(--zone) 22%,transparent)}
section[id] .mol-card,section[id] .beg-card,section[id] .fam-card,section[id] .go-card,section[id] .rec-card,section[id] .ext-card,
section[id] .region-card,section[id] .perfumer-card,section[id] .vocab-item,section[id] .gloss-item,section[id] .data-highlight,
section[id] .era-event,section[id] .dna-card,section[id] .celeb-card,section[id] .batch-card,section[id] .price-card,section[id] .conc-card{
background:linear-gradient(180deg,color-mix(in srgb,var(--zone) 9%,transparent),rgba(0,0,0,.35))!important;
border:1px solid color-mix(in srgb,var(--zone) 30%,transparent)!important}
section[id] .mol-card:hover,section[id] .beg-card:hover,section[id] .rec-card:hover,section[id] .region-card:hover,section[id] .perfumer-card:hover{
border-color:var(--zone)!important;box-shadow:0 24px 60px -30px color-mix(in srgb,var(--zone) 55%,transparent)!important}
section[id] .tag,section[id] .note-tag,section[id] .mol-tag,section[id] .pill,section[id] .fam-tag,section[id] .key-note{
background:color-mix(in srgb,var(--zone) 16%,transparent)!important;color:var(--zone)!important;
border:1px solid color-mix(in srgb,var(--zone) 45%,transparent)!important}
section[id] .btn.btn-primary,section[id] .atelier-form button{background:var(--zone)!important;border-color:var(--zone)!important;color:#140b0a!important}
section[id] .btng,section[id] .decant-btn,section[id] .calc-btn{border-color:var(--zone)!important;color:var(--zone)!important}
section[id] input:focus,section[id] textarea:focus,section[id] select:focus{border-color:var(--zone)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--zone) 25%,transparent)}
section[id] .stn{font-size:clamp(2.6rem,4.5vw,3.8rem)!important;text-shadow:0 0 40px color-mix(in srgb,var(--zone) 45%,transparent)}
@media(max-width:768px){
section[id]{
background:
radial-gradient(ellipse 120% 40% at 50% 0%, rgba(var(--zaura,96,34,30),.45) 0%, transparent 65%),
linear-gradient(180deg,color-mix(in srgb,var(--zb1,#2b0f0d) 90%,#fff) 0%,color-mix(in srgb,var(--zb2,#150706) 92%,#fff) 100%)!important}
#hero{background:
radial-gradient(ellipse 120% 60% at 50% 30%, rgba(120,40,36,.75) 0%, rgba(64,24,21,.4) 45%, transparent 75%),
linear-gradient(180deg,#34120f 0%,#1e0b0a 60%,#100606 100%)!important}
.grain{opacity:.012!important}
section[id] .sl{font-size:1.1rem!important}
section[id] .stn{font-size:2.8rem!important}
section[id] .beg-num{font-size:2.4rem!important}
section[id] .st{font-size:clamp(2rem,9vw,2.7rem)!important}
section[id] .tag,section[id] .mol-tag,section[id] .pill{font-size:.78rem!important;padding:.35rem .7rem!important}
}
.sc2 .sa{color:color-mix(in srgb,var(--zone,#d0b06a) 62%,#fff 0%)!important;opacity:.85}
sup.cite a{color:#eae0c9!important}
.pq-attr sup.cite a{color:#f2e9d5!important}
#hero .ht.wordmark{
background:none!important;background-image:none!important;
-webkit-text-fill-color:#f4eee4!important;color:#f4eee4!important;
animation:fadeUp .9s .4s ease forwards!important;
filter:drop-shadow(0 3px 18px rgba(12,5,4,.85)) drop-shadow(0 0 44px rgba(242,182,87,.16))!important}
#hero .ht.wordmark .wm-boutique{
background:none!important;background-image:none!important;
-webkit-text-fill-color:#f2b657!important;color:#f2b657!important}
#hero .hero-kicker,#hero .hey{color:#f2b657!important;-webkit-text-fill-color:#f2b657!important;
opacity:.9!important;text-shadow:0 0 24px rgba(242,182,87,.25)!important}
#hero .hs,#hero .hml,#hero .hero-meta{color:#cfc3b3!important;-webkit-text-fill-color:#cfc3b3!important}
#hero .hero-sig .signature{color:#f2b657!important;-webkit-text-fill-color:#f2b657!important}
#hero .crest-mark{color:#f2b657!important;-webkit-text-fill-color:#f2b657!important}
#hero .crest-rule{background:linear-gradient(90deg,transparent,#f2b657)!important}
#hero .crest-rule:last-child{background:linear-gradient(90deg,#f2b657,transparent)!important}
#hero .btn.btn-primary{background:#f2b657!important;border-color:#f2b657!important;color:#140b0a!important}
#hero .btn.btn-primary:hover{background:#cf9438!important;border-color:#cf9438!important;color:#140b0a!important}
#hero .btn.btno{border-color:#f4eee4!important;color:#f4eee4!important;background:transparent!important}
#hero .btn.btno:hover{background:rgba(244,238,228,.1)!important;color:#f4eee4!important}
#hero .sc,#hero .sct{color:#cfc3b3!important}
#hero .scl{background:#cfc3b3!important}
#hero{border-top-color:rgba(242,182,87,.28)!important;
background:
radial-gradient(ellipse 55% 60% at 82% 18%, rgba(242,182,87,.08) 0%, transparent 60%),
radial-gradient(ellipse 60% 70% at 24% 48%, rgba(110,38,34,.70) 0%, rgba(64,24,21,.38) 38%, transparent 68%),
linear-gradient(180deg,#2e100e 0%,#1c0a09 55%,#0d0505 100%)!important}
#hero .particle,#particles .particle{background:#f2b657!important}
#particles .particle:nth-child(3n){background:#f4eee4!important}
.plate,.glyph{color:var(--zone,#d0b06a);display:block}
.plate path,.plate circle,.plate ellipse,.plate line,
.glyph path,.glyph circle,.glyph ellipse,.glyph line{
stroke:currentColor;fill:none;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;
vector-effect:non-scaling-stroke}
.plate .h,.plate path.h,.plate .h path,.glyph .h,.glyph path.h{stroke-width:.55}
.plate .f,.glyph .f{fill:currentColor;fill-opacity:.12;stroke:none}
@media(prefers-reduced-motion:no-preference){
.plate:hover path{stroke-dasharray:620;stroke-dashoffset:620;animation:plateDraw .9s ease forwards}
@keyframes plateDraw{to{stroke-dashoffset:0}}
}
.origin-plate{display:flex;align-items:center;justify-content:center;
background:radial-gradient(ellipse 70% 60% at 50% 42%,color-mix(in srgb,var(--zone,#e8757e) 8%,transparent),transparent 72%)}
.origin-bg.origin-plate{z-index:1;filter:none}
.origin-bg.origin-plate .plate{width:min(48vh,40vw);margin-left:auto;margin-right:6vw}
.origin-img-wrap .origin-plate{min-height:320px;border:1px solid color-mix(in srgb,var(--zone,#e8757e) 22%,transparent);background-color:rgba(0,0,0,.25)}
.origin-img-wrap .origin-plate .plate{width:min(260px,70%)}
.mol-photo.mol-plate{display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3)}
.mol-photo.mol-plate .plate{width:56%;max-width:150px}
.mol-photo.mol-plate .glyph{width:44%;max-width:96px}
.apparatus-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.6rem;margin:2.5rem 0}
.apparatus-band figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.apparatus-band .plate{width:130px}
.apparatus-band figcaption{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.float-bottle .plate{width:100%;height:180px}
@media(max-width:900px){.float-bottle .plate{height:120px}}
@keyframes foilShimmer{0%{background-position:200% center}100%{background-position:-200% center}}
.pq-text::before,.pq-text::after{
background:linear-gradient(90deg,#a07838 0%,#f9de9a 22%,#fff8ec 36%,#f2b657 50%,#fff8ec 64%,#f9de9a 78%,#a07838 100%)!important;
background-size:400% 100%!important;
-webkit-background-clip:text!important;background-clip:text!important;
-webkit-text-fill-color:transparent!important;color:transparent!important;
opacity:1!important;
animation:foilShimmer 5s ease-in-out infinite!important
}
@media(prefers-reduced-motion:reduce){
.pq-text::before,.pq-text::after{
background:var(--amberr)!important;
-webkit-text-fill-color:var(--amberr)!important;
color:var(--amberr)!important;
animation:none!important
}
}
section[id] .sl::after{
content:'';display:inline-block;
width:1.8rem;height:1px;
background:var(--zone,var(--gold));
vertical-align:middle;margin-left:.85rem;opacity:.45
}
section[id] .gb{position:relative}
section[id] .gb::after{
content:'';position:absolute;
left:calc(100% + 6px);top:0;
width:6px;height:2px;
background:var(--zone,var(--gold));opacity:.35
}
.rv{transform:translateY(36px) scale(.975)!important;transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)!important}
.rv.in{transform:none!important}
.rv-l{transform:translateX(-36px) scale(.975)!important;transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)!important}
.rv-l.in{transform:none!important}
.rv-r{transform:translateX(36px) scale(.975)!important;transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)!important}
.rv-r.in{transform:none!important}
.pq{position:relative;overflow:hidden}
.pq::after{
content:'';position:absolute;inset:0;pointer-events:none;
opacity:.024;
background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.04' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
mix-blend-mode:overlay;background-size:200px 200px;z-index:0
}
.pq>*{position:relative;z-index:1}
section[id] .st{
text-shadow:0 0 80px color-mix(in srgb,var(--zone) 28%,transparent),0 2px 40px color-mix(in srgb,var(--zone) 14%,transparent)!important
}
.origin-bg.origin-plate{opacity:.55!important}
.pq-text{font-size:clamp(1.5rem,3vw,2.65rem)!important;line-height:1.65!important;letter-spacing:.025em!important}
.rose-plate{margin:2.6rem auto 3.2rem;width:min(430px,74vw);display:block}.rose-plate img{width:100%;height:auto;display:block}@media (max-width:620px){.rose-plate{margin:2rem auto 2.4rem;width:min(300px,78vw)}}
.mat-plate-deco{display:flex;justify-content:center;margin:2.5rem 0 4rem;opacity:.52}
.mat-plate-deco .plate{width:min(260px,52vw)}
.sci-apparatus-header{
border-top:1px solid color-mix(in srgb,var(--zone,var(--iris)) 20%,transparent);
border-bottom:1px solid color-mix(in srgb,var(--zone,var(--iris)) 20%,transparent);
padding:2rem 0;margin:2.5rem 0 3.5rem;opacity:.7
}
.plate-framed{
padding:10px;
border:1px solid color-mix(in srgb,var(--zone,var(--gold)) 22%,transparent);
background:rgba(0,0,0,.18)
}
.gold-foil{
background:linear-gradient(110deg,#a0692a 0%,#e8c878 22%,#f5e4a0 38%,#c8963e 52%,#f5d98a 68%,#c07830 82%,#e8c878 100%);
background-size:220% auto;
-webkit-background-clip:text;
background-clip:text;
-webkit-text-fill-color:transparent;
color:transparent;
animation:foil-sheen 7s ease-in-out infinite}
@keyframes foil-sheen{
0%{background-position:0% center}
50%{background-position:100% center}
100%{background-position:0% center}
}
@media(prefers-reduced-motion:reduce){.gold-foil{animation:none;background-position:40% center}}
.drop-cap::first-letter{
font-family:'Archivo',serif;
font-size:4em;
font-weight:700;
font-style:italic;
float:left;
line-height:.84;
margin:.05em .14em 0 0;
color:var(--damask);
text-shadow:0 2px 12px rgba(207,143,146,.25)}
.plate-divider{
display:flex;
align-items:center;
gap:1.2rem;
margin:3.5rem auto;
max-width:380px;
opacity:.45;
color:var(--gold)}
.plate-divider::before,.plate-divider::after{
content:'';
flex:1;
height:1px;
background:linear-gradient(90deg,transparent,var(--hair) 30%,var(--hair) 70%,transparent)}
.plate-divider svg{flex:0 0 auto;width:44px;height:14px;stroke:var(--gold);fill:none;stroke-width:1}
.plate-inset{
position:relative;
overflow:hidden}
.plate-inset::after{
content:'';
position:absolute;
inset:8px;
border:1px solid rgba(241,235,225,.10);
pointer-events:none;
border-radius:1px}
.particle{box-shadow:0 0 3px currentColor}
svg.plate{
display:block;
width:100%;
max-width:340px;
margin:0 auto;
stroke:var(--cream);
fill:none;
stroke-width:1;
stroke-linecap:round;
stroke-linejoin:round;
opacity:.72;
filter:drop-shadow(0 4px 24px rgba(207,143,146,.10));
transition:opacity .5s}
svg.plate:hover{opacity:.92}
svg.plate path.h{stroke-width:.45;opacity:.6}
.mat-plate-deco{
display:flex;
justify-content:center;
padding:1rem 0 2rem}
.apparatus-band{
display:flex;
gap:2rem;
justify-content:center;
flex-wrap:wrap;
padding:2rem 0}
.apparatus-band figure{margin:0;text-align:center}
.apparatus-band svg.plate{max-width:200px}
.pq-text{
font-family:'Archivo',serif;
font-style:italic;
font-size:clamp(1.4rem,2.8vw,2.45rem);
line-height:1.58;
color:var(--cream);
letter-spacing:.01em}
.pq-mark{
font-size:5em;
line-height:.4;
vertical-align:-.25em;
color:var(--damask);
opacity:.55;
font-family:'Archivo',serif;
font-style:italic}
.sl::after{
content:'';
display:inline-block;
width:2rem;
height:1px;
background:var(--gold);
vertical-align:middle;
margin-left:.8rem;
opacity:.5}
.parallax-slow{will-change:transform;transition:transform .1s linear}
.ambient-dust{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
#intro,#perfumer,#atelier-list,#contact,#accord-architect,#perfumer-dna,#memory-engine{background:
radial-gradient(ellipse 62% 48% at 12% 0%, rgba(96,34,30,.34) 0%, transparent 62%),
radial-gradient(ellipse 40% 36% at 92% 96%, rgba(242,182,87,.05) 0%, transparent 60%),
linear-gradient(180deg,var(--zb1) 0%,var(--zb2) 100%)!important}
#precious-materials,#beginners,#origin-rose,#origin-jasmine,#origin-oud,#origin-lavender,#origin-sandalwood,#origin-vetiver,#origin-frankincense,#origin-bergamot,#origin-vanilla,#origin-iris,#global-origins,#world-map,#naturals,#regions,#adulteration{background:
radial-gradient(ellipse 52% 44% at 96% 8%, rgba(232,117,126,.13) 0%, transparent 60%),
radial-gradient(ellipse 46% 40% at 4% 92%, rgba(29,43,26,.55) 0%, transparent 58%),
linear-gradient(180deg,var(--zb1) 0%,var(--zb2) 100%)!important}
#paradox,#syn,#aroma-chemicals,#mol-explorer,#lab,#extraction,#pyr,#accord-building,#skin-chem,#olfactory-thresholds,#natural-vs-synthetic,#trace-impurities,#gcms-decoded,#iso-e-anosmia,#captive-catalog,#olfactory-lab,#scent-memory,#more-accords,#volatility-sim,#dilution-calc,#projection-calc{background:
radial-gradient(ellipse 58% 46% at 10% 4%, rgb(231,214,174,.11) 0%, transparent 60%),
radial-gradient(ellipse 34% 52% at 98% 50%, rgba(127,211,214,.06) 0%, transparent 58%),
linear-gradient(180deg,var(--zb1) 0%,var(--zb2) 100%)!important}
#history,#mega-timeline,#perfumer-lineages,#perfumers,#landmarks,#failed,#vintage,#ghost-perfumers,#shalimar-scandal,#formula-theft,#house-signatures,#reformulations,#reformulation,#training-pro,#perfumery-difficulty{background:
radial-gradient(ellipse 60% 42% at 50% 100%, rgba(242,182,87,.10) 0%, transparent 62%),
radial-gradient(ellipse 44% 38% at 90% 4%, rgba(74,32,26,.45) 0%, transparent 58%),
linear-gradient(180deg,var(--zb1) 0%,var(--zb2) 100%)!important}
#big-four,#secrets,#costs,#clones,#focus-groups,#illusions,#controversies,#ifra-database,#price-tracker,#celebrity-truth,#investment,#dupes,#brief-economy,#perfumer-ip,#indie-perfumery,#batch-decoder,#comparator,#blind-buy,#office-safe,#compliment-scores,#sample-sets,#collection-analytics{background:
radial-gradient(ellipse 38% 54% at 97% 40%, rgba(147,196,125,.09) 0%, transparent 58%),
radial-gradient(ellipse 52% 40% at 6% 6%, rgba(20,24,26,.6) 0%, transparent 60%),
linear-gradient(180deg,var(--zb1) 0%,var(--zb2) 100%)!important}
#scent-quiz,#decant-calc,#accord-builder,#accord-builder-2,#pairing-matrix,#fatigue-timer,#games,#layering,#wardrobe,#storage,#application,#concentration,#gift-finder,#weather-selector,#fragrance-families,#scent-wheel,#appreciation,#gloss,#scent-categories{background:
radial-gradient(ellipse 56% 44% at 8% 2%, rgba(127,211,214,.09) 0%, transparent 60%),
radial-gradient(ellipse 48% 40% at 55% 100%, rgba(35,42,48,.55) 0%, transparent 60%),
linear-gradient(180deg,var(--zb1) 0%,var(--zb2) 100%)!important}
section[id]{position:relative}
section[id]::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.028}
#intro::after,#perfumer::after,#atelier-list::after,#contact::after,#accord-architect::after,#perfumer-dna::after,#memory-engine::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012 0.19' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E")}
#precious-materials::after,#beginners::after,#origin-rose::after,#origin-jasmine::after,#origin-oud::after,#origin-lavender::after,#origin-sandalwood::after,#origin-vetiver::after,#origin-frankincense::after,#origin-bergamot::after,#origin-vanilla::after,#origin-iris::after,#global-origins::after,#world-map::after,#naturals::after,#regions::after,#adulteration::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.055 0.008' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");opacity:.024}
#paradox::after,#syn::after,#aroma-chemicals::after,#mol-explorer::after,#lab::after,#extraction::after,#pyr::after,#accord-building::after,#skin-chem::after,#olfactory-thresholds::after,#natural-vs-synthetic::after,#trace-impurities::after,#gcms-decoded::after,#iso-e-anosmia::after,#captive-catalog::after,#olfactory-lab::after,#scent-memory::after,#more-accords::after,#volatility-sim::after,#dilution-calc::after,#projection-calc::after{background-image:repeating-linear-gradient(180deg,transparent 0 27px,rgb(231,214,174,.55) 27px 28px);opacity:.025}
#history::after,#mega-timeline::after,#perfumer-lineages::after,#perfumers::after,#landmarks::after,#failed::after,#vintage::after,#ghost-perfumers::after,#shalimar-scandal::after,#formula-theft::after,#house-signatures::after,#reformulations::after,#reformulation::after,#training-pro::after,#perfumery-difficulty::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.028' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");opacity:.03}
#big-four::after,#secrets::after,#costs::after,#clones::after,#focus-groups::after,#illusions::after,#controversies::after,#ifra-database::after,#price-tracker::after,#celebrity-truth::after,#investment::after,#dupes::after,#brief-economy::after,#perfumer-ip::after,#indie-perfumery::after,#batch-decoder::after,#comparator::after,#blind-buy::after,#office-safe::after,#compliment-scores::after,#sample-sets::after,#collection-analytics::after{background-image:repeating-linear-gradient(45deg,transparent 0 5px,rgba(147,196,125,.5) 5px 6px),repeating-linear-gradient(-45deg,transparent 0 5px,rgba(147,196,125,.35) 5px 6px);opacity:.02}
#scent-quiz::after,#decant-calc::after,#accord-builder::after,#accord-builder-2::after,#pairing-matrix::after,#fatigue-timer::after,#games::after,#layering::after,#wardrobe::after,#storage::after,#application::after,#concentration::after,#gift-finder::after,#weather-selector::after,#fragrance-families::after,#scent-wheel::after,#appreciation::after,#gloss::after,#scent-categories::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.045' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");opacity:.026}
#hero::after{content:none!important}     
.grain{-webkit-mask-image:linear-gradient(#000 0,#000 100vh,transparent 100vh);
mask-image:linear-gradient(#000 0,#000 100vh,transparent 100vh)}
.zone-bridge{height:220px;pointer-events:none;position:relative;z-index:0}
@media(max-width:768px){.zone-bridge{height:120px}}
#hero{position:relative!important}
#hero .sc{position:absolute!important;left:50%!important;right:auto!important;
top:auto!important;bottom:24px!important;transform:translateX(-50%)!important;
margin:0!important;z-index:4!important}
@media(min-width:900px){
#hero .hc{top:calc(50% - 2.6rem)!important}
}
@media(min-width:1301px){
nav{display:flex!important;align-items:center!important;gap:2rem!important;
grid-template-columns:none!important;
padding:.75rem max(2rem,calc((100vw - 1600px)/2))!important}
.nav-left-spacer{display:none!important}
.nb{margin-right:auto!important;flex:0 0 auto}
nav .nl{display:flex!important;flex:0 1 auto;justify-content:flex-end;gap:1.6rem!important;margin:0!important}
}
@media(min-width:1301px) and (max-width:1500px){
nav a,nav button,.nl a,.nl li>a,.nl li>button{font-size:.52rem!important;letter-spacing:.12em!important}
nav .nl{gap:1rem!important}
}
.living{position:relative;z-index:2;height:340px;margin:0 0 2.2rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--zone,#d0b06a) 22%,transparent);background:rgba(0,0,0,.25)}
.origin-sec>.living{margin:4.5rem 4vw 0}
@media(max-width:768px){.living{height:240px;margin-bottom:1.6rem}.origin-sec>.living{margin:4.5rem 3vw 0}}
.topbar{
position:sticky; top:0; z-index:5;
display:flex; align-items:center; justify-content:space-between; gap:1rem;
padding:.95rem clamp(1rem,4vw,3rem);
background:linear-gradient(to bottom, rgba(19,8,7,.94), rgba(19,8,7,.72) 70%, transparent);
backdrop-filter:blur(7px);
border-bottom:1px solid var(--hair)}
.wordmark{
font-family:var(--display); font-weight:400; font-size:1.18rem;
letter-spacing:.055em; text-decoration:none; color:var(--cream); white-space:nowrap}
.wordmark em{font-style:italic; color:var(--gold); font-weight:300}
.menu-btn{
display:inline-flex; align-items:center; gap:.7rem;
min-height:44px; padding:.5rem 1.05rem;
background:transparent; color:var(--cream); cursor:pointer;
border:1px solid var(--hair); border-radius:1px;
font-family:var(--mono); font-size:.64rem; letter-spacing:.3em; text-transform:uppercase;
transition:border-color .35s, color .35s, background .35s}
.menu-btn:hover,.menu-btn:focus-visible{border-color:var(--gold); color:var(--gold-soft); background:var(--gfaint)}
.menu-btn .bars{display:grid; gap:4px; width:17px}
.menu-btn .bars i{display:block; height:1px; background:currentColor}
.menu-btn .bars i:nth-child(2){width:72%}
.menu-btn .bars i:nth-child(3){width:86%}
.scrim{
position:fixed; inset:0; z-index:40; background:rgba(11,5,4,.72);
backdrop-filter:blur(3px);
opacity:0; visibility:hidden;
transition:opacity .45s ease, visibility 0s linear .45s}
.scrim.open{opacity:1; visibility:visible; transition:opacity .45s ease, visibility 0s}
#menu-panel{
position:fixed; inset:0; z-index:50;
display:flex; flex-direction:column;
background:
radial-gradient(120% 90% at 50% 0%, var(--bg3), var(--bg) 55%, var(--bg4) 100%);
opacity:0; visibility:hidden; transform:translateY(10px);
transition:opacity .42s ease, transform .5s cubic-bezier(.2,.7,.2,1), visibility 0s linear .5s;
overflow:hidden}
#menu-panel.open{
opacity:1; visibility:visible; transform:none;
transition:opacity .42s ease, transform .5s cubic-bezier(.2,.7,.2,1), visibility 0s}
#menu-panel::after{ 
content:''; position:absolute; inset:0; pointer-events:none;
box-shadow:inset 0 0 160px 40px rgba(11,5,4,.6)}
.ovl-top{
display:flex; align-items:center; justify-content:space-between; gap:1rem;
padding:1rem clamp(1rem,3.4vw,2.6rem);
border-bottom:1px solid var(--hair); flex:0 0 auto; position:relative; z-index:2}
.ovl-top .eyebrow{letter-spacing:.42em}
.closer{
display:inline-flex; align-items:center; gap:.6rem;
min-height:44px; padding:.45rem .9rem; cursor:pointer;
background:transparent; border:1px solid var(--hair); border-radius:1px; color:var(--cream);
font-family:var(--mono); font-size:.62rem; letter-spacing:.3em; text-transform:uppercase;
transition:border-color .3s,color .3s,background .3s}
.closer:hover,.closer:focus-visible{border-color:var(--gold); color:var(--gold-soft); background:var(--gfaint)}
.ovl-body{
flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain;
padding:clamp(1rem,2.4vw,2rem) clamp(1rem,3.4vw,2.6rem) 1.4rem;
position:relative; z-index:2}
.ovl-grid{max-width:1340px; margin:0 auto; display:grid; gap:clamp(1.4rem,3vw,3rem)}
@media (min-width:1080px){.ovl-grid{grid-template-columns:1.45fr 1fr; align-items:start}}
.ovl-foot::before{                    
content:''; position:absolute; left:0; right:0; bottom:100%; height:60px;
pointer-events:none; background:linear-gradient(to top, var(--bg4), rgba(19,8,7,0))}
.ovl-foot{
flex:0 0 auto; position:relative; z-index:2;
display:flex; flex-wrap:wrap; align-items:center; gap:.4rem 1.8rem;
padding:.7rem clamp(1rem,3.4vw,2.6rem) 1rem;
border-top:1px solid var(--hair)}
.ovl-foot a{
font-family:var(--mono); font-size:.64rem; letter-spacing:.3em; text-transform:uppercase;
color:var(--muted); text-decoration:none;
display:inline-flex; align-items:center; min-height:44px; padding:0 .15rem;
transition:color .3s}
.ovl-foot a:hover,.ovl-foot a:focus-visible{color:var(--gold-soft)}
.ovl-foot .sig{margin-left:auto; font-family:var(--mono); font-size:.58rem; letter-spacing:.26em; color:var(--gdim)}
.organ-wrap{position:relative}
.organ-hint{
margin:.9rem 0 0; text-align:center;
font-family:var(--mono); font-size:.58rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gdim)}
.stage{
position:relative; container-type:inline-size;
width:min(100%, calc((100dvh - 300px) * (1000/860)));
aspect-ratio:1000/860; margin-inline:auto}
.frame{position:absolute; inset:0; width:100%; height:100%; overflow:visible}
.frame path,.frame ellipse,.frame line{
fill:none; stroke:var(--cream); stroke-width:1; stroke-linecap:round; stroke-linejoin:round;
vector-effect:non-scaling-stroke; opacity:.58}
.frame .h{opacity:.27}
.frame .f{fill:var(--cream); fill-opacity:.05; stroke:none}
.bottle{
position:absolute; transform:translate(-50%,-100%);
width:11.5%; padding:0; margin:0; border:0; background:none; cursor:pointer;
color:var(--cream); transform-origin:50% 100%;
transition:transform .5s cubic-bezier(.2,.8,.2,1), color .35s;
outline-offset:7px}
.bottle.t-back{width:11.5%}
.bottle.t-mid{width:13.2%}
.bottle.t-front{width:14.7%}
.flacon{display:block; width:100%; height:auto; overflow:visible}
.flacon path,.flacon ellipse,.flacon circle,.flacon line{
fill:none; stroke:currentColor; stroke-width:1; stroke-linecap:round; stroke-linejoin:round;
vector-effect:non-scaling-stroke}
.flacon .f{fill:currentColor; fill-opacity:.10; stroke:none}
.flacon .gr{fill:currentColor; fill-opacity:.055; stroke:none}
.flacon .h{opacity:.45}
.flacon-g{opacity:.8; filter:drop-shadow(0 3px 12px rgba(0,0,0,.55)); transition:opacity .4s, filter .4s}
.bottle .plaque{
position:absolute; top:100%; left:50%; transform:translateX(-50%);
margin-top:2px; white-space:nowrap;
padding:.3em .5em .26em; border:1px solid rgba(241,235,225,.3);
background:rgba(19,8,7,.55);
font-family:var(--mono); font-weight:400; color:#c6bab0;
font-size:clamp(6.8px,1.16cqw,11.5px); letter-spacing:.12em; text-transform:uppercase;
transition:color .35s, border-color .35s, background .35s;
position:relative}
.bottle[aria-selected="true"] .plaque::after{
content:''; position:absolute; left:-1px; right:-1px; bottom:-4px; height:1px; background:var(--ac); opacity:.8}
.bottle:hover,.bottle:focus-visible{outline:2px solid var(--gold-soft); outline-offset:7px}
.bottle:hover .flacon-g,.bottle:focus-visible .flacon-g{
opacity:1; filter:drop-shadow(0 0 9px var(--ac, var(--gold)))}
.bottle:hover .plaque,.bottle:focus-visible .plaque{
color:var(--cream); border-color:var(--ac, var(--gold)); background:rgba(19,8,7,.85)}
.bottle[aria-selected="true"]{transform:translate(-50%,-100%) translateY(-11px) rotate(-1.6deg); color:var(--ac)}
.bottle[aria-selected="true"] .flacon-g{opacity:1; filter:drop-shadow(0 6px 16px var(--ac))}
.bottle[aria-selected="true"] .plaque{
color:var(--ac); border-color:var(--ac); background:rgba(19,8,7,.9)}
#menu-panel.open .bottle{animation:rise .62s cubic-bezier(.2,.7,.2,1) backwards; animation-delay:calc(var(--i) * 55ms)}
#menu-panel.open .frame{animation:ink .8s ease backwards}
@keyframes rise{from{opacity:0; transform:translate(-50%,-100%) translateY(16px)} to{opacity:1}}
@keyframes ink{from{opacity:0} to{opacity:1}}
.rbm-sec{min-width:0}
.rbm-sec[hidden]{display:none}
.pg{list-style:none; margin:0; padding:0}
.pg li{border-bottom:1px solid var(--hair)}
.pg a{
display:flex; align-items:center; gap:1rem; min-height:44px; padding:.55rem .35rem;
text-decoration:none; color:var(--cream); font-size:1.08rem; font-weight:300;
transition:color .28s, background .28s, padding-left .28s}
.pg a .idx{font-family:var(--mono); font-size:.58rem; letter-spacing:.2em; color:var(--gdim); min-width:2.1em; transition:color .28s}
.pg a .arrow{margin-left:auto; opacity:0; color:var(--ac,var(--gold)); transition:opacity .28s, transform .28s; transform:translateX(-4px)}
.pg a:hover,.pg a:focus-visible{color:var(--ac,var(--gold-soft)); background:var(--gfaint); padding-left:.85rem}
.pg a:hover .idx,.pg a:focus-visible .idx{color:var(--ac,var(--gold))}
.pg a:hover .arrow,.pg a:focus-visible .arrow{opacity:1; transform:none}
@media (max-width:759.98px){
.organ-wrap{display:none}
.ovl-body{padding-left:clamp(1rem,5vw,1.6rem); padding-right:clamp(1rem,5vw,1.6rem)}
.sections{display:grid; gap:2.2rem}
.rbm-sec{display:block !important}       
.sec-sub{display:none}
.sec-h{font-size:1.5rem}
.pg a{min-height:48px; font-size:1.12rem; padding:.7rem .3rem}
.sec-rule{margin-bottom:.1rem}
}
@media (max-width:1079.98px) and (min-width:760px){.stage{width:min(100%, calc((100dvh - 452px) * (1000/860)))}}
.print-card{background:#e8dfc9;padding:1.4rem 1.15rem 1rem;position:relative;isolation:isolate;
box-shadow:0 18px 42px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.07) inset}
.print-card::before{content:"";position:absolute;inset:0;pointer-events:none;filter:url(#rb-paperfx);opacity:.5;mix-blend-mode:multiply;z-index:0}
.print-card::after{content:"";position:absolute;inset:.55rem;border:1px solid rgba(60,42,28,.34);
box-shadow:0 0 0 1px rgba(255,255,255,.5),inset 0 0 14px rgba(120,96,64,.15);pointer-events:none;z-index:2}
.print-card svg.plate{position:relative;z-index:1;color:#3b2a1c;stroke:#3b2a1c;filter:none!important;opacity:1;background:#e8dfc9}
.print-card svg.plate .h,.print-card svg.plate path.h,.print-card svg.plate .hl{stroke:#5a4430}
.print-card svg.plate .pl-ink .sh{fill:#e8dfc9}
.float-bottle.print-card{animation:none;width:auto}
.float-bottle.print-card svg.plate{width:100%;height:auto}
.float-bottle.print-card .float-bottle-era,.float-bottle.print-card .float-bottle-name{color:#5a4430;position:relative;z-index:1;opacity:1}
.float-bottle.print-card .float-bottle-name{font-style:italic}
.print-card--small{padding:1rem .8rem .7rem}
.print-card--small::after{inset:.4rem}
.print-card--figure{padding:1.1rem .9rem .7rem}
.apparatus-band figure.print-card{align-items:stretch}
.apparatus-band .print-card svg.plate{width:100%}
.apparatus-band figure.print-card figcaption{position:relative;z-index:1;color:#5a4430;margin-top:.4rem}
.mol-photo.mol-plate[data-print-plate="loaded"]{background:#e8dfc9;isolation:isolate}
.mol-photo.mol-plate[data-print-plate="loaded"]::after{content:"";position:absolute;inset:.5rem;
border:1px solid rgba(60,42,28,.32);box-shadow:0 0 0 1px rgba(255,255,255,.45);pointer-events:none;z-index:2}
.mol-photo.mol-plate[data-print-plate="loaded"] svg.plate{color:#3b2a1c;stroke:#3b2a1c;filter:none;position:relative;z-index:1;background:#e8dfc9;width:auto;height:180px;max-width:none}
.mol-photo.mol-plate[data-print-plate="loaded"] svg.plate .h,
.mol-photo.mol-plate[data-print-plate="loaded"] svg.plate .hl{stroke:#5a4430}
.mol-photo.mol-plate[data-print-plate="loaded"] svg.plate .pl-ink .sh{fill:#e8dfc9}
.mol-photo.mol-plate[data-print-plate="loaded"] .mol-photo-tag{color:#5a4430;z-index:3}
.mol-plate[data-print-src$="iris-rhizome.svg"] .pl-wash,
.mol-plate[data-print-src$="lavender.svg"] .pl-wash{opacity:0!important;animation:none!important}
.pl .pl-ink *[style*="--i"]{stroke-dasharray:1;stroke-dashoffset:1}
.pl .pl-ink .sh{fill-opacity:0}
.pl .pl-wash{opacity:0;mix-blend-mode:multiply}
.pl{--cut:720ms;--stag:13ms;--hstag:3ms;--wash:900ms}
.pl.is-drawn .pl-ink>*:not(.hx):not(.pl-wash),.pl.is-drawn .pl-ink .sh{
animation:rbCut var(--cut) cubic-bezier(.32,.72,.35,1) forwards,rbFill 240ms ease-out forwards;
animation-delay:calc(var(--i,0) * var(--stag)),calc(var(--i,0) * var(--stag) + var(--cut) * .6)}
.pl.is-drawn .pl-ink .hx>*{animation:rbCut 380ms ease-out forwards;animation-delay:calc(var(--outDur,1200ms) + var(--i,0) * var(--hstag))}
@keyframes rbCut{to{stroke-dashoffset:0}}
@keyframes rbFill{to{fill-opacity:1}}
.pl.is-drawn .pl-wash{animation:rbWash var(--wash) ease-out forwards;animation-delay:var(--inkDur,1400ms)}
@keyframes rbWash{to{opacity:.72}}
@media (prefers-reduced-motion:reduce){
.pl .pl-ink *[style*="--i"]{stroke-dashoffset:0}
.pl .pl-ink .sh{fill-opacity:1}
.pl .pl-wash{opacity:.72}
.pl *,.pl{animation:none!important}
}
@media(max-width:760px){
.print-card{padding:1rem .8rem .7rem}
}
.csp-hover:hover{background:rgba(241,235,225,.12)!important}