/* 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: #241620; }
.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%,#c9a467 0 2%,transparent 2.3%),repeating-radial-gradient(ellipse at 46% 51%,rgba(214,184,133,.23) 0 1px,transparent 2px 34px),linear-gradient(138deg,#241620,#6b3a4a 55%,#2c1b25); 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,249,242,.38); border-radius: 50%; box-shadow: 0 0 0 22px rgba(255,249,242,.06),0 0 0 72px rgba(255,249,242,.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,249,242,.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,249,242,.38); stroke-width: 1; }.chapter-orbit .orbit-progress { stroke: #782e5d; 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,249,242,.32); color: rgba(255,249,242,.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,249,242,.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(227,200,143,.21); border-radius:50%; box-shadow:0 0 0 38px rgba(227,200,143,.03),0 0 0 92px rgba(227,200,143,.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(227,200,143,.32),transparent 31%); mix-blend-mode:screen; opacity:0; transition:opacity .5s; }.district:hover::after,.district:focus-visible::after,.district.active::after { opacity:.58; }

.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(120,46,93,.14); animation: tabSignal 1.4s ease-in-out infinite; }.gallery-section { background-image:linear-gradient(180deg,rgba(26,14,19,.86),rgba(26,14,19,.72) 45%,rgba(26,14,19,.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,249,242,.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 watermarkWander { from { transform:translateX(0); } to { transform:translateX(4vw); } } @keyframes tabSignal { 50% { box-shadow:0 0 0 11px rgba(120,46,93,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; }.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; }.gallery-section { background-size:50% 100%; }.opportunity-section::before { font-size:6px; top:16px; } }
@media (prefers-reduced-motion: reduce) { .verano-prelude { display:none; }.chapter-orbit { display:none; }.hero::after,.hero-atlas { transition:none; }.hero-vignette::after,.hero-sun,.residences-section .residence-watermark,.residence-tab.active::after { animation:none; }.district::after { display:none; } }
