/* Phone-first editorial layer; all decorative motion respects system settings. */
.mobile-dock,.hero-scroll-cue{display:none}.mobile-scene-glow{position:absolute;inset:8% 2%;border-radius:50%;background:radial-gradient(ellipse,#76a99b1c,transparent 68%);pointer-events:none}
@media(max-width:760px){
 html{scroll-padding-top:80px}.wrap{width:calc(100% - 36px)}
 .header{background:#081e2ef5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
 .header-inner{min-height:64px;gap:12px}.brand-name{font-size:15px}.brand-tag{font-size:8px;letter-spacing:.2em}.brand svg{width:29px;height:36px}.brand{gap:10px}.nav .button{display:none}.nav>a:not(.button){display:flex;align-items:center;min-height:44px;font-size:11px;color:#e6c995}.nav>a.desktop-only{display:none}.nav{gap:0}
 .hero{display:block;min-height:max(780px,calc(100svh - 64px));background:#071c2b;overflow:clip}
 .hero-visual{position:absolute;inset:0;min-height:0;z-index:0;background:#071c2b;perspective:900px;overflow:hidden}
 .hero-photo-plane{inset:-20px -16px -20px;border:0;box-shadow:none;z-index:1;transform:none;will-change:auto}
 .hero-photo-plane>img{object-fit:cover;object-position:56% 45%;opacity:.82}
 .hero-visual:after{z-index:2;background:linear-gradient(180deg,#061a2de8 0%,#061a2db8 28%,#061a2d5c 54%,#061a2d50 65%,#061a2de8 100%);pointer-events:none}
 .hero-orbit{z-index:3;left:-34%;top:22%;width:158%;height:78%;opacity:.22;stroke-width:.7;transform:rotate(-17deg)}
 .hero-depth{z-index:3;background:none;inset:0;pointer-events:none}
 .hero-ambient-grid{position:absolute;left:-35%;bottom:-12%;width:170%;height:46%;background-image:linear-gradient(#d1b77726 1px,transparent 1px),linear-gradient(90deg,#d1b77726 1px,transparent 1px);background-size:42px 42px;transform:perspective(400px) rotateX(63deg) rotateZ(-8deg);transform-origin:center;opacity:.3}
 .hero-copy{position:relative;z-index:4;display:block;padding:30px 24px 0;max-width:530px;transform:none}
 .hero-copy .eyebrow{font-size:9px;letter-spacing:.19em;max-width:300px;color:#e1c38a;line-height:1.8;margin:0 0 18px}
 .hero h1{font-size:clamp(42px,12.4vw,59px);line-height:1.08;margin:0 0 23px;max-width:480px;letter-spacing:-.035em;text-shadow:0 3px 28px #00101c66}
 .hero-lede{font-size:14px;line-height:1.75;color:#e0e7e8;max-width:320px;margin:0 0 25px;text-shadow:0 1px 9px #00101c88}
 .hero-actions{gap:12px}.hero-actions .button{padding:13px 22px;min-height:48px;border-radius:3px;background:#d1b372;box-shadow:0 10px 32px #00101c33}.hero-actions .outline{display:none}
 .hero-scroll-cue{display:flex;align-items:center;gap:11px;margin-top:26px;color:#e0cb9c;font-size:8px;letter-spacing:.18em}
 .scroll-cue-line{display:block;width:32px;height:1px;background:#d8bc85;position:relative;overflow:hidden}.scroll-cue-line:after{content:'';position:absolute;left:-12px;top:0;width:12px;height:1px;background:#fff5d7}
 .hero-place{font-size:8px;margin-top:20px;gap:12px;color:#d6dde0;letter-spacing:.16em}
 .hero-card{left:22px;right:22px;bottom:132px;padding:20px;z-index:5;background:#f6f0e1ee;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #fff7e3a8;border-radius:5px;box-shadow:0 25px 55px #00101c66;transform:rotate(-1deg);gap:12px}
 .hero-card h2{font-size:23px;line-height:1.22;margin:7px 0 10px}.hero-card p{font-size:10px}.hero-card .arrow{height:42px;width:42px;flex-shrink:0;border-color:#a9874c}
 .motion-ribbon{padding:16px 0;box-shadow:0 -1px 0 #dcc38b66}.ribbon-track{font-size:16px;letter-spacing:.13em;animation-duration:28s}
 .location-bar{padding:23px 0}.location-bar p{font-size:12px}
 .spatial-section{min-height:170svh}.spatial-stage{top:64px;width:calc(100% - 44px);min-height:calc(100svh - 64px);padding:35px 0 100px;justify-content:flex-start}
 .spatial-copy h2{font-size:43px;line-height:1.06;max-width:350px;margin-bottom:20px}.spatial-copy h2 br{display:inline}
 .spatial-copy>p:not(.eyebrow){font-size:13px;line-height:1.7;max-width:340px;margin-bottom:19px}.spatial-copy .eyebrow{font-size:9px}
 .spatial-copy .button{min-height:44px;border-radius:3px}.spatial-chapters{margin-top:23px;font-size:8px;gap:12px}
 .city-stage{height:320px;transform:scale(.62);margin-top:86px;margin-bottom:-104px;transform-origin:center top;width:100%}
 .city-world{top:62%;transform:translate(-50%,-50%) rotateX(calc(62deg - var(--city-progress,0) * 16deg)) rotateZ(calc(-38deg + var(--city-progress,0) * 82deg));will-change:auto}
 .city-caption{bottom:-6px;font-size:9px;letter-spacing:.14em}.mobile-scene-glow{inset:-30% -25%;background:radial-gradient(ellipse,#6ebbaa33,transparent 65%);opacity:.7}
 .section{padding:54px 0}.section-title h2{font-size:39px}.section-title p{font-size:13px;line-height:1.8}.section-title .eyebrow{font-size:9px}
 .filters{position:sticky;top:74px;z-index:7;border:1px solid #ded7c7;box-shadow:0 12px 34px #102c3e0d;border-radius:14px;background:#fffcf6f5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:14px;gap:10px;margin-bottom:24px}
 .field input,.field select{height:44px;font-size:14px;border-radius:7px;background:#f6f1e8}.field label{font-size:8px;letter-spacing:.13em;margin-bottom:5px}.reset{font-size:10px;min-height:20px}
 .result-line{font-size:11px}.result-line p+p{font-size:10px}.grid{grid-template-columns:1fr;gap:30px}
 .property-card{border-radius:18px;border-color:#e2dbcc;box-shadow:0 18px 45px #102c3e0d;transform:none;isolation:isolate}
 .property-media{height:300px;border-radius:17px 17px 0 0}.property-media img{transform:none;scale:1.07;transition:none}.property-media.poster img{scale:1;transform:none}
 .type-tag{font-size:9px;top:17px;left:17px;padding:7px 11px;border-radius:3px;box-shadow:0 5px 15px #091e2c20}.property-body{padding:23px}.property-location{font-size:10px}.property-body h3{font-size:27px;line-height:1.22;margin-bottom:17px}.card-facts{font-size:12px;line-height:1.65;gap:10px;margin-bottom:20px}.property-price{font-size:21px}.price-label{font-size:11px;margin-top:4px}
 .card-links{font-size:11px;gap:9px;padding-top:13px;margin-top:18px}.card-links a{min-height:44px;display:flex;align-items:center}.card-links .whatsapp-text{background:#edf3eb;color:#345d42;padding:0 11px;border-radius:6px}
 .land-art .extent{font-size:70px}.land-art .art-location{font-size:11px}.land-art:before{border-color:#dac28d66;width:185px;height:134px}.land-art:after{width:220px;height:153px}
 .floating-contact{display:none}.footer{padding-bottom:130px}.contact{padding:60px 0 86px}.contact h2{font-size:37px}.contact-actions .button{min-height:50px;border-radius:5px}
 .mobile-dock{display:flex;position:fixed;left:14px;right:14px;bottom:calc(13px + env(safe-area-inset-bottom,0px));z-index:40;gap:7px;align-items:center;border:1px solid #d6bc864d;background:#082337f2;border-radius:22px;padding:7px;box-shadow:0 14px 42px #04142155;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
 .mobile-dock a{min-height:49px;display:flex;gap:10px;align-items:center;justify-content:center;position:relative;font-size:12px;font-weight:600;letter-spacing:.015em;border-radius:16px;overflow:hidden}.mobile-dock svg{width:20px;height:20px;flex-shrink:0}.dock-browse{flex:.9;color:#e4c999}.dock-whatsapp{flex:1.4;background:#d2b476;color:#092235;box-shadow:0 2px 15px #d2b47612}.dock-whatsapp>span:last-child{font-size:18px}.dock-whatsapp:after{content:'';position:absolute;inset:-50%;background:linear-gradient(100deg,transparent 40%,#fff6dc4d 50%,transparent 60%);transform:translateX(-130%);pointer-events:none}
 .detail h1{font-size:38px;line-height:1.13}.detail-top{gap:32px}.detail-media{border-radius:12px;overflow:hidden}.detail-media.photo img{height:470px}.detail-buttons .button{min-height:49px;border-radius:5px}.fact-grid{gap:19px}.fact-grid dd{font-size:15px}
 body.motion-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .hero h1{animation:phone-title-enter .9s cubic-bezier(.2,.7,.2,1) both}
 body.motion-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .hero-photo-plane{transform:translate3d(0,calc(var(--mobile-hero-progress,0) * 55px),0) scale(calc(1.035 + var(--mobile-hero-progress,0) * .075)) rotateZ(calc(-1deg + var(--mobile-hero-progress,0) * 2deg))}
 body.motion-ready:not(.motion-reduced):not(.motion-paused) .hero-copy{transform:translateY(calc(var(--mobile-hero-progress,0) * -24px))}
 body.motion-ready:not(.motion-reduced):not(.motion-paused) .hero-card{transform:perspective(850px) translateY(calc(var(--mobile-hero-progress,0) * -25px)) rotateY(calc(-3deg + var(--mobile-hero-progress,0) * 6deg)) rotateZ(calc(-1deg + var(--mobile-hero-progress,0) * 2deg));animation:phone-card-breathe 7s ease-in-out infinite}
 body.motion-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .scroll-cue-line:after{animation:phone-cue 2.8s ease-in-out infinite}
 body.motion-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .hero-ambient-grid{animation:phone-grid-breathe 10s ease-in-out infinite}
 body.motion-ready:not(.motion-reduced):not(.motion-paused) .spatial-section.mobile-in-view .city-building{animation:phone-tower-float 6s ease-in-out infinite}
 .tower-two{animation-delay:-2s!important}.tower-three{animation-delay:-4s!important}
 body.motion-ready:not(.motion-reduced):not(.motion-paused) .spatial-section.mobile-in-view .mobile-scene-glow{animation:phone-glow 8s ease-in-out infinite}
 body.motion-ready:not(.motion-reduced):not(.motion-paused) .property-card.mobile-card-active{transform:perspective(1100px) rotateX(var(--mobile-card-rotate,0deg)) translate3d(0,var(--mobile-card-lift,0px),4px);transition:box-shadow .3s}
 body.motion-ready:not(.motion-reduced):not(.motion-paused) .property-card.mobile-card-active .property-media:not(.poster) img{transform:translateY(var(--mobile-image-y,0px))}
 body.motion-ready:not(.motion-reduced):not(.motion-paused) .mobile-dock{animation:phone-dock-enter .7s .25s cubic-bezier(.2,.7,.2,1) both}
 body.motion-ready:not(.motion-reduced):not(.motion-paused) .dock-whatsapp:after{animation:phone-dock-shimmer 8s 3s ease-in-out infinite}
 body.motion-reduced .city-world,body.motion-paused .city-world{transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-32deg)!important}
 body.motion-reduced .hero-copy,body.motion-paused .hero-copy,body.motion-reduced .hero-card,body.motion-paused .hero-card{transform:none!important;translate:none!important}
 body.motion-reduced .city-building,body.motion-paused .city-building{translate:none!important}
 body.motion-reduced .hero *,body.motion-reduced .mobile-dock *,body.motion-reduced .mobile-dock,body.motion-reduced .spatial-section *,body.motion-paused .hero *,body.motion-paused .mobile-dock *,body.motion-paused .mobile-dock,body.motion-paused .spatial-section *{animation:none!important}
}
@media(max-width:360px){.hero-copy{padding:28px 21px 0}.hero h1{font-size:42px}.hero-lede{font-size:13px;max-width:280px}.hero-card{left:18px;right:18px;padding:18px}.hero-card h2{font-size:21px}.hero{min-height:820px}.city-stage{transform:scale(.56);margin-top:90px}.spatial-copy h2{font-size:38px}.property-body{padding:20px}.property-body h3{font-size:25px}.card-links{font-size:10px}.card-links .whatsapp-text{padding:0 8px}.mobile-dock a{font-size:11px;gap:8px}.brand-name{font-size:13px}.brand-tag{font-size:7px}.detail-buttons .button{font-size:12px}}
@media(max-width:760px) and (max-height:700px){.hero-copy{padding-top:24px}.hero h1{font-size:42px}.hero-copy .eyebrow{margin-bottom:14px}.hero-lede{font-size:13px;line-height:1.7;margin-bottom:19px}.hero-scroll-cue{display:none}.hero-place{margin-top:21px}.hero{min-height:790px}.spatial-stage{position:relative;top:0;min-height:0;padding-bottom:90px}.spatial-section{min-height:0}.city-stage{margin-top:85px}.filters{position:relative;top:0}}
@keyframes phone-title-enter{from{opacity:.2;transform:perspective(650px) translateY(18px) rotateX(9deg)}to{opacity:1;transform:none}}
@keyframes phone-card-breathe{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes phone-tower-float{0%,100%{translate:0 0 0}50%{translate:0 0 13px}}
@keyframes phone-cue{0%,15%{translate:0}70%,100%{translate:46px}}
@keyframes phone-grid-breathe{0%,100%{opacity:.22}50%{opacity:.42}}
@keyframes phone-glow{0%,100%{opacity:.45;scale:.92}50%{opacity:.85;scale:1.05}}
@keyframes phone-dock-enter{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes phone-dock-shimmer{0%,65%{transform:translateX(-130%)}85%,100%{transform:translateX(130%)}}
@media(prefers-reduced-motion:reduce){.hero *, .spatial-section *, .mobile-dock,.mobile-dock *{animation:none!important}.hero-copy,.hero-card{transform:none!important;translate:none!important}.city-building{translate:none!important}.mobile-card-active{transform:none!important}.mobile-card-active img{transform:none!important}}

@media(max-width:760px){.hero:not(.is-in-view) .hero-card{animation-play-state:paused!important}}
