/* ERA v2 — measured scene boundaries and interaction fixes.
   Geometry is expressed in viewport units. A single native scroll position drives
   each pinned scene; no transform transition, negative-margin pin or wheel tween. */
:root{
 --display:'Bodoni MT Poster Compressed','Bodoni MT Condensed','Noto Serif Display ExtraCondensed','Noto Serif Display','Bodoni 72 Smallcaps',Didot,'Times New Roman',serif;
 --script:'Italianno','Snell Roundhand','Apple Chancery',cursive;
}
html{scroll-behavior:auto;overflow-x:clip}
body{overflow-x:clip}
body.locked{overflow:hidden}
img{user-select:none;-webkit-user-drag:none}
.display{font-weight:500;font-stretch:62.5%;font-variation-settings:'wdth' 62.5,'wght' 500;letter-spacing:-.045em}
.word{display:inline-block;white-space:nowrap;vertical-align:baseline}
.char{display:inline-block}
[inert],[inert] *{pointer-events:none!important}
button:disabled{opacity:.25;cursor:default}
.media>img{backface-visibility:hidden}
.media-note{pointer-events:none}
.media.remote-unavailable:not(.has-local){background:rgba(21,29,51,.025)}
.media-note small{font:10px/1.5 var(--body);letter-spacing:.035em}
.rosette{overflow:visible}
.brand{width:clamp(83px,7.7vw,148px);height:clamp(83px,7.7vw,148px)}
.brand>.rosette{width:38%;height:38%}
.top-nav .apartment-link{font-size:clamp(21px,1.62vw,32px);line-height:.98;letter-spacing:-.05em}
.nav-secondary{line-height:1.35}
.rail .scroll-label{min-height:46px;cursor:pointer;pointer-events:auto}
.hero-scroll{height:292svh;min-height:0;background:#3F6AA4;isolation:isolate}
.hero-stage{height:100svh;min-height:0;position:sticky;top:0;overflow:hidden;isolation:isolate}
.hero-camera{height:160%;width:100%;left:0;transform:translate3d(0,calc(-37.5% * var(--hero-t)),0);transition:none}
.hero-identity{transform:translate3d(0,calc(-87svh * var(--hero-t)),0);opacity:var(--hero-copy,1);transition:none}
.hero-wordmark{width:35.4vw;top:3.8svh;max-width:none;max-height:61svh}
.hero-side{font-size:clamp(22px,2.1vw,40px)}
.hero-cta{bottom:-7svh;z-index:6;transition:opacity .18s;pointer-events:auto}
.hotspot-layer{display:block;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s}
.hotspot-layer.interactive{visibility:visible;opacity:1}
.hotspot-layer.interactive .hotspot{pointer-events:auto}
.hotspot{min-width:42px;min-height:42px}
.hot-card{top:39%;right:4.5%;bottom:auto;z-index:12;width:clamp(240px,19vw,350px);visibility:hidden}
.hot-card.open{visibility:visible}
.hot-card .media{height:14svh;min-height:90px}
.hot-close{min-width:36px;min-height:36px}
.day-toggle button{min-height:36px}
/* Irises are clipped layers inside a sticky stage, never separate pinned siblings. */
.iris-layer.circle-stage{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:var(--blue);color:var(--ink);z-index:30;pointer-events:none;visibility:hidden;will-change:clip-path;clip-path:circle(0px at 50% 112%)}
.iris-layer.paper{background:var(--paper)}
.iris-layer .circle-type{width:90%;height:auto;aspect-ratio:1200/660;left:5%;top:21%;font-size:43px;letter-spacing:-.025em;font-stretch:62.5%;text-transform:uppercase}
.iris-layer .circle-caption{top:67%;gap:24px;font-size:9px}
.iris-layer .circle-caption:after{height:19svh}
.iris-layer.has-heading .circle-caption{top:91%}
.iris-layer.has-heading .circle-caption:after{display:none}
.iris-layer .circle-heading{top:7%;left:20%;width:60%;font-size:clamp(64px,7.65vw,147px);line-height:.88;letter-spacing:-.055em}
.iris-layer .circle-heading .script{display:block;margin-top:.24em;font-size:1.32em;line-height:.7}
.reasons{position:relative;min-height:110svh;padding:7svh 0 8svh;z-index:auto}
.reason-title{font-size:clamp(50px,6.8vw,132px);margin:9svh auto 5svh;max-width:87%;min-height:1.07em}
.reason-figure{height:26svh;width:27%;min-width:270px;min-height:0;max-width:540px}
.reason-copy{width:35%;min-width:260px;max-width:630px;font-size:clamp(11px,.76vw,14px);margin:3svh auto 0}
.reasons .carousel-controls{margin-top:2.8svh;margin-bottom:3svh}
.reasons .reason-copy .tagline{margin-top:5svh}
.quote-scene{height:97svh;min-height:0;max-height:none;margin-top:0}
.quote-scene>.media{height:100%;width:100%}
.quote-text{bottom:12%;right:15%;max-width:470px}
.concept{min-height:110svh;overflow:hidden}
.concept h2{max-width:66%;font-size:clamp(36px,4.5vw,90px)}
/* Location: the full narrative travels through a single, bounded viewport. */
.location-scroll{height:calc(100svh + 140vw);min-height:0;overflow:visible;isolation:isolate}
.location-stage{position:sticky;top:0;height:100svh;overflow:hidden}
.location-track{position:absolute;left:0;top:0;bottom:0;inset-inline-end:auto;display:flex;width:238vw;height:100%;transform:none;transition:none;will-change:transform}
.location-first{position:relative;width:140vw;height:100%;flex:0 0 140vw;padding:0;min-height:0}
.location-title{position:absolute;left:34vw;top:19svh;z-index:4;font-size:clamp(82px,10vw,194px);line-height:1.0;padding:0;width:auto;max-width:none;letter-spacing:-.06em}
.location-title span:nth-child(2){margin-left:4.3vw}
.location-title span:nth-child(3){margin-left:-1.5vw}
.location-country{left:27vw;top:50%;letter-spacing:.75em}
.location-photo{position:absolute;left:60vw;top:5.5svh;width:37vw;height:89svh;right:auto;margin:0;z-index:3}
.location-text{position:absolute;left:98vw;bottom:5.5svh;top:auto;width:28vw;margin:0;z-index:5}
.location-text h3{font-size:clamp(23px,2.3vw,44px);line-height:1.08;letter-spacing:-.05em;margin-bottom:16px}
.location-text .copy{font-size:clamp(11px,.79vw,15px);line-height:1.48}
.location-first .flower{left:23vw;bottom:-3%;width:22vw;max-width:none;z-index:6}
.location-second{position:relative;left:auto;top:0;width:98vw;height:100%;flex:0 0 98vw;padding:0}
.location-second h2{position:absolute;top:9svh;right:9vw;left:auto;width:51vw;max-width:none;font-size:clamp(46px,5vw,96px);text-align:center;line-height:.98;margin:0}
.location-second h2 .script{display:block;font-size:1.6em;margin:.09em 0 .22em;line-height:.65}
.location-second .round-cta{left:4vw;top:35svh;width:13vw;height:13vw;min-width:170px;min-height:170px;right:auto;bottom:auto}
.location-second>.flower{right:-5vw;top:-7svh;width:30vw;max-width:none}
.location-second .coastline{width:85vw;height:25svh;right:3vw;bottom:6svh}
.coastline>small{font-size:8px;opacity:.45}
.coastline svg{width:100%;height:100%}
.coastline .rosette{fill:none;stroke:currentColor}
/* Panorama's horizontal gesture stays local. A vertical gesture ALWAYS remains native. */
.panorama{height:100svh;min-height:0;touch-action:pan-y;overflow:hidden;isolation:isolate}
.panorama-view{transition:none;will-change:transform}
.panorama:focus-visible{outline-offset:-6px}
.panorama-clouds{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden;opacity:calc(1 - var(--cloud-progress,0))}
.panorama-cloud{position:absolute;width:78vw;height:75svh;pointer-events:none}
.panorama-cloud .media{background:transparent!important}
.panorama-cloud .media-note{display:none}
.panorama-cloud .media img{object-fit:contain}
.panorama-cloud.cloud-1{left:-20%;top:-17%;transform:translate3d(calc(-22vw * var(--cloud-progress)),calc(-30svh * var(--cloud-progress)),0)}
.panorama-cloud.cloud-2{right:-20%;top:-8%;transform:translate3d(calc(25vw * var(--cloud-progress)),calc(-26svh * var(--cloud-progress)),0)}
.panorama-cloud.cloud-3{left:22%;bottom:-36%;transform:translate3d(0,calc(30svh * var(--cloud-progress)),0)}
/* Three distinct apartment types: complete panels, not incomplete swaps. */
.types-scroll{height:calc(100svh + 180vw);min-height:0;isolation:isolate}
.types-stage{position:sticky;top:0;height:100svh;overflow:hidden}
.types-track{display:flex;width:300%;height:100%;will-change:transform;transition:none}
.type-panel{flex:0 0 33.333333%;position:relative;width:33.333333%;height:100%;padding:8svh 0 0}
.type-title{margin:0 auto 4svh;position:relative;max-width:84%;min-height:1.16em;font-size:clamp(48px,6.2vw,120px);text-align:center;display:block;line-height:1.03}
.type-layout{display:grid;grid-template-columns:.85fr 1.2fr 1fr;gap:4.2vw;width:65%;margin:0 auto;align-items:center}
.type-photo{height:58svh;min-height:0}
.type-description{display:block;grid-column:auto;font-size:clamp(11px,.7vw,14px);margin:0;text-align:left}
.type-description .outline-button{font-size:10px;white-space:normal;line-height:1.5;text-align:center;margin-top:25px;padding:13px 25px}
.type-stats>div+div{margin-top:32px}
.type-stats b{font-size:clamp(28px,3.8vw,72px)}
.types-stage>.carousel-controls{position:absolute;bottom:4svh;left:50%;transform:translateX(-50%);margin:0;z-index:6}
.surface-statement{min-height:103svh}
.surface-statement h2{font-size:clamp(42px,5vw,96px);line-height:1.13;max-width:61%}
.amenities{height:225svh;min-height:0;isolation:isolate;overflow:visible}
.amenity-stage{position:sticky;top:0;height:100svh;min-height:0;overflow:hidden}
.amenity-background,.amenity-layer{position:absolute;inset:0}
.amenity-layer{opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s .5s}
.amenity-layer.active{opacity:1;visibility:visible;transition:opacity .5s,visibility 0s}
.amenity-layer>.media{height:100%;width:100%}
.amenity-index{z-index:5}
.amenity-index button{font-size:clamp(32px,3vw,58px);min-height:1.36em;line-height:1.15}
.amenity-caption{z-index:5;max-width:37%;bottom:12%}
.amenity-caption h3{font-size:clamp(23px,2.25vw,43px);line-height:1.13}
.amenity-book{z-index:5}
/* Interior sequence: asymmetrical editorial composition followed by the gallery. */
.living-scroll{height:calc(100svh + 108vw);isolation:isolate;overflow:visible}
.living-stage{height:100svh;position:sticky;top:0;overflow:hidden}
.living-track{height:100%;width:202vw;display:flex;align-items:stretch;will-change:transform;transition:none}
#app .living-track>.space-panels{flex:0 0 105vw;width:105vw;height:100%;min-height:0;padding:0;overflow:hidden}
.living-track .space-left{width:41%;height:88svh;margin-top:12svh}
.living-track .space-left .media{left:20%;top:15%;width:60%;height:72%}
.living-track .space-left .flower{right:-27%;top:-16%;width:86%;max-width:none;z-index:5}
.living-track .space-right{left:58%;top:0;width:37%;position:absolute;margin:0}
.living-track .space-right>div{height:44svh;overflow:hidden;width:100%}
.living-track .space-right .media{height:100%;width:100%}
.living-track .space-right h3{font-size:clamp(23px,2.2vw,42px);line-height:1.07;margin:3svh 0 1.5svh;max-width:98%}
.living-track .space-right .copy{font-size:clamp(10px,.65vw,13px);line-height:1.45;max-width:92%}
.living-track .upgrades{font-size:clamp(10px,.61vw,12px);line-height:1.5;margin-top:18px}
.living-track .space-panels>.round-cta{right:39%;bottom:8%;width:10vw;height:10vw;min-width:120px;min-height:120px;position:absolute;margin:0}
#app .living-track>.interior-gallery{flex:0 0 97vw;width:97vw;height:100%;padding:8svh 0 0;min-height:0;overflow:hidden}
.living-track .gallery-image{width:87%;height:80svh;min-height:0;margin-left:7%}
.living-track .interior-gallery>.carousel-controls{margin:3svh auto 0}
.gallery-open{cursor:zoom-in}
.architecture-scroll{height:245svh;min-height:0}
.architecture-stage{position:sticky;height:100svh;top:0}
.architecture-word{opacity:var(--arch-title,0);font-size:clamp(63px,8.3vw,160px);line-height:1.1;left:15%;max-width:81%;top:13%}
.architecture-quote{opacity:var(--arch-quote,0);width:44%;left:18%;bottom:13%;max-width:800px}
.architecture-quote h3{font-size:clamp(29px,3.2vw,62px);line-height:1.09}
.architecture-stage .flower{opacity:calc(1 - var(--arch));transition:none}
.partners{min-height:105svh}
.partner-button{font-size:clamp(40px,6.8vw,132px);min-height:1.2em;line-height:1.03}
.partner-detail{font-size:13px;max-width:490px}
.finale-scroll{height:190svh}
.finale-stage{position:sticky;height:100svh;top:0}
.finale-image{inset:auto;width:calc(100% - var(--end)*44%);height:calc(100% - var(--end)*30%);left:calc(var(--end)*22%);top:calc(var(--end)*10%);transition:none}
.finale-title{opacity:clamp(0,calc(1 - var(--end)*2.7),1)}
.finale-copy{opacity:clamp(0,calc(1 - var(--end)*3),1)}
.finale-stage>.round-cta{opacity:clamp(0,calc(1 - var(--end)*3),1)}
.footer{padding:1svh 22vw 4svh;min-height:75svh}
.footer-phone{font-size:clamp(50px,7.1vw,139px);height:auto!important;line-height:1.3;max-width:100%;letter-spacing:-.055em}
.footer-credit a{display:block;margin-top:7px;font-size:11px}
.demo-provenance{font-size:9px;opacity:.43;line-height:1.45}
/* Prevent a narrow laptop from hiding the bottom of a sticky apartment panel. */
@media(min-width:801px) and (max-height:800px){
 .unit-data{top:3svh;max-height:94svh;overflow:auto;scrollbar-width:thin;padding-right:8px}
 .unit-number{font-size:66px;margin-bottom:14px}
 .unit-stats{gap:15px}
 .unit-stats dd{font-size:32px}
 .unit-tabs{margin-top:20px}
 .unit-tab-panel{min-height:68px;font-size:10px}
 .unit-actions{margin-top:17px}
 .hot-card{top:35%}
}
/* No pinned horizontal scenes in narrow/touch layouts. Every panel is reachable
   by native vertical scroll; none is hidden outside the viewport. */
@media(max-width:800px){
 .brand{width:82px;height:82px;left:18px;top:22px}
 .top-nav{right:22px;top:25px}
 .top-nav .apartment-link{font-size:24px}
 .rail{display:none}
 .hero-scroll{height:170svh}
 .hero-camera{height:150%;width:175%;left:-37.5%;transform:translate3d(0,calc(-33.3333% * var(--hero-t)),0)}
 .hero-wordmark{top:21svh;width:70vw;max-height:47svh}
 .hero-side{top:67svh;font-size:24px}
 .hero-side.left{left:12%;right:auto}
 .hero-side.right{right:9%;left:auto}
 .day-toggle{top:72svh}
 .hero-cta{bottom:5svh;width:140px}
 .hero-cta .round-cta{width:140px;height:140px}
 .hero-identity{transform:translate3d(0,calc(-60svh * var(--hero-t)),0)}
 .hot-card{top:auto;bottom:23%;right:18px;width:min(76vw,300px)}
 .hotspot{min-width:40px;min-height:40px}
 .iris-layer.circle-stage{display:none}
 .reasons{min-height:94svh;padding:10svh 24px 7svh}
 .reason-title{font-size:clamp(40px,9vw,65px);max-width:100%;min-height:2.2em;margin:7svh auto 4svh;display:block}
 .reason-figure{width:90%;height:28svh;min-width:0}
 .reason-copy{width:90%;min-width:0;font-size:12px;margin-top:24px}
 .quote-scene{height:88svh;min-height:530px}
 .quote-text{width:72%;max-width:none;right:6%;bottom:8%;left:auto}
 .concept{min-height:90svh;padding:12svh 22px 10svh}
 .concept h2{max-width:90%;font-size:clamp(31px,6.9vw,54px)}
 .concept .copy{width:83%;font-size:12px}
 .location-scroll{height:auto}
 .location-stage{position:relative;height:auto}
 .location-track{display:block;position:relative;width:100%;height:auto;transform:none!important;inset:auto}
 .location-first{width:100%;height:auto;min-height:0;padding:65px 24px 75px}
 .location-country{left:27px;top:30px;font-size:8px}
 .location-title{position:relative;left:3%;top:auto;font-size:clamp(77px,17vw,132px);max-width:84%;margin-bottom:40px;z-index:4}
 .location-title span:nth-child(2){margin-left:13%}
 .location-title span:nth-child(3){margin-left:3%}
 .location-photo{position:relative;left:auto;top:auto;right:auto;width:80%;height:68svh;max-height:650px;margin:0 0 0 auto}
 .location-text{position:relative;left:auto;top:auto;bottom:auto;width:83%;margin:35px 0 0 auto}
 .location-text h3{font-size:29px}
 .location-text .copy{font-size:12px}
 .location-first .flower{left:-12%;bottom:10%;width:35%;z-index:4}
 .location-second{width:100%;height:95svh;min-height:680px;padding:70px 24px 0}
 .location-second h2{position:relative;top:auto;right:auto;width:86%;font-size:clamp(39px,8.5vw,65px);margin:0 0 0 auto;text-align:right}
 .location-second .round-cta{left:8%;top:51%;width:135px;height:135px;min-width:0;min-height:0}
 .location-second>.flower{right:-15%;top:-6%;width:50%}
 .location-second .coastline{width:118%;right:-9%;bottom:6%;height:20svh}
 .panorama{height:77svh;min-height:450px}
 .panorama-caption{left:8%;bottom:16%;width:82%}
 .panorama-caption h2{font-size:clamp(35px,8vw,60px)}
 .panorama-clouds{display:none}
 .types-scroll{height:auto}
 .types-stage{position:relative;height:auto;overflow:hidden}
 .types-track{display:block;width:100%;height:auto;transform:none!important}
 .type-panel{height:auto;width:100%;min-height:100svh;padding:12svh 24px 8svh;border-bottom:1px solid #11261B20}
 .type-title{display:block;font-size:clamp(35px,8.4vw,64px);max-width:100%;min-height:0;margin:0 0 50px;line-height:1.05}
 .type-layout{width:100%;margin:0;grid-template-columns:.7fr 1.3fr;gap:26px}
 .type-photo{height:46svh;min-height:290px;max-height:500px}
 .type-stats b{font-size:40px}
 .type-description{grid-column:1/-1;width:90%;margin:14px auto 0;font-size:12px;text-align:center}
 .type-description .outline-button{margin-top:22px}
 .types-stage>.carousel-controls{display:none}
 .surface-statement{min-height:80svh;padding:11svh 24px 12svh}
 .surface-statement h2{font-size:clamp(32px,7.5vw,56px);max-width:89%;line-height:1.15}
 .amenities{height:108svh}
 .amenity-stage{position:relative;height:108svh;min-height:740px}
 .amenity-index{top:19%;right:6%;left:15%;width:auto}
 .amenity-index button{font-size:clamp(32px,7.4vw,52px);line-height:1.15;min-height:1.5em}
 .amenity-caption{bottom:13%;left:8%;right:auto;width:78%;max-width:none}
 .amenity-caption h3{font-size:30px}
 .amenity-book{right:8%;bottom:5%}
 .js-enabled .space-title{display:flex;min-height:90svh}
 .space-title h2{font-size:clamp(68px,15vw,120px)}
 .living-scroll{height:auto}
 .living-stage{position:relative;height:auto}
 .living-track{position:relative;display:block;width:100%;height:auto;transform:none!important}
 #app .living-track>.space-panels{width:100%;height:auto;padding:0 0 65px;min-height:0}
 .living-track .space-left{width:78%;height:76svh;margin:0}
 .living-track .space-left .media{width:64%;height:70%;left:18%;top:15%}
 .living-track .space-left .flower{width:71%;right:-20%;top:-10%}
 .living-track .space-right{position:relative;width:auto;left:auto;top:auto;margin:65px 24px 0}
 .living-track .space-right>div{height:53svh}
 .living-track .space-right h3{font-size:30px;max-width:96%;margin:30px 0 20px}
 .living-track .space-right .copy{font-size:12px}
 .living-track .upgrades{font-size:11px}
 .living-track .space-panels>.round-cta{position:relative;right:auto;bottom:auto;min-width:0;min-height:0;width:140px;height:140px;margin:45px 24px 0 auto}
 #app .living-track>.interior-gallery{width:100%;height:auto;padding:25px 0 85px}
 .living-track .gallery-image{height:62svh;width:92%;margin-left:8%;min-height:350px}
 .architecture-scroll{height:105svh}
 .architecture-stage{position:relative;height:105svh}
 .architecture-word{left:8%;top:15%;max-width:86%;font-size:clamp(40px,8.3vw,65px);opacity:1;text-align:left}
 .architecture-quote{left:8%;bottom:12%;width:82%;opacity:1}
 .architecture-quote h3{font-size:clamp(32px,6.8vw,48px)}
 .architecture-stage .flower{display:none}
 .partners{min-height:90svh}
 .partner-button{font-size:clamp(38px,10vw,70px);line-height:1.1}
 .partner-detail{font-size:12px}
 .finale-scroll,.finale-stage{height:95svh;min-height:600px}
 .finale-stage{position:relative}
 .finale-image{inset:0;width:100%;height:100%}
 .finale-title h2{font-size:clamp(58px,12vw,95px)}
 .footer{min-height:65svh;padding:70px 24px 30px}
 .footer-phone{font-size:clamp(39px,10.1vw,72px)}
 .footer-bottom{gap:25px;flex-wrap:wrap}
 .related-heading{display:block!important}
 .apartment-layout{display:flex;flex-direction:column-reverse;margin:0 24px;gap:35px}
 .apartment-page{padding-top:190px}
 .unit-data{position:relative;top:auto;width:100%}
 .unit-plan{min-height:410px;height:70svh}
 .unit-stats{grid-template-columns:1fr 1fr}
 .unit-tab-panel{min-height:105px;font-size:12px}
 .contact-page{padding-top:190px}
 .call-dialog{max-width:calc(100% - 28px)}
}
/* Explicit reduced-motion configuration, not only the OS media preference. */
.reduced-experience .hero-scroll{height:100svh}
.reduced-experience .hero-camera{transform:none!important}
.reduced-experience .hero-identity{transform:none!important;opacity:1!important}
.reduced-experience .iris-layer{display:none}
.reduced-experience .location-scroll,.reduced-experience .types-scroll,.reduced-experience .living-scroll{height:auto}
.reduced-experience .location-stage,.reduced-experience .types-stage,.reduced-experience .living-stage{position:relative;height:auto}
.reduced-experience .location-track,.reduced-experience .types-track,.reduced-experience .living-track{position:relative;display:block;width:100%;height:auto;transform:none!important}
.reduced-experience .location-first{width:100%;height:120svh;min-height:760px}
.reduced-experience .location-title{left:15vw}
.reduced-experience .location-photo{left:55vw;top:10svh;width:32vw;height:72svh}
.reduced-experience .location-text{left:55vw;bottom:5svh;width:33vw}
.reduced-experience .location-second{left:auto;width:100%;height:100svh;min-height:700px}
.reduced-experience .type-panel{width:100%;height:100svh;min-height:750px}
.reduced-experience .types-stage>.carousel-controls{display:none}
.reduced-experience .amenities,.reduced-experience .amenity-stage{height:100svh;min-height:700px;position:relative}
.reduced-experience .space-title{display:flex}
.reduced-experience .space-panels{width:100%!important;height:110svh!important}
.reduced-experience .interior-gallery{width:100%!important;height:100svh!important}
.reduced-experience .architecture-scroll,.reduced-experience .architecture-stage{height:100svh;position:relative}
.reduced-experience .finale-scroll,.reduced-experience .finale-stage{height:100svh;position:relative}
.reduced-experience .char{animation:none!important;opacity:1!important;transform:none!important}
.reduced-experience .flower{translate:none!important}
.reduced-experience .related-heading{display:block!important}
@media(prefers-reduced-motion:reduce){.brand-ring{animation:none!important}.reveal-title .char{animation:none!important;opacity:1!important;transform:none!important}*,*::before,*::after{scroll-behavior:auto!important}}
/* Second visual pass: viewport-scale title proportions and long labels. */
@media(min-width:801px){
 .reason-title{font-size:clamp(68px,9.4vw,181px);margin:4svh auto 8svh;max-width:88%;line-height:1.04}
 .reasons>.tagline{opacity:.7}
 .reason-copy{margin-top:4svh}
 .location-text h3{font-size:clamp(21px,1.8vw,35px);line-height:1.08}
 .type-stats b{font-size:clamp(28px,3.1vw,60px);white-space:nowrap}
 .type-stats b{display:block}
 .concept{padding-top:15svh;padding-bottom:13svh;min-height:100svh}
 .surface-statement{padding-top:12svh;padding-bottom:14svh;min-height:100svh}
 .surface-statement h2{font-size:clamp(42px,4.5vw,86px);max-width:60%}
}
.amenity-unavailable{position:absolute;z-index:8;left:14%;bottom:5%;max-width:60%;opacity:.75;pointer-events:none}
.iris-layer,.iris-layer *{pointer-events:none!important}

/* Fallback alpha remains on the same blue scene, not a solid media placeholder. */
.quote-scene>.media{background:transparent}
/* Reduced motion on narrow screens preserves the linear mobile geometry. */
@media(max-width:800px){
 .reduced-experience .location-first{height:auto;min-height:0}
 .reduced-experience .location-title{left:3%}
 .reduced-experience .location-photo{left:auto;top:auto;width:80%;height:68svh}
 .reduced-experience .location-text{left:auto;bottom:auto;width:83%}
 .reduced-experience .location-second{height:95svh;min-height:680px}
 .reduced-experience .type-panel{height:auto;min-height:100svh}
 .reduced-experience .space-panels{height:auto!important}
 .reduced-experience .interior-gallery{height:auto!important}
 .reduced-experience .amenities,.reduced-experience .amenity-stage{height:108svh;min-height:740px}
}

.quote-scene>.media{mask-image:none}
@media(min-width:801px){.quote-text{left:57%;width:28%;max-width:510px;bottom:12%}.quote-text blockquote{font-size:clamp(24px,1.8vw,35px);line-height:1.1}}

/* LATIDOS EXPERIENCE brand layer — palette from supplied brandbook. */
:root{--paper:#FFFFFF;--blue:#D19020;--wine:#11261B;--ink:#11261B;--line:rgba(209,144,32,.34);--brand-blue:#3F6AA4}
.media>video[data-brand-video]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;background:#11261B}
.brand{width:clamp(135px,11vw,205px)!important;height:auto!important;aspect-ratio:2048/839!important;background:rgba(17,38,27,.90);padding:8px 10px;border-radius:4px;box-shadow:0 10px 28px rgba(17,38,27,.18)}
.brand-logo-small{display:block;width:100%;height:100%;object-fit:contain}
.brand:after{top:112%}
.hero-wordmark{width:min(54vw,920px)!important;max-width:none!important;top:9svh!important;filter:drop-shadow(0 6px 24px rgba(17,38,27,.28))}
@media(max-width:800px){.brand{width:132px!important;height:auto!important;left:18px;top:22px}.hero-wordmark{width:78vw!important;top:18svh!important}}

/* 2026-09-18 — video framing refinement
   Keep videos full-width and cover the stage, but reduce the aggressive zoom/crop. */
.latidos-video-media,.latidos-video-media .media-note{overflow:hidden}
.media>video[data-brand-video]{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  object-fit:cover;
  object-position:50% 42%;
  transform:none!important;
}
.hero-camera{
  height:128%;
  width:100%;
  left:0;
  transform:translate3d(0,calc(-17% * var(--hero-t)),0);
}
.hero-image .media>video[data-brand-video]{
  object-position:50% 34%;
}
.quote-scene>.media>video[data-brand-video],
.panorama-view .media>video[data-brand-video],
.space-left .media>video[data-brand-video],
.space-right .media>video[data-brand-video],
.architecture-visual .media>video[data-brand-video],
.finale-image .media>video[data-brand-video],
.amenity-layer .media>video[data-brand-video]{
  object-position:50% 40%;
}
@media(max-width:800px){
  .hero-camera{
    height:122%;
    width:122%;
    left:-11%;
    transform:translate3d(0,calc(-12% * var(--hero-t)),0);
  }
  .hero-image .media>video[data-brand-video]{
    object-position:50% 36%;
  }
}

/* FIX SERRANÍA DE LA MACARENA — true cover without panorama over-zoom */
.panorama-view{
  width:100%!important;
  left:0!important;
  right:0!important;
  transform:none!important;
}
.panorama-view .media{
  width:100%!important;
  height:100%!important;
}
.panorama-view .media>video[data-brand-video]{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
  transform:none!important;
}
@media(max-width:800px){
  .panorama-view{
    width:100%!important;
    left:0!important;
    transform:none!important;
  }
}

/* LATIDOS 2026 — final scale/alignment pass.
   Decorative algae stay accents, never dominate content. */
@media(min-width:801px){
  .story-track>.concept>.flower.top-left{width:24vw!important;left:0!important;top:0!important}
  .story-track>.story-upright{width:34vw!important;left:90vw!important}
  .story-track .location-second>.flower{width:25vw!important;left:-16vw!important}
  #app .space-left>.flower{width:52%!important;right:-11%!important;top:-7%!important}
  .architecture-stage .flower.left-low{width:27vw!important;left:4%!important}
  .architecture-stage .flower.bottom-right{width:18vw!important;right:0!important}
  .partners>.flower.top-right,.catalog>.flower.top-right,.contact-page>.flower.top-right{width:20vw!important}
  .surface-statement>.flower.left-low{width:28vw!important;left:-3vw!important}

  /* The ERA stagger no longer fits “Caño / Cristales / 2026”. */
  .story-track .location-title{
    left:18vw!important;
    top:21svh!important;
    font-size:clamp(72px,8.6vw,166px)!important;
    line-height:.97!important;
    letter-spacing:-.035em!important;
    width:auto!important;
    text-align:left!important;
  }
  .story-track .location-title span{margin-left:0!important;white-space:nowrap!important}
  .story-track .location-title span:nth-child(2),
  .story-track .location-title span:nth-child(3){margin-left:0!important}

  .story-track>.concept>h2{letter-spacing:-.03em!important}
  .panorama-caption h2,.architecture-word,.reason-title,.type-title{letter-spacing:-.03em!important}

  /* Less vertical enlargement = less interpolation of Full-HD source video. */
  .hero-camera{
    height:114%!important;
    width:100%!important;
    left:0!important;
    transform:translate3d(0,calc(-10% * var(--hero-t)),0)!important;
  }
}

@media(max-width:800px){
  .story-track>.concept>.flower.top-left{width:38vw!important}
  .story-track>.story-upright{width:58vw!important;left:93vw!important}
  .story-track .location-second>.flower{width:50vw!important;left:-28vw!important}
  #app .space-left>.flower{width:55%!important;right:-10%!important;top:-4%!important}
  .partners>.flower.top-right,.catalog>.flower.top-right,.contact-page>.flower.top-right{width:32vw!important}
  .architecture-stage .flower.left-low{width:36vw!important}
  .architecture-stage .flower.bottom-right{width:25vw!important}
  .surface-statement>.flower.left-low{width:36vw!important}

  .story-track .location-title{
    left:16vw!important;
    top:23%!important;
    font-size:17vw!important;
    line-height:.98!important;
    letter-spacing:-.025em!important;
  }
  .story-track .location-title span,
  .story-track .location-title span:nth-child(2),
  .story-track .location-title span:nth-child(3){margin-left:0!important}

  .hero-camera{
    height:112%!important;
    width:112%!important;
    left:-6%!important;
    transform:translate3d(0,calc(-8% * var(--hero-t)),0)!important;
  }
}

/* 2026-09-19 — polish pass requested by client
   1) keep all videos true-cover without extra enlargement
   2) fix Caño Cristales / Colombia overlap
   3) reduce decorative algae size */

/* All branded videos: cover the box, but never get enlarged beyond the container system. */
.media,
.media-frame,
.location-photo,
.panorama-view,
.quote-scene,
.architecture-visual,
.finale-image,
.amenity-layer,
.space-left,
.space-right,
.hero-image{
  overflow:hidden;
}

.media>video[data-brand-video]{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
  transform:none!important;
}

/* Hero keeps subtle motion room only; no oversized canvas. */
.hero-camera{
  width:100%!important;
  height:106%!important;
  left:0!important;
  transform:translate3d(0,calc(-3% * var(--hero-t)),0)!important;
}
.hero-image .media>video[data-brand-video]{object-position:50% 40%!important;}

/* Individual sections: no extra zoom wrappers. */
.location-photo .media,
.panorama-view,
.panorama-view .media,
.quote-scene>.media,
.space-left .media,
.space-right .media,
.architecture-visual .media,
.finale-image .media,
.amenity-layer .media{
  width:100%!important;
  height:100%!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}

/* Main Caño Cristales story block alignment. */
.story-track .location-title{
  z-index:5!important;
}
.story-track .location-title span{
  display:block!important;
  margin-left:0!important;
  white-space:nowrap!important;
}
.story-track .location-country{
  position:absolute!important;
  z-index:6!important;
  white-space:nowrap!important;
  letter-spacing:.42em!important;
}
.story-track .location-first .flower{
  z-index:4!important;
}

@media (min-width:801px){
  .story-track .location-title{
    left:15.5vw!important;
    top:20.5svh!important;
    font-size:clamp(72px,8vw,154px)!important;
    line-height:.95!important;
  }
  .story-track .location-country{
    left:7.8vw!important;
    top:52svh!important;
    font-size:11px!important;
  }
  .location-first .flower,
  .story-track .location-first .flower{
    left:-1vw!important;
    bottom:1.5svh!important;
    width:16vw!important;
    max-width:300px!important;
  }

  .story-track>.concept>.flower.top-left{width:18vw!important}
  .story-track>.story-upright{width:26vw!important;left:94vw!important}
  .story-track .location-second>.flower{width:18vw!important;left:-10vw!important}
  #app .space-left>.flower{width:40%!important;right:-7%!important;top:-5%!important}
  .architecture-stage .flower.left-low{width:20vw!important;left:4%!important}
  .architecture-stage .flower.bottom-right{width:14vw!important;right:0!important}
  .partners>.flower.top-right,.catalog>.flower.top-right,.contact-page>.flower.top-right{width:15vw!important}
  .surface-statement>.flower.left-low{width:20vw!important;left:-2vw!important}
}

@media (max-width:800px){
  .hero-camera{
    width:100%!important;
    height:108%!important;
    left:0!important;
    transform:translate3d(0,calc(-4% * var(--hero-t)),0)!important;
  }

  .story-track .location-title{
    left:12vw!important;
    top:21%!important;
    font-size:15vw!important;
    line-height:.96!important;
  }
  .story-track .location-country{
    left:24px!important;
    top:49%!important;
    font-size:9px!important;
    letter-spacing:.28em!important;
  }
  .location-first .flower,
  .story-track .location-first .flower{
    left:-6vw!important;
    bottom:2svh!important;
    width:24vw!important;
    max-width:160px!important;
  }

  .story-track>.concept>.flower.top-left{width:28vw!important}
  .story-track>.story-upright{width:40vw!important;left:96vw!important}
  .story-track .location-second>.flower{width:32vw!important;left:-16vw!important}
  #app .space-left>.flower{width:40%!important;right:-8%!important;top:-4%!important}
  .partners>.flower.top-right,.catalog>.flower.top-right,.contact-page>.flower.top-right{width:22vw!important}
  .architecture-stage .flower.left-low{width:24vw!important}
  .architecture-stage .flower.bottom-right{width:18vw!important}
  .surface-statement>.flower.left-low{width:24vw!important}
}

/* LATIDOS brief content layer — keeps the approved visual structure. */
.hero-brief{
  position:absolute;
  left:7.5vw;
  bottom:9svh;
  z-index:7;
  width:min(620px,42vw);
  padding:22px 24px;
  color:#fff;
  background:rgba(17,38,27,.34);
  border:1px solid rgba(255,255,255,.26);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.hero-brief h1{font-size:clamp(44px,5.3vw,102px);line-height:.86;margin:7px 0 8px;letter-spacing:-.055em}
.hero-brief h2{font:500 clamp(17px,1.45vw,27px)/1.1 var(--display);margin:0 0 12px}
.hero-meta{font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px}
.hero-secondary{font-size:12px;line-height:1.5;max-width:470px;margin:0 0 16px}
.hero-brief-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hero-brief-actions .outline-button{border-color:rgba(255,255,255,.7);color:#fff}
.hero-brief-actions .underlink{color:#fff;font-size:9px;letter-spacing:.11em}

.floating-whatsapp{
  position:fixed;
  z-index:80;
  right:28px;
  bottom:25px;
  padding:12px 16px;
  border-radius:999px;
  background:#D19020;
  color:#11261B;
  font:700 9px/1 var(--body);
  letter-spacing:.1em;
  text-transform:uppercase;
  box-shadow:0 12px 28px rgba(17,38,27,.24);
}

.timeline-heading{
  position:absolute;
  z-index:7;
  left:var(--gutter);
  top:5svh;
  max-width:520px;
  pointer-events:none;
}
.timeline-heading h2{font-size:clamp(34px,3.8vw,72px);line-height:.92;margin-top:8px}
.type-title .day-label{display:block;font:700 10px/1 var(--body);letter-spacing:.18em;margin-bottom:12px}
.type-stats{font-size:10px}
.type-stats b{font:500 clamp(15px,1.2vw,22px)/1.2 var(--display)!important;display:block;max-width:260px}
.type-description{max-width:420px!important}
.type-description p{max-width:420px!important;line-height:1.48!important}
.timeline-highlight{color:#D19020;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

.amenities-heading{
  position:absolute;
  z-index:8;
  top:5svh;
  left:var(--gutter);
  color:#fff;
  width:min(560px,42vw);
  pointer-events:none;
}
.amenities-heading h2{font-size:clamp(32px,4vw,76px);line-height:.92;margin-top:8px}

.optional-experience .space-right .optional-why{font:500 clamp(18px,1.6vw,29px)/1.15 var(--display);margin:18px 0}
.optional-experience .optional-note{opacity:.7;max-width:540px;margin:18px 0}
.optional-experience .outline-button{margin-top:18px}

.gallery-heading{
  position:absolute;
  z-index:6;
  left:var(--gutter);
  top:7svh;
  max-width:650px;
  pointer-events:none;
}
.gallery-heading h2{font-size:clamp(34px,4.4vw,84px);line-height:.93;margin:8px 0}
.gallery-heading>p:last-child{font-size:9px;letter-spacing:.1em;line-height:1.5}

.practical-info .architecture-quote{width:min(600px,38vw)}
.practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;margin-top:20px}
.practical-grid div{border-top:1px solid rgba(255,255,255,.3);padding-top:9px}
.practical-grid dt{font-size:8px;letter-spacing:.12em;margin-bottom:5px}
.practical-grid dd{font:500 15px/1.25 var(--display);margin:0}

.information-heading{max-width:760px;margin:0 auto 7svh;padding:0 var(--gutter);text-align:center}
.information-heading h2{font-size:clamp(38px,5vw,92px);line-height:.92;margin-top:8px}
.final-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:20px}
.final-actions .underlink{color:inherit}

@media(max-width:800px){
  .hero-brief{left:18px;right:18px;bottom:11svh;width:auto;padding:17px 18px}
  .hero-brief h1{font-size:clamp(42px,12vw,68px)}
  .hero-brief h2{font-size:18px}
  .hero-secondary{font-size:11px}
  .floating-whatsapp{right:14px;left:14px;bottom:12px;text-align:center;padding:13px 12px}
  .timeline-heading{position:relative;left:auto;top:auto;padding:70px 24px 0;max-width:none}
  .timeline-heading h2{font-size:44px}
  .type-stats b{font-size:16px!important;max-width:100%}
  .type-description{max-width:none!important}
  .type-description p{max-width:none!important}
  .amenities-heading{top:4svh;left:24px;width:76vw}
  .amenities-heading h2{font-size:35px}
  .gallery-heading{position:relative;left:auto;top:auto;padding:55px 24px 25px;max-width:none}
  .gallery-heading h2{font-size:40px}
  .practical-info .architecture-quote{width:76vw!important;max-width:none!important}
  .practical-grid{grid-template-columns:1fr;gap:9px}
  .information-heading{padding:0 24px}
}

/* Long conversion headline from the final LATIDOS brief. */
.finale-title h2{font-size:clamp(48px,6.3vw,122px)!important;line-height:.9!important}
@media(max-width:800px){.finale-title h2{font-size:clamp(40px,11vw,62px)!important}}

/* LATIDOS · galería automática de fotos */
.auto-photo-gallery{
  position:relative;
  overflow:hidden;
  padding:10svh 0 11svh;
  background:var(--paper);
  color:var(--ink);
}
.auto-gallery-heading{
  width:min(1180px,88vw);
  margin:0 auto 5svh;
}
.auto-gallery-heading .micro{
  margin-bottom:14px;
  color:var(--blue);
}
.auto-gallery-heading h2{
  margin:0;
  max-width:850px;
  font-size:clamp(48px,6.2vw,118px);
  line-height:.9;
  letter-spacing:-.045em;
}
.auto-gallery-heading>p:last-child{
  margin-top:22px;
  max-width:1000px;
  font:10px/1.5 var(--body);
  letter-spacing:.12em;
}
.auto-gallery-viewport{
  width:100%;
  overflow:hidden;
  padding:0 0 2px;
}
.auto-gallery-track{
  display:flex;
  width:max-content;
  will-change:transform;
  transform:translate3d(0,0,0);
  animation:latidos-gallery-flow 76s linear infinite;
}
.auto-gallery-group{
  display:flex;
  gap:18px;
  padding-right:18px;
  flex:none;
}
.auto-gallery-card{
  position:relative;
  flex:0 0 clamp(330px,34vw,610px);
  width:clamp(330px,34vw,610px);
  height:clamp(300px,39vw,700px);
  margin:0;
  overflow:hidden;
  background:#11261B;
}
.auto-gallery-card:nth-child(3n+2){
  flex-basis:clamp(280px,27vw,480px);
  width:clamp(280px,27vw,480px);
}
.auto-gallery-card:nth-child(3n){
  height:clamp(340px,44vw,760px);
}
.auto-gallery-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:translateZ(0);
}
.auto-gallery-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 62%,rgba(17,38,27,.58));
  pointer-events:none;
}
.auto-gallery-card figcaption{
  position:absolute;
  left:22px;
  bottom:19px;
  z-index:2;
  color:#fff;
  font:9px/1.2 var(--body);
  letter-spacing:.16em;
}
@keyframes latidos-gallery-flow{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media(max-width:800px){
  .auto-photo-gallery{padding:9svh 0}
  .auto-gallery-heading{width:86vw;margin-bottom:4svh}
  .auto-gallery-heading h2{font-size:clamp(42px,11vw,70px)}
  .auto-gallery-card,
  .auto-gallery-card:nth-child(3n+2){
    flex-basis:78vw;
    width:78vw;
    height:58svh;
    max-height:620px;
  }
  .auto-gallery-card:nth-child(3n){height:64svh}
  .auto-gallery-track{animation-duration:64s}
}
@media(prefers-reduced-motion:reduce){
  .auto-gallery-viewport{overflow-x:auto;scroll-snap-type:x proximity}
  .auto-gallery-track{animation:none}
  .auto-gallery-card{scroll-snap-align:start}
}

/* Real Caño Cristales photos added to the automatic gallery. */
.auto-gallery-card.real-photo img{object-position:50% 50%}

/* === 2026-09-19 final visual adjustments requested by client === */

/* 1) Avoid overlap in the Day 01 / Day 02 / Day 03 section. */
@media (min-width: 801px){
  .timeline-heading{
    top:4.5svh !important;
    left:4.5vw !important;
    max-width:340px !important;
  }
  .timeline-heading h2{
    font-size:clamp(42px,3.3vw,68px) !important;
    line-height:.92 !important;
  }
  .type-panel{
    padding-top:18svh !important;
  }
  .type-title{
    max-width:min(1100px,70%) !important;
    margin:0 auto 3svh !important;
    font-size:clamp(42px,5.1vw,102px) !important;
    line-height:.94 !important;
    text-wrap:balance;
  }
  .type-layout{
    width:min(1280px,72%) !important;
    grid-template-columns:.8fr 1.08fr .95fr !important;
    gap:3.2vw !important;
    align-items:start !important;
  }
  .type-photo{height:54svh !important;}
  .type-description{padding-top:1.1svh;}
}

/* 2) Make the automatic gallery uniform and cleaner. */
.auto-gallery-group{
  align-items:stretch;
}
.auto-gallery-card,
.auto-gallery-card:nth-child(3n+2),
.auto-gallery-card:nth-child(3n){
  flex:0 0 clamp(360px,31vw,540px) !important;
  width:clamp(360px,31vw,540px) !important;
  height:clamp(430px,36vw,620px) !important;
  border-radius:2px;
}
.auto-gallery-card img{
  object-fit:cover !important;
  object-position:center center !important;
}
@media(max-width:800px){
  .auto-gallery-card,
  .auto-gallery-card:nth-child(3n+2),
  .auto-gallery-card:nth-child(3n){
    flex-basis:78vw !important;
    width:78vw !important;
    height:58svh !important;
    max-height:620px !important;
  }
}

/* 3) Stronger glass frame in the hero, matching the requested effect. */
.hero-brief{
  position:absolute;
  left:7.5vw;
  bottom:7svh;
  z-index:9 !important;
  width:min(650px,42vw);
  padding:24px 26px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.08)) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:0 18px 45px rgba(10,24,17,.22), inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter:blur(14px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(130%) !important;
  overflow:hidden;
}
.hero-brief::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.04) 42%, rgba(255,255,255,.02));
  pointer-events:none;
}
.hero-brief::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  pointer-events:none;
}
.hero-brief > *{position:relative; z-index:1;}
.hero-brief h1,
.hero-brief h2,
.hero-brief p,
.hero-brief a{ text-shadow:0 2px 16px rgba(9,19,14,.18); }
@media(max-width:800px){
  .hero-brief{
    left:18px !important;
    right:18px !important;
    width:auto !important;
    bottom:20px !important;
    padding:18px 18px 20px !important;
    border-radius:16px;
  }
}

