@font-face{font-family:LibreFranklinMA;src:url('fonts/libre-franklin-var.woff2') format('woff2');font-weight:400 800;font-display:block}
@font-face{font-family:PlexMonoMA;src:url('fonts/ibm-plex-mono-500.woff2') format('woff2');font-weight:500;font-display:block}
:root{--ink:#080808;--white:#fff;--gallery:#f6f6f3;--mist:#e9ece8;--line:#191919;--accent:#e6157a;--accent-soft:#fbe2ef;--blue:#68717a;--blue-soft:#eceff1;--warm:#ede8dc;--muted:#55585c;--shadow:0 18px 50px rgba(0,0,0,.12);--display:LibreFranklinMA,Arial,sans-serif;--body:LibreFranklinMA,Arial,sans-serif;--mono:PlexMonoMA,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--gallery);color:var(--ink);font-family:var(--body);line-height:1.55}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.2em}img{max-width:100%;display:block}code{font-family:var(--mono);font-size:.9em;background:rgba(0,0,0,.06);padding:.08rem .24rem}.skip{position:absolute;left:-999px;top:1rem;background:var(--accent-soft);color:var(--ink);padding:.7rem 1rem;z-index:20}.skip:focus{left:1rem}.proto{background:var(--ink);color:var(--white);padding:.55rem max(1rem,calc((100vw - 1180px)/2));font-size:.9rem;display:flex;gap:.7rem;flex-wrap:wrap}.proto a{color:var(--white);font-weight:800}.site-head{position:relative;z-index:10;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(0,0,0,.16);display:flex;align-items:center;gap:1.4rem;justify-content:space-between;padding:1rem max(1rem,calc((100vw - 1180px)/2))}.brand{display:flex;gap:.8rem;align-items:center;text-decoration:none;font-weight:800;min-width:13rem}.brand img{width:9.7rem;height:auto}.brand span{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;color:var(--muted);letter-spacing:0}.primary-nav ul,.primary-nav .nav-links{display:flex;gap:.25rem;list-style:none;margin:0;padding:0;flex-wrap:wrap;align-items:center}.primary-nav a{display:block;text-decoration:none;border:1px solid transparent;background:transparent;padding:.55rem .68rem;font-size:.9rem;min-height:2.5rem;color:#222}.primary-nav a[aria-current=page]{border-bottom-color:var(--ink);font-weight:800}.primary-nav a:hover,.primary-nav a:focus-visible{background:var(--mist);border-color:rgba(0,0,0,.14)}.menu-btn{display:none}.hero{padding:4.8rem max(1rem,calc((100vw - 1180px)/2));display:grid;grid-template-columns:minmax(0,.96fr) minmax(22rem,1.04fr);gap:3rem;min-height:calc(100vh - 8rem);align-items:center;background:var(--white)}.hero-copy{position:relative;z-index:1}.eyebrow{font-family:var(--mono);text-transform:uppercase;font-size:.77rem;color:var(--muted);margin:0 0 .85rem;letter-spacing:0}.hero h1,.page-hero h1{font-family:var(--display);font-size:5.15rem;line-height:.9;margin:.1rem 0 1rem;letter-spacing:0;max-width:11ch}.lede,.page-hero p{font-size:1.22rem;max-width:50rem;color:#333}.ask-mini,.ask-box{margin-top:1.5rem}.ask-mini label,.ask-box label,.finder-tools label{font-weight:800;display:block;margin-bottom:.45rem}.ask-mini div,.ask-box div{display:flex;gap:.55rem}.ask-mini input,.ask-box input,.finder-tools input{width:100%;border:1px solid #bababa;background:#fff;padding:.9rem;font:inherit;min-height:3rem}.ask-mini button,.ask-box button,.button,.filter-buttons button,.toggle-row button{border:1px solid var(--ink);background:var(--ink);font-weight:800;padding:.75rem 1rem;color:var(--white);text-decoration:none;min-height:2.8rem}.hero-wall{position:relative;min-height:39rem}.pin{position:absolute;border:1px solid rgba(0,0,0,.18);background:rgba(255,255,255,.95);box-shadow:var(--shadow);text-decoration:none}.pin-main{left:0;top:0;width:82%;margin:0}.pin-main img{height:31rem;width:100%;object-fit:cover}.pin-main figcaption{padding:.7rem .85rem;border-top:1px solid rgba(0,0,0,.14);font-family:var(--mono);font-size:.76rem;background:var(--white);color:var(--muted)}.pin-search,.pin-programs,.pin-stack{display:grid;gap:.18rem;padding:1rem;min-width:12rem}.pin strong{font-family:var(--display);font-size:1.85rem;line-height:1}.pin span{font-family:var(--mono);font-size:.76rem;color:var(--muted)}.pin-search{right:0;top:12%;border-left:5px solid var(--accent)}.pin-programs{left:8%;bottom:6%;border-left:5px solid var(--blue)}.pin-stack{right:6%;bottom:0;border-left:5px solid #7b705d}.tool-rail{display:flex;gap:.45rem;justify-content:center;padding:.65rem;background:var(--gallery);border-block:1px solid rgba(0,0,0,.14)}.tool-rail a{background:var(--white);border:1px solid rgba(0,0,0,.16);padding:.5rem .85rem;text-decoration:none;font-size:.9rem}.tool-rail a:hover,.tool-rail a:focus-visible{background:var(--mist)}.crit-room,.review-room,.photo-band,.finder,.ask-panel,.search-results,.proof-grid,.code-room,.kanban,.capacity,.light-table,.ledger{padding:4.8rem max(1rem,calc((100vw - 1180px)/2))}.crit-room h2,.review-room h2,.finder-head h2,.results-head h2,.code-room h2,.capacity h2,.light-table h2{font-family:var(--display);font-size:3.7rem;line-height:.98;margin:.2rem 0 1.5rem;letter-spacing:0}.crit-grid,.proof-grid,.program-grid,.kanban,.ledger{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem}.crit-card,.proof-grid article,.program-card,.kanban article,.ledger article,.result-card,.source-cards a{border:1px solid rgba(0,0,0,.16);background:var(--white);padding:1.25rem;box-shadow:var(--shadow);min-height:13rem}.crit-card{display:flex;flex-direction:column;gap:.7rem}.crit-card>span,.proof-number,.program-card>span,.kanban article>span{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;color:var(--muted)}.crit-card h3,.program-card h2,.proof-grid h2,.kanban h2,.result-card h3{font-family:var(--display);font-size:1.82rem;line-height:1.02;margin:.1rem 0}.crit-card p,.program-card p,.proof-grid p,.kanban p,.ledger span,.result-card p{color:var(--muted)}.ink-orange{border-top:5px solid var(--accent)}.ink-blue{border-top:5px solid var(--blue)}.ink-green{border-top:5px solid #7b705d}.proof-notes{margin-top:auto;display:grid;gap:.45rem}.proof-notes details{border:1px solid rgba(0,0,0,.16);background:var(--gallery);padding:.55rem}.proof-notes summary{cursor:pointer;font-weight:800}.proof-notes p{margin:.45rem 0 0;font-size:.92rem}.review-room{display:grid;grid-template-columns:1fr 1.1fr;gap:2rem;align-items:center;background:var(--ink);color:var(--white);background-image:linear-gradient(rgba(8,8,8,.76),rgba(8,8,8,.88)),url('img/lobby-gallery.jpg');background-size:cover;background-position:center}.review-room .eyebrow{color:#d7dfd2}.review-room p{color:#f0f0ef}.review-board,.capacity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.review-board div,.capacity-grid div{border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.1);padding:1rem}.review-board strong,.capacity-grid strong{display:block;font-family:var(--display);font-size:2rem;line-height:1.05}.photo-band{display:grid;grid-template-columns:1.15fr .9fr 1fr;gap:1rem;background:var(--white)}.photo-band figure{margin:0;border:1px solid rgba(0,0,0,.16);background:var(--gallery);box-shadow:var(--shadow)}.photo-band img{height:24rem;width:100%;object-fit:cover}.photo-band figcaption{padding:.7rem .85rem;border-top:1px solid rgba(0,0,0,.14);font-family:var(--mono);font-size:.76rem;color:var(--muted)}.page-hero{padding:4rem max(1rem,calc((100vw - 1180px)/2));background:var(--white);border-bottom:1px solid rgba(0,0,0,.14);position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;inset:auto 0 0 auto;width:34%;height:6px;background:var(--accent);z-index:0}.page-hero>*{position:relative;z-index:1}.paths-hero:after{background:var(--blue)}.search-hero:after{background:var(--accent)}.stack-hero:after{background:#7b705d}.board-hero:after{background:var(--blue)}.access-hero:after{background:var(--accent)}.finder-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:end;margin-bottom:1.5rem}.finder-tools{display:grid;gap:.7rem}.filter-buttons,.toggle-row{display:flex;flex-wrap:wrap;gap:.45rem}.filter-buttons button,.toggle-row button{background:var(--white);color:var(--ink)}.filter-buttons button[aria-pressed=true],.toggle-row button[aria-pressed=true]{background:var(--ink);color:#fff}.result-count{font-family:var(--mono);margin:0}.program-card[hidden]{display:none}.ask-panel{background:var(--ink);color:#fff}.ask-panel .ask-box{max-width:58rem}.answer{margin-top:1.2rem;background:var(--white);color:var(--ink);border:1px solid rgba(0,0,0,.16);padding:1.2rem;min-height:7rem;box-shadow:var(--shadow)}.source-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;margin-top:1rem}.source-cards a{display:block;color:var(--ink);text-decoration:none}.source-cards strong{display:block;font-family:var(--display);font-size:1.28rem;line-height:1.05}.source-cards span{color:var(--muted)}.search-results{background:var(--gallery)}.result-card{margin-bottom:1rem}.proof-grid article:nth-child(3n+1){border-top:5px solid var(--accent)}.proof-grid article:nth-child(3n+2){border-top:5px solid var(--blue)}.proof-grid article:nth-child(3n){border-top:5px solid #7b705d}.code-room{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;background:var(--mist);align-items:center}pre{white-space:pre-wrap;background:#111;color:#fff;padding:1rem;border:1px solid #111;overflow:auto;box-shadow:var(--shadow)}.kanban{background:var(--white)}.kanban article:nth-child(even){transform:translateY(.8rem)}.capacity{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;background:var(--ink);color:var(--white);align-items:center}.capacity .eyebrow{color:#d7dfd2}.light-table{background:var(--gallery)}.light-card{border:1px solid rgba(0,0,0,.16);background:var(--white);padding:1.4rem;box-shadow:var(--shadow);max-width:48rem;margin-top:1rem}.light-card h3{font-family:var(--display);font-size:1.9rem;line-height:1.05;margin:.1rem 0}.ledger{background:var(--white)}.ledger article{min-height:10rem}.site-foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--ink);color:var(--white);padding:2rem max(1rem,calc((100vw - 1180px)/2))}.site-foot div span{display:block;color:#ddd}.site-foot a{color:#fff}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(prefers-reduced-motion:no-preference){.pin,.crit-card,.program-card,.proof-grid article,.kanban article,.tool-rail a,.primary-nav a{transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.pin:hover,.pin:focus-visible,.crit-card:hover,.program-card:hover,.proof-grid article:hover,.kanban article:hover{transform:translateY(-3px);box-shadow:0 24px 55px rgba(0,0,0,.16)}}@media(max-width:980px){.hero{grid-template-columns:1fr;min-height:auto}.hero-wall{min-height:35rem}.hero h1,.page-hero h1{font-size:4.1rem}.crit-room h2,.review-room h2,.finder-head h2,.results-head h2,.code-room h2,.capacity h2,.light-table h2{font-size:3rem}.finder-head,.review-room,.code-room,.capacity{grid-template-columns:1fr}.photo-band{grid-template-columns:1fr}.photo-band img{height:18rem}}@media(max-width:720px){.proto{display:block}.site-head{align-items:flex-start;flex-direction:column}.brand{min-width:0}.brand img{width:8.8rem}.primary-nav{width:100%}.primary-nav ul,.primary-nav .nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.primary-nav a{border-color:rgba(0,0,0,.16);background:#fff}.tool-rail{overflow:auto;justify-content:flex-start}.hero{padding-top:2.5rem}.hero h1,.page-hero h1{font-size:2.95rem}.hero-wall{min-height:auto;display:grid;gap:1rem}.pin{position:static}.pin-main{width:100%}.pin-main img{height:18rem}.ask-mini div,.ask-box div{flex-direction:column}.review-board,.capacity-grid{grid-template-columns:1fr}.kanban article:nth-child(even){transform:none}.crit-room,.review-room,.photo-band,.finder,.ask-panel,.search-results,.proof-grid,.code-room,.kanban,.capacity,.light-table,.ledger{padding-block:3.2rem}}
.site-head{min-height:4.75rem}
.brand{flex:0 0 20rem;min-width:20rem}
.brand img{width:9.6875rem;height:1.1875rem;aspect-ratio:155/19;object-fit:contain;flex:0 0 auto}
.primary-nav ul,.primary-nav .nav-links{display:grid;grid-template-columns:6.2rem 6.8rem 4.4rem 7.3rem 6.2rem 8rem;gap:.25rem;align-items:center}
.primary-nav a{text-align:center;font-weight:500;border-bottom-color:transparent}
.primary-nav a[aria-current=page],.primary-nav .current-menu-item>a{font-weight:500;border-bottom-color:transparent;box-shadow:inset 0 -2px 0 var(--ink)}
.hero{grid-template-columns:minmax(0,.9fr) minmax(25rem,1.1fr);gap:3.8rem}
.hero-copy{max-width:34rem}
.hero h1{font-size:4rem;line-height:1.08;max-width:13.5ch;font-weight:720}
.hero h1.hero-title{font-family:var(--body);font-size:4.65rem;line-height:.98;max-width:10.7ch;font-weight:520;margin:.28rem 0 1.15rem;display:grid;gap:.04em}
.hero-title .title-main{display:block}
.hero-title .title-domain{display:block;border-top:1px solid rgba(0,0,0,.28);padding-top:.31em;margin-top:.12em;font-size:.68em;line-height:1.04;font-weight:420;white-space:nowrap;color:#171717}
.hero-title .title-domain span{font-family:var(--mono);font-size:.24em;text-transform:uppercase;color:var(--muted);vertical-align:middle;margin-right:.58rem;position:relative;top:-.22em}
.page-hero h1{font-size:3.35rem;line-height:1.1;max-width:18ch;font-weight:720}
.page-hero{min-height:18.5rem;display:grid;grid-template-columns:1.35fr 1fr;column-gap:2.6rem;align-content:center}
.page-hero>.eyebrow{grid-column:1/-1;grid-row:1}
.page-hero>h1{grid-column:1;grid-row:2;align-self:start;margin:.2rem 0 0}
.page-hero>p:not(.eyebrow){grid-column:2;grid-row:2;align-self:center;max-width:34rem;margin:0}
@media(max-width:900px){.page-hero{grid-template-columns:1fr;min-height:auto}.page-hero>h1,.page-hero>p:not(.eyebrow){grid-column:1;grid-row:auto;max-width:none;margin-top:.4rem}}
.crit-grid{align-items:start}
.hero-media{display:grid;gap:1.1rem;align-self:center}
.hero-photo{margin:0;border:1px solid rgba(0,0,0,.18);background:var(--gallery);position:relative;overflow:hidden}
.hero-photo:before,.hero-photo:after{content:"";position:absolute;z-index:2;width:1rem;height:1rem;pointer-events:none}
.hero-photo:before{top:.85rem;left:.85rem;border-top:1px solid rgba(255,255,255,.86);border-left:1px solid rgba(255,255,255,.86)}
.hero-photo:after{right:.85rem;bottom:3.85rem;border-right:1px solid rgba(0,0,0,.48);border-bottom:1px solid rgba(0,0,0,.48)}
.hero-photo img{height:30rem;width:100%;object-fit:cover;object-position:center 42%}
.hero-photo figcaption{display:flex;gap:.55rem;align-items:baseline;border-top:1px solid rgba(0,0,0,.14);padding:.72rem .85rem;background:#fff;color:#242424;font-size:.9rem;line-height:1.25}
.hero-photo figcaption span{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.evidence-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;border-top:0;padding-top:0}
.evidence-rail a{text-decoration:none;border:1px solid rgba(0,0,0,.18);border-top:0;background:#fff;padding:.95rem .9rem 1rem;min-height:7.2rem;display:block;position:relative}
.evidence-rail a:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent)}
.evidence-rail a:nth-child(2):before{background:var(--blue)}
.evidence-rail a:nth-child(3):before{background:#7b705d}
.evidence-rail span{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;color:var(--muted);display:block}
.evidence-rail strong{font-family:var(--body);font-weight:520;font-size:1.95rem;line-height:1;display:block;margin:.18rem 0}
.evidence-rail em{font-style:normal;font-size:.84rem;line-height:1.25;color:var(--muted);display:block}
@media(prefers-reduced-motion:no-preference){.hero-photo:before,.hero-photo:after,.evidence-rail a{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.hero-photo:hover:before,.hero-photo:focus-within:before{transform:translate(-.18rem,-.18rem)}.hero-photo:hover:after,.hero-photo:focus-within:after{transform:translate(.18rem,.18rem)}.evidence-rail a:hover,.evidence-rail a:focus-visible{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,0,0,.08)}.motion-ready [data-motion]{transform:translateY(16px);transition:transform .48s cubic-bezier(.2,.72,.22,1);transition-delay:calc(var(--motion-step,1) * 48ms)}.motion-ready [data-motion=label]{transform:translateY(12px)}.motion-ready [data-motion=photo]{transform:translateY(18px) scale(.992)}.motion-ready [data-motion=proof]{transform:translateY(10px)}.motion-ready [data-motion].is-inview{transform:none}.source-cards a{transition:transform .18s ease,box-shadow .18s ease}.source-cards a:hover,.source-cards a:focus-visible{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,0,0,.12)}.ask-panel.is-answered .answer{box-shadow:0 22px 48px rgba(0,0,0,.2)}}
@media(max-width:980px){.brand{flex-basis:auto;min-width:0}.hero{grid-template-columns:1fr;min-height:auto;gap:2.6rem}.hero h1,.page-hero h1{font-size:3.15rem;line-height:1.1;max-width:16ch}.hero h1.hero-title{font-size:3.55rem;max-width:11.5ch}.hero-title .title-domain{font-size:.72em}.hero-media{max-width:42rem}.hero-photo img{height:27rem}.primary-nav ul,.primary-nav .nav-links{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.primary-nav a{min-width:0}}
@media(max-width:720px){.site-head{min-height:0}.brand img{width:8.8rem;height:auto}.hero h1,.page-hero h1{font-size:2.35rem;line-height:1.12;max-width:14ch}.hero h1.hero-title{font-size:2.62rem;line-height:1.03;max-width:100%}.hero-title .title-domain{font-size:.78em;white-space:normal}.hero-title .title-domain span{display:inline-block;top:-.12em}.page-hero{min-height:18rem}.hero-photo img{height:18rem}.hero-photo:after{bottom:4.2rem}.hero-photo figcaption{display:block}.evidence-rail{grid-template-columns:1fr}.evidence-rail a{min-height:0}.evidence-rail strong{font-size:1.65rem}.primary-nav ul,.primary-nav .nav-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ledger: bold label on its own line above the description */
.ledger strong{display:block;font-family:var(--display);font-size:1.3rem;line-height:1.12;margin-bottom:.4rem}
/* crit-card disclosures: animate open/close so expanding does not jolt the section */
:root{interpolate-size:allow-keywords}
@media(prefers-reduced-motion:no-preference){.proof-notes details::details-content{block-size:0;overflow:clip;transition:block-size .28s ease,content-visibility .28s allow-discrete}.proof-notes details[open]::details-content{block-size:auto}}
