
/* Institutional research system: shared typography, editorial archive and evidence layouts. */
:root{--paper:#f6f5ef;--ink:#15362e;--muted:#526359;--night:#112e26;--line:#d5dbd0}
.wrap{width:min(1240px,calc(100% - 96px))}
.header-inner{min-height:88px}.site-header nav{gap:1.5rem}.site-header nav a{font-size:.8rem}
.site-header .nav-toggle{display:none}
.institution-home{padding:4.4rem 0 0;background:var(--night);color:#f6f1df}
.institution-home .eyebrow{color:#c2d0bd}
.institution-home h1{font:400 clamp(3rem,5.6vw,5.9rem)/1.02 var(--serif);letter-spacing:-.045em;max-width:12ch;margin:1.4rem 0 2rem}
.institution-home .lead{max-width:34rem;color:#d5ddce;font-size:1.12rem}
.institution-home .hero-grid{grid-template-columns:1.05fr 1fr;gap:4.4rem;align-items:center}
.institution-home .button{background:#e9dfc2;color:var(--night)}
.institution-home .text-link{color:#f7efdc}
.atlas-cover{padding:1.5rem;background:#1b4135;border:1px solid #65806b}
.atlas-cover svg{display:block;width:100%;height:auto}
.atlas-cover figcaption{padding-top:1rem;font-size:.75rem;color:#d4decb;border-top:1px solid #54725a}
.hero-foot{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #4a6352;margin-top:3.6rem}
.hero-foot>div{padding:1.35rem 1.5rem 1.5rem 0}.hero-foot strong{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#d9c99f}.hero-foot span{font:1.16rem/1.5 var(--serif);display:block;margin-top:.35rem}
.institution-section{padding:4.5rem 0}
.kicker{display:flex;gap:1rem;align-items:center;color:var(--muted);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:1rem}
.kicker::before{content:"";height:1px;width:2.2rem;background:#967443}
.editorial-grid{display:grid;grid-template-columns:.72fr 1.5fr;gap:5rem;align-items:start}
.editorial-grid h2{max-width:14ch}
.editorial-grid>div>p{color:var(--muted);margin:1rem 0}
.research-row{display:grid;grid-template-columns:5.6rem 1fr auto;gap:1.6rem;padding:1.8rem 0;border-top:1px solid var(--line)}
.research-row:last-child{border-bottom:1px solid var(--line)}
.research-row .record-id{font-size:.75rem;color:var(--muted);padding-top:.25rem}
.research-row h3{font:400 1.65rem/1.22 var(--serif);letter-spacing:-.015em}.research-row h3 a{text-decoration:none}.research-row h3 a:hover{text-decoration:underline}
.research-row p{font-size:.9rem;color:var(--muted);max-width:48rem;margin:.75rem 0}
.record-meta{display:flex;gap:.6rem 1.2rem;flex-wrap:wrap;color:var(--muted);font-size:.72rem}
.record-arrow{font-size:1.5rem;align-self:start;min-width:44px;min-height:44px;display:grid;place-items:center;text-decoration:none}
.programme-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.programme{border-top:2px solid #8b744e;padding-top:1.5rem}
.programme h3{font:400 2.1rem/1.2 var(--serif);margin:.6rem 0 1.2rem}.programme p{color:var(--muted)}
.programme .index-number{font:italic 1.2rem var(--serif);color:#79592a}
.publication-hero{padding:3rem 0 3.5rem;background:var(--wash);border-bottom:1px solid var(--line)}
.breadcrumb{font-size:.74rem;color:var(--muted);display:flex;gap:.65rem;flex-wrap:wrap;margin-bottom:2.4rem}
.publication-hero h1{font:400 clamp(2.8rem,4.7vw,4.4rem)/1.08 var(--serif);letter-spacing:-.035em;max-width:23ch;margin:1rem 0 1.5rem}
.publication-hero .lead{max-width:55rem;font-size:1.05rem;line-height:1.8}
.publication-strip{display:flex;gap:1rem 2.5rem;flex-wrap:wrap;border-top:1px solid #bccab6;padding-top:1.3rem;margin-top:2rem;font-size:.78rem}
.article-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:4rem;padding-block:3.5rem 5rem}
.article-nav{align-self:start;position:sticky;top:7.5rem;border-top:1px solid var(--line);padding-top:1rem}
.article-nav a{display:block;padding:.6rem 0;font-size:.8rem}
.article-content{max-width:880px;min-width:0}.article-content section{padding:0 0 3rem;margin:0 0 3rem;border-bottom:1px solid var(--line);scroll-margin-top:1rem}
.article-content h2{font-size:2.4rem;margin-bottom:1.5rem}.article-content h3{margin:1.5rem 0 .65rem}.article-content p+p{margin-top:1rem}.article-content ul,.article-content ol{padding-left:1.4rem}.article-content li{margin:.6rem 0}
.evidence-figure{background:#f4f3ed;border:1px solid var(--line);margin:2rem 0}
.evidence-figure img{display:block;width:100%;height:auto}
.evidence-figure figcaption{padding:1rem 1.2rem;font-size:.79rem;border-top:1px solid var(--line);color:var(--muted)}
.result-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;background:var(--night);color:#f4efdf;padding:1.8rem;margin:2rem 0}
.result-band strong{font:400 2.3rem var(--serif);display:block;color:#e6cca2}
.result-band span{display:block;font-size:.78rem;margin-top:.7rem}
.table-scroll{overflow-x:auto;border-block:1px solid var(--line);margin:1.6rem 0}
.table-scroll table{width:100%;border-collapse:collapse;font-size:.87rem}
.table-scroll th,.table-scroll td{text-align:left;padding:1rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}
.table-scroll th{font-weight:600}.table-scroll tr:last-child td{border-bottom:0}
.filter-bar{display:flex;align-items:end;gap:1.3rem;flex-wrap:wrap;padding:1.6rem 0;border-block:1px solid var(--line);margin-bottom:1.4rem}
.filter-bar label{display:block;font-size:.76rem;color:var(--muted);margin-bottom:.4rem}
.filter-bar input,.filter-bar select,.atlas-controls select{font:inherit;background:var(--white);border:1px solid #879986;color:var(--ink);padding:.7rem;min-height:46px;max-width:100%}
.filter-bar>div:first-child{flex:1;min-width:200px}.filter-bar input{width:100%}
.filter-count{font-size:.8rem;color:var(--muted);margin:1rem 0}
select:focus-visible{outline:3px solid #9b691c;outline-offset:4px}
.archive-year{font-size:.8rem;letter-spacing:.12em;margin:2.5rem 0 1rem;text-transform:uppercase}
.team-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 2rem}
.person-card{border-top:1px solid #879c86;padding-top:1.4rem}.person-card .monogram{font:italic 2rem var(--serif);color:#806239;display:block;margin-bottom:1.5rem}
.person-card h3{font:1.5rem var(--serif);margin-bottom:.6rem}.person-card p{font-size:.85rem;color:var(--muted);margin-top:.75rem}.person-card .role{font-size:.75rem;color:var(--ink);text-transform:uppercase;letter-spacing:.07em}
.profile-layout{display:grid;grid-template-columns:.85fr 1.4fr;gap:5rem;padding-block:4rem 5rem}
.profile-layout .prose{max-width:none}.profile-layout h2{font-size:2.4rem;margin:0 0 1.3rem}
.profile-layout h3{margin:1.5rem 0 .8rem}.profile-layout section+section{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:2.5rem}
.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:130px 1fr;gap:2.5rem;padding:2rem 0;border-top:1px solid var(--line)}
.timeline time{font-size:.8rem;color:var(--muted)}.timeline h3{font:1.5rem var(--serif);margin-bottom:.7rem}.timeline p{color:var(--muted);font-size:.92rem}
.atlas-controls{display:flex;gap:1rem;flex-wrap:wrap;margin:1.4rem 0}.atlas-controls label{display:flex;flex-direction:column;gap:.5rem;font-size:.8rem}
.atlas-readout{font-size:1.05rem;padding:1.4rem;background:var(--wash);border-left:3px solid #92713e;margin-top:1rem}
.code-block{overflow-wrap:anywhere}code{font-size:.88em}
.footer-links{max-width:35rem}.site-footer .footer-top{align-items:start}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.site-header nav{gap:.9rem}.hero-grid,.editorial-grid,.article-layout,.profile-layout{gap:2.5rem}.institution-home .hero-grid{gap:2rem}.article-layout{grid-template-columns:165px minmax(0,1fr)}}
@media(max-width:800px){.header-inner{gap:1rem}.site-header nav{gap:.6rem}.site-header nav a{font-size:.72rem}.institution-home .hero-grid,.editorial-grid,.profile-layout{grid-template-columns:1fr}.institution-home h1{max-width:16ch}.atlas-cover{max-width:650px}.team-directory{grid-template-columns:1fr 1fr}.editorial-grid h2{max-width:none}.article-layout{grid-template-columns:1fr}.article-nav{position:static;display:flex;flex-wrap:wrap;gap:.3rem 1.4rem}.article-nav a{padding:.4rem 0}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.header-inner{display:flex;flex-wrap:wrap;padding:.5rem 0}.site-header nav{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.15rem .8rem}.site-header nav a{font-size:.76rem;min-height:42px}.js .site-header .nav-toggle{display:block;margin-left:auto;background:transparent;color:#f4efdf;border:1px solid #788f7c;padding:.5rem .8rem;min-height:44px}.js .site-header nav[hidden]{display:none!important}.institution-home{padding-top:2.5rem}.institution-home h1{font-size:3.4rem}.hero-foot{grid-template-columns:1fr}.hero-foot>div{padding:1rem 0;border-bottom:1px solid #4a6352}.hero-foot span{font-size:1.03rem}.institution-section{padding:3rem 0}.programme-grid{grid-template-columns:1fr}.research-row{grid-template-columns:1fr auto;gap:.7rem}.record-id{grid-column:1/-1}.research-row h3{font-size:1.55rem}.record-arrow{grid-column:2;grid-row:2}.publication-hero{padding-top:2rem}.publication-hero h1{font-size:2.75rem}.breadcrumb{margin-bottom:1.5rem}.result-band{gap:1.3rem;padding:1.3rem;grid-template-columns:1fr}.result-band>div{display:flex;align-items:center;gap:1rem}.result-band strong{font-size:2rem;min-width:5rem}.result-band span{margin:0}.team-directory{grid-template-columns:1fr}.article-content h2{font-size:2.1rem}.timeline li{grid-template-columns:1fr;gap:.5rem}.table-scroll table{font-size:.78rem}.table-scroll td,.table-scroll th{padding:.8rem .5rem}.publication-strip{gap:.6rem 1.5rem}.profile-layout{padding-top:2.5rem}.filter-bar>div{width:100%}.filter-bar select{width:100%}.atlas-controls{display:grid;grid-template-columns:1fr 1fr}.atlas-controls label:last-child{grid-column:1/-1}}
@media print{.institution-home{background:white;color:black}.institution-home .lead,.institution-home .eyebrow{color:black}.article-nav,.filter-bar,.atlas-controls,.nav-toggle{display:none!important}.article-layout,.profile-layout,.editorial-grid{display:block}.publication-hero{background:white}.result-band{background:#eee;color:black}.result-band strong{color:black}.evidence-figure{break-inside:avoid}.record-arrow{display:none}.article-content{max-width:none}.institution-section,.profile-layout,.article-layout{padding-block:1rem}.hero-foot{display:none}}
@media(forced-colors:active){.institution-home,.result-band,.atlas-cover{background:Canvas;color:CanvasText}.institution-home .lead,.institution-home .eyebrow,.hero-foot strong,.hero-foot span,.result-band strong{color:CanvasText}.evidence-figure img,.atlas-cover svg{forced-color-adjust:none}.js .site-header .nav-toggle{color:ButtonText;border-color:ButtonText}}

.archive-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:end;margin-bottom:2.5rem}.archive-intro p{color:var(--muted)}
.archive-phases{list-style:none;padding:0;margin:0 0 3rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.archive-phases li{border-top:1px solid #94a18a}.archive-phases a{display:block;text-decoration:none;font:1.25rem/1.3 var(--serif);padding:1.2rem .2rem;min-height:140px}.archive-phases a:hover{text-decoration:underline}.archive-phases span{display:block;font:italic 1rem var(--serif);color:#7b5d2c;margin-bottom:.8rem}.archive-phases small{display:block;font:.75rem/1.5 var(--sans);color:var(--muted);margin-top:.7rem}
.archive-group{margin:3.5rem 0 0}.archive-group-heading{margin-bottom:1.4rem}.archive-group-heading h2{font-size:2rem;margin:.6rem 0 .9rem}.archive-group-heading>p:last-child{max-width:54rem;font-size:.92rem;color:var(--muted)}
.milestone-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.release-details{margin:1.8rem 0;padding:1rem 0;border-block:1px solid var(--line)}.release-details summary{cursor:pointer;min-height:44px;padding:.5rem 0;font-size:.9rem;font-weight:600}
@media(max-width:800px){.archive-phases{grid-template-columns:1fr 1fr}.archive-intro{gap:2rem}}
@media(max-width:600px){.archive-intro{grid-template-columns:1fr}.archive-phases{gap:1rem}.archive-phases a{font-size:1.15rem}.archive-group{margin-top:2.5rem}}

.result-band strong{white-space:nowrap;flex-shrink:0}
@media(max-width:600px){.result-band>div{flex-wrap:wrap}.result-band span{flex:1 1 140px}}

/* Study instruments share the courtyard model's visual language. */
.research-instrument{scroll-margin-top:7rem}
.research-instrument>p{max-width:48rem;color:var(--muted)}
.simulation-shell{border:1px solid #b8c5b2;background:#ecefe4;margin-top:1.5rem}
.simulation-visual{padding:.8rem .7rem .2rem}
.simulation-visual svg{display:block;width:100%;height:auto}
.simulation-visual svg[hidden]{display:none}
.simulation-visual .evidence-figure{margin:0;border:0}
.sim-axis text{font:18px var(--sans);fill:#405242}
.sim-axis path{stroke:#c0cdb8;stroke-width:1}
.sim-axis .sim-axis-title{font-size:21px;fill:#173a2d;font-weight:600}
.sim-selected{stroke:#94641e;stroke-width:4;fill:none}
.sim-reference{stroke:#285944;stroke-width:3.5;stroke-dasharray:9 6;fill:none}
.sim-dot{fill:#94641e;stroke:#fffdf3;stroke-width:2.5}
.sim-dot-reference{fill:#285944;stroke:#fffdf3;stroke-width:2.5}
.sim-cursor{stroke:#71836e;stroke-width:1.5;stroke-dasharray:3 5}
.sim-dimension{font:18px var(--sans);fill:#354f3d}
.simulation-key{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;padding:0 1.3rem 1rem;font-size:.75rem}
.simulation-key span{display:flex;align-items:center;gap:.6rem}
.simulation-key i{display:inline-block;width:1.6rem;border-top:3px solid #94641e}
.simulation-key .reference{border-color:#285944;border-top-style:dashed}
.simulation-controls{padding:1.3rem;background:#f8f8f2;border-top:1px solid #c0cbb8}
.simulation-controls fieldset{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.7rem}
.simulation-controls legend{font-size:.8rem;font-weight:600;margin-bottom:1.1rem;padding:0}
.simulation-control{display:flex;flex-direction:column;gap:.55rem;min-width:0;font-size:.85rem}
.simulation-control>span{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.simulation-control output{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.simulation-control select{font:inherit;padding:.6rem .7rem;min-height:44px;border:1px solid #879986;color:var(--ink);background:var(--white);width:100%}
.simulation-control input[type=range]{accent-color:#94641e;width:100%;min-height:34px;margin:0}
.simulation-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem;padding:1.3rem;background:#16382d;color:#f5efdc}
.simulation-summary span{font-size:.7rem;display:block;color:#d0dec8}
.simulation-summary strong{display:block;font:2rem/1.3 var(--serif);font-variant-numeric:tabular-nums;color:#e4c47f}
.simulation-readout{padding:1.1rem 1.3rem;font-size:.8rem;border-top:1px solid #c0cbb8;margin:0!important}
.simulation-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.1rem 0}
.simulation-status{font-size:.75rem;color:var(--muted);min-height:1.4rem}
.simulation-share{margin:.75rem 0}
.simulation-share label{display:block;font-size:.8rem}
.simulation-share input{width:100%;min-height:44px;border:1px solid #81927b;background:var(--white);padding:.6rem;color:var(--ink)}
.simulation-caption{font-size:.78rem;color:var(--muted);margin-top:.75rem}
.simulation-crossover{font-weight:600;padding:0 1.3rem 1.2rem;font-size:.83rem;margin:0!important}
.simulator-link{font-size:.78rem;margin-top:.35rem}
.home-research-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.home-research-card{border-top:1px solid #a8b79e;padding-top:1.35rem}
.home-research-card h3{font:1.7rem/1.25 var(--serif);margin:.7rem 0 1rem}
.home-research-card p{color:var(--muted);font-size:.93rem}
.home-research-card .actions{margin-top:1rem;gap:1rem}
.home-research-card .text-link{font-size:.82rem}
@media(max-width:600px){.simulation-controls{padding:1rem}.simulation-controls fieldset{gap:1rem}.simulation-summary{grid-template-columns:1fr 1fr;padding:1rem}.simulation-summary strong{font-size:1.75rem}.simulation-actions .small-button{flex:1 1 140px}.home-research-grid{grid-template-columns:1fr;gap:2rem}.home-research-card h3{font-size:1.5rem}.simulation-key{font-size:.7rem;padding-inline:1rem}}
@media(max-width:380px){.simulation-controls fieldset{grid-template-columns:1fr}.simulation-controls input[type=range]{min-height:40px}}
@media print{.simulation-controls,.simulation-actions,.simulation-share,.simulation-status{display:none!important}.simulation-shell{break-inside:avoid}.simulation-summary{background:#eee;color:black}.simulation-summary span,.simulation-summary strong{color:black}}
@media(forced-colors:active){.simulation-visual svg{forced-color-adjust:none}.simulation-shell,.simulation-summary{background:Canvas;color:CanvasText}.simulation-summary span,.simulation-summary strong{color:CanvasText}.simulation-control input[type=range]{accent-color:auto}}

@media(max-width:600px){.sim-axis text,.sim-dimension{font-size:28px}.sim-axis .sim-axis-title{font-size:28px}}
