:root{
      --verde-profundo:#2E2A24;
      --verde-oliva:#A88B6B;
      --verde-salvia:#C7B299;
      --crema-calido:#F7F1E8;
      --marfil:#FFFDF8;
      --beige-piedra:#E4D8C8;
      --texto-principal:#2E2A24;
      --texto-secundario:#6F665B;
      --texto-sobre-oscuro:#FFFDF8;

      --brand-olive-dark:var(--verde-profundo);
      --brand-olive:var(--verde-oliva);
      --brand-olive-soft:var(--verde-salvia);
      --cream-main:var(--crema-calido);
      --cream-bg:var(--crema-calido);
      --cream-surface:var(--marfil);
      --cream-border:var(--beige-piedra);
      --text-main:var(--texto-principal);
      --text-soft:var(--texto-secundario);
      --text-on-dark:var(--texto-sobre-oscuro);
      --accent-soft:var(--beige-piedra);

      --green:var(--verde-profundo);
      --green-2:var(--verde-oliva);
      --green-3:var(--verde-salvia);
      --gold:var(--verde-oliva);
      --cream:var(--crema-calido);
      --text:var(--texto-principal);
      --muted:var(--texto-secundario);
      --line:var(--beige-piedra);
      --bg:var(--crema-calido);
      --card:var(--marfil);
      --shadow:0 14px 35px rgba(46,42,36,.08);
      --radius:10px;
      --font-heading:"Cormorant Garamond",Georgia,serif;
      --font-display:var(--font-heading);
      --font-body:"Manrope",Arial,sans-serif;
    }

    /* Logo de marca con castillo crema en PNG transparente */
    .shield.brand-logo{
      width:59px!important;
      height:59px!important;
      flex:0 0 59px!important;
      border:0!important;
      border-radius:0!important;
      background:transparent!important;
      padding:0!important;
      overflow:visible!important;
      transform:translateY(-4px)!important;
    }
    .shield.brand-logo:before,
.shield.brand-logo:after{
      content:none!important;
      display:none!important;
    }
    .shield.brand-logo img{
      display:block;
      width:100%;
      height:100%;
      object-fit:contain;
    }
    .footer .shield.brand-logo{
      width:54px!important;
      height:54px!important;
      flex-basis:54px!important;
    }
    @media(max-width:820px){
      .topbar .shield.brand-logo{
        width:42px!important;
        height:42px!important;
        flex-basis:42px!important;
        transform:translateY(-2px)!important;
      }
      .footer .shield.brand-logo{
        width:46px!important;
        height:46px!important;
        flex-basis:46px!important;
      }
    }
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);background:var(--cream);color:var(--text)}
    body.page,
body.page:hover{transform:none!important;filter:none!important;perspective:none!important;contain:none!important;will-change:auto!important}
    .topbar{height:92px;background:var(--green);color:var(--texto-sobre-oscuro);display:flex;align-items:center;padding:0 46px;gap:42px;position:sticky;top:0;z-index:50;box-shadow:0 3px 20px rgba(0,0,0,.14)}
    .brand{display:flex;align-items:center;gap:12px;min-width:295px;cursor:pointer}.shield{width:54px;height:62px;border:3px solid var(--gold);border-radius:4px 4px 18px 18px;position:relative;display:grid;place-items:center;color:var(--gold);font-weight:900}.shield:before{content:"";position:absolute;top:-3px;left:8px;width:7px;height:13px;background:var(--green);border:3px solid var(--gold);border-bottom:0}.shield:after{content:"";position:absolute;top:-3px;right:8px;width:7px;height:13px;background:var(--green);border:3px solid var(--gold);border-bottom:0}.shield span{font-size:23px;line-height:1}.brand small{display:block;color:var(--gold);font-size:11px;letter-spacing:2.2px;font-weight:800;margin-bottom:2px;text-transform:uppercase}.brand strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:28px;letter-spacing:1.4px;line-height:.95}.brand em{display:block;font-style:normal;color:var(--beige-piedra);font-size:8px;letter-spacing:4px;font-weight:800;margin-top:5px;text-transform:uppercase}
    .topbar nav{display:flex;align-items:center;gap:34px;flex:1;justify-content:center;height:100%}.topbar nav a{color:var(--texto-sobre-oscuro);text-decoration:none;font-weight:700;font-size:15px;opacity:.94;position:relative;height:100%;display:flex;align-items:center;cursor:pointer}.topbar nav a.active{color:var(--gold)}.topbar nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:16px;height:3px;background:var(--gold);border-radius:3px}.phone{display:flex;align-items:center;gap:13px;font-size:18px;font-weight:800;white-space:nowrap;cursor:pointer}.wa{width:26px;height:26px;border:2px solid var(--crema-calido);border-radius:50%;display:grid;place-items:center;color:var(--crema-calido);font-size:15px}
    .container{max-width:1500px;margin:auto;padding:24px 44px 38px}.breadcrumb{display:flex;gap:12px;align-items:center;color:var(--texto-principal);font-size:14px;margin-bottom:14px}.breadcrumb span{color:var(--texto-secundario)}.hero{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:12px}h1{font-family:Georgia,'Times New Roman',serif;font-size:39px;line-height:1;margin:0 0 8px;color:var(--texto-principal);letter-spacing:-.5px}.subtitle{margin:0;color:var(--texto-secundario);font-size:16px}.count{font-size:18px;font-weight:800;margin-bottom:9px;color:var(--texto-principal)}.layout{display:grid;grid-template-columns:282px 1fr 262px;gap:28px;align-items:start}.panel{background:var(--marfil);border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 16px rgba(0,0,0,.03)}
    .filters{padding:22px 17px 18px;position:sticky;top:112px}.filters-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.filters h2{font-family:Georgia,serif;font-size:19px;margin:0}.clear{font-size:12px;color:var(--green-3);font-weight:700;text-decoration:none}.label{font-size:13px;font-weight:800;margin:17px 0 9px;display:flex;gap:7px;align-items:center;color:var(--texto-secundario)}.control,.half input,.searchbar input{width:100%;height:35px;border:1px solid var(--line);background:var(--marfil);border-radius:4px;color:var(--texto-secundario);padding:0 10px;font-size:12px}.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seg button{height:31px;border:1px solid var(--line);background:var(--marfil);border-radius:4px;font-weight:700;font-size:12px;color:var(--texto-secundario);cursor:pointer}.seg button.active{background:var(--green-2);color:var(--texto-sobre-oscuro);border-color:var(--green-2)}.price-sliders{display:grid;gap:8px}.price-sliders input{width:100%;accent-color:var(--green-2)}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.half span{font-size:12px;font-weight:700;display:block;margin-bottom:7px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:12px;color:var(--texto-secundario)}.checks label{display:flex;align-items:center;gap:7px}.checks input{width:13px;height:13px;accent-color:var(--green-2)}.btn{width:100%;height:36px;border:0;border-radius:5px;background:var(--green-2);color:var(--texto-sobre-oscuro);font-weight:800;margin-top:20px;font-size:14px;cursor:pointer;transition:.18s}.btn:hover,.outline:hover,.pagination .page:hover,.pagination .next:hover{transform:translateY(-1px);filter:brightness(1.04)}.save{background:var(--marfil);color:var(--texto-secundario);border:1px solid var(--beige-piedra);margin-top:9px}.saved-note{display:none;font-size:12px;color:var(--green-3);font-weight:800;margin-top:10px;text-align:center}.saved-note.show{display:block}.main-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 16px}.searchbar{flex:1;max-width:390px}.searchbar input{height:39px;font-size:13px}.sort{font-size:13px;color:var(--texto-secundario);white-space:nowrap}.sort select{height:39px;border:1px solid var(--line);border-radius:5px;background:var(--marfil);padding:0 42px 0 15px;margin-left:8px;color:var(--texto-secundario);font-weight:600}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.property{overflow:hidden;background:var(--marfil);border:1px solid var(--line);border-radius:7px;box-shadow:0 8px 22px rgba(0,0,0,.05);cursor:pointer;transition:.18s}.property:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.09)}.photo{height:178px;position:relative;background-size:cover;background-position:center}.badge{position:absolute;top:12px;left:12px;background:var(--verde-profundo);color:var(--texto-sobre-oscuro);font-size:11px;font-weight:900;padding:7px 10px;border-radius:4px;box-shadow:0 4px 10px rgba(0,0,0,.18)}.price{position:absolute;left:12px;bottom:8px;color:var(--texto-sobre-oscuro);font-weight:900;font-size:19px;text-shadow:0 2px 8px rgba(0,0,0,.55)}.property-body{padding:13px 13px 14px}.property h3{font-size:13px;margin:0 0 10px;font-weight:900}.loc{font-size:12px;color:var(--texto-secundario);display:flex;align-items:center;gap:7px;margin-bottom:15px}.features{display:flex;gap:18px;align-items:center;color:var(--texto-secundario);font-size:12px}.features span{display:flex;align-items:center;gap:6px;white-space:nowrap}.ico{font-style:normal;color:var(--verde-oliva)}.empty{display:none;background:var(--marfil);border:1px dashed var(--beige-piedra);border-radius:8px;padding:38px;text-align:center;color:var(--texto-secundario)}.empty.show{display:block}.pagination{display:flex;justify-content:center;gap:10px;margin:30px 0 4px;flex-wrap:wrap}.pagination .page,.pagination .next{height:38px;min-width:38px;border:1px solid var(--line);background:var(--marfil);border-radius:6px;color:var(--texto-principal);font-weight:700;cursor:pointer}.pagination .page.active{background:var(--green-2);color:var(--texto-sobre-oscuro)}.pagination .next:disabled{opacity:.45;cursor:not-allowed;transform:none}.dots{display:flex;align-items:center;color:var(--texto-secundario);padding:0 9px}
    .right{display:grid;gap:20px}.outline{width:100%;height:46px;border-radius:6px;background:transparent;border:1px solid var(--gold);color:var(--texto-sobre-oscuro);font-weight:900;margin:0 0 20px;cursor:pointer}.calltxt{text-align:center;color:var(--crema-calido);font-size:12px;margin-bottom:10px}.phonebox{height:52px;border:1px solid rgba(255,255,255,.2);border-radius:6px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:18px;font-weight:900;cursor:pointer}.benefits{margin-top:32px;background:var(--marfil);border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:repeat(4,1fr);padding:28px 12px;box-shadow:0 8px 20px rgba(0,0,0,.03)}.benefit{display:flex;gap:16px;align-items:center;padding:0 42px;border-right:1px solid var(--line)}.benefit:last-child{border-right:0}.benefit .big{font-size:43px;color:var(--verde-oliva);line-height:1}.benefit strong{display:block;font-size:15px;margin-bottom:6px}.benefit p{margin:0;font-size:13px;color:var(--texto-secundario);line-height:1.35}
    .modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;place-items:center;z-index:100;padding:20px}.modal.show{display:grid}.modal-card{width:min(760px,96vw);background:var(--marfil);border-radius:14px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.25)}.modal-photo{height:280px;background-size:cover;background-position:center;position:relative}.modal-content{padding:22px}.modal-content h2{font-family:Georgia,serif;margin:0 0 8px;font-size:28px}.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.modal-actions button{height:40px;border-radius:6px;border:1px solid var(--line);background:var(--marfil);font-weight:800;cursor:pointer;padding:0 15px}.modal-actions .primary{background:var(--green-2);color:var(--texto-sobre-oscuro);border-color:var(--green-2)}.close{position:absolute;right:14px;top:12px;border:0;background:rgba(0,0,0,.45);color:var(--texto-sobre-oscuro);width:36px;height:36px;border-radius:50%;font-size:22px;cursor:pointer}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(25px);background:var(--verde-profundo);color:var(--texto-sobre-oscuro);padding:12px 18px;border-radius:8px;opacity:0;pointer-events:none;transition:.25s;z-index:120;font-weight:800;font-size:14px}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

    .view[hidden]{display:none!important}.home-wrap{background:var(--marfil)}.home-hero{min-height:370px;background:linear-gradient(90deg,rgba(247,241,232,.96) 0%,rgba(247,241,232,.86) 28%,rgba(247,241,232,.42) 55%,rgba(247,241,232,.08) 78%,rgba(247,241,232,0) 100%),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=85') center/cover;display:flex;align-items:center;color:var(--texto-sobre-oscuro);padding:72px 52px 96px}.home-inner{max-width:1500px;margin:auto;width:100%}.home-copy{max-width:610px}.home-copy h1{color:var(--texto-sobre-oscuro);font-size:55px;line-height:.98;margin-bottom:22px;text-shadow:0 3px 22px rgba(0,0,0,.28)}.home-copy p{font-size:17px;line-height:1.55;margin:0 0 24px;color:var(--texto-sobre-oscuro)}.home-actions{display:flex;gap:12px;flex-wrap:wrap}.home-btn{height:48px;padding:0 24px;border-radius:5px;border:1px solid var(--gold);font-weight:900;cursor:pointer;background:var(--green-2);color:var(--texto-sobre-oscuro)}.home-btn.secondary{background:rgba(0,0,0,.24);border-color:var(--beige-piedra)}.home-search{max-width:1180px;margin:-48px auto 26px;background:var(--marfil);border-radius:8px;box-shadow:0 16px 38px rgba(0,0,0,.18);display:grid;grid-template-columns:1fr 1fr 1fr 1fr 140px;overflow:hidden;position:relative;z-index:3}.home-field{padding:16px 22px;border-right:1px solid var(--line);display:flex;gap:14px;align-items:center}.home-field .icon{font-size:24px;color:var(--texto-secundario)}.home-field label{display:block;font-size:12px;font-weight:900;color:var(--texto-secundario);margin-bottom:5px}.home-field select{border:0;background:transparent;width:100%;font-size:13px;color:var(--texto-secundario);outline:0}.home-search button{border:0;background:var(--green-2);color:var(--texto-sobre-oscuro);font-weight:900;font-size:15px;cursor:pointer}.home-content{max-width:1500px;margin:auto;padding:0 52px 0}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:20px 0 12px}.category-card{height:58px;background:var(--marfil);border:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 28px;cursor:pointer;transition:.18s}.category-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.08)}.category-card .cat-icon{font-size:32px;color:var(--verde-oliva)}.category-card strong{display:block;font-family:Georgia,serif;font-size:17px}.category-card span{font-size:12px;color:var(--texto-secundario)}.category-card .arrow{margin-left:auto;font-size:20px}.section-title{display:flex;align-items:end;justify-content:space-between;margin:18px 0 12px}.section-title h2{font-family:Georgia,serif;font-size:23px;margin:0}.section-title button{border:0;background:transparent;color:var(--texto-principal);font-weight:700;cursor:pointer}.featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.home-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:34px 0 24px;border:1px solid var(--line);border-radius:7px;background:var(--marfil);overflow:hidden}.home-benefits .mini-benefit{padding:22px;text-align:center;border-right:1px solid var(--line)}.home-benefits .mini-benefit:last-child{border-right:0}.mini-benefit .big{font-size:34px;color:var(--gold);display:block;margin-bottom:8px}.mini-benefit strong{display:block;font-size:14px;margin-bottom:5px}.mini-benefit p{font-size:11px;color:var(--texto-secundario);margin:0;line-height:1.35}.advisors{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:18px;margin-bottom:25px}.advisors h2{font-family:Georgia,serif;margin:0;font-size:22px}.advisor-card{display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:var(--marfil);border-radius:7px;padding:12px}.advisor-photo{width:70px;height:78px;border-radius:7px;background-size:cover;background-position:center;flex:0 0 auto}.advisor-card strong{font-size:13px}.advisor-card p{font-size:11px;color:var(--texto-secundario);margin:4px 0}.advisor-card a{font-size:12px;color:var(--verde-profundo);text-decoration:none;font-weight:800}.footer{background:var(--green);color:var(--texto-sobre-oscuro);padding:28px 52px 20px;margin-top:0}.footer-grid{max-width:1500px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr .8fr .8fr 1.2fr;gap:30px;align-items:start}.footer small,.footer a,.footer p{color:var(--crema-calido);font-size:13px;text-decoration:none}.footer h4{margin:0 0 12px;color:var(--texto-sobre-oscuro)}.socials{display:flex;gap:12px}.socials span{width:30px;height:30px;border-radius:50%;background:var(--gold);display:grid;place-items:center;color:var(--texto-sobre-oscuro);font-weight:900}.footer-bottom{max-width:1500px;margin:24px auto 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;gap:20px}.footer-bottom span{font-size:12px;color:var(--crema-calido)}.footer-links{display:flex;gap:32px}
    @media(max-width:1200px){.home-search{grid-template-columns:repeat(2,1fr)}.home-search button{height:54px}.category-grid,.featured-grid,.home-benefits{grid-template-columns:repeat(2,1fr)}.advisors{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:820px){.home-hero{padding:55px 18px 85px}.home-copy h1{font-size:40px}.home-search{margin:-42px 16px 20px;grid-template-columns:1fr}.home-field{border-right:0;border-bottom:1px solid var(--line)}.home-content{padding:0 16px}.category-grid,.featured-grid,.home-benefits,.advisors,.footer-grid{grid-template-columns:1fr}.home-benefits .mini-benefit{border-right:0;border-bottom:1px solid var(--line)}.footer{padding:28px 18px}.footer-bottom{flex-direction:column}.footer-links{gap:14px;flex-wrap:wrap}}

    @media(max-width:1200px){.layout{grid-template-columns:260px 1fr}.right{grid-column:1/-1;grid-template-columns:1fr 1fr}.grid{grid-template-columns:repeat(2,1fr)}.topbar nav{gap:18px}.phone{display:none}.benefit{padding:0 18px}}@media(max-width:820px){.topbar{height:auto;padding:18px 20px;flex-wrap:wrap}.brand{min-width:0}.brand strong{font-size:23px}.topbar nav{order:3;width:100%;justify-content:flex-start;overflow:auto;height:38px}.container{padding:22px 16px}.hero{align-items:flex-start;gap:10px;flex-direction:column}h1{font-size:34px}.layout{grid-template-columns:1fr}.filters{position:static}.main-top{flex-direction:column;align-items:stretch}.searchbar{max-width:none}.grid{grid-template-columns:1fr}.right{grid-template-columns:1fr}.benefits{grid-template-columns:1fr}.benefit{border-right:0;border-bottom:1px solid var(--line);padding:18px}.benefit:last-child{border-bottom:0}}
  

    /* Correccion de espaciado en Inicio: evita que tarjetas,
asesores y beneficios queden pegados */
    .home-content{
      padding:18px 52px 34px;
    }
    .category-grid{
      margin:18px 0 30px;
    }
    .section-title{
      margin:0 0 18px;
      padding-top:4px;
    }
    .featured-grid{
      display:flex;
      gap:28px;
      margin-bottom:42px;
      align-items:start;
      overflow-x:auto;
      overflow-y:hidden;
      padding:2px 2px 12px;
      scroll-snap-type:x proximity;
      scrollbar-color:rgba(168,139,107,.35) transparent;
      scrollbar-width:thin;
    }
    .featured-grid::-webkit-scrollbar{
      height:8px;
    }
    .featured-grid::-webkit-scrollbar-track{
      background:transparent;
    }
    .featured-grid::-webkit-scrollbar-thumb{
      background:rgba(168,139,107,.28);
      border-radius:999px;
    }
    .featured-grid .property{
      min-width:320px;
      flex:0 0 calc((100% - 84px) / 4);
      scroll-snap-align:start;
    }
    .featured-grid .property-body{
      padding:16px 16px 18px;
    }
    .featured-grid .features{
      flex-wrap:wrap;
      row-gap:10px;
      column-gap:16px;
      overflow:visible;
      line-height:1.25;
    }
    .featured-grid .features span{
      white-space:normal;
    }
    .advisors{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:22px;
      margin:6px 0 42px;
      padding-top:6px;
      clear:both;
    }
    .advisors h2{
      grid-column:1/-1;
      margin:0 0 2px;
      font-size:28px;
      line-height:1.15;
    }
    .advisor-card{
      min-height:104px;
      padding:16px;
    }
    .home-benefits{
      margin:16px 0 40px;
    }
    .home-benefits .mini-benefit{
      padding:34px 26px;
    }
    @media(max-width:1200px){
      .home-content{padding:18px 34px 34px}
      .featured-grid .property{flex-basis:calc((100% - 28px) / 2)}
      .advisors{grid-template-columns:1fr 1fr}
      .advisors h2{grid-column:1/-1}
    }
    @media(max-width:820px){
      .home-content{padding:16px 16px 28px}
      .featured-grid{gap:20px;margin-bottom:34px}
      .advisors{grid-template-columns:1fr;gap:16px;margin-bottom:34px}
      .advisors h2{font-size:25px}
      .home-benefits .mini-benefit{padding:26px 18px}
    }

  

    /* Mejoras responsive estilo app movil */
    .menu-toggle{display:none;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:var(--texto-sobre-oscuro);width:42px;height:42px;border-radius:10px;cursor:pointer;font-size:20px;font-weight:900;align-items:center;justify-content:center}
    .mobile-backdrop{display:none}
    .mobile-bottom-nav{display:none}

    @media(max-width:820px){
      body{padding-bottom:84px}
      .topbar{padding:12px 14px;gap:10px;position:sticky;top:0;align-items:center;justify-content:space-between}
      .brand{gap:10px;max-width:calc(100% - 54px)}
      .shield{width:34px;height:40px;border-width:2px}
      .shield:before,
.shield:after{width:4px;height:8px;top:-2px;border-width:2px}
      .shield:before{left:5px}.shield:after{right:5px}
      .shield span{font-size:14px}
      .brand small{font-size:7px;letter-spacing:1.4px;margin-bottom:1px}
      .brand strong{font-size:16px;letter-spacing:.8px}
      .brand em{font-size:5px;letter-spacing:2.4px;margin-top:3px}
      .phone{display:none!important}
      .menu-toggle{display:flex}
      .topbar nav{position:fixed;top:0;right:-300px;width:280px;max-width:82vw;height:100vh;background:var(--green);padding:82px 22px 24px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;overflow:auto;transition:right .24s ease;box-shadow:-16px 0 40px rgba(0,0,0,.28);z-index:95}
      .topbar nav a{height:auto;padding:15px 2px;border-bottom:1px solid rgba(255,255,255,.08);font-size:16px}
      .topbar nav a.active:after{left:0;right:auto;width:32px;bottom:8px}
      body.menu-open .topbar nav{right:0}
      .mobile-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:90;opacity:0;pointer-events:none;transition:.2s}
      body.menu-open .mobile-backdrop{display:block;opacity:1;pointer-events:auto}

      .home-hero{min-height:295px;padding:20px 14px 78px;background-position:center}
      .home-copy{max-width:195px}
      .home-copy h1{font-size:18px;line-height:1.06;margin-bottom:10px;letter-spacing:-.2px}
      .home-copy p{font-size:10px;line-height:1.4;margin-bottom:13px;max-width:180px}
      .home-actions{gap:8px}
      .home-btn{height:33px;padding:0 12px;font-size:11px;border-radius:8px}

      .home-search{margin:-33px 12px 16px;border-radius:12px;grid-template-columns:1fr 1fr;overflow:hidden;box-shadow:0 14px 28px rgba(0,0,0,.18)}
      .home-field{padding:11px 10px;gap:8px;min-height:58px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
      .home-field:nth-child(2n){border-right:0}
      .home-field .icon{font-size:16px}
      .home-field label{font-size:10px;margin-bottom:3px}
      .home-field select{font-size:11px;line-height:1.2}
      .home-search button{grid-column:1/-1;height:42px;font-size:13px}

      .home-content{padding:0 12px 24px}
      .category-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 20px}
      .category-card{height:auto;min-height:74px;padding:10px 8px;gap:8px;flex-direction:column;text-align:center;border-radius:12px}
      .category-card .cat-icon{font-size:23px}
      .category-card strong{font-size:12px;line-height:1.05}
      .category-card span{font-size:9px;line-height:1.2}
      .category-card .arrow{display:none}

      .section-title{margin:0 0 10px;align-items:center}
      .section-title h2{font-size:18px}
      .section-title button{font-size:10px}

      .featured-grid{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 6px;scroll-snap-type:x proximity;margin-bottom:22px}
      .featured-grid::-webkit-scrollbar{display:none}
      .featured-grid .property{min-width:260px;flex:0 0 260px;scroll-snap-align:start;border-radius:12px}
      .featured-grid .photo{height:145px}
      .featured-grid .property-body{padding:12px}
      .featured-grid .price{font-size:15px}
      .featured-grid h3{font-size:12px}
      .featured-grid .loc{font-size:10px;margin-bottom:9px}
      .featured-grid .features{gap:8px 12px;font-size:10px;flex-wrap:wrap}
      .featured-grid .features span{white-space:nowrap}

      .advisors{grid-template-columns:1fr;gap:12px;margin:0 0 22px;padding-top:0}
      .advisors h2{font-size:16px;margin-bottom:2px}
      .advisor-card{padding:12px;border-radius:12px;min-height:0}
      .advisor-photo{width:58px;height:58px;border-radius:10px}
      .advisor-card strong{font-size:12px}
      .advisor-card p,
.advisor-card a{font-size:10px}

      .home-benefits{grid-template-columns:1fr 1fr;gap:0;border-radius:12px;margin:10px 0 18px}
      .home-benefits .mini-benefit{padding:18px 10px;min-height:108px;display:flex;flex-direction:column;justify-content:center}
      .home-benefits .mini-benefit:nth-child(2n){border-right:0}
      .home-benefits .mini-benefit:nth-child(-n+2){border-bottom:1px solid var(--line)}
      .mini-benefit .big{font-size:24px;margin-bottom:6px}
      .mini-benefit strong{font-size:11px;line-height:1.15}
      .mini-benefit p{font-size:9px;line-height:1.25}

      .footer{padding:22px 14px 18px;margin-bottom:0}
      .footer-grid{grid-template-columns:1fr;gap:18px}
      .footer-bottom{margin-top:18px;padding-top:12px;gap:10px}
      .footer-bottom span,
.footer small,
.footer a,
.footer p{font-size:11px}

      .container{padding:16px 12px 24px}
      .breadcrumb{font-size:12px;margin-bottom:10px}
      .hero{padding-bottom:14px;margin-bottom:10px}
      h1{font-size:27px}
      .subtitle{font-size:13px}
      .count{font-size:14px}
      .filters,
.panel,
.property,
.benefits{border-radius:12px}
      .main-top{gap:10px}
      .searchbar input,
.sort select,
.btn,
.outline{height:42px}
      .features{gap:10px;flex-wrap:wrap}
      .features span{font-size:11px}
      .photo{height:190px}
      .property-body{padding:13px 12px}
      .benefits{grid-template-columns:1fr 1fr;margin-top:18px;padding:0}
      .benefit{padding:16px 12px;min-height:120px;display:flex;flex-direction:column;text-align:center;border-bottom:1px solid var(--line)!important}
      .benefit:nth-child(odd){border-right:1px solid var(--line)}
      .benefit:nth-last-child(-n+2){border-bottom:0!important}
      .benefit .big{font-size:28px}
      .benefit strong{font-size:13px}
      .benefit p{font-size:11px}

      .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;height:72px;background:var(--green);display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.08);z-index:85;box-shadow:0 -8px 22px rgba(0,0,0,.2)}
      .mobile-bottom-nav button{border:0;background:transparent;color:var(--crema-calido);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;cursor:pointer;padding:0 4px}
      .mobile-bottom-nav button .ico2{font-size:18px;color:var(--gold)}
      .mobile-bottom-nav button.active{color:var(--texto-sobre-oscuro);font-weight:800}
      .mobile-bottom-nav button.active .ico2{color:var(--crema-calido)}
      .toast{bottom:88px;font-size:12px;max-width:88vw;text-align:center}
    }

  

    /* HOTFIX movil: elimina scrollbars raros y evita que el menu/nav rompa el hero */
    @media(max-width:820px){
      html,body{width:100%;max-width:100%;overflow-x:hidden}
      .topbar{height:70px;min-height:70px;max-height:70px;overflow:visible;padding:10px 14px;flex-wrap:nowrap}
      .topbar .brand{min-width:0;flex:1 1 auto;overflow:hidden}
      .topbar .brand > div:last-child{min-width:0;overflow:hidden}
      .topbar .brand strong,.topbar .brand small,.topbar .brand em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
      #nav{position:fixed!important;top:0!important;right:0!important;left:auto!important;width:280px!important;max-width:82vw!important;height:100dvh!important;min-height:100dvh!important;padding:82px 22px 24px!important;background:var(--green)!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;overflow-y:auto!important;overflow-x:hidden!important;transform:translateX(112%)!important;transition:transform .24s ease!important;z-index:95!important;box-shadow:-16px 0 40px rgba(0,0,0,.28)!important}
      body.menu-open #nav{transform:translateX(0)!important}
      #nav a{flex:0 0 auto!important;width:100%!important;min-width:0!important;white-space:nowrap!important}
      .mobile-backdrop{display:block!important;visibility:hidden;opacity:0;pointer-events:none}
      body.menu-open .mobile-backdrop{visibility:visible;opacity:1;pointer-events:auto}
      .home-wrap{overflow:hidden}
      .home-hero{min-height:350px;padding:38px 16px 92px;background-position:center top}
      .home-copy{max-width:min(330px,72vw)}
      .home-copy h1{font-size:clamp(27px,7.8vw,40px);line-height:1.02;margin:0 0 12px;text-shadow:0 3px 14px rgba(0,0,0,.45)}
      .home-copy p{font-size:clamp(12px,3.2vw,15px);max-width:290px;line-height:1.42}
      .home-btn{height:42px;font-size:13px;border-radius:9px;padding:0 16px}
      .home-btn.secondary{min-width:205px}
      .home-search{margin:-40px 16px 18px;width:auto;max-width:none;grid-template-columns:1fr 1fr;border-radius:14px}
      .category-grid{grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}
      .category-card{min-width:0}
    }
    @media(max-width:430px){
      .home-hero{min-height:330px;padding-top:28px}
      .home-copy{max-width:245px}
      .home-copy h1{font-size:27px}
      .home-copy p{font-size:12px;max-width:230px}
      .home-search{margin-left:12px;margin-right:12px}
      .category-grid{gap:7px}
      .category-card{padding:9px 5px}
    }

  
    /* Fix definitivo: la barra inferior movil no debe heredar estilos del menu lateral */
    @media(max-width:820px){
      .mobile-bottom-nav{
        top:auto!important;
        left:0!important;
        right:0!important;
        bottom:0!important;
        width:100%!important;
        max-width:none!important;
        height:72px!important;
        min-height:72px!important;
        padding:0!important;
        margin:0!important;
        overflow:visible!important;
        display:grid!important;
        grid-template-columns:repeat(5,1fr)!important;
        flex-direction:initial!important;
        align-items:stretch!important;
        justify-content:initial!important;
        gap:0!important;
        box-shadow:0 -8px 22px rgba(0,0,0,.2)!important;
        transform:none!important;
      }
      .mobile-bottom-nav button{
        min-width:0!important;
        overflow:hidden!important;
      }
      .topbar nav{
        display:flex;
      }
    }

    /* Ultima palabra mobile: scroll normal de pagina en /propiedades/ */
    @media(max-width:820px){
      html,
      body{
        min-height:100%!important;
        height:auto!important;
        max-height:none!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        position:static!important;
      }
      body.page-template-page-propiedades,
      body.page-template-page-propiedades-php{
        min-height:100vh!important;
        height:auto!important;
        max-height:none!important;
        overflow-y:auto!important;
        background:var(--marfil)!important;
        padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;
      }
      body.page-template-page-propiedades #appRoot,
      body.page-template-page-propiedades-php #appRoot{
        display:block!important;
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        min-height:0!important;
        height:auto!important;
        max-height:none!important;
        margin:0!important;
        overflow:visible!important;
        overflow-y:visible!important;
        transform:none!important;
        translate:none!important;
        opacity:1!important;
        visibility:visible!important;
        z-index:1!important;
        background:var(--marfil)!important;
      }
      body.page-template-page-propiedades #propertiesView,
      body.page-template-page-propiedades-php #propertiesView{
        display:block!important;
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        max-width:100%!important;
        min-height:0!important;
        height:auto!important;
        max-height:none!important;
        margin:0!important;
        padding:16px 12px calc(110px + env(safe-area-inset-bottom,0px))!important;
        overflow:visible!important;
        overflow-y:visible!important;
        transform:none!important;
        translate:none!important;
        opacity:1!important;
        visibility:visible!important;
        z-index:2!important;
        background:var(--marfil)!important;
        color:var(--texto-principal)!important;
      }
      body.page-template-page-propiedades #propertiesView .layout,
      body.page-template-page-propiedades-php #propertiesView .layout{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:18px!important;
        height:auto!important;
        max-height:none!important;
        overflow:visible!important;
      }
      body.page-template-page-propiedades #propertiesView .filters,
      body.page-template-page-propiedades-php #propertiesView .filters{
        position:relative!important;
        top:auto!important;
        height:auto!important;
        max-height:none!important;
        overflow:visible!important;
      }
      body.page-template-page-propiedades #propertyGrid,
      body.page-template-page-propiedades-php #propertyGrid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:18px!important;
        height:auto!important;
        max-height:none!important;
        overflow:visible!important;
      }
      .mobile-bottom-nav,
      .mobile-bottom-nav:hover,
      .mobile-bottom-nav:focus,
      .mobile-bottom-nav:focus-within{
        position:fixed!important;
        top:auto!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        transform:none!important;
        translate:none!important;
        z-index:9999!important;
      }
      .mobile-bottom-nav a:hover,
      .mobile-bottom-nav a:focus,
      .mobile-bottom-nav a:active,
      .mobile-bottom-nav button:hover,
      .mobile-bottom-nav button:focus,
      .mobile-bottom-nav button:active{
        top:auto!important;
        bottom:auto!important;
        transform:none!important;
        translate:none!important;
      }
      body:not(.menu-open) .mobile-backdrop{
        display:none!important;
        visibility:hidden!important;
        opacity:0!important;
        pointer-events:none!important;
      }
    }

    /* Last home-only mobile override. Keep this at EOF. */
    @media(max-width:820px){
      html body.home{
        padding-bottom:0!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
      }
      html body.home #appRoot{
        position:relative!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin-bottom:0!important;
        padding-bottom:0!important;
        overflow:visible!important;
        background:var(--marfil)!important;
        transform:none!important;
        translate:none!important;
        filter:none!important;
        perspective:none!important;
        contain:none!important;
        will-change:auto!important;
      }
      html body.home #homeView,
      html body.home .home-wrap{
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin-bottom:0!important;
        padding-bottom:0!important;
        overflow:visible!important;
        transform:none!important;
        translate:none!important;
        filter:none!important;
        perspective:none!important;
        contain:none!important;
        will-change:auto!important;
      }
      html body.home .footer{
        margin-bottom:0!important;
        padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
      }
      html body.home nav#mobileBottomNav.mobile-bottom-nav,
      html body.home nav#mobileBottomNav.mobile-bottom-nav:hover,
      html body.home nav#mobileBottomNav.mobile-bottom-nav:focus,
      html body.home nav#mobileBottomNav.mobile-bottom-nav:focus-within{
        position:fixed!important;
        inset:auto 0 0 0!important;
        top:auto!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        width:100vw!important;
        max-width:100vw!important;
        height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        min-height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        max-height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        margin:0!important;
        padding:0 0 env(safe-area-inset-bottom,0px)!important;
        display:grid!important;
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
        align-items:stretch!important;
        justify-content:stretch!important;
        gap:0!important;
        overflow:hidden!important;
        transform:none!important;
        translate:none!important;
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        z-index:2147483000!important;
      }
      html body.home nav#mobileBottomNav.mobile-bottom-nav a,
      html body.home nav#mobileBottomNav.mobile-bottom-nav button,
      html body.home nav#mobileBottomNav.mobile-bottom-nav a:hover,
      html body.home nav#mobileBottomNav.mobile-bottom-nav button:hover,
      html body.home nav#mobileBottomNav.mobile-bottom-nav a:focus,
      html body.home nav#mobileBottomNav.mobile-bottom-nav button:focus,
      html body.home nav#mobileBottomNav.mobile-bottom-nav a:active,
      html body.home nav#mobileBottomNav.mobile-bottom-nav button:active{
        position:static!important;
        height:72px!important;
        min-height:72px!important;
        margin:0!important;
        transform:none!important;
        translate:none!important;
        filter:none!important;
      }
    }

    /* Final single-property summary override. Must stay after legacy single rules. */
    .single-property-summary.panel{
      border-radius:14px;
      border:1px solid rgba(46,42,36,.11);
      box-shadow:0 18px 46px rgba(0,0,0,.09);
      padding:32px;
    }
    .single-property-summary h1{
      font-family:Georgia,serif;
      font-size:40px;
      line-height:1.08;
      margin:0 0 12px;
      color:var(--texto-principal);
    }
    .single-property-summary .loc{
      color:var(--texto-secundario);
      font-size:14px;
      line-height:1.45;
      margin:0 0 18px;
    }
    .single-property-price{
      font-family:Georgia,serif;
      color:var(--green);
      font-size:36px;
      font-weight:900;
      line-height:1.1;
      margin:0;
    }
    .single-property-divider{
      height:1px;
      background:linear-gradient(90deg,rgba(228,216,200,.36),var(--gold),rgba(228,216,200,.36));
      margin:22px 0;
    }
    .single-summary-description{
      border-top:0;
      color:var(--texto-secundario);
      font-size:15px;
      font-weight:700;
      line-height:1.65;
      margin:0 0 22px;
      padding-top:0;
    }
    .single-quick-facts{
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(86px,1fr));
      gap:18px 16px;
      margin-top:0;
      padding-bottom:4px;
    }
    .single-quick-facts div{
      background:transparent;
      border:0;
      border-radius:0;
      display:grid;
      gap:5px;
      min-width:0;
      padding:0;
    }
    .single-fact-icon{
      color:var(--green-2);
      display:inline-grid;
      height:30px;
      margin-bottom:2px;
      place-items:center;
      width:30px;
    }
    .single-fact-icon svg{
      display:block;
      fill:none;
      height:28px;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:1.8;
      width:28px;
    }
    .single-quick-facts strong{
      color:var(--texto-principal);
      display:block;
      font-size:19px;
      font-weight:900;
      line-height:1.2;
      white-space:nowrap;
    }
    .single-quick-facts span:not(.single-fact-icon){
      color:var(--texto-secundario);
      display:block;
      font-size:12px;
      font-weight:800;
      line-height:1.25;
      margin:0;
      text-transform:none;
    }
    .summary-features{
      border-top:1px solid var(--line);
      margin-top:22px;
      padding-top:18px;
    }
    .summary-features span{
      background:var(--marfil);
      border-color:rgba(46,42,36,.12);
      border-radius:7px;
      color:var(--texto-principal);
      padding:9px 12px;
    }
    .single-property-summary .single-property-actions{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin-top:24px;
    }
    .single-action{
      min-height:52px;
      text-align:center;
    }
    .single-action.primary{
      background:var(--green-2);
      color:var(--texto-sobre-oscuro);
    }
    .single-action.secondary{
      background:var(--gold);
      border-color:var(--gold);
      color:var(--green);
    }
    .single-action.secondary:hover,
