@font-face{font-family:Cinzel;src:url("assets/noir-cinzel.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Courier Prime";src:url("assets/noir-courier.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:dark;--ink:#101110;--paper:#ece5d7;--gold:#ccb17b;--bone:var(--paper);--pink:var(--gold);--muted:#bbb5a8;--line:#494337;--display:Cinzel,Georgia,serif;--body:"Courier Prime","Courier New",monospace;--small:clamp(.75rem,.7rem + .2vw,.875rem);--body-size:1rem;--heading:clamp(1.5rem,1.1rem + 1.4vw,2.25rem);--title:clamp(2.2rem,1.5rem + 3vw,3.5rem)}
*{box-sizing:border-box}
html{background:var(--ink)}
body{margin:0;color:var(--paper);font:var(--body-size)/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:5px}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid #f2d393;outline-offset:6px}
button{border-radius:0}
[hidden]{display:none!important}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.2}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:50;top:12px;left:12px;transform:translateY(-200%);padding:12px 20px;background:var(--paper);color:var(--ink)}
.skip-link:focus{transform:none}
.eyebrow,.micro{font-size:var(--small);letter-spacing:.16em;text-transform:uppercase}
.eyebrow{color:var(--gold)}
.quiet-link{background:none;border:0;padding:10px 0;font-size:var(--small);text-decoration:underline;text-underline-offset:5px}
.gold{color:var(--gold)}
.scene{position:relative;min-height:100svh;overflow:hidden;isolation:isolate}
.scene:not(.entered){height:100svh;min-height:0}
.office{min-height:100svh;display:flex;flex-direction:column;position:relative;background:#111311}
.office::before{content:"";position:absolute;inset:0;z-index:-2;background:url("assets/noir-office.webp") center 43%/cover no-repeat;transform:scale(1.055);transition:transform 1.8s ease}
.office::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,8,8,.72),transparent 24%,rgba(8,9,8,.02) 41%,rgba(8,9,8,.91) 83%,#0b0c0b)}
.office{isolation:isolate}
.entered .office::before{transform:scale(1)}
.office-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 4vw;position:relative;z-index:2}
.office-tools{display:flex;gap:28px;align-items:center}
.wall-dialog{width:min(1380px,96vw);max-height:94svh;padding:24px;margin:auto;overflow:auto;background:#181b16;color:var(--paper);border:1px solid #7f6c48;box-shadow:0 24px 100px #000c}
.wall-dialog::backdrop{background:#080a09e8;backdrop-filter:blur(5px)}
body:has(.wall-dialog[open]){overflow:hidden}
.wall-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}
.wall-dialog-header h2{font-size:var(--heading);margin-top:6px}
.wall-controls{display:flex;align-items:center;gap:20px;margin-bottom:12px;font-size:var(--small);color:var(--muted)}
.wall-controls button{background:#2b2d23;color:var(--paper);border:1px solid #7f6c48;min-height:44px;padding:8px 20px;white-space:nowrap}
.wall-scroll{max-height:58svh;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;background:#544b38}
.wall-scroll img{display:block;width:100%;height:auto}
.wall-scroll:not(.is-zoomed){display:flex;justify-content:center}
.wall-scroll:not(.is-zoomed) img{width:auto;max-width:100%;max-height:58svh;object-fit:contain}
.wall-scroll.is-zoomed img{width:max(1800px,150%);max-width:none}
.wall-index{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:22px 0 18px;font-size:.875rem;line-height:1.6}
.wall-index dt{color:var(--gold);margin-bottom:5px}
.wall-index dd{margin:0}
.wall-caption{color:var(--muted);font-size:var(--small)}
.wordmark{font-family:var(--display);letter-spacing:.1em;font-size:1rem;text-decoration:none;white-space:nowrap;color:var(--gold)}
.wordmark small{display:block;font:var(--small)/1.3 var(--body);letter-spacing:.12em;color:var(--paper);margin-top:5px}
.office-copy{position:relative;padding:20px 6vw 40px;margin-top:auto;width:100%;max-width:1600px;align-self:center}
.speech-bubble{position:absolute;z-index:1;left:58%;top:40%;width:clamp(210px,24vw,340px);min-height:110px;display:flex;align-items:center;justify-content:center;padding:22px 26px;background:#e8dfc9;color:#28251e;border:1px solid #b5a27c;border-radius:20px;box-shadow:0 5px 24px #0005;font:clamp(1.15rem,1.6vw,1.5rem)/1.35 var(--body);text-align:center;opacity:0;visibility:hidden;transition:opacity .35s ease}
.speech-bubble::before{content:"";position:absolute;left:-23px;top:49%;width:25px;height:27px;background:#e8dfc9;clip-path:polygon(100% 0,100% 100%,0 65%)}
.speech-bubble.is-speaking{opacity:1;visibility:visible}
.office-routes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border-top:1px solid transparent;margin-top:28px;transition:border-color .45s}
.office-routes.is-presenting{border-top-color:#807157}
.office-route{display:grid;grid-template-columns:1fr auto;padding:24px 28px 14px 0;text-decoration:none;position:relative;opacity:0;visibility:hidden;transform:translateY(12px);transition:color .2s,opacity .5s ease,transform .5s ease}
.office-route.is-revealed{opacity:1;visibility:visible;transform:translateY(0)}
.office-route+.office-route{padding-left:28px;border-left:1px solid var(--line)}
.office-route .route-label{font-family:var(--display);font-size:clamp(1.25rem,1.7vw,1.8rem);letter-spacing:.015em}
.office-route .route-number{display:block;font-size:var(--small);letter-spacing:.13em;margin-bottom:10px;color:var(--gold)}
.office-route .route-description{display:block;color:#c6c0b5;font-size:.875rem;grid-column:1/-1;margin-top:10px}
.office-route .arrow{font:1.75rem/1 var(--body);align-self:center;transition:transform .2s}
.office-route:hover{color:#e4c78c}
.office-route:hover .arrow{transform:translateX(5px)}
.office-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 4vw 20px;font-size:var(--small);color:#bbb5a8}
.smoke{position:absolute;inset:10% -20% 12%;pointer-events:none;z-index:-1;opacity:.12;background:radial-gradient(ellipse at 35% 65%,#b5b6af,transparent 42%),radial-gradient(ellipse at 75% 40%,#b5b6af,transparent 35%);filter:blur(26px);animation:smoke-drift 24s ease-in-out infinite alternate}
@keyframes smoke-drift{from{transform:translate3d(-3%,3%,0)}to{transform:translate3d(5%,-3%,0)}}
.foyer{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;perspective:1400px;background:radial-gradient(ellipse at 50% 25%,#3e4139 0%,#252a25 38%,#111715 78%);transition:opacity .6s .9s,visibility 0s 1.5s}
.foyer::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 76%,#0b100e 76.3%,#242822 77%,#111512 79%);box-shadow:inset 0 0 180px 60px #070a0985}
.foyer::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent 90px,#c2bd9e05 91px,transparent 92px);opacity:.55}
.foyer-top{position:absolute;left:4vw;right:4vw;top:24px;display:flex;align-items:center;justify-content:space-between;z-index:2;color:#bdb9a9;font-size:var(--small)}
.hall-label{letter-spacing:.17em;text-transform:uppercase}
.door-frame{position:relative;width:min(49vh,450px,84vw);aspect-ratio:2/3;perspective:1400px;background:#070a08;box-shadow:0 0 0 5px #211c15,0 0 0 9px #514433,0 0 0 14px #211e17,0 16px 80px 20px #0009;transform-origin:center;transition:transform 1.65s cubic-bezier(.45,.05,.25,1)}
.door-frame::before{content:"";position:absolute;inset:0;background:linear-gradient(#0005,#0005),url("assets/noir-office.webp") center/cover}
.door{border:0;padding:0;display:block;width:100%;height:100%;position:relative;transform-origin:left center;transform-style:preserve-3d;backface-visibility:hidden;background:url("assets/noir-door.webp") center/100% 100%;box-shadow:inset -3px 0 4px #000b;transition:transform 1.35s cubic-bezier(.52,.02,.25,1),filter .4s;cursor:pointer}
.door:hover{filter:brightness(1.07)}
.glass-sign{position:absolute;left:12%;top:14%;width:76%;height:auto;overflow:visible;filter:drop-shadow(0 1px 1px #211c16);pointer-events:none}
.door-prompt{position:absolute;left:20%;right:20%;top:46%;font:var(--small)/1.5 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#ece1bd;text-shadow:0 1px 3px #000}
.foyer-bottom{position:absolute;bottom:20px;left:4vw;right:4vw;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#c0b9a9;font-size:var(--small);z-index:2}
.opening .door{transform:rotateY(-109deg)}
.opening .door-frame{transform:scale(1.35)}
.opening .foyer{opacity:0;visibility:hidden;pointer-events:none}
.opening .foyer-top,.opening .foyer-bottom{opacity:0;transition:opacity .3s}
.instant .foyer,.instant .door,.instant .door-frame,.instant .office::before{transition:none!important}
.noir-page{min-height:100vh;background:#141613}
.noir-page::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#131512f5 8%,#131512ef 55%,#131512ba),url("assets/noir-office.webp") center/cover}
.noir-page{isolation:isolate}
.hub-header{max-width:1440px;margin:auto;padding:24px 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.hub-nav{display:flex;gap:28px;align-items:center}
.hub-nav a{font-size:var(--small);text-decoration:none;padding:8px 0;color:#c3bcac}
.hub-nav a:hover,.hub-nav a[aria-current=page]{color:#e9cc90;text-decoration:underline}
.hub-main{max-width:1200px;padding:52px 5vw 64px;margin:auto}
.breadcrumb{font-size:var(--small);display:inline-block;color:var(--muted);margin-bottom:34px}
.hub-intro{display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:32px;margin-bottom:48px}
.hub-intro h1{font-size:var(--title);letter-spacing:-.03em;margin-top:10px}
.hub-intro p:not(.eyebrow){color:#c6c0b3;max-width:520px}
.file-section{border-top:1px solid #79705b;padding:24px 0 34px;display:grid;grid-template-columns:240px 1fr;gap:28px}
.file-section h2{font-size:var(--heading);margin-top:5px}
.file-section .section-note{font-size:var(--small);color:var(--muted);margin-top:12px}
.division{margin-bottom:22px}
.division:last-child{margin-bottom:0}
.division h3{font:var(--body-size)/1.5 var(--body);margin-bottom:12px;color:var(--paper)}
.weight-links{display:flex;flex-wrap:wrap;gap:8px}
.weight-link{padding:11px 13px;text-decoration:none;font-size:.875rem;border:1px solid #665f4e;min-width:65px;text-align:center;background:#181b17c7;transition:background .2s,border-color .2s}
.weight-link:hover,.weight-link:focus-visible{background:#373529;border-color:var(--gold)}
.out-link{color:#e7c786}
.file-note{margin-top:18px;font-size:var(--small);color:var(--muted)}
.dossier-link{display:grid;grid-template-columns:70px 1fr auto;gap:26px;align-items:center;padding:30px 0;border-top:1px solid #68604d;text-decoration:none}
.dossier-link .file-id{color:var(--gold);font-size:var(--small);letter-spacing:.1em}
.dossier-link h2{font-size:var(--heading);margin-bottom:10px}
.dossier-link p{color:#bfb9ac;max-width:600px}
.dossier-link .arrow{font-size:1.8rem;color:var(--gold);transition:transform .2s}
.dossier-link:hover h2{color:var(--gold)}
.dossier-link:hover .arrow{transform:translateX(5px)}
.hub-footer{max-width:1440px;margin:auto;border-top:1px solid var(--line);padding:24px 5vw;display:flex;justify-content:space-between;gap:16px;font-size:var(--small);color:var(--muted)}
.access-note{margin:30px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:var(--small);color:var(--muted)}
.access-note a{color:var(--paper)}
.compare-page #compare{padding:0}
.compare-page #compare .wrap{max-width:none;padding:0}
.compare-page #compare .section-head{display:flex;align-items:end;justify-content:space-between;gap:24px}
.compare-page #compare h2{font-size:var(--title)!important;line-height:1.1!important}
.compare-page .pink{color:var(--gold)}
.compare-page .lead{color:var(--muted)}
.compare-page #compare .cmp-table{min-width:700px}
.compare-page #compare .cmp-filter{min-width:0}
.compare-page #compare .cmp-tablewrap:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(min-height:950px) and (min-width:761px){.office-copy{padding-bottom:70px}.office::after{background:linear-gradient(180deg,#0608089c,transparent 25%,transparent 50%,#080908e8 84%,#0b0c0b)}}
@media(max-width:760px){
 .office-header{padding:20px 6vw}.office{min-height:100svh}
 .office-tools{gap:4px;flex-direction:column;align-items:flex-end;flex-shrink:0}
 .office-tools .quiet-link{padding:4px 0}
 .office::before{background-position:51% 65px;background-size:auto 420px;background-color:#101110}
 .office::after{background:linear-gradient(180deg,#060808a3,transparent 22%,#08090866 37%,#080908e8 78%,#0b0c0b)}
 .office-copy{margin-top:300px;padding:0 6vw 12px}
 .speech-bubble{left:56%;right:5%;top:235px;width:auto;min-height:90px;padding:12px 10px;font-size:1rem;border-radius:14px}
 .speech-bubble::before{left:-16px;width:18px;height:22px;top:37%}
 .office-routes{grid-template-columns:1fr;margin-top:22px}
 .office-route,.office-route+.office-route{grid-template-columns:1fr auto;padding:15px 0;border-left:0;border-bottom:1px solid var(--line)}
 .office-route .route-number{display:inline-block;min-width:68px;margin:0;font-size:.75rem}
 .office-route .route-label{font-size:1.3rem}.office-route .route-description{font-size:.75rem;margin:4px 0 0 68px}
 .office-route .arrow{grid-column:2;grid-row:1/3;align-self:center}
 .office-footer{padding:18px 6vw}.office-footer span:last-child{display:none}
 .foyer-top{top:16px;left:6vw;right:6vw}.hall-label{font-size:.75rem;letter-spacing:.07em}
 .door-frame{width:min(53svh,78vw,440px)}
 .glass-sign{width:84%;left:8%}
 .foyer-bottom{left:6vw;right:6vw;bottom:16px}.foyer-bottom span:last-child{display:none}
 .hub-header{padding:20px 6vw;flex-wrap:wrap;gap:18px}
 .hub-nav{width:100%;gap:0;justify-content:space-between}.hub-nav a{font-size:.75rem}
 .hub-main{padding:24px 6vw 40px}.breadcrumb{margin-bottom:28px}
 .hub-intro{grid-template-columns:1fr;gap:20px;margin-bottom:32px}
 .hub-intro h1{font-size:clamp(2rem,8vw,3rem)}
 .hub-intro p:not(.eyebrow){font-size:.9375rem}
 .file-section{grid-template-columns:1fr;gap:24px;padding-top:22px}
 .file-section h2{font-size:1.65rem}.file-section .section-note{margin-top:8px}
 .dossier-link{grid-template-columns:1fr auto;gap:10px;padding:24px 0}
 .dossier-link .file-id{grid-column:1/-1}.dossier-link h2{font-size:1.5rem}
 .dossier-link p{font-size:.875rem}.hub-footer{padding:20px 6vw;flex-wrap:wrap}
 .compare-page #compare .section-head{align-items:start;flex-direction:column}
 .wall-dialog{width:96vw;padding:16px;max-height:94svh}
 .wall-dialog-header{gap:12px}.wall-dialog-header h2{font-size:1.4rem}
 .wall-dialog-header .eyebrow{letter-spacing:.08em;font-size:.75rem}
 .wall-dialog-header .quiet-link{white-space:nowrap;font-size:.75rem}
 .wall-controls{align-items:start;gap:12px;font-size:.75rem}
 .wall-index{grid-template-columns:1fr 1fr;gap:18px 12px;font-size:.8125rem}
 .wall-scroll{max-height:42svh}
 .wall-scroll:not(.is-zoomed) img{max-height:42svh}
 .wall-index>div:last-child{grid-column:1/-1}
}
@media(max-height:650px) and (min-width:761px){.office-copy{padding-top:60px}.office-header{padding-top:18px;padding-bottom:18px}.office-title{font-size:2rem}.door-frame{width:49svh}.foyer-top,.foyer-bottom{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.noir-page[data-guide]{padding-bottom:230px}
.office-guide{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:20;display:flex;align-items:flex-end;gap:20px;width:468px;max-width:calc(100vw - 48px);pointer-events:none}
.guide-bubble{position:relative;flex:0 1 310px;margin-bottom:65px;padding:22px 24px;background:#e8dfc9;color:#28251e;border:1px solid #b5a27c;border-radius:18px;box-shadow:0 5px 26px #0005;font:1rem/1.5 var(--body);pointer-events:auto}
.guide-bubble::after{content:"";position:absolute;right:-21px;bottom:25px;width:23px;height:25px;background:#e8dfc9;clip-path:polygon(0 0,100% 65%,0 100%)}
.guide-dismiss{position:absolute;right:-10px;top:-16px;width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid #a18c60;border-radius:50%;background:#24251f;color:#f5ebd7;font:1.5rem/1 var(--body);box-shadow:0 2px 8px #0004}
.guide-dismiss:hover{background:#454032}
.guide-avatar{display:block;flex:0 0 138px;width:138px;padding:0;background:none;border:0;pointer-events:auto;filter:drop-shadow(0 7px 8px #0008)}
.guide-avatar img{display:block;width:100%;height:auto}
.guide-avatar:hover{filter:drop-shadow(0 7px 10px #bfa66d50)}
.office-guide.is-collapsed{width:auto}
.office-guide.is-collapsed .guide-avatar{width:62px;flex-basis:62px}
@media(max-width:760px){
 .noir-page[data-guide]{padding-bottom:245px}
 .office-guide{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));gap:12px;width:339px;max-width:calc(100vw - 24px)}
 .guide-bubble{flex-basis:245px;margin-bottom:32px;padding:18px 17px;font-size:.875rem;line-height:1.45;border-radius:14px}
 .guide-bubble::after{right:-13px;width:15px;height:20px;bottom:20px}
 .guide-avatar{flex-basis:82px;width:82px}
 .guide-dismiss{width:40px;height:40px;top:-20px;right:-7px}
 .office-guide.is-collapsed .guide-avatar{flex-basis:54px;width:54px}
}
