/* Three presentations of one story: still, photographic film, and a 3D office. */
.office-chapter{display:none}.mode-office .hero-chapter{display:none}.mode-office .office-chapter{display:block;position:relative;height:620svh;background:#080908}
.office-stage{position:sticky;top:0;height:100svh;min-height:0;isolation:isolate;overflow:hidden;background:#080909}
.office-canvas{position:absolute;inset:78px 0 0;z-index:-3}.office-canvas canvas{display:block;width:100%;height:100%}
.office-poster{position:absolute;inset:78px 0 0;width:100%;height:calc(100% - 78px);object-fit:cover;z-index:-2;transition:opacity .55s;object-position:center top}
.office-ready .office-poster{opacity:0;pointer-events:none}.office-unavailable .office-poster{opacity:1}
.office-vignette{position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(0deg,#050605 0%,#050605ce 12%,transparent 42%),linear-gradient(90deg,#030402a6,transparent 47%,transparent 87%,#0004)}
.office-running-title{position:absolute;top:118px;left:64px;color:#e8d3a9;font:500 14px var(--serif);letter-spacing:.25em;text-shadow:0 2px 15px #000}.office-running-title span{display:block;font:10px var(--sans);letter-spacing:.25em;margin-top:9px;color:#b49c70}
.office-copy{position:absolute;left:0;right:0;bottom:195px;height:300px;pointer-events:none}
.office-beat{position:absolute;bottom:0;left:0;max-width:550px;opacity:0;visibility:hidden;transform:translateY(25px);transition:none;pointer-events:none}
.office-beat.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .3s,transform .55s}
.office-beat h1,.office-beat h2{font:500 clamp(65px,7.3vw,112px)/.92 var(--serif);letter-spacing:-.035em;margin:18px 0 23px;color:#f8f4ea;text-shadow:0 4px 35px #0007}
.office-beat h1 em,.office-beat h2 em{font-style:normal;color:#d3b77e}
.office-beat>p:last-of-type{color:#e4dac7;font-size:16px;line-height:1.7;text-shadow:0 2px 15px #000;max-width:440px}
.office-beat .eyebrow{font-size:12px;color:#d8bc82;letter-spacing:.24em}
.office-beat .text-link{margin-top:16px;font-size:13px;min-height:34px;gap:28px}
.office-stops{position:absolute;left:0;right:0;bottom:115px;display:flex;max-width:1376px;gap:20px}
.office-stops button{position:relative;flex:0 1 125px;border:0;border-bottom:1px solid #b39a6477;background:none;color:#ad9f84;padding:8px 0 13px;text-align:left;font-size:13px;min-height:44px}
.office-stops button span{font-size:11px;margin-right:10px;color:#b99a5f}.office-stops button[aria-current=step]{color:#f8f1df;border-bottom:2px solid #e2c282}
.office-tour-tools{position:absolute;left:64px;right:64px;bottom:44px;display:flex;align-items:center;gap:30px}.office-scroll-hint{font-size:10px;letter-spacing:.19em;color:#bfa77c}
.office-play{font-size:13px;border:1px solid #c5a56388;background:#0c0b09d4;color:#f8ead0;padding:8px 15px;min-height:40px;display:flex;gap:10px;align-items:center}.office-play span{color:#cfaf70;font-size:12px}
.office-status{position:absolute;top:110px;right:64px;font-size:12px;color:#dac38f;background:#10100ddd;border:1px solid #9d804740;padding:9px 15px;max-width:280px}
.office-ready .office-status{display:none}.office-unavailable .office-status{display:block}
.view-options{display:flex;gap:4px;align-items:center;border-left:1px solid #b99a5f44;padding-left:13px}
.view-options button{font-size:12px;color:#c2bba9;background:transparent;border:1px solid transparent;padding:7px 12px;min-height:36px;white-space:nowrap}
.view-options button[aria-pressed=true]{color:#f5e9ce;border-color:#c3a16b;background:#c3a16b16}.view-options button:hover{background:#c3a16b20}
.js-ready .film-controls{padding:7px 9px 7px 15px;gap:14px}.mode-office .film-controls{right:25px;bottom:28px}
.footer-experience{color:#c4b38f;text-decoration:underline;text-underline-offset:4px;justify-self:start}
.mode-office .council-panels{grid-template-columns:repeat(3,1fr);padding:100px 0 90px}.mode-office .council-panel h3{font-size:72px}.mode-office .council-shade{background:#070706d4}
/* New front-facing table plate. Never reuse the previous rear camera composition. */
.shot-boardroom img,.room-boardroom img{position:static;width:100%;height:100%;object-fit:cover;object-position:50% 15%;--focal:50% 25%;mask-image:none;-webkit-mask-image:none}
@media(min-width:1600px){.office-running-title,.office-tour-tools{left:max(64px,calc((100vw - 1376px)/2))}}
@media(max-width:1100px){.office-running-title{left:40px}.office-tour-tools{left:40px;right:40px}.office-copy{bottom:195px}.office-beat{max-width:500px}.office-beat h1,.office-beat h2{font-size:84px}.office-scroll-hint{display:none}.office-status{right:40px}}
@media(max-width:800px){.office-running-title{left:24px;top:108px}.office-running-title span{display:none}.office-copy{bottom:210px}.office-beat h1,.office-beat h2{font-size:70px}.office-stops{bottom:137px;gap:16px}.office-stops button{flex:1}.office-tour-tools{left:24px;right:24px;bottom:85px}.mode-office .film-controls{bottom:17px}.mode-office .council-panels{grid-template-columns:1fr;max-width:620px;gap:40px}.view-options button{padding-inline:10px}}
@media(max-width:580px){
 .mode-office .office-chapter{height:590svh}.office-canvas{inset:78px 0 152px}.office-poster{height:calc(100% - 78px)}
 .office-vignette{background:linear-gradient(0deg,#070807 1%,#070807 18%,#070807d1 27%,transparent 57%)}
 .office-running-title{top:99px;font-size:12px;letter-spacing:.18em}.office-copy{bottom:228px;height:250px}
 .office-beat{max-width:100%}.office-beat h1,.office-beat h2{font-size:clamp(45px,12.3vw,60px);line-height:.94;margin:13px 0 15px;letter-spacing:-.03em}.office-beat>p:last-of-type{font-size:14px;line-height:1.6;max-width:350px}.office-beat>p:last-of-type br{display:none}.office-beat .eyebrow{font-size:10px;letter-spacing:.16em}.office-beat .text-link{font-size:12px;min-height:30px;margin-top:13px}
 .office-stops{bottom:153px;gap:12px}.office-stops button{font-size:11px;padding-bottom:10px}.office-stops button span{display:block;margin:0 0 6px;font-size:10px}.office-tour-tools{bottom:94px;justify-content:flex-end}.office-play{padding:6px 13px;min-height:35px;font-size:12px}.office-status{top:132px;left:24px;right:auto;max-width:calc(100% - 48px);font-size:12px}
 .js-ready .film-controls{padding:6px;left:16px;right:16px;bottom:15px;justify-content:center}.current-chapter{display:none}.view-options{border:0;padding:0;gap:5px;width:100%;justify-content:space-between}.view-options button{font-size:13px;flex:1;min-height:38px;padding:6px 10px}.mode-office .film-controls{left:16px;right:16px;bottom:15px}
 .mode-office .council-panel h3{font-size:68px}.footer-experience{justify-self:end}
}
@media(max-height:700px){.office-running-title{display:none}.office-copy{bottom:175px;height:200px}.office-beat h1,.office-beat h2{font-size:51px;margin-bottom:13px}.office-beat>p:last-of-type{font-size:14px}.office-stops{bottom:107px}.office-tour-tools{bottom:60px}.office-beat .text-link{display:none}}
@media(max-height:500px){.office-copy{bottom:110px;height:155px}.office-beat h1,.office-beat h2{font-size:40px;margin-top:9px;margin-bottom:8px}.office-beat>p:last-of-type{font-size:12px;max-width:320px}.office-stops{display:none}.office-tour-tools{bottom:23px}.office-canvas{inset:78px 0 0}.office-vignette{background:linear-gradient(90deg,#070807bf,transparent 75%)}.office-beat .eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){.office-beat,.office-poster{transition:none}}

html.motion-paused{scroll-behavior:auto!important}
@media(min-width:1101px){.office-beat{max-width:590px}.office-beat h1,.office-beat h2{font-size:88px}.office-beat:first-child h1{font-size:108px}}

.office-running-title span,.office-scroll-hint{font-size:12px}.office-play,.office-stops button,.view-options button{font-size:14px}.office-stops button span{font-size:12px}
@media(max-width:580px){.office-beat>p:last-of-type{font-size:16px}.office-beat .eyebrow{font-size:12px}.office-stops{gap:8px}.office-stops button{font-size:12px}.office-stops button span{font-size:12px}.office-play{font-size:14px}.view-options button{font-size:14px}}
@media(min-width:1101px) and (max-height:700px){.office-beat h1,.office-beat h2,.office-beat:first-child h1{font-size:51px}}

/* The visitor journey: seven chapters and three connected rooms. */
.mode-office .office-chapter{height:830svh}
.office-beat{max-width:650px}.office-beat h1,.office-beat h2{font-size:clamp(54px,6.4vw,88px)}
.office-stops{gap:18px;max-width:1040px;margin-left:max(64px,calc((100vw - 1376px)/2));margin-right:0;padding:0}.office-stops button{flex:1;min-width:70px}
.office-copy{bottom:195px}.office-beat:first-child h1{font-size:clamp(62px,6.8vw,98px)}
@media(max-width:1100px){.office-stops{margin-left:40px;margin-right:40px}.office-beat{max-width:570px}.office-beat h1,.office-beat h2,.office-beat:first-child h1{font-size:68px}}
@media(max-width:800px){.office-stops{margin-left:24px;margin-right:24px}.office-beat h1,.office-beat h2,.office-beat:first-child h1{font-size:60px}.office-stops{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;gap:15px}.office-stops::-webkit-scrollbar{display:none}.office-stops button{flex:0 0 64px;font-size:14px}.office-stops button span{display:block;margin-bottom:6px}}
@media(max-width:580px){.mode-office .office-chapter{height:780svh}.office-copy{bottom:228px}.office-beat h1,.office-beat h2,.office-beat:first-child h1{font-size:clamp(39px,11.6vw,53px);margin-top:12px;margin-bottom:16px}.office-beat>p:last-of-type{font-size:16px;line-height:1.55}.office-beat .eyebrow{font-size:11px;letter-spacing:.13em}.office-stops{bottom:153px}.office-running-title{font-size:12px}}
@media(max-height:700px){.office-beat h1,.office-beat h2,.office-beat:first-child h1{font-size:42px}.office-beat>p:last-of-type{font-size:16px}.office-copy{bottom:175px}.office-stops{bottom:107px}}
@media(max-height:500px){.office-copy{bottom:100px}.office-beat h1,.office-beat h2,.office-beat:first-child h1{font-size:34px}.office-beat>p:last-of-type{font-size:14px}.office-stops{display:none}}

/* An intentional close after the agreement settles. */
.office-curtain{position:absolute;inset:0;z-index:1;background:#080908;opacity:var(--closing-shade,0);pointer-events:none}
.office-finale{position:absolute;inset:100px 24px 108px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px);transition:opacity .65s,transform .8s,visibility .65s}
.office-ending .office-finale{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.office-ending .office-copy,.office-ending .office-stops,.office-ending .office-tour-tools,.office-ending .office-running-title{opacity:0;visibility:hidden;pointer-events:none}
.finale-kicker{font-size:12px;letter-spacing:.2em;color:#d3b77e;margin:0 0 15px}.finale-mark{font:500 152px/.85 var(--serif);letter-spacing:-.065em;color:#d3b77e;margin:0}
.finale-rule{width:70px;height:1px;background:#b99a5f;margin:35px 0}.office-finale h2{font:500 58px/.98 var(--serif);letter-spacing:-.03em;margin:0;color:#f8f4ea}.office-finale h2 em{font-style:normal;color:#d3b77e}.finale-description{font-size:16px;line-height:1.6;color:#d6c9ad;margin:24px 0}
.finale-contact{display:flex;align-items:center;gap:45px;border:1px solid #b99a5f;padding:16px 23px;font-size:14px;color:#ecd6a6;background:#b99a5f0a}.finale-contact:hover{background:#b99a5f20}.finale-secondary{display:flex;gap:26px;align-items:center;margin-top:32px;font-size:14px;color:#bca778}.office-replay{border:0;background:none;color:inherit;padding:8px 0;cursor:pointer;font:inherit}.finale-secondary a:hover,.office-replay:hover{color:#f8f4ea}
@media(max-width:580px){.office-finale{inset:102px 24px 112px}.finale-mark{font-size:105px}.finale-rule{margin:28px 0 32px}.office-finale h2{font-size:46px}.finale-description{margin:28px 0;font-size:16px}.finale-contact{width:100%;justify-content:space-between;padding:18px}.finale-secondary{gap:24px;margin-top:32px;font-size:14px}}
@media(max-height:700px){.office-finale{inset:90px 24px 90px}.finale-mark{font-size:80px}.finale-rule{margin:18px 0}.office-finale h2{font-size:38px}.finale-description{margin:16px 0}.finale-secondary{margin-top:15px}}
@media(max-height:500px){.office-finale{inset:90px 24px 75px;display:grid;grid-template-columns:1fr 1fr;column-gap:60px;justify-items:center}.finale-kicker{display:none}.finale-mark{grid-row:1/3}.finale-rule{display:none}.finale-description{display:none}.office-finale h2{font-size:32px}.finale-contact{padding:10px 18px}.finale-secondary{grid-column:1/3;margin:0}}
@media(prefers-reduced-motion:reduce){.office-finale{transition:none}}

/* The camera passes over the flat page; the scene stays scrollable. */
.office-copy{opacity:var(--office-copy-opacity,1)}
.office-desk-view .office-copy{visibility:hidden;pointer-events:none}
.office-vignette{opacity:var(--office-vignette-opacity,1)}