.single-action.secondary:focus{
      background:var(--verde-oliva);
      border-color:var(--verde-oliva);
    }
    @media(max-width:820px){
      .single-property-summary.panel{
        padding:22px;
      }
      .single-property-summary h1{
        font-size:32px;
      }
      .single-property-price{
        font-size:30px;
      }
      .single-quick-facts{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
      .single-property-summary .single-property-actions{
        grid-template-columns:1fr;
      }
    }

    /* Stronger reference-style property summary card. */
    .single-property-summary.panel{
      background:var(--marfil);
      border:1px solid rgba(46,42,36,.08);
      border-radius:20px;
      box-shadow:0 22px 70px rgba(0,0,0,.10);
      padding:42px 44px;
    }
    .single-property-summary h1{
      color:var(--texto-principal);
      font-family:Georgia,serif;
      font-size:clamp(38px,3vw,56px);
      font-weight:500;
      letter-spacing:0;
      line-height:1.06;
      margin:0 0 20px;
    }
    .single-property-summary .loc{
      align-items:center;
      color:var(--texto-principal);
      display:flex;
      font-size:18px;
      font-weight:500;
      gap:12px;
      line-height:1.35;
      margin:0 0 34px;
    }
    .single-location-icon{
      color:var(--green-2);
      display:inline-grid;
      flex:0 0 28px;
      height:28px;
      place-items:center;
      width:28px;
    }
    .single-location-icon svg{
      display:block;
      fill:none;
      height:28px;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:2;
      width:28px;
    }
    .single-property-price{
      color:var(--green);
      font-family:Georgia,serif;
      font-size:clamp(42px,3.5vw,64px);
      font-weight:900;
      letter-spacing:.01em;
      line-height:1;
      margin:0;
    }
    .single-property-divider{
      background:var(--gold);
      height:2px;
      margin:34px 0 34px;
      opacity:.9;
    }
    .single-summary-description{
      display:none;
    }
    .single-quick-facts{
      align-items:start;
      display:grid;
      grid-template-columns:repeat(5,minmax(0,1fr));
      gap:22px;
      margin:0;
      padding:0;
    }
    .single-quick-facts div{
      align-content:start;
      background:transparent;
      border:0;
      display:grid;
      gap:9px;
      justify-items:start;
      min-width:0;
      padding:0;
    }
    .single-fact-icon{
      color:var(--green-2);
      display:inline-grid;
      height:40px;
      margin:0 0 3px;
      place-items:center;
      width:40px;
    }
    .single-fact-icon svg{
      display:block;
      fill:none;
      height:38px;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:1.7;
      width:38px;
    }
    .single-quick-facts strong{
      color:var(--texto-principal);
      display:block;
      font-size:26px;
      font-weight:900;
      line-height:1;
      white-space:nowrap;
    }
    .single-quick-facts span:not(.single-fact-icon){
      color:var(--texto-principal);
      display:block;
      font-size:15px;
      font-weight:500;
      line-height:1.2;
      margin:0;
      text-transform:none;
    }
    .summary-features{
      display:none!important;
    }
    .single-property-summary .single-property-actions{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:22px;
      margin-top:48px;
    }
    .single-action{
      align-items:center;
      border:0;
      border-radius:12px;
      box-shadow:0 12px 24px rgba(46,42,36,.12);
      color:var(--texto-sobre-oscuro)!important;
      display:inline-flex;
      font-size:22px;
      font-weight:800;
      gap:14px;
      height:78px;
      justify-content:center;
      min-height:78px;
      padding:0 24px;
      text-align:center;
      text-decoration:none;
      transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
    }
    .single-action:hover,
.single-action:focus{
      color:var(--texto-sobre-oscuro)!important;
      filter:brightness(1.03);
      transform:translateY(-1px);
    }
    .single-action.primary{
      background:linear-gradient(135deg,var(--verde-oliva),var(--verde-profundo));
      color:var(--texto-sobre-oscuro)!important;
    }
    .single-action.secondary{
      background:var(--gold);
      border:0;
      color:var(--texto-sobre-oscuro)!important;
    }
    .single-action.secondary:hover,
.single-action.secondary:focus{
      background:var(--gold);
      border:0;
      color:var(--texto-sobre-oscuro)!important;
    }
    .single-action-icon{
      display:inline-grid;
      height:34px;
      place-items:center;
      width:34px;
    }
    .single-action-icon svg{
      display:block;
      fill:none;
      height:34px;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:1.7;
      width:34px;
    }
    .single-action-icon-tower{
      flex:0 0 30px;
      height:30px;
      width:30px;
    }
    .single-action-icon-tower svg{
      fill:none!important;
      height:30px!important;
      stroke:currentColor!important;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:2.4!important;
      width:30px!important;
    }
    .single-action-icon-tower img{
      display:block;
      filter:brightness(0) invert(1);
      height:34px;
      object-fit:contain;
      width:34px;
    }
    @media(max-width:1200px){
      .single-property-summary.panel{
        padding:34px;
      }
      .single-property-summary .loc{
        font-size:16px;
      }
      .single-quick-facts{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:22px 18px;
      }
      .single-action{
        font-size:18px;
        height:66px;
        min-height:66px;
      }
    }
    @media(max-width:820px){
      .single-property-summary.panel{
        border-radius:18px;
        padding:28px;
      }
      .single-property-summary h1{
        font-size:36px;
        margin-bottom:16px;
      }
      .single-property-summary .loc{
        font-size:15px;
        gap:10px;
        margin-bottom:26px;
      }
      .single-property-price{
        font-size:40px;
      }
      .single-property-divider{
        margin:28px 0;
      }
      .single-quick-facts{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
      .single-quick-facts strong{
        font-size:24px;
      }
      .single-property-summary .single-property-actions{
        grid-template-columns:1fr;
        gap:14px;
        margin-top:34px;
      }
      .single-action{
        height:62px;
        min-height:62px;
      }
    }

    /* Premium summary layout for single Houzez property pages. */
    .single-property-summary.panel{
      border-radius:14px;
      border:1px solid rgba(46,42,36,.11);
      box-shadow:0 18px 46px rgba(0,0,0,.09);
      padding:32px;
    }
    .single-property-summary h1{
      font-family:Georgia,serif;
      font-size:40px;
      line-height:1.08;
      margin:0 0 12px;
      color:var(--texto-principal);
    }
    .single-property-summary .loc{
      color:var(--texto-secundario);
      font-size:14px;
      line-height:1.45;
      margin:0 0 18px;
    }
    .single-property-price{
      font-family:Georgia,serif;
      color:var(--green);
      font-size:36px;
      font-weight:900;
      line-height:1.1;
      margin:0;
    }
    .single-property-divider{
      height:1px;
      background:linear-gradient(90deg,rgba(228,216,200,.36),var(--gold),rgba(228,216,200,.36));
      margin:22px 0;
    }
    .single-summary-description{
      border-top:0;
      color:var(--texto-secundario);
      font-size:15px;
      font-weight:700;
      line-height:1.65;
      margin:0 0 22px;
      padding-top:0;
    }
    .single-quick-facts{
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(86px,1fr));
      gap:18px 16px;
      margin-top:0;
      padding-bottom:4px;
    }
    .single-quick-facts div{
      background:transparent;
      border:0;
      border-radius:0;
      display:grid;
      gap:5px;
      min-width:0;
      padding:0;
    }
    .single-fact-icon{
      color:var(--green-2);
      display:inline-grid;
      height:30px;
      margin-bottom:2px;
      place-items:center;
      width:30px;
    }
    .single-fact-icon svg{
      display:block;
      fill:none;
      height:28px;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:1.8;
      width:28px;
    }
    .single-quick-facts strong{
      color:var(--texto-principal);
      display:block;
      font-size:19px;
      font-weight:900;
      line-height:1.2;
      white-space:nowrap;
    }
    .single-quick-facts span:not(.single-fact-icon){
      color:var(--texto-secundario);
      display:block;
      font-size:12px;
      font-weight:800;
      line-height:1.25;
      margin:0;
      text-transform:none;
    }
    .summary-features{
      border-top:1px solid var(--line);
      margin-top:22px;
      padding-top:18px;
    }
    .summary-features span{
      background:var(--marfil);
      border-color:rgba(46,42,36,.12);
      border-radius:7px;
      color:var(--texto-principal);
      padding:9px 12px;
    }
    .single-property-summary .single-property-actions{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin-top:24px;
    }
    .single-action{
      min-height:52px;
      text-align:center;
    }
    .single-action.primary{
      background:var(--green-2);
      color:var(--texto-sobre-oscuro);
    }
    .single-action.secondary{
      background:var(--gold);
      border-color:var(--gold);
      color:var(--green);
    }
    .single-action.secondary:hover,
.single-action.secondary:focus{
      background:var(--verde-oliva);
      border-color:var(--verde-oliva);
    }
    @media(max-width:820px){
      .single-property-summary.panel{
        padding:22px;
      }
      .single-property-summary h1{
        font-size:32px;
      }
      .single-property-price{
        font-size:30px;
      }
      .single-quick-facts{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
      .single-property-summary .single-property-actions{
        grid-template-columns:1fr;
      }
    }

    /* Absolute final mobile nav lock. */
    @media(max-width:820px){
      html body{
        padding-bottom:0!important;
      }
      html body .footer{
        margin-bottom:0!important;
        padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
      }
      html body nav#mobileBottomNav.mobile-bottom-nav,
      html body nav#mobileBottomNav.mobile-bottom-nav:hover,
      html body nav#mobileBottomNav.mobile-bottom-nav:focus,
      html body nav#mobileBottomNav.mobile-bottom-nav:focus-within{
        position:fixed!important;
        inset:auto 0 0 0!important;
        top:auto!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        width:100vw!important;
        max-width:100vw!important;
        height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        min-height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        max-height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        margin:0!important;
        padding:0 0 env(safe-area-inset-bottom,0px)!important;
        display:grid!important;
        transform:none!important;
        translate:none!important;
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        z-index:2147483000!important;
      }
      html body nav#mobileBottomNav.mobile-bottom-nav a,
      html body nav#mobileBottomNav.mobile-bottom-nav button,
      html body nav#mobileBottomNav.mobile-bottom-nav a:hover,
      html body nav#mobileBottomNav.mobile-bottom-nav button:hover,
      html body nav#mobileBottomNav.mobile-bottom-nav a:focus,
      html body nav#mobileBottomNav.mobile-bottom-nav button:focus,
      html body nav#mobileBottomNav.mobile-bottom-nav a:active,
      html body nav#mobileBottomNav.mobile-bottom-nav button:active{
        position:static!important;
        transform:none!important;
        translate:none!important;
        filter:none!important;
      }
      html body.page,
      html body.page:hover{
        transform:none!important;
        filter:none!important;
        perspective:none!important;
        contain:none!important;
        will-change:auto!important;
      }
      html{
        --fortaleza-mobile-topbar-height:70px;
      }
      html body{
        padding-top:var(--fortaleza-mobile-topbar-height)!important;
      }
      html body .topbar,
      html body .topbar:hover,
      html body .topbar:focus-within{
        position:fixed!important;
        top:0!important;
        right:0!important;
        left:0!important;
        width:100vw!important;
        max-width:100vw!important;
        transform:none!important;
        translate:none!important;
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        z-index:9990!important;
      }
    }

    /* Absolute final mobile nav lock. */
    @media(max-width:820px){
      html body{
        padding-bottom:0!important;
      }
      html body .footer{
        margin-bottom:0!important;
        padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
      }
      html body nav#mobileBottomNav.mobile-bottom-nav,
      html body nav#mobileBottomNav.mobile-bottom-nav:hover,
      html body nav#mobileBottomNav.mobile-bottom-nav:focus,
      html body nav#mobileBottomNav.mobile-bottom-nav:focus-within{
        position:fixed!important;
        inset:auto 0 0 0!important;
        top:auto!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        width:100vw!important;
        max-width:100vw!important;
        height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        min-height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        max-height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        margin:0!important;
        padding:0 0 env(safe-area-inset-bottom,0px)!important;
        display:grid!important;
        transform:none!important;
        translate:none!important;
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        z-index:2147483000!important;
      }
      html body nav#mobileBottomNav.mobile-bottom-nav a,
      html body nav#mobileBottomNav.mobile-bottom-nav button,
      html body nav#mobileBottomNav.mobile-bottom-nav a:hover,
      html body nav#mobileBottomNav.mobile-bottom-nav button:hover,
      html body nav#mobileBottomNav.mobile-bottom-nav a:focus,
      html body nav#mobileBottomNav.mobile-bottom-nav button:focus,
      html body nav#mobileBottomNav.mobile-bottom-nav a:active,
      html body nav#mobileBottomNav.mobile-bottom-nav button:active{
        position:static!important;
        transform:none!important;
        translate:none!important;
        filter:none!important;
      }
    }

    /* Desktop home header: keep the same sticky behavior as the other pages. */
    @media(min-width:821px){
      html,
      html body.home{
        height:auto!important;
        min-height:100%!important;
      }
      html body.home{
        padding-top:0!important;
      }
      html body.home .topbar,
      html body.home .topbar:hover,
      html body.home .topbar:focus-within{
        position:sticky!important;
        top:0!important;
        width:auto!important;
        max-width:none!important;
        transform:none!important;
        filter:none!important;
        z-index:50!important;
      }
    }

    /* Mobile footer/nav alignment: no body-colored strip between footer and fixed nav. */
    @media(max-width:820px){
      html body{
        padding-bottom:0!important;
      }
      html body .footer{
        margin-bottom:0!important;
        padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
      }
      html body nav#mobileBottomNav.mobile-bottom-nav,
      html body nav#mobileBottomNav.mobile-bottom-nav:hover,
      html body nav#mobileBottomNav.mobile-bottom-nav:focus,
      html body nav#mobileBottomNav.mobile-bottom-nav:focus-within{
        position:fixed!important;
        top:auto!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        width:100vw!important;
        max-width:100vw!important;
        transform:none!important;
        translate:none!important;
        z-index:2147483000!important;
      }
    }

    /* Final home-only mobile anchor: keeps the bottom nav out of home page scroll context. */
    @media(max-width:820px){
      html body.home{
        padding-bottom:0!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
      }
      html body.home #appRoot{
        position:relative!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin-bottom:0!important;
        padding-bottom:0!important;
        overflow:visible!important;
        background:var(--marfil)!important;
        transform:none!important;
        translate:none!important;
        filter:none!important;
        perspective:none!important;
        contain:none!important;
        will-change:auto!important;
      }
      html body.home #homeView,
      html body.home .home-wrap{
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin-bottom:0!important;
        padding-bottom:0!important;
        overflow:visible!important;
        transform:none!important;
        translate:none!important;
        filter:none!important;
        perspective:none!important;
        contain:none!important;
        will-change:auto!important;
      }
      html body.home .footer{
        margin-bottom:0!important;
        padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
      }
      html body.home nav#mobileBottomNav.mobile-bottom-nav,
      html body.home nav#mobileBottomNav.mobile-bottom-nav:hover,
      html body.home nav#mobileBottomNav.mobile-bottom-nav:focus,
      html body.home nav#mobileBottomNav.mobile-bottom-nav:focus-within{
        position:fixed!important;
        inset:auto 0 0 0!important;
        top:auto!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        width:100vw!important;
        max-width:100vw!important;
        height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        min-height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        max-height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        margin:0!important;
        padding:0 0 env(safe-area-inset-bottom,0px)!important;
        display:grid!important;
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
        align-items:stretch!important;
        justify-content:stretch!important;
        gap:0!important;
        overflow:hidden!important;
        transform:none!important;
        translate:none!important;
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        z-index:2147483000!important;
      }
      html body.home nav#mobileBottomNav.mobile-bottom-nav a,
      html body.home nav#mobileBottomNav.mobile-bottom-nav button,
      html body.home nav#mobileBottomNav.mobile-bottom-nav a:hover,
      html body.home nav#mobileBottomNav.mobile-bottom-nav button:hover,
      html body.home nav#mobileBottomNav.mobile-bottom-nav a:focus,
      html body.home nav#mobileBottomNav.mobile-bottom-nav button:focus,
      html body.home nav#mobileBottomNav.mobile-bottom-nav a:active,
      html body.home nav#mobileBottomNav.mobile-bottom-nav button:active{
        position:static!important;
        height:72px!important;
        min-height:72px!important;
        margin:0!important;
        transform:none!important;
        translate:none!important;
        filter:none!important;
      }
    }

    /* Home mobile: evita el espacio blanco antes de la barra inferior sin tocar otras paginas */
    @media(max-width:820px){
      body.home{
        padding-bottom:0!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
      }
      body.home #appRoot{
        position:relative!important;
        overflow:visible!important;
        padding-bottom:0!important;
        margin-bottom:0!important;
        background:var(--marfil)!important;
        transform:none!important;
        translate:none!important;
      }
      body.home .home-wrap{
        overflow:visible!important;
        padding-bottom:0!important;
        margin-bottom:0!important;
        transform:none!important;
        translate:none!important;
      }
      body.home .footer{
        margin-top:0!important;
        margin-bottom:0!important;
        padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;
      }
      body.home .mobile-bottom-nav,
      body.home .mobile-bottom-nav:hover,
      body.home .mobile-bottom-nav:focus,
      body.home .mobile-bottom-nav:focus-within{
        position:fixed!important;
        top:auto!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        transform:none!important;
        translate:none!important;
        z-index:9999!important;
      }
      body.home .mobile-bottom-nav a:hover,
      body.home .mobile-bottom-nav a:focus,
      body.home .mobile-bottom-nav a:active,
      body.home .mobile-bottom-nav button:hover,
      body.home .mobile-bottom-nav button:focus,
      body.home .mobile-bottom-nav button:active{
        top:auto!important;
        bottom:auto!important;
        transform:none!important;
        translate:none!important;
        filter:none!important;
      }
    }

    /* Menu lateral movil: el backdrop no debe tapar los enlaces */
    @media(max-width:820px){
      body.menu-open .topbar{
        z-index:10000!important;
      }
      body.menu-open #nav{
        z-index:10002!important;
        pointer-events:auto!important;
      }
      body.menu-open .mobile-backdrop{
        z-index:9998!important;
      }
      #nav a{
        pointer-events:auto!important;
      }
    }

    /* Reset definitivo de scroll para la plantilla de propiedades en movil */
    @media(max-width:820px){
      html,
      body{
        min-height:100%!important;
        height:auto!important;
        max-height:none!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        position:static!important;
      }

      body.page-template-page-propiedades,
      body.page-template-page-propiedades-php{
        min-height:100vh!important;
        height:auto!important;
        max-height:none!important;
        overflow-y:auto!important;
        background:var(--marfil)!important;
        padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;
      }

      body.page-template-page-propiedades #appRoot,
      body.page-template-page-propiedades-php #appRoot{
        display:block!important;
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        min-height:0!important;
        height:auto!important;
        max-height:none!important;
        margin:0!important;
        overflow:visible!important;
        overflow-y:visible!important;
        transform:none!important;
        translate:none!important;
        opacity:1!important;
        visibility:visible!important;
        z-index:1!important;
        background:var(--marfil)!important;
      }

      body.page-template-page-propiedades #propertiesView,
      body.page-template-page-propiedades-php #propertiesView{
        display:block!important;
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        max-width:100%!important;
        min-height:0!important;
        height:auto!important;
        max-height:none!important;
        margin:0!important;
        padding:16px 12px calc(110px + env(safe-area-inset-bottom,0px))!important;
        overflow:visible!important;
        overflow-y:visible!important;
        transform:none!important;
        translate:none!important;
        opacity:1!important;
        visibility:visible!important;
        z-index:2!important;
        background:var(--marfil)!important;
        color:var(--texto-principal)!important;
      }

      body.page-template-page-propiedades #propertiesView .layout,
      body.page-template-page-propiedades-php #propertiesView .layout{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:18px!important;
        position:relative!important;
        height:auto!important;
        overflow:visible!important;
      }

      body.page-template-page-propiedades #propertiesView .filters,
      body.page-template-page-propiedades-php #propertiesView .filters{
        position:relative!important;
        top:auto!important;
        height:auto!important;
        overflow:visible!important;
      }

      body.page-template-page-propiedades #propertyGrid,
      body.page-template-page-propiedades-php #propertyGrid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:18px!important;
        height:auto!important;
        overflow:visible!important;
      }

      .mobile-bottom-nav,
      .mobile-bottom-nav:hover,
      .mobile-bottom-nav:focus,
      .mobile-bottom-nav:focus-within{
        position:fixed!important;
        top:auto!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        transform:none!important;
        translate:none!important;
        z-index:9999!important;
      }

      .mobile-bottom-nav a:hover,
      .mobile-bottom-nav a:focus,
      .mobile-bottom-nav a:active,
      .mobile-bottom-nav button:hover,
      .mobile-bottom-nav button:focus,
      .mobile-bottom-nav button:active{
        top:auto!important;
        bottom:auto!important;
        transform:none!important;
        translate:none!important;
      }

      body:not(.menu-open) .mobile-backdrop{
        display:none!important;
        visibility:hidden!important;
        opacity:0!important;
        pointer-events:none!important;
      }
    }

  
    /* Ajuste final del footer y barra inferior en movil */
    @media(max-width:820px){
      body{padding-bottom:78px!important;}
      .mobile-bottom-nav{
        position:fixed!important;
        left:0!important;
        right:0!important;
        bottom:0!important;
        top:auto!important;
        width:100%!important;
        height:72px!important;
        min-height:72px!important;
        max-height:72px!important;
        display:grid!important;
        grid-template-columns:repeat(5,1fr)!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:var(--green)!important;
        border-top:1px solid rgba(255,255,255,.08)!important;
        box-shadow:0 -8px 22px rgba(0,0,0,.22)!important;
        z-index:120!important;
      }
      .mobile-bottom-nav button{
        height:72px!important;
        min-height:72px!important;
        padding:8px 2px 10px!important;
      }
      .mobile-bottom-nav button span:last-child{
        font-size:10px!important;
        line-height:1.05!important;
      }
      .footer{padding-bottom:20px!important;}
      .footer-bottom{padding-bottom:0!important;}
    }

    .property-link{
      color:inherit;
      display:block;
      height:100%;
      text-decoration:none;
    }

    .single-property-view{padding-bottom:54px}.breadcrumb a{color:var(--texto-principal);text-decoration:none;font-weight:700}.single-property-hero{display:grid;grid-template-columns:minmax(0,1.45fr) 420px;gap:24px;align-items:stretch;margin-bottom:24px}.single-property-main-photo{min-height:520px;border-radius:8px;background-size:cover;background-position:center;position:relative;overflow:hidden;box-shadow:var(--shadow)}.single-property-hero-price{position:absolute;left:24px;bottom:22px;color:var(--texto-sobre-oscuro);font-size:30px;font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.55)}.single-property-summary{padding:28px;display:flex;flex-direction:column;justify-content:center}.single-property-kicker{margin:0 0 12px;color:var(--green-3);font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.8px}.single-property-summary h1{font-size:42px;line-height:1.05;margin-bottom:14px}.single-property-summary .loc{font-size:14px;margin-bottom:18px}.single-property-price{font-size:28px;font-weight:900;color:var(--green);margin:8px 0 20px}.single-property-actions{display:grid;gap:10px}.single-action{height:46px;border-radius:6px;display:grid;place-items:center;text-decoration:none;font-weight:900}.single-action.primary{background:var(--green-2);color:var(--texto-sobre-oscuro)}.single-action.secondary{background:var(--marfil);color:var(--texto-secundario);border:1px solid var(--line)}.single-property-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:24px}.single-gallery-item{height:118px;border-radius:7px;background-size:cover;background-position:center;border:1px solid var(--line);box-shadow:0 6px 16px rgba(0,0,0,.05)}.single-property-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.single-property-content{display:grid;gap:22px}.single-property-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:hidden}.single-property-stats div{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.single-property-stats div:nth-child(4n){border-right:0}.single-property-stats span{display:block;color:var(--texto-secundario);font-size:12px;font-weight:800;margin-bottom:7px}.single-property-stats strong{display:block;color:var(--texto-principal);font-size:16px}.single-property-section{padding:24px}.single-property-section h2{font-family:Georgia,serif;font-size:25px;margin:0 0 15px;color:var(--texto-principal)}.single-feature-list{display:flex;flex-wrap:wrap;gap:10px}.single-feature-list span{background:var(--crema-calido);border:1px solid var(--line);border-radius:5px;color:var(--texto-principal);font-size:13px;font-weight:800;padding:9px 12px}.single-short-description{font-size:17px;line-height:1.6;color:var(--texto-secundario);font-weight:700;margin:0 0 16px}.single-full-description{font-size:15px;line-height:1.75;color:var(--texto-secundario)}.single-full-description p:first-child{margin-top:0}.single-full-description p:last-child{margin-bottom:0}.single-property-contact{position:sticky;top:112px}.single-property-contact .outline,.single-property-contact .phonebox{text-decoration:none}.single-whatsapp{display:grid;place-items:center}.single-back-link{color:var(--texto-sobre-oscuro)}.single-related{margin-top:36px}.single-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

    @media(max-width:1200px){.single-property-hero{grid-template-columns:1fr}.single-property-main-photo{min-height:430px}.single-property-layout{grid-template-columns:1fr}.single-property-contact{position:static}.single-property-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.single-property-stats div:nth-child(4n){border-right:1px solid var(--line)}.single-property-stats div:nth-child(2n){border-right:0}}
    @media(max-width:820px){.single-property-main-photo{min-height:300px;border-radius:12px}.single-property-hero{gap:14px;margin-bottom:18px}.single-property-summary{padding:20px}.single-property-summary h1{font-size:32px}.single-property-hero-price{font-size:22px;left:16px;bottom:16px}.single-property-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.single-gallery-item{height:120px}.single-property-stats{grid-template-columns:1fr}.single-property-stats div,.single-property-stats div:nth-child(2n),.single-property-stats div:nth-child(4n){border-right:0}.single-property-section{padding:20px}.single-related-grid{grid-template-columns:1fr}}

    .single-property-hero{grid-template-columns:minmax(0,1.4fr) minmax(360px,.7fr);align-items:start}.single-property-media{display:grid;gap:12px}.single-property-gallery{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:0}.single-gallery-item{appearance:none;border:2px solid transparent;cursor:pointer;padding:0;transition:.18s}.single-gallery-item:hover,.single-gallery-item.active{border-color:var(--gold);transform:translateY(-1px)}.single-property-summary{position:sticky;top:112px;justify-content:start}.single-summary-description{border-top:1px solid var(--line);color:var(--texto-secundario);font-size:14px;font-weight:700;line-height:1.6;margin:18px 0 0;padding-top:18px}.summary-features{margin-top:16px}.single-quick-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.single-quick-facts div{background:var(--marfil);border:1px solid var(--line);border-radius:6px;padding:12px}.single-quick-facts span{color:var(--texto-secundario);display:block;font-size:11px;font-weight:900;margin-bottom:5px;text-transform:uppercase}.single-quick-facts strong{color:var(--texto-principal);display:block;font-size:16px}.single-description-block{margin-top:24px}.single-description-block h2{font-size:26px}

    @media(max-width:1200px){.single-property-hero{grid-template-columns:1fr}.single-property-summary{position:static}.single-property-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
    @media(max-width:820px){.single-property-gallery{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory}.single-gallery-item{flex:0 0 108px;height:82px;scroll-snap-align:start}.single-quick-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.single-summary-description{font-size:13px}.single-property-summary{padding:18px}.single-description-block{margin-top:18px}}

    .single-property-summary .single-property-actions{margin-top:20px}.single-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid var(--beige-piedra);background:var(--marfil);color:var(--verde-oliva);font-size:34px;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0;z-index:5;box-shadow:0 8px 22px rgba(46,42,36,.18);transition:.18s}.single-gallery-nav span{align-items:center;display:flex;height:100%;justify-content:center;line-height:1;transform:translateY(-2px);width:100%}.single-gallery-nav.is-prev span{transform:translate(-1px,-2px)}.single-gallery-nav.is-next span{transform:translate(1px,-2px)}.single-gallery-nav:hover{background:var(--crema-calido);color:var(--verde-profundo);border-color:var(--verde-salvia);transform:translateY(-50%) scale(1.04)}.single-gallery-nav.is-prev{left:18px}.single-gallery-nav.is-next{right:18px}.single-gallery-nav:focus-visible{outline:3px solid var(--verde-salvia);outline-offset:3px}
    @media(max-width:820px){.single-gallery-nav{width:38px;height:38px;font-size:28px}.single-gallery-nav.is-prev{left:10px}.single-gallery-nav.is-next{right:10px}.single-property-summary .single-property-actions{margin-top:16px}}

    .single-detail-grid,
.single-address-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.single-address-grid{margin-bottom:16px}.single-detail-item{background:var(--marfil);border:1px solid var(--line);border-radius:6px;padding:14px}.single-detail-item span{display:block;color:var(--texto-secundario);font-size:11px;font-weight:900;margin-bottom:6px;text-transform:uppercase}.single-detail-item strong{display:block;color:var(--texto-principal);font-size:15px;line-height:1.35}.single-map-link{display:inline-grid;place-items:center;min-height:42px;border-radius:6px;background:var(--green-2);color:var(--texto-sobre-oscuro);text-decoration:none;font-weight:900;padding:0 18px}.single-additional-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.single-additional-features div{border:1px solid var(--line);border-radius:6px;padding:12px;background:var(--marfil)}.single-additional-features strong{display:block;font-size:13px;color:var(--texto-principal)}.single-additional-features span{display:block;font-size:13px;color:var(--texto-secundario);margin-top:4px}.single-feature-list+.single-additional-features{padding-top:14px;border-top:1px solid var(--line)}
    @media(max-width:820px){.single-detail-grid,.single-address-grid,.single-additional-features{grid-template-columns:1fr}.single-map-link{width:100%}}

    .badge-stack{position:absolute;top:12px;left:12px;right:52px;display:flex;flex-wrap:wrap;gap:7px;align-items:flex-start;z-index:4}.badge-stack .badge{position:static;top:auto;left:auto;display:inline-flex;align-items:center;width:max-content;max-width:100%;line-height:1}.badge-stack .badge-label{background:var(--gold);color:var(--green)}.badge-stack .badge-status{background:var(--verde-profundo);color:var(--texto-sobre-oscuro)}
.property-status-badges,
.property-label-badges{position:absolute;top:12px;display:flex;flex-direction:column;gap:7px;z-index:4;max-width:calc(50% - 18px)}.property-status-badges{left:12px;align-items:flex-start}.property-label-badges{right:12px;align-items:flex-end}.property-status-badges .badge,.property-label-badges .badge{position:static;top:auto;left:auto;display:inline-flex;align-items:center;width:max-content;max-width:100%;line-height:1;text-align:center}.property-label-badges .badge-label{background:var(--gold);color:var(--green)}.property-status-badges .badge-status{background:var(--verde-profundo);color:var(--texto-sobre-oscuro)}
.property .photo::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(46,42,36,.12),rgba(0,0,0,.22));pointer-events:none;z-index:1}.property .photo>.price{z-index:2}.property .photo>.property-status-badges,.property .photo>.property-label-badges{z-index:4}
.single-property-main-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(46,42,36,.12),rgba(0,0,0,.22));pointer-events:none;z-index:3}
.property .features{display:grid;grid-template-columns:repeat(4,minmax(0,max-content));gap:10px 12px;align-items:center;overflow:visible}.property-feature{display:inline-flex;align-items:center;gap:5px;min-width:0;color:var(--texto-secundario);font-size:12px;font-weight:800;line-height:1.1;white-space:nowrap}.property-feature b{font:inherit;color:inherit;min-width:0}.property-feature-icon{width:17px;height:17px;flex:0 0 17px;color:var(--green-2);display:inline-grid;place-items:center}.property-feature-icon svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.property-feature-area{grid-column:auto / span 1}.property-feature-area b{white-space:nowrap}
    @media(max-width:820px){.property .features{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px}.property-feature{font-size:11px}.property-feature-area{grid-column:span 2}.property-feature-icon,.property-feature-icon svg{width:16px;height:16px;flex-basis:16px}}

    .footer-grid{grid-template-columns:minmax(260px,1.45fr) minmax(240px,1fr) minmax(150px,.7fr) minmax(180px,.75fr);align-items:start}.footer-grid>div{min-width:0}.footer-grid .brand{min-width:0}.footer-grid h4{font-size:15px}.footer-bottom{align-items:center}
    @media(max-width:1200px){.footer-grid{grid-template-columns:1.2fr 1fr;row-gap:26px}}
    @media(max-width:820px){.footer-grid{grid-template-columns:1fr;gap:18px}.footer-bottom{align-items:flex-start}}

    .advisors.advisors-dynamic{display:block;margin:18px 0 42px;padding-top:10px;clear:both}.advisors-dynamic .advisors-heading{text-align:center;margin:0 auto 20px;max-width:760px}.advisors-dynamic h2{font-family:Georgia,serif;font-size:30px;line-height:1.15;margin:0;color:var(--texto-principal)}.advisor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.advisors-dynamic .advisor-card{display:flex;align-items:center;gap:14px;min-height:112px;border:1px solid var(--line);background:var(--marfil);border-radius:8px;padding:16px;box-shadow:0 8px 22px rgba(0,0,0,.04)}.advisors-dynamic .advisor-photo{width:78px;height:82px;border-radius:8px;background-size:cover;background-position:center;flex:0 0 auto}.advisors-dynamic .advisor-info{min-width:0}.advisors-dynamic .advisor-card strong{display:block;font-size:15px;line-height:1.25;color:var(--texto-principal)}.advisors-dynamic .advisor-card p{font-size:12px;color:var(--texto-secundario);margin:5px 0}.advisors-dynamic .advisor-card a,.advisors-dynamic .advisor-phone{display:inline-block;font-size:12px;color:var(--verde-profundo);text-decoration:none;font-weight:900}
    @media(max-width:1200px){.advisor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advisors-dynamic h2{font-size:28px}}
    @media(max-width:820px){.advisors.advisors-dynamic{margin:14px 0 32px;padding-top:4px}.advisors-dynamic .advisors-heading{margin-bottom:16px}.advisor-grid{grid-template-columns:1fr;gap:14px}.advisors-dynamic h2{font-size:25px}.advisors-dynamic .advisor-card{border-radius:12px;min-height:0;padding:14px}.advisors-dynamic .advisor-photo{width:64px;height:64px;border-radius:10px}.advisors-dynamic .advisor-card strong{font-size:13px}.advisors-dynamic .advisor-card p,.advisors-dynamic .advisor-card a,.advisors-dynamic .advisor-phone{font-size:11px}}

    @media(max-width:820px){.mobile-bottom-nav a,.mobile-bottom-nav button{border:0;background:transparent;color:var(--crema-calido);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;cursor:pointer;padding:0 4px;text-decoration:none;min-width:0}.mobile-bottom-nav a .ico2,.mobile-bottom-nav button .ico2{font-size:18px;color:var(--gold)}.mobile-bottom-nav a.active,.mobile-bottom-nav button.active{color:var(--texto-sobre-oscuro);font-weight:800}.mobile-bottom-nav a.active .ico2,.mobile-bottom-nav button.active .ico2{color:var(--crema-calido)}}

    /* Ancla final: la barra inferior movil no debe desplazarse por hover,
focus ni active */
    @media(max-width:820px){
      body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))!important}
      #appRoot,
      #propertiesView,
      #propertiesView > *,
      #propertiesView .layout,
      #propertiesView .layout > *,
      #propertyGrid{
        display:block!important;
        opacity:1!important;
        visibility:visible!important;
        transform:none!important;
        translate:none!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
      }
      #appRoot{
        position:relative!important;
        z-index:1!important;
        overflow:visible!important;
        background:var(--bg)!important;
        padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
      }
      #propertiesView{
        position:relative!important;
        z-index:2!important;
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:16px 12px 24px!important;
        overflow:visible!important;
        background:var(--bg)!important;
      }
      #propertiesView .layout{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:18px!important;
        overflow:visible!important;
      }
      #propertiesView .hero{
        display:flex!important;
        flex-direction:column!important;
        align-items:flex-start!important;
      }
      #propertiesView .filters{
        position:relative!important;
        top:auto!important;
        z-index:3!important;
      }
      #propertyGrid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:18px!important;
      }
      body:not(.menu-open) .mobile-backdrop{
        display:none!important;
        visibility:hidden!important;
        opacity:0!important;
        pointer-events:none!important;
      }
      .mobile-bottom-nav,
      .mobile-bottom-nav:hover,
      .mobile-bottom-nav:focus,
      .mobile-bottom-nav:focus-within{
        position:fixed!important;
        inset:auto 0 0 0!important;
        top:auto!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        width:100%!important;
        max-width:none!important;
        height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        min-height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        max-height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        padding:0 0 env(safe-area-inset-bottom,0px)!important;
        margin:0!important;
        display:grid!important;
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
        align-items:stretch!important;
        justify-content:stretch!important;
        gap:0!important;
        overflow:hidden!important;
        transform:none!important;
        translate:none!important;
        z-index:999!important;
      }
      .mobile-bottom-nav a,
      .mobile-bottom-nav button,
      .mobile-bottom-nav a:hover,
      .mobile-bottom-nav button:hover,
      .mobile-bottom-nav a:focus,
      .mobile-bottom-nav button:focus,
      .mobile-bottom-nav a:active,
      .mobile-bottom-nav button:active{
        position:static!important;
        width:auto!important;
        height:72px!important;
        min-height:72px!important;
        margin:0!important;
        transform:none!important;
        translate:none!important;
        filter:none!important;
      }
    }

    /* Ultima palabra real mobile: scroll normal de pagina en /propiedades/ */
    @media(max-width:820px){
      html,
      body{
        min-height:100%!important;
        height:auto!important;
        max-height:none!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        position:static!important;
      }
      body.page-template-page-propiedades,
      body.page-template-page-propiedades-php{
        min-height:100vh!important;
        height:auto!important;
        max-height:none!important;
        overflow-y:auto!important;
        background:var(--marfil)!important;
        padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;
      }
      body.page-template-page-propiedades #appRoot,
      body.page-template-page-propiedades-php #appRoot{
        display:block!important;
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        min-height:0!important;
        height:auto!important;
        max-height:none!important;
        margin:0!important;
        overflow:visible!important;
        overflow-y:visible!important;
        transform:none!important;
        translate:none!important;
        opacity:1!important;
        visibility:visible!important;
        z-index:1!important;
        background:var(--marfil)!important;
      }
      body.page-template-page-propiedades #propertiesView,
      body.page-template-page-propiedades-php #propertiesView{
        display:block!important;
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        max-width:100%!important;
        min-height:0!important;
        height:auto!important;
        max-height:none!important;
        margin:0!important;
        padding:16px 12px calc(110px + env(safe-area-inset-bottom,0px))!important;
        overflow:visible!important;
        overflow-y:visible!important;
        transform:none!important;
        translate:none!important;
        opacity:1!important;
        visibility:visible!important;
        z-index:2!important;
        background:var(--marfil)!important;
        color:var(--texto-principal)!important;
      }
      body.page-template-page-propiedades #propertiesView .layout,
      body.page-template-page-propiedades-php #propertiesView .layout{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:18px!important;
        height:auto!important;
        max-height:none!important;
        overflow:visible!important;
      }
      body.page-template-page-propiedades #propertiesView .filters,
      body.page-template-page-propiedades-php #propertiesView .filters{
        position:relative!important;
        top:auto!important;
        height:auto!important;
        max-height:none!important;
        overflow:visible!important;
      }
      body.page-template-page-propiedades #propertyGrid,
      body.page-template-page-propiedades-php #propertyGrid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:18px!important;
        height:auto!important;
        max-height:none!important;
        overflow:visible!important;
      }
      .mobile-bottom-nav,
      .mobile-bottom-nav:hover,
      .mobile-bottom-nav:focus,
      .mobile-bottom-nav:focus-within{
        position:fixed!important;
        top:auto!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        transform:none!important;
        translate:none!important;
        z-index:9999!important;
      }
      .mobile-bottom-nav a:hover,
      .mobile-bottom-nav a:focus,
      .mobile-bottom-nav a:active,
      .mobile-bottom-nav button:hover,
      .mobile-bottom-nav button:focus,
      .mobile-bottom-nav button:active{
        top:auto!important;
        bottom:auto!important;
        transform:none!important;
        translate:none!important;
      }
      body:not(.menu-open) .mobile-backdrop{
        display:none!important;
        visibility:hidden!important;
        opacity:0!important;
        pointer-events:none!important;
      }
    }

    /* Last home-only mobile override. Keep this after all generic mobile rules. */
    @media(max-width:820px){
      html body.home{
        padding-bottom:0!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
      }
      html body.home #appRoot{
        position:relative!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin-bottom:0!important;
        padding-bottom:0!important;
        overflow:visible!important;
        background:var(--marfil)!important;
        transform:none!important;
        translate:none!important;
        filter:none!important;
        perspective:none!important;
        contain:none!important;
        will-change:auto!important;
      }
      html body.home #homeView,
      html body.home .home-wrap{
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin-bottom:0!important;
        padding-bottom:0!important;
        overflow:visible!important;
        transform:none!important;
        translate:none!important;
        filter:none!important;
        perspective:none!important;
        contain:none!important;
        will-change:auto!important;
      }
      html body.home .footer{
        margin-bottom:0!important;
        padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
      }
      html body.home nav#mobileBottomNav.mobile-bottom-nav,
      html body.home nav#mobileBottomNav.mobile-bottom-nav:hover,
      html body.home nav#mobileBottomNav.mobile-bottom-nav:focus,
      html body.home nav#mobileBottomNav.mobile-bottom-nav:focus-within{
        position:fixed!important;
        inset:auto 0 0 0!important;
        top:auto!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        width:100vw!important;
        max-width:100vw!important;
        height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        min-height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        max-height:calc(72px + env(safe-area-inset-bottom,0px))!important;
        margin:0!important;
        padding:0 0 env(safe-area-inset-bottom,0px)!important;
        display:grid!important;
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
        align-items:stretch!important;
        justify-content:stretch!important;
        gap:0!important;
        overflow:hidden!important;
        transform:none!important;
        translate:none!important;
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        z-index:2147483000!important;
      }
      html body.home nav#mobileBottomNav.mobile-bottom-nav a,
      html body.home nav#mobileBottomNav.mobile-bottom-nav button,
      html body.home nav#mobileBottomNav.mobile-bottom-nav a:hover,
      html body.home nav#mobileBottomNav.mobile-bottom-nav button:hover,
      html body.home nav#mobileBottomNav.mobile-bottom-nav a:focus,
      html body.home nav#mobileBottomNav.mobile-bottom-nav button:focus,
      html body.home nav#mobileBottomNav.mobile-bottom-nav a:active,
      html body.home nav#mobileBottomNav.mobile-bottom-nav button:active{
        position:static!important;
        height:72px!important;
        min-height:72px!important;
        margin:0!important;
        transform:none!important;
        translate:none!important;
        filter:none!important;
      }
    }

    /* End-of-file single-property summary override. */
    .single-property-summary.panel{
      background:var(--marfil);
      border-radius:20px;
      border:1px solid rgba(46,42,36,.08);
      box-shadow:0 22px 70px rgba(0,0,0,.10);
      padding:42px 44px;
    }
    .single-property-summary h1{
      font-family:Georgia,serif;
      font-size:clamp(38px,3vw,56px);
      font-weight:500;
      letter-spacing:0;
      line-height:1.06;
      margin:0 0 20px;
      color:var(--texto-principal);
    }
    .single-property-summary .loc{
      align-items:center;
      color:var(--texto-principal);
      display:flex;
      font-size:18px;
      font-weight:500;
      gap:12px;
      line-height:1.35;
      margin:0 0 34px;
    }
    .single-property-price{
      font-family:Georgia,serif;
      color:var(--green);
      font-size:clamp(42px,3.5vw,64px);
      font-weight:900;
      letter-spacing:.01em;
      line-height:1;
      margin:0;
    }
    .single-property-divider{
      height:2px;
      background:var(--gold);
      margin:34px 0;
      opacity:.9;
    }
    .single-summary-description{
      display:none;
    }
    .single-quick-facts{
      display:grid;
      grid-template-columns:repeat(5,minmax(0,1fr));
      gap:22px;
      margin-top:0;
      padding:0;
    }
    .single-quick-facts div{
      background:transparent;
      border:0;
      border-radius:0;
      display:grid;
      gap:9px;
      justify-items:start;
      min-width:0;
      padding:0;
    }
    .single-fact-icon{
      color:var(--green-2);
      display:inline-grid;
      height:40px;
      margin:0 0 3px;
      place-items:center;
      width:40px;
    }
    .single-fact-icon svg{
      display:block;
      fill:none;
      height:38px;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:1.7;
      width:38px;
    }
    .single-quick-facts strong{
      color:var(--texto-principal);
      display:block;
      font-size:26px;
      font-weight:900;
      line-height:1;
      white-space:nowrap;
    }
    .single-quick-facts span:not(.single-fact-icon){
      color:var(--texto-principal);
      display:block;
      font-size:15px;
      font-weight:500;
      line-height:1.2;
      margin:0;
      text-transform:none;
    }
    .summary-features{
      display:none!important;
    }
    .summary-features span{
      background:var(--marfil);
      border-color:rgba(46,42,36,.12);
      border-radius:7px;
      color:var(--texto-principal);
      padding:9px 12px;
    }
    .single-property-summary .single-property-actions{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:22px;
      margin-top:48px;
    }
    .single-action{
      align-items:center;
      border:0;
      border-radius:12px;
      box-shadow:0 12px 24px rgba(46,42,36,.12);
      color:var(--texto-sobre-oscuro)!important;
      display:inline-flex;
      font-size:22px;
      font-weight:800;
      gap:14px;
      height:78px!important;
      justify-content:center;
      min-height:78px;
      padding:0 24px;
      text-align:center;
      text-decoration:none;
      transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
    }
    .single-action.primary{
      background:linear-gradient(135deg,var(--verde-oliva),var(--verde-profundo));
      color:var(--texto-sobre-oscuro)!important;
    }
    .single-action.secondary{
      background:var(--verde-oliva)!important;
      border:0;
      color:var(--texto-sobre-oscuro)!important;
      gap:10px;
    }
    .single-action.secondary:hover,
