/* 01. Design tokens */
:root{--obsidian:#23242a;--indigo:#434f78;--verdigris:#4f7a73;--gold:#b68a49;--carmine:#9a5962;--stone:#6a7b8c;--sage:#7d8474;--pale-indigo:#e3e6ef;--verdigris-wash:#e1ebe7;--carmine-wash:#efe2e4;--gold-wash:#f1e7d4;--paper:#f8f4eb;--cool:#eef0f2;--graphite:#393c42;--muted:#777b82;--white:#fff;--font-editorial:Georgia,Cambria,"Times New Roman",Times,serif;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;--fs-sm:clamp(.72rem,.68rem + .15vw,.82rem);--fs-body:clamp(.98rem,.94rem + .18vw,1.08rem);--fs-h3:clamp(1.25rem,1.1rem + .6vw,1.65rem);--fs-h2:clamp(2rem,1.55rem + 2vw,3.6rem);--fs-h1:clamp(2.65rem,1.8rem + 3.8vw,5.6rem);--space:clamp(4.5rem,8vw,8rem);--container:1200px;--border:1px solid rgba(35,36,42,.18);--radius:2px;--shadow:0 14px 35px rgba(35,36,42,.09);--transition:220ms ease}
/* 02. Reset */
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,h4,p,ul{margin:0}ul{padding:0}img{display:block;max-width:100%}button,input{font:inherit}a{color:inherit}button{cursor:pointer}
/* 03. Base */
body{background:var(--paper);color:var(--graphite);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.7;overflow-x:hidden}.container{width:min(calc(100% - 2rem),var(--container));margin-inline:auto}.narrow{max-width:850px}.section{padding:var(--space) 0}.section-intro{max-width:780px;margin-top:1.5rem;color:var(--muted)}
/* 04. Accessibility */
.skip-link{position:fixed;z-index:1000;top:1rem;left:1rem;background:var(--white);color:var(--obsidian);padding:.8rem 1rem;transform:translateY(-180%)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
/* 05. Typography */
h1,h2,h3{font-family:var(--font-editorial);color:var(--obsidian);font-weight:500;line-height:1.08}h1{font-size:var(--fs-h1);letter-spacing:-.045em}h2{font-size:var(--fs-h2);letter-spacing:-.025em;max-width:950px}h3{font-size:var(--fs-h3)}h4,.eyebrow,.tag,.micro,.orcid,.slip-head,.case-code,.protocol span,.field>span{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.eyebrow{font-size:var(--fs-sm);color:var(--indigo);font-weight:700;margin-bottom:1rem}.lead{font-size:clamp(1.05rem,.95rem + .45vw,1.3rem);max-width:680px;color:var(--muted)}
/* 06. Layout */
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:2rem 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.1rem;text-decoration:none;border:1px solid var(--obsidian);font-weight:650}.button.primary{background:var(--obsidian);color:var(--white)}.button.secondary{background:transparent}.button:hover{transform:translateY(-2px)}
/* 07. Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(248,244,235,.96);border-bottom:var(--border);backdrop-filter:blur(8px)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{width:clamp(235px,26vw,380px)}.site-header nav{display:flex;align-items:center;gap:clamp(.65rem,1.1vw,1.25rem);font-size:.82rem}.site-header nav a{text-decoration:none}.nav-cta{border-left:1px solid var(--gold);padding-left:1rem;font-weight:700}.menu-toggle{display:none;border:0;background:none;padding:.6rem}.menu-toggle span{display:block;width:25px;height:2px;background:var(--obsidian);margin:5px}
/* 08. Hero */
.hero{padding:clamp(4rem,7vw,8rem) 0;background:var(--paper)}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(500px,1fr);gap:clamp(2rem,6vw,7rem);align-items:center}.hero h1 em{color:var(--indigo);font-style:italic}.hero .lead{margin-top:1.7rem}.micro{font-size:.75rem;color:var(--muted)}
/* 09. Evidence Desk */
.desk{position:relative;min-height:650px}.desk-note{position:absolute;bottom:0;left:7%;max-width:88%;padding-top:1rem;border-top:1px solid var(--stone);font-size:.78rem;color:var(--muted)}
/* 10. Evidence Slips */
.slip{position:absolute;width:78%;padding:1.35rem 1.4rem 1.6rem;background:var(--white);box-shadow:var(--shadow);border-top:4px solid var(--indigo);clip-path:polygon(0 0,100% 0,100% 92%,95% 100%,0 100%)}.slip::after{content:"";position:absolute;width:8px;height:8px;border:1px solid currentColor;right:12px;bottom:13px}.slip-a{left:0;top:10px;transform:rotate(-1deg)}.slip-b{right:0;top:190px;border-color:var(--verdigris);transform:rotate(1.1deg)}.slip-c{left:5%;top:375px;border-color:var(--carmine);transform:rotate(-.5deg)}.slip-head{display:flex;justify-content:space-between;gap:1rem;font-size:.62rem;color:var(--muted);border-bottom:var(--border);padding-bottom:.5rem}.slip h2{font-size:1.7rem;margin:.75rem 0}.slip p{font-size:.83rem}.slip b{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;margin-right:.35rem}.slip .question{margin-top:.65rem;font-family:var(--font-editorial);font-size:1rem}
/* 11. Apparatus Marks */
.apparatus{position:absolute;font:700 2rem var(--font-mono);color:var(--gold)}.apparatus.a{right:2%;top:6%}.apparatus.delta{left:-5%;top:52%}
/* 12. Evidence Strip */
.evidence-strip{padding:3.5rem 0;background:var(--obsidian);color:var(--white)}.evidence-strip .eyebrow{color:var(--gold)}.strip-intro{font-family:var(--font-editorial);font-size:clamp(1.3rem,2vw,2rem);max-width:920px}.statements{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2.5rem;border-top:1px solid #55565d}.statements p{padding:1.2rem;border-right:1px solid #55565d;font-size:.9rem}.statements p:first-child{padding-left:0}
/* 13. Study Fields */
.fields{display:grid;grid-template-columns:repeat(4,1fr);margin-top:3.5rem;border-top:var(--border)}.field{padding:1.5rem;border-right:var(--border);min-height:410px}.field:first-child{padding-left:0}.field>span{font-size:.7rem}.field h3{margin:2rem 0 1rem}.field p{color:var(--muted);font-size:.92rem}.field ul{list-style:none;margin-top:2rem;font:700 .68rem var(--font-mono);text-transform:uppercase}.field li{border-top:var(--border);padding:.45rem}.text{--accent:var(--indigo)}.numerics{--accent:var(--verdigris)}.history{--accent:var(--carmine)}.field{border-top:4px solid var(--accent)}
/* 14. Inference Cases */
.cases{background:var(--cool)}.case{display:grid;grid-template-columns:100px 1fr 1fr;gap:2rem;padding:3rem 0;border-top:3px solid var(--accent)}.case-code{font-size:.65rem;color:var(--muted)}.case-code b{display:block;font-size:2.5rem;color:var(--accent);margin-top:1rem}.case h3{margin:.5rem 0 1rem}.case-question{font-family:var(--font-editorial);font-size:1.25rem}.case h4{font-size:.68rem;margin:0 0 .3rem;color:var(--accent)}.case h4:nth-of-type(2){margin-top:1.3rem}.case .limit{grid-column:2/-1;background:var(--white);padding:1rem;border-left:4px solid var(--accent)}
/* 15. Inference Protocol */
.protocol{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-top:3rem}.protocol article{background:var(--white);border:var(--border);border-top:3px solid var(--gold);padding:1.3rem;flex:1 1 260px;min-height:190px;clip-path:polygon(0 0,100% 0,100% 94%,96% 100%,0 100%)}.protocol article:nth-child(2n){margin-top:2.3rem;flex-basis:310px}.protocol article:nth-child(3n){flex-basis:225px}.protocol span{font-size:.68rem;color:var(--gold)}.protocol h3{margin:.8rem 0}.protocol p{font-size:.9rem;color:var(--muted)}
/* 16. Evidence Checklist */
.checklist{padding:var(--space) 0;background:var(--indigo);color:var(--white)}.checklist h2{color:var(--white)}.checklist .eyebrow{color:var(--gold)}.checklist-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:4rem}.checklist ul{columns:2;list-style:none;counter-reset:item}.checklist li{break-inside:avoid;padding:.55rem 0 .55rem 1.8rem;border-bottom:1px solid rgba(255,255,255,.2);position:relative}.checklist li::before{counter-increment:item;content:counter(item,decimal-leading-zero);position:absolute;left:0;color:var(--gold);font: .65rem var(--font-mono)}
/* 17. Academic References */
.contact-note{margin:2rem 0;padding:1rem;border-left:4px solid var(--gold);background:var(--gold-wash);max-width:800px}.profiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}.profile{border:var(--border);border-top:4px solid var(--accent);padding:1.4rem;background:rgba(255,255,255,.45)}.profile.offset{margin-top:1.5rem;border-left:4px solid var(--accent);border-top-width:1px}.profile-top{display:flex;justify-content:space-between;align-items:flex-start}.avatar{display:grid;place-items:center;width:54px;height:54px;background:var(--accent);color:var(--white);font:700 1rem var(--font-mono)}.tag{font-size:.64rem;color:var(--accent)}.profile h3{margin:1.4rem 0 .4rem}.profile p{font-size:.82rem;margin:.8rem 0}.profile .role{font-weight:700;color:var(--accent)}.themes{padding-top:.7rem;border-top:var(--border)}.orcid{font-size:.68rem!important}.contact{display:grid;gap:.4rem;background:var(--white);padding:.8rem;margin-top:1rem;font-size:.72rem}.contact a{overflow-wrap:anywhere}.copy-email{justify-self:start;border:1px solid var(--accent);background:transparent;padding:.35rem .6rem}.copy-status{min-height:1em;color:var(--accent)}.reference-label{display:inline-block;margin-top:1rem;font:700 .68rem var(--font-mono);text-transform:uppercase;color:var(--accent)}
/* 18. Independence Note */
.independence{padding:5rem 0;background:var(--gold-wash);border-block:1px solid #d8c39c}.independence p:not(.eyebrow){margin-top:1rem}
/* 19. Research Files */
.files{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.file{background:var(--white);border:var(--border)}.file details{height:100%}.file summary{list-style:none;padding:1.3rem;cursor:pointer}.file summary::-webkit-details-marker{display:none}.file summary span,.tags{font:700 .67rem var(--font-mono);text-transform:uppercase;color:var(--indigo)}.file h3{margin:.7rem 0}.file summary p{color:var(--muted);font-size:.9rem}.file details>p{margin:0 1.3rem 1.3rem;padding-top:1rem;border-top:var(--border);font-size:.9rem}.file details[open]{border-left:4px solid var(--gold)}#no-results{padding:2rem;text-align:center;border:1px dashed var(--muted)}
/* 20. Search */
.search-box{margin:2.5rem 0;display:grid;grid-template-columns:1fr auto;gap:.6rem}.search-box label{grid-column:1/-1;font-weight:700}.search-box>div{display:flex}.search-box input{width:100%;min-height:52px;padding:0 1rem;border:1px solid var(--graphite);background:var(--white)}.search-box button{border:1px solid var(--graphite);border-left:0;background:var(--gold-wash);padding:0 1rem}.search-box p{font:700 .72rem var(--font-mono);align-self:center}
/* 21. About */
.about{background:var(--verdigris-wash)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.about-grid>div:nth-child(2) p{margin-bottom:1rem}.principles{display:grid;grid-template-columns:repeat(4,1fr);margin-top:4rem;border-top:1px solid var(--verdigris)}.principles article{padding:1.2rem;border-right:1px solid var(--verdigris)}.principles span{font:700 .7rem var(--font-mono);color:var(--verdigris)}.principles h3{margin:1rem 0}.principles p{font-size:.85rem}
/* 22. Final CTA */
.final-cta{padding:var(--space) 0;text-align:center}.final-cta .eyebrow,.final-cta h2,.final-cta>div>p{margin-inline:auto}.final-cta>div>p:not(.eyebrow){max-width:740px;margin-top:1.3rem}.final-cta .actions{justify-content:center}.axes{display:flex;justify-content:center;align-items:center;gap:clamp(.5rem,2vw,2rem);margin:1rem 0 3rem;font:700 clamp(.7rem,1.2vw,1rem) var(--font-mono);letter-spacing:.12em}.axes span{writing-mode:vertical-rl;height:110px;border-left:1px solid var(--graphite);padding-left:.5rem}.axes b{color:var(--gold)}.axes strong{font-family:var(--font-editorial);font-size:clamp(1.2rem,2vw,2rem);color:var(--indigo)}
/* 23. Footer */
footer{background:var(--obsidian);color:var(--white);padding:4rem 0 1.5rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr auto;gap:3rem}.footer-grid img{width:48px;filter:brightness(0) invert(1);margin-bottom:1rem}.footer-grid h2{font-size:1.5rem;color:var(--white)}.footer-grid p{font-size:.82rem;color:#b9bbc1}.footer-grid nav{display:grid;gap:.35rem}.footer-grid nav a,.back-top{font-size:.83rem}.copyright{margin-top:3rem;padding-top:1rem;border-top:1px solid #55565d;font-size:.75rem;color:#b9bbc1}
/* 24. Reveal */
.js-enabled .reveal{opacity:0;transform:translateY(18px);transition:opacity 600ms ease,transform 600ms ease}.js-enabled .reveal.is-visible{opacity:1;transform:none}
/* 25. Responsive */
@media(max-width:1050px){.menu-toggle{display:block}.site-header nav{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;padding:1rem;background:var(--paper);border-bottom:var(--border)}.site-header nav.is-open{display:flex}.nav-cta{border-left:0;border-top:1px solid var(--gold);padding:1rem 0 0}.hero-grid{grid-template-columns:1fr}.desk{min-height:640px;max-width:680px}.fields{grid-template-columns:repeat(2,1fr)}.profiles{grid-template-columns:repeat(2,1fr)}.principles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.section{padding:4.5rem 0}.brand{width:230px}.hero{background:var(--paper)}.hero-grid{display:block}.desk{min-height:auto;margin-top:3rem}.slip{position:relative;inset:auto;width:100%;transform:none!important;margin-bottom:1rem}.desk-note{position:relative;inset:auto;max-width:100%;margin-top:1rem}.apparatus{display:none}.statements,.fields,.profiles,.files,.principles{grid-template-columns:1fr}.statements p{border-right:0;border-bottom:1px solid #55565d;padding-left:0}.field{min-height:auto;border-right:0;padding:1.5rem 0}.case{grid-template-columns:1fr;gap:1rem}.case-code b{display:inline;margin-left:1rem}.case .limit{grid-column:auto}.protocol article:nth-child(2n){margin-top:0}.checklist-grid,.about-grid{grid-template-columns:1fr;gap:2rem}.checklist ul{columns:1}.profile.offset{margin-top:0}.search-box{grid-template-columns:1fr}.search-box p{grid-row:3}.footer-grid{grid-template-columns:1fr}.axes{gap:.4rem}.axes span{height:85px}.axes strong{font-size:1rem}.principles article{border-right:0;border-bottom:1px solid var(--verdigris)}}
@media(max-width:360px){.container{width:min(calc(100% - 1.25rem),var(--container))}.brand{width:200px}.button{width:100%}.hero h1{font-size:2.45rem}.axes b{display:none}}
/* 26. Reduced Motion */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js-enabled .reveal{opacity:1;transform:none}}
