/* Homepage scene only: logo-inspired colour waves, fixed architecture. */
.paragraph--type--first-screen-video.avion-light-ready > article { background-image:none !important; }
.paragraph--type--first-screen-video .avion-light-scene { position:absolute;inset:0;overflow:hidden;pointer-events:none;background:#000; }
.avion-light-stage { position:absolute;bottom:0;left:0;width:100%;aspect-ratio:16/9; }
.avion-light-depth { position:absolute;inset:0;transform:translate3d(var(--light-x,0px),var(--light-y,0px),0);transition:transform 550ms cubic-bezier(.22,1,.36,1); }
.avion-light-bars { position:absolute;inset:7% 2% 13%;display:grid;grid-template-columns:repeat(24,1fr);gap:clamp(12px,2.1vw,38px);align-items:end; }
.avion-light-bar { position:relative;display:block;height:100%;border-radius:24px 24px 0 0;transform-origin:50% 100%;background:rgb(var(--light-rgb));mask-image:linear-gradient(to top,transparent 0%,#0009 28%,#000e 57%,#0009 83%,transparent 100%);-webkit-mask-image:linear-gradient(to top,transparent 0%,#0009 28%,#000e 57%,#0009 83%,transparent 100%); }
.avion-light-shimmer { position:absolute;inset:0;border-radius:inherit;background:linear-gradient(12deg,#ed277b 16%,#bd39a4 65%,#ed6799);opacity:.4; }
.avion-light-halo { position:absolute;inset:24% 3% 0;background:radial-gradient(ellipse at 30% 70%,#2498c71c,transparent 58%),radial-gradient(ellipse at 76% 70%,#e6237924,transparent 60%); }
.avion-light-building { position:absolute;inset:0;width:100%;height:100%;object-fit:contain; }
@media(max-width:960px) {
 .paragraph--type--first-screen-video.avion-light-ready { height:max(670px,calc(100svh - 53px));min-height:670px; }
 .paragraph--type--first-screen-video.avion-light-ready .container-text { top:80px;bottom:calc(42vw + 24px);height:auto;padding:0 20px;display:flex;align-items:center; }
 .paragraph--type--first-screen-video.avion-light-ready .text { gap:24px;padding:0;width:100%;text-align:left; }
 .paragraph--type--first-screen-video.avion-light-ready h1 { font-size:clamp(26px,7.4vw,40px);line-height:1.14;margin:0;text-align:left; }
 .paragraph--type--first-screen-video.avion-light-ready .avion-hero-actions { margin-top:0;gap:10px; }
 .paragraph--type--first-screen-video.avion-light-ready .avion-hero-actions a { min-height:48px; }
 .avion-light-stage { width:180%;left:-40%; }
 .avion-light-depth { top:-42%;transform:none;transition:none; }
 .avion-light-bars { grid-template-columns:repeat(16,1fr);gap:clamp(12px,3vw,26px);inset:0 1% 13%; }
 .avion-light-bar { border-radius:18px 18px 0 0; }
}
@media(min-width:600px) and (max-width:960px) {
 .avion-light-stage { width:130%;left:-15%; }
 .paragraph--type--first-screen-video.avion-light-ready .container-text { padding:0 32px;bottom:calc(30.5vw + 24px); }
 .paragraph--type--first-screen-video.avion-light-ready h1 { max-width:660px; }
}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce) { .avion-light-depth { transform:none;transition:none; } }

/* All lights are one precisely registered layer with an independent switch. */
.avion-building-illumination { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;transition:opacity 550ms ease; }
/* Sun switch: checked means daylight; off reveals evening illumination. */
.avion-light-building { transition:filter 550ms ease; }
.avion-light-scene[data-lighting="on"] .avion-light-building { filter:brightness(.78); }
.paragraph--type--first-screen-video .avion-building-toggle { position:relative;z-index:1;top:auto;right:auto;bottom:auto;left:auto;flex:0 0 48px;display:flex;align-items:center;justify-content:center;width:48px;min-width:48px;height:48px;padding:0;border:1px solid #ffffff29;border-radius:50%;background:linear-gradient(145deg,#24252ae8,#101115ef);color:#a4a6ae;cursor:pointer;box-shadow:0 4px 16px #0003,inset 0 1px #ffffff0c;transition:color .3s,border-color .3s,background .3s; }
.avion-sun-icon { width:24px;height:24px;flex:none; }
.avion-sun-rays { opacity:.35;transition:opacity .3s; }
.avion-sun-off { opacity:.8;transition:opacity .3s; }
.avion-building-toggle[aria-checked="true"] { color:#ffe1a6;border-color:#ffe1a64d;background:linear-gradient(145deg,#3a3023e8,#191714ef); }
.avion-building-toggle[aria-checked="true"] .avion-sun-rays { opacity:1; }
.avion-building-toggle[aria-checked="true"] .avion-sun-off { opacity:0; }
.avion-building-toggle:hover { border-color:#ffe1a680; }
.avion-building-toggle:focus-visible { outline:2px solid #ffe1a6;outline-offset:4px; }
@media(max-width:960px) { .paragraph--type--first-screen-video .avion-building-toggle { position:relative;top:auto;right:auto;align-self:center;margin:0;height:44px;width:44px;min-width:44px;flex-basis:44px;pointer-events:auto; } }

@media(prefers-reduced-motion:reduce) { .avion-building-illumination,.avion-light-building,.avion-building-toggle,.avion-sun-rays,.avion-sun-off { transition:none; } }

.paragraph--type--first-screen-video .avion-hero-actions { align-items:center;flex-wrap:nowrap; }
@media(max-width:960px) {
 .paragraph--type--first-screen-video.avion-light-ready .text { transform:translateY(-56px); }
 .paragraph--type--first-screen-video .avion-hero-actions a { padding-left:12px;padding-right:12px;min-width:0; }
}
@media(max-width:360px) {
 .paragraph--type--first-screen-video.avion-light-ready .avion-hero-actions { gap:8px; }
 .paragraph--type--first-screen-video .avion-hero-actions a { padding-left:10px;padding-right:10px;gap:8px;font-size:13px; }
}

/* Day / night: dark architecture beneath the original registered lights. */
.avion-light-scene[data-lighting="on"] .avion-light-building { filter:brightness(.32) saturate(.72) contrast(1.12); }
.avion-light-scene[data-lighting="on"] .avion-building-illumination { filter:brightness(1.4) saturate(1.18) drop-shadow(0 0 3px #ffdda244); }
.avion-light-depth { opacity:1;transition:transform 550ms cubic-bezier(.22,1,.36,1),opacity 650ms ease; }
.avion-light-scene[data-lighting="on"] .avion-light-depth { opacity:.38; }
.avion-building-illumination { transition:opacity 650ms ease,filter 650ms ease; }
.paragraph--type--first-screen-video .avion-building-toggle { flex:0 0 92px;width:92px;min-width:92px;gap:7px;border-radius:24px;color:#ffe1a6;border-color:#ffe1a64d;background:linear-gradient(145deg,#3a3023e8,#191714ef); }
.paragraph--type--first-screen-video .avion-building-toggle[aria-checked="true"] { color:#d5e5ff;border-color:#9dbff778;background:linear-gradient(145deg,#26385ce8,#10182fef);box-shadow:0 4px 18px #0005,inset 0 1px #ffffff12; }
.avion-mode-icon { width:22px;height:22px;flex:none; }
.avion-mode-label { font:500 13px/1 sans-serif; }
@media(max-width:600px) { .paragraph--type--first-screen-video .avion-building-toggle { width:44px;min-width:44px;flex-basis:44px;gap:0; } .avion-mode-label { display:none; } }
@media(prefers-reduced-motion:reduce) { .avion-light-depth,.avion-building-illumination { transition:none; } }

/* Complete night render: each window, shopfront and vehicle light is lit.
   Keep a single opaque building per mode; don't stack old point-light masks. */
.avion-light-building { opacity:1;transition:opacity 650ms ease; }
.avion-light-scene[data-lighting="on"] .avion-light-building { opacity:0;filter:none; }
.avion-light-scene[data-lighting="on"] .avion-building-illumination { filter:none; }
.avion-building-illumination { object-fit:fill; }
@media(prefers-reduced-motion:reduce) { .avion-light-building { transition:none; } }

/* Icon-only circular control in the site's graphite / pink palette. */
.paragraph--type--first-screen-video .avion-building-toggle,
.paragraph--type--first-screen-video .avion-building-toggle[aria-checked="true"] {
 width:48px;min-width:48px;max-width:48px;height:48px;min-height:48px;
 flex:0 0 48px;aspect-ratio:1;border-radius:50%;padding:0;gap:0;
 color:#fff;border:1px solid #ffffff40;background:#18181c;
 box-shadow:none;transition:color .2s,border-color .2s,background .2s;
}
.paragraph--type--first-screen-video .avion-building-toggle:hover {
 color:#ed277b;border-color:#ed277b;background:#222226;
}
.paragraph--type--first-screen-video .avion-building-toggle:focus-visible {
 outline:2px solid #ed277b;outline-offset:4px;
}
.avion-mode-icon { width:22px;height:22px;display:block; }
@media(max-width:960px) {
 .paragraph--type--first-screen-video .avion-building-toggle,
 .paragraph--type--first-screen-video .avion-building-toggle[aria-checked="true"] {
  width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;flex-basis:44px;
 }
}
@media(prefers-reduced-motion:reduce) {
 .paragraph--type--first-screen-video .avion-building-toggle { transition:none; }
}

/* First paint and final frame share one server-rendered scene. The architecture
   stays width-scaled; only the independent light field follows viewport height. */
.paragraph--type--first-screen-video.avion-hero-fullheight {
 height:100vh;min-height:0;max-height:none;
 height:100dvh;
}
.avion-hero-fullheight > article { background-image:none !important; }
.avion-hero-fullheight .avion-light-stage { inset:0;width:100%;height:100%;aspect-ratio:auto; }
.avion-hero-fullheight .avion-light-depth { inset:0; }
.avion-hero-fullheight .avion-light-bars { inset:3% 2% 0; }
.avion-hero-fullheight .avion-light-architecture {
 position:absolute;bottom:0;left:50%;width:min(100%,177.7778dvh);aspect-ratio:16/9;transform:translateX(-50%);
}
.avion-hero-fullheight .avion-light-building,
.avion-hero-fullheight .avion-building-illumination { object-fit:contain; }
.avion-hero-fullheight .avion-light-scene:not([data-lighting="on"]) .avion-building-illumination { opacity:0; }
.avion-hero-fullheight .avion-light-scene[data-lighting="on"] .avion-building-illumination { opacity:1; }
.avion-hero-fullheight .avion-light-scene[data-lighting="off"] .avion-light-building { opacity:1; }
@media(max-width:960px) {
 .paragraph--type--first-screen-video.avion-hero-fullheight .container-text { top:80px;bottom:calc(42vw + 24px); }
 .avion-hero-fullheight .avion-light-architecture { width:min(180%,177.7778dvh); }
 .avion-hero-fullheight .avion-light-bars { inset:3% -40% 0; }
 .avion-hero-fullheight .avion-light-bar:nth-child(n+17) { display:none; }
}
@media(min-width:600px) and (max-width:960px) {
 .avion-hero-fullheight .avion-light-architecture { width:min(130%,177.7778dvh); }
 .avion-hero-fullheight .avion-light-bars { left:-15%;right:-15%; }
 .paragraph--type--first-screen-video.avion-hero-fullheight .container-text { bottom:calc(30.5vw + 24px); }
}
@media(max-width:960px) and (max-height:650px) {
 .paragraph--type--first-screen-video.avion-hero-fullheight .container-text { top:72px;bottom:36%;align-items:flex-start; }
 .paragraph--type--first-screen-video.avion-hero-fullheight .text { transform:none;gap:18px; }
 .paragraph--type--first-screen-video.avion-hero-fullheight h1 { font-size:clamp(24px,7vw,32px); }
}
@media(max-width:960px) and (orientation:landscape) and (max-height:500px) {
 .paragraph--type--first-screen-video.avion-hero-fullheight .container-text { top:76px;bottom:auto; }
 .paragraph--type--first-screen-video.avion-hero-fullheight .text { max-width:58%;gap:16px;transform:none; }
 .paragraph--type--first-screen-video.avion-hero-fullheight h1 { font-size:clamp(22px,3.4vw,29px); }
 .avion-hero-fullheight .avion-light-architecture { width:min(100%,177.7778dvh); }
}

/* Desktop architecture spans the viewport independently of its height. */
@media(min-width:961px) {
 .avion-hero-fullheight .avion-light-architecture { width:100%; }
}

/* Phone portrait: enlarge both registered building layers together.
   Keep the existing centered crop and both image layers aligned. */
@media(max-width:599px) and (orientation:portrait) {
 .avion-hero-fullheight .avion-light-architecture { width:220%; }
}
