/* The Moving Coastal Editorial: final signature composition, cinematic prologue, and scroll-responsive chapter choreography. */
:root { --finale-ease: cubic-bezier(.16,1,.3,1); }
.prelude-active { overflow: hidden; }
.verano-prelude { position: fixed; z-index: 120; inset: 0; display: grid; place-content: center; overflow: hidden; isolation: isolate; pointer-events: none; color: var(--ivory); text-align: center; opacity: 0; visibility: hidden; transition: opacity .72s var(--finale-ease), visibility .72s; background: #032f3d; }
.prelude-active .verano-prelude { visibility: visible; opacity: 1; }
.verano-prelude.exit { opacity: 0; }
.prelude-water { position: absolute; inset: -35%; z-index: -2; background: radial-gradient(circle at 45% 48%,#3c9cab 0 2%,transparent 2.3%),repeating-radial-gradient(ellipse at 46% 51%,rgba(144,215,217,.23) 0 1px,transparent 2px 34px),linear-gradient(138deg,#022b39,#075164 55%,#093646); animation: preludeTide 2.2s var(--finale-ease) both; }
.prelude-sun { position: absolute; z-index: -1; width: min(49vw,580px); aspect-ratio: 1; border: 1px solid rgba(255,251,244,.38); border-radius: 50%; box-shadow: 0 0 0 22px rgba(255,251,244,.06),0 0 0 72px rgba(255,251,244,.025); animation: preludeSun 1.8s .08s var(--finale-ease) both; }
.prelude-tide { position: absolute; left: -12%; right: -12%; top: 53%; height: 1px; background: rgba(255,251,244,.58); transform: rotate(-9deg) scaleX(0); transform-origin: left; animation: preludeLine 1.25s .22s var(--finale-ease) both; }
.verano-prelude p { margin: 0 0 9px; font: 800 10px var(--sans); letter-spacing: .38em; transform: translateY(19px); opacity: 0; animation: preludeType .6s .38s var(--finale-ease) forwards; }
.verano-prelude strong { font: clamp(36px,5vw,73px) var(--serif); letter-spacing: -.05em; transform: translateY(27px); opacity: 0; animation: preludeType .72s .52s var(--finale-ease) forwards; }

.chapter-orbit { position: fixed; z-index: 70; top: 50%; right: 21px; display: grid; grid-template-columns: 1fr; justify-items: center; width: 56px; color: var(--ivory); transform: translateY(-50%); mix-blend-mode: difference; pointer-events: none; opacity: 0; transition: opacity .55s var(--finale-ease); }
.chapter-orbit.visible { opacity: 1; }.orbit-label,.orbit-title { font: 800 6px var(--sans); letter-spacing: .15em; text-align: center; white-space: nowrap; }.orbit-number { margin: 4px 0 -2px; font: 20px var(--serif); }.chapter-orbit svg { width:44px; transform: rotate(-90deg); }.chapter-orbit circle { fill:none; stroke: rgba(255,251,244,.38); stroke-width: 1; }.chapter-orbit .orbit-progress { stroke: #ee8060; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 113.1; stroke-dashoffset: 113.1; transition: stroke-dashoffset .15s linear; }.orbit-title { width: 82px; margin-top: 2px; }

.hero { --hero-x: 0px; --hero-y: 0px; }.hero-atlas { position: absolute; z-index: 3; top: 29%; right: 6.2%; display: grid; grid-template-columns: 1fr auto; gap: 10px 17px; width: 205px; padding: 14px 15px; border: 1px solid rgba(255,251,244,.32); color: rgba(255,251,244,.85); transform: translate3d(var(--hero-x),var(--hero-y),0); transition: transform .28s var(--finale-ease); backdrop-filter: blur(2px); font: 800 7px var(--sans); letter-spacing: .15em; }.hero-atlas i { grid-column: 1 / -1; width: 100%; height: 1px; background: rgba(255,251,244,.45); position: relative; overflow: hidden; }.hero-atlas i::after { content:""; position:absolute; inset:0; background:var(--coral); transform:translateX(-100%); animation: atlasRun 3s 1.4s linear infinite; }.hero-atlas b { grid-column: 1 / -1; color: var(--aqua); font-size: 7px; }.hero::after { content:""; position:absolute; z-index:2; right:-21vw; bottom:-28vw; width:56vw; height:56vw; border:1px solid rgba(188,231,227,.21); border-radius:50%; box-shadow:0 0 0 38px rgba(188,231,227,.03),0 0 0 92px rgba(188,231,227,.02); pointer-events:none; transform:translate3d(calc(var(--hero-x) * -.35),calc(var(--hero-y) * -.35),0); transition:transform .4s var(--finale-ease); }

.tribay-section { overflow:hidden; }.tribay-axis { position:absolute; z-index:3; left:50%; top:53%; display:flex; gap:10px; align-items:center; color:var(--ivory); transform:translate(-50%,-50%) rotate(-90deg); transform-origin:center; mix-blend-mode:difference; pointer-events:none; font:800 7px var(--sans); letter-spacing:.22em; white-space:nowrap; }.tribay-axis i { width:58px; height:1px; background:currentColor; }
.district { --tribay-x: 50%; --tribay-y: 50%; }.district::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at var(--tribay-x) var(--tribay-y),rgba(188,231,227,.32),transparent 31%); mix-blend-mode:screen; opacity:0; transition:opacity .5s; }.district:hover::after,.district:focus-visible::after,.district.active::after { opacity:.58; }

.horizon-interlude { position:relative; height:155vh; margin-top:-1px; background:var(--ocean-deep); color:var(--ivory); }.horizon-stage { position:sticky; top:0; display:grid; place-content:center; height:100vh; overflow:hidden; isolation:isolate; text-align:center; }.horizon-water { position:absolute; z-index:-2; inset:-33%; background:repeating-radial-gradient(ellipse at 50% 64%,rgba(98,194,199,.13) 0 1px,transparent 2px 44px),radial-gradient(circle at 50% 60%,#0c697a,#063d4e 38%,#022b38 70%); animation: horizonDrift 16s ease-in-out infinite alternate; }.horizon-orbit { position:absolute; z-index:-1; border:1px solid rgba(188,231,227,.24); border-radius:50%; }.orbit-one { width:min(72vw,900px); height:min(72vw,900px); animation: orbitFloat 13s linear infinite; }.orbit-two { width:min(45vw,560px); height:min(45vw,560px); border-style:dashed; animation: orbitFloat 19s linear reverse infinite; }.horizon-kicker { margin:0 0 23px; font:800 9px var(--sans); letter-spacing:.34em; }.horizon-stage h2 { margin:0; font-size:clamp(60px,9.7vw,150px); color:var(--ivory); }.horizon-stage h2 i { color:var(--aqua); }.horizon-seal { position:absolute; top:50%; left:50%; display:grid; place-content:center; width:122px; aspect-ratio:1; border:1px solid rgba(255,251,244,.5); border-radius:50%; background:rgba(3,47,61,.32); transform:translate(-50%,-50%); color:rgba(255,251,244,.76); font:50px var(--serif); mix-blend-mode:screen; animation: sealTurn 15s linear infinite; }.horizon-seal span { font:800 7px var(--sans); letter-spacing:.2em; }.horizon-caption { position:absolute; right:7%; bottom:11%; text-align:right; margin:0; color:rgba(255,251,244,.68); font-size:11px; line-height:1.8; }

.residences-section .residence-watermark { animation: watermarkWander 19s ease-in-out infinite alternate; }.residence-tab.active { position:relative; }.residence-tab.active::after { content:""; position:absolute; right:-5px; top:50%; width:5px; height:5px; border-radius:50%; background:var(--coral); box-shadow:0 0 0 6px rgba(238,128,96,.14); animation: tabSignal 1.4s ease-in-out infinite; }.gallery-section { background-image:linear-gradient(180deg,rgba(2,35,44,.86),rgba(2,35,44,.72) 45%,rgba(2,35,44,.88)),url("assets/verano-gallery-lifestyle.webp"); background-size:cover; background-position:center; background-repeat:no-repeat; }.gallery-card { transform-origin:center bottom; }.gallery-card:hover { transform:translateY(-16px) rotate(-.75deg); }.opportunity-section::before { content:"THE VERANO ORBIT"; position:absolute; z-index:2; top:31px; left:50%; transform:translateX(-50%); color:rgba(255,251,244,.45); font:800 8px var(--sans); letter-spacing:.32em; white-space:nowrap; }

@keyframes preludeTide { from { transform:scale(1.18) rotate(7deg); } to { transform:scale(1) rotate(0); } } @keyframes preludeSun { from { transform:scale(.35); opacity:0; } to { transform:scale(1); opacity:1; } } @keyframes preludeLine { to { transform:rotate(-9deg) scaleX(1); } } @keyframes preludeType { to { transform:none; opacity:1; } } @keyframes atlasRun { to { transform:translateX(100%); } } @keyframes horizonDrift { from { transform:scale(1) translate3d(-1%,-1%,0); } to { transform:scale(1.08) translate3d(1%,1%,0); } } @keyframes orbitFloat { to { transform:rotate(360deg); } } @keyframes sealTurn { to { transform:translate(-50%,-50%) rotate(360deg); } } @keyframes watermarkWander { from { transform:translateX(0); } to { transform:translateX(4vw); } } @keyframes tabSignal { 50% { box-shadow:0 0 0 11px rgba(238,128,96,0); } }

@media (max-width: 850px) { .chapter-orbit { display:none; }.hero-atlas { right:5%; top:18%; transform:scale(.78) translate3d(var(--hero-x),var(--hero-y),0); transform-origin:top right; }.horizon-interlude { height:96svh; }.horizon-stage { height:96svh; }.horizon-seal { width:88px; font-size:38px; }.horizon-caption { right:8%; bottom:9%; font-size:10px; }.tribay-axis { display:none; } }
@media (max-width: 650px) { .verano-prelude strong { font-size:38px; }.verano-prelude p { font-size:8px; }.prelude-sun { width:310px; }.hero-atlas { display:none; }.horizon-interlude { height:88svh; }.horizon-stage { height:88svh; }.horizon-stage h2 { font-size:59px; }.horizon-kicker { font-size:7px; }.horizon-caption { width:150px; font-size:9px; }.orbit-one { width:470px; height:470px; }.orbit-two { width:300px; height:300px; }.gallery-section { background-size:50% 100%; }.opportunity-section::before { font-size:6px; top:16px; }.horizon-seal { width:72px; font-size:30px; }.horizon-seal span { font-size:6px; } }
@media (prefers-reduced-motion: reduce) { .verano-prelude { display:none; }.chapter-orbit { display:none; }.hero::after,.hero-atlas { transition:none; }.hero-vignette::after,.hero-sun,.horizon-water,.horizon-orbit,.horizon-seal,.residences-section .residence-watermark,.residence-tab.active::after { animation:none; }.horizon-interlude { height:auto; }.horizon-stage { position:relative; min-height:76svh; }.district::after { display:none; } }
