/* 01. Design tokens */
:root{--navy:#182a3a;--maritime:#4f7392;--teal:#387c76;--rust:#a75e3e;--brass:#c39a4a;--graphite:#343a3d;--slate:#68757d;--ice:#e7eef2;--teal-mist:#e3efec;--oxide-mist:#f0e4dd;--paper:#f8f4ea;--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(.72rem,.69rem + .14vw,.8rem);--step-0:clamp(.94rem,.89rem + .22vw,1.06rem);--step-1:clamp(1.15rem,1.03rem + .58vw,1.48rem);--step-2:clamp(1.5rem,1.25rem + 1.2vw,2.2rem);--step-3:clamp(2rem,1.5rem + 2.5vw,3.55rem);--step-4:clamp(2.65rem,1.75rem + 4vw,5.2rem);--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:clamp(4rem,8vw,8rem);--container:1200px;--border:1px solid rgba(24,42,58,.18);--radius:12px;--shadow:0 14px 34px rgba(24,42,58,.08);--transition:220ms ease}
/* 02. Reset */
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p,ul,blockquote{margin:0}ul{padding:0}img,svg{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(--step-0);line-height:1.65;overflow-x:hidden}::selection{background:var(--brass);color:var(--navy)}
/* 04. Accessibility */
.skip-link{position:fixed;z-index:999;top:.5rem;left:.5rem;padding:.7rem 1rem;background:var(--white);color:var(--navy);transform:translateY(-150%)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--brass);outline-offset:4px}
/* 05. Typography */
h1,h2,h3{color:var(--navy);font-family:var(--font-editorial);font-weight:400;line-height:1.08}h1{font-size:var(--step-4);letter-spacing:-.045em}h1 em{color:var(--rust);font-style:italic}h2{font-size:var(--step-3);letter-spacing:-.035em}h3{font-size:var(--step-1)}.eyebrow,.category,.number,.route,.labels,.orcid,.micro,.diagram-note,.map-heading{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.12em;text-transform:uppercase}.eyebrow{color:var(--rust);font-weight:700;margin-bottom:var(--space-2)}.lead{font-size:var(--step-1);line-height:1.55}
/* 06. Layout */
.container{width:min(calc(100% - 2.5rem),var(--container));margin-inline:auto}.section{padding:var(--space-6) 0}.section-tint{background:var(--ice)}.section-heading{display:grid;grid-template-columns:minmax(190px,.35fr) 1fr;column-gap:var(--space-5);margin-bottom:var(--space-5);max-width:980px}.section-heading .eyebrow{grid-row:1/3}.section-heading>p:last-child:not(.eyebrow){margin-top:1rem;max-width:760px}.actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.2rem;border:1px solid var(--navy);background:var(--navy);color:var(--white);font-weight:650;text-decoration:none;transition:background var(--transition),transform var(--transition)}.button:hover{background:var(--rust);border-color:var(--rust);transform:translateY(-2px)}.button-small{padding:.6rem .85rem;font-size:.78rem}.text-link{color:var(--navy);font-weight:700;text-underline-offset:5px}.text-link span{color:var(--rust)}
/* 07. Header */
.site-header{position:sticky;z-index:100;top:0;border-bottom:var(--border);background:rgba(248,244,234,.96)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{width:260px}.brand img{width:100%}.site-header nav{display:flex;align-items:center;gap:clamp(.65rem,1.2vw,1.3rem)}.site-header nav>a:not(.button){font-size:.78rem;font-weight:650;text-decoration:none}.site-header nav>a:not(.button):hover{color:var(--rust)}.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px}.menu-toggle span{display:block;height:2px;background:var(--navy);margin:5px}
/* 08. Hero */
.hero{padding:clamp(3rem,6vw,6rem) 0 var(--space-6);background:linear-gradient(110deg,var(--paper) 0 47%,var(--ice) 47% 100%)}.hero-grid{display:grid;grid-template-columns:.44fr .56fr;gap:clamp(2rem,4vw,4rem);align-items:center}.hero-copy .lead{margin:1.8rem 0 2rem;max-width:610px}.micro{margin-top:2rem;color:var(--slate)}.micro span{display:inline-block;width:32px;border-top:1px solid var(--brass);vertical-align:middle;margin-right:.5rem}
/* 09. Operating map */
.map-composition{border:var(--border);background:var(--white);padding:1.2rem;box-shadow:var(--shadow)}.map-heading{display:flex;justify-content:space-between;color:var(--navy)}.map-heading span:last-child{color:var(--rust)}.hero-map{width:100%;margin:.5rem 0}.axis,.ticks{fill:none;stroke:var(--navy);stroke-width:1.4}.uncertainty{fill:none;stroke:var(--brass);stroke-width:16;stroke-opacity:.18}.region{stroke-width:2;fill-opacity:.14}.region.model{fill:var(--rust);stroke:var(--rust)}.region.energy{fill:var(--teal);stroke:var(--teal)}.region.maritime{fill:var(--maritime);stroke:var(--maritime)}.limit{fill:none;stroke:var(--rust);stroke-width:3;stroke-dasharray:8 6}.nominal{fill:var(--brass);stroke:var(--navy);stroke-width:3}.test{fill:var(--white);stroke:var(--rust);stroke-width:3}.map-label{font:11px var(--font-mono);letter-spacing:1px;fill:var(--navy)}.map-callouts{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.map-callouts article{border-top:2px solid var(--maritime);padding-top:.6rem}.map-callouts article:nth-child(2){border-color:var(--teal)}.map-callouts article:nth-child(3){border-color:var(--rust)}.map-callouts b,.map-callouts small{font:600 9px var(--font-mono);letter-spacing:.08em}.map-callouts p{font-size:.72rem;line-height:1.45;margin:.35rem 0}.map-callouts small{color:var(--slate);font-size:8px}.diagram-note{text-align:right;color:var(--slate);margin-top:1rem;font-size:.6rem}
/* 10. Contour fields */
.mini-contour{width:70px;height:38px;border:2px dotted currentColor;border-radius:48% 39% 53% 42%;transform:rotate(-7deg)}.energy-profile .mini-contour{border-style:solid;border-radius:38% 55% 42% 58%}.maritime-profile .mini-contour{border-style:dashed;border-radius:55% 35% 48% 40%}
/* 11. Performance band */
.performance-band{padding:var(--space-5) 0;background:var(--navy);color:var(--white)}.performance-band .eyebrow{color:var(--brass)}.performance-band h2{color:var(--white);font-size:var(--step-2);max-width:760px}.band-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:var(--space-4);border-top:1px solid rgba(255,255,255,.2)}.band-grid p{padding:1.2rem;border-right:1px solid rgba(255,255,255,.2)}.band-grid b{display:block;color:var(--brass);font:400 .7rem var(--font-mono);margin-bottom:.4rem}
/* 12. Envelope regions */
.region-grid{display:grid;grid-template-columns:repeat(4,1fr);border:var(--border)}.region-block{min-height:430px;padding:1.6rem;border-right:var(--border);display:flex;flex-direction:column}.region-block:last-child{border:0}.region-block .number{color:var(--slate)}.region-block h3{margin:4rem 0 1.2rem}.region-block p{font-size:.94rem}.region-block ul{list-style:none;margin-top:auto;padding-top:2rem}.region-block li{border-top:var(--border);padding:.4rem 0;font:600 .7rem var(--font-mono);text-transform:uppercase}.model-tone{background:var(--oxide-mist)}.energy-tone{background:var(--teal-mist)}.rust-tone{background:#f4eadd}.maritime-tone{background:var(--ice)}
/* 13. Load cases */
.load-stack{border-top:1px solid var(--navy)}.load-case{display:grid;grid-template-columns:120px 1.2fr 1fr;gap:2rem;padding:2.2rem 0;border-bottom:1px solid var(--navy);position:relative}.load-index span{display:block;font:10px var(--font-mono);letter-spacing:.1em}.load-index b{font:400 3.5rem var(--font-editorial);color:var(--rust)}.load-case h3{margin:.4rem 0 1rem}.load-case blockquote{font:italic var(--step-1)/1.45 var(--font-editorial);color:var(--navy);border-left:2px solid var(--brass);padding-left:1.2rem}.labels{grid-column:2/4;display:flex;gap:.5rem;flex-wrap:wrap}.labels span{border:var(--border);padding:.3rem .6rem;background:var(--white)}
/* 14. Evaluation method */
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:var(--border);border-left:var(--border)}.method-grid article{min-height:235px;padding:1.6rem;border-right:var(--border);border-bottom:var(--border)}.method-grid span{font:var(--step--1) var(--font-mono);color:var(--rust)}.method-grid i{display:inline-block;width:8px;height:8px;margin-left:.5rem;border:1px solid var(--rust);border-radius:50%}.method-grid h3{margin:3rem 0 1rem;text-transform:uppercase}
/* 15. Checklist */
.checklist{display:grid;grid-template-columns:.7fr 1.5fr;gap:3rem;margin-top:var(--space-5);padding:var(--space-4);background:var(--navy);color:var(--white)}.checklist h3{font-size:var(--step-2);color:var(--white)}.checklist ul{columns:2;list-style:none}.checklist li{break-inside:avoid;border-top:1px solid rgba(255,255,255,.2);padding:.55rem 0 .55rem 1.4rem;position:relative}.checklist li::before{content:"◇";position:absolute;left:0;color:var(--brass)}
/* 16. Researchers */
.contact-note{max-width:790px;margin:-1rem 0 2.5rem auto;padding:1.2rem;border-left:3px solid var(--rust);background:var(--white)}.contact-note strong{color:var(--navy)}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.profile{display:flex;flex-direction:column;padding:1.5rem;background:var(--white);border:var(--border);border-top:4px solid var(--rust)}.profile.energy-profile{border-top-color:var(--teal)}.profile.maritime-profile{border-top-color:var(--maritime)}.profile-top{display:flex;align-items:center;justify-content:space-between;color:var(--rust)}.energy-profile .profile-top{color:var(--teal)}.maritime-profile .profile-top{color:var(--maritime)}.avatar{display:grid;place-items:center;width:52px;height:52px;background:var(--navy);color:var(--white);font:700 1rem var(--font-mono)}.profile h3{font-size:1.7rem;margin:1.4rem 0 .4rem}.profile>p{font-size:.86rem;margin-bottom:1rem}.profile .role{font-weight:700;color:var(--navy)}.profile .institution{color:var(--slate)}.profile .tags,.profile .orcid{font:600 .66rem/1.6 var(--font-mono);color:var(--slate);text-transform:uppercase}.contact{margin-top:auto;border-top:var(--border);padding-top:1rem;display:grid;gap:.45rem}.contact span,.reference-label{font:700 .66rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--rust)}.contact a{font-size:.85rem;overflow-wrap:anywhere}.copy-email{justify-self:start;border:1px solid var(--navy);background:transparent;color:var(--navy);padding:.45rem .7rem;font-weight:700}.reference-label{margin-top:auto;padding-top:1rem;border-top:var(--border)}
/* 17. Independence */
.independence{margin-top:var(--space-5);padding:var(--space-5);background:var(--oxide-mist);border:1px solid rgba(167,94,62,.3);display:grid;grid-template-columns:.5fr 1.2fr;gap:1rem 3rem}.independence .eyebrow{grid-row:1/4}.independence p:not(.eyebrow){grid-column:2}
/* 18. Research notes */
.notes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.research-note{border:var(--border);background:var(--white)}.research-note details[open]{border-left:4px solid var(--rust)}.research-note summary{list-style:none;padding:1.5rem;cursor:pointer}.research-note summary::-webkit-details-marker{display:none}.research-note summary span,.research-note summary b,.note-body small{font:700 .67rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--rust)}.research-note summary h3{margin:1rem 0}.research-note summary p{font-size:.9rem}.research-note summary b{display:block;margin-top:1.2rem;color:var(--navy)}.note-body{padding:0 1.5rem 1.5rem}.note-body p{border-top:var(--border);padding-top:1.2rem}.note-body small{display:block;margin-top:1rem;color:var(--slate)}
/* 19. Search */
.search-panel{margin-bottom:2rem;padding:1.4rem;background:var(--navy);color:var(--white)}.search-panel label{display:block;font-weight:700;margin-bottom:.6rem}.search-row{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;align-items:center}.search-row input{min-width:0;padding:.8rem;border:2px solid transparent;background:var(--white);color:var(--navy)}.search-row button{border:1px solid rgba(255,255,255,.5);background:transparent;color:var(--white);padding:.7rem}.search-row output{min-width:68px;font:700 .75rem var(--font-mono)}.no-results{padding:3rem;text-align:center;border:var(--border)}[hidden]{display:none!important}
/* 20. About */
.about-copy{max-width:800px;margin-left:auto;font-size:var(--step-1)}.about-copy p{margin-bottom:1.1rem}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:var(--space-5);border-top:1px solid var(--navy)}.principles article{padding:1.5rem;border-right:var(--border)}.principles span{font:var(--step--1) var(--font-mono);color:var(--rust)}.principles h3{margin:2.5rem 0 1rem}
/* 21. Final CTA */
.final-cta{padding:var(--space-6) 0;background:var(--oxide-mist)}.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:center}.cta-map svg{width:100%}.cta-outer,.cta-inner{fill:none;stroke:var(--maritime);stroke-width:3}.cta-inner{stroke:var(--teal)}.cta-line{stroke:var(--rust);stroke-width:2;stroke-dasharray:7 6}.cta-map circle{fill:var(--brass);stroke:var(--navy);stroke-width:3}.cta-map text{fill:var(--navy);font:700 11px var(--font-mono);letter-spacing:1px}.cta-grid>div:last-child>p:not(.eyebrow){margin:1.3rem 0 2rem}
/* 22. Footer */
footer{padding:var(--space-5) 0 1.5rem;background:var(--navy);color:var(--white)}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr auto;gap:3rem;align-items:start}.footer-brand{display:flex;gap:1rem}.footer-brand img{width:62px;filter:brightness(0) invert(1)}.footer-brand strong{font:var(--step-1) var(--font-editorial)}.footer-brand p{font-size:.78rem;color:var(--ice)}.footer-brand small{color:var(--brass)}footer nav{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}footer nav a,.back-top{font-size:.8rem;text-underline-offset:4px}.copyright{border-top:1px solid rgba(255,255,255,.2);margin-top:2rem;padding-top:1rem;font-size:.75rem;color:var(--ice)}
/* 23. Reveal */
.js-enabled .reveal{opacity:0;transform:translateY(18px);transition:opacity 650ms ease,transform 650ms ease}.js-enabled .reveal.is-visible{opacity:1;transform:none}
/* 24. Responsive */
@media(max-width:1050px){.site-header nav{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;padding:1.2rem;background:var(--paper);border-bottom:var(--border)}.site-header nav.is-open{display:flex}.menu-toggle{display:block}.hero{background:var(--paper)}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:760px}.region-grid{grid-template-columns:repeat(2,1fr)}.region-block:nth-child(2){border-right:0}.profile-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.back-top{grid-column:2}}
@media(max-width:720px){.container{width:min(calc(100% - 1.5rem),var(--container))}.brand{width:215px}.section-heading{display:block}.section-heading .eyebrow{margin-bottom:1rem}.map-callouts{grid-template-columns:1fr}.map-callouts article:nth-child(n+2){display:none}.map-label text:nth-child(-n+3),.map-label text:nth-child(5),.map-label text:nth-child(7){display:none}.band-grid,.region-grid,.method-grid,.profile-grid,.notes-grid,.principles,.cta-grid{grid-template-columns:1fr}.band-grid p,.region-block,.principles article{border-right:0}.region-block{min-height:360px;border-bottom:var(--border)}.load-case{grid-template-columns:70px 1fr;gap:1rem}.load-case blockquote,.labels{grid-column:1/3}.checklist{grid-template-columns:1fr;padding:1.5rem}.checklist ul{columns:1}.independence{display:block;padding:1.5rem}.independence h2,.independence p{margin-bottom:1rem}.search-row{grid-template-columns:1fr auto}.search-row output{grid-column:1/3}.footer-grid{grid-template-columns:1fr}.back-top{grid-column:auto}.footer-grid nav{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.brand{width:185px}.map-heading span:last-child{display:none}.hero-map{min-height:280px}.load-case{display:block}.load-index{display:flex;align-items:center;gap:.7rem}.load-index b{font-size:2rem}.load-case blockquote{margin:1rem 0}.labels{margin-top:1rem}.search-row{display:flex;flex-wrap:wrap}.search-row input{width:100%}}
/* 25. Reduced motion */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-enabled .reveal{opacity:1;transform:none}}