/* === 2026-09-19 readability hotfixes === */

/* Hero glass stronger so the text never gets lost on bright frames. */
.hero-brief{
  background:linear-gradient(180deg, rgba(15,38,27,.54), rgba(15,38,27,.34)) !important;
  border:1px solid rgba(255,255,255,.26) !important;
  box-shadow:0 18px 48px rgba(6,18,13,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
  backdrop-filter:blur(18px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(135%) !important;
}
.hero-brief::before{
  background:linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.05) 38%, rgba(255,255,255,.02)) !important;
}
.hero-brief h1,
.hero-brief h2,
.hero-brief p,
.hero-brief a,
.hero-brief .micro,
.hero-brief .eyebrow,
.hero-brief .underlink{
  color:#fff !important;
  text-shadow:0 3px 18px rgba(5,14,10,.35) !important;
}
.hero-brief-actions .outline-button{
  border-color:rgba(255,255,255,.82) !important;
  color:#fff !important;
}

/* Day panels: keep title clear and stop route/experiences text from appearing behind it. */
@media (min-width:801px){
  .type-panel{
    overflow:hidden;
  }
  .type-title{
    position:relative !important;
    z-index:2 !important;
    max-width:min(900px,58%) !important;
    margin:0 0 3.2svh 24.5% !important;
    text-align:left !important;
    font-size:clamp(40px,4.7vw,94px) !important;
    line-height:.94 !important;
  }
  .type-layout{
    position:relative !important;
    z-index:4 !important;
    width:min(1320px,74%) !important;
    margin:0 auto !important;
    grid-template-columns:.82fr 1.02fr .96fr !important;
    gap:3vw !important;
    align-items:start !important;
  }
  .type-stats,
  .type-description,
  .type-photo{
    position:relative;
    z-index:4;
  }
  .type-stats{
    padding-top:4svh;
  }
  .type-stats b,
  .type-stats div,
  .type-stats p,
  .type-stats span{
    position:relative;
    z-index:5;
  }
  .type-photo{
    height:55svh !important;
  }
}

