/* 01. Design tokens */
:root{--night:#23272D;--blue:#496A8F;--rose:#9B5965;--moss:#74836B;--brass:#C29A4A;--parchment:#F5F0E5;--cold:#E4E9EA;--clay:#ECE1DC;--ink:#33373B;--muted:#73787C;--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;--container:1200px;--radius:7px;--shadow:0 12px 30px #23272d18;--transition:180ms ease;}
/* 02. Reset */
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0}img{max-width:100%;display:block}button,input{font:inherit}
/* 03. Base */
html{scroll-behavior:smooth}body{background:var(--parchment);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer}section{scroll-margin-top:76px}
/* 04. Accessibility */
.skip-link{position:fixed;top:0;left:1rem;background:var(--brass);color:var(--night);padding:.6rem 1rem;transform:translateY(-120%);z-index:100}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
/* 05. Typography */
h1,h2,h3{font-family:var(--font-editorial);line-height:1.12;font-weight:500}h1{font-size:clamp(2.6rem,5vw,5.2rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,3.7vw,3.7rem);letter-spacing:-.035em}h3{font-size:1.45rem}.eyebrow,.card-index,.row-index,.profile-type,.system-frame>span,.translation-label,.frame-title{font:700 .72rem/1.2 var(--font-mono);letter-spacing:.09em}.eyebrow{color:var(--blue);margin-bottom:1rem}.lede,.section-intro{font-size:1.08rem;max-width:65ch;color:#54595d}.section-intro{margin-top:1rem}
/* 06. Global layout */
.container{width:min(calc(100% - 3rem),var(--container));margin:auto}.section{padding:7.5rem 0}.button{display:inline-block;padding:.8rem 1.15rem;border-radius:3px;font-weight:700;transition:var(--transition)}.primary{background:var(--night);color:var(--parchment)}.primary:hover{background:var(--blue)}.text-link{border-bottom:1px solid currentColor;padding-bottom:.25rem;font-weight:700}.text-link span{color:var(--brass);padding-left:.3rem}
/* 07. Header */
.site-header{position:sticky;top:0;z-index:20;background:#f5f0e5ee;border-bottom:1px solid #23272d20;backdrop-filter:blur(8px)}.header-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{width:175px}.brand img{height:42px}.site-header nav{display:flex;align-items:center;gap:1.35rem;font-size:.84rem;font-weight:650}.site-header nav a:hover{color:var(--blue)}.nav-cta{background:var(--night);color:var(--white);padding:.5rem .8rem}.menu-toggle{display:none;border:0;background:none;padding:.4rem}.menu-toggle span{display:block;width:23px;height:2px;background:var(--night);margin:4px}
/* 08. Hero */
.hero{padding:7rem 0 6rem;background:linear-gradient(112deg,var(--parchment) 65%,var(--cold) 65%)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero h1 em{color:var(--blue);font-style:normal;border-bottom:4px solid var(--brass)}.hero-copy .lede{margin:1.7rem 0}.hero-actions{display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap}.micro-label{font:600 .7rem var(--font-mono);letter-spacing:.07em;margin-top:2rem;color:var(--muted)}
/* 09. Three frames */
.three-frames{min-height:500px;position:relative;padding-top:1.8rem}.frame-title{position:absolute;top:0;right:0;color:var(--muted)}.research-frame{position:absolute;width:76%;min-height:340px;padding:1.4rem;background:var(--white);border:1px solid #23272d20;box-shadow:var(--shadow);border-radius:var(--radius)}.research-frame h2{font:600 1rem var(--font-mono);letter-spacing:.08em;margin:.8rem 0 .2rem}.research-frame>p{font-size:.85rem;color:var(--muted)}.research-frame ul{display:flex;gap:.5rem;flex-wrap:wrap;list-style:none;margin:1rem 0}.research-frame li{font-size:.68rem;border:1px solid #23272d33;padding:.18rem .35rem}.research-frame small{font-size:.75rem;line-height:1.35;display:block}.trajectory{z-index:3;top:45px;left:0}.chronicle{z-index:2;top:100px;right:3%;background:var(--clay)}.architecture{z-index:1;top:165px;left:13%;background:var(--cold)}.arc-diagram{height:73px;position:relative;border-bottom:1px solid var(--blue)}.arc-diagram i{position:absolute;width:70%;height:64px;border:2px solid var(--blue);border-color:var(--blue) transparent transparent transparent;border-radius:50%;left:10%;top:10px}.arc-diagram b{position:absolute;width:9px;height:9px;background:var(--brass);border-radius:50%;bottom:-5px}.arc-diagram b:nth-of-type(1){left:20%}.arc-diagram b:nth-of-type(2){left:50%;bottom:45px}.arc-diagram b:nth-of-type(3){left:80%}.chronicle-diagram{height:73px;border-left:2px solid var(--rose);padding:4px 0}.chronicle-diagram i{display:block;height:10px;background:#9b596555;margin:5px 0 0 12px}.chronicle-diagram i:nth-child(2){width:70%}.chronicle-diagram i:nth-child(3){width:45%}.graph-diagram{height:73px;position:relative;background:linear-gradient(25deg,transparent 47%,#74836b66 48%,#74836b66 52%,transparent 53%),linear-gradient(-30deg,transparent 47%,#74836b66 48%,#74836b66 52%,transparent 53%)}.graph-diagram i{display:block;position:absolute;width:13px;height:13px;border-radius:50%;background:var(--moss)}.graph-diagram i:nth-child(1){top:5px;left:12%}.graph-diagram i:nth-child(2){top:42px;left:45%}.graph-diagram i:nth-child(3){top:12px;right:15%}.graph-diagram i:nth-child(4){bottom:4px;right:8%}.index-seal{position:absolute;z-index:5;top:205px;left:43%;text-align:center;font:700 .65rem var(--font-mono);letter-spacing:.1em}.index-seal img{width:58px;margin:auto}.frame-foot{position:absolute;bottom:0;right:0;font:600 .7rem var(--font-mono);letter-spacing:.08em}
/* 10. Index strip */
.index-strip{background:var(--night);color:var(--parchment);padding:5rem 0}.index-strip .eyebrow{color:var(--brass)}.index-strip h2{max-width:850px}.strip-statements{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}.strip-statements p{border-top:1px solid #f5f0e566;padding-top:1rem;font:600 .85rem var(--font-mono)}
/* 11. System frames */
.frame-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3.5rem}.system-frame{padding:1.4rem;border-top:4px solid var(--blue);background:var(--cold)}.system-frame.rose{border-color:var(--rose);background:var(--clay)}.system-frame.moss{border-color:var(--moss);background:#e8ede6}.system-frame.dark{border-color:var(--brass);background:var(--night);color:var(--parchment)}.system-frame h3{margin:1.6rem 0 .9rem}.system-frame p{font-size:.88rem}.system-frame ul{list-style:none;margin-top:1.4rem;font-size:.74rem}.system-frame li{border-top:1px solid #23272d22;padding:.4rem 0}
/* 12. Translations */
.translations{background:var(--cold)}.translation-list{margin-top:3rem;border-top:1px solid #23272d33}.translation-row{display:grid;grid-template-columns:50px 1fr 220px;gap:1.2rem;align-items:center;padding:2rem 0;border-bottom:1px solid #23272d33}.row-index{color:var(--brass);font-size:1rem}.translation-label{color:var(--blue);margin-bottom:.7rem}.translation-row h3{font-size:1.35rem;max-width:720px}.tags{font-size:.76rem;color:var(--muted);margin-top:.8rem}.translation-flow{display:flex;align-items:center;gap:.35rem;font:700 .63rem var(--font-mono);color:var(--blue)}.translation-flow span{border:1px solid var(--blue);padding:.4rem .3rem}.translation-flow b{color:var(--brass)}
/* 13. Protocol */
.protocol-layout{display:grid;grid-template-columns:1fr 340px;gap:5rem;margin-top:3.5rem}.protocol-list{list-style:none;position:relative}.protocol-list::before{content:"";position:absolute;left:50%;top:1rem;bottom:1rem;border-left:1px solid var(--blue)}.protocol-list li{position:relative;width:50%;padding:0 3rem 2.5rem 0;text-align:right}.protocol-list li:nth-child(even){left:50%;padding:0 0 2.5rem 3rem;text-align:left}.protocol-list span{position:absolute;right:-.6rem;top:0;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--brass);font:700 .6rem/1.2rem var(--font-mono);text-align:center}.protocol-list li:nth-child(even) span{left:-.6rem}.protocol-list h3{font:600 1rem var(--font-mono);letter-spacing:.08em}.protocol-list p{font-size:.9rem}.checklist{align-self:start;background:var(--clay);padding:1.6rem;border-left:4px solid var(--rose)}.checklist h3{margin:.8rem 0 1rem}.checklist ul{list-style:none;font-size:.82rem}.checklist li{padding:.55rem 0;border-top:1px solid #23272d22}.checklist li::before{content:"+";color:var(--rose);font-weight:bold;margin-right:.5rem}
/* 14. References */
.references{background:var(--parchment)}.contact-note{margin:1.5rem 0 2.5rem;padding:1rem;border-left:3px solid var(--brass);background:#fff9}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.profile{padding:1.25rem;background:var(--white);border:1px solid #23272d1f;box-shadow:0 5px 14px #23272d0b}.profile.reference{background:#f0f0ea;border-top:3px solid var(--moss)}.profile-head{display:flex;justify-content:space-between;align-items:center}.profile-head b{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font:700 .78rem var(--font-mono)}.profile.reference .profile-head b{background:var(--moss)}.profile-head span{font:.7rem var(--font-mono);color:var(--muted)}.profile-type{margin:1.2rem 0 .55rem;color:var(--rose)}.reference .profile-type{color:var(--moss)}.profile h3{font-size:1.45rem}.profile p{font-size:.79rem;margin-top:.8rem}.profile .institution{font-weight:650}.orcid{font:700 .68rem var(--font-mono)!important;color:var(--blue)}.email{display:block;overflow-wrap:anywhere;font:600 .7rem var(--font-mono);color:var(--blue);margin:1rem 0}.copy-email,#clear-search,#back-to-top{border:1px solid var(--night);background:transparent;padding:.45rem .7rem;font-weight:700;font-size:.75rem}.copy-email:hover,#clear-search:hover{background:var(--night);color:#fff}
/* 15. Independence note */
.independence{background:var(--night);color:var(--parchment);padding:6rem 0}.independence .eyebrow{color:var(--brass)}.independence h2{max-width:800px;margin-bottom:2rem}.independence p:not(.eyebrow){max-width:780px;margin-top:1rem}
/* 16. Working notes */
.notes{background:var(--cold)}.notes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.note{background:var(--white);border-left:3px solid var(--blue)}.note details{padding:1.2rem}.note summary{cursor:pointer;list-style:none}.note summary::-webkit-details-marker{display:none}.note summary span{font:700 .66rem var(--font-mono);color:var(--rose);letter-spacing:.07em}.note h3{font-size:1.35rem;margin:.45rem 0}.note p{font-size:.87rem}.note details>p{margin-top:1rem;padding-top:1rem;border-top:1px solid #23272d22}
/* 17. Search */
.search-area{margin-top:2.5rem;max-width:680px}.search-area label{display:block;font:700 .74rem var(--font-mono);margin-bottom:.5rem}.search-area>div{display:flex;gap:.6rem}.search-area input{width:100%;padding:.8rem;border:1px solid #23272d55;background:#fff}.search-area p{font:.75rem var(--font-mono);color:var(--muted);margin-top:.5rem}#no-results{margin-top:2rem;color:var(--rose);font-weight:700}
/* 18. About */
.about-copy{columns:2;gap:3rem;max-width:900px;margin-top:2.5rem}.about-copy p{margin-bottom:1rem}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem}.principles article{border-top:2px solid var(--brass);padding-top:1rem}.principles span{font:700 .75rem var(--font-mono);color:var(--blue)}.principles h3{margin:.8rem 0}.principles p{font-size:.88rem}
/* 19. Final CTA */
.final-cta{padding:7rem 0;background:var(--clay)}.final-cta h2,.final-cta p:not(.eyebrow){max-width:750px}.final-cta p:not(.eyebrow){margin:1.5rem 0 2rem}.final-cta .text-link{margin-left:1.5rem}
/* 20. Footer */
footer{background:var(--night);color:var(--parchment);padding:3.5rem 0} .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3rem}.footer-mark{width:48px;float:left;margin-right:1rem}.footer-grid h2{font-size:1.4rem}.footer-grid p,.footer-grid small{font-size:.78rem;color:#f5f0e5aa}.footer-grid nav{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;font-size:.85rem}.footer-grid nav a:hover{color:var(--brass)}#back-to-top{border-color:var(--brass);color:var(--parchment);margin-bottom:1rem}
/* 21. Reveal states */
.reveal{opacity:1;transform:none}.js-enabled .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.js-enabled .reveal.is-visible{opacity:1;transform:none}
/* 22. Responsive */
@media(max-width:900px){.hero-grid,.protocol-layout{grid-template-columns:1fr}.three-frames{max-width:600px;width:100%;margin:auto}.frame-grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:repeat(2,1fr)}.protocol-layout{gap:2rem}.translation-row{grid-template-columns:40px 1fr}.translation-flow{grid-column:2}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.container{width:min(calc(100% - 2rem),var(--container))}.site-header nav{display:none;position:absolute;top:70px;left:0;width:100%;padding:1rem;background:var(--parchment);border-bottom:1px solid #23272d33}.site-header nav.is-open{display:grid;gap:0}.site-header nav a{padding:.75rem}.menu-toggle{display:block}.hero{padding:4.5rem 0;background:var(--parchment)}.three-frames{min-height:900px}.research-frame{width:92%;min-height:255px}.trajectory{top:45px}.chronicle{top:290px;right:0}.architecture{top:535px;left:0}.index-seal{top:505px;left:68%}.frame-foot{bottom:15px}.strip-statements{grid-template-columns:1fr 1fr}.section{padding:5rem 0}.translation-row{grid-template-columns:1fr}.translation-flow{grid-column:auto}.protocol-list::before{left:9px}.protocol-list li,.protocol-list li:nth-child(even){width:100%;left:0;padding:0 0 2rem 2rem;text-align:left}.protocol-list span,.protocol-list li:nth-child(even) span{left:0;right:auto}.profile-grid,.notes-grid,.principles{grid-template-columns:1fr}.about-copy{columns:1}.footer-grid{grid-template-columns:1fr;gap:2rem}}
/* 23. Reduced motion */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js-enabled .reveal{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