.single-action.secondary:focus{
      background:var(--verde-oliva)!important;
      border:0;
      color:var(--texto-sobre-oscuro)!important;
    }
    .single-action:hover,
.single-action:focus{
      color:var(--texto-sobre-oscuro)!important;
      filter:brightness(1.03);
      transform:translateY(-1px);
    }
    .single-location-icon{
      color:var(--green-2);
      display:inline-grid;
      flex:0 0 28px;
      height:28px;
      place-items:center;
      width:28px;
    }
    .single-location-icon svg{
      display:block;
      fill:none;
      height:28px;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:2;
      width:28px;
    }
    .single-action-icon{
      display:inline-grid;
      height:34px;
      place-items:center;
      width:34px;
    }
    .single-action-icon svg{
      display:block;
      fill:none;
      height:34px;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:1.7;
      width:34px;
    }
    @media(max-width:820px){
      .single-property-summary.panel{
        border-radius:18px;
        padding:28px;
      }
      .single-property-summary h1{
        font-size:36px;
        margin-bottom:16px;
      }
      .single-property-summary .loc{
        font-size:15px;
        gap:10px;
        margin-bottom:26px;
      }
      .single-property-price{
        font-size:40px;
      }
      .single-property-divider{
        margin:28px 0;
      }
      .single-quick-facts{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
      .single-quick-facts strong{
        font-size:24px;
      }
      .single-property-summary .single-property-actions{
        grid-template-columns:1fr;
        gap:14px;
        margin-top:34px;
      }
      .single-action{
        height:62px!important;
        min-height:62px;
      }
    }

    /* Final width/readability corrections for the premium property summary. */
    @media(min-width:1201px){
      .single-property-hero{
        grid-template-columns:minmax(0,1fr) minmax(540px,.92fr)!important;
        gap:30px!important;
      }
    }
    .single-property-summary.panel{
      max-width:none;
      overflow:hidden;
      padding:44px 48px;
    }
    .single-property-price{
      font-size:clamp(34px,2.6vw,52px)!important;
      letter-spacing:0;
      max-width:100%;
      overflow-wrap:anywhere;
      text-wrap:balance;
      white-space:normal;
      word-break:normal;
    }
    .single-quick-facts{
      gap:20px 24px!important;
      grid-template-columns:repeat(5,minmax(88px,1fr))!important;
    }
    .single-quick-facts div{
      align-items:start;
      min-width:0;
      text-align:left;
    }
    .single-quick-facts strong{
      font-size:clamp(16px,1.15vw,20px)!important;
      font-weight:600!important;
      letter-spacing:0;
      max-width:100%;
      overflow-wrap:anywhere;
      white-space:normal;
    }
    .single-quick-facts span:not(.single-fact-icon){
      font-size:12px!important;
      font-weight:500!important;
      line-height:1.25;
      max-width:100%;
      overflow-wrap:anywhere;
      white-space:normal;
    }
    .single-fact-icon{
      height:42px;
      width:42px;
    }
    .single-fact-icon svg{
      height:40px;
      width:40px;
      stroke-width:1.9;
    }
    .single-property-summary .single-property-actions{
      gap:20px!important;
    }
    .single-action{
      border-radius:11px;
      font-size:20px!important;
      height:72px!important;
      min-height:72px!important;
      padding:0 18px;
      white-space:normal;
    }
    .single-action-icon{
      flex:0 0 34px;
    }
    .single-action-icon svg{
      fill:currentColor!important;
      stroke:none!important;
    }
    .single-action-icon-tower svg{
      fill:none!important;
      stroke:currentColor!important;
    }
    @media(max-width:1200px){
      .single-property-summary.panel{
        padding:36px 40px;
      }
      .single-quick-facts{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:22px 18px!important;
      }
      .single-quick-facts strong{
        font-size:19px!important;
      }
      .single-quick-facts span:not(.single-fact-icon){
        font-size:12px!important;
      }
      .single-action{
        font-size:18px!important;
        height:66px!important;
        min-height:66px!important;
      }
    }
    @media(max-width:820px){
      .single-property-summary.panel{
        padding:30px 24px;
      }
      .single-property-price{
        font-size:clamp(30px,8.2vw,38px)!important;
      }
      .single-quick-facts{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:20px 18px!important;
      }
      .single-quick-facts strong{
        font-size:19px!important;
      }
      .single-property-summary .single-property-actions{
        grid-template-columns:1fr 1fr;
        gap:12px!important;
      }
      .single-action{
        font-size:16px!important;
        height:62px!important;
        min-height:62px!important;
        padding:0 12px;
      }
      .single-action.secondary{
        gap:7px;
      }
      .single-action-icon{
        flex-basis:28px;
        height:28px;
        width:28px;
      }
      .single-action-icon svg{
        height:28px;
        width:28px;
      }
      .single-action-icon-tower,
.single-action-icon-tower svg{
        flex-basis:24px;
        height:24px!important;
        width:24px!important;
      }
      .single-action-icon-tower img{
        height:26px;
        width:26px;
      }
    }
    @media(max-width:460px){
      .single-property-summary .single-property-actions{
        grid-template-columns:1fr;
      }
    }

    .single-property-summary .single-property-price{
      color:var(--green-2)!important;
    }

    .single-property-summary .single-property-price{
      font-size:clamp(30px,2.25vw,46px)!important;
      max-width:100%!important;
      overflow-wrap:anywhere!important;
      text-wrap:balance;
      white-space:normal!important;
      word-break:normal!important;
    }
    @media(max-width:820px){
      .single-property-summary .single-property-price{
        font-size:clamp(28px,7.2vw,36px)!important;
      }
    }

    .single-property-summary .single-quick-facts{
      align-items:start!important;
      justify-items:center!important;
    }
    .single-property-summary .single-quick-facts > div{
      align-items:center!important;
      display:grid!important;
      gap:8px!important;
      grid-template-rows:42px minmax(24px,auto) minmax(30px,auto);
      justify-items:center!important;
      min-width:0!important;
      text-align:center!important;
      width:100%;
    }
    .single-property-summary .single-fact-icon{
      align-self:center;
      display:grid!important;
      height:42px!important;
      justify-self:center;
      margin:0!important;
      place-items:center!important;
      width:42px!important;
    }
    .single-property-summary .single-fact-icon svg{
      height:36px!important;
      max-height:36px!important;
      max-width:36px!important;
      width:36px!important;
    }
    .single-property-summary .single-quick-facts strong{
      display:block;
      font-weight:600!important;
      justify-self:center;
      line-height:1.15!important;
      margin:0!important;
      max-width:100%!important;
      overflow-wrap:anywhere!important;
      text-align:center!important;
      white-space:normal!important;
    }
    .single-property-summary .single-quick-facts span:not(.single-fact-icon){
      display:block;
      font-weight:500!important;
      justify-self:center;
      line-height:1.25!important;
      margin:0!important;
      max-width:100%!important;
      min-height:30px;
      overflow-wrap:anywhere!important;
      text-align:center!important;
      white-space:normal!important;
    }

    .single-property-summary .single-action.secondary{
      gap:8px!important;
      padding-left:18px;
      padding-right:18px;
    }
    .single-property-summary .single-action.secondary .single-action-icon-tower{
      flex:0 0 30px!important;
      height:30px!important;
      margin-right:0;
      width:30px!important;
    }
    .single-property-summary .single-action.secondary .single-action-icon-tower img{
      height:32px!important;
      width:32px!important;
    }

    .single-property-summary .single-action.secondary span:last-child{
      white-space:nowrap!important;
    }

    @media(min-width:821px){
      .single-property-summary .single-action.secondary{
        gap:8px!important;
        font-size:17px!important;
        white-space:nowrap!important;
      }
    }

    .single-property-gallery{
      display:flex!important;
      flex-wrap:nowrap!important;
      gap:12px!important;
      overflow-x:auto!important;
      overflow-y:hidden!important;
      padding:0 0 6px!important;
      scroll-snap-type:x proximity;
    }
    .single-property-gallery .single-gallery-item{
      flex:0 0 108px!important;
      height:108px!important;
      scroll-snap-align:start;
    }

    .single-property-main-photo{
      aspect-ratio:4/3;
      background:var(--verde-profundo)!important;
      display:grid;
      height:auto!important;
      isolation:isolate;
      min-height:0!important;
      overflow:hidden;
      place-items:center;
    }
    .single-property-main-blur{
      background-image:linear-gradient(135deg,rgba(4,22,20,.30),rgba(0,0,0,.32)),var(--main-property-image);
      background-position:center;
      background-size:cover;
      filter:blur(18px) saturate(.95);
      inset:-22px;
      opacity:.72;
      position:absolute;
      transform:scale(1.08);
      z-index:0;
    }
    .single-property-main-photo::after{
      background:linear-gradient(90deg,rgba(46,42,36,.16),rgba(0,0,0,.04),rgba(46,42,36,.12));
      content:"";
      inset:0;
      pointer-events:none;
      position:absolute;
      z-index:1;
    }
    .single-property-main-img{
      display:block;
      height:100%;
      inset:0;
      margin:auto;
      max-height:100%;
      max-width:100%;
      object-fit:contain;
      object-position:center;
      position:absolute;
      width:100%;
      z-index:2;
    }
    .single-property-main-photo .single-property-hero-price{
      z-index:6;
    }
    .single-summary-badges{
      align-items:flex-start;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      justify-content:flex-start;
      margin:0 0 18px;
      width:100%;
    }
    .single-summary-badges .badge{
      display:inline-flex;
      position:static;
      width:max-content;
      border-radius:5px;
      font-size:12px;
      line-height:1;
      min-height:32px;
      padding:9px 13px;
    }
    .single-property-main-photo .single-gallery-nav{
      z-index:7;
    }

    .home-hero{
      overflow:hidden;
      position:relative;
    }
    .home-hero::before{
      background:linear-gradient(90deg,rgba(247,241,232,.96) 0%,rgba(247,241,232,.86) 28%,rgba(247,241,232,.42) 55%,rgba(247,241,232,.08) 78%,rgba(247,241,232,0) 100%);
      content:"";
      inset:0;
      pointer-events:none;
      position:absolute;
      z-index:1;
    }
    .home-hero-slider{
      inset:0;
      overflow:hidden;
      position:absolute;
      z-index:0;
    }
    .home-hero-slide{
      display:block;
      height:100%;
      inset:0;
      object-fit:cover;
      object-position:center;
      opacity:0;
      position:absolute;
      transform:scale(1.035);
      transition:opacity 900ms ease,transform 2200ms ease;
      width:100%;
    }
    .home-hero-slide.active{
      opacity:1;
      transform:scale(1.08);
    }
    .home-hero .home-inner{
      position:relative;
      z-index:2;
    }
    .home-hero:not(.home-hero-has-slider)::before{
      display:none;
    }
    @media(max-width:820px){
      .home-hero::before{
        background:linear-gradient(90deg,rgba(247,241,232,.96) 0%,rgba(247,241,232,.86) 35%,rgba(247,241,232,.48) 70%,rgba(247,241,232,.16) 100%);
      }
    }

    .home-field .home-location-icon{
      color:var(--texto-secundario);
      display:inline-grid;
      flex:0 0 24px;
      height:24px;
      place-items:center;
      width:24px;
    }
    .home-field .home-location-icon svg{
      display:block;
      fill:none;
      height:22px;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:2;
      width:22px;
    }
    .home-field .home-search-icon{
      color:var(--texto-secundario);
      display:inline-grid;
      flex:0 0 24px;
      height:24px;
      place-items:center;
      width:24px;
    }
    .home-field .home-search-icon svg{
      display:block;
      fill:none;
      height:23px;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:1.9;
      width:23px;
    }
    .category-card .cat-icon{
      display:inline-grid;
      flex:0 0 54px;
      height:54px;
      place-items:center;
      width:54px;
    }
    .category-card .cat-icon svg{
      display:block;
      fill:none;
      height:48px;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:2.1;
      width:48px;
    }
    .category-card .cat-icon svg rect,
.category-card .cat-icon svg path{
      vector-effect:non-scaling-stroke;
    }
    .category-card .cat-icon img{
      display:block;
      height:52px;
      object-fit:contain;
      width:52px;
    }
    .mini-benefit .benefit-icon{
      display:grid;
      height:48px;
      margin:0 auto 10px;
      place-items:center;
      width:48px;
    }
    .mini-benefit .benefit-icon img{
      display:block;
      height:48px;
      object-fit:contain;
      width:48px;
    }

    /* Footer redesign based on the provided reference. Width remains the original site container. */
    .footer{
      background:
        radial-gradient(circle at 12% 12%,rgba(168,139,107,.24),transparent 34%),
        radial-gradient(circle at 72% 35%,rgba(46,42,36,.34),transparent 42%),
        linear-gradient(135deg,var(--verde-profundo) 0%,var(--verde-profundo) 48%,var(--verde-profundo) 100%)!important;
      color:var(--texto-sobre-oscuro)!important;
      padding:74px 52px 42px!important;
    }
    .footer-main{
      display:grid!important;
      grid-template-columns:minmax(280px,1.25fr) minmax(320px,1.05fr) minmax(230px,.78fr) minmax(210px,.62fr)!important;
      gap:54px!important;
      max-width:1500px!important;
      margin:0 auto!important;
      align-items:start!important;
    }
    .footer-brand-col{
      border-right:1px solid rgba(255,255,255,.18);
      min-height:270px;
      padding-right:58px;
    }
    .footer-brand{
      align-items:center;
      gap:18px;
      margin-bottom:34px;
    }
    .footer .footer-brand .shield.brand-logo{
      flex:0 0 auto;
      height:92px;
      margin:0;
      width:92px;
    }
    .footer .footer-brand .shield.brand-logo img{
      height:100%;
      object-fit:contain;
      width:100%;
    }
    .footer-brand small{
      color:var(--gold)!important;
      display:block;
      font-size:15px!important;
      font-weight:900;
      letter-spacing:4px;
      line-height:1;
      text-transform:uppercase;
    }
    .footer-brand strong{
      color:var(--texto-sobre-oscuro)!important;
      display:block;
      font-family:Georgia,serif;
      font-size:42px!important;
      letter-spacing:1px;
      line-height:.98;
    }
    .footer-brand em{
      color:var(--gold)!important;
      display:block;
      font-size:11px!important;
      font-style:normal;
      font-weight:900;
      letter-spacing:6px;
      margin-top:8px;
      text-transform:uppercase;
    }
    .footer-description{
      color:rgba(255,255,255,.82)!important;
      font-size:18px!important;
      line-height:1.72!important;
      margin:0 0 30px!important;
      max-width:430px;
    }
    .footer-mini-line,
.footer-title-line{
      background:var(--gold);
      display:block;
      height:3px;
      width:58px;
    }
    .footer-column h4{
      color:var(--gold)!important;
      font-family:var(--font-body);
      font-size:22px!important;
      font-weight:900;
      letter-spacing:1px;
      line-height:1.1;
      margin:0 0 20px!important;
      text-transform:uppercase;
    }
    .footer-title-line{
      margin-bottom:28px;
    }
    .footer-contact-list{
      display:grid;
      gap:0;
    }
    .footer-contact-item{
      align-items:center;
      border-bottom:1px solid rgba(255,255,255,.10);
      color:var(--texto-sobre-oscuro)!important;
      display:flex;
      gap:20px;
      min-height:86px;
      padding:14px 0;
      text-decoration:none!important;
    }
    .footer-contact-item:last-child{
      border-bottom:0;
    }
    .footer-contact-icon{
      border:2px solid var(--gold);
      border-radius:999px;
      color:var(--gold);
      display:grid;
      flex:0 0 58px;
      height:58px;
      place-items:center;
      width:58px;
    }
    .footer-contact-icon svg{
      display:block;
      fill:none;
      height:30px;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:1.8;
      width:30px;
    }
    .footer-contact-item strong{
      color:rgba(255,255,255,.92);
      display:block;
      font-size:19px;
      font-weight:600;
      line-height:1.32;
    }
    .footer-contact-item small{
      color:rgba(255,255,255,.72)!important;
      display:block;
      font-size:15px!important;
      margin-top:4px;
    }
    .footer-quick-links{
      display:grid;
    }
    .footer-quick-links a{
      align-items:center;
      border-bottom:1px solid rgba(255,255,255,.10);
      color:rgba(255,255,255,.86)!important;
      display:flex;
      font-size:20px!important;
      gap:20px;
      min-height:64px;
      text-decoration:none!important;
      transition:.18s ease;
    }
    .footer-quick-links a:hover{
      color:var(--texto-sobre-oscuro)!important;
      padding-left:4px;
    }
    .footer-quick-links a span{
      color:var(--gold);
      font-size:34px;
      font-weight:300;
      line-height:1;
    }
    .footer-socials{
      display:flex;
      flex-wrap:wrap;
      gap:20px;
      padding-top:22px;
    }
    .footer-socials a,
.footer-socials span{
      align-items:center;
      background:var(--gold);
      border-radius:999px;
      box-shadow:0 10px 24px rgba(0,0,0,.18);
      color:var(--green);
      display:flex;
      font-size:18px;
      font-weight:900;
      height:54px;
      justify-content:center;
      line-height:1;
      text-decoration:none;
      text-transform:lowercase;
      width:54px;
    }
    .footer-bottom-redesign{
      border-top:3px solid var(--gold)!important;
      display:flex!important;
      justify-content:center!important;
      margin:56px auto 0!important;
      max-width:1500px!important;
      padding:28px 0 0!important;
      text-align:center;
    }
    .footer-bottom-redesign span{
      color:rgba(255,255,255,.78)!important;
      font-size:18px!important;
    }
    .footer-bottom-redesign .footer-links{
      display:none!important;
    }
    @media(max-width:1200px){
      .footer{
        padding:58px 34px 34px!important;
      }
      .footer-main{
        grid-template-columns:1fr 1fr!important;
        gap:42px 48px!important;
      }
      .footer-brand-col{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.14);
        grid-column:1/-1;
        min-height:0;
        padding:0 0 36px;
      }
    }
    @media(max-width:820px){
      .footer{
        padding:42px 20px calc(110px + env(safe-area-inset-bottom,0px))!important;
      }
      .footer-main{
        grid-template-columns:1fr!important;
        gap:34px!important;
      }
      .footer-brand{
        gap:14px;
        margin-bottom:24px;
      }
      .footer .footer-brand .shield.brand-logo{
        height:70px;
        width:70px;
      }
      .footer-brand small{
        font-size:10px!important;
        letter-spacing:2.4px;
      }
      .footer-brand strong{
        font-size:29px!important;
      }
      .footer-brand em{
        font-size:7px!important;
        letter-spacing:3.6px;
      }
      .footer-description{
        font-size:15px!important;
        line-height:1.65!important;
      }
      .footer-column h4{
        font-size:18px!important;
      }
      .footer-contact-item{
        gap:16px;
        min-height:76px;
      }
      .footer-contact-icon{
        flex-basis:48px;
        height:48px;
        width:48px;
      }
      .footer-contact-icon svg{
        height:25px;
        width:25px;
      }
      .footer-contact-item strong,
.footer-quick-links a{
        font-size:16px!important;
      }
      .footer-contact-item small{
        font-size:13px!important;
      }
      .footer-socials{
        gap:14px;
        padding-top:8px;
      }
      .footer-socials a,
.footer-socials span{
        height:46px;
        width:46px;
      }
      .footer-bottom-redesign{
        margin-top:34px!important;
        padding-top:22px!important;
      }
      .footer-bottom-redesign span{
        font-size:14px!important;
      }
    }

    /* Final mobile drawer stack: the backdrop must dim the page,
not cover the menu links. */
    @media(max-width:820px){
      html body.menu-open .topbar{
        z-index:2147483600!important;
      }
      html body.menu-open #nav{
        pointer-events:auto!important;
        transform:translateX(0)!important;
        z-index:2147483601!important;
      }
      html body.menu-open #nav a{
        pointer-events:auto!important;
        position:relative!important;
        z-index:1!important;
      }
      html body.menu-open .mobile-backdrop{
        display:block!important;
        opacity:1!important;
        pointer-events:auto!important;
        visibility:visible!important;
        z-index:2147483500!important;
      }
    }

    /* Final-final mobile drawer order with sane values that beat the older broad rules. */
    @media(max-width:820px){
      html body.menu-open #mobileBackdrop.mobile-backdrop{
        display:block!important;
        opacity:1!important;
        pointer-events:auto!important;
        visibility:visible!important;
        z-index:9990!important;
      }
      html body.menu-open header.topbar{
        position:fixed!important;
        z-index:10000!important;
      }
      html body.menu-open header.topbar nav#nav{
        pointer-events:auto!important;
        transform:translateX(0)!important;
        z-index:10001!important;
      }
      html body.menu-open header.topbar nav#nav a{
        pointer-events:auto!important;
        position:relative!important;
        z-index:1!important;
      }
      html body.menu-open nav#mobileBottomNav.mobile-bottom-nav{
        z-index:9980!important;
      }
    }

    /* Footer compact pass: keep the redesign,
remove excessive vertical height. */
    .footer{
      padding-top:46px!important;
      padding-bottom:26px!important;
    }
    .footer-main{
      gap:38px!important;
    }
    .footer-brand-col{
      min-height:0!important;
      padding-right:42px!important;
    }
    .footer-brand{
      margin-bottom:22px!important;
    }
    .footer .footer-brand .shield.brand-logo{
      height:68px!important;
      width:68px!important;
    }
    .footer-brand small{
      font-size:12px!important;
      letter-spacing:3px!important;
    }
    .footer-brand strong{
      font-size:34px!important;
    }
    .footer-brand em{
      font-size:8px!important;
      letter-spacing:4.6px!important;
      margin-top:6px!important;
    }
    .footer-description{
      font-size:15px!important;
      line-height:1.55!important;
      margin-bottom:22px!important;
      max-width:390px!important;
    }
    .footer-column h4{
      font-size:18px!important;
      margin-bottom:14px!important;
    }
    .footer-title-line{
      height:3px!important;
      margin-bottom:20px!important;
      width:52px!important;
    }
    .footer-contact-item{
      gap:16px!important;
      min-height:68px!important;
      padding:9px 0!important;
    }
    .footer-contact-icon{
      flex-basis:48px!important;
      height:48px!important;
      width:48px!important;
    }
    .footer-contact-icon svg{
      height:24px!important;
      width:24px!important;
    }
    .footer-contact-item strong{
      font-size:16px!important;
      line-height:1.25!important;
    }
    .footer-contact-item small{
      font-size:13px!important;
      margin-top:2px!important;
    }
    .footer-quick-links a{
      font-size:17px!important;
      gap:16px!important;
      min-height:52px!important;
    }
    .footer-quick-links a span{
      font-size:28px!important;
    }
    .footer-socials{
      gap:14px!important;
      padding-top:14px!important;
    }
    .footer-socials a,
