main { overflow: clip; }
.scene { position: relative; isolation: isolate; overflow: hidden; width: 100%; }
.scene::before, .scene::after { position: absolute; z-index: -1; inset: 0; pointer-events: none; content: ""; }
.scene::before { background: linear-gradient(113deg, #071c45 0%, #0c2b5b 42%, #123c80 100%); }
.scene::after { background: linear-gradient(180deg, rgba(6,23,53,.15) 0%, rgba(5,18,44,.34) 48%, rgba(5,19,46,.88) 100%); }
.scene-media { position: absolute; z-index: -1; inset: 0; pointer-events: none; }
.scene-video, .scene-poster { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: var(--video-opacity, 1); pointer-events: none; }
.scene-poster[hidden] { display: none; }
.scene-video:not(.is-playing) { visibility: hidden; }
.scene-grain { position: absolute; z-index: -1; inset: 0; opacity: .14; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.scene-hero { height: var(--scene-one-height); --video-opacity: var(--scene-one-video-opacity); background: radial-gradient(ellipse at 74% 40%, rgba(32,112,212,.4), transparent 38%), radial-gradient(ellipse at 16% 73%, rgba(0,200,248,.14), transparent 33%), linear-gradient(116deg, #071c45 6%, #0c2e66 53%, #123c80 100%); }
.scene-hero::before { background: linear-gradient(90deg, rgba(5,19,46,.84) 0%, rgba(5,19,46,.42) 48%, rgba(5,19,46,.12) 100%); }
.scene-hero::after { background: linear-gradient(180deg, rgba(5,19,46,.16) 0%, transparent 36%, rgba(5,19,46,.3) 63%, #071c45 100%); }
/* Keep the homepage's top film fully opaque and show its original colours. */
body[data-page="home"] .scene-hero .scene-video,
body[data-page="home"] .scene-hero .scene-poster { opacity: 1; filter: none; mix-blend-mode: normal; }
body[data-page="home"] .scene-hero::before,
body[data-page="home"] .scene-hero::after,
body[data-page="home"] .scene-hero > .scene-grain { display: none; }

.hero-details { position: absolute; top: calc(var(--header-height) + 40px); left: clamp(32px, 10.4vw, 168px); z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 48px; align-items: center; gap: 14px 24px; width: max-content; max-width: calc(100% - 64px); pointer-events: none; }
.hero-details > .eyebrow { grid-column: 1 / -1; }
.hero-details .hero-caption { margin: 0; }
.hero-details .round-link { pointer-events: auto; }
.eyebrow { display: flex; align-items: center; gap: 11px; margin: 0; color: #b5cbe4; font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow-line { display: inline-block; width: 24px; height: 1px; background: var(--cyan); }
.eyebrow-index { margin-left: auto; color: rgba(215,230,247,.58); font-size: .64rem; letter-spacing: .12em; }
h1 em, h2 em { color: #94dff6; font-style: normal; font-weight: 400; }
.round-link { display: grid; width: 48px; height: 48px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(0,200,248,.58); border-radius: 50%; color: var(--cyan); font-size: 1.3rem; transition: background var(--duration), transform var(--duration); }
.round-link:hover { transform: translate(2px,2px); background: rgba(0,200,248,.13); }
.glass-panel { border: 1px solid var(--glass-stroke); background: var(--glass-fill); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.hero-caption { display: flex; align-items: center; gap: 12px; width: max-content; max-width: 100%; margin-top: 23px; padding: 10px 14px; border-radius: var(--radius-pill); color: #d8e6f4; font-size: .67rem; letter-spacing: .03em; }
.caption-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); }
.caption-rule { width: 26px; height: 1px; margin: 0 4px; background: rgba(255,255,255,.32); }
.hero-caption span:last-child { color: #9eb4d1; font-size: .6rem; letter-spacing: .12em; }
.hero-orbit { position: absolute; top: 100px; right: 12%; width: min(39vw, 530px); aspect-ratio: 1; border: 1px solid rgba(111,203,246,.16); border-radius: 50%; }
.orbit-one::before, .orbit-two::before { position: absolute; top: 12%; left: 18%; width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 24px 6px rgba(0,200,248,.38); content: ""; }
.orbit-two { top: 154px; right: 15%; width: min(32vw, 435px); border-color: rgba(111,203,246,.1); transform: rotate(-35deg) scaleY(.55); }
.orbit-two::before { top: auto; bottom: 10%; left: 68%; width: 5px; height: 5px; }
.hero-aside { position: absolute; top: 195px; right: clamp(26px, 5vw, 84px); display: flex; align-items: flex-end; gap: 17px; color: rgba(211,228,245,.56); font-size: .58rem; letter-spacing: .13em; line-height: 1.55; }
.hero-aside i { width: 1px; height: 57px; background: linear-gradient(var(--cyan), transparent); }
.hero-aside span:last-child { writing-mode: vertical-rl; }
.gallery-block { position: absolute; z-index: 2; right: clamp(30px, 9.8vw, 158px); bottom: 35px; left: clamp(30px, 10.4vw, 168px); }
.gallery-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 12px; }
.gallery-heading h2 { margin: 4px 0 0; font-family: var(--display); font-size: clamp(1.25rem, 2vw, 1.8rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.2; }
.gallery-heading .eyebrow { font-size: .58rem; }
.gallery-note { margin: 0 72px 3px 0; color: #a7bad4; font-size: .68rem; line-height: 1.45; }
.gallery-controls { position: absolute; top: 49px; right: 0; z-index: 4; display: flex; gap: 8px; }
.gallery-controls button { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(207,227,247,.28); border-radius: 50%; background: rgba(4,17,42,.35); color: var(--white); font-size: 1rem; transition: border-color 180ms ease, color 180ms ease, background 180ms ease; }
.gallery-controls button:not(:disabled):hover { border-color: var(--cyan); background: rgba(0,200,248,.14); color: var(--cyan); }
.gallery-controls button:disabled { opacity: .35; cursor: default; }
.gallery-track { display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-behavior: smooth; scrollbar-width: none; }
.gallery-track::-webkit-scrollbar { display: none; }
.video-track { padding: 2px 2px 8px; }
.media-card { position: relative; display: block; min-width: 0; flex: 0 0 clamp(260px, 22vw, 340px); overflow: hidden; border: 1px solid rgba(220,237,251,.18); border-radius: var(--radius-card); background: var(--glass-fill); text-align: left; }
.video-card { height: 116px; }
.media-visual { position: absolute; inset: 0; overflow: hidden; background: radial-gradient(ellipse at 65% 45%, var(--tone-b, rgba(0,200,248,.72)), transparent 32%), linear-gradient(128deg, var(--tone-a, #163c77), #081835 75%); }
.media-visual::before { position: absolute; inset: -22%; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; transform: rotate(-24deg) scaleX(.55); content: ""; }
.media-visual::after { position: absolute; right: 15%; bottom: -48%; width: 58%; aspect-ratio: 1; border: 1px solid rgba(178,228,251,.33); border-radius: 50%; box-shadow: 0 0 0 16px rgba(0,200,248,.03), 0 0 0 35px rgba(0,200,248,.025); content: ""; }
.media-card:nth-child(3n + 2) .media-visual::before { transform: rotate(38deg) scaleX(.35); }
.media-card:nth-child(3n) .media-visual::after { right: 38%; bottom: -72%; width: 84%; }
.video-card .media-visual { transition: transform 650ms var(--ease-out), filter 350ms ease; }
.video-card:hover .media-visual { transform: scale(1.055); filter: brightness(1.16); }
.card-play { position: absolute; top: 14px; left: 15px; display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; background: rgba(5,19,46,.32); color: white; font-size: .68rem; }
.card-number { position: absolute; top: 14px; right: 15px; color: rgba(240,248,255,.75); font-size: .62rem; letter-spacing: .14em; }
.card-caption { position: absolute; right: 12px; bottom: 10px; left: 14px; color: var(--white); text-shadow: 0 2px 8px rgba(0,0,0,.4); }
.card-caption strong { display: block; font-family: var(--display); font-size: .81rem; font-weight: 600; }
.card-caption span { color: #d2e3f2; font-size: .63rem; }
.scene-index { position: absolute; z-index: 3; right: clamp(25px, 4vw, 64px); bottom: 36px; display: flex; gap: 8px; color: rgba(213,229,245,.76); font-size: .62rem; letter-spacing: .13em; }
.scene-index span { color: var(--cyan); }

.scene-story { height: var(--scene-two-height); --video-opacity: var(--scene-two-video-opacity); background: radial-gradient(ellipse at 76% 18%, rgba(21,101,171,.38), transparent 36%), linear-gradient(115deg, #0b2954 0%, #123d77 50%, #09204b 100%); }
.scene-story::after { background: linear-gradient(90deg, rgba(5,20,47,.18), rgba(5,20,47,.1) 54%, rgba(5,20,47,.34)), linear-gradient(180deg, rgba(7,28,69,.15), transparent 40%, rgba(5,20,47,.82)); }
.scene-light { position: absolute; z-index: -1; width: 410px; height: 410px; border-radius: 50%; filter: blur(60px); opacity: .28; }
.scene-light-a { top: -220px; right: 16%; background: #00c8f8; }
.story-layout { position: absolute; top: 108px; right: clamp(30px, 10.4vw, 168px); left: clamp(30px, 10.4vw, 168px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, .7fr); gap: 7vw; align-items: center; }
.story-copy { max-width: 610px; }
.story-copy :is(h1, h2), .feature-copy h2, .close-content h2 { margin: 15px 0 12px; font-family: var(--display); font-size: clamp(2rem, 4.1vw, 3.75rem); font-weight: 500; letter-spacing: -.07em; line-height: 1.05; }
.story-copy > p:not(.eyebrow), .feature-copy > p:not(.eyebrow), .close-content > p:not(.eyebrow) { max-width: 505px; margin: 0; color: #c4d4e8; font-size: .91rem; line-height: 1.65; }
.text-link { display: inline-flex; align-items: center; gap: 14px; margin-top: 17px; color: var(--white); font-size: .8rem; }
.text-link span, .cta-link span { color: var(--cyan); transition: transform 180ms ease; }
.text-link:hover span, .cta-link:hover span { transform: translate(3px,-3px); }
.story-art { position: relative; width: min(100%, 340px); justify-self: center; }
.art-frame { position: relative; height: 205px; overflow: hidden; border: 1px solid rgba(207,230,250,.31); background: linear-gradient(138deg,rgba(0,200,248,.18),rgba(17,48,93,.35) 47%,rgba(116,101,245,.18)), radial-gradient(ellipse at 52% 55%,#2878b1 0%,#123567 38%,#071c45 78%); }
.art-frame::before { position: absolute; inset: -24%; border: 1px solid rgba(188,233,251,.34); border-radius: 50%; transform: rotate(31deg) scaleX(.45); content: ""; }
.art-frame::after { position: absolute; top: 16%; right: 10%; width: 68%; aspect-ratio: 1; border: 1px solid rgba(0,200,248,.4); border-radius: 50%; box-shadow: 0 0 45px rgba(0,200,248,.12), inset 0 0 40px rgba(0,200,248,.12); content: ""; }
.art-sun { position: absolute; top: 20%; left: 42%; z-index: 1; width: 100px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 35%,rgba(166,240,255,.72),rgba(0,200,248,.16) 60%,transparent 72%); }
.art-line { position: absolute; z-index: 2; width: 145%; height: 1px; transform-origin: left; background: linear-gradient(90deg,transparent,rgba(211,244,255,.55),transparent); }
.art-line-1 { top: 64%; left: -9%; transform: rotate(-19deg); }.art-line-2 { top: 83%; left: -12%; transform: rotate(-10deg); opacity: .55; }
.art-annotation { position: absolute; z-index: 3; top: 13px; left: 15px; color: rgba(230,245,255,.72); font-size: .5rem; letter-spacing: .13em; line-height: 1.65; }
.art-number { position: absolute; right: 14px; bottom: 3px; z-index: 3; color: rgba(240,249,255,.72); font-family: var(--display); font-size: 3.4rem; font-weight: 300; }
.art-caption { margin: 7px 0 0; color: rgba(211,228,245,.69); font-size: .62rem; letter-spacing: .04em; }
.image-gallery-wrap { position: absolute; right: clamp(30px, 10.4vw, 168px); bottom: 20px; left: clamp(30px, 10.4vw, 168px); }
.compact-heading { margin-bottom: 8px; }.compact-heading h2 { font-size: 1.28rem; }.compact-heading .eyebrow { font-size: .56rem; }
.image-track { padding: 0 2px 2px; }
.image-card { height: 104px; flex-basis: 280px; }
.image-card .media-visual { background: radial-gradient(ellipse at 25% 80%,var(--tone-b,#00c8f8),transparent 30%), linear-gradient(130deg,var(--tone-a,#163c77),#081835 75%); }
.image-card .card-caption { bottom: 9px; }.image-card .card-caption strong { font-size: .76rem; }
.image-card .media-visual::before { inset: -42%; transform: rotate(14deg) scaleX(.28); }
.image-card:nth-child(2n) .media-visual { background: radial-gradient(ellipse at 72% 25%,var(--tone-b,#7465f5),transparent 29%), linear-gradient(145deg,var(--tone-a,#163c77),#081835 78%); }

.scene-feature { height: var(--scene-three-height); --video-opacity: var(--scene-three-video-opacity); background: radial-gradient(ellipse at 66% 38%, rgba(30,105,182,.31), transparent 35%), linear-gradient(120deg, #061735 0%, #0a2656 54%, #0e3471 100%); }
.scene-feature::after { background: linear-gradient(90deg, rgba(3,14,34,.5), rgba(3,14,34,.17) 58%, rgba(3,14,34,.14)), linear-gradient(180deg, rgba(5,19,46,.15), rgba(5,19,46,.1) 42%, #071c45 100%); }
.feature-halo { position: absolute; top: 3%; right: 4%; width: min(65vw, 830px); aspect-ratio: 1; border: 1px solid rgba(0,200,248,.13); border-radius: 50%; box-shadow: inset 0 0 130px rgba(0,200,248,.04), 0 0 80px rgba(0,200,248,.04); }
.feature-halo::before, .feature-halo::after { position: absolute; inset: 12%; border: 1px solid rgba(139,204,245,.11); border-radius: 50%; content: ""; }
.feature-halo::after { inset: 25%; border-color: rgba(139,204,245,.1); }
.feature-layout { position: absolute; top: clamp(160px, 23vh, 220px); right: clamp(36px, 12vw, 192px); left: clamp(32px, 10.4vw, 168px); display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.feature-copy { max-width: 570px; }
.feature-copy h2 { font-size: clamp(3.2rem, 6.7vw, 6.5rem); line-height: .95; }
.feature-copy h2 em { color: #92dbf3; }
.feature-copy > p:not(.eyebrow) { max-width: 430px; }
.feature-mark { position: relative; display: grid; width: clamp(190px, 28vw, 400px); aspect-ratio: 1; flex: 0 0 auto; place-items: center; border: 1px solid rgba(162,226,250,.21); border-radius: 50%; background: radial-gradient(circle, rgba(0,200,248,.14),transparent 64%); }
.feature-mark::before, .feature-mark::after { position: absolute; inset: 10%; border: 1px solid rgba(162,226,250,.15); border-radius: 50%; content: ""; }
.feature-mark::after { inset: 24%; border-color: rgba(162,226,250,.12); }
.feature-mark span { color: rgba(210,240,255,.56); font-family: var(--display); font-size: clamp(7rem, 16vw, 15rem); font-weight: 400; letter-spacing: -.14em; line-height: 1; }
.feature-mark i { position: absolute; top: 17%; right: 20%; width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 23px 5px rgba(0,200,248,.5); }
.feature-mark b { position: absolute; right: 3%; bottom: 17%; color: rgba(210,230,246,.58); font-size: .56rem; font-weight: 500; letter-spacing: .18em; }
.feature-gallery-block { bottom: 38px; }
.scene-close { height: var(--scene-four-height); --video-opacity: var(--scene-four-video-opacity); background: radial-gradient(ellipse at 65% 60%, rgba(15,77,145,.65), transparent 45%), linear-gradient(115deg, #071c45, #0d3471); }
.scene-close::after { background: linear-gradient(90deg, rgba(3,13,31,.45), rgba(3,13,31,.1) 58%, rgba(3,13,31,.2)), linear-gradient(180deg, rgba(4,18,44,.2), rgba(4,18,44,.17) 50%, rgba(4,18,44,.54)); }
.close-grid { position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(196,225,249,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(196,225,249,.11) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg,transparent,#000 38%,#000 85%,transparent); }
.close-content { position: absolute; top: 50%; left: clamp(32px, 10.4vw, 168px); width: min(650px, 68vw); transform: translateY(-50%); }
.close-content h2 { margin-top: 16px; font-size: clamp(3.4rem, 7.3vw, 7rem); line-height: .91; }
.close-content.reveal { transform: translateY(calc(-50% + 18px)); }
.close-content.reveal.is-visible { transform: translateY(-50%); }
.close-content > p:not(.eyebrow) { max-width: 385px; }
.cta-link { display: inline-flex; align-items: center; gap: 28px; margin-top: 23px; padding: 13px 18px; border: 1px solid rgba(0,200,248,.55); border-radius: var(--radius-pill); background: rgba(8,24,55,.5); font-size: .82rem; transition: background 180ms ease; }
.cta-link:hover { background: rgba(0,200,248,.12); }
.closing-stamp { position: absolute; right: clamp(40px, 13vw, 210px); bottom: 60px; display: grid; width: 155px; height: 155px; align-content: center; justify-items: center; gap: 4px; border: 1px solid rgba(177,222,247,.25); border-radius: 50%; color: rgba(205,228,245,.76); font-size: .54rem; letter-spacing: .2em; transform: rotate(-13deg); }
.closing-stamp b { color: var(--cyan); font-size: 1.2rem; font-weight: 400; }
.closing-stamp small { position: absolute; bottom: -22px; white-space: nowrap; color: rgba(205,228,245,.56); font-size: .48rem; letter-spacing: .12em; }

.wireframe-main { position: relative; display: grid; min-height: 100svh; align-items: center; padding: calc(var(--header-height) + 70px) clamp(28px, 12vw, 190px) 90px; background: radial-gradient(ellipse at 82% 34%,rgba(0,200,248,.17),transparent 29%), radial-gradient(ellipse at 63% 70%,rgba(116,101,245,.15),transparent 34%), linear-gradient(118deg,#071c45,#0b2a5b 58%,#102e65); }
.wireframe-main::before { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,rgba(5,18,43,.5),transparent 80%), linear-gradient(0deg,#071c45 0%,transparent 32%,rgba(5,19,46,.17)); content: ""; }
.wireframe-content { position: relative; z-index: 1; width: min(100%, 760px); }
.wireframe-content > .eyebrow { max-width: 590px; }
.wireframe-content h1 { margin: 22px 0 14px; font-family: var(--display); font-size: clamp(4rem, 10vw, 8rem); font-weight: 500; letter-spacing: -.085em; line-height: .95; }
.wireframe-content h1 span { color: var(--cyan); }
.wireframe-lead { max-width: 550px; margin: 0; color: #ccdaec; font-size: clamp(1.1rem, 2vw, 1.4rem); }
.wireframe-note { display: flex; align-items: center; gap: 17px; max-width: 620px; margin-top: 48px; padding: 19px 21px; border: 1px solid var(--glass-stroke); background: var(--glass-fill); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.wireframe-note[hidden] { display: none; }
.note-icon { color: var(--cyan); font-size: 1.3rem; }
.wireframe-note strong { font-family: var(--display); font-size: .86rem; font-weight: 600; }
.wireframe-note p { margin: 3px 0 0; color: #b7c8de; font-size: .82rem; }
.note-number { margin-left: auto; color: rgba(203,224,242,.5); font-size: .62rem; letter-spacing: .12em; white-space: nowrap; }
.wireframe-content .text-link { margin-top: 24px; }
.wireframe-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 34px; }
.wireframe-detail { min-width: 0; padding: 14px 14px 12px; border-top: 1px solid rgba(147,222,247,.47); background: rgba(8,24,55,.38); }
.detail-number { color: var(--cyan); font-size: .59rem; letter-spacing: .14em; }
.wireframe-detail h2 { margin: 8px 0 5px; font-family: var(--display); font-size: .9rem; font-weight: 600; letter-spacing: -.025em; }
.wireframe-detail p { margin: 0; color: #b7c8de; font-size: .73rem; line-height: 1.55; }
.interior-galleries { position: relative; overflow: hidden; padding: 62px clamp(28px, 12vw, 190px) 72px; border-top: 1px solid rgba(207,227,247,.13); background: radial-gradient(ellipse at 78% 12%,rgba(0,200,248,.1),transparent 35%), linear-gradient(120deg,#071c45,#0a2857 60%,#0d2f66); }
.interior-gallery { position: relative; max-width: var(--content-width); margin: 0 auto; }
.interior-gallery + .interior-gallery { margin-top: 46px; }
.interior-gallery .gallery-heading { padding-right: 88px; }
.interior-gallery .gallery-heading h2 { margin-top: 6px; font-size: clamp(1.35rem, 2.2vw, 1.9rem); }
.interior-gallery .gallery-controls { top: 43px; }
.interior-gallery .gallery-note { margin-right: 0; }
.interior-gallery .media-card { flex-basis: clamp(250px, 25vw, 340px); }
.interior-gallery .video-card { height: 150px; }
.interior-gallery .image-card { height: 120px; }
.wireframe-orbit { position: absolute; top: 50%; right: -9%; width: min(54vw, 730px); aspect-ratio: 1; border: 1px solid rgba(148,220,248,.1); border-radius: 50%; transform: translateY(-50%); }
.wireframe-orbit::before, .wireframe-orbit::after { position: absolute; inset: 12%; border: 1px solid rgba(148,220,248,.1); border-radius: 50%; content: ""; }
.wireframe-orbit::after { inset: 27%; border-color: rgba(148,220,248,.09); }
.wireframe-coordinate { position: absolute; right: clamp(28px, 5vw, 78px); bottom: 38px; color: rgba(210,230,247,.48); font-size: .57rem; letter-spacing: .16em; line-height: 1.8; text-align: right; }
@media (max-width: 1000px) {
  .hero-details { left: 8vw; }.gallery-block, .story-layout, .image-gallery-wrap { right: 8vw; left: 8vw; }
  .feature-layout { right: 9vw; left: 8vw; }.gallery-note { margin-right: 64px; }
  .story-layout { gap: 4vw; }.story-art { width: 270px; }
}
@media (max-width: 760px) {
  :root { --scene-one-height: auto; --scene-two-height: auto; --scene-three-height: auto; --scene-four-height: auto; }
  .scene-hero { min-height: 930px; padding: 1px 0 25px; }
  .hero-details { top: calc(var(--header-height) + 30px); left: 24px; right: 24px; width: auto; max-width: none; gap: 12px; }
  .hero-caption { flex-wrap: wrap; gap: 6px 8px; font-size: .59rem; }.hero-caption span:last-child { font-size: .52rem; }
  .hero-aside { top: 126px; right: 20px; gap: 10px; font-size: .48rem; }.hero-aside span:first-child { display: none; }
  .hero-orbit { top: 115px; right: -30%; width: 90vw; }.orbit-two { top: 170px; right: -15%; width: 75vw; }
  .gallery-block { position: relative; right: auto; bottom: auto; left: auto; margin: 68px 0 0 24px; }
  .hero-gallery-block { position: absolute; top: auto; right: 0; bottom: 52px; left: 24px; margin: 0; }
  .gallery-heading { padding-right: 24px; }.gallery-note { display: none; }
  .gallery-controls { top: 42px; right: 20px; }.video-card { flex-basis: 76vw; height: 150px; }.media-card { flex-basis: 76vw; }
  .scene-index { right: 22px; bottom: 18px; font-size: .55rem; }
  .scene-story { min-height: 900px; padding: 1px 24px 28px; }
  .story-layout { position: relative; top: auto; right: auto; left: auto; grid-template-columns: 1fr; gap: 26px; margin-top: 100px; }
  .story-copy :is(h1, h2) { font-size: clamp(2.2rem, 9.2vw, 3.5rem); }
  .story-copy > p:not(.eyebrow) { font-size: .86rem; }
  .story-art { width: min(100%, 410px); justify-self: stretch; }.art-frame { height: 170px; }
  .image-gallery-wrap { right: auto; bottom: 50px; left: 24px; width: calc(100% - 24px); }
  .compact-heading h2 { max-width: 245px; font-size: 1.12rem; }.image-card { height: 102px; flex-basis: 66vw; }
  .scene-feature { min-height: 930px; padding: 1px 24px 24px; }
  .feature-layout { position: relative; top: auto; right: auto; left: auto; align-items: flex-start; margin-top: 140px; }
  .feature-copy { position: relative; z-index: 2; }.feature-copy .eyebrow { flex-wrap: wrap; }.feature-copy .eyebrow-index { display: none; }
  .feature-copy h2 { font-size: clamp(3.7rem, 14vw, 5.7rem); }
  .feature-mark { position: absolute; top: 152px; right: -20px; width: 180px; opacity: .58; }
  .feature-mark span { font-size: 7rem; }
  .feature-gallery-block { right: auto; bottom: auto; left: auto; margin-top: 135px; }
  .feature-gallery-block .gallery-heading { padding-right: 24px; }
  .scene-close { min-height: 620px; padding: 1px 24px; }
  .close-content { top: 48%; left: 24px; width: calc(100% - 48px); }
  .close-content h2 { font-size: clamp(3.5rem, 15vw, 5.8rem); }
  .closing-stamp { right: 34px; bottom: 46px; width: 112px; height: 112px; font-size: .46rem; }.closing-stamp small { font-size: .4rem; }
  .wireframe-main { min-height: 100svh; padding: calc(var(--header-height) + 55px) 24px 70px; }
  .wireframe-content h1 { font-size: clamp(4rem, 15vw, 6rem); }
  .wireframe-note { align-items: flex-start; gap: 12px; margin-top: 35px; padding: 16px; }.wireframe-note p { font-size: .76rem; }.note-number { display: none; }
  .wireframe-details { grid-template-columns: 1fr; gap: 7px; margin-top: 28px; }
  .wireframe-detail { padding: 11px 13px; }.wireframe-detail h2 { margin: 4px 0 3px; }.wireframe-detail p { font-size: .72rem; }
  .interior-galleries { padding: 46px 0 56px; }
  .interior-gallery { margin-left: 24px; }
  .interior-gallery + .interior-gallery { margin-top: 38px; }
  .interior-gallery .gallery-heading { padding-right: 20px; }
  .interior-gallery .gallery-controls { right: 20px; }
  .interior-gallery .gallery-note { display: none; }
  .interior-gallery .video-card { height: 145px; }.interior-gallery .image-card { height: 110px; }
  .wireframe-orbit { right: -52%; width: 100vw; opacity: .65; }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-track { scroll-behavior: auto; }
}

/* Let story copy and its gallery determine height instead of overlapping. */
.scene-story { height: auto; min-height: var(--scene-two-height); padding: 108px clamp(30px, 10.4vw, 168px) 20px; }
.scene-story .story-layout { position: relative; inset: auto; }
.scene-story .image-gallery-wrap { position: relative; inset: auto; margin-top: 32px; margin-bottom: 20px; }

/* A full-frame introduction on phones/tablets; desktop retains cover framing. */
@media (max-width: 1050px) {
  body[data-page="home"] .scene-hero { height: auto; min-height: 0; padding: calc(var(--header-height) + 150px) 0 60px; }
  body[data-page="home"] .scene-hero .scene-media { position: relative; inset: auto; width: 100%; aspect-ratio: 1844 / 1124; }
  body[data-page="home"] .scene-hero .scene-video,
  body[data-page="home"] .scene-hero .scene-poster { object-fit: contain; }
  body[data-page="home"] .hero-gallery-block { position: relative; inset: auto; margin: 32px 0 0 24px; }
  body[data-page="home"] .hero-gallery-block .gallery-controls { right: 20px; }
  .gallery-controls, .interior-gallery .gallery-controls { top: 8px; }
  .gallery-block .gallery-heading, .image-gallery-wrap .gallery-heading,
  .interior-gallery .gallery-heading { padding-right: 112px; }
}
@media (max-width: 760px) {
  .scene-story { min-height: 900px; padding: 1px 24px 28px; }
  .scene-story .image-gallery-wrap { width: calc(100% + 24px); margin-top: 74px; }
  .scene:not(.scene-hero) .scene-media { bottom: auto; aspect-ratio: 4 / 3; }
  .scene-story::after { background: linear-gradient(180deg, rgba(5,20,47,.6), rgba(5,20,47,.4) 32%, rgba(5,20,47,.82)); }
}
@media (min-width: 761px) and (max-width: 1050px) {
  /* Tablet copy can exceed the original fixed 500px story section. */
  .scene-story { height: auto; padding: 1px 8vw 32px; }
  .scene-story .story-layout { position: relative; inset: auto; margin-top: 76px; }
  .scene-story .image-gallery-wrap { position: relative; inset: auto; margin-top: 32px; margin-bottom: 20px; }
  .scene-story::after { background: linear-gradient(180deg, rgba(5,20,47,.6), rgba(5,20,47,.4) 32%, rgba(5,20,47,.82)); }
}

/* Business content: readable copy within the existing visual system. */
.feature-copy { align-self: flex-start; }
.home-service-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 30px 0 0; }
.home-service-list a { min-width: 0; padding: 16px; border-top: 1px solid var(--glass-stroke); background: rgba(8,24,55,.55); }
.home-service-list strong { display: block; font-family: var(--display); font-size: .9rem; font-weight: 600; }
.home-service-list strong span { color: var(--cyan); }
.home-service-list a > span { display: block; margin-top: 6px; color: #c4d4e8; font-size: .81rem; line-height: 1.6; }
.home-service-list a:hover { border-color: var(--cyan); }
.wireframe-content { width: min(100%, 980px); }
.wireframe-content h1 { font-size: clamp(3rem, 7vw, 6.2rem); overflow-wrap: anywhere; }
.wireframe-detail { scroll-margin-top: calc(var(--header-height) + 25px); }
.wireframe-detail h2 { font-size: 1rem; line-height: 1.3; }
.wireframe-detail p { font-size: .88rem; line-height: 1.65; }
.delivery-process { margin-top: 38px; scroll-margin-top: calc(var(--header-height) + 24px); }
.delivery-process h2 { font-family: var(--display); font-size: clamp(1.45rem, 3vw, 2rem); font-weight: 500; letter-spacing: -.035em; }
.delivery-process ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 26px; margin: 20px 0; padding-left: 22px; }
.delivery-process li::marker { color: var(--cyan); }
.delivery-process strong, .delivery-process li span { display: block; }
.delivery-process strong { font-size: .9rem; }
.delivery-process li span, .delivery-process > p:last-child { color: #c4d4e8; font-size: .86rem; line-height: 1.65; }
.enquiry-status { max-width: 640px; margin: 24px 0; padding: 16px; border-left: 2px solid var(--cyan); background: var(--glass-fill); color: #d5e4f4; font-size: .9rem; }
.enquiry-status strong { display: block; color: var(--white); }
.enquiry-status a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
@media (max-width: 1050px) { .home-service-list { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-inline: 0; } }
@media (max-width: 760px) { .home-service-list { grid-template-columns: 1fr; margin-inline: 0; } .delivery-process ol { grid-template-columns: 1fr; } .wireframe-content h1 { font-size: clamp(2.8rem, 12vw, 4.8rem); } }
