@font-face{font-family:Source Sans;src:url('fonts/source-sans-3-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Source Sans;src:url('fonts/source-sans-3-semibold.woff2') format('woff2');font-weight:600;font-display:swap}
:root{color-scheme:dark;--bg:#101113;--surface:#181a1d;--ink:#eeede9;--muted:#b0b2b6;--accent:#c0c7cf;--line:#35383d;--serif:Georgia,'Times New Roman',serif;--sans:'Source Sans','Helvetica Neue',Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--gutter:clamp(1.25rem,5.2vw,7rem);--section:clamp(4.5rem,9vw,9rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--ink);font:1.05rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit;background:none;border:0}button:disabled{cursor:default;opacity:.45}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}a:hover{text-decoration:underline;text-underline-offset:.3em}img{max-width:100%;height:auto;display:block}p{margin:0 0 1.2rem}h1,h2,h3{font-weight:400;margin:0}h1,h2{font-family:var(--serif);letter-spacing:-.055em;line-height:1.06}h1{font-size:clamp(3.4rem,7.8vw,8.7rem)}h2{font-size:clamp(2.5rem,5.2vw,5.8rem)}h3{font-size:1.45rem;line-height:1.3}em{font-weight:400;color:var(--accent)}[hidden]{display:none!important}.wrap{width:min(100% - var(--gutter)*2,1480px);margin-inline:auto}.skip{position:fixed;left:1rem;top:-5rem;z-index:10;background:var(--ink);color:var(--bg);padding:1rem}.skip:focus{top:1rem}.header{min-height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:2rem}.identity{display:flex;align-items:center;gap:1.1rem}.identity>span:last-child{letter-spacing:.17em;font-size:.7rem}.monogram{font:2rem/1 var(--serif);letter-spacing:-.12em;padding-right:.2em}.header nav{display:flex;gap:2rem;font-size:.92rem}.header nav a{padding:.75rem 0}.history{display:flex;gap:1.3rem;align-items:center;padding-block:.65rem;font-size:.83rem;color:var(--muted);min-height:48px}.history button{padding:.35rem 0;min-height:36px}.history-status{margin-left:auto}.hero{padding-block:clamp(2.5rem,5vw,5rem) 3.5rem}.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:1.75rem}.hero h1{max-width:1300px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:3rem;margin-top:2.75rem}.hero-bottom p{max-width:29rem;font-size:1.12rem;color:var(--muted);margin:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.4rem;background:var(--ink);color:var(--bg);padding:1rem 1.5rem;min-height:52px;line-height:1.3;white-space:nowrap;font-size:1rem}.button:hover{text-decoration:none}.brand-stage{position:relative;border-block:1px solid var(--line);background:#121314}.brand-stage img{width:100%;aspect-ratio:3/1;object-fit:cover}.brand-stage p{margin:0;padding:.8rem 1.3rem;font-size:.78rem;letter-spacing:.04em;color:var(--muted)}.section{padding-block:var(--section);border-bottom:1px solid var(--line)}.section-intro{max-width:60rem;margin-bottom:3.5rem}.section-intro h2{margin-bottom:1.65rem}.section-intro>p:last-child{max-width:36rem;color:var(--muted)}.report-toolbar{display:flex;justify-content:space-between;align-items:center;border-block:1px solid var(--line);padding:1rem 0;gap:1rem;font-size:.9rem}.report-toolbar p{margin:0}.report-toolbar>div{display:flex;gap:1.5rem;flex-wrap:wrap}.report-toolbar button{padding:0}.mode-label{color:var(--accent)}#data-status{font-size:.85rem;color:var(--muted);margin:1rem 0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;padding:1.5rem 0 2.5rem;margin:0}.metrics dt{color:var(--muted);font-size:.9rem}.metrics dd{margin:0;font-size:3.5rem;line-height:1.25;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.report-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(2rem,5vw,5rem)}.small{font-size:.88rem;line-height:1.6;color:var(--muted)}.heatmap-panel h3{margin-bottom:1rem}.heatmap-shell{display:grid;grid-template-columns:1.3rem minmax(0,1fr);gap:.65rem;max-width:450px;margin-top:1.5rem}.axis-y{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.8rem;text-align:center;color:var(--muted)}.heatmap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.heatmap button{aspect-ratio:1;font-variant-numeric:tabular-nums;min-width:0;background:#26292e;border:1px solid transparent;padding:0}.heatmap .level-2{background:#3b4149}.heatmap .level-3{background:#535e6c}.heatmap .level-4{background:#697888;color:#f7f7f5}.heatmap .level-5{background:#c0c7cf;color:#101113}.heatmap button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:-4px}.axis-x{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted);padding-top:.65rem}.axis-x span{word-spacing:1rem}#reset-filter{font-size:.9rem;text-decoration:underline;text-underline-offset:.3em;margin-top:.8rem;padding:.5rem 0}.risk-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.risk-toolbar label{font-size:.78rem;color:var(--muted)}select{display:block;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:.5rem;max-width:100%;font-size:.9rem;margin-top:.3rem}#filter-status{margin-top:.7rem}.risk-entry{border-top:1px solid var(--line);padding:1rem 0}.risk-entry summary{cursor:pointer;display:grid;grid-template-columns:4rem minmax(0,1fr) auto;gap:.6rem;align-items:start;list-style:none}.risk-entry summary::-webkit-details-marker{display:none}.risk-entry summary::after{content:'+';color:var(--muted)}.risk-entry[open] summary::after{content:'−'}.risk-id{font-size:.78rem;color:var(--muted);padding-top:.15rem}.risk-entry p{font-size:.94rem;margin:0}.risk-detail{padding:1.2rem 0 .5rem 4.6rem;color:var(--muted)}.risk-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0 0 1rem}.risk-detail dt{font-size:.75rem;color:var(--muted)}.risk-detail dd{margin:0;color:var(--ink)}#risk-list{max-height:590px;overflow:auto;scrollbar-width:thin;padding-right:.6rem}.ccm{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--line)}.ccm-title{display:flex;justify-content:space-between;gap:1rem}.check{display:grid;grid-template-columns:minmax(0,2fr) 6rem minmax(0,3fr);gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line);font-size:.93rem}.check h4{font-weight:400;font-size:1rem;margin:0}.check p{margin:0}.check-state{text-transform:uppercase;font-size:.73rem;letter-spacing:.1em;color:var(--accent)}.project{display:grid;grid-template-columns:2fr 5fr 40px;gap:2rem;padding:2.5rem 0;border-top:1px solid var(--line)}.project-index{font-size:.7rem;letter-spacing:.08em;color:var(--muted);padding-top:.5rem}.project h3{font:clamp(2rem,3.4vw,3.25rem)/1.2 var(--serif);letter-spacing:-.035em;margin-bottom:1rem}.project p{max-width:33rem;color:var(--muted);margin-bottom:.6rem}.project-action{font-size:2rem;align-self:start}.text-link{display:inline-block;margin-top:1.5rem;margin-right:1.5rem;border-bottom:1px solid var(--muted);padding-bottom:.35rem}.lab{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem}.lab>.section-intro{grid-column:1/-1;margin-bottom:0}.lab form fieldset{border:0;margin:0;padding:0}.lab legend{font-size:1.25rem;margin-bottom:1rem}.lab label{display:flex;gap:1rem;align-items:start;margin-bottom:1rem;color:var(--muted);cursor:pointer;min-height:36px}.lab input{accent-color:var(--accent);width:1.15rem;height:1.15rem;flex-shrink:0;margin-top:.3rem}.lab form .button{margin-top:1.5rem}.decision-output{border-top:1px solid var(--line);padding-top:1.5rem}.decision-output h3{font:2.6rem/1.2 var(--serif);margin-bottom:1.5rem}.decision-output ul{padding-left:1.2rem;color:var(--muted)}.decision-output li{margin-bottom:.8rem}.about{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.about-copy{max-width:36rem}.about-copy>p{color:var(--muted)}.about-copy .lead{font-size:1.6rem;line-height:1.5;color:var(--ink)}.contact h2{margin-bottom:3rem}.contact .email{display:block;color:var(--muted);margin-top:1.8rem;overflow-wrap:anywhere}.footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:2.5rem;font-size:.8rem;color:var(--muted)}.footer p{margin:0;max-width:22rem}.case-hero{padding-block:4rem}.case-hero h1{font-size:clamp(3rem,6vw,6rem)}.case-content{max-width:780px;margin-bottom:4rem}.case-content h2{font:1.8rem/1.3 var(--sans);margin:2.5rem 0 1rem;letter-spacing:-.025em}.case-content p,.case-content li{color:var(--muted)}.case-nav{display:flex;justify-content:space-between;gap:1.5rem;padding-block:2rem;border-top:1px solid var(--line)}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}.case-grid article{padding:2rem 0;border-top:1px solid var(--line)}.case-grid h3{font:2rem/1.2 var(--serif);margin-bottom:.75rem}.case-grid p{color:var(--muted)}.reveal-in{animation:reveal 650ms var(--ease) both}@keyframes reveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.button,.project-action{transition:transform 220ms var(--ease)}.button:hover{transform:translateY(-2px)}.project-action:hover{transform:translate(2px,-2px)}}
@media(min-width:1800px){.hero{padding-top:5rem}.hero h1{font-size:9rem}}
@media(max-width:900px){.report-grid{grid-template-columns:1fr}.heatmap-shell{max-width:430px}.metrics{gap:1rem}.metrics dt{min-height:3em}.project{grid-template-columns:1fr 4fr 30px;gap:1rem}.about{gap:2.5rem}.ccm-title{display:block}.identity>span:last-child{max-width:8rem}.header nav{gap:1.3rem}}
@media(max-width:600px){.header{min-height:76px;gap:1rem}.identity>span:last-child{display:none}.header nav{gap:1.1rem;font-size:.88rem}.hero{padding-top:2.2rem}.hero h1{font-size:clamp(2.8rem,10vw,3.8rem)}.hero-bottom{display:block;margin-top:2rem}.hero-bottom p{font-size:1rem;margin-bottom:1.7rem;max-width:23rem}.brand-stage img{aspect-ratio:2.2/1;object-fit:contain}.brand-stage p{font-size:.73rem;padding:.75rem 1rem}.report-toolbar{display:block}.report-toolbar>div{margin-top:.8rem;gap:1rem}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.metrics dt{min-height:auto}.metrics dd{font-size:3rem}.risk-toolbar{align-items:start;flex-direction:column}.risk-toolbar label{width:100%}.risk-toolbar select{width:100%}.risk-entry summary{grid-template-columns:3.2rem minmax(0,1fr) auto}.risk-detail{padding-left:0}.check{grid-template-columns:1fr auto}.check>div:last-child{grid-column:1/-1}.project{grid-template-columns:minmax(0,1fr) 30px;padding-block:1.8rem}.project-index{grid-column:1/-1}.project h3{font-size:2.1rem}.lab,.about,.case-grid{grid-template-columns:1fr}.lab>.section-intro{grid-column:auto}.about{gap:2.5rem}.footer{display:grid;grid-template-columns:1fr auto;gap:1.3rem}.footer p{grid-column:1/-1;grid-row:2}.history-status{display:none}.case-nav{flex-wrap:wrap}.case-nav a{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-in{animation:none}.button,.project-action{transition:none!important;transform:none!important}}
@media print{body{background:#f7f7f5;color:#171717}.header,.history,.brand-stage,.lab,.contact,button{display:none!important}.section{padding-block:2rem}#risk-list{max-height:none;overflow:visible}.small,p{color:#333!important}.report-grid{display:block}.wrap{width:100%}}