.footer-socials span{
      font-size:15px!important;
      height:46px!important;
      width:46px!important;
    }
    .footer-bottom-redesign{
      margin-top:34px!important;
      padding-top:20px!important;
    }
    .footer-bottom-redesign span{
      font-size:15px!important;
    }

    /* Footer compact pass 2. */
    .footer{
      padding-top:34px!important;
      padding-bottom:20px!important;
    }
    .footer-main{
      gap:30px!important;
    }
    .footer-brand-col{
      padding-right:34px!important;
    }
    .footer-brand{
      margin-bottom:16px!important;
    }
    .footer .footer-brand .shield.brand-logo{
      height:58px!important;
      width:58px!important;
    }
    .footer-brand small{
      font-size:10px!important;
      letter-spacing:2.6px!important;
    }
    .footer-brand strong{
      font-size:29px!important;
    }
    .footer-brand em{
      font-size:7px!important;
      letter-spacing:3.8px!important;
      margin-top:4px!important;
    }
    .footer-description{
      font-size:14px!important;
      line-height:1.48!important;
      margin-bottom:16px!important;
      max-width:380px!important;
    }
    .footer-column h4{
      font-size:16px!important;
      margin-bottom:10px!important;
    }
    .footer-title-line{
      margin-bottom:14px!important;
      width:48px!important;
    }
    .footer-contact-item{
      min-height:56px!important;
      padding:7px 0!important;
    }
    .footer-contact-icon{
      flex-basis:40px!important;
      height:40px!important;
      width:40px!important;
    }
    .footer-contact-icon svg{
      height:21px!important;
      width:21px!important;
    }
    .footer-contact-item strong{
      font-size:14px!important;
    }
    .footer-contact-item small{
      font-size:12px!important;
    }
    .footer-quick-links a{
      font-size:15px!important;
      min-height:43px!important;
    }
    .footer-quick-links a span{
      font-size:24px!important;
    }
    .footer-socials{
      gap:12px!important;
      padding-top:10px!important;
    }
    .footer-socials a,
