



@media (max-width:700px){
  :is(section,footer) > :is(.frame,.marco):empty { inset:12px; }

  :is(section,footer):has(> .frame:empty, > .marco:empty) > :is(.in,.wrap) {
    padding-left:32px; padding-right:32px;
  }
  .khero .keleccion > .wrap { padding-left:32px; padding-right:32px; }

  :is(section,footer):has(> .frame:empty, > .marco:empty) .tx { min-width:min(300px,100%); }
  .loteos .lam-box { min-width:min(280px,100%); }

  footer .legal { padding:18px 32px 110px; border-top:0; }

  .tform .fcard { min-width:min(320px,100%); }

  .vender .tx, .estrenar .tx, .estrenar .lams, .dest .tx, .dest .foto, .porque .tx, .acard,
  .relato .tx, .oficina .tx, .oficina .mapa, .oficina .oplano,
  .cuerpo .lay > .main { min-width:min(300px,100%); }
  .aform .tx { min-width:min(290px,100%); }
  .vender .lamina, .porque .lista, .bloque-t .bt-cab p { min-width:min(280px,100%); }
}

@media (max-width:400px){ .cuerpo .lay > .lateral { min-width:min(340px,100%); } }

@media (max-width:400px){
  section.final:has(> .frame:empty, > .marco:empty) .btn {
    padding-left:24px; padding-right:24px; text-wrap:balance;
  }
}

@media (max-width:400px){ .hero h1 { font-size:2.2rem; } }
@media (max-width:352px){ .hero h1 .nb { white-space:normal; } }
@media (min-width:353px) and (max-width:369px){ .hero h1 .nb { white-space:nowrap; } }
@media (min-width:353px) and (max-width:700px){ .hero h1 { text-wrap:wrap; } }
@media (min-width:353px) and (max-width:369px){ .hero h1 { font-size:2.1rem; } }



@media (max-width:900px){ header nav { display:none; } }

@media (max-width:350px){ header .brand .bs { letter-spacing:.3em; } }

@media (max-width:600px){
  :is(.hero,.khero,.ehero,.lhero,.ahero,.thero,.qhero,.nhero,.e404) .kick {
    letter-spacing:.3em; line-height:1.9; text-wrap:balance;
  }
  :is(.kick,.folio) .ksep { display:block; height:0; overflow:hidden; }
  .folio, .sec-kick, .kicker { text-wrap:balance; }
}

@media (max-width:700px){
  h3, h4, summary, p.sub, .final p { text-wrap:pretty; }
  footer .legal, .kmapa .kbaj { text-wrap:pretty; }
  .porque .li h3, .aform h3 { text-wrap:balance; }
  .ahero h1 .nb, .nhero h1 .nb, .unidades h3 .nb, #nosotros.casa h2 .nb { white-space:nowrap; }

  .kpresu .kcab h2 { text-wrap:wrap; }
  .kpresu .kcab h2 .it { white-space:nowrap; }
}


@media (max-width:700px){
  .topbar .acc a { min-height:44px; padding-top:10px; padding-bottom:10px; margin-top:-10px; margin-bottom:-10px; }

  footer .rieles nav { gap:0; }
  footer .rieles nav a { display:flex; align-items:center; min-height:44px; min-width:44px; padding-top:0; padding-bottom:0; }
  footer .datos { gap:24px; }

  .miga a, footer .datos a, footer .redes a, .ir-landing, .card .micro a, .sec-link, .ktodo,
  .ver-mas a, .oficina .dato a, #cartera .placa h3 a, .fwa a, .aform .tel a,
  .mnav .mnav-foot a, .mnav nav a { position:relative; }
  .miga a::before, footer .datos a::before, footer .redes a::before, .ir-landing::before,
  .card .micro a::before, .sec-link::before, .ktodo::before, .ver-mas a::before,
  .oficina .dato a::before, #cartera .placa h3 a::before, .fwa a::before, .aform .tel a::before,
  .mnav .mnav-foot a::before, .mnav nav a::before {
    content:""; position:absolute;
    top:min(0px, calc(50% - 22px)); bottom:min(0px, calc(50% - 22px));
    left:min(0px, calc(50% - 22px)); right:min(0px, calc(50% - 22px));
  }
}
@media (max-width:640px){ .miga .otras { padding-top:13px; } }

