/* 01. Design tokens */
:root{--midnight:#202632;--river:#496c88;--terracotta:#b36c52;--fig:#745a77;--olive:#7c8155;--ochre:#ba914e;--slate:#68757e;--pale-blue:#e1e9ee;--fig-mist:#e9e2e9;--clay:#f0e2da;--olive-wash:#e9e9da;--warm:#f8f3e8;--cool:#eff1f2;--graphite:#373c41;--muted:#747b80;--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(.76rem,.7rem + .2vw,.88rem);--fs-body:clamp(.98rem,.92rem + .2vw,1.08rem);--fs-h3:clamp(1.25rem,1.1rem + .6vw,1.7rem);--fs-h2:clamp(2rem,1.5rem + 2vw,3.4rem);--fs-h1:clamp(2.65rem,1.8rem + 3.3vw,5.3rem);--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:clamp(3rem,6vw,6rem);--space-xl:clamp(5rem,9vw,9rem);--container:1200px;--border:1px solid rgba(32,38,50,.18);--radius:14px;--shadow:0 16px 35px rgba(32,38,50,.08);--transition:220ms ease}
/* 02. Reset */
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:auto}body,h1,h2,h3,p,ul{margin:0}ul{padding:0}img,svg{display:block;max-width:100%}a{color:inherit}button,input{font:inherit}
/* 03. Base */
body{background:var(--warm);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% - 2.5rem),var(--container));margin-inline:auto}.section{padding:var(--space-xl) 0;scroll-margin-top:6rem}.section-intro{max-width:760px;font-size:1.12rem;margin:1.25rem 0 2.5rem}.sport{--accent:var(--river);--wash:var(--pale-blue)}.data{--accent:var(--olive);--wash:var(--olive-wash)}.translation{--accent:var(--fig);--wash:var(--fig-mist)}
/* 04. Accessibility */
.skip-link{position:fixed;z-index:999;top:.75rem;left:.75rem;transform:translateY(-160%);background:var(--white);color:var(--midnight);padding:.7rem 1rem}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--ochre);outline-offset:4px}
/* 05. Typography */
h1,h2,h3{color:var(--midnight);font-family:var(--font-editorial);font-weight:400;line-height:1.08;text-wrap:balance}h1{font-size:var(--fs-h1);letter-spacing:-.035em}h2{font-size:var(--fs-h2);letter-spacing:-.025em;max-width:900px}h3{font-size:var(--fs-h3)}.eyebrow,.category,.field,.micro-label,.route-name,.reference-label{color:var(--accent,var(--ochre));font-family:var(--font-mono);font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.eyebrow{margin-bottom:1rem}.index{font-family:var(--font-mono);font-size:.82rem;color:var(--accent)}
/* 06. Layout */
.button-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.65rem 1.1rem;border:1px solid var(--midnight);text-decoration:none;font-size:.9rem;font-weight:650;transition:background var(--transition),color var(--transition)}.button-primary{background:var(--midnight);color:var(--white)}.button-secondary{background:transparent;color:var(--midnight)}.button:hover{background:var(--ochre);border-color:var(--ochre);color:var(--midnight)}.tags{display:flex;gap:.45rem;flex-wrap:wrap;list-style:none}.tags li{background:var(--wash);color:var(--accent);padding:.2rem .5rem;font-family:var(--font-mono);font-size:.7rem}
/* 07. Header */
.site-header{position:sticky;z-index:50;top:0;background:rgba(248,243,232,.96);border-bottom:var(--border);backdrop-filter:blur(10px)}.header-inner{width:min(calc(100% - 2.5rem),1320px);min-height:82px;margin:auto;display:flex;align-items:center;gap:2rem}.brand{width:310px;margin-right:auto}.brand img{width:100%}#site-nav{display:flex;align-items:center;gap:1.15rem}#site-nav a{font-size:.77rem;font-weight:650;text-decoration:none;white-space:nowrap}#site-nav a:hover{color:var(--river)}#site-nav .nav-cta{padding:.55rem .7rem;border:1px solid var(--midnight)}.nav-toggle{display:none;background:none;border:0;padding:.5rem}.nav-toggle span{display:block;width:25px;height:2px;margin:5px;background:var(--midnight)}
/* 08. Hero */
.hero{min-height:calc(100vh - 82px);padding:clamp(4rem,8vw,8rem) 0;background:linear-gradient(110deg,var(--warm) 72%,var(--clay) 72%);scroll-margin-top:5rem}.hero-grid{display:grid;grid-template-columns:48% 52%;align-items:center;gap:2rem}.hero h1 em{color:var(--terracotta);font-style:italic}.hero-lede{max-width:620px;margin-top:1.7rem;font-size:clamp(1.05rem,1rem + .3vw,1.25rem)}.micro-label{margin-top:2.25rem;color:var(--slate)}
/* 09. Context Routes */
.route-board{position:relative;min-height:560px}.route-lines{position:absolute;inset:0;width:100%;height:100%}.route-lines path{fill:none;stroke-width:4}.route-lines circle{fill:var(--ochre);stroke:var(--warm);stroke-width:3}.sport-line{stroke:var(--river)}.data-line{stroke:var(--olive)}.translation-line{stroke:var(--fig)}.context-route{position:absolute;width:65%;padding:.8rem 1rem;background:rgba(248,243,232,.92);border-left:4px solid}.context-route div{display:flex;gap:.7rem;align-items:baseline}.context-route span{font:700 .65rem var(--font-mono);letter-spacing:.08em;color:var(--ochre)}.context-route b{font-size:.78rem;font-weight:550}.sport-route{top:3%;left:7%;border-color:var(--river);transform:rotate(5deg)}.data-route{top:40%;right:0;border-color:var(--olive);transform:rotate(-7deg)}.translation-route{top:68%;left:7%;border-color:var(--fig);transform:rotate(3deg)}.route-caption{position:absolute;bottom:-1rem;right:0;max-width:530px;padding-left:1rem;border-left:2px solid var(--ochre);font-size:.8rem}
/* 10. Waypoint Labels */
.route-name{margin-bottom:.4rem;color:var(--midnight)}
/* 11. Context Band */
.context-band{padding:4.5rem 0;background:var(--midnight);color:var(--white)}.context-band .eyebrow{color:var(--ochre)}.band-lede{max-width:860px;font:clamp(1.45rem,1.1rem + 1vw,2.2rem)/1.4 var(--font-editorial)}.band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:3rem;background:rgba(255,255,255,.2)}.band-grid p{padding:1.25rem;background:var(--midnight);font-family:var(--font-mono);font-size:.8rem}
/* 12. Study Paths */
.study-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:3rem}.study-card{position:relative;min-height:430px;padding:1.5rem;border-top:5px solid var(--accent);background:var(--white);box-shadow:var(--shadow);display:flex;flex-direction:column}.study-card:nth-child(even){transform:translateY(2rem)}.study-card h3{margin:2.5rem 0 1rem}.study-card .tags{margin-top:auto;padding-top:1.5rem}
/* 13. Crossings */
.crossings{background:var(--cool)}.crossing{display:grid;grid-template-columns:38% 62%;align-items:center;gap:3rem;margin-top:4rem;padding:3rem 0;border-top:1px solid var(--accent)}.crossing:nth-of-type(even){grid-template-columns:42% 58%;margin-left:5%}.crossing-route{display:flex;align-items:center;transform:rotate(-4deg);color:var(--accent);font:700 .72rem var(--font-mono)}.crossing:nth-of-type(even) .crossing-route{transform:rotate(4deg)}.crossing-route i{flex:1;border-top:2px solid;margin:.5rem}.crossing-route span{padding:.45rem;background:var(--warm);border:1px solid}.crossing h3{margin:.7rem 0 1.2rem}.crossing .limit{margin-top:1rem;padding:1rem;border-left:3px solid var(--ochre);font-size:.9rem}
/* 14. Context Method */
.method-route{margin-top:4rem}.method-step{position:relative;display:grid;grid-template-columns:70px 1fr;width:70%;padding:1.4rem 2rem;border-top:var(--border);background:var(--white)}.method-step:nth-child(even){margin-left:25%;transform:skewX(-2deg)}.method-step:nth-child(3n){margin-left:12%}.method-step>span{font:700 .8rem var(--font-mono);color:var(--ochre)}.method-step h3{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.1em}.method-step p{margin-top:.5rem}
/* 15. Route Checklist */
.checklist{padding:var(--space-lg) 0;background:var(--clay)}.checklist-grid{display:grid;grid-template-columns:35% 65%;gap:4rem}.checklist ul{columns:2;column-gap:3rem}.checklist li{break-inside:avoid;margin-bottom:.65rem;padding-bottom:.55rem;border-bottom:1px solid rgba(32,38,50,.12)}
/* 16. Academic References */
.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}.contact-note{max-width:900px;padding:1rem 1.2rem;background:var(--clay);border-left:3px solid var(--terracotta)}.profile{position:relative;padding:1.5rem;background:var(--white);border-top:5px solid var(--accent);box-shadow:var(--shadow);overflow:hidden}.profile.offset{margin-top:2rem}.profile-head{display:flex;justify-content:space-between;align-items:center}.avatar{display:grid;place-items:center;width:54px;height:54px;background:var(--wash);color:var(--accent);font:700 1rem var(--font-mono)}.mini-route{height:36px;margin:1rem 0;background:linear-gradient(176deg,transparent 46%,var(--accent) 47%,var(--accent) 51%,transparent 52%);position:relative}.profile:nth-child(2n) .mini-route{transform:rotate(4deg)}.mini-route::after{content:"";position:absolute;left:55%;top:12px;width:9px;height:9px;background:var(--ochre);border-radius:50%}.profile h3{margin-bottom:.5rem}.profile p{margin:.8rem 0;font-size:.87rem}.role{font-weight:700}.orcid{font-family:var(--font-mono);font-size:.75rem!important}.contact{display:grid;gap:.5rem;margin-top:1.2rem;padding-top:1rem;border-top:var(--border)}.contact>span:first-child,.reference-label{font:700 .68rem var(--font-mono);color:var(--terracotta);letter-spacing:.1em;text-transform:uppercase}.contact a{font-size:.78rem;overflow-wrap:anywhere}.copy-email{justify-self:start;border:1px solid var(--midnight);background:transparent;padding:.4rem .7rem;cursor:pointer}.reference-label{margin-top:1.4rem!important;padding-top:1rem;border-top:var(--border)}
/* 17. Independence Note */
.independence{padding:var(--space-lg) 0;background:var(--fig-mist)}.independence .container{display:grid;grid-template-columns:38% 62%;gap:4rem}.independence h2{font-size:clamp(1.8rem,1.4rem + 1vw,2.6rem)}.independence p+p{margin-top:1rem}
/* 18. Route Notes */
.notes{background:var(--cool)}.notes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.route-note{background:var(--white);border-left:4px solid var(--river)}.route-note:nth-child(n+4){border-color:var(--olive)}.route-note:nth-child(n+7){border-color:var(--fig)}.route-note:nth-child(10){border-color:var(--ochre)}.route-note[hidden]{display:none}.route-note details{padding:1.4rem}.route-note summary{cursor:pointer;list-style:none}.route-note summary::-webkit-details-marker{display:none}.route-note summary::after{content:"+";float:right;margin-top:-2rem;font:1.4rem var(--font-mono)}.route-note details[open] summary::after{content:"−"}.route-note summary span,.note-tags{font:700 .68rem var(--font-mono);color:var(--slate);letter-spacing:.08em;text-transform:uppercase}.route-note h3{margin:.6rem 2rem .6rem 0}.route-note details>p{margin-top:1rem}.note-tags{padding-top:1rem;border-top:var(--border);color:var(--fig)}
/* 19. Search */
.search-box{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;margin-top:2rem;padding:1.3rem;background:var(--midnight);color:var(--white)}.search-box label{grid-column:1/-1;font:700 .78rem var(--font-mono);letter-spacing:.08em}.search-box>div{display:flex}.search-box input{width:min(650px,100%);padding:.8rem;border:0;background:var(--white);color:var(--midnight)}.search-box button{border:0;background:var(--ochre);padding:.7rem 1rem;cursor:pointer}.search-box p{align-self:center;font-family:var(--font-mono)}.no-results{padding:3rem;text-align:center;border:1px dashed var(--slate);margin-top:1rem}
/* 20. About */
.about-grid{display:grid;grid-template-columns:48% 52%;gap:5rem}.about-grid>div:first-child>p:not(.eyebrow){margin-top:1.2rem}.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.principles article{padding:1.3rem;border-top:3px solid var(--ochre);background:var(--white)}.principles span{font:700 .72rem var(--font-mono);color:var(--ochre)}.principles h3{margin:.7rem 0}
/* 21. Final CTA */
.final-cta{padding:var(--space-xl) 0;background:var(--pale-blue)}.final-cta>.container{display:grid;grid-template-columns:52% 48%;align-items:center;gap:4rem}.cta-diagram{position:relative;min-height:360px;display:grid;place-items:center}.cta-diagram>div{display:grid;grid-template-columns:1fr 45px 1fr 45px 1fr;align-items:center;width:100%}.cta-diagram b{text-align:center;writing-mode:vertical-rl;min-height:190px;padding:1rem;border:1px solid var(--midnight);font:700 .75rem var(--font-mono);letter-spacing:.15em}.cta-diagram i{border-top:2px dashed var(--ochre)}.cta-diagram strong{position:absolute;padding:.7rem;background:var(--midnight);color:var(--white);font:700 .78rem var(--font-mono);letter-spacing:.1em}.orbit{position:absolute;font:700 .65rem var(--font-mono);color:var(--slate)}.o1{top:5%;left:10%}.o2{top:12%;right:5%}.o3{bottom:5%;left:18%}.o4{bottom:12%;right:10%}
/* 22. Footer */
footer{padding:4rem 0 1.5rem;background:var(--midnight);color:var(--white)}footer h2{color:var(--white);font-size:1.6rem;margin-top:1rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr auto;gap:4rem}.footer-grid nav{display:grid;gap:.35rem}.footer-grid a{text-decoration:none;font-size:.85rem}.back-top{align-self:start}.copyright{margin-top:3rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.18);font-size:.78rem}
/* 23. Reveal */
.js-enabled .reveal{opacity:0;transform:translateY(24px);transition:opacity 650ms ease,transform 650ms ease}.js-enabled .reveal.is-visible{opacity:1;transform:none}
/* 24. Responsive */
@media(max-width:1100px){.brand{width:240px}#site-nav{gap:.65rem}#site-nav a{font-size:.68rem}.hero-grid{grid-template-columns:1fr 1fr}.study-grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.header-inner{min-height:72px}.brand{width:260px}.nav-toggle{display:block}#site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:1.3rem;background:var(--warm);border-bottom:var(--border);box-shadow:var(--shadow);flex-direction:column;align-items:stretch}#site-nav.is-open{display:flex}#site-nav a{padding:.35rem;font-size:.85rem}.hero{min-height:auto;background:var(--warm)}.hero-grid,.about-grid,.final-cta>.container,.independence .container{grid-template-columns:1fr}.route-board{min-height:620px}.band-grid{grid-template-columns:repeat(2,1fr)}.crossing,.crossing:nth-of-type(even){grid-template-columns:1fr;margin-left:0;gap:1.5rem}.method-step{width:90%}.checklist-grid{grid-template-columns:1fr}.profile-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.back-top{grid-column:1/-1}.final-cta>.container{gap:2rem}}
@media(max-width:560px){.container,.header-inner{width:min(calc(100% - 1.5rem),var(--container))}.brand{width:220px}.hero{padding-top:3rem}.hero-grid{grid-template-columns:1fr}.route-board{min-height:auto;display:grid;gap:1rem;margin-top:2rem}.route-lines{display:none}.context-route{position:relative;inset:auto!important;width:100%;transform:none!important}.route-caption{position:relative;inset:auto;margin-top:1rem}.band-grid,.study-grid,.profile-grid,.notes-grid,.principles{grid-template-columns:1fr}.band-grid p{padding:1rem}.study-card{min-height:auto}.study-card:nth-child(even),.profile.offset{transform:none;margin-top:0}.method-step,.method-step:nth-child(even),.method-step:nth-child(3n){width:100%;margin-left:0;transform:none;grid-template-columns:45px 1fr;padding:1.2rem .8rem}.checklist-grid{gap:2rem}.checklist ul{columns:1}.independence .container{gap:2rem}.search-box{grid-template-columns:1fr}.search-box>div{flex-direction:column}.search-box p{justify-self:start}.final-cta>.container{grid-template-columns:1fr}.cta-diagram{min-height:320px}.footer-grid{grid-template-columns:1fr;gap:2rem}.back-top{grid-column:auto}}
/* 25. Reduced Motion */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.js-enabled .reveal{opacity:1;transform:none}}
