:root{--bg:#fcfcfa;--ink:#0e0e10;--fg:#0e0e10;--body:#3b3b42;--muted:#5e5e66;--dim:#8a8a92;--line:#e6e6e0;--hover:#f4f4f0;--pill:#eeeee8;--accent:#c8f24a;--accent-ink:#3b2fe0;--rail:#0e0e10;--rail-fg:#fcfcfa;--rail-hover:#1b1b20;--rail-line:#24242a;--rail-muted:#b4b4bc;--px:clamp(18px,3vw,56px);--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:"Space Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{color-scheme:light;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}
code{font-family:var(--mono);font-size:.9em;background:var(--pill);padding:1px 5px;border-radius:3px}
.grain{position:fixed;inset:0;pointer-events:none;z-index:50;mix-blend-mode:multiply;opacity:.16;background-size:180px 180px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}

/* shell: dark rail + light main */
.shell{display:flex;flex-wrap:wrap;align-items:flex-start;min-height:100vh}
aside.rail{flex:1 1 240px;background:var(--rail);color:var(--rail-fg);padding:26px clamp(18px,2vw,28px);display:flex;flex-direction:column;gap:36px;align-self:flex-start;min-width:0}
.rail a{color:inherit}.rail a:hover{text-decoration:none}
.brand{display:block;font-size:19px;font-weight:700;letter-spacing:-.04em}
.rail .sub{font-size:12px;color:var(--dim);margin-top:4px;line-height:1.4}
nav.main{display:flex;flex-direction:column;gap:2px}
nav.main a{display:flex;gap:12px;align-items:baseline;padding:9px 10px;margin-left:-10px;border-radius:4px;font-size:14px;font-weight:500}
nav.main a:hover,nav.main a[aria-current]{background:var(--rail-hover);color:var(--accent)}
nav.main .no{font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}
.rail .foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.rail .btn{display:block;background:var(--accent);color:var(--ink);font-size:13px;font-weight:600;padding:12px 16px;border-radius:4px;text-align:center}
.rail .btn:hover{filter:brightness(1.1)}
.rail .note{font-size:11px;color:var(--dim);line-height:1.5}
@media (min-width:760px){aside.rail{position:sticky;top:0;min-height:100vh;max-height:100vh;overflow-y:auto}}
@media (max-width:759px){aside.rail{gap:18px;padding:18px}nav.main{flex-direction:row;flex-wrap:wrap;gap:0 2px}nav.main a{margin-left:0;padding:7px 9px}.rail .foot{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}.rail .btn{padding:9px 14px}}
main{flex:999 1 min(100%,460px);min-width:0}

/* type + shared blocks */
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid #e0e0da;border-radius:100px;padding:6px 12px}
.badge i{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.h2{font-weight:600;font-size:clamp(26px,3.4vw,44px);letter-spacing:-.045em;line-height:1.05;margin:0;text-wrap:balance}
.sec{padding:clamp(40px,5vw,84px) var(--px);border-top:1px solid var(--line)}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:0 var(--px) 20px}
.sec-note{font-size:13px;color:var(--muted);max-width:38ch;line-height:1.45}
.sec-sub{margin:12px 0 0;max-width:54ch;font-size:clamp(15px,1.15vw,17px);line-height:1.55;color:var(--body);text-wrap:pretty}
.more{font-size:13px;font-weight:500;margin:18px 0 0}
.answer{border-top:2px solid var(--ink);padding-top:14px;max-width:68ch;margin:0 0 22px;font-size:clamp(16px,1.25vw,19px);line-height:1.5;letter-spacing:-.01em}
.answer strong{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.tag{display:inline-block;flex:0 0 auto;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--body);background:var(--pill);border-radius:100px;padding:5px 11px;white-space:nowrap;line-height:1.2}
.tag.ink{background:var(--ink);color:var(--bg)}
.pill{display:inline-block;font-size:12px;padding:2px 9px;border-radius:100px;background:var(--pill);color:var(--body);white-space:nowrap;margin:1px 3px 1px 0}
.pill.ok,.pill.warn{font-weight:600;padding:2px 10px}
.pill.ok{background:var(--ink);color:var(--bg)}.pill.warn{background:transparent;border:1px solid var(--line);color:var(--muted)}

/* homepage */
.hero{padding:clamp(34px,4.5vw,76px) var(--px) clamp(26px,3vw,48px)}
.hero .badge{margin-bottom:clamp(22px,3vw,40px)}
.hero h1{font-weight:500;font-size:clamp(40px,7.4vw,112px);line-height:.94;letter-spacing:-.055em;margin:0;max-width:15ch;text-wrap:balance}
.hero .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(18px,2.5vw,44px);margin-top:clamp(24px,3vw,44px)}
.hero .lead{margin:0;font-size:clamp(16px,1.3vw,19px);line-height:1.5;max-width:44ch;color:var(--body);text-wrap:pretty}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr));gap:14px;align-self:start}
.stat{border-top:2px solid var(--ink);padding-top:10px}
.stat b{display:block;font-size:clamp(24px,2.6vw,38px);font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}
.stat span{display:block;font-size:12px;color:var(--muted);margin-top:4px;line-height:1.35}
.plate{position:relative;width:100%;height:clamp(200px,26vw,400px);overflow:hidden;background:var(--ink)}
.plate svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.answer-sec{padding:clamp(36px,4.5vw,64px) var(--px) clamp(20px,2.5vw,36px)}
.answer-sec .answer{margin:0}
.index{padding:clamp(36px,4.5vw,76px) 0 0}
a.row{display:flex;flex-wrap:wrap;gap:clamp(10px,1.6vw,26px);align-items:center;padding:clamp(14px,1.5vw,20px) var(--px);border-top:1px solid var(--line);border-left:3px solid transparent;color:inherit}
a.row:hover{background:var(--hover);border-left-color:var(--accent);text-decoration:none}
.row .no{flex:0 0 28px;font-size:12px;color:#6f6f78;font-variant-numeric:tabular-nums}
.row .who{flex:2 1 240px;min-width:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.row .name{font-size:clamp(18px,1.9vw,26px);font-weight:500;letter-spacing:-.035em}
.row .focus{font-size:12px;color:var(--muted)}
.row .tags{flex:0 0 auto;display:flex;gap:8px;flex-wrap:wrap}
@media (min-width:1100px){.row .tags{flex-basis:270px}}
.row .meta{flex:1 1 160px;min-width:0;font-size:12px;color:var(--muted);line-height:1.4}
.search{width:100%;max-width:420px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg);font:inherit;font-size:14px;margin:0 0 12px}
.search:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--ink)}
.sec-head .search{margin:0;max-width:320px}
.bars{display:flex;flex-direction:column;gap:10px}
a.bar{display:flex;flex-wrap:wrap;gap:clamp(10px,1.6vw,24px);align-items:center;color:inherit}
a.bar:hover{text-decoration:none}a.bar:hover .bar-label{color:var(--accent-ink)}
.bar-label{flex:0 0 auto;width:230px;font-size:14px;font-weight:500;letter-spacing:-.01em;line-height:1.3}
.bar-track{flex:1 1 200px;min-width:0;height:26px;background:var(--pill)}
.bar-fill{height:100%;background:var(--ink)}.bar-fill.first{background:var(--accent-ink)}
.bar-pct{flex:0 0 64px;font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted);text-align:right}
.bar-note{flex:2 1 260px;min-width:0;font-size:13px;color:var(--muted);line-height:1.45}
.dark{background:var(--ink);color:var(--rail-fg);border-top:1px solid var(--line)}
.dark .sec-head{padding:clamp(36px,4.5vw,72px) var(--px) clamp(14px,1.6vw,22px)}
.dark .sec-note{color:var(--rail-muted)}
.dark .more{padding:clamp(18px,2vw,28px) var(--px);border-top:1px solid var(--rail-line);margin:0}
.dark .more a,.dark .eyebrow{color:var(--rail-muted)}.dark .more a:hover{color:var(--accent)}
.mrow{display:flex;flex-wrap:wrap;gap:clamp(12px,2.4vw,36px);align-items:flex-start;padding:clamp(18px,2vw,28px) var(--px);border-top:1px solid var(--rail-line)}
.mrow .no{flex:0 0 auto;font-size:13px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;padding-top:4px}
.mrow h3{flex:1 1 240px;min-width:0;font-size:clamp(18px,1.8vw,26px);font-weight:500;letter-spacing:-.035em;line-height:1.2;margin:0;text-wrap:balance}
.mrow h3 a{color:inherit;text-decoration:none}.mrow h3 a:hover{color:var(--accent);text-decoration:none}
.mrow h3 small{display:block;font-size:13px;font-weight:400;letter-spacing:0;color:var(--rail-muted);margin-top:8px;line-height:1.45;max-width:36ch}
.mrow h3 .tag{margin-left:8px;vertical-align:middle;background:var(--accent);color:var(--ink)}
.mrow .body{flex:1 1 260px;min-width:0;max-width:52ch}
.mrow p{margin:0;font-size:clamp(14px,1.1vw,16px);line-height:1.55;color:var(--rail-muted);text-wrap:pretty}
.mrow p+p{margin-top:10px}
.mrow a,.dark a{color:var(--rail-fg);text-decoration:underline;text-decoration-color:var(--rail-line);text-underline-offset:3px}
.mrow .why{color:var(--rail-fg)}
.quote{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));border-top:1px solid var(--line)}
.quote .txt{padding:clamp(32px,4vw,68px) var(--px);display:flex;flex-direction:column;justify-content:center}
.quote .eyebrow{margin-bottom:18px}
.quote .big{font-size:clamp(20px,2.2vw,32px);font-weight:500;line-height:1.2;letter-spacing:-.04em;max-width:26ch;text-wrap:pretty}
.quote .links{margin-top:22px;font-size:13px;font-weight:500;display:flex;gap:18px;flex-wrap:wrap}
.quote .plate{height:auto;min-height:clamp(220px,26vw,400px);background:var(--pill)}
.gloss-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.gloss-grid .cell{background:var(--bg);padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.gloss-grid .cell:hover{background:var(--hover)}
.gloss-grid b{display:block;font-size:15px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}.gloss-grid b a{color:inherit}
.gloss-grid p{margin:0;font-size:14px;line-height:1.5;color:var(--muted);text-wrap:pretty}
.faq details{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;display:flex;gap:16px;align-items:baseline;padding:clamp(14px,1.6vw,22px) 0;font-size:clamp(16px,1.5vw,21px);font-weight:500;letter-spacing:-.03em;line-height:1.25;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--accent-ink)}
.faq summary .no{flex:0 0 auto;font-size:12px;font-weight:600;color:#6f6f78;font-variant-numeric:tabular-nums}
.faq details p{margin:0 0 clamp(18px,2vw,26px) 28px;max-width:60ch;font-size:15px;line-height:1.6;color:var(--muted);text-wrap:pretty}
ul.timeline{list-style:none;padding:0;margin:0}
ul.timeline li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
ul.timeline li b{font-variant-numeric:tabular-nums;font-weight:500;font-size:13px;color:var(--muted);padding-top:2px}
ul.timeline li span{font-size:15px;line-height:1.45}
ul.timeline li span a{color:inherit;font-weight:500}ul.timeline li span a:hover{color:var(--accent-ink)}
ul.timeline li small{display:block;font-size:13px;color:var(--muted);margin-top:2px}

/* inner pages */
.page{padding:clamp(28px,3.5vw,56px) var(--px) clamp(40px,5vw,84px)}
.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:clamp(18px,2.5vw,32px);letter-spacing:.02em}.breadcrumb a{color:var(--muted)}
.page h1{font-weight:500;font-size:clamp(32px,4.6vw,64px);line-height:1;letter-spacing:-.05em;margin:0 0 clamp(16px,2vw,24px);max-width:22ch;text-wrap:balance}
.page h2{font-weight:600;font-size:clamp(20px,2.1vw,28px);letter-spacing:-.035em;line-height:1.1;margin:clamp(36px,4vw,56px) 0 14px;padding-top:18px;border-top:1px solid var(--line)}
.page h3{font-size:16px;font-weight:600;letter-spacing:-.02em;margin:22px 0 8px}
.page p{max-width:72ch}
p.lead{font-size:17px;color:var(--body);max-width:60ch;margin:0 0 18px}
.tablewrap{overflow-x:auto;border:1px solid var(--line);margin:8px 0 6px}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap;background:var(--hover)}
tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--hover)}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:12px}
.card{background:var(--bg);padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.card:hover{background:var(--hover)}
.card h3{margin:0 0 4px;font-size:17px;font-weight:600;letter-spacing:-.02em}.card h3 a{color:inherit}.card h3 a:hover{color:var(--accent-ink)}
.card .meta{font-size:12px;color:var(--muted);margin-bottom:8px}.card p{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--body)}
.card.featured{grid-column:1/-1;border-left:3px solid var(--accent)}
.rank{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px;font-weight:500;margin-right:8px}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:0 24px;font-size:14px;margin:0 0 6px;border-top:1px solid var(--line)}
.facts dt,.facts dd{margin:0;padding:9px 0;border-bottom:1px solid var(--line)}
.facts dt{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding-top:12px}
ul.tight{padding-left:20px}ul.tight li{margin:5px 0}
.byline{font-size:13px;color:var(--muted);margin:10px 0 0}
.cta{background:var(--ink);color:var(--rail-fg);padding:clamp(18px,2vw,26px) clamp(18px,2vw,28px);margin:22px 0;line-height:1.55;font-size:15px}
.cta b{display:block;font-size:17px;font-weight:500;letter-spacing:-.02em;margin-bottom:6px}.cta b+br{display:none}
.cta a{color:var(--rail-fg);text-decoration:underline;text-decoration-color:var(--rail-line);text-underline-offset:3px}
.cta a.btn{display:inline-block;background:var(--accent);color:var(--ink);padding:9px 14px;border-radius:4px;font-weight:600;font-size:13px;margin-top:12px;text-decoration:none}
.cta a.btn:hover{filter:brightness(1.1)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(18px,3vw,40px)}
dl.gloss dt{font-weight:600;margin-top:16px;font-size:16px;letter-spacing:-.02em}dl.gloss dd{margin:3px 0 0;color:var(--body);max-width:72ch}
footer.site{border-top:1px solid var(--line);padding:clamp(28px,3.5vw,52px) var(--px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:24px;font-size:13px;color:var(--muted)}
footer.site .about{max-width:38ch;line-height:1.5;grid-column:span 2}
footer.site h4{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0 0 10px}
footer.site .col{display:flex;flex-direction:column;gap:6px}
footer.site a{color:inherit;width:max-content;max-width:100%}footer.site a:hover{color:var(--ink);text-decoration:none}
footer.site p{margin:0 0 10px}
@media (max-width:640px){.facts{grid-template-columns:1fr}.facts dt{border-bottom:0;padding-bottom:0}.two{grid-template-columns:1fr}ul.timeline li{grid-template-columns:1fr;gap:2px}.bar-label{width:100%}footer.site .about{grid-column:auto}}
/* Visual enhancements are source assets; build.py includes these in style.css. */
html{scroll-behavior:smooth;scroll-padding-top:24px}
::selection{background:var(--accent);color:var(--ink)}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent-ink);outline-offset:5px}
.rail a:focus-visible,.security-art a:focus-visible,.motion-toggle:focus-visible{outline-color:var(--accent)}
nav.main a,a.row,.card,.cell,.rail .btn{transition:background .22s,color .22s,border-color .22s,transform .22s}
nav.main a:hover{transform:translateX(4px)}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px;font-size:12px;font-weight:500}
.hero-actions>a{color:var(--ink)}
.hero-actions .explore-btn{display:inline-flex;align-items:center;gap:30px;padding:12px 17px;background:var(--ink);color:var(--bg);border:1px solid var(--ink);transition:background .2s,color .2s}
.hero-actions .explore-btn:hover{background:var(--accent);color:var(--ink);text-decoration:none}
.security-art{position:relative;isolation:isolate;overflow:hidden;height:clamp(370px,34vw,510px);background:#0e0e10;color:var(--bg)}
.image-filters{position:absolute;pointer-events:none}
.security-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:70% 50%;z-index:-3;filter:grayscale(1) contrast(1.2)}
.security-art[data-treatment="acid"] .security-image{filter:url(#ink-acid) contrast(1.15)}
.security-art[data-treatment="infrared"] .security-image{filter:url(#ink-infrared) contrast(1.1)}
.security-art[data-renderer="ready"] .security-image{opacity:0}
.security-art::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.18;background-image:radial-gradient(#050505 .6px,transparent .8px);background-size:3px 3px;mix-blend-mode:multiply}
.security-art::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(14,14,16,.94),rgba(14,14,16,.62) 32%,transparent 65%),linear-gradient(0deg,rgba(14,14,16,.7),transparent 25%)}
.security-canvas{position:absolute;inset:0;z-index:-2;pointer-events:none}
.security-canvas canvas{display:block;width:100%;height:100%}
.art-top,.art-bottom{position:absolute;left:var(--px);right:var(--px);display:flex;align-items:center;justify-content:space-between;gap:16px;font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.12em}
.art-top{top:24px;color:#c5c5be}.art-bottom{bottom:22px;color:#b9bbb1}
.art-top>span:first-child::before{content:"+";margin-right:14px;color:var(--accent)}
.treatment-switch{display:flex;border:1px solid #62665a;background:#0e0e10b8;padding:3px;gap:2px}
.treatment-switch[hidden]{display:none}
.treatment-switch button{font:10px/1.2 var(--mono);letter-spacing:.04em;background:transparent;border:0;color:#d6d8cd;padding:10px 12px;cursor:pointer;min-height:36px}
.treatment-switch button[aria-pressed="true"]{background:var(--accent);color:var(--ink)}
.treatment-switch button:hover:not([aria-pressed="true"]){background:#31332b}
.treatment-switch button:focus-visible{outline-color:var(--accent);outline-offset:1px}
.art-copy{position:absolute;left:var(--px);top:50%;transform:translateY(-45%);max-width:47%}
.art-copy .eyebrow{color:#b7c89d;font-size:10px}
.art-copy h2{font-size:clamp(29px,3.8vw,56px);font-weight:500;line-height:1.06;letter-spacing:-.045em;margin:16px 0 24px}
.art-copy a{display:inline-flex;align-items:center;gap:28px;color:var(--accent);font-size:12px;border-bottom:1px solid #667540;padding-bottom:6px}
.art-copy a:hover{text-decoration:none;border-color:var(--accent)}
.motion-toggle{border:1px solid #686b5d;border-radius:30px;color:var(--bg);background:rgba(14,14,16,.7);padding:8px 13px;font:10px/1.2 var(--mono);cursor:pointer;white-space:nowrap}
.motion-toggle:hover{border-color:var(--accent);color:var(--accent)}
.motion-toggle[hidden]{display:none}
.method-art{margin:0;position:relative;overflow:hidden;background:#eeeee8;min-height:380px}
.method-art img{display:block;width:100%;height:100%;max-height:620px;object-fit:cover;filter:grayscale(1) contrast(1.4);transition:transform 1.2s cubic-bezier(.2,.6,.3,1),filter .4s}
.method-art:hover img{transform:scale(1.025);filter:url(#ink-acid) contrast(1.3)}
.method-art::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.3;background:repeating-linear-gradient(0deg,#15151555 0 1px,transparent 1px 4px);mix-blend-mode:multiply}
.registration-mark{position:absolute;top:24px;left:24px;width:40px;height:40px;border:1px solid #0e0e10;display:grid;place-items:center;color:#0e0e10;font:24px var(--mono);mix-blend-mode:multiply}
.method-art figcaption{position:absolute;z-index:1;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:16px;padding:20px 24px;background:#d4ec91;font:9px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#1e2414}
.bar-fill{transform-origin:left}
.reveal-on-enter{animation:reveal-in .7s cubic-bezier(.2,.7,.3,1) both}
.bars.reveal-on-enter .bar-fill{animation:bar-in 1s cubic-bezier(.2,.7,.3,1) both}
.bars.reveal-on-enter .bar:nth-child(2) .bar-fill{animation-delay:.08s}
.bars.reveal-on-enter .bar:nth-child(3) .bar-fill{animation-delay:.16s}
.bars.reveal-on-enter .bar:nth-child(4) .bar-fill{animation-delay:.24s}
.bars.reveal-on-enter .bar:nth-child(5) .bar-fill{animation-delay:.32s}
@keyframes reveal-in{from{opacity:.3;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes bar-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:760px){.hero h1{font-size:clamp(40px,6.9vw,106px)}.hero{padding-top:clamp(34px,3.8vw,64px)}}
@media(max-width:759px){
  .hero-actions{gap:18px}.security-art{height:620px}
  .security-image{object-position:70% 50%}
  .security-art::after{background:linear-gradient(90deg,rgba(14,14,16,.86),rgba(14,14,16,.12)),linear-gradient(0deg,rgba(14,14,16,.85),transparent 70%)}
  .art-copy{top:auto;bottom:95px;transform:none;max-width:90%}.art-copy h2{font-size:38px}
  .art-top{flex-wrap:wrap;gap:14px}.treatment-switch button{min-height:40px;padding:10px 14px}
  .art-bottom{align-items:flex-end;font-size:8px}.art-bottom>span{max-width:180px}
  .method-art{min-height:300px}.method-art img{max-height:480px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .method-art:hover img,nav.main a:hover{transform:none}
}
@media print{.security-canvas,.motion-toggle,.treatment-switch{display:none!important}.security-art[data-renderer="ready"] .security-image{opacity:1}}

/* Inner pages: editorial typography and decorative photographic prints. */
.dossier{container-type:inline-size}
.dossier-head{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;margin-bottom:34px}
.dossier-title .eyebrow{font:10px var(--mono);letter-spacing:.12em;margin-bottom:22px}
.dossier-title h1{font-size:clamp(34px,4vw,62px);line-height:1.02;max-width:18ch;margin:0 0 24px;overflow-wrap:anywhere}
.dossier-deck{font-size:18px;line-height:1.4;letter-spacing:-.02em;color:var(--body);max-width:30ch!important}
.dossier-stamp{display:flex;flex-wrap:wrap;gap:12px 22px;padding-top:20px;margin-top:32px;border-top:1px solid var(--line);font:9px/1.5 var(--mono);text-transform:uppercase;color:var(--muted)}
.ambient-art{position:relative;isolation:isolate;min-width:0;overflow:hidden;background:#0e0e10;box-shadow:7px 7px 0 #e8e9df}
.ambient-stage{height:340px;position:relative;pointer-events:none;user-select:none}
.ambient-stage img,.ambient-canvas{position:absolute;inset:0;width:100%;height:100%}
.ambient-stage img{object-fit:cover;object-position:70% 50%;filter:grayscale(1) contrast(1.3)}
.ambient-art[data-treatment="acid"] .ambient-stage{background:#c8f24a}
.ambient-art[data-treatment="acid"] .ambient-stage img{mix-blend-mode:multiply}
.ambient-art[data-treatment="infrared"] .ambient-stage img{filter:sepia(.7) saturate(1.8) hue-rotate(310deg) contrast(1.2)}
.ambient-canvas canvas{display:block;width:100%;height:100%;pointer-events:none}
.ambient-canvas canvas[hidden]{display:none}
.ambient-art[data-ready] .ambient-stage img{opacity:0}
.ambient-pause{position:absolute;bottom:14px;right:14px;border:1px solid #929a81;background:#0e0e10c9;color:#eceee4;padding:8px 11px;font:9px var(--mono);cursor:pointer;opacity:.65}
.ambient-pause:hover,.ambient-pause:focus-visible{opacity:1;outline-color:var(--accent)}
.ambient-pause[hidden]{display:none}
.dossier>.answer{border:0;border-left:3px solid var(--accent);padding:4px 0 4px 20px;margin:24px 0 30px;max-width:76ch}
.dossier>h2,.check-group h2{position:relative;padding-top:25px;margin-top:46px}
.dossier .facts{background:#f4f4ed;padding:8px 20px;margin-top:24px;overflow-wrap:anywhere}
.dossier .facts dd{min-width:0}
.dossier .tablewrap{border-color:#d9dbcf;margin-top:20px}
.dossier table{min-width:650px}.dossier th{background:#e9ecdf;padding:14px 16px;position:sticky;top:0}
.dossier td{padding:16px;line-height:1.5}.dossier td:first-child{min-width:170px}
.dossier td:first-child>a{font-weight:600;color:var(--ink);font-size:16px}
.dossier tbody tr:hover td{background:#f0f5e1}
.dossier .cards{gap:16px;border:0;margin-top:28px}
.dossier .card{border:1px solid var(--line);padding:26px;position:relative;box-shadow:0 0 0 transparent;transition:box-shadow .25s,transform .25s,background .25s}
.dossier .card:hover{transform:translateY(-3px);box-shadow:5px 5px 0 #dce7bd;background:#f7f8f1}
.dossier .card.featured{border-left:3px solid var(--accent);background:var(--ink);color:var(--bg)}
.dossier .card.featured .meta,.dossier .card.featured p,.dossier .card.featured .rank{color:#bdc4b3}.dossier .card.featured a{color:var(--accent)}
.dossier .card h3{font-size:22px;margin-bottom:10px}.dossier .card .rank{font:10px var(--mono);display:block;margin-bottom:12px}
.dossier .two{padding:0 20px 22px;background:#f3f4ec;border-top:1px solid var(--line);margin-top:30px}
.dossier .two h2{border:0;margin-top:12px}
.dossier dl.gloss{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;margin-top:32px}
.gloss-entry{border-top:1px solid var(--ink);padding:20px 0 28px}
.dossier dl.gloss dt{margin:0 0 12px;display:flex;align-items:baseline;gap:14px;font-size:20px;line-height:1.2}
.dossier dl.gloss dt a{color:var(--ink)}.term-number{font:10px var(--mono);color:var(--muted)}
.dossier dl.gloss dd{font-size:14px;line-height:1.6;margin-left:28px}
.dossier ul.timeline{position:relative;margin:38px 0 24px;padding-left:24px;border-left:1px solid #c3cca8}
.dossier ul.timeline li{position:relative;padding:22px 0;grid-template-columns:110px 1fr}
.dossier ul.timeline li::before{content:"";position:absolute;left:-29px;top:28px;width:9px;height:9px;background:#d2dfaf;border:2px solid var(--bg);outline:1px solid #718546}
.dossier ul.timeline li:target{background:#f0f5e3}.dossier ul.timeline li span>a{display:inline-block;font-size:19px;line-height:1.3;margin-bottom:9px}
@container(max-width:740px){.dossier-head{grid-template-columns:1fr}.dossier-title h1{max-width:24ch}.dossier-stamp{margin-top:20px}.ambient-art{max-width:100%;box-shadow:5px 5px 0 #e8e9df}.ambient-stage{height:280px}.dossier-title{max-width:100%}}
@container(max-width:480px){.dossier dl.gloss{grid-template-columns:1fr}.dossier ul.timeline li{grid-template-columns:1fr;gap:6px}.dossier-title h1{font-size:36px}.dossier .facts{padding:8px 12px}.dossier .two{padding:0 12px 18px}}
@media(prefers-reduced-motion:reduce){.dossier .card:hover{transform:none}}
@media print{.ambient-canvas,.ambient-pause{display:none!important}.ambient-art[data-ready] .ambient-stage img{opacity:1}.ambient-art{break-inside:avoid}}
