/* A little cinema: the original photos stay crisp; their echoes live on the sheet. */
body.projector-enabled{position:relative;isolation:isolate}
#openingProjector{position:absolute;left:0;right:0;z-index:0;overflow:hidden;pointer-events:none;background:#141216;--lamp:0}
#openingProjector .projection-sheet{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#eee9dc 0%,#b7b2ab 42%,#413b40 76%,#18151b 100%);opacity:0;transition:opacity 1.8s ease;overflow:hidden}
.projection-echo{position:absolute;inset:-14% -12%;width:124%;height:128%;object-fit:cover;filter:blur(24px) saturate(.9) contrast(.85) brightness(.95);transform:scale(1.16);opacity:0;transition:opacity 2.4s ease;mix-blend-mode:multiply}
.projection-echo.is-current{opacity:.64}
.projection-sheet::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(93deg,#ffffff02 0px,#ffffff02 2px,#00000002 3px,#fff0 4px),radial-gradient(ellipse at 48% 48%,transparent 5%,#15111855 65%,#141216df 100%);box-shadow:inset 0 12px 100px #100d15aa}
#openingProjector::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#141216dc,transparent 35%,transparent 66%,#141216a6);pointer-events:none}
.projector-beam{position:absolute;inset:0;opacity:0;filter:blur(7px);background:linear-gradient(0deg,#fff4d9b3 0%,#fff5df26 55%,#fff5df05 100%);clip-path:polygon(var(--beam-left,10%) var(--beam-top,24%),var(--beam-right,90%) var(--beam-top,24%),var(--beam-x,50%) var(--beam-y,85%));mix-blend-mode:screen;transition:opacity 1.2s ease}
#openingProjector[data-state="on"] .projection-sheet{opacity:.86}
#openingProjector[data-state="on"] .projector-beam{opacity:.34}
#openingProjector[data-state="starting"] .projection-sheet{animation:projector-warmup 1.5s ease both}
#openingProjector[data-state="starting"] .projector-beam{animation:projector-warmup 1.5s ease both;--warm-max:.34}
@keyframes projector-warmup{0%{opacity:0}18%{opacity:.13}31%{opacity:.07}49%{opacity:.32}60%{opacity:.22}100%{opacity:var(--warm-max,.86)}}
body.projector-enabled>header,body.projector-enabled>main,body.projector-enabled>footer,body.projector-enabled>.preview-note{position:relative;z-index:1}
body.projector-enabled:has(#homeView:not([hidden]))>header{background:transparent;color:#fff8e8}
body.projector-enabled:has(#homeView:not([hidden]))>header .brand-logo img{filter:brightness(0) invert(1)}
body.projector-enabled:has(#homeView:not([hidden]))>header a{color:#fff8e8}
body.projector-enabled:has(#homeView:not([hidden]))>header .contact-link{border-color:#fff8e880}
body.projector-enabled #homeView .hero{background:transparent!important;box-shadow:none;clip-path:none;color:#fff8e8}
body.projector-enabled .hero-overline,body.projector-enabled .hero-copy h1,body.projector-enabled .hero-bottom a{color:#fff8e8!important}
body.projector-enabled .hero-copy{position:relative;z-index:3}
body.projector-enabled .hero-copy h1{transition:text-shadow 1.4s,color 1.4s;opacity:.74}
body.projector-enabled[data-projector="on"] .hero-copy h1{opacity:1;text-shadow:0 -3px 16px #fff2d466,0 -16px 50px #fff2d440}
body.projector-enabled .opening-carousel{color:#fff8e8;background:transparent}
body.projector-enabled .opening-carousel-stage{opacity:0;visibility:hidden;filter:brightness(.4) blur(5px);transition:opacity 1.5s ease,filter 1.6s ease,visibility 0s 1.5s}
body.projector-enabled[data-projector="starting"] .opening-carousel-stage,body.projector-enabled[data-projector="on"] .opening-carousel-stage{opacity:1;visibility:visible;filter:none;transition:opacity 1.7s ease .3s,filter 1.7s ease .3s,visibility 0s}
body.projector-enabled[data-projector="off"] .opening-motion-control,body.projector-enabled[data-projector="starting"] .opening-motion-control{visibility:hidden}
body.projector-enabled .opening-motion-control{background:#141216b3;color:#fff8e8;border:1px solid #fff8e85c}
body.projector-enabled:has(#homeView[hidden]) #openingProjector{display:none}
.projector-switch-row{display:flex;align-items:center;gap:13px;margin-top:18px;min-height:48px}
.projector-switch{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid #ffffff45;background:linear-gradient(145deg,#5a4e50,#171317 65%);box-shadow:0 5px 10px #0005,inset 0 1px 1px #fff3;cursor:pointer;flex-shrink:0}
.projector-switch::before{content:"";width:23px;height:23px;border-radius:50%;background:radial-gradient(circle at 36% 30%,#ffb3a2,#e63e39 32%,#8d171e 77%);box-shadow:0 0 15px #ff352b70,inset 0 1px 3px #ffd5ce99;transition:background .6s,box-shadow .6s,transform .2s}
.projector-switch:hover::before{box-shadow:0 0 24px #ff352ba0,inset 0 1px 3px #ffd5ce99}
.projector-switch:active::before{transform:scale(.9)}
.projector-switch:focus-visible{outline:2px solid #fff5dc;outline-offset:5px}
.projector-switch[aria-pressed="true"]::before{background:radial-gradient(circle at 36% 30%,#fffef6,#f2deb3 45%,#a99168);box-shadow:0 0 20px #ffe8ae88,inset 0 1px 3px #fff9}
.projector-switch-label{font-family:inherit;font-size:11px;letter-spacing:.06em;color:#fff8e8ba}
.projector-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:700px){.projection-echo{filter:blur(22px) saturate(.8) contrast(.72) brightness(.78)}.projector-switch-row{margin-top:14px}.projector-beam{filter:blur(5px)}}
@media(prefers-reduced-motion:reduce){#openingProjector *,.projector-switch::before,body.projector-enabled .opening-carousel-stage,body.projector-enabled .hero-copy h1{animation:none!important;transition:none!important}}