@media (max-width:700px){
  .buscador .sel-btn::before { content:""; position:absolute; inset:0; }
  .rline .orden-w .sel-btn::before { content:""; position:absolute; inset:-1px; }

  .kbusca select { min-height:44px; margin-top:-10px; margin-bottom:-10px; }
  .kbarra input[type=range] { height:44px; margin-top:-5px; margin-bottom:-5px; }
  .kpchip { min-height:44px; }
  .refina input { min-height:44px; margin-top:-10px; margin-bottom:-10px; }
  .refina .masf, .refina .limpiar { min-height:44px; }
  .refina .sel-btn::before { inset:0; }

  .wa-mini { min-height:44px; display:inline-flex; align-items:center; }
  .dev .wa-dev { min-height:44px; align-items:center; }
  .hero .ctas .btn, .tipos-indice a { min-height:44px; }

  .indice .ix { padding-top:12.5px; padding-bottom:12.5px; }

  .acampo :is(input,select,textarea), .qcampo :is(input,select,textarea),
  .kbusca select, .kbarra input, .refina :is(input,select), .buscador select { font-size:16px; }
  .kbusca label, .buscador label, .refina :is(label,.rot),
  .rline .orden-w label { font-size:.7rem; }
  .acampo label, .qcampo label { font-size:.75rem; }
  .kbusca label, .buscador label { line-height:12px; }
  :is(.acampo,.qcampo,.field) label { text-wrap:balance; }
  .frow { row-gap:0; }
  .fwa { flex-wrap:wrap; row-gap:4px; }
  .fwa a { white-space:nowrap; }

  :is(.acampo,.qcampo,.field) input { text-overflow:ellipsis; }

  .lb .flecha { min-width:44px; min-height:44px; }
  .lb .flecha, .lb .cerrar { z-index:1; }
}

@media (pointer:coarse){
  .hoja .pt::before, .lb .marco .pt::before {
    content:""; position:absolute;
    top:min(0px, calc(50% - var(--pt-area, 0px) / 2)); bottom:min(0px, calc(50% - var(--pt-area, 0px) / 2));
    left:min(0px, calc(50% - var(--pt-area, 0px) / 2)); right:min(0px, calc(50% - var(--pt-area, 0px) / 2));
  }
}

@media (max-width:520px){
  :is(.ahero,.thero,.e404,.qhero,.nhero) .acts:has(> .btn ~ .btn),
  section.final .acts:has(> .btn ~ .btn) {
    flex-direction:column; align-items:stretch; width:100%; max-width:330px; margin-left:auto; margin-right:auto;
  }
  :is(.lhero,.ehero,.vender) .acts:has(> .btn ~ .btn) {
    flex-direction:column; align-items:stretch; width:100%; max-width:330px;
  }
  :is(.ahero,.thero,.e404,.qhero,.nhero,.lhero,.ehero,.vender,section.final) .acts:has(> .btn ~ .btn) > .btn {
    justify-content:center; text-align:center; text-wrap:balance;
  }
}
@media (max-width:600px){ .ehero:has(+ .indice) .in { padding-top:44px; padding-bottom:36px; } }
@media (max-width:480px){
  .dest .acts:has(> .btn ~ .btn) > .btn { width:100%; padding-left:18px; padding-right:18px; justify-content:center; text-align:center; text-wrap:balance; }
}
@media (max-width:700px){
  .salida > .btn, .qenviar, .kver { text-wrap:balance; }
}