.footer-socials span{
      font-size:13px!important;
      height:40px!important;
      width:40px!important;
    }
    .footer-bottom-redesign{
      margin-top:24px!important;
      padding-top:16px!important;
    }
    .footer-bottom-redesign span{
      font-size:13px!important;
    }

    /* Footer compact pass 3: small final reduction. */
    .footer{
      padding-top:28px!important;
      padding-bottom:16px!important;
    }
    .footer-main{
      gap:24px!important;
    }
    .footer-brand-col{
      padding-right:28px!important;
    }
    .footer-brand{
      margin-bottom:12px!important;
    }
    .footer-description{
      font-size:13px!important;
      line-height:1.42!important;
      margin-bottom:13px!important;
    }
    .footer-column h4{
      font-size:15px!important;
      margin-bottom:8px!important;
    }
    .footer-title-line{
      margin-bottom:11px!important;
    }
    .footer-contact-item{
      min-height:50px!important;
      padding:5px 0!important;
    }
    .footer-contact-icon{
      flex-basis:36px!important;
      height:36px!important;
      width:36px!important;
    }
    .footer-contact-icon svg{
      height:19px!important;
      width:19px!important;
    }
    .footer-quick-links a{
      min-height:38px!important;
    }
    .footer-socials a,
.footer-socials span{
      height:36px!important;
      width:36px!important;
    }
    .footer-bottom-redesign{
      margin-top:18px!important;
      padding-top:13px!important;
    }

    /* Footer compact pass 4: a touch smaller. */
    .footer{
      padding-top:24px!important;
      padding-bottom:14px!important;
    }
    .footer-main{
      gap:20px!important;
    }
    .footer-brand{
      margin-bottom:10px!important;
    }
    .footer-description{
      font-size:12.5px!important;
      line-height:1.38!important;
      margin-bottom:10px!important;
    }
    .footer-mini-line,
.footer-title-line{
      height:2px!important;
      width:44px!important;
    }
    .footer-column h4{
      font-size:14px!important;
      margin-bottom:7px!important;
    }
    .footer-title-line{
      margin-bottom:9px!important;
    }
    .footer-contact-item{
      min-height:46px!important;
      padding:4px 0!important;
    }
    .footer-contact-icon{
      flex-basis:32px!important;
      height:32px!important;
      width:32px!important;
    }
    .footer-contact-icon svg{
      height:17px!important;
      width:17px!important;
    }
    .footer-contact-item strong{
      font-size:13px!important;
    }
    .footer-contact-item small{
      font-size:11px!important;
    }
    .footer-quick-links a{
      font-size:14px!important;
      min-height:34px!important;
    }
    .footer-socials{
      gap:10px!important;
      padding-top:7px!important;
    }
    .footer-socials a,
.footer-socials span{
      height:32px!important;
      width:32px!important;
    }
    .footer-bottom-redesign{
      margin-top:14px!important;
      padding-top:11px!important;
    }

    /* Compact property pagination. */
    #propertiesView .pagination{
      align-items:center!important;
      gap:6px!important;
      justify-content:center!important;
      margin:22px auto 0!important;
      max-width:760px!important;
    }
    #propertiesView .pagination .page,
#propertiesView .pagination .next{
      border-radius:8px!important;
      box-shadow:0 4px 10px rgba(0,0,0,.035);
      font-size:13px!important;
      height:34px!important;
      min-width:34px!important;
      padding:0 11px!important;
    }
    #propertiesView .pagination .next{
      min-width:auto!important;
    }
    #propertiesView .pagination .page.active{
      box-shadow:0 7px 16px rgba(0,67,49,.18);
    }
    #propertiesView .pagination .dots{
      color:var(--texto-secundario)!important;
      font-weight:800;
      height:34px;
      padding:0 4px!important;
    }
    @media(max-width:820px){
      #propertiesView .pagination{
        gap:5px!important;
        margin-top:18px!important;
      }
      #propertiesView .pagination .page,
#propertiesView .pagination .next{
        font-size:12px!important;
        height:32px!important;
        min-width:32px!important;
        padding:0 9px!important;
      }
    }

    /* Match header background to the footer's deep green gradient. */
    .topbar{
      background:
        radial-gradient(circle at 14% 20%,rgba(168,139,107,.22),transparent 34%),
        radial-gradient(circle at 78% 36%,rgba(46,42,36,.34),transparent 42%),
        linear-gradient(135deg,var(--verde-profundo) 0%,var(--verde-profundo) 48%,var(--verde-profundo) 100%)!important;
    }
    .topbar .wa{
      width:31px;
      height:31px;
      border:0;
      border-radius:0;
      display:inline-grid;
      place-items:center;
      color:var(--texto-sobre-oscuro);
      background:transparent;
      flex:0 0 auto;
    }
    .topbar .wa svg{
      width:28px;
      height:28px;
      display:block;
      fill:currentColor;
    }
    @media(max-width:820px){
      .topbar{
        background:
          radial-gradient(circle at 10% 18%,rgba(168,139,107,.24),transparent 38%),
          linear-gradient(135deg,var(--verde-profundo) 0%,var(--verde-profundo) 54%,var(--verde-profundo) 100%)!important;
      }
    }

    /* Premium Nosotros section */
    .fortaleza-nosotros{
      background:
        radial-gradient(circle at 8% 31%,rgba(168,139,107,.10),transparent 20%),
        radial-gradient(circle at 92% 66%,rgba(199,178,153,.12),transparent 24%),
        linear-gradient(180deg,var(--crema-calido) 0%,var(--marfil) 42%,var(--crema-calido) 100%);
      color:var(--texto-principal);
      left:50%;
      margin:48px 0 0 -50vw;
      overflow:hidden;
      position:relative;
      width:100vw;
    }
    .fortaleza-nosotros svg{
      fill:none;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:1.8;
    }
    .fortaleza-nosotros-block{
      margin:0 auto;
      max-width:1500px;
      position:relative;
    }
    .fortaleza-nosotros-block-01{
      display:grid;
      grid-template-columns:minmax(410px,.82fr) minmax(520px,1.18fr);
      min-height:430px;
    }
    .fortaleza-nosotros-copy{
      align-self:center;
      padding:72px 48px 72px 86px;
      position:relative;
      z-index:2;
    }
    .fortaleza-nosotros-number{
      color:var(--verde-oliva);
      display:inline-block;
      font-family:Georgia,"Times New Roman",serif;
      font-size:16px;
      font-weight:800;
      margin-bottom:12px;
      position:relative;
    }
    .fortaleza-nosotros-number::after{
      background:var(--verde-oliva);
      bottom:-3px;
      content:"";
      height:2px;
      left:0;
      position:absolute;
      width:26px;
    }
    .fortaleza-nosotros h2{
      color:var(--verde-profundo);
      font-family:Georgia,"Times New Roman",serif;
      font-size:clamp(44px,5vw,74px);
      letter-spacing:-1.8px;
      line-height:.9;
      margin:0 0 20px;
    }
    .fortaleza-nosotros h2 span{
      color:var(--verde-oliva);
      display:block;
    }
    .fortaleza-nosotros p{
      color:var(--texto-principal);
      font-size:15px;
      line-height:1.62;
      margin:0;
    }
    .fortaleza-nosotros-copy > p,
.fortaleza-nosotros-trust-copy > p{
      max-width:565px;
    }
    .fortaleza-nosotros-inline{
      display:grid;
      gap:24px;
      grid-template-columns:repeat(3,minmax(0,1fr));
      margin:30px 0 34px;
      max-width:560px;
    }
    .fortaleza-nosotros-mini{
      align-items:center;
      display:grid;
      gap:2px 12px;
      grid-template-columns:42px 1fr;
    }
    .fortaleza-nosotros-mini span{
      color:var(--verde-profundo);
      grid-row:span 2;
      height:38px;
      width:38px;
    }
    .fortaleza-nosotros-mini > .fortaleza-nosotros-mini-icon{
      align-items:center;
      display:flex;
      justify-content:center;
      overflow:visible;
    }
    .fortaleza-nosotros-mini-icon img{
      display:block;
      height:40px;
      max-width:none;
      object-fit:contain;
      width:40px;
    }
    .fortaleza-nosotros-mini strong,
.fortaleza-nosotros-mini small{
      display:block;
      line-height:1.2;
    }
    .fortaleza-nosotros-mini strong{
      color:var(--texto-principal);
      font-size:13px;
      font-weight:900;
    }
    .fortaleza-nosotros-mini small{
      color:var(--texto-secundario);
      font-size:12px;
    }
    .fortaleza-nosotros-btn{
      align-items:center;
      background:var(--verde-oliva);
      border-radius:5px;
      box-shadow:0 14px 28px rgba(46,42,36,.14);
      color:var(--texto-sobre-oscuro);
      display:inline-flex;
      font-weight:900;
      gap:22px;
      min-height:52px;
      padding:0 28px;
      text-decoration:none;
      transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease;
    }
    .fortaleza-nosotros-btn:hover{
      background:#8F7356;
      box-shadow:0 18px 34px rgba(46,42,36,.22);
      transform:translateY(-2px);
    }
    .fortaleza-nosotros-btn span{
      display:inline-block;
      transition:transform .25s ease;
    }
    .fortaleza-nosotros-btn:hover span{
      transform:translateX(5px);
    }
    .fortaleza-nosotros-hero-image{
      background-position:center;
      background-size:cover;
      min-height:430px;
      position:relative;
    }
    .fortaleza-nosotros-hero-image::before{
      background:linear-gradient(90deg,var(--crema-calido) 0%,rgba(247,241,232,.92) 10%,rgba(247,241,232,.36) 31%,rgba(247,241,232,0) 58%);
      content:"";
      inset:0;
      position:absolute;
    }
    .fortaleza-nosotros-block-02{
      align-items:center;
      display:grid;
      gap:36px;
      grid-template-columns:1fr 1.18fr;
      padding:32px 74px 34px;
    }
    .fortaleza-nosotros-collage{
      min-height:370px;
      position:relative;
    }
    .fortaleza-nosotros-collage::before{
      background-image:radial-gradient(var(--verde-oliva) 1.5px,transparent 1.5px);
      background-size:16px 16px;
      content:"";
      height:145px;
      left:-70px;
      opacity:.72;
      position:absolute;
      top:75px;
      width:115px;
      z-index:0;
    }
    .fortaleza-nosotros-collage-main,
.fortaleza-nosotros-collage-card,
.fortaleza-nosotros-trust-image{
      background-position:center;
      background-size:cover;
    }
    .fortaleza-nosotros-collage-main{
      border-radius:8px;
      box-shadow:0 18px 38px rgba(46,42,36,.14);
      height:350px;
      margin:0 82px 0 26px;
      position:relative;
      z-index:1;
    }
    .fortaleza-nosotros-collage-card{
      border:5px solid rgba(255,255,255,.92);
      border-radius:8px;
      bottom:22px;
      box-shadow:0 18px 36px rgba(46,42,36,.22);
      height:220px;
      position:absolute;
      right:0;
      width:235px;
      z-index:2;
    }
    .fortaleza-nosotros-story{
      background:var(--marfil);
      border:1px solid rgba(168,139,107,.22);
      border-radius:8px;
      box-shadow:0 20px 45px rgba(46,42,36,.12);
      padding:48px 66px 58px;
      position:relative;
    }
    .fortaleza-nosotros-story h2{
      font-size:clamp(35px,4vw,55px);
      margin-bottom:24px;
    }
    .fortaleza-nosotros-story h2::after{
      background:var(--verde-oliva);
      content:"";
      display:block;
      height:2px;
      margin-top:18px;
      width:34px;
    }
    .fortaleza-nosotros-stats{
      display:grid;
      gap:18px;
      grid-template-columns:repeat(3,1fr);
      margin:34px 0 28px;
      text-align:center;
    }
    .fortaleza-nosotros-stat{
      color:var(--verde-profundo);
    }
    .fortaleza-nosotros-stat > span{
      color:var(--verde-oliva);
      display:block;
      height:32px;
      margin:0 auto 8px;
      width:32px;
    }
    .fortaleza-nosotros-stat > .fortaleza-nosotros-stat-icon{
      align-items:center;
      display:flex;
      height:48px;
      justify-content:center;
      margin-bottom:8px;
      overflow:visible;
      width:48px;
    }
    .fortaleza-nosotros-stat-icon img{
      display:block;
      height:78px;
      max-width:none;
      object-fit:contain;
      width:78px;
    }
    .fortaleza-nosotros-stat strong{
      color:var(--texto-principal);
      display:block;
      font-size:18px;
      line-height:1.05;
    }
    .fortaleza-nosotros-stat small{
      color:var(--texto-principal);
      display:block;
      font-size:12px;
      line-height:1.22;
      margin-top:5px;
    }
    .fortaleza-nosotros-btn-center{
      left:50%;
      min-width:285px;
      position:absolute;
      transform:translateX(-50%);
    }
    .fortaleza-nosotros-btn-center:hover{
      transform:translate(-50%,-2px);
    }
    .fortaleza-nosotros-block-03{
      display:grid;
      grid-template-columns:minmax(580px,.95fr) minmax(500px,1.05fr);
      min-height:545px;
      padding:24px 74px 0;
    }
    .fortaleza-nosotros-trust-copy{
      align-self:center;
      padding:0 28px 54px 0;
      position:relative;
      z-index:2;
    }
    .fortaleza-nosotros-trust-copy h2{
      font-size:clamp(42px,4.8vw,64px);
      max-width:560px;
    }
    .fortaleza-nosotros-trust-grid{
      display:grid;
      gap:14px;
      grid-template-columns:repeat(4,1fr);
      margin:28px 0 30px;
    }
    .fortaleza-nosotros-trust-card{
      background:var(--marfil);
      border:1px solid rgba(168,139,107,.22);
      border-radius:7px;
      box-shadow:0 12px 25px rgba(46,42,36,.10);
      min-height:150px;
      padding:22px 18px;
      text-align:center;
      transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
    }
    .fortaleza-nosotros-trust-card:hover{
      border-color:rgba(168,139,107,.42);
      box-shadow:0 18px 34px rgba(46,42,36,.16);
      transform:translateY(-4px);
    }
    .fortaleza-nosotros-trust-card span{
      color:var(--verde-oliva);
      display:block;
      height:34px;
      margin:0 auto 12px;
      width:34px;
    }
    .fortaleza-nosotros-trust-card .fortaleza-nosotros-trust-icon{
      align-items:center;
      display:flex;
      height:44px;
      justify-content:center;
      overflow:visible;
      width:44px;
    }
    .fortaleza-nosotros-trust-icon img{
      display:block;
      height:72px;
      max-width:none;
      object-fit:contain;
      width:72px;
    }
    .fortaleza-nosotros-trust-card strong{
      color:var(--texto-principal);
      display:block;
      font-size:13px;
      line-height:1.2;
      margin-bottom:8px;
    }
    .fortaleza-nosotros-trust-card p{
      color:var(--texto-secundario);
      font-size:11px;
      line-height:1.45;
    }
    .fortaleza-nosotros-trust-visual{
      border-top-left-radius:240px;
      min-height:545px;
      overflow:hidden;
      position:relative;
    }
    .fortaleza-nosotros-trust-image{
      height:100%;
      inset:0;
      position:absolute;
    }
    .fortaleza-nosotros-trust-image::after{
      background:linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(46,42,36,.28));
      content:"";
      inset:0;
      position:absolute;
    }
    .fortaleza-nosotros-quote{
      background:linear-gradient(135deg,var(--verde-oliva) 0%,#8F7356 100%);
      bottom:0;
      box-shadow:0 16px 36px rgba(46,42,36,.26);
      color:var(--texto-sobre-oscuro);
      margin:0;
      max-width:340px;
      padding:42px 44px 38px;
      position:absolute;
      right:0;
    }
    .fortaleza-nosotros-quote span{
      color:var(--marfil);
      display:block;
      font-family:Georgia,"Times New Roman",serif;
      font-size:58px;
      font-weight:900;
      height:34px;
      line-height:.7;
    }
    .fortaleza-nosotros-quote p{
      color:var(--texto-sobre-oscuro);
      font-size:23px;
      line-height:1.23;
    }
    .fortaleza-nosotros-quote::after{
      background:var(--marfil);
      bottom:28px;
      content:"";
      height:2px;
      left:44px;
      position:absolute;
      width:38px;
    }
    [data-nosotros-reveal],
[data-nosotros-stagger]{
      opacity:0;
      transform:translateY(22px);
      transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);
    }
    [data-nosotros-reveal="image"]{
      transform:translateX(34px) scale(.985);
    }
    .is-visible[data-nosotros-reveal],
