/* 01. Design tokens */
:root{--petrol:#173B40;--mulberry:#6F455E;--clay:#C77458;--gold:#D1A547;--sage:#829C7C;--sky:#6F8FA8;--paper:#FAF4E8;--mist:#E6EDF0;--soft-sage:#E9EEE5;--soft-mulberry:#EFE7EC;--soft-clay:#F2E5DF;--graphite:#32383A;--muted:#747D7D;--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(.72rem,.68rem + .18vw,.82rem);--fs-base:clamp(.98rem,.93rem + .2vw,1.08rem);--fs-h3:clamp(1.35rem,1.15rem + .7vw,1.8rem);--fs-h2:clamp(2rem,1.45rem + 2vw,3.6rem);--fs-hero:clamp(3.2rem,1.7rem + 5.7vw,7.4rem);--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:5rem;--space-7:8rem;--container:1200px;--border:1px solid rgba(23,59,64,.18);--radius:1.1rem;--shadow:0 18px 48px rgba(23,59,64,.09);--transition:220ms ease}
/* 02. Reset */
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p{margin:0}img{display:block;max-width:100%}button,input{font:inherit}a{color:inherit}ul{margin:0;padding:0}
/* 03. Base */
body{background:var(--paper);color:var(--graphite);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.65;overflow-x:hidden}.container{width:min(calc(100% - 2.5rem),var(--container));margin-inline:auto}.section{padding-block:var(--space-7)}
/* 04. Accessibility */
.skip-link{position:fixed;z-index:1000;top:.6rem;left:.6rem;padding:.8rem 1rem;background:var(--white);color:var(--petrol);transform:translateY(-160%)}.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{font-family:var(--font-editorial);color:var(--petrol);line-height:1.05}h2{font-size:var(--fs-h2);max-width:920px}h3{font-size:var(--fs-h3)}p+p{margin-top:1rem}.eyebrow,.number,.category,.flow-code,.orcid,.micro-label,.flow-label,.constraint{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.eyebrow{color:var(--clay);margin-bottom:1rem}.tags{font-size:.82rem;color:var(--muted);line-height:1.5}.section-header{display:grid;gap:1.2rem;margin-bottom:var(--space-5)}.section-header>p:not(.eyebrow){max-width:850px}
/* 06. Layout */
.button-row{display:flex;gap:.75rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:.78rem 1.1rem;border:1px solid var(--petrol);text-decoration:none;font-size:.88rem;font-weight:700}.button-primary{background:var(--petrol);color:var(--white)}.button-primary:hover{background:var(--clay);border-color:var(--clay)}.button-quiet:hover{background:var(--white)}
/* 07. Header */
.site-header{position:sticky;z-index:100;top:0;background:rgba(250,244,232,.96);border-bottom:var(--border);backdrop-filter:blur(12px)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{width:260px}.site-nav{display:flex;align-items:center;gap:clamp(.7rem,1.4vw,1.3rem);font-size:.76rem;font-weight:650}.site-nav a{text-decoration:none;white-space:nowrap}.site-nav a:hover{color:var(--clay)}.nav-cta{border:1px solid var(--petrol);padding:.55rem .72rem}.menu-toggle{display:none;background:transparent;border:0;padding:.5rem}.menu-toggle span{display:block;width:25px;height:2px;margin:5px;background:var(--petrol)}
/* 08. Hero */
.hero{padding:var(--space-6) 0 var(--space-7)}.hero-copy{position:relative}.hero h1{font-size:var(--fs-hero);max-width:1100px;letter-spacing:-.045em}.hero h1 em{color:var(--clay);font-weight:400}.hero-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;margin:2rem 0 0 28%;max-width:880px}.hero-intro>p{max-width:600px}.micro-label{margin-top:3rem;color:var(--muted)}
/* 09. Braided flows */
.braid-panel{margin-top:var(--space-6);border:var(--border);background:var(--white);box-shadow:var(--shadow)}.braid-heading,.braid-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.4rem;border-bottom:var(--border)}.braid-heading .eyebrow{margin:0}.braid-stage{position:relative;height:420px;overflow:hidden;background-image:linear-gradient(rgba(23,59,64,.045) 1px,transparent 1px);background-size:100% 52px}.ribbon{position:absolute;left:-3%;width:106%;height:68px;border-radius:50%;transform-origin:center}.ribbon span{position:absolute;left:4%;top:21px;color:var(--white);font:700 .72rem var(--font-mono);letter-spacing:.14em}.ribbon.resource{top:77px;background:var(--sage);transform:rotate(5deg)}.ribbon.rule{top:171px;background:var(--mulberry);transform:rotate(-7deg)}.ribbon.control{top:260px;background:var(--sky);transform:rotate(5deg)}.ribbon::after{content:"";position:absolute;inset:12px 0;border-top:2px solid rgba(255,255,255,.45);border-bottom:2px solid rgba(255,255,255,.22);border-radius:50%}.flow-label{position:absolute;z-index:2;padding:.25rem .4rem;background:var(--white)}.label-a{top:45px;left:3%}.label-b{top:203px;left:3%}.label-c{top:335px;left:3%}.end-a{top:144px;right:3%}.end-b{top:115px;right:3%}.end-c{top:324px;right:3%}.constraint{position:absolute;z-index:3;padding:.65rem .8rem;color:var(--white);background:var(--clay);box-shadow:5px 5px 0 var(--soft-clay)}.block-a{top:92px;left:27%}.block-b{top:204px;left:55%}.block-c{top:265px;left:75%}.coordination-node{position:absolute;z-index:4;left:45%;top:151px;width:94px;height:94px;border:9px solid rgba(209,165,71,.35);border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--gold);color:var(--petrol);font:700 .65rem var(--font-mono)}.flow-questions{display:grid;grid-template-columns:repeat(3,1fr);border-top:var(--border)}.flow-questions article{padding:1.5rem}.flow-questions article+article{border-left:var(--border)}.flow-questions h3{margin:.45rem 0 1rem;font-size:1.25rem}.resource-text{color:var(--sage)}.rule-text{color:var(--mulberry)}.control-text{color:var(--sky)}.braid-footer{border-top:var(--border);border-bottom:0;align-items:flex-start;gap:2rem}.braid-footer span{font:700 .75rem var(--font-mono);text-transform:uppercase}.braid-footer p{max-width:650px;font-size:.84rem;color:var(--muted)}
/* 10. Friction strip */
.friction-strip{padding:var(--space-6) 0;background:var(--petrol);color:var(--white)}.friction-strip h2{color:var(--white)}.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:var(--space-5);border-top:1px solid rgba(255,255,255,.25)}.strip-grid p{padding:1.25rem 1.25rem 0 0}.strip-grid p::before{content:"↗";color:var(--gold);margin-right:.6rem}
/* 11. Flow fields */
.field-grid{display:grid;grid-template-columns:repeat(4,1fr);border:var(--border)}.field-card{min-height:360px;padding:1.6rem;display:flex;flex-direction:column;gap:1rem}.field-card+article{border-left:var(--border)}.field-card .tags{margin-top:auto}.field-card::before{content:"";height:8px;width:54%;border-radius:100%}.resource-field::before{background:var(--sage)}.rule-field::before{background:var(--mulberry)}.control-field::before{background:var(--sky)}.feedback-field::before{background:var(--gold)}
/* 12. Friction points */
.friction-section{background:var(--soft-clay)}.friction-list{border-top:2px solid var(--petrol)}.friction-item{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:3.5rem 1rem;border-bottom:var(--border)}.friction-item h3{font-size:clamp(1.9rem,3vw,3rem);margin:.75rem 0 1.2rem}.process{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem}.process span,.process b{padding:1.1rem .5rem;text-align:center;font:700 .72rem var(--font-mono);text-transform:uppercase}.process span{border:1px solid currentColor}.process b{background:var(--clay);color:var(--white)}.process b::before,.process b::after{content:" → ";color:var(--petrol)}
/* 13. Coordination method */
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);border:var(--border)}.method-step{padding:2rem;min-height:250px}.method-step:nth-child(n+4){border-top:var(--border)}.method-step:not(:nth-child(3n+1)){border-left:var(--border)}.method-step span{font:700 2rem var(--font-editorial);color:var(--gold)}.method-step h3{margin:2.5rem 0 .8rem}
/* 14. Checklist */
.checklist{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;margin-top:4rem;padding:3rem;background:var(--petrol);color:var(--white)}.checklist h2{color:var(--white)}.checklist ul{columns:2;list-style:none}.checklist li{break-inside:avoid;padding:.65rem 0 .65rem 1.4rem;border-bottom:1px solid rgba(255,255,255,.18)}.checklist li::before{content:"◆";color:var(--gold);margin-left:-1.4rem;margin-right:.65rem;font-size:.55rem}
/* 15. Researchers */
.references-section{background:var(--mist)}.platform-note{padding:1rem 1.25rem;border-left:4px solid var(--clay);background:var(--white)}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.profile{display:flex;flex-direction:column;padding:1.6rem;background:var(--white);border-top:7px solid;box-shadow:0 8px 20px rgba(23,59,64,.05)}.resource-profile{border-color:var(--sage)}.rule-profile{border-color:var(--mulberry)}.control-profile{border-color:var(--sky)}.profile-top{display:flex;justify-content:space-between;align-items:center}.avatar{width:52px;height:52px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-family:var(--font-editorial);font-weight:700}.profile h3{margin:1.4rem 0 .35rem}.role{font-weight:650}.institution{min-height:5.5rem;color:var(--muted);font-size:.86rem}.profile .tags{margin:1rem 0}.orcid{margin-top:auto;padding-top:1rem}.contact{margin-top:1rem;padding-top:1rem;border-top:var(--border);display:grid;gap:.4rem}.contact>span,.reference-status{font:700 .72rem var(--font-mono);text-transform:uppercase;color:var(--clay)}.contact a{font-size:.82rem;overflow-wrap:anywhere}.copy-email{justify-self:start;border:0;background:var(--petrol);color:var(--white);padding:.5rem .7rem;cursor:pointer}.reference-status{margin-top:auto;padding-top:1.2rem}
/* 16. Independence */
.independence{margin-top:3rem;padding:3rem;background:var(--soft-mulberry);border-left:8px solid var(--mulberry)}.independence h2{margin-bottom:1.5rem}
/* 17. Field notes */
.notes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.note{border:var(--border);background:var(--white)}.note[hidden]{display:none}.note details>div{padding:0 1.5rem 1.5rem}.note summary{padding:1.5rem;cursor:pointer;list-style:none}.note summary::-webkit-details-marker{display:none}.note summary span{font:700 .72rem var(--font-mono);color:var(--clay);text-transform:uppercase}.note summary h3{margin:.8rem 0}.note summary::after{content:"＋";float:right;margin-top:-1.5rem;font-size:1.5rem;color:var(--clay)}.note details[open] summary::after{content:"−"}
/* 18. Search */
.search-panel{margin-bottom:2rem;padding:1.5rem;background:var(--petrol);color:var(--white)}.search-panel label{display:block;font-weight:700;margin-bottom:.6rem}.search-row{display:flex;gap:.5rem}.search-row input{width:100%;padding:.9rem;border:0;background:var(--white);color:var(--graphite)}.search-row button{border:1px solid var(--white);background:transparent;color:var(--white);padding:.6rem 1rem;white-space:nowrap;cursor:pointer}#result-count{margin-top:.6rem;font:700 .75rem var(--font-mono)}.no-results{text-align:center;padding:3rem;border:1px dashed var(--clay)}
/* 19. About */
.about-section{background:var(--soft-sage)}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:6rem}.about-grid h2{margin-bottom:2rem}.principles article{padding:1.6rem 0;border-top:1px solid var(--sage)}.principles span{font:700 .75rem var(--font-mono);color:var(--sage)}.principles h3{margin:.5rem 0}
/* 20. Final CTA */
.final-cta{position:relative;isolation:isolate;overflow:hidden;padding:8rem 0;background:var(--white)}.cta-content{position:relative;z-index:2;max-width:780px;padding:3rem;background:var(--paper)}.cta-content h2{margin-bottom:1.5rem}.cta-content .button-row{margin-top:2rem}.cta-ribbon{position:absolute;z-index:1;width:120%;height:65px;left:-10%;transform:rotate(-8deg);border-radius:50%}.cta-ribbon.one{top:18%;background:var(--sage)}.cta-ribbon.two{top:47%;background:var(--mulberry);transform:rotate(7deg)}.cta-ribbon.three{top:72%;background:var(--sky);transform:rotate(-5deg)}
/* 21. Footer */
.site-footer{padding:4rem 0 1.5rem;background:var(--petrol);color:var(--white)}.footer-grid{display:grid;grid-template-columns:2fr 1fr auto;gap:4rem}.site-footer img{filter:none}.site-footer h2{color:var(--white);font-size:1.7rem;margin:.8rem 0}.site-footer nav{display:grid;gap:.5rem}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--gold)}.back-top{align-self:start}.footer-base{margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2);font-size:.82rem}
/* 22. Reveal */
.js-enabled .reveal{opacity:0;transform:translateY(24px);transition:opacity 600ms ease,transform 600ms ease}.js-enabled .reveal.is-visible{opacity:1;transform:none}
/* 23. Responsive */
@media(max-width:1024px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:1.5rem;background:var(--paper);border-bottom:var(--border);flex-direction:column;align-items:flex-start}.site-nav.is-open{display:flex}.field-grid,.profile-grid{grid-template-columns:repeat(2,1fr)}.field-card:nth-child(3){border-left:0}.field-card:nth-child(n+3){border-top:var(--border)}.method-grid{grid-template-columns:repeat(2,1fr)}.method-step:not(:nth-child(3n+1)){border-left:0}.method-step:nth-child(even){border-left:var(--border)}.method-step:nth-child(n+3){border-top:var(--border)}}
@media(max-width:767px){.container{width:min(calc(100% - 1.5rem),var(--container))}.section{padding-block:5rem}.brand{width:218px}.hero{padding-top:3.5rem}.hero-intro{grid-template-columns:1fr;margin-left:0}.braid-stage{height:500px}.ribbon{left:-30%;width:160%;height:55px}.ribbon.resource{top:100px;transform:rotate(18deg)}.ribbon.rule{top:220px;transform:rotate(-13deg)}.ribbon.control{top:350px;transform:rotate(15deg)}.constraint{font-size:.55rem}.block-a{top:110px;left:20%}.block-b{top:224px;left:56%}.block-c{top:365px;left:60%}.coordination-node{left:39%;top:235px;width:75px;height:75px}.label-a,.label-b,.label-c{left:2%}.label-a{top:50px}.label-b{top:183px}.label-c{top:410px}.end-a{top:157px}.end-b{top:286px}.end-c{top:447px}.flow-questions,.strip-grid,.field-grid,.profile-grid,.notes-grid,.about-grid,.footer-grid,.friction-item,.checklist{grid-template-columns:1fr}.flow-questions article+article,.field-card+article{border-left:0;border-top:var(--border)}.braid-footer{display:block}.braid-footer p{margin-top:.7rem}.strip-grid p{border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:1.25rem}.field-card{min-height:0}.friction-item{gap:2rem}.process{grid-template-columns:1fr}.process b::before,.process b::after{content:" ↓ "}.method-grid{grid-template-columns:1fr}.method-step:nth-child(even){border-left:0}.method-step:nth-child(n+2){border-top:var(--border)}.checklist{padding:2rem;gap:1.5rem}.checklist ul{columns:1}.profile .institution{min-height:0}.cta-content{padding:2rem}.search-row{align-items:stretch}.footer-grid{gap:2rem}}
@media(max-width:380px){.brand{width:190px}.hero h1{font-size:2.7rem}.braid-heading img{display:none}.search-row{flex-direction:column}.button{width:100%}}
/* 24. Reduced motion */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js-enabled .reveal{opacity:1;transform:none}}