@media (max-width:1199px){
  .wa-float {
    transition: opacity .25s cubic-bezier(.4,0,.2,1), transform .25s cubic-bezier(.4,0,.2,1), visibility 0s;
  }
  .wa-float.oculto {
    opacity:0; transform:translateY(calc(100% + 48px + env(safe-area-inset-bottom,0px))) scale(.85); visibility:hidden; pointer-events:none;
    transition: opacity .2s cubic-bezier(.4,0,.2,1), transform .2s cubic-bezier(.4,0,.2,1), visibility 0s .2s;
  }
}
@media (max-width:1199px) and (prefers-reduced-motion:reduce){
  .wa-float, .wa-float.oculto { transition:none; }
}
@media (max-width:1199px) and (scripting:enabled){
  .wa-float:not([data-listo]) { opacity:0; visibility:hidden; transform:translateY(calc(100% + 48px + env(safe-area-inset-bottom,0px))) scale(.85); animation:dmb-wa-respaldo 0s linear 5s forwards; }
}
@keyframes dmb-wa-respaldo { to { opacity:1; visibility:visible; transform:none; } }



@media (max-width:900px){
  .mnav nav { align-items:stretch; }
  .mnav nav a { padding:0; letter-spacing:normal; }
  .mnav nav a::after { content:none; }
  .mnav .mnav-foot { align-items:baseline; }
}

@media (max-width:560px){
  .trustband .wrap { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:center; text-align:center; }
}

@media (max-width:560px){ .vender .card-tasa { width:100%; } }

@media (max-width:760px){ .kmapa .ktrama { flex:0 0 auto; width:60px; height:44px; } }

@media (max-width:640px){
  .indice[data-pie-hero] a { flex-basis:100%; border-right:none; padding-left:0; padding-right:0; }
  .indice[data-pie-hero] a:last-child { border-bottom:none; }
}

@media (max-width:478px){ .ver-mas-osc a { display:inline; line-height:2; } }

@media (max-width:480px){ .dest .stats:has(> .st:nth-child(3)) { gap:18px 22px; } }

@media (max-width:860px){
  .como .pasos .paso + .paso { padding-top:26px; padding-bottom:26px; }
  .como .pasos .paso:last-child { padding-bottom:0; }
}

@media (max-width:620px){
  .pasos-g { border-top:0; }
  .pasos-g .paso-e { border-right:0; padding:0 0 30px; border-bottom:1px solid var(--filete-suave); }
  .pasos-g .paso-e:last-child { border-bottom:0; }
}


@media (max-width:700px){
  .puerta-t .pt-tit { text-wrap:balance; }
  .detalles .det-t .nb { white-space:nowrap; }
}

@media (max-width:900px){
  body.menu-open header { pointer-events:none; }
  body.menu-open header .burger { pointer-events:auto; }
}

