:root{
      --red:#4169E1;
      --red-dark:#3156c8;
      --text:#1f1f1f;
      --muted:#6b6b6b;
      --bg:#f7f8fb;
      --white:#fff;
      --stroke:#e6e9f0;
      --shadow:0 10px 30px rgba(25,42,70,.10);
      --max:1100px;
    }

    *{ box-sizing:border-box; }
    html,body{ height:100%; }
    body{
      margin:0;
      font-family: Inter, Arial, Helvetica, sans-serif;
      background: var(--bg);
      color: var(--text);
    }
    a{ color:inherit; text-decoration:none; }
    .container{ width:100%; max-width:var(--max); margin:0 auto; padding:0 14px; }

    .skiplink{
      position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
    }
    .skiplink:focus{
      left:14px; top:10px; width:auto; height:auto; padding:10px 12px;
      background:#fff; border:1px solid var(--stroke); z-index:9999;
    }

    .topbar{
      background: var(--red);
      color:#fff;
      font-size: 13px;
    }
    .topbar .container{
      height: 34px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 10px;
      white-space: nowrap;
    }
    .topbar a{ color:#fff; opacity:.95; }
    .topbar a:hover{ opacity:1; }
    .topbar .left, .topbar .right{
      display:flex; align-items:center; gap: 18px;
    }

    header{
      position: sticky;
      top: 0;
      z-index: 50;
      background: var(--white);
      border-bottom: 1px solid var(--stroke);
      box-shadow: 0 3px 14px rgba(25,42,70,.04);
    }
    .nav{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 18px;
      padding: 14px 0;
    }
    .brand{
      display:flex;
      align-items:flex-start;
      gap: 12px;
      min-width: 240px;
    }
    .brandTitle{
      font-family: Georgia, "Times New Roman", serif;
      font-size: 28px;
      line-height: 1;
      margin: 0;
    }
    .brandSub{
      margin-top: 4px;
      font-size: 12px;
      color: var(--muted);
      font-weight: 700;
    }

    .navlinks{
      display:flex;
      align-items:center;
      justify-content:center;
      gap: 18px;
      flex: 1;
      font-size: 13px;
      color: #444;
    }
    .navlinks a{ padding: 7px 4px; color:#444; border-bottom:2px solid transparent; transition:.2s ease; }
    .navlinks a:hover{ color:var(--red); border-bottom-color:var(--red); }

    .navcta{ display:flex; align-items:center; gap: 5px; }
    .btn{
      border: 1px solid var(--stroke);
      background: #f7f7f7;
      color:#222;
      padding: 10px 14px;
      border-radius: 10px;
      font-weight: 800;
      cursor:pointer;
      text-transform: none;
    }
    .btn{ transition:.2s ease; }
    .btn:hover{ transform:translateY(-1px); box-shadow:0 6px 16px rgba(25,42,70,.10); }
    .btn.primary{
      border: 0;
      background: var(--red);
      color:#fff;
      text-transform: uppercase;
      letter-spacing: .4px;
    }
    .btn.primary:hover{ background: var(--red-dark); }

    .hero{
      position: relative;
      min-height: 360px;
      overflow:hidden;
      background: #4169E1;
    }
    .hero .bg{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit: cover;
      transform: none;
      filter: none;
    }

    .hero .content{
      position: relative;
      z-index: 2;
      min-height: 360px;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      padding: 38px 14px 54px;
      color:#fff;
    }
    .hero h1{
      margin:0;
      font-size: 28px;
      letter-spacing: 1px;
      text-transform: uppercase;
      text-shadow: 0 2px 10px rgba(0,0,0,.45);
    }
    .hero p{
      margin: 10px 0 0;
      font-size: 15px;
      font-weight: 800;
      text-shadow: 0 2px 10px rgba(0,0,0,.45);
    }

    section{ padding: 28px 0; }
    .sectionTitle{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap: 10px;
      margin-bottom: 16px;
    }
    .sectionTitle h2{
      margin:0;
      font-size: 22px;
      letter-spacing: -.2px;
    }
    .sectionTitle p{
      margin:0;
      color: var(--muted);
      font-weight: 700;
      font-size: 13px;
    }

    .grid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }
    .card{
      border: 1px solid var(--stroke);
      background: var(--white);
      border-radius: 14px;
      overflow:hidden;
      box-shadow: 0 8px 24px rgba(25,42,70,.08);
      position: relative;
    }

    .card.clickable{ cursor:pointer; }
    .card.clickable{ transition:.2s ease; }
    .card.clickable:hover{ transform: translateY(-3px); box-shadow:0 14px 30px rgba(25,42,70,.12); }

    .thumb{
      height: 180px;
      background: linear-gradient(135deg, rgba(0,0,0,.05), rgba(0,0,0,.02));
      border-bottom: 1px solid var(--stroke);
      position: relative;
      overflow: hidden;
    }

    .thumbImg{
      width:100%;
      height:100%;
      object-fit: cover;
      display:block;
    }

    .tag{
      position:absolute;
      top: 10px;
      left: 10px;
      padding: 7px 10px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 900;
      background: var(--red);
      color:#fff;
      text-transform: uppercase;
      letter-spacing: .4px;
      z-index: 2;
    }

    .tag.zl{ background:var(--red); }
    .tag.zs{ background:#0ea5e9; }
    .tag.zo{ background:#22c55e; }
    .tag.zn{ background:#f59e0b; }
    .tag.centro{ background:#8b5cf6; }
    .tag.guar{ background:#64748b; }

    .soldoutBadge{
      position:absolute;
      top:10px;
      right:10px;
      padding:7px 10px;
      border-radius:2px;
      font-size:12px;
      font-weight:900;
      background:#111;
      color:#fff;
      text-transform:uppercase;
      letter-spacing:.4px;
      z-index:3;
    }
    .card.soldout{ opacity:.75; }
    .card.soldout .btn{ opacity:.7; }
    .price.esgotado{ color:#b00020; }

    .card .body{ padding: 16px; }
    .price{ font-weight: 800; font-size: 20px; color:#18243a; }
    .addr{ color: var(--muted); margin-top: 6px; font-weight: 700; font-size: 13px; }
    .features{
      display:flex; flex-wrap:wrap; gap: 8px;
      margin-top: 10px;
      color: #444;
      font-weight: 800;
      font-size: 12px;
    }
    .pill{
      border: 1px solid var(--stroke);
      background: #fafafa;
      padding: 7px 10px;
      border-radius: 999px;
    }
    .card .actions{
      display:flex;
      gap: 10px;
      padding: 0 16px 16px;
    }
    .btn.small{
      padding: 10px 12px;
      border-radius: 10px;
      font-size: 13px;
    }

    .twoCols{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }
    .panel{
      border: 1px solid var(--stroke);
      background: var(--white);
      border-radius: 14px;
      box-shadow: 0 8px 24px rgba(25,42,70,.06);
      padding: 18px;
    }
    .panel h3{ margin: 0 0 8px; }
    .panel p{ margin: 0; color: var(--muted); line-height: 1.6; font-weight: 700; }

    .field{
      height: 42px;
      border: 1px solid var(--stroke);
      background: #fff;
      border-radius:10px;
      display:flex;
      align-items:center;
    }
    .field select, .field input{
      width:100%;
      height:100%;
      border:0;
      outline:0;
      background: transparent;
      padding: 0 10px;
      font-size: 12px;
      color:#333;
    }
    .btnSearch{
      height: 42px;
      border:0;
      border-radius:10px;
      background: var(--red);
      color:#fff;
      font-weight: 900;
      text-transform: uppercase;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:center;
      gap: 8px;
      padding: 0 14px;
    }
    .btnSearch:hover{ background: var(--red-dark); }

    form{ display:grid; gap: 10px; }
    input, textarea, select{
      width:100%;
      padding: 12px;
      border-radius: 10px;
      border: 1px solid var(--stroke);
      background: #fbfbfb;
      color: #222;
      outline: none;
      font-weight: 700;
    }
    textarea{ min-height: 120px; resize: vertical; }
    .formRow{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }
    .help{
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
      margin-top: 6px;
      font-weight: 700;
    }

    footer{
      padding: 18px 0 34px;
      color: var(--muted);
      font-weight: 800;
      border-top: 1px solid var(--stroke);
      background: var(--white);
      margin-top: 18px;
    }

    @media (max-width: 980px){
      .navlinks{ display:none; }
      .hero{ min-height: 320px; }
      .hero .content{ min-height: 320px; }
      .grid{ grid-template-columns: 1fr; }
      .twoCols{ grid-template-columns: 1fr; }
      .formRow{ grid-template-columns: 1fr; }
    }

    .badge-cat{
      position:absolute;
      top: 44px;
      left:10px;
      background:#4169E1;
      color:#fff;
      padding:6px 10px;
      border-radius:999px;
      font-size:12px;
      font-weight:800;
      letter-spacing:.3px;
      z-index:2;
      box-shadow: 0 10px 20px rgba(0,0,0,.18);
    }

    .destaques{
  padding: 42px 20px 28px;
  max-width: 1200px;
  margin: 0 auto;
}

.destaques-topo{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:16px;
  margin-bottom:20px;
  flex-wrap:wrap;
}

.destaques-topo h2{
  margin:0;
  font-size:30px;
  color:#111;
}

.destaques-topo p{
  margin:6px 0 0;
  color:#666;
}

.btn-ver-todos{
  text-decoration:none;
  background:var(--red);
  color:#fff;
  padding:10px 16px;
  border-radius:10px;
  font-weight:700;
  transition:.2s;
}

.btn-ver-todos:hover{
  transform:translateY(-1px);
  opacity:.95;
}

.carousel-wrap{
  position:relative;
}

.carousel-track{
  display:flex;
  gap:18px;
  overflow-x:auto;
  scroll-behavior:smooth;
  padding:8px 4px 14px;
  scrollbar-width:none;
}

.carousel-track::-webkit-scrollbar{
  display:none;
}

.imovel-card{
  min-width:300px;
  max-width:300px;
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(25,42,70,.08);
  border:1px solid #eee;
  flex:0 0 auto;
  transition:.2s;
}

.imovel-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(25,42,70,.12);
}

.imovel-card a{
  color:inherit;
  text-decoration:none;
  display:block;
}

.imovel-thumb{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
  background:#f2f2f2;
}

.imovel-info{
  padding:16px;
}

.imovel-badge{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  background:#f3f3f3;
  color:#444;
  padding:6px 10px;
  border-radius:999px;
  margin-bottom:10px;
}

.imovel-titulo{
  font-size:18px;
  font-weight:700;
  margin:0 0 8px;
  line-height:1.3;
  color:#111;
}

.imovel-local{
  font-size:14px;
  color:#666;
  margin-bottom:12px;
}

.imovel-detalhes{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  font-size:14px;
  color:#444;
  margin-bottom:14px;
}

.imovel-preco{
  font-size:22px;
  font-weight:800;
  color:var(--red);
}

.carousel-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border:none;
  border-radius:50%;
  background:#fff;
  box-shadow:0 5px 18px rgba(25,42,70,.14);
  cursor:pointer;
  font-size:26px;
  z-index:2;
}

.carousel-btn.prev{ left:-8px; }
.carousel-btn.next{ right:-8px; }


/* Ajustes visuais clean — mantém a identidade original */
::selection{ background:rgba(65,105,225,.18); }
button, select, input, textarea, a{ -webkit-tap-highlight-color:transparent; }
button:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible, a:focus-visible{
  outline:3px solid rgba(65,105,225,.20);
  outline-offset:2px;
}
.destaques{ border-bottom:1px solid var(--stroke); }
.carousel-track{ gap:16px; }
.imovel-card{ transition:.2s ease; }
.imovel-info{ padding:18px; }
.imovel-badge{ background:#f3f6ff; color:#3156c8; }
.carousel-btn{ color:#3156c8; }
.panel{ background:rgba(255,255,255,.94); }
footer{ margin-top:28px; }

@media (max-width: 768px){
  .destaques-topo h2{
    font-size:26px;
  }

  .imovel-card{
    min-width:260px;
    max-width:260px;
  }

  .imovel-thumb{
    height:180px;
  }

  .carousel-btn{
    display:none;
  }
}


    /* Layout profissional 2026 */
    :root{
      --navy:#0d1b2a;
      --navy-2:#132238;
      --gold:#d9b06f;
      --surface:#ffffff;
    }
    body{ background:#f7f8fa; }
    .topbar{ display:none; }
    header{
      position:absolute;
      top:0;
      left:0;
      right:0;
      background:rgba(8,18,31,.78);
      border-bottom:1px solid rgba(255,255,255,.14);
      box-shadow:none;
      backdrop-filter:blur(14px);
      -webkit-backdrop-filter:blur(14px);
    }
    .nav{ min-height:82px; padding:12px 0; }
    .brand{ align-items:center; min-width:320px; gap:12px; color:#fff; }
    .brandMark{
      width:42px; height:42px; border-radius:11px;
      display:block; object-fit:cover;
      border:1px solid rgba(255,255,255,.22);
      background:#fff; padding:3px;
      box-shadow:0 6px 18px rgba(0,0,0,.16);
    }
    .brandTitle{ font-size:22px; letter-spacing:-.25px; color:#fff; }
    .brandSub{ color:rgba(255,255,255,.70); font-size:11px; letter-spacing:.2px; }
    .navlinks{ gap:26px; }
    .navlinks a{ color:rgba(255,255,255,.88); font-size:13px; font-weight:700; border:0; position:relative; }
    .navlinks a::after{ content:""; position:absolute; left:4px; right:4px; bottom:1px; height:1px; background:#fff; transform:scaleX(0); transition:.2s ease; }
    .navlinks a:hover{ color:#fff; border:0; }
    .navlinks a:hover::after{ transform:scaleX(1); }
    .navcta .btn.primary{
      background:#fff; color:var(--navy); border:1px solid #fff; text-transform:none;
      letter-spacing:0; border-radius:999px; padding:11px 18px;
    }
    .navcta .btn.primary:hover{ background:#f4f4f4; color:var(--navy); }

    .hero{
      min-height:680px;
      height:min(78vh,760px);
      background:var(--navy);
      border-radius:0 0 28px 28px;
    }
    .hero .bg{ object-position:center 55%; transform:scale(1.002); }
    .heroOverlay{
      position:absolute; inset:0; z-index:1;
      background:
        linear-gradient(90deg, rgba(5,14,25,.82) 0%, rgba(5,14,25,.58) 37%, rgba(5,14,25,.18) 66%, rgba(5,14,25,.05) 100%),
        linear-gradient(180deg, rgba(5,14,25,.18) 0%, rgba(5,14,25,.03) 62%, rgba(5,14,25,.30) 100%);
    }
    .heroInner{
      position:relative; z-index:2; height:100%; min-height:680px;
      display:flex; align-items:center; padding-top:86px; padding-bottom:36px;
    }
    .heroCopy{ max-width:670px; color:#fff; text-align:left; }
    .heroEyebrow{
      display:inline-flex; align-items:center; gap:10px;
      font-size:12px; font-weight:900; letter-spacing:1.8px;
      color:rgba(255,255,255,.86); margin-bottom:18px;
    }
    .heroEyebrow::before{ content:""; width:34px; height:1px; background:var(--gold); }
    .hero h1{
      margin:0; font-size:clamp(42px,5vw,68px); line-height:1.02;
      letter-spacing:-2.4px; text-transform:none; font-weight:700;
      font-family:Georgia,"Times New Roman",serif;
      text-shadow:0 3px 24px rgba(0,0,0,.25);
    }
    .hero p{
      max-width:620px; margin:22px 0 0; font-size:17px; line-height:1.65;
      font-weight:500; color:rgba(255,255,255,.88); text-shadow:none;
    }
    .heroActions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
    .heroActions .btn{ border-radius:999px; padding:14px 22px; font-size:14px; }
    .heroPrimary{ background:#fff; color:var(--navy); border-color:#fff; }
    .heroPrimary:hover{ background:#f3f3f3; }
    .heroSecondary{ background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.46); backdrop-filter:blur(8px); }
    .heroSecondary:hover{ background:rgba(255,255,255,.15); box-shadow:none; }
    .heroTrust{ display:flex; flex-wrap:wrap; gap:9px 18px; margin-top:28px; font-size:12px; font-weight:700; color:rgba(255,255,255,.76); }
    .heroTrust span{ display:flex; align-items:center; gap:7px; }
    .heroTrust span::before{ content:"✓"; color:#f5d39b; font-weight:900; }

    .destaques{ padding-top:58px; }
    .destaques-topo h2{ font-family:Georgia,"Times New Roman",serif; font-size:36px; letter-spacing:-.6px; color:var(--navy); }
    .destaques-topo p{ color:#707887; }
    .btn-ver-todos{ border-radius:999px; padding:11px 18px; background:var(--navy); }
    .imovel-card{ border-radius:20px; border-color:#e8ebef; box-shadow:0 14px 36px rgba(20,33,51,.08); }
    .imovel-card:hover{ transform:translateY(-5px); box-shadow:0 20px 42px rgba(20,33,51,.13); }
    .imovel-thumb{ height:220px; }
    .imovel-badge{ background:#f1f4f7; color:#354154; }
    .imovel-preco{ color:var(--navy); }
    .carousel-btn{ color:var(--navy); }
    .panel{ border-radius:20px; border-color:#e8ebef; box-shadow:0 14px 36px rgba(20,33,51,.06); }

    @media (max-width:980px){
      header{ position:absolute; }
      .brand{ min-width:0; }
      .brandTitle{ font-size:18px; }
      .brandSub{ font-size:10px; }
      .hero{ min-height:650px; height:720px; border-radius:0 0 22px 22px; }
      .heroInner{ min-height:650px; padding-top:110px; }
      .heroCopy{ max-width:590px; }
    }
    @media (max-width:640px){
      .container{ padding-left:18px; padding-right:18px; }
      .nav{ min-height:72px; }
      .brandMark{ width:38px; height:38px; border-radius:10px; }
      .brandTitle{ font-size:16px; }
      .brandSub{ max-width:170px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
      .navcta .btn.primary{ padding:9px 13px; font-size:12px; }
      .hero{ height:700px; min-height:700px; }
      .hero .bg{ object-position:58% center; }
      .heroOverlay{ background:linear-gradient(90deg, rgba(5,14,25,.83), rgba(5,14,25,.50)),linear-gradient(180deg,rgba(5,14,25,.15),rgba(5,14,25,.38)); }
      .heroInner{ min-height:700px; align-items:flex-end; padding-top:100px; padding-bottom:54px; }
      .hero h1{ font-size:42px; letter-spacing:-1.5px; }
      .hero p{ font-size:15px; }
      .heroActions{ width:100%; }
      .heroActions .btn{ flex:1; text-align:center; min-width:150px; }
      .heroTrust{ gap:8px 14px; }
      .destaques{ padding-top:42px; }
      .destaques-topo h2{ font-size:30px; }
    }


/* Hero com slideshow de imagens */
.heroSlides{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}

.hero .heroSlide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 55%;
  opacity:0;
  transform:scale(1.03);
  transition:opacity 1.4s ease-in-out, transform 6s ease;
  pointer-events:none;
}

.hero .heroSlide.active{
  opacity:1;
  transform:scale(1.0);
}

@media (prefers-reduced-motion: reduce){
  .hero .heroSlide{
    transition:none;
    transform:none;
  }
}
