/* Image-based camera choreography. No video player or reconstructed 3D house. */
.camera-journey{--camera-travel:640svh;height:calc(var(--camera-travel) + 100svh);background:#081c38}.camera-journey .cinema-sticky{height:100svh;min-height:0;background:#081c38;isolation:isolate;perspective:none}
/* Focus/chapter navigation must never scroll the sticky viewport internally. */
@supports(overflow:clip){.camera-journey .cinema-sticky{overflow:clip}}
/* Dynamic viewport fills the phone when browser chrome moves. Travel remains in
   stable viewport units, so its change cancels out of the JS scroll denominator. */
@supports(height:100dvh){.camera-journey{height:calc(var(--camera-travel) + 100dvh)}.camera-journey .cinema-sticky{height:100dvh}}
.camera-sky{position:absolute;inset:0;background:linear-gradient(180deg,#cddff5 0%,#e9f1fb 58%,#f5f8fc 100%);overflow:hidden;will-change:opacity}
.sky-glow{position:absolute;width:65vw;height:65vw;left:45%;top:-34vw;border-radius:50%;background:radial-gradient(circle,#fffef6d9,transparent 65%);filter:blur(15px)}
.cloud{position:absolute;width:90vw;height:36vw;background:radial-gradient(ellipse at 40% 40%,#ffffffdb,transparent 67%);filter:blur(22px);will-change:transform}.cloud-one{left:-25%;top:10%}.cloud-two{left:50%;top:20%;opacity:.7}.cloud-three{left:3%;top:60%;opacity:.6}
.camera-backdrop{position:absolute;inset:-30px;background:#081c38;background-size:cover;background-position:center;filter:blur(30px) saturate(.65);opacity:0;will-change:opacity}
.camera-stage{position:absolute;inset:0;perspective:none;overflow:hidden}
.camera-shot{position:absolute;inset:0;opacity:0;pointer-events:none;will-change:transform,opacity,clip-path;transform-style:preserve-3d;backface-visibility:hidden}
.camera-shot:first-child{opacity:1}
.camera-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;-webkit-user-drag:none}.camera-shot:first-child .camera-photo{object-position:53% 60%}
.camera-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#06152fe0,transparent 26%),radial-gradient(ellipse at 50% 50%,transparent 55%,#081c3830);opacity:0;will-change:opacity}
.flight-top{position:absolute;top:35px;left:40px;right:40px;display:flex;align-items:start;justify-content:space-between;gap:30px;color:var(--ink);font-size:10px;letter-spacing:.17em;z-index:4}.flight-top>span{font-weight:650}.flight-top i{display:block;font-style:normal;font-size:8px;font-weight:400;letter-spacing:.12em;margin-top:7px}.flight-top>a{letter-spacing:.03em;font-size:11px;min-height:36px;border:1px solid #284e8535;padding:7px 12px;border-radius:50px;background:#ffffff38;backdrop-filter:blur(12px)}
.flight-intro{position:absolute;left:max(56px,calc((100vw - 1280px)/2));top:40%;transform:translateY(-25%);color:#081c38;z-index:3;max-width:620px;pointer-events:none}
.flight-intro .kicker{font-size:10px;color:#4c6385;letter-spacing:.2em;margin-bottom:24px}.flight-intro h1{font:400 clamp(55px,8vw,112px)/.98 var(--serif);letter-spacing:-.065em;margin-bottom:26px;max-width:none}.flight-intro h1 em{color:#1267d7}.flight-intro>p:not(.kicker){font-size:14px;color:#425d81;line-height:1.65}.descent-arrow{display:block;font:30px var(--serif);margin-top:35px}
.flight-copy{position:absolute;left:max(56px,calc((100vw - 1280px)/2));bottom:15%;z-index:5;color:#f5f8fc;max-width:610px;opacity:0;pointer-events:none;text-shadow:0 3px 35px #06152f80}
.flight-copy>span{display:block;font-size:9px;letter-spacing:.17em;margin-bottom:17px;color:#c6dcf9}.flight-copy>p{font:400 clamp(34px,4.5vw,64px)/1.05 var(--serif);color:inherit;letter-spacing:-.045em;margin:0 0 13px}.flight-copy>small{display:block;font-size:13px;line-height:1.7;color:#e5edf9;max-width:430px}
.flight-bottom{position:absolute;left:40px;right:40px;bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:6;color:#081c38;font-size:9px;letter-spacing:.04em}.flight-disclosure{font-size:8px;letter-spacing:.08em}.flight-chapters{display:flex;gap:8px}.flight-chapters button{border:1px solid #395e8e45;border-radius:50px;min-height:35px;min-width:58px;padding:7px 13px;background:#ffffff36;backdrop-filter:blur(16px);font-size:10px;color:inherit;cursor:pointer;transition:background .2s,border-color .2s}.flight-chapters button:hover,.flight-chapters button[aria-current=true]{background:#f5f8fcba;border-color:#e4eefb}.flight-scroll{font-size:10px;min-width:112px;text-align:right}
.camera-journey.is-inside .flight-top,.camera-journey.is-inside .flight-bottom{color:#f5f8fc}.camera-journey.is-inside .flight-top>a,.camera-journey.is-inside .flight-chapters button{border-color:#ffffff45;background:#081c3838}.camera-journey.is-inside .flight-chapters button[aria-current=true]{background:#f5f8fce8;color:#081c38}
.camera-brand{display:block;z-index:35;width:320px;height:320px;padding:20px;background:#f5f8fc;border:1px solid #ffffffd9;border-radius:24px;box-shadow:0 20px 65px #020d2266;gap:0}.camera-brand>img.brand-lockup{display:block;width:100%;height:100%;object-fit:contain;border-radius:0;background:none;box-shadow:none}
html.camera-running header{opacity:0;pointer-events:none;box-shadow:none}html.camera-running .header-brand{pointer-events:none}
.camera-journey .progress-track{z-index:8}.camera-journey .progress-track div{background:#1267d7}
.static-camera .camera-journey{height:100svh;min-height:0}.static-camera .camera-journey .cinema-sticky{height:100%;min-height:0;position:relative}.static-camera .camera-sky{opacity:0}.static-camera .camera-vignette{opacity:1}.static-camera .camera-shot:first-child{opacity:1;transform:none}.static-camera .flight-intro{top:auto;bottom:130px;transform:none}.static-camera .flight-intro .kicker,.static-camera .flight-intro h1,.static-camera .flight-intro>p{color:#f5f8fc}.static-camera .flight-intro h1{font-size:60px}.static-camera .flight-intro>p,.static-camera .descent-arrow,.static-camera .flight-chapters,.static-camera .flight-scroll{display:none}.static-camera .flight-bottom,.static-camera .flight-top{color:#f5f8fc}.static-camera .camera-brand{display:none}
@supports(height:100dvh){.static-camera .camera-journey{height:100dvh}}
@media(max-width:900px){.flight-top{left:28px;right:28px;top:29px}.flight-intro,.flight-copy{left:32px}.flight-bottom{left:28px;right:28px}.flight-chapters{gap:5px}.flight-chapters button{font-size:9px;min-width:50px;padding:7px 10px}.flight-scroll{min-width:100px;font-size:9px}}
@media(max-width:680px){.camera-journey{--camera-travel:690svh}.camera-journey .cinema-sticky{min-height:0}.flight-top{top:25px;left:20px;right:20px;gap:18px;font-size:9px}.flight-top>span{max-width:190px}.flight-top i{font-size:7px;line-height:1.5}.flight-top>a{font-size:9px;white-space:nowrap;padding:8px 11px}.flight-intro{left:25px;right:20px;top:40%;max-width:none}.flight-intro .kicker{font-size:8px;max-width:260px;line-height:1.8}.flight-intro h1{font-size:clamp(54px,14vw,77px);margin-bottom:25px}.flight-intro>p:not(.kicker){font-size:12px}.descent-arrow{margin-top:30px}.flight-copy{left:24px;right:24px;bottom:24%;max-width:none}.flight-copy>span{font-size:8px;letter-spacing:.12em;margin-bottom:13px}.flight-copy>p{font-size:clamp(32px,9vw,45px);max-width:360px}.flight-copy>small{font-size:11px;max-width:310px;line-height:1.6}.flight-bottom{bottom:80px;left:20px;right:20px;flex-wrap:wrap;gap:10px}.flight-disclosure{order:3;flex-basis:100%;font-size:7px}.flight-chapters{gap:5px}.flight-chapters button{font-size:8px;min-width:44px;padding:8px;min-height:34px}.flight-scroll{font-size:8px;min-width:84px}.camera-brand{width:260px;height:260px;padding:16px;border-radius:21px}.static-camera .flight-intro{bottom:180px}.static-camera .flight-intro h1{font-size:48px}}
@media(max-width:380px){.flight-chapters button{min-width:39px;padding:7px}.flight-scroll{font-size:7px;min-width:76px}.flight-bottom{left:14px;right:14px}}
@media(prefers-reduced-motion:reduce){.camera-journey{height:100svh;min-height:0}.camera-journey .cinema-sticky{position:relative;height:100%}.camera-journey .flight-chapters{display:none}}
@media(prefers-reduced-motion:reduce){@supports(height:100dvh){.camera-journey{height:100dvh}}}
@media(max-height:600px){.flight-intro{top:27%}.flight-intro h1{font-size:clamp(38px,8vh,58px);margin-bottom:14px}.flight-intro .kicker{margin-bottom:12px}.flight-intro>p:not(.kicker){font-size:11px}.descent-arrow{margin-top:14px}.flight-copy{bottom:19%}.flight-copy>p{font-size:clamp(28px,7vh,42px)}.flight-copy>small{font-size:11px}.static-camera .flight-intro{top:auto;bottom:95px}.static-camera .flight-intro h1{font-size:38px}.camera-brand{width:230px;height:230px;padding:14px}}

