/* 01. Design tokens */
:root{--carbon:#222a2d;--survey:#456b79;--amber:#c18a4c;--violet:#716582;--rose:#9b6571;--green:#71806b;--slate:#667780;--pale-survey:#dee8eb;--violet-mist:#e8e3ed;--rose-wash:#efe2e5;--amber-wash:#f2e6d5;--field-wash:#e6ebe1;--ivory:#f8f4ec;--cool:#edf1f2;--graphite:#353c40;--muted:#737c80;--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(.74rem,.7rem + .15vw,.84rem);--fs-body:clamp(.98rem,.92rem + .2vw,1.08rem);--fs-h3:clamp(1.3rem,1.1rem + .65vw,1.75rem);--fs-h2:clamp(2rem,1.45rem + 2.2vw,3.65rem);--fs-h1:clamp(2.7rem,1.65rem + 4.5vw,6.1rem);--space-xs:.5rem;--space-sm:.85rem;--space-md:1.4rem;--space-lg:2.25rem;--space-xl:clamp(3.5rem,7vw,7rem);--container:1200px;--border:1px solid rgba(34,42,45,.22);--radius:2px;--shadow:0 18px 40px rgba(34,42,45,.08);--transition:220ms ease}
/* 02. Reset */
*,*::before,*::after{box-sizing:border-box}html{scroll-padding-top:6rem}body,h1,h2,h3,h4,p,ul,dl,dd{margin:0}ul{padding:0;list-style:none}img{display:block;max-width:100%}button,input{font:inherit}a{color:inherit}
/* 03. Base */
html{background:var(--ivory)}body{min-width:320px;overflow-x:hidden;background:var(--ivory);color:var(--graphite);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.7}section{scroll-margin-top:5rem}.section{padding:var(--space-xl) 0}.container{width:min(calc(100% - 2.5rem),var(--container));margin-inline:auto}.clipboard-fallback{position:fixed;left:-9999px}.earth{--field-color:var(--survey);--field-wash:var(--pale-survey)}.imaging{--field-color:var(--violet);--field-wash:var(--violet-mist)}.publics{--field-color:var(--rose);--field-wash:var(--rose-wash)}.cross{--field-color:var(--green);--field-wash:var(--field-wash)}
/* 04. Accessibility */
.skip-link{position:fixed;z-index:999;top:0;left:1rem;transform:translateY(-130%);padding:.75rem 1rem;background:var(--white);color:var(--carbon)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:4px}
/* 05. Typography */
h1,h2,h3,h4{color:var(--carbon);font-family:var(--font-editorial);font-weight:400;line-height:1.08}h1{font-size:var(--fs-h1);letter-spacing:-.045em}h2{font-size:var(--fs-h2);letter-spacing:-.025em}h3{font-size:var(--fs-h3)}h4{font-size:1.05rem}.eyebrow,.number,.category,.aperture-id,.orcid,.reference-status,.micro-label,.tags{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase}.eyebrow{margin-bottom:var(--space-md);color:var(--field-color,var(--survey));font-weight:700}.section-heading{max-width:830px;margin-bottom:clamp(2.5rem,5vw,5rem)}.section-heading>p:last-child{max-width:760px;margin-top:1.3rem}
/* 06. Layout */
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.65rem 1rem;border:1px solid var(--carbon);font-size:.88rem;font-weight:700;text-decoration:none}.primary{background:var(--carbon);color:var(--white)}.secondary{background:transparent}.light{border-color:var(--ivory);background:var(--ivory);color:var(--carbon)}.outline-light{border-color:rgba(255,255,255,.65);color:var(--white)}.button:hover{transform:translateY(-2px)}
/* 07. Header */
.site-header{position:sticky;z-index:100;top:0;border-bottom:var(--border);background:rgba(248,244,236,.97)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:1rem}.brand{flex:0 1 330px}.brand img{width:100%;height:auto}.site-header nav{display:flex;align-items:center;gap:clamp(.65rem,1.35vw,1.35rem)}.site-header nav a{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.03em;text-decoration:none;white-space:nowrap}.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}.nav-cta{padding:.55rem .7rem;border:1px solid var(--carbon)}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--carbon);background:transparent}.menu-toggle span{display:block;width:20px;height:1px;margin:5px auto;background:var(--carbon)}
/* 08. Hero */
.hero{position:relative;padding:clamp(3rem,7vw,7rem) 0;background:var(--ivory)}.hero::after{content:"";position:absolute;z-index:0;inset:0 0 0 62%;background:var(--cool)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}.hero-copy em{color:var(--survey);font-style:italic}.hero-lede{max-width:690px;margin-top:1.8rem;font-size:clamp(1.05rem,1rem + .35vw,1.3rem)}.micro-label{margin-top:2.5rem;color:var(--muted)}.micro-label span{color:var(--amber)}
/* 09. Aperture Desk */
.aperture-desk{position:relative;display:grid;min-height:640px;align-content:center}.desk-note{align-self:end;max-width:410px;margin:1.5rem 0 0 auto;border-top:1px solid var(--amber);padding-top:.7rem;font-size:.82rem;color:var(--muted)}
/* 10. Aperture Panels */
.aperture{position:relative;border:1px solid var(--field-color);background:var(--field-wash);box-shadow:var(--shadow);padding:1.3rem}.aperture::before,.aperture::after{content:"";position:absolute;background:var(--ivory)}.aperture::before{top:-2px;right:18%;width:24px;height:5px}.aperture::after{bottom:15%;left:-2px;width:5px;height:28px}.aperture h2{font-size:1.35rem;text-transform:uppercase}.aperture dl{margin-top:1rem}.aperture dl div{display:grid;grid-template-columns:80px 1fr;border-top:1px solid color-mix(in srgb,var(--field-color),transparent 65%);padding:.45rem 0}.aperture dt{font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase}.aperture dd{font-size:.73rem;line-height:1.4}.aperture-one{z-index:1;width:88%;margin-left:0}.aperture-two{z-index:2;width:82%;margin:-1.5rem 0 0 auto}.aperture-three{z-index:3;width:91%;margin:-.7rem auto 0 2rem}.signal{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--field-color)}.aperture-one .signal{right:17%;top:18%}.aperture-two .signal{left:12%;bottom:16%}.aperture-three .signal{right:9%;bottom:22%}.notch{position:absolute;width:20px;border-top:3px solid var(--amber);right:-8px;top:45%}
/* 11. Registration Marks */
.reg{position:absolute;color:var(--amber);font-family:var(--font-mono);font-size:1.25rem}.aperture-one .reg{right:1rem;top:.7rem}.aperture-two .reg{left:.8rem;top:.6rem}.aperture-three .reg{right:1rem;bottom:.4rem}
/* 12. Calibration Band */
.calibration-band{padding:3rem 0;background:var(--carbon);color:var(--cool)}.calibration-band h2{max-width:650px;color:var(--white);font-size:clamp(1.45rem,2.5vw,2.25rem)}.calibration-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:end}.conditions{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.conditions p{border-top:1px solid var(--amber);padding-top:.7rem}.conditions b{color:var(--white)}
/* 13. Signal Fields */
.field-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--carbon)}.field{min-width:0;padding:1.7rem;border-right:var(--border);border-bottom:3px solid var(--field-color)}.field:first-child{border-left:var(--border)}.field .number{color:var(--field-color)}.field h3{min-height:4rem;margin:1.1rem 0}.field p{font-size:.92rem}.field ul{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem}.field li{padding:.2rem .45rem;background:var(--field-wash);font-family:var(--font-mono);font-size:.65rem}
/* 14. Comparative Views */
.comparative{background:var(--cool)}.view-stack{display:grid;gap:2rem}.view{position:relative;display:grid;grid-template-columns:.7fr 1.15fr 1.25fr;gap:2rem;border:1px solid var(--field-color);border-left:9px solid var(--field-color);background:var(--ivory);padding:clamp(1.4rem,3vw,2.5rem)}.view:nth-child(2){margin-left:5%}.view:nth-child(3){margin-right:5%}.view-label span{font:var(--fs-sm) var(--font-mono);text-transform:uppercase}.view-label h3{margin:.6rem 0;color:var(--field-color);font-size:2rem;text-transform:uppercase}.view-label p{font-size:.85rem}.view-question{position:relative;border:1px solid var(--field-color);padding:1.2rem}.view-question .reg{right:.5rem;top:.2rem}.view h4{margin-bottom:.3rem}.view h4:not(:first-child){margin-top:1rem}.view>div p{font-size:.86rem}.limit{grid-column:2/-1;border-top:1px solid var(--field-color);padding-top:1rem;font-size:.86rem}.limit b{display:block;font:700 .65rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
/* 15. Inspection Method */
.method-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.method-step{position:relative;min-height:230px;border:var(--border);padding:1.4rem;background:var(--white)}.method-step::after{content:"";position:absolute;right:-1px;top:22px;width:4px;height:32px;background:var(--amber)}.method-step:nth-child(1),.method-step:nth-child(5){grid-column:span 5}.method-step:nth-child(2),.method-step:nth-child(3),.method-step:nth-child(6),.method-step:nth-child(7){grid-column:span 3}.method-step:nth-child(4){grid-column:span 4}.method-step>span{font:var(--fs-sm) var(--font-mono);color:var(--amber)}.method-step h3{margin:2rem 0 .9rem;text-transform:uppercase}.method-step p{font-size:.88rem}.method-step p+p{margin-top:.7rem}
/* 16. Inspection Checklist */
.checklist{display:grid;grid-template-columns:.7fr 1.3fr;gap:3rem;margin-top:4rem;border-top:4px solid var(--amber);background:var(--carbon);color:var(--cool);padding:clamp(1.5rem,4vw,3rem)}.checklist h2{color:var(--white);font-size:2.4rem}.checklist ul{columns:2;column-gap:2.5rem}.checklist li{break-inside:avoid;border-bottom:1px solid rgba(255,255,255,.16);padding:.55rem 0 .55rem 1.2rem;font-size:.82rem}.checklist li::before{content:"□";margin-left:-1.2rem;margin-right:.5rem;color:var(--amber)}
/* 17. Academic References */
.references{background:var(--amber-wash)}.platform-note{border-left:3px solid var(--amber);padding-left:1rem}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.profile{display:flex;flex-direction:column;border:var(--border);border-top:4px solid var(--field-color);background:var(--ivory);padding:1.5rem}.profile-top{display:flex;align-items:center;gap:.8rem;margin-bottom:1.3rem}.avatar{display:grid;width:52px;height:52px;place-items:center;background:var(--field-color);color:var(--white);font:700 .85rem var(--font-mono)}.category{color:var(--field-color)}.mini-aperture{margin-left:auto;display:grid;width:48px;height:31px;place-items:center;border:1px solid var(--field-color);color:var(--amber)}.variant-b .mini-aperture,.variant-e .mini-aperture{width:35px;height:48px}.variant-c .mini-aperture{transform:translateY(8px)}.variant-d .profile-top{flex-direction:row-reverse}.variant-f{border-top-width:1px;border-bottom:4px solid var(--field-color)}.profile h3{font-size:1.75rem}.role{min-height:3.3rem;margin:.6rem 0 1rem;color:var(--field-color);font-weight:700}.profile dl{display:grid;grid-template-columns:minmax(80px,.65fr) 1.35fr;border-block:var(--border);padding:.7rem 0;margin-bottom:1rem;font-size:.78rem}.profile dt{font-family:var(--font-mono);color:var(--muted)}.profile dd{margin-bottom:.35rem}.profile>p:not(.role):not(.orcid):not(.themes):not(.medical-note):not(.reference-status){font-size:.82rem}.themes{margin:1rem 0;color:var(--field-color);font-size:.65rem}.orcid{margin-top:auto;border-top:var(--border);padding-top:.8rem;letter-spacing:.04em}.medical-note{margin-top:.8rem;border-left:2px solid var(--violet);padding-left:.7rem;font-size:.72rem}.contact{display:grid;gap:.5rem;margin-top:1rem;border-top:1px solid var(--field-color);padding-top:1rem}.contact span{font:700 .68rem var(--font-mono);text-transform:uppercase}.contact a{overflow-wrap:anywhere;font-size:.72rem}.contact button{justify-self:start;border:1px solid var(--field-color);background:transparent;padding:.45rem .65rem;color:var(--field-color);cursor:pointer}.reference-status{margin-top:auto;border-top:1px solid var(--field-color);padding-top:1rem;color:var(--field-color)}
/* 18. Independence Note */
.independence{padding:4rem 0;background:var(--field-wash)}.independence-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem}.independence h2{font-size:2.5rem}.independence-grid>div:last-child{border-left:1px solid var(--green);padding-left:2rem}.independence-grid p+p{margin-top:1rem}
/* 19. Field Notes */
.notes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.field-note{border-top:3px solid var(--field-color);background:var(--white)}.field-note details{height:100%;border:var(--border);border-top:0}.field-note summary{position:relative;min-height:220px;padding:1.5rem 3rem 1.5rem 1.5rem;cursor:pointer;list-style:none}.field-note summary::-webkit-details-marker{display:none}.field-note summary::after{content:"+";position:absolute;right:1.3rem;top:1.3rem;color:var(--field-color);font:1.5rem var(--font-mono)}.field-note details[open] summary::after{content:"×"}.field-note summary>span{font:700 var(--fs-sm) var(--font-mono);color:var(--field-color);text-transform:uppercase}.field-note h3{margin:1.5rem 0 .8rem;font-size:1.75rem}.field-note summary p{font-size:.9rem}.note-body{border-top:var(--border);padding:1.5rem;background:var(--field-wash)}.note-body p{font-size:.9rem}.tags{margin-top:1.2rem!important;color:var(--field-color);font-size:.67rem!important}.no-results{border:1px solid var(--rose);margin-top:1rem;padding:2rem;text-align:center}
/* 20. Search */
.search-panel{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.5rem 1rem;margin-bottom:2rem;border-bottom:1px solid var(--carbon);padding-bottom:1.5rem}.search-panel label{grid-column:1/-1;font-family:var(--font-editorial);font-size:1.4rem}.search-row{display:flex}.search-row input{width:100%;min-height:50px;border:1px solid var(--carbon);border-radius:0;background:var(--white);padding:.7rem 1rem;color:var(--carbon)}.search-row button{border:1px solid var(--carbon);border-left:0;background:var(--carbon);padding:.7rem 1rem;color:var(--white);cursor:pointer}.search-panel>p{font-family:var(--font-mono);font-size:.8rem}
/* 21. About */
.about{background:var(--pale-survey)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem)}.about-copy{border-top:4px solid var(--survey);padding-top:1.5rem;font-size:1.08rem}.about-copy p+p{margin-top:1rem}.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.principles article{border-top:1px solid var(--survey);padding:1.2rem}.principles span{font:var(--fs-sm) var(--font-mono);color:var(--survey)}.principles h3{margin:1rem 0}.principles p{font-size:.86rem}
/* 22. Final CTA */
.final-cta{padding:var(--space-xl) 0;background:var(--survey);color:var(--white)}.final-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.final-cta h2{color:var(--white)}.final-cta .eyebrow{color:var(--amber-wash)}.final-cta h2+p{margin-top:1.5rem}.calibration-figure{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;min-height:370px}.calibration-figure div{height:100%;border-left:1px solid var(--amber);writing-mode:vertical-rl;text-transform:uppercase;font:var(--fs-sm) var(--font-mono);letter-spacing:.15em}.calibration-figure div span{background:var(--survey);padding:.5rem}.calibration-figure div:nth-of-type(3){grid-column:3}.calibration-figure strong{grid-column:2;grid-row:2;padding:1rem;border:1px solid var(--white);font:1rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.calibration-figure b{font:var(--fs-sm) var(--font-mono);text-transform:uppercase;text-align:center}.calibration-figure b:nth-of-type(3),.calibration-figure b:nth-of-type(4){grid-column:3}
/* 23. Footer */
footer{padding:3.5rem 0 1.5rem;background:var(--carbon);color:var(--cool)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr auto;gap:3rem}.footer-brand{display:flex;gap:1rem}.footer-brand img{width:62px;filter:brightness(0) invert(1)}.footer-brand h2{color:var(--white);font-size:1.5rem}.footer-brand p{font-size:.8rem}.footer-brand small{color:#b5c0c3}.footer-grid nav{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem 1rem}.footer-grid nav a,.back-top{font-size:.8rem}.copyright{margin-top:2.5rem;border-top:1px solid rgba(255,255,255,.18);padding-top:1.2rem;font-size:.75rem}
/* 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:1100px){.brand{flex-basis:280px}.site-header nav{gap:.55rem}.site-header nav a{font-size:.62rem}.hero-grid{grid-template-columns:1fr 1fr}.field-grid{grid-template-columns:repeat(2,1fr)}.field:nth-child(3){border-left:var(--border)}.method-step:nth-child(n){grid-column:span 4}.profile-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.header-inner{min-height:68px}.brand{flex-basis:300px}.menu-toggle{display:block}.site-header nav{position:absolute;top:100%;left:0;right:0;display:none;align-items:stretch;border-bottom:1px solid var(--carbon);background:var(--ivory);padding:1rem 1.25rem}.site-header nav.is-open{display:grid}.site-header nav a{padding:.5rem;font-size:.78rem}.nav-cta{text-align:center}.hero::after{display:none}.hero-grid,.calibration-grid,.about-grid,.final-grid{grid-template-columns:1fr}.hero-grid{gap:3rem}.aperture-desk{min-height:0}.view{grid-template-columns:1fr 1fr}.view-label{grid-column:1/-1}.limit{grid-column:1/-1}.checklist,.independence-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.back-top{grid-column:1/-1}.calibration-figure{max-width:520px}}
@media(max-width:620px){.container{width:min(calc(100% - 1.5rem),var(--container))}.brand{flex-basis:235px}.hero-grid{display:block}.hero-copy{margin-bottom:3rem}.aperture{width:calc(100% - .5rem);margin:0 0 1rem}.calibration-grid{gap:2rem}.conditions,.field-grid,.notes-grid,.principles,.profile-grid{grid-template-columns:1fr}.field{border-left:var(--border)}.view{grid-template-columns:1fr;margin-inline:0!important}.view-label{grid-column:auto}.method-grid{display:grid;grid-template-columns:1fr}.method-step:nth-child(n){grid-column:auto;min-height:0}.checklist ul{columns:1}.search-panel{grid-template-columns:1fr}.search-panel>p{justify-self:start}.search-row{flex-direction:column}.search-row button{border:1px solid var(--carbon);border-top:0}.footer-grid{grid-template-columns:1fr}.footer-grid nav{grid-template-columns:1fr 1fr}.final-grid{gap:2rem}.calibration-figure{min-height:280px}.profile{padding:1.1rem}}
/* 26. Reduced Motion */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js-enabled .reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