@media (max-width:900px){
  .mnav nav a.mnav-sub {
    font-size:1.32rem; line-height:1.3; font-weight:500; color:#d9c8b2;
    padding:6px 0 6px 18px; margin-left:4px; border-left:1px solid rgba(205,169,120,.4);
  }
  .mnav nav a.mnav-sub:hover, .mnav nav a.mnav-sub[aria-current="page"] { color:var(--bronce-l,#cda978); }
  .mnav nav a:nth-child(7) { transition-delay:.38s; }
  .mnav nav a:nth-child(8) { transition-delay:.41s; }
  .mnav nav a:nth-child(9) { transition-delay:.44s; }
  .mnav nav a:nth-child(10) { transition-delay:.47s; }
  .mnav nav a:nth-child(11) { transition-delay:.50s; }
  .mnav nav a:nth-child(12) { transition-delay:.53s; }
}
@media (max-width:900px) and (prefers-reduced-motion:reduce){
  .mnav nav a { transition-delay:0s !important; }
}
@media (max-width:700px){
  footer .rieles nav { display:grid; grid-template-rows:repeat(6,auto); grid-auto-flow:column; column-gap:28px; width:100%; }
}
@media (max-width:900px){
  .mnav nav a[aria-current="true"] { color:var(--bronce-l,#cda978); }
}
@media (max-width:693px){ .cuerpo .main > .precio-cel { display:flex; } }
@media (max-width:700px){
  #cartera.en-mapa .maprox .maprox-ayuda { display:none; }
  #cartera.en-mapa .maprox { font-size:.68rem; padding:6px 10px; left:10px; bottom:28px; max-width:calc(100% - 130px); }
  #cartera.en-mapa .mbtns { top:10px; right:10px; }
}

@media (max-width:900px){ [data-sello] { width:min(300px,62vw); } }

@media (pointer:coarse){ .carta-anexo .pt-a { pointer-events:none; } }

@media (pointer:coarse) {
  .topbar a.dir { min-height:44px; padding-top:10px; padding-bottom:10px; margin-top:-10px; margin-bottom:-10px; }
}



@media (pointer:coarse) and (min-width:701px){
  .topbar .acc a { min-height:44px; padding-top:10px; padding-bottom:10px; margin-top:-10px; margin-bottom:-10px; }
  footer .datos { gap:24px; }
  footer .rieles nav a { padding-top:14px; padding-bottom:14px; margin-top:-8px; margin-bottom:-8px; }
  footer .rieles nav { row-gap:16px; }
  body > footer .rieles nav { clip-path:inset(-10px -10px -10px 29px); }
  .miga a, footer .datos a, footer .redes a, .ir-landing, .card .micro a, .sec-link, .ktodo,
  .ver-mas a, .oficina .dato a, #cartera .placa h3 a, .fwa a, .aform .tel a { position:relative; }
  .miga a::before, footer .datos a::before, footer .redes a::before, .ir-landing::before,
  .card .micro a::before, .sec-link::before, .ktodo::before, .ver-mas a::before,
  .oficina .dato a::before, #cartera .placa h3 a::before, .fwa a::before, .aform .tel a::before {
    content:""; position:absolute;
    top:min(0px, calc(50% - 22px)); bottom:min(0px, calc(50% - 22px));
    left:min(0px, calc(50% - 22px)); right:min(0px, calc(50% - 22px));
  }
  .kbusca select { min-height:44px; margin-top:-10px; margin-bottom:-10px; }
  .kbarra input[type=range] { height:44px; margin-top:-5px; margin-bottom:-5px; }
  .kpchip { min-height:44px; }
  .indice .ix { padding-top:12.5px; padding-bottom:12.5px; }
}
@media (pointer:coarse) and (min-width:901px){
  .topbar .acc a { margin-top:-8px; margin-bottom:-8px; }
}
@media (pointer:coarse) and (min-width:701px) and (max-width:900px){
  .mnav .mnav-foot a, .mnav nav a { position:relative; }
  .mnav .mnav-foot a::before, .mnav nav a::before {
    content:""; position:absolute;
    top:min(0px, calc(50% - 22px)); bottom:min(0px, calc(50% - 22px));
    left:min(0px, calc(50% - 22px)); right:min(0px, calc(50% - 22px));
  }
}

@media (max-width:680px){ .kplanocaja .kref { margin-inline:5vw; } }
@media (min-width:421px) and (max-width:700px){ .kcats .ktcat:last-child:nth-child(odd) { grid-column:1 / -1; } }
@media (max-width:640px){ .dest .carta .cn { display:none; } }
@media (max-width:520px){
  .lineafirma .lf-nodo { position:relative; flex-wrap:wrap; column-gap:10px; row-gap:3px; padding-left:62px; }
  .lineafirma .lf-nodo .lf-p { position:absolute; left:0; top:6px; transform:none; }
  .lineafirma .lf-nodo .lf-n { position:absolute; left:24px; top:3px; }
  .lineafirma .lf-nodo b, .lineafirma .lf-nodo em { white-space:nowrap; }
}

@media (max-width:700px){ .prueba .comilla { display:none; } }
@media (max-width:900px){
  .mnav nav a.mnav-sub {
    position:relative; display:flex; align-items:center; min-height:44px; box-sizing:border-box;
    margin-block:-2.25px; padding:6px 0 6px 19px; border-left:0;
  }
  .mnav nav a.mnav-sub::after {
    content:""; position:absolute; left:0; top:2.25px; bottom:2.25px; width:1px; height:auto; transform:none; background:rgba(205,169,120,.4);
  }
}
