/* Full-frame media, spatial products and the shared studio footer. */
body[data-city-v2="true"] .city-film-v2.city-film-only{display:block;height:calc(100svh - var(--city-film-head,64px));min-height:0}
body[data-city-v2="true"] .city-film-only .city-film-stage{height:100%;min-height:0}
body[data-city-v2="true"] .city-film-only video{position:absolute;inset:0;object-fit:contain;width:100%;height:100%;opacity:1}
body[data-city-v2="true"] .city-film-only[data-state="loading"] video{opacity:0}
body[data-city-v2="true"] .city-film-only .city-film-stage::after{display:none}
.ij-journey[data-city-v2="true"]>.ij-introduction{display:none}
body[data-city-v2="true"] .city-film-v2{min-height:0;height:calc(100svh - var(--city-film-head,64px));grid-template-columns:minmax(0,35%) minmax(0,65%)}
body[data-city-v2="true"] .v2-opening-copy{padding:24px 0 24px clamp(24px,4vw,100px);gap:0}
body[data-city-v2="true"] .v2-opening-logo{width:min(100%,560px);max-height:38svh}
body[data-city-v2="true"] .v2-opening-kicker{margin-bottom:14px}
body[data-city-v2="true"] .v2-opening-line{margin-top:16px;font-size:clamp(1rem,1.4vw,1.8rem)}
body[data-city-v2="true"] .v2-opening-description{margin-top:16px}
body[data-city-v2="true"] .v2-opening-actions{margin-top:22px;gap:10px 20px}
body[data-city-v2="true"] .v2-opening-cue{margin-top:20px}
body[data-city-v2="true"] .city-film-v2 video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;max-width:none}
body[data-city-v2="true"] .city-film-stage{isolation:isolate;background:#08101a}
body[data-city-v2="true"] .city-film-stage::before{content:"";position:absolute;inset:-24px;z-index:0;background:linear-gradient(#07111aa8,#07111a77),var(--film-still) center/cover;filter:blur(28px);opacity:.6;pointer-events:none}
body[data-city-v2="true"] .city-film-v2 .city-film-stage::after{background:linear-gradient(90deg,#070c12,transparent 12%,transparent 92%,#070c1266);z-index:1}
body[data-city-v2="true"] .city-film-service-v3{display:grid;grid-template-columns:minmax(220px,29%) minmax(0,71%);height:calc(100svh - var(--city-film-head,64px));min-height:0;overflow:hidden}
.v3-service-intro{padding:clamp(22px,4vw,90px);padding-right:20px;align-self:center;z-index:2}
.v3-service-intro>p:first-child{font-size:.65rem;letter-spacing:.15em;color:#83dce4}
.v3-service-intro h2{font-size:clamp(30px,3.2vw,64px);font-weight:450;line-height:1.08;letter-spacing:-.045em;margin:22px 0}
.v3-service-intro>p:not(:first-child){color:#a5bcc8;line-height:1.6;font-size:clamp(.8rem,1vw,1rem);max-width:34ch}
.v3-service-intro a{display:inline-flex;align-items:center;min-height:44px;margin-top:15px;border-bottom:1px solid #64b6c5;color:#a4eceb;text-decoration:none;font-size:.8rem}
body[data-city-v2="true"] .city-film-service-v3 video{object-fit:contain;inset:0;width:100%;height:100%}
.curated-footer{position:relative;isolation:isolate;background:#071018;color:#ecf3ef;padding:clamp(48px,6vw,120px) clamp(24px,5vw,132px) 26px;border-top:1px solid #47737d;overflow:hidden;color-scheme:only dark}
.curated-footer::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 18% 0,#17475666,transparent 55%),linear-gradient(90deg,transparent 99%,#72d2dc0b 0) 0 0/8% 100%}
.cf-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:60px;border-bottom:1px solid #33505d}
.cf-eyebrow{color:#86d8df;font-size:.64rem;letter-spacing:.19em;margin:0 0 22px}
.cf-top h2{font-size:clamp(35px,4.5vw,86px);font-weight:420;line-height:1.08;letter-spacing:-.05em;margin:0}
.cf-top em{font-style:normal;color:#83dedf}
.cf-contact{display:flex;align-items:center;gap:30px;flex-shrink:0;text-decoration:none;color:#dcf8f3;padding:18px 0;border-bottom:1px solid #7ed5df;font-size:.85rem}
.cf-contact span{display:grid;place-items:center;border:1px solid #548c9a;border-radius:50%;width:44px;height:44px;font-size:24px;transition:transform .25s,background .25s}
.cf-contact:hover span{transform:rotate(45deg);background:#1e5060}
.cf-grid{display:grid;grid-template-columns:1.25fr 1fr .8fr 1.1fr;gap:clamp(24px,4vw,90px);padding:60px 0}
.cf-brand{display:block;max-width:245px;width:100%;line-height:0;margin-bottom:25px}.cf-brand svg{width:100%;height:auto;display:block}
.cf-studio p,.cf-connect p{color:#9db7c4;font-size:.86rem;line-height:1.8;margin:0 0 18px}.cf-location{font-size:.7rem!important;letter-spacing:.1em;text-transform:uppercase}
.cf-grid h3{font-size:.75rem;letter-spacing:.06em;color:#eaf6f2;font-weight:600;margin:0 0 20px}
.cf-grid nav a,.cf-connect>a{display:block;width:fit-content;text-decoration:none;color:#b6cdd4;font-size:.78rem;min-height:36px;line-height:1.6;padding:6px 0}
.cf-grid a:hover,.cf-bottom a:hover{color:#90f4ed;text-decoration:underline;text-underline-offset:5px}
.cf-connect p{font-size:.76rem;margin-top:20px}.cf-external{color:#8cd8db}
.cf-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:15px 32px;border-top:1px solid #304854;padding-top:25px;color:#92aeb9;font-size:.68rem}
.cf-bottom>a{min-height:36px;display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:#bed3d8}.cf-bottom>a:last-child{margin-left:auto}
.curated-footer a:focus-visible{outline:3px solid #a5fff1;outline-offset:6px}
body[data-city-v2="true"] .pw-feature-panel{perspective:1000px;isolation:isolate;background:radial-gradient(ellipse at 85% 45%,#25556a80,transparent 65%),#0c1c28;border:1px solid #487789;border-radius:6px 36px 6px 36px;box-shadow:0 30px 80px #0004}
body[data-city-v2="true"] .pw-mail-object{transform-style:preserve-3d;transform:rotateX(var(--product-ry,0deg)) rotateY(var(--product-rx,0deg));transition:transform .3s ease-out}
body[data-city-v2="true"] .pw-mail-orbit{border-color:#79e3ec99;box-shadow:0 0 35px #54d8eb22}
body[data-city-v2="true"] .pw-icon-plate{box-shadow:20px 30px 50px #0005,0 0 0 1px #a0e6ec55;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
body[data-city-v2="true"] .pw-mail-object[data-platform="android"] .pw-icon-plate{transform:rotateY(-22deg) rotateX(8deg) rotateZ(5deg) translateZ(20px)}
.pw-platforms button{border:1px solid #527f91;background:#0d2231;color:#b8d5df;font:inherit;padding:10px 18px;min-height:44px;border-radius:24px;cursor:pointer}
.pw-platforms button[aria-pressed="true"]{color:#08232e;background:#8ae5e6;border-color:#b1ffff;box-shadow:0 0 25px #72e5e32b}
.pw-platforms button:focus-visible{outline:3px solid #fff0ca;outline-offset:4px}
body[data-city-v2="true"] .pw-project{border:1px solid #a3c1bf;border-radius:5px 28px 5px 28px;overflow:hidden;transition:transform .35s,box-shadow .35s}
body[data-city-v2="true"] .pw-project:hover,body[data-city-v2="true"] .pw-project:focus-within{transform:translateY(-8px);box-shadow:0 22px 35px #163c4929}
body[data-city-v2="true"] .pw-project-art{perspective:800px;background:radial-gradient(ellipse at center,#a9dadd70,transparent 70%)}
.about-room{position:relative;background:#070c12;border-top:1px solid #294a58;border-bottom:1px solid #294a58}
.about-room-heading{padding:70px clamp(24px,5vw,132px) 35px;display:flex;align-items:flex-end;justify-content:space-between;gap:35px}
.about-room-heading h2{font-size:clamp(35px,5vw,76px);line-height:1.05;font-weight:450;letter-spacing:-.05em;margin:15px 0}
.about-room-heading p{color:#acc3ce;line-height:1.7;max-width:36ch;font-size:.85rem}
.about-room-stage{height:calc(100svh - var(--city-film-head,64px));min-height:280px;position:relative;background:#070c12}
.about-room-stage .city-film-stage{transform:perspective(1600px) rotateX(calc((1 - var(--about-room-progress,1))*8deg)) scale(calc(.72 + var(--about-room-progress,1)*.28));transform-origin:center center;border:1px solid #486d7d;box-shadow:0 20px 80px #0007;will-change:transform}
.about-room-stage video{width:100%;height:100%;object-fit:contain;background:#070c12}
.about-room-enhanced .about-room-track{height:158svh}
.about-room-enhanced .about-room-stage{position:sticky;top:var(--head,64px)}
.about-room-controls{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:24px clamp(24px,5vw,132px)}
.about-room-controls button,.about-room-controls a{min-height:44px;display:inline-flex;align-items:center;color:#a3eeed;font-size:.8rem;background:transparent;border:0;border-bottom:1px solid #5b9da9;cursor:pointer;padding:8px 0;text-decoration:none}
.about-room-stage .city-film-readiness{bottom:20px}
@media(min-width:701px) and (max-height:700px){body[data-city-v2="true"] .v2-opening-logo{max-height:29svh}body[data-city-v2="true"] .v2-opening-description,body[data-city-v2="true"] .v2-opening-cue{display:none}body[data-city-v2="true"] .v2-opening-actions{margin-top:16px}.v3-service-intro{padding-block:20px}.v3-service-intro>p:not(:first-child){display:none}}
@media(min-width:1800px){body[data-city-v2="true"] .v2-opening-logo{width:min(100%,670px);max-height:42svh}body[data-city-v2="true"] .city-film-v2{grid-template-columns:35% 65%}}
@media(max-width:900px){.cf-grid{grid-template-columns:1fr 1fr}.cf-top{align-items:flex-start;flex-direction:column}.v3-service-intro h2{font-size:34px}}
@media(max-width:700px){body[data-city-v2="true"] .city-film-v2{height:auto;min-height:0;display:flex}body[data-city-v2="true"] .v2-opening-copy{padding:30px 24px 24px}body[data-city-v2="true"] .v2-opening-logo{max-height:none;width:clamp(180px,55vw,285px)}body[data-city-v2="true"] .city-film-v2 .city-film-stage{height:55svh;min-height:280px}body[data-city-v2="true"] .city-film-v2 video{inset:0;width:100%;height:100%;object-fit:contain}body[data-city-v2="true"] .city-film-service-v3{grid-template-columns:1fr;height:calc(100svh - var(--city-film-head,64px));grid-template-rows:auto minmax(0,1fr)}.v3-service-intro{padding:22px 24px 6px}.v3-service-intro h2{font-size:30px;margin:10px 0}.v3-service-intro>p:not(:first-child),.v3-service-intro>a{display:none}.v3-service-intro>p:first-child{margin:0}.cf-top{padding-bottom:35px}.cf-grid{gap:40px 28px;padding-block:40px}.cf-studio,.cf-connect{grid-column:1/-1}.cf-connect{border-top:1px solid #345260;padding-top:28px}.cf-bottom>a:last-child{margin-left:0}.about-room-heading{padding-top:48px;display:block}.about-room-heading>p{margin-top:25px}.about-room-stage .city-film-stage{transform:scale(calc(.9 + var(--about-room-progress,1)*.1))}.about-room-enhanced .about-room-track{height:140svh}}
@media(prefers-reduced-motion:reduce){.about-room-stage .city-film-stage{will-change:auto;transform:none}body[data-city-v2="true"] :is(.pw-mail-object,.pw-icon-plate,.pw-project,.cf-contact span){transition:none;transform:none!important}}
html.fx-paused .pw-mail-object,html.fx-paused .pw-project{transform:none!important}
@media(forced-colors:active){.curated-footer,.about-room{background:Canvas;color:CanvasText}.cf-grid a,.cf-connect p,.cf-bottom,.cf-top em{color:CanvasText}.curated-footer::before{display:none}}

/* Playback controls stay with the pinned film instead of pulling it offscreen. */
.about-room-stage>.about-room-controls{position:absolute;z-index:5;bottom:20px;left:clamp(16px,3vw,60px);max-width:calc(100% - 32px);padding:8px 16px;gap:16px;background:#07131bed;border:1px solid #3c6879;border-radius:4px;box-sizing:border-box}
.about-room-stage>.about-room-controls button,.about-room-stage>.about-room-controls a{font-size:.7rem}
@media(max-width:600px){.about-room-stage>.about-room-controls{gap:8px 15px;padding:5px 12px;bottom:14px}.about-room-stage>.about-room-controls a:last-child{display:none}}

body[data-city-v2="true"] .city-film-stage video{position:relative;z-index:1;background:transparent}
body[data-city-v2="true"] .city-film-only video{position:absolute}

body[data-city-v2="true"] .city-film-v2.city-film-only .city-film-stage{height:100%;min-height:0}

/* The logo belongs to the film stage: it appears only after verified readiness. */
.film-logo-intro{display:none;position:absolute;inset:0;z-index:3;align-items:center;justify-content:center;background:#070c12;pointer-events:none}
.film-logo-intro svg{display:block;width:min(52vw,450px);height:auto;max-height:55svh}
.city-film-only[data-logo-intro="showing"] .film-logo-intro{display:flex;animation:film-logo-opening 1.6s cubic-bezier(.2,.7,.2,1) both}
.city-film-only[data-logo-intro="static"] .film-logo-intro{display:flex}
.film-scroll-cue{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);z-index:3;pointer-events:none;display:flex;align-items:center;gap:16px;font-size:8px;letter-spacing:.16em;color:#a0d9df;background:#07121ab5;padding:8px 12px;border-radius:20px;white-space:nowrap}
.film-scroll-cue b{font-size:20px;font-weight:300}
.city-film-only[data-logo-intro="loading"] .film-scroll-cue,.city-film-only[data-logo-intro="showing"] .film-scroll-cue{opacity:0}
@keyframes film-logo-opening{0%{opacity:0}18%,66%{opacity:1}100%{opacity:0}}
@media(max-width:700px){.film-logo-intro svg{width:min(72vw,320px)}.film-scroll-cue{bottom:24px}}
@media(prefers-reduced-motion:reduce){.film-logo-intro{animation:none!important}}
