:root{--ink:#201d19;--muted:#586171;--bronze:#914b28;--cream:#faf9f6;--line:#e5e0d8}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font:16px Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #ad6c3c;outline-offset:4px}[hidden]{display:none!important}.shell{width:calc(100% - 64px);max-width:1296px;margin:0 auto}h1,h2,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}svg{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.site-header{position:relative;z-index:5;border-bottom:1px solid var(--line)}.nav{height:96px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:24px;flex-shrink:0}.brand img{width:62px;height:62px}.brand span{font:20px Georgia,serif;letter-spacing:4px}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:3.5px;margin-top:10px}.nav nav{display:flex;align-items:center;gap:38px;font-size:14px}.publish{border:1px solid currentColor;padding:12px 28px;border-radius:2px;margin-left:12px}.nav a:hover{opacity:.75}.menu{display:none}.home .site-header{position:absolute;top:0;left:0;right:0;color:white;border:0}.hero{height:300px;background:linear-gradient(90deg,rgba(20,16,12,.3),transparent 65%),url('costa-aerea-4k.webp') center 18%/cover no-repeat}.hero h1{margin:0;padding-top:125px;color:white;font-size:60px;line-height:.99;letter-spacing:-1.7px}.search-wrap{position:relative;z-index:2;margin-top:-23px;padding:0 48px}.search{background:#faf9f8;box-shadow:0 5px 18px #372a1712;padding:0 24px 14px;border-radius:4px}.tabs{display:flex;gap:40px;min-height:42px;align-items:center}.tabs button{border:0;background:none;padding:9px 0 7px;color:#515c6a;font-size:15px;position:relative}.tabs button.active{color:var(--bronze)}.tabs button.active:after{position:absolute;content:'';height:1px;background:var(--bronze);bottom:3px;left:0;right:0}.fields{display:grid;grid-template-columns:1.1fr 1.05fr 1.05fr .85fr;gap:6px}.fields label{display:flex;align-items:center;background:white;border:1px solid #f0ede9;padding:0 15px;gap:13px;min-width:0}.fields label svg,.currency{color:var(--bronze);font-size:22px}.fields select{width:100%;min-width:0;border:0;background:transparent;color:#4c5768;font-size:12px;height:44px;outline-offset:0}.button{display:inline-flex;gap:16px;align-items:center;justify-content:center;border:1px solid #171715;background:#171715;color:white;padding:13px 22px;font-size:15px;min-height:44px;border-radius:2px}.button:hover{background:#3e3328}.featured{padding-top:16px}.eyebrow{text-transform:uppercase;color:var(--bronze);letter-spacing:3px;font-size:10px;margin-bottom:4px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:12px}.section-head h2{font-size:38px;letter-spacing:-1.2px;margin:0;line-height:1.1}.section-head>a{display:flex;align-items:center;gap:10px;color:var(--bronze);font-size:14px;padding-bottom:5px}.property-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,320px));gap:18px;justify-content:start}.property-card{border:1px solid #eeebe6;border-radius:3px;overflow:hidden;background:#fff;display:block;transition:box-shadow .2s}.property-card:hover{box-shadow:0 6px 20px #29201912}.property-image{height:105px;position:relative;overflow:hidden}.property-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.property-card:hover img{transform:scale(1.025)}.tag{position:absolute;top:9px;left:12px;background:#121416;color:white;padding:5px 11px;font-size:12px;text-transform:uppercase;border-radius:2px}.property-body{padding:7px 16px 9px}.property-body h3{font-size:16px;font-weight:500;margin:0 0 5px}.property-body p{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px;margin-bottom:5px}.property-body svg{color:var(--bronze);width:16px;height:16px}.meta{display:flex;gap:24px;font-size:13px;color:var(--muted);margin-bottom:5px}.meta span{display:flex;gap:10px;align-items:center}.price{display:flex;justify-content:space-between;align-items:center}.price strong{font-size:18px;font-weight:500}.price>svg{width:23px}.benefits{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:14px;padding:17px 0 18px}.benefits>div{display:flex;align-items:center;justify-content:center;gap:23px;color:var(--muted);font-size:14px;line-height:1.3;border-right:1px solid var(--line)}.benefits>div:last-child{border:0}.benefits svg{color:var(--bronze);width:36px;height:36px}.coast{background:linear-gradient(90deg,#0004,#0001),url('costa-4k.webp') center 56%/cover;min-height:140px;color:white}.coast>.shell{display:flex;justify-content:space-between;align-items:center;min-height:140px}.coast h2{font-size:37px;line-height:.96;margin:0}.light{background:#fff;color:var(--bronze);border-color:#fff;min-width:210px}.light:hover{background:#eee8e0}.coast small{display:block;letter-spacing:2px;font-size:9px;margin-top:10px;text-align:center}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;min-height:75px;font-size:10px;letter-spacing:1px;color:#77716a}.footer small{font-size:10px;letter-spacing:0}.page{padding-top:55px;padding-bottom:65px;min-height:calc(100vh - 175px)}.page h1{font-size:52px;letter-spacing:-1.5px;margin:8px 0 22px;line-height:1.1}.page h2{font-size:32px}.intro{font-size:19px;line-height:1.6;max-width:700px;color:#676056}.page>.search{margin-top:30px}.page .property-image{height:150px}.results-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 18px;font-size:14px;color:var(--muted)}.results-head p{margin:0}.results-head a{text-decoration:underline}.empty{grid-column:1/-1;padding:45px 0}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center;max-width:1120px}.about>img{width:100%;height:430px;object-fit:cover;object-position:50% 28%}.about p{line-height:1.8;color:#625c54}.about .button{margin-top:16px}.services{display:grid;grid-template-columns:1fr 1fr;gap:10px 70px;margin-top:45px}.services article{border-top:1px solid var(--line);padding:26px 0}.services h2{margin:12px 0}.services p{line-height:1.7;color:#625c54;max-width:480px}.services a{color:var(--bronze);font-size:14px}.services a svg{margin-left:12px}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;margin-top:40px}.contact-grid p{line-height:1.6;max-width:400px}.contact-location{margin:35px 0;color:var(--bronze)}#contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}#contact-form label{display:flex;flex-direction:column;gap:9px;font-size:14px}#contact-form label span{color:#777}#contact-form input,#contact-form select,#contact-form textarea,#prepared-message{width:100%;border:1px solid #d5cfc6;background:white;border-radius:0;padding:13px;color:var(--ink);min-width:0}#contact-form textarea{resize:vertical}.wide{grid-column:1/-1}.status{font-size:13px;color:#71685e;line-height:1.5}.back{font-size:14px;color:var(--bronze);display:inline-block;margin-bottom:28px}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.detail-head h1{font-size:42px;margin-bottom:15px}.detail-head>strong{font-size:25px;font-weight:400;white-space:nowrap}.detail-image{width:100%;height:380px;object-fit:cover}.detail-copy{display:grid;grid-template-columns:2fr 1fr;gap:80px;margin-top:35px;line-height:1.8}.specs{display:flex;gap:30px;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:25px;font-size:14px}.specs svg{color:var(--bronze);margin-right:8px}.detail-copy aside{padding:25px;background:#eee8df;align-self:start}.demo-note{font-size:13px;color:#7b736a;border-top:1px solid var(--line);padding-top:15px}
@media(min-width:1440px){.shell{max-width:1296px}.hero{height:300px}.property-image{height:110px}.page .property-image{height:150px}}
@media(max-width:1100px){.nav nav{gap:20px}.brand{gap:14px}.brand span{font-size:17px}.publish{padding:10px 16px;margin-left:0}.search-wrap{padding:0 20px}.hero h1{font-size:55px}.benefits>div{gap:12px;font-size:12px}.contact-grid{gap:40px}}
@media(max-width:800px){.shell{width:calc(100% - 36px)}.nav{height:82px}.brand img{width:52px;height:52px}.brand span{font-size:16px;letter-spacing:2.5px}.brand small{font-size:8px;letter-spacing:2px;margin-top:7px}.menu{display:block;background:transparent;color:inherit;border:1px solid currentColor;font-size:22px;width:42px;height:40px}.nav nav{display:none;position:absolute;top:82px;left:0;right:0;padding:24px;background:var(--cream);color:var(--ink);border-bottom:1px solid var(--line)}.nav nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav nav a{padding:15px}.publish{margin-top:10px;text-align:center}.hero{height:420px;background-position:57% center}.hero h1{padding-top:142px;font-size:47px;line-height:1.02;letter-spacing:-1px;text-shadow:0 2px 20px #0005}.search-wrap{padding:0;margin-top:-25px}.search{padding:5px 15px 15px}.tabs{gap:25px;min-height:48px;flex-wrap:wrap}.tabs button{font-size:14px}.fields{grid-template-columns:1fr 1fr;gap:8px}.fields label{padding:0 10px;gap:8px}.fields select{font-size:12px;height:46px}.featured{padding-top:28px}.section-head{align-items:start;flex-direction:column;gap:14px;margin-bottom:18px}.section-head h2{font-size:32px}.property-grid{grid-template-columns:1fr}.property-image,.page .property-image{height:150px}.property-body{padding:14px 16px}.property-body h3{font-size:18px}.property-body p{font-size:14px;margin:9px 0}.meta{font-size:14px;margin-bottom:10px}.price strong{font-size:20px}.benefits{grid-template-columns:1fr 1fr;gap:25px 0;padding:25px 0;margin-top:25px}.benefits>div{justify-content:flex-start;padding:0 10px;gap:12px;font-size:12px}.benefits>div:nth-child(2){border:0}.benefits svg{width:27px;height:27px}.coast,.coast>.shell{min-height:180px}.coast h2{font-size:30px}.light{min-width:150px;padding:12px 15px}.coast small{font-size:7px;letter-spacing:1px}.footer{padding:25px 0;gap:14px;flex-direction:column;align-items:start}.page{padding-top:35px;padding-bottom:45px}.page h1{font-size:38px}.page h2{font-size:28px}.about{grid-template-columns:1fr;gap:30px}.about>img{height:360px;max-width:380px}.about>div{grid-row:1}.services{grid-template-columns:1fr;gap:10px}.contact-grid{grid-template-columns:1fr;gap:30px}.detail-head{display:block}.detail-head>strong{display:block;margin:15px 0 25px}.detail-image{height:260px}.detail-copy{grid-template-columns:1fr;gap:25px}.specs{gap:15px;flex-wrap:wrap}.detail-head h1{font-size:36px}.intro{font-size:17px}}
@media(max-width:390px){.tabs{gap:18px}.tabs button{font-size:12px}.hero h1{font-size:34px}.fields{grid-template-columns:1fr}.benefits>div{font-size:11px;padding:0 5px;gap:8px}.coast>.shell{gap:15px}.coast h2{font-size:27px}.light{min-width:130px}#contact-form{grid-template-columns:1fr}#contact-form>*{grid-column:1}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@font-face{font-family:Z003Script;src:url('z003-script.woff') format('woff');font-weight:400;font-style:italic;font-display:swap}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:44px;font-weight:400;line-height:1.05;letter-spacing:-.6px;padding-top:146px;text-shadow:0 1px 12px #0003;width:max-content;max-width:100%}
.hero h1 span{display:block;white-space:nowrap}.hero h1 span:last-child{font-family:inherit;font-size:.96em;font-weight:400;letter-spacing:-.5px;margin-top:2px}
.service-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.service-fields:empty{display:none}
#contact-form label>span#message-label{color:var(--ink)}


@media(max-width:800px){.hero h1{font-size:36px;padding-top:158px;line-height:1.08}.hero h1 span:last-child{font-size:.96em}}
@media(max-width:390px){.hero h1{font-size:34px}.service-fields{grid-template-columns:1fr}}

/* Refinamiento visual, mapa y transiciones */
html.js body:not(.is-ready){opacity:0}
html.js body.is-ready{opacity:1;transition:opacity .35s ease}
body.is-leaving{opacity:0;transition:opacity .22s ease}
.brand img{object-fit:contain;border-radius:50%}
.nav nav a{position:relative;transition:color .2s ease,opacity .2s ease}
.nav nav a::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.nav nav a:hover{opacity:1;color:var(--bronze)}
.nav nav a:hover::after,.nav nav a:focus-visible::after{transform:scaleX(1)}
.button{transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 7px 16px #201d1920}
.button:active{transform:translateY(0) scale(.985);box-shadow:none}
.property-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.property-card:hover,.property-card:focus-visible{transform:translateY(-5px);border-color:#d9c6b6;box-shadow:0 14px 28px #29201919}
.property-card:active{transform:translateY(-1px) scale(.995)}
.property-image::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,#17120e18);pointer-events:none;transition:opacity .25s ease}
.property-card:hover .property-image::after{opacity:.45}
.property-card:hover .property-image img{transform:scale(1.045)}
.services article{transition:transform .25s ease,border-color .25s ease,background .25s ease;padding-right:18px}
.services article:hover{transform:translateX(5px);border-color:#c9a58d;background:#fffdf9}


.coast{background-image:linear-gradient(90deg,#0007,#0002 65%,#0004),url('costa-aerea-4k.webp');background-position:center 48%;background-size:cover}
.location-map{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:48px;border-top:1px solid var(--line);padding-top:32px;margin:48px 0 32px;scroll-margin-top:24px}
.map-copy h2{font-size:35px;line-height:1.08;letter-spacing:-.8px;margin:8px 0 14px}
.map-copy>p:not(.eyebrow){color:#686158;line-height:1.7;max-width:420px}
.map-list{display:grid;gap:6px;margin-top:25px}
.map-place{display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:11px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:13px 4px;text-align:left;transition:background .2s ease,color .2s ease,transform .2s ease}
.map-place:hover,.map-place.is-focused{background:#fffdf9;color:var(--bronze);transform:translateX(4px)}
.map-place-icon{color:var(--bronze);display:flex}.map-place-icon svg{width:19px;height:19px}
.map-place strong,.map-place small{display:block}.map-place strong{font-size:14px;font-weight:500}.map-place small{color:#756e65;font-size:11px;margin-top:4px}.map-place>svg{width:18px;height:18px}
.map-visual{position:relative;min-height:410px;overflow:hidden;border:1px solid #ddd5ca;background:#e9e4db;box-shadow:0 13px 30px #372a1710}
.map-frame{display:block;width:100%;height:410px;border:0;filter:saturate(.72) sepia(.12);background:linear-gradient(135deg,#e9e4db,#f7f4ee)}
.map-art{position:absolute;inset:0;background:#ebe6dd}
.map-art svg{display:block;width:100%;height:100%}
.map-land{fill:#f4f0e9}.map-water{fill:#dbe4e4}.map-coast{fill:none;stroke:#b7c8c5;stroke-width:3}.map-road{fill:none;stroke:#d9d0c5;stroke-width:3;stroke-linecap:round}.map-road.major{stroke:#cec1b2;stroke-width:5}.map-road.fine{stroke:#e3dbd1;stroke-width:2}.map-label{fill:#ab9d8e;font:11px Arial,sans-serif;letter-spacing:2px}
.map-pins{position:absolute;inset:0;pointer-events:none}
.map-pin{position:absolute;left:var(--map-x);top:var(--map-y);z-index:2;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--bronze);box-shadow:0 5px 15px #30201435;transform:translate(-50%,-50%);pointer-events:auto;transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease}
.map-pin svg{width:19px;height:19px}.map-pin:hover,.map-pin.is-focused{background:var(--bronze);color:#fff;transform:translate(-50%,-50%) scale(1.14);box-shadow:0 8px 19px #6e321f55}
.map-caption{position:absolute;left:12px;bottom:12px;background:#fffdf9e8;color:#70675d;font-size:10px;letter-spacing:.4px;padding:7px 9px;z-index:3}
.map-open{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:7px;background:#1e1b18e8;color:#fff;padding:8px 10px;font-size:11px;z-index:3;transition:background .2s ease,transform .2s ease}.map-open:hover{background:#914b28;transform:translateY(-2px)}.map-open svg{width:15px;height:15px}
.detail-location{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin:24px 0 28px}.detail-location p{margin:0}.detail-location p:not(.eyebrow){display:flex;align-items:center;gap:8px;color:#665e55}.detail-location p svg{width:18px;height:18px;color:var(--bronze)}.text-link{display:flex;align-items:center;gap:8px;color:var(--bronze);font-size:13px;white-space:nowrap}.text-link svg{width:17px;height:17px}
.about-copy>p{max-width:650px}.about-copy .intro{margin-bottom:26px}.about-copy h2{margin-bottom:23px}
@media(max-width:800px){.location-map{grid-template-columns:1fr;gap:25px;margin-top:38px}.map-copy h2{font-size:31px}.map-visual,.map-frame{min-height:350px;height:350px}.detail-location{align-items:flex-start;flex-direction:column;gap:12px}.map-open{font-size:10px}.map-caption{font-size:9px}.nav nav a::after{display:none}}
@media(prefers-reduced-motion:reduce){html.js body.is-ready,body.is-leaving{transition:none}.nav nav a::after,.map-pin,.map-place,.button,.property-card,.services article,.property-card:hover,.property-card:focus-visible,.services article:hover{transform:none}}


/* Ficha con galería de propiedades reales */
.detail-gallery{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;margin:12px 0 0;max-width:900px;align-items:start}
.gallery-main{height:500px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:transparent}
.gallery-main img{display:block;width:auto;height:auto;max-width:100%;max-height:500px;object-fit:contain;opacity:1;transform:translateX(0);will-change:opacity,transform,filter;transition:opacity .2s ease,transform .26s ease,filter .2s ease}
.gallery-main img.is-changing{opacity:.08;transform:translateX(-18px);filter:blur(2px)}
.gallery-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,245px);gap:10px;width:100%;height:500px}
.gallery-thumb{border:1px solid #ddd5ca;background:transparent;padding:6px;overflow:hidden;border-radius:2px;display:flex;align-items:center;justify-content:center;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease,background-color .2s ease}
.gallery-thumb img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;transition:opacity .22s ease,filter .22s ease}
.gallery-thumb:hover,.gallery-thumb:focus-visible{border-color:var(--bronze);box-shadow:0 5px 14px #30201414;background:#fff}
.gallery-thumb:hover img{opacity:.88}
.gallery-thumb.is-swapping img{opacity:.25;filter:blur(1px)}
.feature-list{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.feature-list h2{font-size:24px;margin-bottom:14px}
.feature-list ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0;padding:0;list-style:none}
.feature-list li{position:relative;padding-left:18px;color:#625c54}
.feature-list li::before{content:'•';position:absolute;left:0;color:var(--bronze)}
@media(max-width:900px){.detail-gallery{grid-template-columns:1fr;max-width:760px}.gallery-main{height:auto;min-height:0}.gallery-main img{max-height:460px}.gallery-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;height:auto}.gallery-thumb{height:190px}.feature-list ul{grid-template-columns:1fr}}
@media(max-width:520px){.gallery-main img{max-height:390px}.gallery-thumbs{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.gallery-thumb{height:170px}}


/* Galería carrusel centrada v5 */
.carousel-gallery{margin:18px 0 8px;max-width:100%}
.carousel-stage{position:relative;height:570px;overflow:hidden;isolation:isolate;user-select:none}
.carousel-slide{position:absolute;left:50%;top:50%;width:405px;padding:0;border:0;background:transparent;opacity:0;transform:translate(-50%,-50%) scale(.52);transition:transform .56s cubic-bezier(.2,.72,.24,1),opacity .48s ease,filter .48s ease;will-change:transform,opacity;cursor:pointer;z-index:1}
.carousel-slide img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:3px;box-shadow:0 14px 34px rgba(45,32,20,.10);pointer-events:none}
.carousel-slide[data-pos="current"]{transform:translate(-50%,-50%) translateX(0) scale(1);opacity:1;filter:none;z-index:5}
.carousel-slide[data-pos="prev"]{transform:translate(-50%,-50%) translateX(-405px) scale(.58);opacity:.30;filter:saturate(.8);z-index:2}
.carousel-slide[data-pos="next1"]{transform:translate(-50%,-50%) translateX(345px) scale(.58);opacity:.52;filter:saturate(.86);z-index:4}
.carousel-slide[data-pos="next2"]{transform:translate(-50%,-50%) translateX(500px) scale(.47);opacity:.30;filter:saturate(.78);z-index:3}
.carousel-slide[data-pos="next3"]{transform:translate(-50%,-50%) translateX(610px) scale(.38);opacity:.16;filter:saturate(.72);z-index:2}
.carousel-slide[data-pos="hidden"]{transform:translate(-50%,-50%) translateX(660px) scale(.32);opacity:0;pointer-events:none;z-index:1}
.carousel-slide[data-pos="current"]:hover img{box-shadow:0 18px 44px rgba(45,32,20,.16)}
.carousel-arrow{position:absolute;top:50%;width:46px;height:46px;border-radius:999px;border:1px solid rgba(32,29,25,.18);background:rgba(250,249,246,.92);color:var(--ink);font:30px/1 Georgia,serif;display:grid;place-items:center;z-index:10;box-shadow:0 8px 24px rgba(35,25,18,.10);transition:transform .2s ease,background .2s ease;backdrop-filter:blur(8px)}
.carousel-arrow:hover{transform:translateY(-50%) scale(1.06);background:#fff}
.carousel-prev{left:calc(50% - 255px);transform:translateY(-50%)}
.carousel-next{right:calc(50% - 255px);transform:translateY(-50%)}
.carousel-count{position:absolute;left:50%;bottom:2px;transform:translateX(-50%);z-index:9;font-size:12px;letter-spacing:.08em;color:#756b62;background:rgba(250,249,246,.78);padding:5px 10px;border-radius:999px;backdrop-filter:blur(7px)}
.carousel-hint{position:absolute;left:50%;top:calc(50% + 254px);transform:translateX(-50%);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8b8178;z-index:9;white-space:nowrap}
body.lightbox-open{overflow:hidden}
.gallery-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(13,12,11,.94);opacity:0;transition:opacity .18s ease;display:grid;place-items:center}
.gallery-lightbox.is-open{opacity:1}
.lightbox-viewport{width:calc(100vw - 180px);height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:zoom-in;touch-action:none}
.lightbox-viewport.is-zoomed{cursor:grab}
.lightbox-viewport.is-dragging{cursor:grabbing}
.lightbox-viewport img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;transition:transform .15s ease;will-change:transform;user-select:none}
.lightbox-viewport.is-dragging img{transition:none}
.lightbox-close,.lightbox-arrow,.lightbox-toolbar button{border:1px solid rgba(255,255,255,.24);background:rgba(28,27,25,.72);color:#fff;backdrop-filter:blur(10px)}
.lightbox-close{position:absolute;right:28px;top:24px;width:48px;height:48px;border-radius:999px;font-size:30px;line-height:1;z-index:4}
.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:58px;border-radius:999px;font:34px/1 Georgia,serif;z-index:4}
.lightbox-prev{left:28px}.lightbox-next{right:28px}
.lightbox-toolbar{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:7px;background:rgba(20,19,18,.62);border-radius:999px;backdrop-filter:blur(12px);z-index:4}
.lightbox-toolbar button{height:38px;min-width:40px;padding:0 13px;border-radius:999px;font-size:15px}
.lightbox-toolbar span{min-width:56px;text-align:center;color:#fff;font-size:12px}
.lightbox-count{position:absolute;top:28px;left:50%;transform:translateX(-50%);color:#fff;font-size:12px;letter-spacing:.12em;z-index:4}
@media(max-width:1100px){.carousel-stage{height:535px}.carousel-slide{width:370px}.carousel-slide[data-pos="prev"]{transform:translate(-50%,-50%) translateX(-330px) scale(.52)}.carousel-slide[data-pos="next1"]{transform:translate(-50%,-50%) translateX(300px) scale(.53)}.carousel-slide[data-pos="next2"]{transform:translate(-50%,-50%) translateX(420px) scale(.42)}.carousel-slide[data-pos="next3"]{display:none}.carousel-prev{left:calc(50% - 230px)}.carousel-next{right:calc(50% - 230px)}.carousel-hint{top:calc(50% + 235px)}}
@media(max-width:800px){.carousel-stage{height:505px;overflow:visible}.carousel-slide{width:min(74vw,350px)}.carousel-slide[data-pos="prev"]{transform:translate(-50%,-50%) translateX(-58vw) scale(.45);opacity:.18}.carousel-slide[data-pos="next1"]{transform:translate(-50%,-50%) translateX(58vw) scale(.45);opacity:.28}.carousel-slide[data-pos="next2"],.carousel-slide[data-pos="next3"]{opacity:0;pointer-events:none}.carousel-prev{left:8px}.carousel-next{right:8px}.carousel-hint{display:none}.carousel-count{bottom:0}.lightbox-viewport{width:100vw;height:calc(100vh - 120px)}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-close{right:14px;top:14px}.lightbox-toolbar{bottom:14px}.lightbox-count{top:24px}}
@media(max-width:520px){.carousel-stage{height:440px}.carousel-slide{width:min(77vw,310px)}.carousel-arrow{width:42px;height:42px}.carousel-slide[data-pos="prev"],.carousel-slide[data-pos="next1"]{opacity:.10}.lightbox-toolbar button{padding:0 10px}.lightbox-toolbar{gap:4px}}
@media(prefers-reduced-motion:reduce){.carousel-slide,.gallery-lightbox,.lightbox-viewport img{transition:none!important}}

/* Contacto por propiedad */
.property-card-main{display:block;color:inherit}
.detail-copy aside{padding:26px 0;background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-self:start}
.detail-copy aside h2{font-size:25px;margin:0 0 8px}
.detail-copy aside>p{font-size:13px;color:#766e65;margin:0;line-height:1.6}
.detail-actions{display:grid;gap:8px;margin-top:20px}
.premium-contact{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:46px;padding:0 14px;border:1px solid #cfc5b9;background:transparent;color:var(--ink);font-size:11px;letter-spacing:.08em;text-transform:uppercase;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}
.premium-contact svg{width:16px;height:16px;color:var(--bronze);transition:color .22s ease,transform .22s ease}
.premium-contact:hover,.premium-contact:focus-visible{background:#201d19;color:#fff;border-color:#201d19;transform:translateY(-1px)}
.premium-contact:hover svg,.premium-contact:focus-visible svg{color:#fff}
.premium-contact:hover svg:last-child,.premium-contact:focus-visible svg:last-child{transform:translateX(2px)}
.premium-contact-secondary{grid-template-columns:1fr auto;border-color:transparent;border-top:1px solid #e1dbd3;padding:10px 2px 2px;min-height:38px;color:#6e665e;text-transform:none;letter-spacing:.02em;font-size:12px}
.premium-contact-secondary svg{width:15px;height:15px}
.premium-contact-secondary:hover,.premium-contact-secondary:focus-visible{background:transparent;color:var(--bronze);border-color:transparent;border-top-color:#e1dbd3;transform:none}
.premium-contact-secondary:hover svg,.premium-contact-secondary:focus-visible svg{color:var(--bronze);transform:translateX(2px)}
@media(max-width:800px){.detail-copy aside{padding:22px 0}.premium-contact{min-height:48px}}


/* Mapa real premium v8 */
.map-visual-real{background:#f1eee8;overflow:hidden}
.real-map{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:#eeeae3}
.real-map .leaflet-tile-pane{filter:grayscale(.72) sepia(.08) saturate(.55) contrast(.96) brightness(1.03)}
.real-map .leaflet-control-zoom{border:1px solid rgba(32,29,25,.14)!important;box-shadow:0 7px 18px rgba(42,31,22,.08)!important;margin:12px!important}
.real-map .leaflet-control-zoom a{width:34px!important;height:34px!important;line-height:32px!important;color:#4d443c!important;background:rgba(250,249,246,.94)!important;border-color:#e1dbd2!important;font:20px/32px Georgia,serif!important}
.real-map .leaflet-control-zoom a:hover{background:#fff!important;color:var(--bronze)!important}
.real-map .leaflet-control-attribution{background:rgba(250,249,246,.82)!important;color:#8a8178!important;font-size:8px!important;padding:2px 5px!important}
.real-map .leaflet-control-attribution a{color:#766d64!important}
.premium-map-marker{background:transparent!important;border:0!important}
.premium-map-marker span{display:block;width:28px;height:28px;border-radius:50% 50% 50% 0;background:var(--bronze);border:3px solid #fff;box-shadow:0 6px 16px rgba(62,34,22,.3);transform:rotate(-45deg);position:relative}
.premium-map-marker span:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%)}
.real-map .leaflet-popup-content-wrapper{border-radius:2px;background:rgba(250,249,246,.98);box-shadow:0 12px 30px rgba(42,31,22,.14);color:var(--ink);padding:0}
.real-map .leaflet-popup-content{margin:0;min-width:195px}
.real-map .leaflet-popup-tip{background:#faf9f6}
.map-popup{display:grid;gap:5px;padding:14px 16px}
.map-popup strong{font:18px Georgia,serif;font-weight:400}
.map-popup span{font-size:11px;color:#726a62;line-height:1.4}
.map-popup b{font-size:13px;font-weight:500;color:var(--bronze);margin-top:3px}
.map-popup a{font-size:10px;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid var(--line);padding-top:9px;margin-top:4px;color:#4c443d}
.map-popup a:hover{color:var(--bronze)}
.map-visual-real .map-caption,.map-visual-real .map-open{z-index:500}
.map-place.is-focused{background:#fffdf9;color:var(--bronze);transform:translateX(4px)}
@media(max-width:800px){.map-visual-real{height:360px;min-height:360px}}