.is-visible [data-nosotros-stagger],
.is-visible[data-nosotros-stagger]{
      opacity:1;
      transform:translate(0,0) scale(1);
    }
    .is-visible [data-nosotros-stagger]:nth-child(2){transition-delay:.08s}
    .is-visible [data-nosotros-stagger]:nth-child(3){transition-delay:.16s}
    .is-visible [data-nosotros-stagger]:nth-child(4){transition-delay:.24s}

    @media(max-width:1200px){
      .fortaleza-nosotros{margin-left:-50vw;margin-right:0}
      .fortaleza-nosotros-block-01{grid-template-columns:1fr;min-height:0}
      .fortaleza-nosotros-copy{padding:58px 44px 34px}
      .fortaleza-nosotros-hero-image{min-height:340px}
      .fortaleza-nosotros-block-02{grid-template-columns:1fr;padding:42px 44px}
      .fortaleza-nosotros-block-03{grid-template-columns:1fr;padding:28px 44px 0}
      .fortaleza-nosotros-trust-copy{padding-right:0}
      .fortaleza-nosotros-trust-visual{border-top-left-radius:150px;min-height:420px}
    }
    @media(max-width:820px){
      .fortaleza-nosotros{margin:34px 0 0 -50vw}
      .fortaleza-nosotros-block-01,
.fortaleza-nosotros-block-02,
.fortaleza-nosotros-block-03{display:block}
      .fortaleza-nosotros-copy,
.fortaleza-nosotros-trust-copy{padding:42px 18px 28px}
      .fortaleza-nosotros h2{font-size:clamp(38px,12vw,52px);letter-spacing:-1px}
      .fortaleza-nosotros p{font-size:14px}
      .fortaleza-nosotros-inline{
        gap:8px;
        grid-template-columns:repeat(3,minmax(0,1fr));
        margin:24px 0;
        max-width:none;
      }
      .fortaleza-nosotros-mini{
        gap:2px 6px;
        grid-template-columns:34px minmax(0,1fr);
        min-width:0;
      }
      .fortaleza-nosotros-mini span{
        height:32px;
        width:32px;
      }
      .fortaleza-nosotros-mini-icon img{
        height:34px;
        width:34px;
      }
      .fortaleza-nosotros-mini strong{
        font-size:11px;
      }
      .fortaleza-nosotros-mini small{
        font-size:10px;
      }
      .fortaleza-nosotros-hero-image{min-height:260px}
      .fortaleza-nosotros-hero-image::before{background:linear-gradient(180deg,var(--crema-calido) 0%,rgba(247,241,232,.14) 38%,rgba(247,241,232,0) 100%)}
      .fortaleza-nosotros-block-02{padding:24px 18px 38px}
      .fortaleza-nosotros-collage{min-height:300px}
      .fortaleza-nosotros-collage::before{left:-28px;top:42px}
      .fortaleza-nosotros-collage-main{height:270px;margin:0 38px 0 0}
      .fortaleza-nosotros-collage-card{bottom:6px;height:150px;width:160px}
      .fortaleza-nosotros-story{padding:34px 20px 58px}
      .fortaleza-nosotros-stats{grid-template-columns:repeat(2,1fr)}
      .fortaleza-nosotros-btn,
.fortaleza-nosotros-btn-center{justify-content:center;min-width:0;position:static;transform:none;width:100%}
      .fortaleza-nosotros-btn-center:hover{transform:translateY(-2px)}
      .fortaleza-nosotros-trust-grid{grid-template-columns:repeat(2,1fr)}
      .fortaleza-nosotros-trust-visual{border-top-left-radius:92px;min-height:360px}
      .fortaleza-nosotros-quote{max-width:78%;padding:30px 28px 34px}
      .fortaleza-nosotros-quote p{font-size:18px}
      .fortaleza-nosotros-block-03 [data-nosotros-reveal],
      .fortaleza-nosotros-block-03 [data-nosotros-stagger]{
        opacity:1;
        transform:none;
      }
    }
    @media(max-width:520px){
      .fortaleza-nosotros-trust-grid{grid-template-columns:1fr}
      .fortaleza-nosotros-stats{gap:14px}
      .fortaleza-nosotros-story h2{font-size:36px}
      .fortaleza-nosotros-quote{max-width:88%;right:0}
    }
    @media(prefers-reduced-motion:reduce){
      [data-nosotros-reveal],
[data-nosotros-stagger]{
        opacity:1!important;
        transform:none!important;
        transition:none!important;
      }
    }

    /* Canonical whole-theme color system. */
    html body,
html body.page,
html body.single,
html body.archive,
html body.home{
      background:var(--crema-calido)!important;
      color:var(--texto-principal)!important;
    }

    html body main,
html body section,
html body .home-wrap,
html body .properties-page,
html body .single-property-view,
html body .single-related,
html body .single-description-block{
      border-color:var(--beige-piedra)!important;
    }

    html body .home-wrap,
html body .properties-page,
html body .single-property-view,
html body .blog-page{
      background-color:var(--crema-calido)!important;
    }

    html body .panel,
html body .filters,
html body .property,
html body .property-body,
html body .category-card,
html body .home-benefits,
html body .mini-benefit,
html body .benefit,
html body .advisor-card,
html body .page,
html body .next,
html body .save,
html body .modal-card,
html body .single-property-summary,
html body .single-property-section,
html body .single-quick-facts > div,
html body .single-detail-item,
html body .single-additional-features > div,
html body .single-feature-list span,
html body .single-gallery-item,
html body .fortaleza-nosotros-story,
html body .fortaleza-nosotros-trust-card{
      background:var(--marfil)!important;
      border-color:rgba(168,139,107,.22)!important;
      color:var(--texto-principal)!important;
      box-shadow:0 10px 28px rgba(46,42,36,.08)!important;
    }

    html body .property:hover,
html body .category-card:hover,
html body .advisor-card:hover,
html body .single-gallery-item:hover,
html body .single-gallery-item.active,
html body .fortaleza-nosotros-trust-card:hover{
      border-color:rgba(168,139,107,.42)!important;
      box-shadow:0 14px 32px rgba(46,42,36,.12)!important;
    }

    html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body strong,
html body .property h3,
html body .filters h2,
html body .section-title h2,
html body .single-property-summary h1,
html body .single-property-section h2,
html body .single-detail-item strong,
html body .single-quick-facts strong,
html body .fortaleza-nosotros h2,
html body .fortaleza-nosotros-story h2,
html body .fortaleza-nosotros-trust-copy h2{
      color:var(--texto-principal)!important;
    }

    html body p,
html body small,
html body .subtitle,
html body .loc,
html body .features,
html body .property-feature,
html body .sort,
html body .label,
html body .checks,
html body .single-summary-description,
html body .single-full-description,
html body .single-detail-item span,
html body .single-additional-features span,
html body .single-quick-facts span:not(.single-fact-icon),
html body .breadcrumb,
html body .breadcrumb span,
html body .fortaleza-nosotros p,
html body .fortaleza-nosotros-mini small,
html body .fortaleza-nosotros-trust-card p{
      color:var(--texto-secundario)!important;
    }

    html body a,
html body .clear,
html body .section-title button,
html body .advisor-card a,
html body .breadcrumb a{
      color:var(--verde-oliva)!important;
    }

    html body .footer a,
html body .single-action,
html body .mobile-bottom-nav a{
      color:inherit!important;
    }

    html body .phonebox,
