:root{
  --navy:#014058;--deep:#082f3f;--coral:#e84e2c;--coral-d:#c93d1d;
  --paper:#f4f7f8;--ink:#16333d;--muted:#5d747d;--line:#dce5e8;--white:#fff;
  --r:6px;--wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Asap",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;z-index:100}.skip:focus{left:8px}
.hidden{display:none!important}

/* encabezado */
.site-head{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px max(20px,calc((100vw - var(--wrap))/2))}
.brand img{height:46px;width:auto}
.site-head nav{display:flex;align-items:center;gap:26px;font-weight:600;font-size:15px}
.site-head nav a{text-decoration:none}
.site-head nav a:not(.btn):hover{color:var(--coral)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--r);padding:12px 20px;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none;background:var(--coral);color:#fff}
.btn:hover{background:var(--coral-d)}
.btn.ghost{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}
.btn.block{width:100%}
.btn svg{width:18px;height:18px;fill:currentColor}

/* portada */
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero-in{max-width:var(--wrap);margin:0 auto;padding:64px 20px 72px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;align-items:center}
.hero h1{font-size:clamp(38px,6vw,68px);line-height:1.02;letter-spacing:-.025em;font-weight:800;margin:0 0 16px;max-width:11ch}
.hero-sub{font-size:18px;max-width:34ch;margin:0 0 32px;color:#cfe0e6}
.search{background:#fff;color:var(--ink);border-radius:10px;padding:16px;display:grid;gap:12px;max-width:620px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);border-radius:8px;padding:4px;gap:4px}
.seg label{position:relative;text-align:center;padding:9px 6px;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.seg label:has(input:checked){background:var(--navy);color:#fff}
.seg label:has(input:focus-visible){outline:3px solid var(--coral)}
.search-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}
.field select,.field input{border:1px solid var(--line);border-radius:6px;padding:10px;font-size:15px;background:#fff;color:var(--ink);width:100%}
.search .btn{width:100%}
.hero-art{position:relative;aspect-ratio:1;max-width:440px;width:100%;justify-self:end}
.hero-art svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ring{fill:none;stroke:var(--coral);stroke-width:14;stroke-linecap:round;stroke-dasharray:1010 260;stroke-dashoffset:0;transform-origin:center;transform:rotate(40deg);animation:draw 1.6s cubic-bezier(.2,.7,.2,1) both}
@keyframes draw{from{stroke-dashoffset:1010}to{stroke-dashoffset:0}}
.roof{stroke:var(--coral);stroke-width:2;opacity:.9}
.disc{position:absolute;inset:14%;border-radius:50%;overflow:hidden;background:#0a5a7a}
.disc img{width:100%;height:100%;object-fit:cover}
.disc.empty::before,.disc.empty::after{content:"";position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.25)}
.disc.empty::before{width:70%;height:70%;left:-10%;top:30%}
.disc.empty::after{width:60%;height:60%;right:-12%;top:-6%}
.disc-cap{position:absolute;left:4%;bottom:6%;background:#fff;color:var(--ink);border-radius:var(--r);padding:8px 12px;text-decoration:none;font-size:13px;font-weight:700;max-width:70%;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.disc-cap small{display:block;font-weight:500;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.ring{animation:none}}

/* listado */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.results{padding-top:40px;padding-bottom:64px}
.results-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.results-head h2{font-size:28px;line-height:1.15;margin:0;font-weight:800;letter-spacing:-.01em}
.results-head p{margin:4px 0 0;color:var(--muted);font-size:14px}
.filter-chips{display:flex;gap:8px;flex-wrap:wrap}
.chip-x{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}
.chip-x:hover{border-color:var(--coral);color:var(--coral)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit}
.card:hover .card-title{color:var(--coral)}
.card.featured{grid-column:span 2}
.card-img{position:relative;aspect-ratio:4/3;background:#e9eff1;overflow:hidden}
.card.featured .card-img{aspect-ratio:auto;height:100%;min-height:260px}
.card.featured{flex-direction:row}
.card.featured .card-img{flex:1.25}
.card.featured .card-body{flex:1;justify-content:center}
.card-img img{width:100%;height:100%;object-fit:cover}
.card-img.noimg{display:flex;align-items:center;justify-content:center}
.card-img.noimg img{width:64px;height:64px;object-fit:contain;opacity:.55}
.flag{position:absolute;left:0;top:14px;background:var(--coral);color:#fff;font-weight:700;font-size:13px;padding:5px 12px 5px 10px;border-radius:0 4px 4px 0}
.flag.alq{background:var(--navy)}
.band{position:absolute;left:0;right:0;bottom:0;background:rgba(8,47,63,.9);color:#fff;text-align:center;font-weight:700;padding:7px;font-size:14px}
.card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px}
.price{font-size:24px;font-weight:800;color:var(--navy);letter-spacing:-.01em;line-height:1.15}
.price small{font-size:14px;font-weight:600;color:var(--muted)}
.card-title{margin:0;font-size:16px;font-weight:600;line-height:1.35}
.where{margin:0;font-size:13px;color:var(--muted)}
.facts{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;font-weight:600}
.facts li{display:inline-flex;align-items:center;gap:6px}
.facts svg{width:17px;height:17px;stroke:var(--navy);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.empty{background:#fff;border:1px dashed var(--line);border-radius:var(--r);padding:48px 24px;text-align:center}
.empty h3{margin:0 0 6px;font-size:20px}.empty p{margin:0 0 18px;color:var(--muted)}

/* detalle */
.detail{padding-top:28px;padding-bottom:72px}
.back{display:inline-flex;gap:6px;align-items:center;font-weight:600;font-size:14px;text-decoration:none;color:var(--navy);margin-bottom:16px}
.back:hover{color:var(--coral)}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.gallery .main{position:relative;aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;background:#e9eff1;cursor:zoom-in;border:0;padding:0;width:100%;display:block}
.gallery .main img{width:100%;height:100%;object-fit:cover}
.gallery .zoom{position:absolute;right:12px;bottom:12px;background:rgba(8,47,63,.85);color:#fff;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:600}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:8px}
.thumbs button{padding:0;border:2px solid transparent;border-radius:4px;overflow:hidden;background:#e9eff1;aspect-ratio:4/3;cursor:pointer}
.thumbs button[aria-current="true"]{border-color:var(--coral)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.detail h1{font-size:clamp(26px,3.6vw,38px);line-height:1.1;margin:22px 0 6px;font-weight:800;letter-spacing:-.02em}
.detail .where{font-size:15px}
.spec{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:22px 0}
.spec div{background:#fff;padding:14px}
.spec b{display:block;font-size:22px;font-weight:800;color:var(--navy);line-height:1.1}
.spec span{font-size:12px;color:var(--muted);font-weight:600}
.detail h2{font-size:20px;margin:28px 0 8px}
.desc{white-space:pre-line;max-width:68ch}
.feats{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.feats li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600}
.contact-card{position:sticky;top:84px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;display:grid;gap:12px}
.contact-card .price{font-size:30px}
.contact-card .ref{font-size:13px;color:var(--muted)}
.contact-card p{margin:0;font-size:14px;color:var(--muted)}
.status-note{background:#fff4e5;color:#7a4a00;border-radius:6px;padding:10px 12px;font-size:14px;font-weight:600}

/* pie */
.site-foot{background:var(--deep);color:#d4e3e8;padding:44px 20px 36px}
.foot-grid{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
.foot-mark{background:#fff;border-radius:50%;padding:6px;margin-bottom:12px}
.foot-slogan{font-size:20px;font-weight:700;color:#fff;margin:0 0 6px}
.foot-small{font-size:13px;margin:0;color:#9fbac3}
.site-foot h2{font-size:15px;color:#fff;margin:0 0 10px}
.site-foot p{margin:0 0 8px;font-size:14px}
.foot-list{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:14px}
.site-foot a{color:#fff}

/* visor de fotos */
#lightbox{border:0;padding:0;background:#041d28;color:#fff;width:100vw;height:100vh;max-width:none;max-height:none;margin:0}
#lightbox::backdrop{background:#041d28}
#lightbox[open]{display:flex;align-items:center;justify-content:center}
#lbImg{max-width:92vw;max-height:84vh;object-fit:contain}
.lb-close,.lb-nav{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;border-radius:50%;width:48px;height:48px;font-size:22px;cursor:pointer}
.lb-close{top:16px;right:16px;font-size:30px}
.lb-nav{top:50%;transform:translateY(-50%)}.lb-nav.prev{left:16px}.lb-nav.next{right:16px}
.lb-close:hover,.lb-nav:hover{background:var(--coral)}
.lb-count{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:14px;font-weight:600}

@media (max-width:900px){
  .hero-in{grid-template-columns:1fr;padding:40px 20px 48px}
  .hero-art{display:none}
  .detail-grid{grid-template-columns:1fr}.contact-card{position:static}
  .card.featured{grid-column:auto;flex-direction:column}.card.featured .card-img{aspect-ratio:4/3;height:auto;min-height:0}
  .foot-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .site-head nav a:not(.btn){display:none}.brand img{height:38px}
  .search-row{grid-template-columns:1fr 1fr}.search-row .field:first-child{grid-column:1/-1}
  .hero h1{max-width:none;font-size:38px}
}

.map{border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:#eef2f5;margin:.5rem 0}.map iframe{width:100%;height:100%;border:0}

/* Marca de agua del logo sobre las fotos (las fotos en Tokko quedan limpias) */
.card-img:not(.noimg)::after,.gallery .main::after,.lb-wm{content:"";position:absolute;inset:0;pointer-events:none;background:url(assets/logo-horizontal-color.png) center/38% auto no-repeat;opacity:.38;filter:drop-shadow(0 0 2px rgba(255,255,255,.6))}
.gallery .main::after{background-size:34% auto}
.lb-wm{position:fixed;background-size:min(30vw,320px) auto;z-index:2}

/* Portada */
.cover{background:#fff;line-height:0}
.cover img{display:block;width:100%;max-width:1600px;height:auto;margin:0 auto}
.hero-in.one{grid-template-columns:1fr;padding:40px 20px 48px}
.hero-in.one h1{max-width:none;font-size:clamp(28px,4vw,44px)}
/* Loteos */
.loteos{padding:48px 20px 8px}
.loteos h2{color:var(--navy);margin:0 0 18px;font-size:clamp(24px,3vw,32px)}
.loteo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.loteo{border:1px solid #dce6e9;border-left:6px solid var(--coral);border-radius:var(--r);padding:20px;background:#fff}
.loteo h3{margin:0 0 6px;color:var(--navy)}
.loteo p{margin:0 0 16px;color:var(--muted)}
.loteo-btns{display:flex;gap:10px;flex-wrap:wrap}

/* Portada con foto */
.hero.photo{background:linear-gradient(90deg,rgba(1,40,56,.92) 0%,rgba(1,48,66,.78) 45%,rgba(1,48,66,.25) 100%),url(/assets/portada-oficina.jpg) center 35%/cover no-repeat}
.hero.photo .hero-in.one{padding:88px 20px 96px;min-height:520px;align-content:center}
.hero.photo h1{font-size:clamp(32px,4.6vw,56px);max-width:16ch;line-height:1.05}
.kicker{display:inline-block;margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffd2c6}
.kicker::before{content:"";display:inline-block;width:28px;height:3px;background:var(--coral);vertical-align:middle;margin-right:10px}
@media (max-width:700px){.hero.photo{background:linear-gradient(180deg,rgba(1,40,56,.85),rgba(1,40,56,.92)),url(/assets/portada-oficina.jpg) center/cover}.hero.photo .hero-in.one{padding:48px 20px 56px;min-height:0}.search-row{grid-template-columns:1fr 1fr}.search-row .field:first-child{grid-column:1/-1}}
/* Servicios */
.servicios{padding:56px 20px 0}
.servicios h2,.about h2{color:var(--navy);margin:0 0 18px;font-size:clamp(24px,3vw,32px)}
.serv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.serv{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column}
.serv h3{margin:0 0 6px;color:var(--navy);font-size:19px}
.serv h3::before{content:"";display:block;width:32px;height:4px;background:var(--coral);margin-bottom:12px;border-radius:2px}
.serv p{margin:0 0 14px;color:var(--muted);flex:1}
.serv a{font-weight:700;color:var(--coral);text-decoration:none}
.serv a:hover{text-decoration:underline}
/* Quién te acompaña */
.about{background:#fff;border-top:1px solid var(--line);padding:56px 0}
.about-in{display:flex;gap:28px;align-items:flex-start}
.about-in img{flex:none}
.about p{max-width:62ch;color:var(--ink);margin:0 0 18px}
@media (max-width:600px){.about-in{flex-direction:column;gap:12px}}
/* WhatsApp flotante */
.wa-float{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:30}
.wa-float svg{width:30px;height:30px;fill:#fff}

/* Portada v2: foto a la derecha, se ve el escritorio y la carpeta con el logo */
.hero.photo{background:var(--navy)}
.hero.photo::after{content:"";position:absolute;top:0;right:0;bottom:0;width:48%;background:linear-gradient(90deg,var(--navy) 0%,rgba(1,64,88,0) 28%),url(/assets/portada-oficina.jpg) 50% 88%/cover no-repeat;pointer-events:none}
.hero.photo .hero-in{position:relative;z-index:1}
.hero.photo .hero-in.one>div{max-width:600px}
@media (max-width:860px){
  .hero.photo{padding-top:300px}
  .hero.photo::after{left:0;width:auto;bottom:auto;height:300px;background:linear-gradient(0deg,var(--navy) 0%,rgba(1,64,88,0) 35%),url(/assets/portada-oficina.jpg) 50% 85%/cover no-repeat}
  .hero.photo .hero-in.one{padding:8px 20px 48px;min-height:0}
}

/* Opiniones */
.opiniones{padding:8px 20px 56px}
.opiniones h2{color:var(--navy);margin:0 0 18px;font-size:clamp(24px,3vw,32px)}
.op-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:18px}
.op{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.op .stars{color:#f5a623;letter-spacing:2px;margin-bottom:8px}
.op blockquote{margin:0 0 12px;font-size:16px;color:var(--ink)}
.op figcaption{font-size:14px;color:var(--muted)}

/* Guías */
.guia{max-width:820px;padding-top:36px;padding-bottom:24px}
.guia h1{font-size:clamp(28px,4vw,42px);line-height:1.12;color:var(--navy);margin:0 0 8px}
.guia .kicker{color:var(--coral)}
.guia h2{color:var(--navy);margin:34px 0 10px;font-size:24px}
.guia p,.guia li{font-size:17px;line-height:1.7}
.guia .lead{font-size:19px;color:var(--ink)}
.guia .byline{color:var(--muted);font-size:14px;margin:0 0 20px}
.guia .note{background:#fff8f5;border-left:4px solid var(--coral);padding:12px 16px;font-size:15px;border-radius:4px}
.guia ul,.guia ol{padding-left:22px}
.guia li{margin-bottom:8px}
.steps li::marker{color:var(--coral);font-weight:800}
.guia-cta{margin:36px 0 8px;background:var(--navy);color:#fff;border-radius:10px;padding:22px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.guia-cta span{display:block;color:#cfe0e6;font-size:15px}
.rel-title{color:var(--navy);font-size:26px;margin:0 0 18px}
.guias-home{padding:8px 20px 48px}
.guias-home h2{color:var(--navy);margin:0 0 6px;font-size:clamp(24px,3vw,32px)}
.guias-home>p{margin:0 0 18px;color:var(--muted)}
.guia .back{display:block;margin-bottom:14px;font-weight:600;text-decoration:none;color:var(--navy)}

/* Estilo inspirado en Briones / RE/MAX */
.h-mix{font-weight:300!important;letter-spacing:-.02em}
.h-mix strong{font-weight:800}
.hero.photo h1.h-mix{font-size:clamp(34px,4.8vw,60px);max-width:14ch}
.stats{list-style:none;display:flex;gap:34px;margin:0 0 26px;padding:0;flex-wrap:wrap}
.stats li{display:flex;flex-direction:column;border-left:3px solid var(--coral);padding-left:12px}
.stats b{font-size:26px;line-height:1.1;font-weight:800}
.stats span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#cfe0e6}
.pills{display:flex;gap:8px;flex-wrap:wrap}
.pills label,.pill-link{position:relative;border:2px solid var(--line);border-radius:999px;padding:9px 18px;font-weight:700;font-size:14px;cursor:pointer;background:#fff;color:var(--navy);text-decoration:none}
.pills input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pills label:has(input:checked){background:var(--navy);border-color:var(--navy);color:#fff}
.pills label:has(input:focus-visible){outline:3px solid var(--coral)}
.pill-link{border-color:var(--coral);color:var(--coral)}
.pill-link:hover{background:var(--coral);color:#fff}
/* Contanos qué buscás */
.contanos{background:linear-gradient(135deg,var(--navy),var(--deep));color:#fff;padding:64px 0}
.contanos-in{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.contanos h2{font-size:clamp(30px,4vw,46px);margin:0 0 12px;line-height:1.08}
.contanos p{color:#cfe0e6;max-width:44ch}
.contanos .kicker{color:#ffd2c6}
.lead{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:22px;display:grid;gap:14px;backdrop-filter:blur(4px)}
.lead fieldset{border:0;padding:0;margin:0}
.lead legend{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#cfe0e6;margin-bottom:8px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips label{position:relative;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:7px 14px;font-size:14px;cursor:pointer}
.chips input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chips label:has(input:checked){background:#fff;color:var(--navy);font-weight:700}
.lead .field{color:#cfe0e6}
.lead .small{font-size:12px;margin:0;color:#9fb8c1}
@media (max-width:860px){.contanos-in{grid-template-columns:1fr}}
/* Redes laterales */
.social{position:fixed;left:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:25}
.social a{width:40px;height:40px;border-radius:50%;background:var(--navy);display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.social a:hover{background:var(--coral)}
.social svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.8}
@media (max-width:1100px){.social{display:none}}
.stats{gap:22px;flex-wrap:nowrap}.stats b{font-size:23px}@media (max-width:600px){.stats{flex-wrap:wrap;gap:16px}}

/* Venta vs alquiler */
.flag.ven{background:var(--navy)}.flag.alq{background:var(--coral)}
.card.c-alq{border-top:4px solid var(--coral)}.card.c-ven{border-top:4px solid var(--navy)}
.grp{margin-bottom:44px}
.grp-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 16px;border-bottom:2px solid var(--line);padding-bottom:10px}
.grp-head h3{margin:0;font-size:24px;color:var(--navy)}
.grp-head h3 span{display:inline-block;background:var(--navy);color:#fff;border-radius:999px;font-size:13px;padding:2px 10px;vertical-align:middle;margin-left:6px}
.g-alq .grp-head h3 span{background:var(--coral)}
.grp-head a{font-weight:700;color:var(--coral);text-decoration:none;font-size:14px}
/* Categorías (estilo AM) */
.cats{padding:64px 20px 8px}
.kicker.dark{color:var(--coral)}
.cats h2,.loteos h2{font-size:clamp(28px,3.6vw,42px);color:var(--navy);margin:0 0 22px}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.cat{position:relative;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:var(--navy) center/cover no-repeat;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;color:#fff;text-decoration:none;isolation:isolate}
.cat::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,40,56,.05) 30%,rgba(1,40,56,.85));z-index:-1;transition:background .2s}
.cat:hover::before{background:linear-gradient(180deg,rgba(232,78,44,.15) 0%,rgba(1,40,56,.9))}
.cat span{font-size:22px;font-weight:800;letter-spacing:.01em;text-transform:uppercase}
.cat small{color:#dbe8ec;font-size:13px}
.cat-dev{background:linear-gradient(135deg,var(--coral),#b8381b)}
.cat-dev::before{display:none}
/* Desarrollos */
.loteos{padding:56px 20px 8px}
.dev-hero{display:grid;grid-template-columns:1fr 1fr;border-radius:12px;overflow:hidden;text-decoration:none;color:#fff;background:var(--navy);margin-bottom:18px;min-height:300px}
.dev-txt{padding:32px;display:flex;flex-direction:column;gap:10px;justify-content:center}
.dev-txt h3{font-size:clamp(28px,3.4vw,40px);margin:0;line-height:1.05}
.dev-txt p{margin:0;color:#cfe0e6}
.dev-txt b{font-size:20px;color:#fff}
.dev-txt .tag{align-self:flex-start;background:var(--coral);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:4px}
.dev-txt .more{font-weight:700;color:#ffd2c6}
.dev-img{background:#0a5a7a;position:relative;display:grid;place-items:center;overflow:hidden}.dev-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dev-img svg{width:55%;max-width:220px}
@media (max-width:760px){.dev-hero{grid-template-columns:1fr}.dev-img{min-height:220px;order:-1}}
.cat span{font-size:clamp(16px,1.6vw,21px)}

/* Acceso clientes (cobranzas) */
.site-head nav .btn.cli{padding:9px 16px;font-size:14px}
@media (max-width:760px){.site-head nav{gap:8px}.site-head nav .btn.cli{padding:8px 12px}}