/* === 2026-09-19 LATIDOS layout & brand adjustments === */
:root{
  --blue:#1D558E !important;
  --brand-blue:#1D558E !important;
  --line:rgba(29,85,142,.28) !important;
}

.surface-blue,
.circle-reveal:not(.paper),
.reasons{
  background:var(--blue) !important;
  color:#fff !important;
}
.circle-reveal:not(.paper) .circle-type,
.circle-reveal:not(.paper) .circle-caption,
.circle-reveal:not(.paper) .circle-heading,
.reasons .tagline,
.reasons .reason-title,
.reasons .reason-copy,
.reasons .carousel-controls,
.reasons .carousel-controls button,
.reasons .carousel-controls span{
  color:#fff !important;
}
.reasons .carousel-line,
.reasons .carousel-line i{background:rgba(255,255,255,.35)!important}
.reasons .carousel-line i{background:#fff!important}

/* transparent logo */
.brand{
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
  border:0 !important;
}
.brand-logo-small{filter:none !important}

/* video click affordance + medium lightbox */
.latidos-video-media{cursor:zoom-in; position:relative}
.latidos-video-media::after{
  content:'AMPLIAR VIDEO';
  position:absolute;
  right:16px;
  bottom:16px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(17,38,27,.68);
  color:#fff;
  font:600 10px/1 var(--body);
  letter-spacing:.14em;
  opacity:0;
  transition:opacity .25s ease;
  pointer-events:none;
}
.latidos-video-media:hover::after{opacity:1}
.gallery-dialog{
  width:min(92vw,1240px) !important;
  height:min(88svh,860px) !important;
  max-width:min(92vw,1240px) !important;
  max-height:min(88svh,860px) !important;
  margin:auto !important;
  border:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  box-shadow:0 40px 120px rgba(0,0,0,.28) !important;
}
.gallery-dialog::backdrop{background:rgba(6,18,26,.55)!important}
.gallery-dialog .dialog-close{position:absolute !important; top:18px !important; right:18px !important; z-index:3}
.lightbox-photo{inset:38px 38px 88px !important}
.lightbox-photo .media>video[data-brand-video],
.lightbox-photo .media img{object-fit:contain !important; object-position:center center !important; border-radius:18px}
.lightbox-bottom{left:38px !important; right:38px !important; bottom:24px !important}
.lightbox-bottom .carousel-controls{display:none !important}
.lightbox-label{font-size:12px !important; letter-spacing:.12em !important; text-transform:uppercase; max-width:100% !important}

/* location section: avoid image/text collisions */
.location-scroll,
.location-scroll.surface-paper{background:#fff !important; color:var(--ink) !important}
.story-track .location-title,
.location-title{
  max-width:min(44vw,620px) !important;
  line-height:.92 !important;
}
.story-track .location-photo,
.location-photo{
  left:auto !important;
  right:7vw !important;
  width:32vw !important;
}
.story-track .location-text,
.location-text{
  left:12vw !important;
  bottom:11svh !important;
  width:32vw !important;
}
.story-track .location-second h2,
.location-second h2{
  width:min(44vw,620px) !important;
  right:8vw !important;
  top:12svh !important;
  font-size:clamp(42px,4.5vw,82px) !important;
}
.story-track .location-second .coastline,
.location-second .coastline{width:70vw !important; right:7vw !important}

/* white travesia section, no extra heading, clearer separation */
.types-scroll,
#travesia{background:#fff !important; color:var(--ink) !important}
.timeline-heading{display:none !important}
@media (min-width:801px){
  .type-panel{padding-top:12svh !important; overflow:visible !important}
  .type-title{
    max-width:min(760px,52%) !important;
    margin:0 auto 4svh 18% !important;
    font-size:clamp(38px,4.2vw,78px) !important;
    line-height:.95 !important;
  }
  .type-layout{
    width:min(1280px,78%) !important;
    grid-template-columns:.8fr .95fr 1fr !important;
    gap:3.4vw !important;
    align-items:start !important;
  }
  .type-photo{height:49svh !important; margin-top:2.2svh !important}
  .type-stats{padding-top:10svh !important}
  .type-stats b{font-size:clamp(16px,1.15vw,22px) !important; line-height:1.4 !important}
  .type-description{padding-top:7svh !important; max-width:420px !important}
}

/* territory callout and statement */
.territory-icons{
  position:absolute;
  left:50%;
  bottom:17svh;
  transform:translateX(-50%);
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  width:min(920px,86vw);
  z-index:5;
}
.territory-icons span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(17,38,27,.15);
  background:rgba(255,255,255,.78);
  color:var(--ink);
  font:700 11px/1 var(--body);
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 12px 32px rgba(17,38,27,.08);
}
.surface-statement{background:var(--blue)!important;color:#fff!important}
.surface-statement .tagline,
.surface-statement h2{color:#fff!important}
.surface-statement h2{
  max-width:min(980px,72vw) !important;
  font-size:clamp(38px,4.15vw,72px) !important;
  line-height:1.02 !important;
  margin-inline:auto !important;
  text-align:center !important;
}
.surface-statement>.flower.left-low{opacity:.16 !important}

/* practical section with white background and dark text but fewer collisions */
.architecture-scroll,
.partners{background:#fff !important; color:var(--ink) !important}
.partner-button{
  font-size:clamp(34px,5.4vw,92px) !important;
  line-height:1.02 !important;
}

/* chatbot + WhatsApp */
.latidos-chat{
  position:fixed;
  left:24px;
  bottom:24px;
  z-index:95;
  width:min(340px,calc(100vw - 48px));
  font-family:var(--body);
}
.chat-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 18px;
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 18px 50px rgba(17,38,27,.18);
  border:1px solid rgba(17,38,27,.08);
  font:700 12px/1 var(--body);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.chat-panel{
  margin-top:12px;
  border-radius:22px;
  background:#fff;
  color:var(--ink);
  padding:18px;
  box-shadow:0 20px 60px rgba(17,38,27,.18);
  border:1px solid rgba(17,38,27,.08);
}
.chat-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px}
.chat-close{font-size:24px; line-height:1; color:var(--ink)}
.chat-copy{font-size:14px; line-height:1.5; margin-bottom:10px}
.chat-facts{margin:0; padding-left:18px; display:grid; gap:8px; font-size:13px; line-height:1.45}
.chat-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px}
.chat-wa,
.chat-link{
  flex:1 1 140px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border-radius:999px;
  padding:12px 16px;
  font:700 11px/1 var(--body);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.chat-wa{background:#25D366; color:#0b2818}
.chat-link{background:var(--brand-blue); color:#fff}

@media (max-width:800px){
  .gallery-dialog{
    width:min(94vw,94vw) !important;
    height:min(78svh,78svh) !important;
    max-width:min(94vw,94vw) !important;
    max-height:min(78svh,78svh) !important;
    border-radius:20px !important;
  }
  .lightbox-photo{inset:52px 16px 82px !important}
  .lightbox-bottom{left:16px !important; right:16px !important; bottom:18px !important}
  .territory-icons{position:relative; left:auto; transform:none; bottom:auto; width:100%; margin:28px auto 0; padding:0 24px}
  .surface-statement h2{max-width:88vw !important; font-size:clamp(28px,8vw,46px) !important}
  .latidos-chat{left:14px; right:14px; bottom:14px; width:auto}
  .floating-whatsapp{right:14px; bottom:86px !important}
  .brand{width:124px !important}
}

/* === 2026-09-19 · Ajustes finales visuales y chat === */
.circle-reveal:not(.paper) .circle-stage,
.circle-reveal:not(.paper) .circle-stage .circle-type,
.circle-reveal:not(.paper) .circle-stage .circle-caption,
.circle-reveal:not(.paper) .circle-stage .circle-heading,
.circle-reveal:not(.paper) .circle-stage .circle-caption span,
.circle-reveal:not(.paper) .circle-stage .rosette-small,
.reasons.surface-blue,
.surface-statement.surface-blue{
  color:#fff !important;
}
.circle-reveal:not(.paper) .circle-caption:after{
  background:rgba(255,255,255,.32) !important;
}

/* Reubicar CTA circular para que no invada el contenido */
.location-second .round-cta{
  top:auto !important;
  bottom:12svh !important;
  left:9vw !important;
  width:clamp(118px,10vw,164px) !important;
  z-index:6 !important;
}
.location-second .round-cta .micro{
  max-width:108px !important;
  font-size:clamp(8px,.62vw,10px) !important;
  line-height:1.35 !important;
}
.location-second .coastline{
  right:4vw !important;
  width:min(62vw,880px) !important;
}

/* Timeline día 1/2/3: evitar textos encimados */
.type-layout{
  align-items:start !important;
}
.type-stats,
.type-description,
.type-photo{
  min-width:0 !important;
}
.type-stats > div{
  margin-bottom:28px !important;
}
.type-stats b{
  display:block !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  line-height:1.35 !important;
}
@media (min-width:801px){
  .type-layout{
    grid-template-columns:minmax(230px,.86fr) minmax(320px,.96fr) minmax(290px,1fr) !important;
    gap:3.2vw !important;
  }
  .type-stats b{
    font-size:clamp(13px,1.02vw,18px) !important;
  }
  .type-description{
    padding-top:5.4svh !important;
  }
  .type-description p{
    max-width:100% !important;
  }
}

/* Mostrar mejor la macarenia/algas en la primera escena del recorrido */
.type-panel[data-type-panel="0"] .type-photo .media img,
.type-panel[data-type-panel="0"] .type-photo .media video{
  object-position:50% 88% !important;
}

/* Chat renovado */
.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.latidos-chat{
  width:min(380px,calc(100vw - 48px)) !important;
}
.chat-toggle{
  justify-content:flex-start !important;
  gap:12px !important;
  padding:12px 16px !important;
  border-radius:20px !important;
  box-shadow:0 18px 48px rgba(17,38,27,.18) !important;
}
.chat-toggle-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,#1D558E,#163f6b);
  color:#fff;
  font-size:16px;
  flex:0 0 auto;
}
.chat-toggle-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  text-align:left;
}
.chat-toggle-copy strong{
  font:700 12px/1 var(--body);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink);
}
.chat-toggle-copy small{
  font:600 10px/1.1 var(--body);
  letter-spacing:.04em;
  color:rgba(17,38,27,.58);
  text-transform:none;
}
.chat-panel{
  padding:18px !important;
  border-radius:22px !important;
}
.chat-status{
  margin:4px 0 0;
  font-size:11px;
  line-height:1.35;
  color:rgba(17,38,27,.58);
}
.chat-messages{
  display:grid;
  gap:10px;
  max-height:260px;
  overflow:auto;
  padding:2px 2px 4px;
  margin:10px 0 14px;
}
.chat-message{
  display:flex;
}
.chat-message.user{
  justify-content:flex-end;
}
.chat-bubble{
  max-width:86%;
  border-radius:18px;
  padding:11px 13px;
  font-size:13px;
  line-height:1.5;
  box-shadow:0 8px 24px rgba(17,38,27,.08);
}
.chat-message.assistant .chat-bubble{
  background:#f6f7f8;
  color:var(--ink);
  border-top-left-radius:8px;
}
.chat-message.user .chat-bubble{
  background:var(--brand-blue);
  color:#fff;
  border-top-right-radius:8px;
}
.chat-quick{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 14px;
}
.chat-quick button{
  border:1px solid rgba(17,38,27,.12);
  background:#fff;
  color:var(--ink);
  border-radius:999px;
  padding:9px 12px;
  font:700 10px/1 var(--body);
  letter-spacing:.05em;
}
.chat-quick button:hover{
  background:#f4f6f8;
}
.chat-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
.chat-input{
  width:100%;
  min-height:48px;
  max-height:116px;
  resize:vertical;
  border:1px solid rgba(17,38,27,.12);
  border-radius:16px;
  padding:12px 14px;
  background:#fff;
  color:var(--ink);
  font:500 13px/1.45 var(--body);
}
.chat-send{
  min-height:48px;
  padding:0 16px;
  border-radius:16px;
  background:var(--brand-blue);
  color:#fff;
  font:700 11px/1 var(--body);
  letter-spacing:.09em;
  text-transform:uppercase;
}
.chat-actions{
  margin-top:14px !important;
}
.chat-wa,
.chat-link{
  min-height:42px !important;
}
@media (max-width:800px){
  .location-second .round-cta{
    left:24px !important;
    bottom:16px !important;
  }
  .chat-toggle-copy strong{
    font-size:11px;
  }
  .chat-panel{
    padding:16px !important;
  }
  .chat-form{
    grid-template-columns:1fr;
  }
  .chat-send{
    width:100%;
  }
}

/* === 2026-09-19 · Correcciones urgentes solicitadas por cliente === */

/* 1) Sección azul del texto curvo: letras blancas de verdad */
.circle-reveal:not(.paper),
.circle-reveal.surface-blue,
.circle-reveal:not(.paper) .circle-stage{
  color:#fff !important;
}
.circle-reveal:not(.paper) .circle-type,
.circle-reveal:not(.paper) .circle-type text,
.circle-reveal:not(.paper) .circle-type textPath,
.circle-reveal:not(.paper) .circle-heading,
.circle-reveal:not(.paper) .circle-caption,
.circle-reveal:not(.paper) .circle-caption span,
.circle-reveal:not(.paper) .circle-stage .rosette-small{
  color:#fff !important;
  fill:#fff !important;
  stroke:none !important;
}
.circle-reveal:not(.paper) .circle-caption:after{
  background:rgba(255,255,255,.34) !important;
}

/* 2) Sección SERRANÍA DE LA MACARENA: alinear mejor para que no tape el video ni la flor */
.location-scroll,
.location-scroll.surface-paper{
  background:#fff !important;
}
.location-first{
  overflow:hidden !important;
}
.location-country{
  left:28vw !important;
  top:24svh !important;
  z-index:7 !important;
}
.location-title,
.story-track .location-title{
  left:22vw !important;
  top:17svh !important;
  max-width:min(34vw,540px) !important;
  z-index:7 !important;
  line-height:.92 !important;
}
.location-photo,
.story-track .location-photo{
  right:4vw !important;
  left:auto !important;
  top:8svh !important;
  width:27vw !important;
  height:78svh !important;
  z-index:4 !important;
}
.location-photo .media img,
.location-photo .media video,
.story-track .location-photo .media img,
.story-track .location-photo .media video{
  object-position:53% 84% !important;
}
.location-text,
.story-track .location-text{
  left:24vw !important;
  bottom:7svh !important;
  width:min(36vw,660px) !important;
  z-index:8 !important;
}
.location-text h3,
.story-track .location-text h3{
  font-size:clamp(28px,2.4vw,46px) !important;
  line-height:1.04 !important;
  margin-bottom:14px !important;
}
.location-text .copy,
.story-track .location-text .copy{
  max-width:100% !important;
}
.location-first .flower,
.story-track .location-first .flower{
  left:-7vw !important;
  bottom:-7svh !important;
  width:min(21vw,360px) !important;
  z-index:2 !important;
  opacity:.98 !important;
  pointer-events:none !important;
}

/* 3) Sección EL TERRITORIO SE VIVE: hacer visibles los elementos pedidos */
.territory-icons{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:14px !important;
  flex-wrap:wrap !important;
  position:relative !important;
  left:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:min(1000px,86vw) !important;
  margin:7svh auto 0 !important;
  z-index:5 !important;
}
.territory-icons span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  padding:12px 18px !important;
  border-radius:999px !important;
  border:1px solid rgba(17,38,27,.16) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 10px 30px rgba(17,38,27,.08) !important;
  font-size:13px !important;
  letter-spacing:.08em !important;
  color:var(--ink) !important;
}
.circle-reveal.paper.has-heading .circle-heading{
  max-width:min(72vw,940px) !important;
  margin:0 auto !important;
  text-align:center !important;
}

/* 4) Sección azul “LO QUE VAS A VIVIR”: texto blanco y máximo 3 renglones */
.surface-statement.surface-blue{
  background:var(--brand-blue) !important;
  color:#fff !important;
}
.surface-statement.surface-blue .tagline,
.surface-statement.surface-blue h2,
.surface-statement.surface-blue .reveal-title{
  color:#fff !important;
}
.surface-statement.surface-blue h2,
.surface-statement.surface-blue .reveal-title{
  max-width:min(70vw,1220px) !important;
  margin:0 auto !important;
  text-align:center !important;
  font-size:clamp(54px,5.5vw,92px) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
}
.surface-statement.surface-blue>.flower.left-low{
  left:-2vw !important;
  bottom:-1svh !important;
  width:min(18vw,300px) !important;
  opacity:.16 !important;
}

/* 5) Ruta y experiencias del día 1: que no se encimen */
.type-panel[data-type-panel="0"] .type-layout{
  grid-template-columns:minmax(250px,.9fr) minmax(340px,.96fr) minmax(300px,1fr) !important;
  gap:3.4vw !important;
  width:76% !important;
}
.type-panel[data-type-panel="0"] .type-stats b{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  line-height:1.42 !important;
}
.type-panel[data-type-panel="0"] .type-photo{
  height:60svh !important;
}
.type-panel[data-type-panel="0"] .type-photo .media img,
.type-panel[data-type-panel="0"] .type-photo .media video{
  object-position:50% 87% !important;
}

/* 6) Ajustes móviles / pantallas intermedias */
@media (max-width:1280px){
  .location-title,
  .story-track .location-title{left:20vw !important; max-width:min(38vw,520px) !important}
  .location-text,
  .story-track .location-text{left:22vw !important; width:min(38vw,560px) !important}
  .surface-statement.surface-blue h2,
  .surface-statement.surface-blue .reveal-title{max-width:76vw !important}
}
@media (max-width:900px){
  .location-country{left:4vw !important; top:auto !important}
  .location-title,
  .story-track .location-title{left:0 !important; top:auto !important; max-width:88vw !important}
  .location-photo,
  .story-track .location-photo{right:auto !important; width:82vw !important; height:62svh !important}
  .location-text,
  .story-track .location-text{left:auto !important; width:84vw !important}
  .location-first .flower,
  .story-track .location-first .flower{left:-14vw !important; width:42vw !important; bottom:2svh !important}
  .surface-statement.surface-blue h2,
  .surface-statement.surface-blue .reveal-title{max-width:88vw !important; font-size:clamp(30px,8vw,48px) !important}
  .type-panel[data-type-panel="0"] .type-layout{grid-template-columns:1fr !important; width:100% !important}
}