html body .toast{
      background:
        radial-gradient(circle at 18% 16%,rgba(168,139,107,.18),transparent 34%),
        linear-gradient(135deg,var(--verde-profundo) 0%,#3d342c 52%,var(--verde-profundo) 100%)!important;
      color:var(--marfil)!important;
    }

    html body .phonebox{
      color:var(--marfil)!important;
    }

    html body .footer-bottom,
html body .footer-divider,
html body .footer-contact-item,
html body .footer-links-list a,
html body .single-summary-description,
html body .single-property-stats div,
html body .single-feature-list+.single-additional-features,
html body hr{
      border-color:var(--beige-piedra)!important;
    }

    html body .mobile-bottom-nav a.active,
html body .mobile-bottom-nav button.active{
      color:var(--crema-calido)!important;
    }

    html body .wa,
html body .mobile-bottom-nav .wa{
      border-color:var(--crema-calido)!important;
      color:var(--crema-calido)!important;
    }

    html body input,
html body select,
html body textarea,
html body .control,
html body .half input,
html body .searchbar input,
html body .sort select{
      background:var(--marfil)!important;
      border-color:var(--beige-piedra)!important;
      color:var(--texto-principal)!important;
    }

    html body input::placeholder,
html body textarea::placeholder{
      color:var(--texto-secundario)!important;
      opacity:.88;
    }

    html body input:focus,
html body select:focus,
html body textarea:focus,
html body button:focus-visible,
html body a:focus-visible{
      outline:2px solid var(--verde-salvia)!important;
      outline-offset:2px!important;
    }

    html body .btn,
html body button.btn,
html body .single-action.primary,
html body .single-map-link,
html body .modal-actions .primary,
html body .seg button.active,
html body .page.active,
html body .pagination .active{
      background:var(--verde-profundo)!important;
      border-color:var(--verde-profundo)!important;
      color:var(--marfil)!important;
    }

    html body .badge,
html body .badge-status,
html body .property-status-badges .badge-status,
html body .property-label-badges .badge-label,
html body .badge-stack .badge{
      background:var(--verde-oliva)!important;
      border-color:var(--verde-oliva)!important;
      color:var(--marfil)!important;
    }

    html body .home-btn,
html body .footer .socials span,
html body .footer-social a,
html body .single-property-summary .single-action.secondary{
      background:var(--verde-salvia)!important;
      border-color:var(--verde-salvia)!important;
      color:var(--marfil)!important;
    }

    html body .btn:hover,
html body .home-btn:hover,
html body .single-action.primary:hover,
html body .single-map-link:hover,
html body .modal-actions .primary:hover,
html body .single-property-summary .single-action.secondary:hover{
      background:var(--verde-oliva)!important;
      border-color:var(--verde-oliva)!important;
      color:var(--marfil)!important;
    }

    html body .home-btn.secondary,
html body .home-hero .home-btn.secondary,
html body .outline{
      background:transparent!important;
      border-color:var(--crema-calido)!important;
      color:var(--marfil)!important;
    }

    html body .home-btn.secondary:hover,
html body .home-hero .home-btn.secondary:hover,
html body .outline:hover{
      background:rgba(247,241,232,.12)!important;
      border-color:var(--crema-calido)!important;
      color:var(--marfil)!important;
    }

    html body .save,
html body .next,
html body .page:not(.active),
html body .modal-actions button:not(.primary){
      background:var(--marfil)!important;
      border-color:var(--beige-piedra)!important;
      color:var(--texto-principal)!important;
    }

    html body .next:disabled,
html body .page.disabled,
html body button:disabled,
html body [disabled]{
      background:var(--crema-calido)!important;
      border-color:var(--beige-piedra)!important;
      color:var(--texto-secundario)!important;
      opacity:.65;
    }

    html body input[type="range"],
html body input[type="checkbox"],
html body input[type="radio"]{
      accent-color:var(--verde-oliva)!important;
    }

    html body .category-card .cat-icon,
html body .category-card .arrow,
html body .property-feature-icon,
html body .ico,
html body .single-fact-icon,
html body .single-gallery-nav,
html body .fortaleza-nosotros svg,
html body .fortaleza-nosotros-mini span,
html body .fortaleza-nosotros-stat > span,
html body .fortaleza-nosotros-trust-card span,
html body .mobile-bottom-nav .ico2{
      color:var(--verde-oliva)!important;
    }

    html body .mobile-bottom-nav a.active .ico2,
html body .mobile-bottom-nav button.active .ico2{
      color:var(--crema-calido)!important;
    }

    html body .home-copy h1,
html body .home-copy p,
html body .single-property-hero-price,
html body .price{
      color:var(--marfil)!important;
    }

    html body .single-property-summary .single-property-price,
html body .single-property-price{
      color:var(--texto-principal)!important;
    }

    html body .fortaleza-nosotros-number,
html body .fortaleza-nosotros h2 span,
html body .fortaleza-nosotros-stat > span,
html body .fortaleza-nosotros-trust-card span{
      color:var(--verde-oliva)!important;
    }

    html body .fortaleza-nosotros-number::after,
html body .fortaleza-nosotros-story h2::after,
html body .footer h4::after,
html body .footer-title::after,
html body .footer-brand-copy::after,
html body .footer-bottom::before{
      background:var(--beige-piedra)!important;
    }

    html body .fortaleza-nosotros .fortaleza-nosotros-quote span,
html body .fortaleza-nosotros .fortaleza-nosotros-quote p{
      color:var(--marfil)!important;
    }

    html body .fortaleza-nosotros .fortaleza-nosotros-quote::after{
      background:var(--marfil)!important;
    }

    html body .fortaleza-nosotros-collage::before{
      background-image:radial-gradient(var(--beige-piedra) 1.5px,transparent 1.5px)!important;
    }

    html body .fortaleza-nosotros-hero-image::before{
      background:linear-gradient(90deg,var(--crema-calido) 0%,rgba(247,241,232,.82) 12%,rgba(247,241,232,.40) 35%,rgba(247,241,232,0) 62%)!important;
    }

    @media(max-width:820px){
      html body .mobile-backdrop{
        background:rgba(46,42,36,.28)!important;
      }
    }

html body .home-hero{min-height:560px!important;padding:74px 52px 108px!important;}
html body .home-eyebrow{color:var(--verde-salvia)!important;display:block!important;font-size:14px!important;font-weight:700!important;letter-spacing:5px!important;margin:0 0 18px!important;text-transform:uppercase!important;}
html body .home-copy h1{color:var(--marfil)!important;font-family:Georgia,"Times New Roman",serif!important;font-size:64px!important;font-weight:500!important;line-height:1.03!important;margin:0 0 28px!important;max-width:590px!important;position:relative!important;}
html body .home-copy h1::after{background:var(--verde-salvia)!important;border-radius:999px;bottom:-22px;content:"";height:4px;left:0;position:absolute;width:70px;}
html body .home-copy p{color:var(--crema-calido)!important;font-family:Georgia,"Times New Roman",serif!important;font-size:20px!important;font-weight:400!important;line-height:1.45!important;max-width:520px!important;}
html body .home-btn{align-items:center!important;border-radius:8px!important;display:inline-flex!important;gap:10px!important;height:57px!important;justify-content:center!important;min-width:225px!important;padding:0 28px!important;}
html body .home-btn.secondary{background:rgba(46,42,36,.18)!important;border-color:rgba(247,241,232,.82)!important;min-width:275px!important;}
html body .home-btn-icon{display:inline-grid!important;flex:0 0 22px!important;height:22px!important;place-items:center!important;width:22px!important;}
html body .home-btn-icon svg{display:block!important;fill:none;height:22px!important;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:22px!important;}
html body .home-btn.secondary .home-btn-icon svg{fill:currentColor!important;stroke:none!important;}
@media(max-width:820px){
  html body .home-hero{min-height:430px!important;padding:42px 18px 92px!important;}
  html body .home-eyebrow{font-size:10px!important;letter-spacing:2.8px!important;}
  html body .home-copy h1{font-size:clamp(30px,8.4vw,42px)!important;}
  html body .home-copy p{font-size:13px!important;}
  html body .home-btn{font-size:12px!important;height:42px!important;min-width:0!important;padding:0 14px!important;}
}

/* Contact page */
.contact-page{
  min-height:calc(100vh - 120px);
  background:var(--crema-calido);
}
.contact-hero{
  position:relative;
  min-height:calc(100vh - 120px);
  padding:104px 22px;
  background-image:url("../images/contacto-bg-townhouses.jpg");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  overflow:hidden;
}
.contact-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg,rgba(247,241,232,.82) 0%,rgba(247,241,232,.58) 45%,rgba(168,139,107,.22) 100%),
    rgba(46,42,36,.08);
  pointer-events:none;
}
.contact-shell{
  position:relative;
  z-index:1;
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,410px);
  gap:34px;
  align-items:start;
}
.contact-glass{
  background:
    linear-gradient(135deg,rgba(255,253,248,.30),rgba(247,241,232,.14)),
    rgba(255,253,248,.10);
  border:1px solid rgba(255,253,248,.76);
  border-radius:22px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 -1px 0 rgba(228,216,200,.28),
    0 24px 70px rgba(46,42,36,.16);
  backdrop-filter:blur(30px) saturate(132%);
  -webkit-backdrop-filter:blur(30px) saturate(132%);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .contact-glass{background:rgba(255,253,248,.88)}
}
.contact-form-panel{
  padding:48px 50px 52px;
}
.contact-kicker,
.contact-info-label{
  display:inline-block;
  margin-bottom:14px;
  color:var(--verde-oliva);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contact-form-panel h1{
  margin:0 0 18px;
  max-width:680px;
  color:var(--texto-principal);
  font-family:var(--font-display);
  font-size:clamp(42px,5vw,68px);
  line-height:.95;
  letter-spacing:0;
}
.contact-intro{
  max-width:760px;
  margin:0 0 34px;
  color:var(--texto-principal);
  font-size:17px;
  line-height:1.72;
}
.contact-intro p{margin:0 0 18px}
.contact-alert{
  margin:0 0 22px;
  padding:13px 16px;
  border-radius:14px;
  border:1px solid var(--beige-piedra);
  color:var(--texto-principal);
  background:rgba(255,253,248,.78);
  font-weight:700;
}
.contact-alert.success{
  border-color:rgba(199,178,153,.62);
  background:rgba(199,178,153,.18);
}
.contact-alert.error{
  border-color:rgba(111,55,45,.28);
  background:rgba(111,55,45,.08);
}
.contact-alert.warning{
  border-color:rgba(168,139,107,.35);
  background:rgba(247,241,232,.72);
}
.fortaleza-contact-form{
  display:grid;
  gap:16px;
}
.contact-honeypot{
  position:absolute!important;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(1px,1px,1px,1px);
  white-space:nowrap;
}
.contact-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.contact-field{
  display:grid;
  gap:8px;
  color:var(--texto-principal);
  font-weight:800;
}
.contact-field b{
  color:#B87968;
  font-weight:900;
}
.contact-field input,
.contact-field textarea{
  width:100%;
  border:1px solid rgba(228,216,200,.85);
  border-radius:10px;
  background:rgba(255,253,248,.72);
  color:var(--texto-principal);
  font:600 16px/1.35 var(--font-body);
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.contact-field input{
  min-height:50px;
  padding:0 14px;
}
.contact-field textarea{
  min-height:132px;
  padding:14px;
  resize:vertical;
}
.contact-field input::placeholder,
.contact-field textarea::placeholder{
  color:var(--texto-secundario);
  opacity:.78;
}
.contact-field input:focus,
.contact-field textarea:focus{
  border-color:var(--verde-salvia);
  box-shadow:0 0 0 3px rgba(199,178,153,.18);
  background:rgba(255,253,248,.86);
}
.contact-submit{
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:0;
  border-radius:12px;
  background:var(--verde-profundo);
  color:var(--texto-sobre-oscuro);
  font:900 17px/1 var(--font-body);
  cursor:pointer;
  box-shadow:0 16px 30px rgba(46,42,36,.18);
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.contact-submit svg{
  width:20px;
  height:20px;
}
.contact-submit:hover,
.contact-submit:focus-visible{
  background:var(--verde-oliva);
  transform:translateY(-1px);
  box-shadow:0 20px 34px rgba(46,42,36,.22);
}
.contact-info-panel{
  padding:36px 32px 38px;
  color:var(--texto-principal);
}
.contact-side-column{
  display:grid;
  gap:22px;
  align-content:start;
}
.contact-info-line{
  display:block;
  width:58px;
  height:3px;
  margin:0 0 28px;
  border-radius:99px;
  background:var(--verde-oliva);
}
.contact-info-brand{
  justify-content:center;
  width:100%;
  min-width:0;
  margin:0 auto 24px;
  padding:18px 20px;
  border-radius:18px;
  background:var(--verde-profundo);
  box-shadow:0 16px 34px rgba(46,42,36,.16);
}
.contact-info-brand .shield.brand-logo{
  flex:0 0 64px;
  width:64px;
  height:72px;
  padding:4px!important;
  background:transparent!important;
  border-radius:0!important;
}
.contact-info-brand .brand-logo img{
  filter:none;
}
.contact-info-brand small,
.contact-info-brand strong,
.contact-info-brand em{
  color:var(--crema-calido)!important;
}
.contact-info-brand small{
  font-size:9px;
}
.contact-info-brand strong{
  font-size:23px;
}
.contact-info-brand em{
  color:var(--beige-piedra)!important;
}
.contact-person{
  display:grid;
  gap:7px;
  margin:0 0 22px;
  text-align:center;
}
.contact-person strong{
  color:var(--texto-principal);
  font-size:19px;
}
.contact-person span{
  color:var(--texto-secundario);
  font-weight:700;
}
.contact-info-list{
  display:grid;
  gap:14px;
}
.contact-info-item{
  display:grid;
  grid-template-columns:50px 1fr;
  gap:14px;
  align-items:center;
  min-height:62px;
  padding:12px 0;
  border-top:1px solid rgba(228,216,200,.72);
  color:var(--texto-principal);
  text-decoration:none;
  font-weight:750;
  line-height:1.45;
}
.contact-info-item:hover{
  color:var(--verde-oliva);
}
.contact-info-item.contact-address:hover{
  color:var(--texto-principal);
}
.contact-phone-links{
  display:grid;
  gap:7px;
}
.contact-hours-copy{
  display:grid;
  gap:3px;
}
.contact-hours-copy strong{
  color:var(--texto-principal);
  font-size:15px;
}
.contact-hours-copy > span{
  color:var(--texto-principal);
  font-weight:800;
}
.contact-hours-copy small{
  color:var(--texto-secundario);
  font-size:13px;
  font-weight:700;
}
.contact-phone-links a{
  width:max-content;
  color:var(--texto-principal)!important;
  text-decoration:none;
  font-weight:800;
  transition:color .18s ease;
}
.contact-phone-links a:hover,
.contact-phone-links a:focus-visible{
  color:var(--texto-principal)!important;
}
.contact-info-icon{
  width:50px;
  height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--verde-profundo);
  color:var(--texto-sobre-oscuro);
  box-shadow:0 12px 24px rgba(46,42,36,.14);
}
.contact-info-icon svg{
  width:23px;
  height:23px;
}
.contact-social-panel{
  padding:30px 32px 32px;
  color:var(--texto-principal);
}
.contact-social-links{
  display:grid;
  gap:12px;
}
.contact-social-links > a{
  display:grid;
  grid-template-columns:50px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:13px 14px;
  border:1px solid rgba(228,216,200,.7);
  border-radius:15px;
  background:rgba(255,253,248,.16);
  color:var(--texto-principal);
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.contact-social-links > a:hover,
.contact-social-links > a:focus-visible{
  border-color:rgba(199,178,153,.8);
  background:rgba(255,253,248,.3);
  transform:translateY(-1px);
}
.contact-social-icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--verde-profundo);
  color:var(--crema-calido);
}
.contact-social-icon svg{
  width:25px;
  height:25px;
}
.contact-social-links strong,
.contact-social-links small{
  display:block;
}
.contact-social-links strong{
  margin-bottom:3px;
  font-size:16px;
}
.contact-social-links small{
  overflow-wrap:anywhere;
  color:var(--texto-secundario);
  font-size:12px;
  line-height:1.35;
}
@media(max-width:980px){
  .contact-hero{
    padding:84px 18px;
  }
  .contact-shell{
    grid-template-columns:1fr;
    max-width:760px;
  }
}
@media(max-width:820px){
  .contact-page{
    min-height:auto;
  }
  .contact-hero{
    min-height:auto;
    padding:42px 14px calc(112px + env(safe-area-inset-bottom,0px));
    background-position:center top;
  }
  .contact-hero::before{
    background:
      linear-gradient(180deg,rgba(247,241,232,.88) 0%,rgba(247,241,232,.74) 52%,rgba(168,139,107,.28) 100%),
      rgba(46,42,36,.08);
  }
  .contact-form-panel,
.contact-info-panel,
.contact-social-panel{
    padding:28px 18px;
    border-radius:18px;
  }
  .contact-form-panel h1{
    font-size:40px;
  }
  .contact-intro{
    font-size:15px;
    line-height:1.62;
  }
  .contact-form-row{
    grid-template-columns:1fr;
    gap:16px;
  }
  .contact-submit{
    width:100%;
  }
  .contact-info-brand{
    padding:15px 13px;
    margin-bottom:18px;
  }
  .contact-info-brand .shield.brand-logo{
    flex-basis:52px;
    width:52px;
    height:60px;
  }
  .contact-info-brand strong{
    font-size:19px;
  }
  .contact-info-item{
    grid-template-columns:44px 1fr;
    gap:12px;
  }
  .contact-info-icon{
    width:44px;
    height:44px;
  }
  .contact-social-links > a{
    grid-template-columns:44px minmax(0,1fr);
    padding:12px;
  }
  .contact-social-icon{
    width:44px;
    height:44px;
  }
}

/* Footer cream tone correction. Color-only; structure and sizing untouched. */
html body .footer{
  background:linear-gradient(180deg,#EFE4D7 0%,#E9DCCC 100%)!important;
  color:var(--texto-principal)!important;
}

html body .mobile-bottom-nav{
  background:linear-gradient(180deg,#F3EADF 0%,#EFE4D6 100%)!important;
  color:var(--texto-principal)!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

html body .footer .brand,
html body .footer .footer-brand small,
html body .footer .footer-brand strong,
html body .footer .footer-brand em,
html body .footer .footer-description,
html body .footer .footer-column h4,
html body .footer .footer-contact-item,
html body .footer .footer-contact-item strong,
html body .footer .footer-quick-links a,
html body .footer .footer-bottom-redesign span,
html body .footer p,
html body .footer small,
html body .footer a{
  color:var(--texto-principal)!important;
}

html body .footer .footer-contact-item small{
  color:var(--texto-secundario)!important;
}

html body .footer .footer-mini-line,
html body .footer .footer-title-line,
html body .footer .footer-bottom-redesign{
  border-color:rgba(168,139,107,.25)!important;
}

html body .footer .footer-mini-line,
html body .footer .footer-title-line,
html body .footer h4::after,
html body .footer-title::after,
html body .footer-brand-copy::after,
html body .footer-bottom::before{
  background:rgba(168,139,107,.32)!important;
}

html body .footer .footer-contact-icon,
html body .footer .footer-quick-links a span,
html body .footer .footer-contact-icon svg,
html body .footer .footer-contact-icon svg path{
  color:var(--verde-oliva)!important;
  border-color:var(--verde-oliva)!important;
  stroke:currentColor!important;
}

html body .footer .footer-social a,
html body .footer .footer-socials a,
html body .footer .footer-socials span,
html body .footer .socials span{
  background:var(--verde-oliva)!important;
  border-color:var(--verde-oliva)!important;
  color:var(--marfil)!important;
}

html body .footer .footer-social a:hover,
html body .footer .footer-social a:focus-visible,
html body .footer .footer-socials a:hover,
html body .footer .footer-socials a:focus-visible,
html body .footer .footer-socials span:hover,
html body .footer .socials span:hover{
  background:#8F7356!important;
  border-color:#8F7356!important;
  color:var(--marfil)!important;
}

html body .footer a:hover,
html body .footer a:focus-visible{
  color:var(--verde-oliva)!important;
}

/* Single property WhatsApp adopts the hero glass color treatment. */
html body .single-property-summary .single-action.primary{
  background:rgba(255,253,248,.60)!important;
  border:1px solid rgba(168,139,107,.38)!important;
  box-shadow:0 16px 34px rgba(46,42,36,.18)!important;
  color:#8F7356!important;
}

@supports ((backdrop-filter:blur(18px)) or (-webkit-backdrop-filter:blur(18px))){
  html body .single-property-summary .single-action.primary{
    -webkit-backdrop-filter:blur(18px) saturate(126%)!important;
    backdrop-filter:blur(18px) saturate(126%)!important;
  }
}

html body .single-property-summary .single-action.primary:hover,
html body .single-property-summary .single-action.primary:focus-visible{
  background:rgba(243,234,223,.85)!important;
  border-color:rgba(168,139,107,.55)!important;
  color:#8F7356!important;
}

html body .mobile-bottom-nav *,
html body .mobile-bottom-nav a,
html body .mobile-bottom-nav button{
  color:var(--texto-secundario)!important;
}

html body .mobile-bottom-nav .ico2{
  color:var(--verde-oliva)!important;
}

html body .mobile-bottom-nav .mobile-whatsapp-icon{
  align-items:center;
  display:flex;
  height:20px;
  justify-content:center;
  width:20px;
}

html body .mobile-bottom-nav .mobile-whatsapp-icon svg{
  display:block;
  fill:currentColor;
  height:20px;
  width:20px;
}

html body .mobile-bottom-nav a.active,
html body .mobile-bottom-nav button.active,
html body .mobile-bottom-nav a.active .ico2,
html body .mobile-bottom-nav button.active .ico2{
  color:#8F7356!important;
}

@media(max-width:820px){
  html body nav#mobileBottomNav.mobile-bottom-nav,
html body.home nav#mobileBottomNav.mobile-bottom-nav,
html body nav#mobileBottomNav.mobile-bottom-nav:hover,
html body.home nav#mobileBottomNav.mobile-bottom-nav:hover,
html body nav#mobileBottomNav.mobile-bottom-nav:focus-within,
html body.home nav#mobileBottomNav.mobile-bottom-nav:focus-within{
    background:linear-gradient(180deg,rgba(255,253,248,.98),rgba(247,241,232,.98))!important;
    border-top-color:rgba(168,139,107,.22)!important;
    box-shadow:0 -8px 22px rgba(46,42,36,.10)!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  html body nav#mobileBottomNav.mobile-bottom-nav a,
html body nav#mobileBottomNav.mobile-bottom-nav button,
html body.home nav#mobileBottomNav.mobile-bottom-nav a,
html body.home nav#mobileBottomNav.mobile-bottom-nav button{
    align-items:center!important;
    background:transparent!important;
    color:var(--texto-secundario)!important;
    justify-content:center!important;
    min-width:0!important;
    width:100%!important;
  }

  html body nav#mobileBottomNav.mobile-bottom-nav a.active,
html body nav#mobileBottomNav.mobile-bottom-nav button.active,
html body.home nav#mobileBottomNav.mobile-bottom-nav a.active,
html body.home nav#mobileBottomNav.mobile-bottom-nav button.active{
    color:#8F7356!important;
  }
}

/* Global typography refinement. Type-only; layout,
colors and behavior untouched. */
html body,
html body div,
html body p,
html body a,
html body li,
html body span,
html body small,
html body strong,
html body em,
html body label,
html body button,
html body input,
html body select,
html body textarea,
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .topbar nav#nav a,
html body .phone,
html body .home-btn,
html body .btn,
html body .control,
html body .label,
html body .filters,
html body .property,
html body .property h3,
html body .property-feature,
html body .features,
html body .price,
html body .single-property-price,
html body .single-property-hero-price,
html body .single-detail-item,
html body .single-quick-facts,
html body .badge,
html body .page,
html body .next,
html body .footer,
html body .footer h4,
html body .footer a,
html body .footer p,
html body .footer small,
html body .mobile-bottom-nav{
  font-family:var(--font-body)!important;
}

html body{
  font-size:16px;
  line-height:1.65;
  font-weight:400;
}

html body li,
html body label,
html body small,
html body input,
html body select,
html body textarea{
  font-weight:400;
}

html body p{
  font-family:var(--font-body)!important;
  font-size:16px;
  line-height:1.7;
  font-weight:400;
}

html body h1,
html body h2,
html body .hero-title,
html body .home-copy h1,
html body .section-title,
html body .section-title h2,
html body .home-section-title,
html body .why-title,
html body .about-title,
html body .trust-title,
html body .advisors-dynamic h2,
html body .fortaleza-nosotros h2,
html body .fortaleza-nosotros-story h2,
html body .single-property-summary h1,
html body .single-property-section h2,
html body .single-description-block h2,
html body .single-related h2,
html body .modal-content h2{
  font-family:var(--font-heading)!important;
  font-weight:600;
  letter-spacing:-.02em;
}

html body h1 span,
html body h2 span,
html body .section-title span,
html body .section-title strong,
html body .section-heading span,
html body .home-section-title span,
html body .home-section-title strong,
html body .why-title span,
html body .about-title span,
html body .trust-title span,
html body .highlight,
html body .title-accent,
html body .text-accent,
html body .fortaleza-nosotros h2 span{
  font-family:var(--font-heading)!important;
}

html body h1,
html body .home-copy h1,
html body .single-property-summary h1,
html body .fortaleza-nosotros h2{
  line-height:.95;
}

html body .home-copy h1{
  font-weight:600!important;
}

html body .brand small,
html body .brand strong,
html body .brand em{
  font-family:var(--font-heading)!important;
}

html body .property h3,
html body .property-card h3,
html body .blog-card h3,
html body .advisor-card strong,
html body .category-card strong,
html body .mini-benefit strong,
html body .benefit strong,
html body .single-detail-item strong,
html body .single-quick-facts strong,
html body .single-additional-features strong{
  font-family:var(--font-body)!important;
  font-weight:700;
  letter-spacing:0;
  line-height:1.25;
}

html body .price,
html body .single-property-price,
html body .single-property-hero-price,
html body .property-feature b,
html body .single-fact-value,
html body .single-detail-item strong{
  font-family:var(--font-body)!important;
  font-weight:700!important;
}

html body .topbar nav#nav a,
html body header.topbar nav#nav a,
html body header.topbar .header-nav-row nav#nav a,
html body header.topbar .phone,
html body .home-btn,
html body .btn,
html body button,
html body .badge,
html body .page,
html body .next,
html body .footer-column h4,
html body .footer-contact-item strong,
html body .footer-quick-links a{
  font-family:var(--font-body)!important;
  font-weight:700;
  letter-spacing:0;
}

html body .sort select,
html body .filters select,
html body .filters input,
html body .searchbar input,
html body input,
html body select,
html body textarea,
html body input::placeholder,
html body textarea::placeholder{
  font-family:var(--font-body)!important;
  font-weight:500;
}

html body .home-copy p,
html body .filters h2,
html body .blog-card-title,
html body .blog-card-meta,
html body .blog-category,
html body .blog-card-excerpt,
html body .blog-read-more,
html body .property-blog-heading,
html body .property-blog-copy h4,
html body .property-blog-copy,
html body .property-blog-more,
html body .contact-kicker,
html body .contact-info-label,
html body .contact-intro,
html body .contact-alert,
html body .contact-field,
html body .contact-field input,
html body .contact-field textarea,
html body .contact-submit,
html body .contact-info-list,
html body .contact-social-links,
html body .single-property-summary .loc,
html body .single-summary-description,
html body .single-quick-facts,
html body .single-detail-item,
html body .single-additional-features,
html body .single-feature-list,
html body .single-property-actions,
html body .single-property-stats,
html body .breadcrumb,
html body .footer{
  font-family:var(--font-body)!important;
}

html body small,
html body .meta,
html body .card-meta,
html body .property-meta,
html body .blog-card-meta{
  font-family:var(--font-body)!important;
  font-size:14px;
  line-height:1.5;
  font-weight:500;
}

html body .label,
html body label,
html body .property-detail-label,
html body .detail-label,
html body .info-label,
html body .form-label,
html body .contact-kicker,
html body .contact-info-label,
html body .single-detail-item span,
html body .single-quick-facts span:not(.single-fact-icon),
html body .single-property-stats span,
html body .blog-category,
html body .blog-featured-label{
  font-family:var(--font-body)!important;
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:700!important;
  letter-spacing:.04em;
}

html body .property-detail-value,
html body .detail-value,
html body .info-value,
html body .property-price,
html body .stat-number{
  font-family:var(--font-body)!important;
  font-size:16px;
  line-height:1.45;
  font-weight:700!important;
}

html body button,
html body .btn,
html body .home-btn,
html body .single-action,
html body .contact-submit,
html body .page,
html body .next{
  font-family:var(--font-body)!important;
  font-weight:700!important;
  letter-spacing:.01em;
}

html body .footer,
html body .site-footer,
html body .footer p,
html body .footer a,
html body .footer li,
html body .site-footer p,
html body .site-footer a,
html body .site-footer li,
html body .footer-contact-item > span:not(.footer-contact-icon),
html body .footer-bottom span{
  font-family:var(--font-body)!important;
  font-size:14px!important;
  line-height:1.55!important;
}

@media(max-width:820px){
  html body .home-copy h1,
html body .single-property-summary h1,
html body h1{
    line-height:.98;
  }
}

/* Single property thumbnails must keep their image over global card backgrounds. */
html body .single-property-gallery .single-gallery-item{
  background-color:var(--marfil)!important;
  background-image:var(--single-gallery-thumb)!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}

/* Home hero CTA refinement. Scoped to the hero buttons only. */
html body .home-hero .home-eyebrow{
  display:none!important;
}

html body .home-hero .home-actions{
  gap:18px!important;
}

html body .home-hero .home-btn,
html body .home-hero .home-btn.secondary{
  align-items:center!important;
  background:var(--verde-oliva)!important;
  border:1px solid rgba(168,139,107,.35)!important;
  box-shadow:0 16px 34px rgba(46,42,36,.18)!important;
  color:var(--marfil)!important;
  justify-content:center!important;
}

@supports ((backdrop-filter:blur(18px)) or (-webkit-backdrop-filter:blur(18px))){
  html body .home-hero .home-btn.secondary{
    -webkit-backdrop-filter:blur(18px) saturate(126%)!important;
    backdrop-filter:blur(18px) saturate(126%)!important;
    background:rgba(255,253,248,.60)!important;
  }
}

html body .home-hero .home-btn.secondary{
  background:rgba(255,253,248,.60)!important;
  border-color:rgba(168,139,107,.38)!important;
  color:#8F7356!important;
}

html body .home-hero .home-btn:hover,
html body .home-hero .home-btn:focus-visible,
html body .home-hero .home-btn:focus-visible{
  background:#8F7356!important;
  border-color:#8F7356!important;
  color:var(--marfil)!important;
}

html body .home-hero .home-btn.secondary:hover,
html body .home-hero .home-btn.secondary:focus-visible{
  background:rgba(243,234,223,.85)!important;
  border-color:rgba(168,139,107,.55)!important;
  color:#8F7356!important;
}

html body .home-hero .home-copy h1{
  color:var(--texto-principal)!important;
  text-shadow:none!important;
}

html body .home-hero .home-copy p{
  color:var(--texto-secundario)!important;
}

html body .home-hero .home-copy h1::after,
html body .home-hero .home-title-line{
  background:var(--verde-oliva)!important;
  border-color:var(--verde-oliva)!important;
}

html body .home-hero #homeSeeProperties{
  font-size:17px!important;
  gap:10px!important;
  min-width:225px!important;
  padding-left:30px!important;
  padding-right:30px!important;
}

html body .home-hero #homeSeeProperties .home-btn-icon{
  display:none!important;
}

/* Home hero blog badge */
html body .home-hero .hero-blog-badge{
  align-items:center;
  border-radius:50%;
  color:#8F7356;
  display:grid;
  height:clamp(172px,14vw,226px);
  justify-items:center;
  place-items:center;
  position:absolute;
  right:clamp(58px,8vw,138px);
  text-decoration:none;
  top:47%;
  transform:translateY(-50%);
  width:clamp(172px,14vw,226px);
  z-index:3;
}

html body .home-hero .hero-blog-badge__outer{
  animation:fortalezaBlogBadgeSpin 28s linear infinite;
  background:rgba(255,253,248,.38);
  border:1px solid rgba(168,139,107,.42);
  border-radius:50%;
  box-shadow:0 24px 70px rgba(46,42,36,.18);
  display:block;
  inset:0;
  overflow:hidden;
  position:absolute;
}

@supports ((backdrop-filter:blur(14px)) or (-webkit-backdrop-filter:blur(14px))){
  html body .home-hero .hero-blog-badge__outer{
    -webkit-backdrop-filter:blur(14px) saturate(120%);
    backdrop-filter:blur(14px) saturate(120%);
  }
}

html body .home-hero .hero-blog-badge__outer::before{
  border:14px solid rgba(255,253,248,.34);
  border-radius:50%;
  content:"";
  inset:17%;
  position:absolute;
}

html body .home-hero .hero-blog-badge__ring{
  display:block;
  height:100%;
  overflow:visible;
  width:100%;
}

html body .home-hero .hero-blog-badge__ring text{
  fill:rgba(255,253,248,.94);
  font-family:"Manrope",Arial,sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
}

html body .home-hero .hero-blog-badge__inner{
  background:rgba(255,253,248,.82);
  border:1px solid rgba(168,139,107,.36);
  border-radius:50%;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.44);
  display:grid;
  grid-template-rows:auto auto auto;
  height:60%;
  justify-items:center;
  place-content:center;
  padding:16px;
  position:relative;
  text-align:center;
  width:60%;
  z-index:1;
}

html body .home-hero .hero-blog-badge__icon{
  color:#B08E6A;
  display:grid;
  height:22px;
  margin-bottom:6px;
  place-items:center;
  width:22px;
}

html body .home-hero .hero-blog-badge__icon svg{
  fill:none;
  height:100%;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.7;
  width:100%;
}

html body .home-hero .hero-blog-badge__text{
  color:var(--texto-principal);
  display:block;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(22px,1.72vw,29px);
  font-weight:600;
  line-height:.9;
  max-width:100%;
  overflow-wrap:normal;
  white-space:normal;
}

html body .home-hero .hero-blog-badge__text::after{
  background:#B08E6A;
  border-radius:999px;
  content:"";
  display:block;
  height:3px;
  margin:10px auto 0;
  width:30px;
}

html body .home-hero .hero-blog-badge:hover .hero-blog-badge__outer,
html body .home-hero .hero-blog-badge:focus-visible .hero-blog-badge__outer{
  animation-duration:18s;
  background:rgba(255,253,248,.46);
}

html body .home-hero .hero-blog-badge:focus-visible{
  outline:3px solid rgba(255,253,248,.88);
  outline-offset:6px;
}

@keyframes fortalezaBlogBadgeSpin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}

@media (prefers-reduced-motion:reduce){
  html body .home-hero .hero-blog-badge__outer{
    animation:none;
  }
}

@media(max-width:1200px){
  html body .home-hero .hero-blog-badge{
    right:clamp(24px,4vw,52px);
    top:50%;
    transform:translateY(-50%) scale(.84);
    transform-origin:center right;
  }
}

@media(max-width:900px){
  html body .home-hero .hero-blog-badge{
    display:none;
  }
}

/* Hero floating search glass treatment. Scoped only to the home hero search bar. */
html body .home-search{
  background:rgba(255,253,248,.82)!important;
  border:1px solid rgba(168,139,107,.22)!important;
  border-radius:10px!important;
  box-shadow:0 18px 45px rgba(46,42,36,.10)!important;
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr 1fr 140px!important;
  margin:-58px auto 26px!important;
  max-width:1180px!important;
  overflow:hidden!important;
  position:relative!important;
  z-index:3!important;
}

@supports ((backdrop-filter:blur(20px)) or (-webkit-backdrop-filter:blur(20px))){
  html body .home-search{
    -webkit-backdrop-filter:blur(24px) saturate(132%)!important;
    backdrop-filter:blur(24px) saturate(132%)!important;
    background:rgba(255,253,248,.72)!important;
  }
}

html body .home-search .home-field{
  align-items:center!important;
  background:rgba(255,253,248,.10)!important;
  border-color:rgba(168,139,107,.18)!important;
  border-right:1px solid rgba(168,139,107,.18)!important;
  cursor:pointer!important;
  display:flex!important;
  gap:14px!important;
  min-height:78px!important;
  min-width:0!important;
  padding:18px 26px!important;
}

html body .home-search .home-field > div{
  flex:1 1 auto!important;
  min-width:0!important;
  position:relative!important;
}

html body .home-search .home-field:focus-within{
  background:rgba(255,253,248,.34)!important;
}

html body .home-search .home-field > div::after{
  border-bottom:2px solid currentColor!important;
  border-right:2px solid currentColor!important;
  color:var(--verde-oliva)!important;
  content:""!important;
  height:7px!important;
  pointer-events:none!important;
  position:absolute!important;
  right:2px!important;
  top:50%!important;
  transform:translateY(-62%) rotate(45deg)!important;
  width:7px!important;
}

html body .home-search .home-field .icon,
html body .home-search .home-search-icon,
html body .home-search .home-location-icon{
  color:var(--verde-oliva)!important;
  display:inline-grid!important;
  flex:0 0 24px!important;
  height:24px!important;
  place-items:center!important;
  width:24px!important;
}

html body .home-search .home-field .icon svg,
html body .home-search .home-search-icon svg,
html body .home-search .home-location-icon svg{
  display:block!important;
  fill:none!important;
  height:22px!important;
  stroke:currentColor!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  stroke-width:2!important;
  width:22px!important;
}

html body .home-search .home-field label{
  color:var(--texto-principal)!important;
  display:block!important;
  font-size:13px!important;
  font-weight:800!important;
  margin-bottom:5px!important;
}

html body .home-search .home-field select{
  -moz-appearance:none!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  background:transparent!important;
  border:0!important;
  box-sizing:border-box!important;
  color:var(--texto-secundario)!important;
  cursor:pointer!important;
  display:block!important;
  font-family:var(--font-body)!important;
  font-size:16px!important;
  font-weight:500!important;
  line-height:1.2!important;
  max-width:100%!important;
  min-height:22px!important;
  min-width:0!important;
  outline:0!important;
  overflow:visible!important;
  padding-right:26px!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  width:100%!important;
}

html body .home-search #homeCurrencyCode{
  color:#8F7356!important;
  flex:0 0 58px!important;
  font-size:26px!important;
  font-weight:700!important;
  height:auto!important;
  letter-spacing:0!important;
  line-height:1!important;
  width:58px!important;
}

html body .home-search button#homeSearchBtn{
  align-items:center!important;
  background:var(--verde-oliva)!important;
  border:1px solid var(--verde-oliva)!important;
  border-radius:8px!important;
  color:var(--marfil)!important;
  display:inline-flex!important;
  font-size:18px!important;
  font-weight:700!important;
  gap:5px!important;
  justify-content:center!important;
  margin:10px!important;
}

html body .home-search button#homeSearchBtn:hover,
html body .home-search button#homeSearchBtn:focus-visible{
  background:#8F7356!important;
  border-color:#8F7356!important;
  color:var(--marfil)!important;
}

