:root{--crema:#f6f2ea;--papel:#ece5d8;--tinta:#152033;--suave:#5d6676;--noche:#0f1c2e;--azul:#1d3352;--oro:#c6964a;--oro2:#ad7f36;--linea:#e2d9c9;--blanco:#fff;--verde:#2f7d5b;--radio:16px;--serif:"DM Serif Display",Georgia,serif;--sans:Manrope,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--crema);color:var(--tinta);font:400 16px/1.6 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}a{color:var(--azul)}button,input,select{font:inherit}button{cursor:pointer}
[hidden]{display:none!important}
.ad-wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.ad-top{position:sticky;top:0;z-index:30;background:rgba(15,28,46,.94);backdrop-filter:blur(10px);color:#fff}
.ad-top .ad-wrap{display:flex;align-items:center;gap:22px;height:66px}
.ad-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font:400 1.6rem/1 var(--serif);margin:0}
.ad-logo img{border-radius:10px}.ad-logo small{display:block;font:600 .6rem/1.2 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--oro);margin-top:4px}
.ad-nav{display:flex;gap:24px;margin-left:auto}.ad-nav a{text-decoration:none;color:#d8dde6;font-size:.92rem}.ad-nav a:hover{color:#fff}
.ad-top-wa{display:inline-flex;align-items:center;gap:7px;background:var(--oro);color:var(--noche);text-decoration:none;font-weight:700;font-size:.9rem;border-radius:999px;padding:.55rem 1.05rem}
.ad-top-wa svg{width:18px;height:18px}
.ad-eyebrow{margin:0 0 .45rem;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--oro2);font-weight:700}
h1,.ad-h2{font-family:var(--serif);font-weight:400;line-height:1.04;margin:0 0 .8rem;color:var(--noche)}
h1{font-size:clamp(2.7rem,6vw,4.7rem)}.ad-h2{font-size:clamp(2.1rem,4.3vw,3.2rem)}
h1 em,.ad-h2 em{font-style:italic;color:var(--oro2)}
.ad-sub{color:var(--suave);max-width:560px;margin:0}
.ad-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--noche);color:#fff;border:0;border-radius:999px;padding:.85rem 1.45rem;text-decoration:none;font-weight:700;transition:background .2s,transform .2s}
.ad-btn:hover{background:var(--azul);transform:translateY(-1px)}.ad-btn svg{width:19px;height:19px}
.ad-btn-oro{background:var(--oro);color:var(--noche)}.ad-btn-oro:hover{background:#d6a85c}

/* Portada */
.ad-hero{position:relative;padding:44px 0 40px;color:#dfe5ee;background:radial-gradient(ellipse at 75% 40%,#2b4a73 0,#1a2d48 35%,var(--noche) 72%);overflow:hidden}
.ad-hero::before{content:"";position:absolute;inset:0;background:url(/assets/img/calle.webp) center/cover;opacity:.12;mix-blend-mode:luminosity}
.ad-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:26px}
.ad-hero h1{color:#fff}.ad-hero h1 em{color:#e3b874}.ad-hero .ad-eyebrow{color:#e3b874}
.ad-hero-sub{color:#c6cfdb;max-width:520px;margin:0 0 1.4rem;font-size:1.06rem}
.ad-buscador{background:#fff;border-radius:20px;padding:10px;box-shadow:0 30px 60px -25px rgba(0,0,0,.6);max-width:560px;color:var(--tinta)}
.ad-op-sw{display:inline-flex;background:var(--papel);border-radius:999px;padding:4px;gap:2px}
.ad-op-sw button{border:0;background:transparent;border-radius:999px;padding:.45rem 1.1rem;font-weight:700;color:var(--suave);font-size:.92rem}
.ad-op-sw button[aria-checked=true]{background:var(--noche);color:#fff}
.ad-bus-campos{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-top:8px;align-items:end}
.ad-bus-campos label{display:flex;flex-direction:column;background:var(--crema);border-radius:12px;padding:.35rem .8rem .45rem}
.ad-bus-campos span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--suave);font-weight:700}
.ad-bus-campos select{border:0;background:transparent;padding:.1rem 0;font-weight:600;color:var(--tinta);outline:0;min-width:0}
.ad-bus-btn{height:100%;border-radius:12px}.ad-bus-btn svg{width:18px;height:18px}
.ad-hero-cifras{margin:1rem 0 0;font-size:.9rem;color:#aeb9c8}.ad-hero-cifras b{color:#fff}
.ad-escena{position:relative;aspect-ratio:1/1;max-height:560px;width:100%;touch-action:pan-y;cursor:grab}
.ad-escena:active{cursor:grabbing}
.ad-3d{position:absolute;inset:0;width:100%;height:100%}
.ad-escena-fallback{display:none;position:absolute;inset:12%;width:76%;height:76%;object-fit:cover;border-radius:24px}
.ad-escena.sin3d .ad-escena-fallback{display:block}.ad-escena.sin3d canvas{display:none}

/* Propiedades */
.ad-sec{padding:76px 0;scroll-margin-top:66px}
.ad-cab{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:26px}
.ad-filtros{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.ad-op-sw-claro{background:#fff;border:1px solid var(--linea)}
.ad-buscar{flex:1;min-width:220px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--linea);border-radius:999px;padding:0 16px}
.ad-buscar svg{width:18px;height:18px;color:var(--suave);flex:none}.ad-buscar input{border:0;outline:0;background:transparent;padding:.75rem 0;width:100%;min-width:0}
.ad-chips{display:flex;gap:8px;overflow-x:auto;padding:14px 0 4px;scrollbar-width:none}.ad-chips::-webkit-scrollbar{display:none}
.ad-chip{flex:none;border:1px solid var(--linea);background:#fff;border-radius:999px;padding:.45rem 1rem;font-weight:600;font-size:.9rem;color:var(--tinta)}
.ad-chip[aria-pressed=true]{background:var(--noche);border-color:var(--noche);color:#fff}
.ad-cuenta{margin:.6rem 0 1rem;color:var(--suave);font-size:.9rem}
.ad-grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.ad-card{background:#fff;border-radius:var(--radio);overflow:hidden;box-shadow:0 1px 0 var(--linea),0 18px 40px -30px rgba(15,28,46,.45);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.ad-card:hover{transform:translateY(-3px);box-shadow:0 1px 0 var(--linea),0 26px 50px -28px rgba(15,28,46,.55)}
.ad-foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--papel)}
.ad-foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.ad-card:hover .ad-foto img{transform:scale(1.04)}
.ad-foto[data-fotos]{cursor:pointer}
.ad-op{position:absolute;top:12px;left:12px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .65rem;border-radius:6px;color:#fff}
.ad-op-venta{background:var(--noche)}.ad-op-alquiler{background:var(--verde)}
.ad-eti{position:absolute;top:12px;right:12px;font-size:.75rem;font-weight:700;padding:.3rem .65rem;border-radius:6px;background:var(--oro);color:var(--noche)}
.ad-puntos{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.ad-puntos i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55)}.ad-puntos i.on{background:#fff}
.ad-info{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.ad-precio{margin:0;font:400 1.6rem/1.1 var(--serif);color:var(--noche)}
.ad-info h3{margin:.3rem 0 .25rem;font-size:1.02rem;font-weight:700;line-height:1.3}
.ad-barrio{display:flex;align-items:center;gap:5px;margin:0;color:var(--suave);font-size:.88rem}.ad-barrio svg{width:16px;height:16px}.ad-barrio span{font-size:.78rem;letter-spacing:.04em}
.ad-datos{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;margin:.8rem 0 .5rem;padding:.7rem 0 0;border-top:1px solid var(--linea);font-weight:700;font-size:.88rem}
.ad-det{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 1rem;padding:0}
.ad-det li{background:var(--crema);border-radius:6px;padding:.15rem .55rem;font-size:.8rem;color:var(--suave)}
.ad-acc{display:flex;gap:8px;margin-top:auto}
.ad-visita{flex:1;padding:.75rem 1rem}
.ad-consulta{width:48px;flex:none;display:grid;place-items:center;border-radius:999px;border:1.5px solid var(--linea);color:var(--verde)}
.ad-consulta svg{width:22px;height:22px}.ad-consulta:hover{border-color:var(--verde)}
.ad-vacio{text-align:center;padding:40px 20px;background:#fff;border-radius:var(--radio)}.ad-vacio p{margin:0 0 1rem;color:var(--suave)}

/* Tasación */
.ad-tasacion{background:var(--noche);color:#dfe5ee}
.ad-tasacion .ad-h2{color:#fff}.ad-tasacion .ad-h2 em{color:#e3b874}.ad-tasacion .ad-eyebrow{color:#e3b874}.ad-tasacion .ad-sub{color:#b9c3d1;margin-bottom:1.4rem}
.ad-tas-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.ad-tas-foto img{border-radius:22px;width:100%;aspect-ratio:3/4;object-fit:cover}
.ad-tas-form{display:grid;gap:14px}
.ad-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.ad-field>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;opacity:.8}
.ad-field input,.ad-field select{border:1px solid var(--linea);border-radius:12px;padding:.75rem .9rem;background:#fff;color:var(--tinta);width:100%;min-width:0}
.ad-tasacion .ad-field input,.ad-tasacion .ad-field select{border-color:#2c4161;background:#16263c;color:#fff}
.ad-tasacion .ad-field input::placeholder{color:#7f8ca0}
.ad-pills{display:flex;flex-wrap:wrap;gap:8px}
.ad-pills button{border:1px solid var(--linea);background:#fff;border-radius:999px;padding:.5rem 1rem;font-weight:600;font-size:.9rem;color:var(--tinta)}
.ad-pills button[aria-checked=true]{background:var(--noche);border-color:var(--noche);color:#fff}
.ad-tasacion .ad-pills button{background:transparent;border-color:#2c4161;color:#dfe5ee}
.ad-tasacion .ad-pills button[aria-checked=true]{background:var(--oro);border-color:var(--oro);color:var(--noche)}
.ad-tas-fila{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}
.ad-tas-form .ad-btn{margin-top:6px;justify-self:start}

/* Cómo trabajamos */
.ad-pasos-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}
.ad-pasos-grid>img{border-radius:22px;aspect-ratio:3/4;object-fit:cover;width:100%}
.ad-pasos{list-style:none;counter-reset:p;margin:1.2rem 0 1.4rem;padding:0;display:grid;gap:16px}
.ad-pasos li{counter-increment:p;display:grid;grid-template-columns:48px 1fr;gap:4px 14px;padding-bottom:16px;border-bottom:1px solid var(--linea)}
.ad-pasos li::before{content:"0" counter(p);grid-row:span 2;font:400 1.9rem/1 var(--serif);color:var(--oro2)}
.ad-pasos b{font-size:1.05rem}.ad-pasos span{color:var(--suave);font-size:.95rem}
.ad-link{font-weight:700;color:var(--azul)}

/* Alquilar y barrios */
.ad-alquilar{background:var(--papel)}
.ad-req{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ad-req li{background:#fff;border-radius:var(--radio);padding:22px;display:flex;flex-direction:column;gap:4px}
.ad-req span{font-size:1.7rem}.ad-req b{font-size:1.02rem}.ad-req small{color:var(--suave);font-size:.9rem;line-height:1.5}
.ad-barrios{text-align:center}.ad-barrios .ad-h2{margin-bottom:1.4rem}
.ad-barrios-lista{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.ad-barrios-lista button{border:1px solid var(--linea);background:#fff;border-radius:999px;padding:.65rem 1.3rem;font:400 1.2rem/1 var(--serif);color:var(--noche);transition:all .2s}
.ad-barrios-lista button:hover{background:var(--noche);color:#fff;border-color:var(--noche)}

/* Preguntas */
.ad-faq{background:#fff}
.ad-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
.ad-faq details{border-bottom:1px solid var(--linea);padding:1rem 0}
.ad-faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:16px}
.ad-faq summary::after{content:"+";font:400 1.5rem/1 var(--serif);color:var(--oro2);transition:transform .2s}.ad-faq details[open] summary::after{transform:rotate(45deg)}
.ad-faq summary::-webkit-details-marker{display:none}.ad-faq details p{margin:.6rem 0 0;color:var(--suave)}

.ad-pie{background:var(--noche);color:#aeb9c8;padding:44px 0 90px;font-size:.92rem}
.ad-pie .ad-logo{color:#fff;margin-bottom:1rem}.ad-pie a{color:#e3b874}.ad-pie p{margin:.3rem 0}
.ad-muestra{opacity:.6;font-size:.8rem}

.ad-wa-fijo{position:fixed;right:16px;bottom:16px;z-index:40;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 12px 26px -8px rgba(0,0,0,.45)}
.ad-wa-fijo svg{width:30px;height:30px}

/* Hoja de visita */
.ad-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px}
.ad-modal-bg{position:absolute;inset:0;background:rgba(10,18,30,.6);backdrop-filter:blur(3px)}
.ad-hoja{position:relative;background:#fff;border-radius:22px;width:min(480px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:22px;animation:sube .3s ease-out}
@keyframes sube{from{transform:translateY(24px);opacity:0}}
.ad-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:var(--crema);font-size:1rem}
.ad-hoja-prop{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;margin-bottom:18px;padding-right:36px}
.ad-hoja-prop img{width:96px;height:72px;object-fit:cover;border-radius:10px}
.ad-hoja-prop small{color:var(--suave);font-size:.78rem}.ad-hoja-prop h2{margin:.1rem 0;font-size:1rem;line-height:1.3}.ad-hoja-prop b{font:400 1.25rem/1 var(--serif)}
.ad-visita-form{display:grid;gap:14px}
.ad-send{width:100%;background:#1faa59}.ad-send:hover{background:#178a48}
.ad-nota{margin:0;text-align:center;color:var(--suave);font-size:.82rem}
.ad-toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);background:var(--noche);color:#fff;padding:.7rem 1.2rem;border-radius:999px;font-size:.9rem;opacity:0;pointer-events:none;transition:all .3s;z-index:70;max-width:calc(100% - 32px)}
.ad-toast.on{opacity:1;transform:translate(-50%,0)}

@media (max-width:900px){
  .ad-nav{display:none}.ad-top-wa{margin-left:auto}
  .ad-hero{padding:28px 0 36px}
  .ad-hero-grid,.ad-tas-grid,.ad-pasos-grid,.ad-faq-grid{grid-template-columns:1fr}
  .ad-escena{order:-1;max-height:340px;aspect-ratio:auto;height:340px;margin:-14px 0 -10px}
  .ad-tas-foto{display:none}.ad-pasos-grid>img{display:none}
  .ad-req{grid-template-columns:1fr 1fr}
  .ad-sec{padding:56px 0}.ad-faq-grid{gap:16px}
}
@media (max-width:560px){
  .ad-top-wa span{display:none}.ad-top-wa{padding:.6rem}
  .ad-bus-campos{grid-template-columns:1fr 1fr}.ad-bus-btn{grid-column:1/-1;padding:.8rem}
  .ad-tas-fila{grid-template-columns:1fr 1fr}.ad-tas-fila label:first-child{grid-column:1/-1}
  .ad-req{grid-template-columns:1fr}.ad-req li{flex-direction:row;flex-wrap:wrap;align-items:center;gap:2px 12px;padding:16px}.ad-req small{flex-basis:100%}
  .ad-grilla{grid-template-columns:1fr}
  .ad-tas-form .ad-btn{justify-self:stretch}
  .ad-modal{place-items:end center;padding:0}.ad-hoja{border-radius:22px 22px 0 0;max-height:92dvh}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
