
/* Monument collection. Styles scoped to these pages only. */
.monument-series-nav{position:relative;top:auto;z-index:1;background:#15191b;border-bottom:1px solid #505453;color:#f0e8df;font:700 .68rem var(--mono);letter-spacing:.09em}
.monument-series-inner{width:min(1200px,calc(100% - 36px));margin:auto;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.monument-series-inner>span{font-size:.62rem;color:#d8cbb8}
.monument-series-links{display:flex;gap:.35rem}
.monument-series-links a{display:grid;place-items:center;min-width:55px;min-height:34px;text-decoration:none;border:1px solid #676767;color:#f8f2ea}
.monument-series-links a[aria-current=page]{background:#e5d0b2;border-color:#e5d0b2;color:#1b1b1a}
.monument-series-links a:hover,.monument-series-links a:focus-visible{background:#f3e7d8;color:#15191b}
.observatory-page{background:#08151a;color:#e5eeee;--monument-stone:#a6d0cd}
.observatory-page .monument-label{color:#a6d0cd}
.observatory-hero{position:relative;min-height:85svh;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 80% 55%,#224a52,#0b232b 35%,#081319 74%)}
.observatory-hero:after{content:"";position:absolute;inset:0;opacity:.12;background:repeating-linear-gradient(0deg,transparent 0 55px,#b5d6d4 56px),repeating-linear-gradient(90deg,transparent 0 55px,#b5d6d4 56px)}
.observatory-hero-inner{position:relative;z-index:1;width:min(1190px,calc(100% - 48px));margin:auto;padding:5rem 0}
.observatory-hero h1{max-width:950px;font:400 clamp(3.6rem,8.6vw,9rem)/.94 var(--serif);letter-spacing:-.065em;margin:1.7rem 0}
.observatory-hero h1 em{color:#a1cfcb}
.observatory-hero-deck{font:400 clamp(1.5rem,2.4vw,2.3rem)/1.4 var(--serif);max-width:680px}
.observatory-hero-number{position:absolute;right:-.1em;bottom:-.34em;font:400 clamp(25rem,51vw,55rem)/1 var(--serif);color:#d3efea0b}
.monument-enter{display:inline-flex;gap:2rem;margin-top:3rem;border-bottom:1px solid currentColor;padding:.8rem 0;font:700 .7rem var(--mono);letter-spacing:.1em;text-decoration:none}
.observatory-stage{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(400px,1.15fr);min-height:760px;background:#0b1b20}
.observatory-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,6vw,6rem);border-right:1px solid #31545a}
.observatory-content h2{font:400 clamp(2.8rem,5vw,5.7rem)/.99 var(--serif);letter-spacing:-.06em;margin:1rem 0}
.observatory-content h2 em{color:#a3d4cb}
.observatory-content>p{max-width:450px;color:#c4d1cd;line-height:1.65}
.observatory-mode-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin:2.3rem 0 1rem}
.observatory-mode-buttons button{border:1px solid #65969a;background:transparent;color:#dceae5;cursor:pointer;padding:.8rem .9rem;font:700 .67rem var(--mono)}
.observatory-mode-buttons button[aria-pressed=true],.observatory-mode-buttons button:hover{background:#addbd2;color:#081719}
.observatory-screen{padding:1rem 0 1rem 1.2rem;border-left:2px solid #a1cfcb;min-height:195px}
.observatory-screen span{font:700 .64rem var(--mono);letter-spacing:.1em;color:#a3cfca}
.observatory-screen p{font:400 clamp(1.4rem,2.2vw,2rem)/1.25 var(--serif);max-width:440px}
.observatory-lens-stage{position:relative;display:grid;place-items:center;overflow:hidden;min-height:720px;background:radial-gradient(circle,#2f5960,#132c33 38%,#07161d 75%)}
.observatory-lens-stage:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 39px,#c3e3df13 40px),repeating-linear-gradient(90deg,transparent 0 39px,#c3e3df13 40px)}
.observatory-lens{position:relative;width:min(75%,620px);aspect-ratio:1;border-radius:50%;border:1px solid #b0ddda;box-shadow:0 0 0 20px #95cccc14,0 0 0 46px #95cccc0b,0 0 100px #84bab622,inset 0 0 90px #000;background:radial-gradient(circle,#08171b 0 14%,#7da7a5 14.5% 15%,#16373d 15.5% 30%,#8ab7b1 30.5% 31%,#0c2e36 31.5% 48%,#689b9a 48.5% 49%,#0b2027 49.5%)}
.observatory-lens:before,.observatory-lens:after{content:"";position:absolute;inset:0;pointer-events:none}
.observatory-lens:before{border-radius:50%;background:conic-gradient(from 100deg,#a6f1d755,transparent 60deg 360deg);animation:monument-radar 17s linear infinite}
.observatory-lens:after{top:50%;height:1px;background:#c4e8e347}
.observatory-lens-center{position:absolute;z-index:1;inset:42%;border-radius:50%;display:grid;place-items:center;background:#081316;border:1px solid #8fbeb9;color:#a6d5d0;font:700 1rem var(--mono);letter-spacing:.1em}
.observatory-lens-caption{position:absolute;left:30px;right:30px;bottom:30px;display:flex;justify-content:space-between;gap:1rem;color:#9abfbc;font:700 .65rem var(--mono);letter-spacing:.1em}
@keyframes monument-radar{to{transform:rotate(360deg)}}
.observatory-report{padding:clamp(4rem,8vw,9rem) 24px;background:#dce6e0;color:#14282a}
.observatory-report-inner{max-width:1200px;margin:auto}
.observatory-report h2{font:400 clamp(3rem,6.5vw,7rem)/.98 var(--serif);letter-spacing:-.06em;margin:1rem 0 3rem}
.observatory-three{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #648282}
.observatory-three article{padding:2rem 2rem 1rem 0}
.observatory-three article+article{padding-left:2rem;border-left:1px solid #86aaa4}
.observatory-three span{font:700 .68rem var(--mono);letter-spacing:.1em}
.observatory-three h3{font:400 clamp(1.9rem,3vw,3rem)/1 var(--serif);margin:1.6rem 0 1rem}
.observatory-three p{line-height:1.65}
.monument-finale{padding:clamp(5rem,10vw,10rem) 24px;text-align:center}
.monument-finale h2{font:400 clamp(3.2rem,7vw,7rem)/1 var(--serif);letter-spacing:-.06em;max-width:1150px;margin:1.3rem auto 2rem}
.monument-finale h2 em{color:#a4d4cc}
.monument-finale>p:not(.monument-label){max-width:700px;margin:0 auto;line-height:1.7;color:#bdcecb}
.monument-finale .monument-exits a{color:#e2ebe8;border-color:#8aa6a2}
.monument-finale .monument-exits a:hover{background:#b3d9d2;color:#071519}
.chamber-page{background:#e8e1d4;color:#211d19;--monument-stone:#eedbca}
.chamber-intro{min-height:78svh;display:flex;align-items:center;position:relative;overflow:hidden;background:#e8e1d4}
.chamber-intro:after{content:"003";position:absolute;right:-.05em;bottom:-.3em;font:400 clamp(24rem,43vw,45rem)/1 var(--serif);color:#38261a0b}
.chamber-intro-inner{position:relative;z-index:1;width:min(1190px,calc(100% - 48px));margin:auto;padding:5rem 0}
.chamber-intro .monument-label{color:#775a4b}
.chamber-intro h1{font:400 clamp(4.7rem,11vw,12rem)/.89 var(--serif);letter-spacing:-.07em;max-width:1100px;margin:2rem 0 1rem}
.chamber-intro h1 em{color:#8a3e34}
.chamber-intro-lede{font:400 clamp(1.6rem,3.4vw,3.1rem)/1.25 var(--serif)}
.chamber-intro-small{max-width:440px;color:#665d51;margin-top:3rem;line-height:1.7}
.chamber-room-shell{background:#292725;color:#e2d5c4;padding:3rem 24px}
.chamber-room-meta{max-width:1200px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin:0 auto;padding:1rem 0;font:700 .64rem var(--mono);letter-spacing:.1em;color:#c6b5a2}
.chamber-room{position:relative;overflow:hidden;max-width:1200px;margin:auto;min-height:640px;height:72svh;background:linear-gradient(90deg,#0a0d0e,#3b3731 43%,#3b3731 57%,#0a0d0e);box-shadow:0 45px 90px #0007;isolation:isolate}
.chamber-room:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#050707 0%,transparent 30%,transparent 70%,#07090977);pointer-events:none}
.chamber-arch{position:absolute;top:5%;bottom:-10%;left:12%;right:12%;border:clamp(16px,4vw,52px) solid #72685b;border-radius:44% 44% 0 0 / 30% 30% 0 0;box-shadow:inset 0 0 60px #000}
.chamber-arch .chamber-arch{inset:13% 15% -8%;border-color:#494740;background:#131718}
.chamber-arch .chamber-arch .chamber-arch{inset:18% 15% -8%;border-color:#2b3030;background:#030708}
.chamber-room-inscription{position:absolute;z-index:2;top:25%;width:100%;text-align:center;font:700 clamp(.65rem,1.4vw,1.15rem) var(--mono);letter-spacing:.28em;color:#c4b399}
.chamber-microphone{position:absolute;z-index:2;bottom:10%;left:50%;transform:translateX(-50%);width:4px;height:175px;background:#c7b69d;box-shadow:0 0 18px #ffffff26}
.chamber-microphone:before{content:"";position:absolute;bottom:100%;left:-11px;width:26px;height:50px;border-radius:50%;border:3px solid #bcb09e;background:#1b2526}
.chamber-microphone:after{content:"";position:absolute;top:100%;left:-35px;width:75px;height:7px;border-radius:50%;background:#c8b69d}
.chamber-exchange{padding:clamp(5rem,9vw,10rem) 24px;background:#e8e1d4}
.chamber-exchange-inner{max-width:850px;margin:auto;text-align:center}
.chamber-exchange .monument-label{color:#775a4b}
.chamber-exchange h2{font:400 clamp(4.2rem,10vw,10rem)/.96 var(--serif);letter-spacing:-.065em;margin:1rem 0}
.chamber-exchange-lede{max-width:500px;margin:1rem auto 3rem;color:#686056;line-height:1.6}
.chamber-transcript{min-height:300px;text-align:left;border-top:4px double #797066;border-bottom:4px double #797066;padding:2.3rem 1rem;margin-bottom:1.5rem}
.chamber-transcript span{font:700 .7rem var(--mono);letter-spacing:.1em;color:#766251}
.chamber-transcript blockquote{font:400 clamp(1.85rem,4vw,4.2rem)/1.13 var(--serif);letter-spacing:-.04em;margin:1.7rem 0}
.chamber-transcript p{color:#6a5e51;margin:0}
.chamber-action{padding:1.2rem 1.7rem;min-width:265px;background:#251e1b;color:#f2e8db;border:0;cursor:pointer;font:700 .76rem var(--mono);letter-spacing:.07em}
.chamber-action:hover{background:#823d33}
.chamber-action:disabled{background:#61574c;cursor:default}
.chamber-dedication{background:#302923;color:#f0e4d4}
.chamber-dedication h2 em{color:#e0aa9a}
.chamber-dedication .monument-label{color:#dac2a6}
.chamber-dedication>p:not(.monument-label){color:#e5d3c3}
.chamber-dedication .monument-exits a{color:#f0e4d4;border-color:#a99b8b}
.chamber-dedication .monument-exits a:hover{background:#ead9c3;color:#251e1b}
.chamber-mechanism{max-width:660px;margin:4rem auto 0;text-align:left;border-top:1px solid #aa9a86;border-bottom:1px solid #aa9a86;padding:1.8rem 0}
.chamber-mechanism small{font:700 .7rem var(--mono);letter-spacing:.12em;color:#d6b9a3}
.chamber-mechanism strong{display:block;font:400 clamp(2rem,4vw,4rem) var(--serif);margin:.8rem 0}
.chamber-mechanism p{line-height:1.6;color:#e1d0bf}
.chamber-mechanism a{display:inline-block;margin:1rem 1.5rem 0 0;color:#f1d1b6;font:700 .75rem var(--mono)}
.monument-series-nav a:focus-visible,.observatory-page button:focus-visible,.chamber-page button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:900px){.observatory-stage{grid-template-columns:1fr}.observatory-content{border-right:0;border-bottom:1px solid #31545a}.observatory-lens-stage{min-height:650px}}
@media(max-width:700px){.monument-series-nav{top:auto}.monument-series-inner{width:calc(100% - 28px)}.monument-series-inner>span{max-width:135px;line-height:1.4;font-size:.53rem}.monument-series-links a{min-width:43px;min-height:34px}.observatory-hero h1{font-size:clamp(3.2rem,12vw,5rem)}.observatory-hero-inner,.chamber-intro-inner{width:calc(100% - 36px)}.observatory-content{padding:4rem 20px}.observatory-lens-stage{min-height:420px}.observatory-lens-caption{left:15px;right:15px;font-size:.5rem}.observatory-three{grid-template-columns:1fr}.observatory-three article,.observatory-three article+article{border-left:0;border-bottom:1px solid #86aaa4;padding:1.4rem 0}.chamber-intro h1{font-size:clamp(4rem,13vw,6rem)}.chamber-room-shell{padding:1rem 12px}.chamber-room{height:60svh;min-height:440px}.chamber-room-meta{font-size:.52rem}.chamber-arch{left:2%;right:2%;border-width:20px}.chamber-arch .chamber-arch{inset:14% 11% -8%;border-width:14px}.chamber-arch .chamber-arch .chamber-arch{inset:17% 12% -8%;border-width:10px}.chamber-microphone{bottom:6%;height:120px}.chamber-transcript{min-height:360px}}
@media(prefers-reduced-motion:reduce){.observatory-lens:before{animation:none}}

/* Contrast and anchor offsets for the shared contextual masthead. */
.observatory-report .monument-label{color:#406666}
.observatory-stage,.chamber-room{scroll-margin-top:calc(var(--portfolio-header-height,84px) + 56px)}
@media(max-width:700px){.observatory-stage,.chamber-room{scroll-margin-top:calc(var(--portfolio-header-height-mobile,68px) + 54px)}}

/* Approved cinematic photography replaces the vector-only centrepieces. */
.observatory-photograph{isolation:isolate;background:#0c1a20}
.observatory-photograph img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block}
.observatory-photograph:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(4,12,17,.18),transparent 40%,rgba(4,11,15,.7));pointer-events:none}
.observatory-photograph .observatory-lens-caption{z-index:3;color:#f1ede2;text-shadow:0 2px 8px #000}
.chamber-photograph{height:auto;min-height:0;max-width:870px;aspect-ratio:763 / 849;background:#0e1111}
.chamber-photograph img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.chamber-photograph:after{background:linear-gradient(180deg,rgba(8,10,10,.1),transparent 70%,rgba(8,10,10,.12))}
@media(max-width:700px){
  .observatory-photograph{min-height:480px}
  .chamber-photograph{height:auto;min-height:0;aspect-ratio:763 / 849}
}