html body .home-search button#homeSearchBtn::before{
  background:url("../images/icon-search-white.png") center/contain no-repeat!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  content:""!important;
  display:inline-block!important;
  flex:0 0 22px!important;
  height:22px!important;
  transform:none!important;
  width:22px!important;
}

@media(max-width:1200px){
  html body .home-search{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  html body .home-search button#homeSearchBtn{
    grid-column:1/-1!important;
    height:54px!important;
  }
}

@media(max-width:820px){
  html body .home-search{
    background:rgba(255,253,248,.86)!important;
    border-radius:14px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    margin:-40px 16px 18px!important;
    max-width:none!important;
    width:auto!important;
  }

  @supports ((backdrop-filter:blur(20px)) or (-webkit-backdrop-filter:blur(20px))){
    html body .home-search{
      background:rgba(255,253,248,.72)!important;
    }
  }

  html body .home-search .home-field{
    border-bottom:1px solid rgba(168,139,107,.18)!important;
    gap:8px!important;
    min-height:62px!important;
    padding:11px 10px!important;
  }

  html body .home-search .home-field:nth-child(2n){
    border-right:0!important;
  }

  html body .home-search .home-field .icon,
html body .home-search .home-search-icon,
html body .home-search .home-location-icon{
    flex-basis:18px!important;
    height:18px!important;
    width:18px!important;
  }

  html body .home-search .home-field .icon svg,
html body .home-search .home-search-icon svg,
html body .home-search .home-location-icon svg{
    height:17px!important;
    width:17px!important;
  }

  html body .home-search .home-field label{
    font-size:10px!important;
    margin-bottom:3px!important;
  }

  html body .home-search .home-field select{
    font-size:11.5px!important;
    padding-right:22px!important;
  }

  html body .home-search #homeCurrencyCode{
    flex-basis:32px!important;
    font-size:20px!important;
    width:32px!important;
  }

  html body .home-search button#homeSearchBtn{
    font-size:14px!important;
    gap:5px!important;
    height:42px!important;
  }

  html body .home-search button#homeSearchBtn::before{
    flex-basis:18px!important;
    height:18px!important;
    width:18px!important;
  }
}

@media(max-width:430px){
  html body .home-search{
    margin-left:12px!important;
    margin-right:12px!important;
  }
}

/* Canonical header layer: desktop layout,
mobile safety,
colors and collapse behavior. */
html body header.topbar,
html body header.topbar:hover,
html body header.topbar:focus-within{
  align-items:stretch!important;
  background:linear-gradient(180deg,rgba(244,232,203,.98),rgba(255,247,226,.95))!important;
  color:var(--texto-principal)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  height:auto!important;
  justify-content:flex-start!important;
  max-height:none!important;
  min-height:0!important;
  overflow-anchor:none!important;
  overflow:visible!important;
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
}

html body header.topbar .brand,
html body header.topbar .header-logo-centered small,
html body header.topbar .header-logo-centered strong,
html body header.topbar .header-logo-centered em,
html body header.topbar nav#nav a,
html body header.topbar nav#nav a.active,
html body header.topbar .phone,
html body header.topbar .wa{
  color:var(--texto-principal)!important;
}

html body header.topbar .wa,
html body header.topbar .wa svg,
html body header.topbar .wa svg path{
  color:var(--verde-oliva)!important;
  fill:currentColor!important;
  stroke:currentColor!important;
}

html body header.topbar nav#nav a:hover,
html body header.topbar nav#nav a:focus-visible{
  color:#8F7356!important;
}

html body header.topbar nav#nav a.active{
  color:var(--verde-oliva)!important;
}

html body header.topbar nav#nav a.active::after{
  background:var(--verde-oliva)!important;
}

@media(min-width:821px){
  html body header.topbar{
    overflow:hidden!important;
    padding:0 56px!important;
  }

  html body header.topbar .header-logo-row,
html body header.topbar .header-divider,
html body header.topbar .header-nav-row{
    overflow-anchor:none!important;
    position:relative!important;
    transform:none!important;
  }

  html body header.topbar .header-logo-row{
    align-items:center!important;
    display:grid!important;
    grid-template-columns:1fr auto 1fr!important;
    height:116px!important;
    max-height:116px!important;
    min-height:0!important;
    opacity:1!important;
    overflow:hidden!important;
    padding:26px 0 18px!important;
    pointer-events:auto!important;
    transition:none!important;
    visibility:visible!important;
    will-change:auto!important;
    width:100%!important;
  }

  html body header.topbar .header-logo-spacer{
    display:block!important;
    min-width:1px!important;
  }

  html body header.topbar .header-logo-centered{
    gap:16px!important;
    grid-column:2!important;
    justify-self:center!important;
    min-width:0!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
    transition:none!important;
    visibility:visible!important;
    will-change:auto!important;
  }

  html body header.topbar .header-logo-centered small{
    font-size:12px!important;
    letter-spacing:3.4px!important;
    line-height:1!important;
  }

  html body header.topbar .header-logo-centered strong{
    font-size:34px!important;
    font-weight:700!important;
    letter-spacing:1.8px!important;
    line-height:.92!important;
  }

  html body header.topbar .header-logo-centered em{
    font-size:8px!important;
    font-weight:700!important;
    letter-spacing:4.8px!important;
    -webkit-text-stroke:.18px currentColor;
    text-shadow:0 0 .01px currentColor;
  }

  html body header.topbar .shield.brand-logo{
    flex-basis:72px!important;
    height:72px!important;
    opacity:.96!important;
    transform:translateY(-2px)!important;
    width:72px!important;
  }

  html body header.topbar .header-divider{
    background:transparent!important;
    border:0!important;
    height:24px!important;
    max-height:24px!important;
    min-height:0!important;
    opacity:1!important;
    overflow:hidden!important;
    pointer-events:none!important;
    position:relative!important;
    transition:none!important;
    visibility:visible!important;
    will-change:auto!important;
  }

  html body header.topbar .header-divider::before{
    background:rgba(168,139,107,.28)!important;
    content:"";
    height:1px!important;
    left:0;
    position:absolute;
    right:0;
    top:50%;
  }

  html body header.topbar .header-divider-mark{
    background:
      url("../images/fortaleza-castillo-topo.png") center/contain no-repeat,
      linear-gradient(180deg,rgba(244,232,203,.98),rgba(255,247,226,.95))!important;
    display:block!important;
    height:20px!important;
    left:50%;
    opacity:1!important;
    pointer-events:none!important;
    position:absolute;
    top:50%;
    transform:translate(-50%,-50%);
    transition:none!important;
    visibility:visible!important;
    width:34px!important;
    will-change:auto!important;
    z-index:1;
  }

  html body header.topbar .header-nav-row{
    align-items:center!important;
    display:flex!important;
    justify-content:center!important;
    min-height:0!important;
    padding:14px 0 20px!important;
    position:relative!important;
    transition:none!important;
    width:100%!important;
    will-change:auto!important;
    z-index:2!important;
  }

  html body header.topbar nav#nav{
    flex:0 1 auto!important;
    gap:42px!important;
    height:42px!important;
    justify-content:center!important;
  }

  html body header.topbar nav#nav a{
    font-family:var(--font-body)!important;
    font-size:18px!important;
    font-weight:500!important;
    height:42px!important;
    letter-spacing:0!important;
    opacity:.94!important;
  }

  html body header.topbar nav#nav a.active::after{
    bottom:5px!important;
    height:4px!important;
  }

  html body header.topbar nav#nav .header-contact-cta{
    align-items:center!important;
    background:var(--verde-oliva)!important;
    border:1px solid rgba(168,139,107,.35)!important;
    border-radius:9px!important;
    bottom:auto!important;
    box-shadow:0 10px 24px rgba(46,42,36,.14)!important;
    color:var(--marfil)!important;
    display:inline-flex!important;
    font-size:16px!important;
    font-weight:700!important;
    height:42px!important;
    justify-content:center!important;
    min-width:132px!important;
    padding:0 24px!important;
    position:absolute!important;
    right:0!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
  }

  html body header.topbar nav#nav .header-contact-cta:hover,
html body header.topbar nav#nav .header-contact-cta:focus-visible{
    background:#8F7356!important;
    border-color:#8F7356!important;
    box-shadow:0 13px 28px rgba(46,42,36,.20)!important;
    color:var(--marfil)!important;
    transform:translateY(calc(-50% - 1px))!important;
  }

  html body header.topbar nav#nav .header-contact-cta.active{
    background:var(--verde-oliva)!important;
    color:var(--marfil)!important;
  }

  html body header.topbar nav#nav .header-contact-cta::after{
    content:none!important;
    display:none!important;
  }

  html body header.topbar .phone{
    font-family:var(--font-body)!important;
    font-size:22px!important;
    font-weight:700!important;
    gap:14px!important;
    position:absolute!important;
    right:0!important;
    top:50%!important;
    transform:translateY(-50%)!important;
  }

  html body header.topbar .header-logo-row .menu-toggle{
    grid-column:3!important;
    justify-self:end!important;
  }

  html body header.topbar .phone .wa{
    height:31px!important;
    width:31px!important;
  }

  html body header.topbar .phone .wa svg{
    height:21px!important;
    width:21px!important;
  }

  html body header.topbar.is-compact .header-logo-row{
    height:0!important;
    margin:0!important;
    max-height:0!important;
    min-height:0!important;
    opacity:0!important;
    padding:0!important;
    pointer-events:none!important;
    visibility:visible!important;
  }

  html body header.topbar.is-compact .header-logo-centered,
html body header.topbar.is-compact .header-divider-mark{
    opacity:0!important;
    pointer-events:none!important;
    visibility:visible!important;
  }

  html body header.topbar.is-compact .header-divider{
    height:0!important;
    max-height:0!important;
    min-height:0!important;
    opacity:0!important;
    pointer-events:none!important;
    visibility:visible!important;
  }

  html body header.topbar.is-compact .header-nav-row{
    padding:12px 0!important;
  }

  html body header.topbar.header-collapse-ready .header-logo-row{
    transition:
      height .18s ease,
      max-height .18s ease,
      padding .18s ease,
      opacity .14s ease!important;
    will-change:height,max-height,padding,opacity!important;
  }

  html body header.topbar.header-collapse-ready .header-logo-centered,
html body header.topbar.header-collapse-ready .header-divider-mark{
    transition:opacity .12s ease!important;
    will-change:opacity!important;
  }

  html body header.topbar.header-collapse-ready .header-divider{
    transition:
      height .16s ease,
      max-height .16s ease,
      opacity .12s ease!important;
    will-change:height,max-height,opacity!important;
  }

  html body header.topbar.header-collapse-ready .header-nav-row{
    transition:padding .18s ease!important;
    will-change:padding!important;
  }
}

@media(max-width:820px){
  html{
    --fortaleza-mobile-topbar-height:82px;
  }

  html body header.topbar,
html body header.topbar:hover,
html body header.topbar:focus-within{
    align-items:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    height:82px!important;
    max-height:82px!important;
    min-height:82px!important;
    overflow:visible!important;
    padding:0 14px!important;
  }

  html body header.topbar .header-logo-row{
    align-items:center!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,auto) 42px!important;
    min-height:82px!important;
    padding:0!important;
    width:100%!important;
  }

  html body header.topbar .header-logo-centered{
    gap:8px!important;
    justify-self:center!important;
    max-width:calc(100vw - 112px)!important;
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
    will-change:auto!important;
  }

  html body header.topbar .header-logo-centered > div:last-child{
    min-width:0!important;
    overflow:hidden!important;
  }

  html body header.topbar .header-logo-centered strong,
html body header.topbar .header-logo-centered small,
html body header.topbar .header-logo-centered em{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  html body header.topbar .header-divider,
html body header.topbar .header-nav-row .phone{
    display:none!important;
  }

  html body header.topbar .header-nav-row{
    height:0!important;
    min-height:0!important;
    padding:0!important;
  }

  html body header.topbar nav#nav{
    background:linear-gradient(180deg,#F4E8CB 0%,#FFF7E2 100%)!important;
    height:100dvh!important;
  }

  html body header.topbar nav#nav a{
    color:var(--texto-principal)!important;
    border-bottom-color:rgba(168,139,107,.18)!important;
    height:auto!important;
  }

  html body header.topbar nav#nav .header-contact-cta{
    align-items:center!important;
    background:var(--verde-oliva)!important;
    border:1px solid rgba(168,139,107,.35)!important;
    border-radius:9px!important;
    color:var(--marfil)!important;
    display:flex!important;
    height:46px!important;
    justify-content:center!important;
    margin:18px 28px 0!important;
    padding:0 18px!important;
    position:relative!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    width:calc(100% - 56px)!important;
  }

  html body header.topbar nav#nav .header-contact-cta:hover,
html body header.topbar nav#nav .header-contact-cta:focus-visible{
    background:#8F7356!important;
    color:var(--marfil)!important;
    transform:none!important;
  }

  html body header.topbar nav#nav .header-contact-cta.active{
    background:var(--verde-oliva)!important;
    color:var(--marfil)!important;
    transform:none!important;
  }

  html body header.topbar nav#nav .header-contact-cta::after{
    content:none!important;
    display:none!important;
  }

  html body header.topbar nav#nav a.active:after{
    bottom:8px!important;
  }

  html body header.topbar .menu-toggle{
    background:rgba(255,253,248,.72)!important;
    border-color:rgba(168,139,107,.28)!important;
    color:var(--texto-principal)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html body header.topbar .header-logo-row,
html body header.topbar .header-logo-centered,
html body header.topbar .header-divider,
html body header.topbar .header-divider-mark,
html body header.topbar .header-nav-row{
    transition:none!important;
    will-change:auto!important;
  }
}

/* Mobile menu safety layer: backdrop dims the page,
never the drawer links. */
@media(max-width:820px){
  html body.menu-open #mobileBackdrop.mobile-backdrop{
    display:block!important;
    opacity:1!important;
    pointer-events:auto!important;
    visibility:visible!important;
    z-index:10000!important;
  }

  html body.menu-open header.topbar{
    position:fixed!important;
    z-index:10020!important;
  }

  html body.menu-open header.topbar nav#nav{
    opacity:1!important;
    pointer-events:auto!important;
    right:0!important;
    transform:none!important;
    visibility:visible!important;
    z-index:10030!important;
  }

  html body.menu-open header.topbar nav#nav a{
    opacity:1!important;
    pointer-events:auto!important;
    position:relative!important;
    z-index:1!important;
  }

  html body.menu-open nav#mobileBottomNav.mobile-bottom-nav{
    z-index:9990!important;
  }
}

/* Native WordPress blog */
.blog-page{
  background:var(--crema-calido);
  color:var(--texto-principal);
  min-height:70vh;
}

.blog-shell{
  margin:0 auto;
  max-width:1320px;
  padding-left:32px;
  padding-right:32px;
  width:100%;
}

.blog-hero{
  background:
    linear-gradient(90deg,rgba(28,25,21,.56),rgba(28,25,21,.38)),
    url("../images/blog-hero-spacejoy.jpg") center 58%/cover no-repeat;
  background-attachment:scroll;
  color:#fff;
  padding:72px 0 78px;
  position:sticky;
  top:0;
  z-index:0;
  text-align:center;
}

.blog-hero .blog-shell{
  max-width:900px;
}

.blog-eyebrow,
.blog-section-heading > p{
  color:var(--verde-salvia);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.14em;
  margin:0 0 10px;
  text-transform:uppercase;
}

html body .blog-hero .blog-eyebrow{
  color:#fff!important;
}

html body .blog-hero h1{
  color:#fff!important;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(3rem,6vw,5.1rem);
  font-weight:600;
  line-height:.95;
  margin:0;
}

html body .blog-hero p:last-child{
  color:#fff!important;
  font-size:1.08rem;
  line-height:1.6;
  margin:18px auto 0;
  max-width:680px;
}

.blog-content{
  background:var(--crema-calido);
  padding-bottom:80px;
  padding-top:48px;
  position:relative;
  z-index:1;
}

.blog-content::before{
  background:var(--crema-calido);
  content:"";
  inset:0 50%;
  margin-left:-50vw;
  position:absolute;
  width:100vw;
  z-index:-1;
}

.blog-featured{
  background:var(--marfil);
  border:1px solid var(--beige-piedra);
  border-radius:8px;
  box-shadow:0 14px 34px rgba(46,42,36,.1);
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
  min-height:430px;
  overflow:hidden;
}

.blog-featured-media,
.blog-card-image{
  background:var(--beige-piedra);
  display:block;
  overflow:hidden;
  position:relative;
}

.blog-featured-image,
.blog-featured-media > img,
.blog-card-image > img{
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
  width:100%;
}

.blog-featured:hover .blog-featured-image,
.blog-card:hover .blog-card-image > img{
  transform:scale(1.025);
}

.blog-featured-body{
  align-self:center;
  padding:48px;
}

.blog-card-meta{
  align-items:center;
  color:var(--texto-secundario);
  display:flex;
  flex-wrap:wrap;
  font-size:.82rem;
  gap:10px 14px;
}

.blog-category{
  background:var(--verde-salvia);
  border-radius:999px;
  color:var(--verde-profundo);
  display:inline-flex;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  padding:6px 10px;
  text-transform:uppercase;
}

.blog-featured-label{
  color:var(--verde-oliva);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.1em;
  margin:22px 0 8px;
  text-transform:uppercase;
}

.blog-featured h2{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(2.15rem,4vw,3.7rem);
  line-height:1;
  margin:0 0 18px;
}

.blog-featured h2 a,
.blog-card-title a{
  color:var(--texto-principal);
  text-decoration:none;
}

.blog-card-excerpt{
  color:var(--texto-secundario);
  line-height:1.65;
  margin:0;
}

.blog-read-more{
  align-items:center;
  color:var(--verde-profundo);
  display:inline-flex;
  font-weight:700;
  gap:8px;
  margin-top:24px;
  text-decoration:none;
}

.blog-read-more span{
  transition:transform .2s ease;
}

.blog-read-more:hover span,
.blog-read-more:focus-visible span{
  transform:translateX(4px);
}

.blog-listing{
  margin-top:68px;
}

.blog-section-heading{
  margin-bottom:24px;
}

.blog-section-heading h2{
  color:var(--texto-principal);
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(2.2rem,4vw,3.3rem);
  line-height:1;
  margin:0;
}

.blog-grid{
  display:grid;
  gap:26px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.blog-card{
  background:var(--marfil);
  border:1px solid var(--beige-piedra);
  border-radius:8px;
  box-shadow:0 10px 28px rgba(46,42,36,.08);
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  transition:box-shadow .22s ease,transform .22s ease;
}

.blog-card:hover{
  box-shadow:0 16px 34px rgba(46,42,36,.13);
  transform:translateY(-3px);
}

.blog-card-image{
  aspect-ratio:16/10;
}

.blog-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:24px;
}

.blog-card-title{
  font-family:"Cormorant Garamond",serif;
  font-size:1.75rem;
  line-height:1.06;
  margin:18px 0 12px;
}

.blog-card .blog-read-more{
  margin-top:auto;
  padding-top:22px;
}

.blog-image-placeholder{
  align-items:center;
  background:
    linear-gradient(140deg,rgba(199,178,153,.88),rgba(46,42,36,.96));
  display:flex;
  height:100%;
  justify-content:center;
  min-height:220px;
  width:100%;
}

.blog-placeholder-mark,
.blog-empty-mark{
  align-items:center;
  border:1px solid rgba(247,241,232,.68);
  color:var(--crema-calido);
  display:flex;
  font-family:"Cormorant Garamond",serif;
  font-size:3rem;
  height:86px;
  justify-content:center;
  width:64px;
}

.blog-pagination{
  margin-top:48px;
}

.blog-pagination .nav-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
}

.blog-pagination .page-numbers{
  align-items:center;
  background:var(--marfil);
  border:1px solid var(--beige-piedra);
  border-radius:6px;
  color:var(--texto-principal);
  display:inline-flex;
  min-height:42px;
  padding:8px 14px;
  text-decoration:none;
}

.blog-pagination .page-numbers.current,
.blog-pagination a.page-numbers:hover,
.blog-pagination a.page-numbers:focus-visible{
  background:var(--verde-oliva);
  border-color:var(--verde-oliva);
  color:var(--crema-calido);
}

.blog-empty{
  background:var(--marfil);
  border:1px solid var(--beige-piedra);
  border-radius:8px;
  box-shadow:0 12px 30px rgba(46,42,36,.08);
  margin:18px auto;
  max-width:760px;
  padding:64px 40px;
  text-align:center;
}

.blog-empty-mark{
  background:var(--verde-profundo);
  margin:0 auto 24px;
}

.blog-empty h2{
  color:var(--texto-principal);
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.05;
  margin:0;
}

.blog-empty p{
  color:var(--texto-secundario);
  line-height:1.6;
  margin:16px auto 0;
  max-width:520px;
}

@media(max-width:1020px){
  .blog-featured{
    grid-template-columns:1fr 1fr;
  }

  .blog-featured-body{
    padding:36px;
  }

  .blog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .blog-shell{
    padding-left:18px;
    padding-right:18px;
  }

  .blog-hero{
    background-attachment:scroll;
    padding:48px 0 52px;
    position:relative;
    top:auto;
    z-index:auto;
  }

  .blog-content{
    padding-bottom:56px;
    padding-top:28px;
  }

  .blog-featured{
    grid-template-columns:1fr;
    min-height:0;
  }

  .blog-featured-media{
    aspect-ratio:16/10;
  }

  .blog-featured-body{
    padding:28px 24px 30px;
  }

  .blog-listing{
    margin-top:48px;
  }

  .blog-grid{
    grid-template-columns:1fr;
  }

  .blog-empty{
    padding:46px 24px;
  }
}

/* Properties listing: editorial sidebar fed by published WordPress posts. */
.property-blog-sidebar{
  min-width:0;
  position:sticky;
  top:112px;
}

.property-blog-panel{
  overflow:hidden;
  background:var(--marfil);
  border:1px solid var(--beige-piedra);
  border-radius:8px;
  box-shadow:0 12px 30px rgba(46,42,36,.08);
}

.property-blog-heading{
  padding:20px 18px 17px;
}

.property-blog-heading > span{
  color:var(--verde-oliva);
  display:block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  margin-bottom:5px;
  text-transform:uppercase;
}

.property-blog-heading h3{
  color:var(--texto-principal);
  font-family:"Cormorant Garamond",serif;
  font-size:25px;
  line-height:1;
  margin:0;
}

.property-blog-list{
  display:grid;
}

.property-blog-item{
  border-top:1px solid var(--beige-piedra);
}

.property-blog-image{
  aspect-ratio:16/9;
  background:var(--beige-piedra);
  display:block;
  overflow:hidden;
}

.property-blog-image img{
  display:block;
  height:100%;
  object-fit:cover;
  transition:transform .28s ease;
  width:100%;
}

.property-blog-item:hover .property-blog-image img{
  transform:scale(1.035);
}

.property-blog-placeholder{
  align-items:center;
  background:var(--verde-profundo);
  color:var(--crema-calido);
  display:flex;
  font-family:"Cormorant Garamond",serif;
  font-size:46px;
  height:100%;
  justify-content:center;
  width:100%;
}

.property-blog-copy{
  padding:13px 15px 16px;
}

.property-blog-copy time{
  color:var(--texto-secundario);
  display:block;
  font-size:11px;
  margin-bottom:6px;
}

.property-blog-copy h4{
  font-family:"Cormorant Garamond",serif;
  font-size:19px;
  line-height:1.12;
  margin:0;
}

.property-blog-copy h4 a{
  color:var(--texto-principal);
  text-decoration:none;
}

.property-blog-copy h4 a:hover,
.property-blog-copy h4 a:focus-visible{
  color:var(--verde-oliva);
}

.property-blog-more{
  align-items:center;
  border-top:1px solid var(--beige-piedra);
  color:var(--texto-principal);
  display:flex;
  font-size:12px;
  font-weight:800;
  gap:8px;
  justify-content:space-between;
  padding:15px 18px;
  text-decoration:none;
}

.property-blog-more:hover,
.property-blog-more:focus-visible{
  background:var(--crema-calido);
  color:var(--verde-oliva);
}

.property-blog-empty{
  border-top:1px solid var(--beige-piedra);
  padding:22px 18px 24px;
}

.property-blog-empty strong{
  color:var(--texto-principal);
  display:block;
  margin-bottom:7px;
}

.property-blog-empty p{
  color:var(--texto-secundario);
  font-size:13px;
  line-height:1.5;
  margin:0;
}

@media(max-width:1200px){
  .property-blog-sidebar{
    grid-template-columns:1fr;
    position:static;
  }

  .property-blog-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .property-blog-item{
    border-left:1px solid var(--beige-piedra);
  }

  .property-blog-item:first-child{
    border-left:0;
  }
}

@media(max-width:700px){
  .property-blog-list{
    grid-template-columns:1fr;
  }

  .property-blog-item{
    border-left:0;
  }
}

