/* 01. Design tokens */
:root{--night:#252d36;--berry:#805d72;--blue:#56768b;--copper:#a66c4e;--green:#637a68;--gold:#b29255;--steel:#77838b;--berry-mist:#ece3e8;--blue-mist:#e1e9ed;--copper-wash:#f0e2db;--green-wash:#e4eae4;--gold-wash:#f1e7d4;--paper:#f7f3ea;--system:#eef1f2;--graphite:#373e44;--muted:#757d82;--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;--step--1:clamp(.76rem,.72rem + .15vw,.86rem);--step-0:clamp(.96rem,.9rem + .22vw,1.08rem);--step-1:clamp(1.15rem,1.02rem + .5vw,1.45rem);--step-2:clamp(1.45rem,1.15rem + 1vw,2.1rem);--step-3:clamp(2rem,1.35rem + 2.3vw,3.5rem);--step-4:clamp(2.65rem,1.7rem + 3.8vw,5.2rem);--space:clamp(1rem,.65rem + 1.1vw,2rem);--section:clamp(4rem,2.5rem + 6vw,8rem);--container:1200px;--border:1px solid rgba(37,45,54,.2);--radius:3px;--shadow:0 15px 45px rgba(37,45,54,.08);--transition:240ms ease}
/* 02. Reset */
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:auto}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}
/* 03. Base */
body{background:var(--paper);color:var(--graphite);font-family:var(--font-sans);font-size:var(--step-0);line-height:1.68;overflow-x:hidden}.container{width:min(calc(100% - 2rem),var(--container));margin-inline:auto}.section{padding-block:var(--section)}section,aside{scroll-margin-top:6rem}.molecular{--accent:var(--berry);--wash:var(--berry-mist)}.power{--accent:var(--copper);--wash:var(--copper-wash)}.cyber{--accent:var(--blue);--wash:var(--blue-mist)}
/* 04. Accessibility */
.skip-link{position:fixed;z-index:100;top:.7rem;left:.7rem;padding:.7rem 1rem;background:var(--white);color:var(--night);transform:translateY(-200%)}.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{color:var(--night);font-family:var(--font-editorial);font-weight:400;line-height:1.08;text-wrap:balance}h1{font-size:var(--step-4);letter-spacing:-.045em}h2{font-size:var(--step-3);letter-spacing:-.025em}h3{font-size:var(--step-2)}h4,.label,.category,.eyebrow,.index,.orcid,.reference-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.09em}.eyebrow{color:var(--gold);font-size:var(--step--1);font-weight:700;margin-bottom:1rem}.lede{font-size:var(--step-1);max-width:65ch}em{color:var(--berry);font-style:italic}.section-heading{max-width:850px;margin-bottom:clamp(2.5rem,5vw,5rem)}.section-heading>p:not(.eyebrow){margin-top:1.5rem;max-width:75ch}
/* 06. Layout */
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:3rem;padding:.65rem 1.15rem;border:1px solid var(--night);background:var(--night);color:var(--white);font-family:var(--font-mono);font-size:.76rem;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;transition:background var(--transition),color var(--transition),transform var(--transition)}.button:hover{background:var(--berry);border-color:var(--berry);transform:translateY(-2px)}.button-quiet{background:transparent;color:var(--night)}.button-small{min-height:2.35rem;padding:.45rem .75rem}
/* 07. Header */
.site-header{position:sticky;z-index:50;top:0;border-bottom:var(--border);background:rgba(247,243,234,.96)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:5rem;gap:1rem}.brand{flex:0 0 185px}.primary-nav{display:flex;align-items:center;gap:clamp(.6rem,1.2vw,1.25rem)}.primary-nav>a:not(.button){font-size:.76rem;text-decoration:none;white-space:nowrap}.primary-nav>a:hover{text-decoration:underline;text-underline-offset:4px}.menu-toggle{display:none;border:0;background:none;width:2.8rem;height:2.8rem}.menu-toggle span{display:block;width:1.5rem;height:1px;margin:5px auto;background:var(--night)}
/* 08. Hero */
.hero{min-height:calc(100vh - 5rem);display:grid;align-items:center;background:linear-gradient(90deg,var(--paper) 0 61%,var(--system) 61%)}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:clamp(2rem,5vw,6rem);align-items:center}.hero-copy{padding-block:2rem}.hero-copy .lede{margin-top:1.8rem}.micro{margin-top:2rem;color:var(--muted);font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
/* 09. Decision Desk */
.hero-visual{display:grid;gap:1.25rem}.strip-caption{max-width:55ch;padding-left:1rem;border-left:2px solid var(--gold);color:var(--muted);font-size:.82rem}
/* 10. Decision Strips */
.decision-strip{background:var(--white);border-top:3px solid var(--accent);box-shadow:var(--shadow);padding:1rem}.decision-strip.power{width:91%;margin-left:auto}.decision-strip.cyber{width:96%}.strip-label,.strip-notes{display:flex;justify-content:space-between;gap:1rem}.strip-label span,.strip-label small,.strip-notes{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.05em;text-transform:uppercase}.strip-label small{color:var(--muted)}.strip-track{display:grid;grid-template-columns:1fr 1.1fr 1fr .6fr 12px 10px;min-height:3.3rem;margin:.65rem 0;border-block:var(--border)}.strip-track>*{display:grid;align-items:center;padding:.35rem;border-right:var(--border);font-size:.62rem;font-style:normal;text-decoration:none}.strip-track b{background:var(--wash);font-family:var(--font-mono);font-weight:500}.strip-track i{border:2px solid var(--accent);border-left:0;margin:.65rem .1rem;padding:0}.strip-track u{width:8px;height:8px;padding:0;align-self:center;background:var(--accent)}.strip-notes{display:grid;grid-template-columns:1fr 1fr}.strip-notes strong{grid-column:1/-1;margin-top:.35rem;color:var(--accent)}
/* 11. Feature Marks */
.feature-mark{display:inline-block;position:relative;width:30px;height:10px;margin-right:.6rem;border-top:2px solid var(--gold)}.feature-mark::before{content:"";position:absolute;top:-4px;left:12px;width:6px;height:6px;border-radius:50%;background:var(--gold)}.feature-mark::after{content:"]";position:absolute;right:0;top:-11px}
/* 12. Decision Band */
.decision-band{padding-block:3rem;background:var(--night);color:var(--white)}.decision-band .container{display:grid;grid-template-columns:1.15fr 2fr;gap:4rem}.band-intro p:last-child{font-family:var(--font-editorial);font-size:var(--step-1)}.band-grid{display:grid;grid-template-columns:repeat(4,1fr)}.band-grid span{padding:1.2rem;border-left:1px solid rgba(255,255,255,.23);font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase}
/* 13. Research Domains */
.domain-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:var(--border)}.domain{padding:1.5rem;border-right:var(--border);border-top:4px solid var(--accent)}.domain:last-child{border-right:0}.domain .index{display:block;color:var(--accent);font-size:.75rem}.domain h3{margin:2rem 0 1rem}.tags{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin-top:1.5rem}.tags li{padding:.2rem .5rem;background:var(--wash);font-family:var(--font-mono);font-size:.67rem}
/* 14. Pattern Cases */
.cases{background:var(--system)}.case{display:grid;grid-template-columns:.75fr 1.4fr 1fr 1fr;gap:clamp(1rem,3vw,3rem);padding:2rem 0;border-top:3px solid var(--accent)}.case-code{grid-column:1/-1;display:flex;align-items:center;gap:.7rem;color:var(--accent);font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase}.case-code i{height:1px;flex:1;background:var(--accent)}.case .label,.case h4{font-size:.68rem}.case h3{margin-top:.5rem}.case h4{margin-bottom:.5rem}.limit{grid-column:2/-1;padding:1rem;background:var(--wash)}.limit b{display:block;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase}
/* 15. Validation Method */
.method-list{display:grid;gap:.65rem}.method-strip{display:grid;grid-template-columns:60px 1fr 30%;align-items:center;gap:1.5rem;padding:1rem;border:var(--border);background:var(--white)}.method-strip>b{font-family:var(--font-mono);color:var(--gold)}.method-strip h3{font-size:var(--step-1)}.method-strip span{height:18px;border:1px solid var(--gold);border-left:0;position:relative}.method-strip span::after{content:"";position:absolute;right:12%;top:4px;width:8px;height:8px;background:var(--gold)}
/* 16. Validation Checklist */
.checklist{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-top:5rem;padding:clamp(1.5rem,4vw,4rem);background:var(--gold-wash);border-left:5px solid var(--gold)}.checklist ul{columns:2;column-gap:2.5rem;list-style:none}.checklist li{break-inside:avoid;padding:.4rem 0;border-bottom:1px solid rgba(55,62,68,.16)}.checklist li::before{content:"[ ]";margin-right:.6rem;color:var(--gold);font-family:var(--font-mono)}
/* 17. Academic References */
.references{background:var(--white)}.contact-note{padding:1rem;border-left:3px solid var(--gold);background:var(--gold-wash)}.contact-note b{display:block}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.profile{position:relative;padding:1.5rem;border:var(--border);border-top:5px solid var(--accent);background:var(--paper);box-shadow:var(--shadow)}.profile.offset{transform:translateY(1.5rem)}.profile.edge{border-left:5px solid var(--accent);border-top:var(--border)}.profile-top{display:flex;justify-content:space-between;align-items:center}.avatar{display:grid;place-items:center;width:54px;height:54px;background:var(--accent);color:var(--white);font-family:var(--font-mono);font-size:.75rem}.category{color:var(--accent);font-size:.68rem}.profile h3{margin:1.2rem 0 .5rem}.role{font-weight:700}.meta{color:var(--muted);font-size:.84rem;margin:.3rem 0 1rem}.orcid,.reference-label{margin-top:1.3rem;color:var(--accent);font-size:.68rem}.contact{display:grid;gap:.35rem;margin-top:1rem;padding:1rem;background:var(--wash);overflow-wrap:anywhere}.contact>span:first-child{font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase}.contact a{font-size:.8rem}.copy-email{justify-self:start;padding:.35rem .6rem;border:1px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;font-family:var(--font-mono);font-size:.68rem}.mini-strip{display:flex;gap:5px;align-items:center;margin-top:1.4rem;border-top:1px solid var(--accent);padding-top:.5rem}.mini-strip i{width:14%;height:7px;background:var(--wash);border:1px solid var(--accent)}.mini-strip b{width:7px;height:7px;margin-left:auto;background:var(--accent)}
/* 18. Independence Note */
.independence{padding-block:4rem;background:var(--night);color:var(--white)}.independence h2{color:var(--white);max-width:700px}.independence-copy{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}.independence-copy p{font-size:.88rem}.independence-copy p:nth-child(4){color:var(--blue-mist)}.independence-copy p:nth-child(5){color:var(--berry-mist)}
/* 19. Study Notes */
.notes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.note{border-top:4px solid var(--accent,var(--gold));background:var(--white);box-shadow:var(--shadow)}.note.comparative{--accent:var(--gold)}.note summary{padding:1.4rem;cursor:pointer;list-style:none}.note summary::-webkit-details-marker{display:none}.note summary>span{color:var(--accent);font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase}.note summary h3{margin:.7rem 0;font-size:var(--step-1)}.note summary::after{content:"Open +";font-family:var(--font-mono);font-size:.65rem}.note details[open] summary::after{content:"Close −"}.note-body{padding:0 1.4rem 1.4rem;border-top:var(--border)}.note-body>p:first-child{margin-top:1rem}.tagline{margin-top:1rem;color:var(--accent);font-family:var(--font-mono);font-size:.67rem}
/* 20. Search */
.search-box{display:grid;grid-template-columns:1fr 2fr auto;align-items:end;gap:1rem;margin-bottom:2rem;padding:1.2rem;background:var(--night);color:var(--white)}.search-box label{font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase}.search-box>div{display:flex}.search-box input{width:100%;min-height:3rem;padding:.6rem;border:0}.search-box button{border:0;background:var(--gold);color:var(--night);cursor:pointer}.no-results{padding:3rem;text-align:center;border:var(--border)}
/* 21. About */
.about{background:var(--green-wash)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.about-copy{font-size:var(--step-1)}.about-copy p+p{margin-top:1rem}.principles{display:grid;grid-template-columns:repeat(4,1fr);margin-top:4rem;border-block:var(--border)}.principles article{padding:1.5rem;border-right:var(--border)}.principles article:last-child{border:0}.principles b{color:var(--green);font-family:var(--font-mono)}.principles h3{margin:1.5rem 0 .7rem;font-size:var(--step-1)}
/* 22. Final CTA */
.final-cta{background:var(--gold-wash)}.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.decision-blocks{display:grid;grid-template-columns:1fr 1fr;gap:5px;position:relative}.decision-blocks span{display:grid;place-items:center;min-height:120px;background:var(--night);color:var(--white);font-family:var(--font-mono);text-transform:uppercase}.decision-blocks small{color:var(--gold);font-size:.6rem}.decision-blocks b{position:absolute;z-index:2;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:100px;height:100px;background:var(--paper);border:2px solid var(--gold);font-family:var(--font-editorial);font-weight:400}
/* 23. Footer */
.site-footer{padding-block:4rem;background:var(--night);color:var(--white)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:4rem}.site-footer img{width:56px;margin-bottom:1rem}.site-footer h2{color:var(--white);font-size:var(--step-2)}.site-footer nav{display:grid;gap:.35rem}.site-footer a{text-underline-offset:4px}.back-top{display:inline-block;margin-bottom:2rem;color:var(--gold)}
/* 24. Reveal */
.js-enabled .reveal{opacity:0;transform:translateY(20px);transition:opacity 600ms ease,transform 600ms ease}.js-enabled .reveal.is-visible{opacity:1;transform:none}
/* 25. Responsive */
@media(max-width:1050px){.primary-nav{position:absolute;inset:5rem 0 auto;background:var(--paper);display:none;padding:1rem 2rem;border-bottom:var(--border);box-shadow:var(--shadow)}.primary-nav.is-open{display:grid}.menu-toggle{display:block}.domain-grid,.principles{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:repeat(2,1fr)}.profile.offset{transform:none}.case{grid-template-columns:1fr 1fr}.limit{grid-column:1/-1}.independence-copy{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.hero{background:var(--paper)}.hero-grid,.decision-band .container,.checklist,.about-grid,.cta-grid,.footer-grid{grid-template-columns:1fr}.strip-track{grid-template-columns:1fr 1fr 1fr}.strip-track b,.strip-track i,.strip-track u{min-height:28px}.decision-band .container{gap:2rem}.band-grid{grid-template-columns:1fr}.domain-grid,.profile-grid,.notes-grid,.principles{grid-template-columns:1fr}.domain,.principles article{border-right:0}.case{grid-template-columns:1fr}.limit{grid-column:auto}.method-strip{grid-template-columns:42px 1fr}.method-strip span{display:none}.checklist ul{columns:1}.independence-copy{grid-template-columns:1fr}.search-box{grid-template-columns:1fr}.search-box>div{grid-column:1/-1}.cta-grid{gap:3rem}.footer-grid{gap:2rem}}
@media(max-width:420px){.container{width:min(calc(100% - 1.2rem),var(--container))}.brand{flex-basis:160px}.strip-label,.strip-notes{grid-template-columns:1fr;display:grid}.strip-track{grid-template-columns:1fr}.strip-track>*{border-right:0;border-bottom:var(--border)}.decision-strip.power,.decision-strip.cyber{width:100%}.decision-blocks span{min-height:95px}.profile{padding:1rem}}
/* 26. Reduced Motion */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-enabled .reveal{opacity:1;transform:none}}
