:root{
  --deep:#0c251c;
  --black:#000000;
  --gold:#c9a45c;
  --cream:#f4efe5;
  --ink:#171a17;
  --muted:#70756f;
  --line:#ddd8cc;
  --white:#ffffff;
}


*{
  box-sizing:border-box;
}


html{
  scroll-behavior:smooth;
}


body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff;
}


a{
  text-decoration:none;
  color:inherit;
}


img{
  max-width:100%;
  display:block;
}


button,
input,
select,
textarea{
  font:inherit;
}


.container{
  width:min(1180px,calc(100% - 40px));
  margin:auto;
}


/* =====================================================
   CABEÇALHO
===================================================== */

.header{
  position:sticky;
  top:0;
  left:0;
  right:0;
  z-index:100;

  background:#000;
  color:#fff;

  border-bottom:1px solid rgba(255,255,255,.10);

  box-shadow:
    0 3px 18px
    rgba(0,0,0,.18);
}


.header .nav,
.header-inner{
  min-height:108px;

  display:flex;
  align-items:center;

  position:relative;
}


/* =====================================================
   LOGO
===================================================== */

.logo,
.logo-link{
  display:flex;
  align-items:center;
  flex-shrink:0;
}


.logo img,
.logo-link img,
.header .logo{
  width:260px;
  max-height:86px;

  object-fit:contain;

  transition:transform .25s ease;
}


.logo img:hover,
.logo-link img:hover{
  transform:scale(1.02);
}


/* =====================================================
   MENU DESKTOP
===================================================== */

.header .nav nav,
.header-inner > nav,
.header-inner > .nav{
  margin-left:auto;

  display:flex;
  align-items:center;

  gap:25px;
}


.header .nav nav a,
.header-inner nav a,
.header-inner > .nav a{
  position:relative;

  color:#fff;

  font-size:14px;

  font-weight:500;

  line-height:1;

  letter-spacing:.015em;

  padding:15px 0;

  white-space:nowrap;

  transition:color .25s ease;
}


.header .nav nav a:hover,
.header-inner nav a:hover,
.header-inner > .nav a:hover{
  color:var(--gold);
}


.header .nav nav a::after,
.header-inner nav a::after,
.header-inner > .nav a::after{
  content:"";

  position:absolute;

  left:0;
  bottom:6px;

  width:0;
  height:1px;

  background:var(--gold);

  transition:width .25s ease;
}


.header .nav nav a:hover::after,
.header-inner nav a:hover::after,
.header-inner > .nav a:hover::after{
  width:100%;
}


/* =====================================================
   BOTÃO MENU MOBILE
===================================================== */

.menu-btn{
  display:none;

  margin-left:auto;

  width:46px;
  height:46px;

  align-items:center;
  justify-content:center;

  padding:0;

  background:transparent;

  border:1px solid rgba(255,255,255,.25);

  color:#fff;

  font-size:27px;

  line-height:1;

  cursor:pointer;
}


/* =====================================================
   HERO HOME
===================================================== */

.hero{
  min-height:720px;

  display:flex;
  align-items:center;

  color:#fff;

  background:
    url('/assets/home-principal.jpeg')
    center/cover;

  position:relative;
}


.hero-overlay{
  position:absolute;
  inset:0;

  background:linear-gradient(
    95deg,
    rgba(5,21,15,.76),
    rgba(5,21,15,.18)
  );
}


.hero-content{
  padding-top:45px;
  position:relative;
}


.eyebrow{
  font-size:11px;

  letter-spacing:.2em;

  font-weight:700;

  color:#ead4a7;

  text-transform:uppercase;
}


.eyebrow.dark{
  color:#99763a;
}


h1,
h2,
h3{
  font-family:
    Georgia,
    'Times New Roman',
    serif;

  font-weight:400;

  margin:0;
}


h1{
  font-size:30px;
  line-height:1.15;
  max-width:900px;
}


.hero p:not(.eyebrow){
  font-size:18px;

  line-height:1.7;

  max-width:720px;

  color:rgba(255,255,255,.84);
}


.hero-actions{
  display:flex;

  gap:12px;

  margin-top:28px;
}


/* =====================================================
   HERO DAS PÁGINAS
===================================================== */

.page-hero{
  background:var(--deep);

  color:#fff;

  padding:95px 0 80px;
}


.page-hero h1{
  margin-top:12px;
  font-size:28px;
  line-height:1.15;
}


.page-hero p{
  max-width:720px;

  margin:22px 0 0;

  font-size:17px;

  line-height:1.7;

  color:rgba(255,255,255,.72);
}


/* =====================================================
   BOTÕES
===================================================== */

.btn,
.btn-primary{
  min-height:48px;

  padding:0 22px;

  display:inline-flex;

  align-items:center;
  justify-content:center;

  border:1px solid transparent;

  font-weight:700;

  cursor:pointer;

  transition:.25s ease;
}


.gold{
  background:var(--gold);
  color:#17130b;
}


.gold:hover{
  filter:brightness(1.08);
}


.ghost{
  border-color:
    rgba(255,255,255,.55);

  color:#fff;
}


.ghost:hover{
  background:
    rgba(255,255,255,.10);
}


.dark-btn,
.btn-primary{
  background:var(--deep);
  color:#fff;
}


.dark-btn:hover,
.btn-primary:hover{
  background:#15372a;
}


.wide{
  width:100%;
}


/* =====================================================
   BUSCA HOME
===================================================== */

.search-section{
  margin-top:-42px;

  position:relative;

  z-index:5;
}


.search-box{
  display:grid;

  grid-template-columns:
    1fr
    1fr
    1.2fr
    1fr
    1fr
    auto;

  background:#fff;

  padding:14px;

  box-shadow:
    0 18px 50px
    rgba(0,0,0,.15);
}


.search-box select,
.search-box input{
  border:0;

  border-right:
    1px solid #ddd;

  padding:13px 14px;

  outline:none;

  background:#fff;
}


/* =====================================================
   SEÇÕES
===================================================== */

.section{
  padding:95px 0;
}


.section-head{
  display:flex;

  align-items:end;

  justify-content:space-between;

  gap:30px;

  margin-bottom:34px;
}


.section h2{
  font-size:24px;
  line-height:1.2;
}


.counter{
  color:var(--muted);
  font-size:14px;
}


/* =====================================================
   FUNDO VERDE
   ÁREAS & OPORTUNIDADES / PARCERIAS
===================================================== */

.warm{
  background:var(--deep);
  color:#fff;
}


.warm h1,
.warm h2,
.warm h3{
  color:#fff;
}


.warm .eyebrow.dark{
  color:#ead4a7;
}


.warm .prose p{
  color:rgba(255,255,255,.75);
}


.warm p{
  color:rgba(255,255,255,.75);
}


.warm .text-link{
  color:#ead4a7;
}


.warm .dark-btn{
  background:var(--gold);
  color:#17130b;
}


.warm .dark-btn:hover{
  background:#d7b66f;
  color:#17130b;
}


/* =====================================================
   PORTFÓLIO
===================================================== */

.portfolio-section{
  padding:70px 0 100px;
}


.filtros{
  display:grid;

  grid-template-columns:
    repeat(5,1fr);

  gap:10px;

  margin-bottom:25px;
}


.filtros select{
  width:100%;

  min-height:50px;

  padding:0 14px;

  border:
    1px solid var(--line);

  background:#fff;

  color:var(--ink);

  outline:none;
}


.filtros select:focus{
  border-color:var(--gold);
}


.portfolio-info{
  margin:15px 0 25px;

  color:var(--muted);

  font-size:13px;
}


/* =====================================================
   CARDS
===================================================== */

.cards,
.cards-grid{
  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:24px;
}


.card{
  border:
    1px solid #e6e2da;

  background:#fff;

  overflow:hidden;

  cursor:pointer;

  transition:.25s ease;
}


.card:hover{
  box-shadow:
    0 18px 45px
    rgba(0,0,0,.08);

  transform:
    translateY(-3px);
}


.card-img{
  aspect-ratio:4/3;

  overflow:hidden;

  background:#eee;

  position:relative;
}


.card-img img{
  width:100%;
  height:100%;

  object-fit:cover;

  transition:.35s;
}


.card:hover .card-img img{
  transform:scale(1.035);
}


.badge{
  position:absolute;

  left:14px;
  top:14px;

  z-index:8;

  background:
    rgba(10,35,26,.92);

  color:#fff;

  padding:8px 10px;

  font-size:10px;

  text-transform:uppercase;

  letter-spacing:.1em;
}


.card-body{
  padding:22px;
}


.meta{
  font-size:10px;

  letter-spacing:.12em;

  text-transform:uppercase;

  color:#8b8f89;
}


.card h3{
  font-size:27px;

  margin:8px 0 10px;

  color:var(--ink);
}


.card p{
  color:var(--muted);

  line-height:1.55;
}


.price{
  display:block;

  color:var(--deep);

  font-size:19px;

  margin-top:16px;
}


/* Valor de venda e locação: uma linha para cada modalidade no card. */
.card .price .price-line {
  display: block;
  font: inherit;
  color: inherit;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.card .price .price-line + .price-line {
  margin-top: 4px;
}

.price.big{
  font-size:28px;
}


.empty,
.vazio{
  text-align:center;

  color:var(--muted);

  padding:50px 20px;
}


/* =====================================================
   MARCA D'ÁGUA
===================================================== */

.piemonte-foto{
  position:relative;

  overflow:hidden;

  width:100%;
}


.piemonte-foto > img{
  width:100%;
  height:100%;

  object-fit:cover;
}


.piemonte-foto::after{
  content:"";

  position:absolute;

  top:50%;
  left:50%;

  transform:
    translate(-50%,-50%);

  width:32%;
  height:45%;

  max-width:220px;
  min-width:95px;

  background-image:
    url('/assets/logo-marca-dagua.png');

  background-repeat:no-repeat;

  background-position:center;

  background-size:contain;

  opacity:.42;

  z-index:6;

  pointer-events:none;
}


.card-img::after{
  content:"";

  position:absolute;

  top:50%;
  left:50%;

  transform:
    translate(-50%,-50%);

  width:32%;
  height:45%;

  max-width:220px;
  min-width:95px;

  background-image:
    url('/assets/logo-marca-dagua.png');

  background-repeat:no-repeat;

  background-position:center;

  background-size:contain;

  opacity:.42;

  z-index:6;

  pointer-events:none;
}


/* =====================================================
   REGIÕES
===================================================== */

.regioes-home-grid{
  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:24px;
}


.regiao-home-card{
  display:block;

  background:#fff;

  border:
    1px solid #e3ded4;

  overflow:hidden;

  transition:
    transform .3s ease,
    box-shadow .3s ease;
}


.regiao-home-card:hover{
  transform:
    translateY(-5px);

  box-shadow:
    0 20px 50px
    rgba(0,0,0,.10);
}


.regiao-home-img{
  width:100%;

  aspect-ratio:16/10;

  overflow:hidden;

  position:relative;

  background:#ece9e2;
}


.regiao-home-img img{
  width:100%;
  height:100%;

  object-fit:cover;

  transition:
    transform .6s ease;
}


.regiao-home-card:hover
.regiao-home-img img{
  transform:scale(1.045);
}
/* =====================================================
   REGIÕES — CONTINUAÇÃO
===================================================== */

.regiao-home-body p{
  color:var(--muted);

  font-size:14px;

  line-height:1.65;

  margin:0;
}


.regiao-home-body::after{
  content:"";

  display:block;

  width:36px;
  height:1px;

  margin-top:20px;

  background:var(--gold);
}


/* =====================================================
   ÁREAS ESCURAS
===================================================== */

.dark-section,
.contact{
  background:var(--deep);
  color:#fff;
}


.split{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:80px;

  align-items:start;
}


.dark-section p,
.contact p{
  color:
    rgba(255,255,255,.72);

  line-height:1.8;

  font-size:17px;
}


.text-link{
  display:inline-block;

  margin-top:14px;

  border-bottom:
    1px solid currentColor;

  padding-bottom:4px;
}


.light{
  color:#ead4a7;
}


/* =====================================================
   TEXTO
===================================================== */

.prose p{
  color:var(--muted);

  font-size:17px;

  line-height:1.8;
}


/* =====================================================
   FORMULÁRIOS
===================================================== */

.form-layout{
  display:grid;

  grid-template-columns:
    .85fr 1.15fr;

  gap:80px;
}


.lead-form{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:12px;
}


.lead-form input,
.lead-form select,
.lead-form textarea{
  width:100%;

  padding:15px 14px;

  border:
    1px solid #d8d2c7;

  background:#fff;
}


.lead-form textarea{
  grid-column:1/-1;

  min-height:130px;

  resize:vertical;
}


.lead-form button{
  grid-column:1/-1;
}


/* =====================================================
   RODAPÉ
===================================================== */

footer{
  background:#050f0b;

  color:#fff;

  padding:55px 0 24px;
}


.footer{
  display:grid;

  grid-template-columns:
    1.5fr 1fr 1fr;

  gap:50px;
}


.footer img,
.footer-logo{
  width:240px;

  max-height:90px;

  object-fit:contain;
}


.footer a,
.footer span{
  display:block;

  color:
    rgba(255,255,255,.65);

  line-height:2;
}


.footer a:hover{
  color:var(--gold);
}


.copyright{
  margin-top:35px;

  padding-top:20px;

  border-top:
    1px solid
    rgba(255,255,255,.12);

  color:
    rgba(255,255,255,.4);

  font-size:12px;
}


/* =====================================================
   MODAL
===================================================== */

.modal{
  position:fixed;

  inset:0;

  background:
    rgba(0,0,0,.72);

  z-index:200;

  padding:24px;

  overflow:auto;
}


.modal[hidden],
.modal[aria-hidden="true"]{
  display:none;
}


.modal-card,
.modal-content{
  width:min(920px,100%);

  margin:30px auto;

  background:#fff;

  position:relative;
}


.modal-card > img,
.modal-foto{
  width:100%;

  height:470px;

  object-fit:cover;
}


.modal-body{
  padding:32px;
}


.modal-body h2{
  font-size:24px;
}


.modal-body p{
  color:var(--muted);

  line-height:1.7;
}


.close,
.modal-close{
  position:absolute;

  right:14px;
  top:14px;

  z-index:20;

  width:42px;
  height:42px;

  border:0;

  background:#fff;

  font-size:26px;

  cursor:pointer;
}


.specs,
.modal-specs{
  display:flex;

  flex-wrap:wrap;

  gap:8px;

  margin:18px 0;
}


.specs span,
.modal-specs span{
  background:#f2eee5;

  padding:9px 11px;

  font-size:12px;
}


.mini-gallery,
.modal-galeria{
  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:8px;

  margin:18px 0;
}


.mini-gallery img,
.modal-galeria img{
  width:100%;

  height:130px;

  object-fit:cover;
}


.modal-footer{
  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:25px;

  margin-top:30px;

  padding-top:25px;

  border-top:
    1px solid var(--line);
}


/* =====================================================
   WHATSAPP PREMIUM
===================================================== */

.whatsapp-float{
  position:fixed;

  right:24px;
  bottom:24px;

  z-index:9999;

  min-height:56px;

  padding:0 22px;

  display:flex;

  align-items:center;
  justify-content:center;

  gap:11px;

  background:#0a0a0a;

  color:var(--gold);

  border:
    1px solid rgba(201,164,92,.72);

  border-radius:3px;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size:13px;

  font-weight:600;

  letter-spacing:.08em;

  text-transform:uppercase;

  text-decoration:none;

  box-shadow:
    0 12px 35px
    rgba(0,0,0,.22);

  transition:
    transform .25s ease,
    background .25s ease,
    color .25s ease,
    box-shadow .25s ease;
}


.whatsapp-float:hover{
  background:var(--gold);

  color:#0a0a0a;

  transform:
    translateY(-2px);

  box-shadow:
    0 16px 42px
    rgba(0,0,0,.28);
}


.whatsapp-float-icon{
  width:23px;
  height:23px;

  display:flex;

  align-items:center;
  justify-content:center;

  flex-shrink:0;
}


.whatsapp-float-icon svg{
  width:100%;
  height:100%;

  display:block;
}


.whatsapp-float-text{
  white-space:nowrap;
}


/* =====================================================
   DESKTOP — TÍTULOS MAIS ELEGANTES
===================================================== */

@media (min-width:981px){

  h1,
  .hero h1,
  .page-hero h1,
  .property-heading h1,
  .avaliacao-hero h1{
    font-size:34px !important;
    line-height:1.14 !important;
  }

  h2,
  .section h2,
  .section-head h2,
  .areas-feature-content h2,
  .avaliacao-feature-kicker h2,
  .avaliacao-intro h2,
  .avaliacao-method h2,
  .avaliacao-form-copy h2,
  .dark-section h2,
  .split h2,
  .modal-body h2{
    font-size:27px !important;
    line-height:1.18 !important;
  }

  h3,
  .card h3,
  .regiao-home-body h3,
  .avaliacao-feature-content h3,
  .avaliacao-card h3,
  .avaliacao-step h3{
    font-size:20px !important;
    line-height:1.26 !important;
  }


}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:980px){

  .header .nav,
  .header-inner{
    min-height:92px;
  }


  .logo img,
  .logo-link img,
  .header .logo{
    width:225px;

    max-height:74px;
  }


  .menu-btn{
    display:flex;
  }


  .header .nav nav,
  .header-inner > nav,
  .header-inner > .nav{
    display:none;

    position:absolute;

    top:92px;

    left:0;
    right:0;

    margin:0;

    padding:14px 0;

    background:#000;

    border-top:
      1px solid
      rgba(255,255,255,.08);

    box-shadow:
      0 16px 30px
      rgba(0,0,0,.28);

    flex-direction:column;

    align-items:stretch;

    gap:0;
  }


  .header .nav nav.open,
  .header-inner > nav.open,
  .header-inner > .nav.open{
    display:flex;
  }


  .header .nav nav a,
  .header-inner nav a,
  .header-inner > .nav a{
    width:100%;

    padding:16px 22px;

    font-size:16px;

    line-height:1.25;

    border-bottom:
      1px solid
      rgba(255,255,255,.08);
  }


  .header .nav nav a::after,
  .header-inner nav a::after,
  .header-inner > .nav a::after{
    display:none;
  }


  .search-box{
    grid-template-columns:
      1fr 1fr;
  }


  .search-box button{
    grid-column:1/-1;
  }


  .cards,
  .cards-grid,
  .regioes-home-grid{
    grid-template-columns:
      1fr 1fr;
  }


  .filtros{
    grid-template-columns:
      1fr 1fr;
  }


  .split,
  .form-layout{
    grid-template-columns:1fr;

    gap:40px;
  }


  .footer{
    grid-template-columns:
      1fr 1fr;
  }

}


/* =====================================================
   CELULAR
===================================================== */

@media(max-width:680px){

  .container{
    width:
      min(
        100% - 28px,
        1180px
      );
  }


  .header .nav,
  .header-inner{
    min-height:82px;

    flex-direction:row;

    align-items:center;

    padding:0;
  }


  .logo img,
  .logo-link img,
  .header .logo{
    width:190px;

    max-height:62px;
  }


  .menu-btn{
    display:flex;

    width:44px;
    height:44px;

    font-size:26px;
  }


  .header .nav nav,
  .header-inner > nav,
  .header-inner > .nav{
    top:82px;

    left:-14px;
    right:-14px;

    width:auto;

    padding:8px 0;

    background:#000;
  }


  .header .nav nav a,
  .header-inner nav a,
  .header-inner > .nav a{
    font-size:17px;

    font-weight:500;

    padding:17px 22px;

    min-height:54px;

    display:flex;

    align-items:center;
  }


  .hero{
    min-height:650px;
  }


  .hero-content{
    padding-top:15px;
  }


  .hero-actions{
    flex-direction:column;
  }


  .search-box,
  .cards,
  .cards-grid,
  .regioes-home-grid,
  .lead-form,
  .footer{
    grid-template-columns:1fr;
  }


  .filtros{
    grid-template-columns:1fr;
  }


  .search-box select,
  .search-box input{
    border-right:0;

    border-bottom:
      1px solid #ddd;
  }


  .section{
    padding:70px 0;
  }


  .section-head{
    display:block;
  }


  .section-head
  .text-link{
    margin-top:18px;
  }


  .page-hero{
    padding:60px 0 55px;
  }


  .page-hero h1,
  .hero h1,
  .property-heading h1,
  .avaliacao-hero h1{
    font-size:27px !important;
    line-height:1.16 !important;
  }


  .section h2,
  .avaliacao-feature-kicker h2,
  .avaliacao-intro h2,
  .avaliacao-method h2,
  .avaliacao-form-copy h2{
    font-size:23px !important;
    line-height:1.2 !important;
  }


  .regiao-home-img{
    aspect-ratio:16/9;
  }


  .regiao-home-body{
    padding:22px;
  }


  .regiao-home-body h3,
  .card h3{
    font-size:19px !important;
  }


  .modal{
    padding:12px;
  }


  .modal-card,
  .modal-content{
    margin:15px auto;
  }


  .modal-card > img,
  .modal-foto{
    height:280px;
  }


  .modal-body{
    padding:22px;
  }


  .modal-body h2{
    font-size:23px;
  }


  .mini-gallery,
  .modal-galeria{
    grid-template-columns:
      1fr 1fr;
  }


  .mini-gallery img,
  .modal-galeria img{
    height:110px;
  }


  .modal-footer{
    flex-direction:column;

    align-items:stretch;
  }


  .piemonte-foto::after,
  .card-img::after{
    width:35%;

    min-width:80px;

    max-width:150px;
  }


  .whatsapp-float{
    right:14px;
    bottom:14px;

    min-height:50px;

    padding:0 15px;

    gap:8px;

    font-size:10px;

    letter-spacing:.055em;

    border-radius:2px;
  }


  .whatsapp-float-icon{
    width:21px;
    height:21px;
  }


  .whatsapp-float-text{
    white-space:nowrap;
  }

}

/* =====================================================
   CORRECAO: BUSCA COM 8 CAMPOS (setembro/2026)
   Mantem a busca em duas linhas no desktop, duas colunas
   em tablets e uma coluna em telas pequenas.
===================================================== */
.search-section .search-box {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}
.search-section .search-box > select,
.search-section .search-box > input,
.search-section .search-box > button {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  min-height: 48px;
}
.search-section .search-box > select,
.search-section .search-box > input {
  border: 1px solid #e5e5e5;
  border-radius: 2px;
}
.search-section .search-box > button {
  grid-column: auto;
  white-space: nowrap;
}
@media (max-width: 980px) {
  .search-section .search-box {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .search-section .search-box > button { grid-column: auto; }
}
@media (max-width: 680px) {
  .search-section .search-box {
    grid-template-columns: minmax(0, 1fr);
  }
  .search-section .search-box > button { grid-column: auto; }
}

/* Piemonte Brokers — tipografia institucional da pagina inicial.
   Escopo restrito: nao altera barra de busca, cards nem paginas internas. */
@media (min-width: 981px) {
  .piemonte-home .hero .eyebrow,
  .piemonte-home .section .eyebrow { font-size: 13px; line-height: 1.5; letter-spacing: .13em; }
  .piemonte-home .hero h1 { font-size: 38px !important; line-height: 1.19 !important; }
  .piemonte-home .hero #subtituloHome { font-size: 19px; line-height: 1.65; }
  .piemonte-home .section .section-head h2,
  .piemonte-home .section .split h2 { font-size: 30px !important; line-height: 1.23 !important; }
}
@media (min-width: 681px) and (max-width: 980px) {
  .piemonte-home .hero h1 { font-size: 30px !important; }
  .piemonte-home .section .eyebrow { font-size: 12px; }
}
@media (max-width: 680px) {
  .piemonte-home .hero h1 { font-size: 29px !important; line-height: 1.2 !important; }
  .piemonte-home .hero #subtituloHome { font-size: 17px; }
  .piemonte-home .section .eyebrow { font-size: 11px; }
  .piemonte-home .section .section-head h2,
  .piemonte-home .section .split h2 { font-size: 24px !important; line-height: 1.24 !important; }
}

/* Busca por condomínio e bairro: preserva o select usado pela filtragem. */
.filtro-pesquisavel { position:relative; min-width:0; width:100%; }
.filtro-pesquisavel > select { display:none !important; }
.filtro-dropdown { position:relative; width:100%; }
.filtro-dropdown > summary {
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  box-sizing:border-box; width:100%; min-height:50px; padding:0 14px;
  border:1px solid #e5e5e5; background:#fff; color:#101820; font:inherit;
  white-space:nowrap; overflow:hidden; gap:8px;
}
.filtro-dropdown > summary::-webkit-details-marker { display:none; }
.filtro-dropdown > summary::after { content:""; flex:none; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); margin-right:4px; }
.filtro-dropdown[open] > summary { border-color:var(--gold, #b89b5e); }
.filtro-menu {
  position:absolute; top:calc(100% + 3px); left:0; right:0; z-index:100;
  background:white; border:1px solid #ddd; box-shadow:0 12px 25px #0002; padding:8px;
}
.search-box .filtro-menu input, .filtros .filtro-menu input {
  box-sizing:border-box; display:block; width:100%; height:42px; min-height:42px;
  padding:9px 10px; border:1px solid #ddd; border-radius:3px; background:#fff;
  color:#101820; font:inherit; outline:none;
}
.filtro-resultados { max-height:230px; overflow-y:auto; overscroll-behavior:contain; margin-top:5px; }
.filtro-opcao { display:block; width:100%; text-align:left; border:0; background:#fff; padding:10px; color:#101820; cursor:pointer; font:inherit; overflow-wrap:anywhere; }
.filtro-opcao:hover, .filtro-opcao:focus-visible, .filtro-opcao[aria-pressed="true"] { background:#f3f0e9; }
.filtro-sem-resultado { padding:10px; color:#666; font-size:14px; margin:0; }
.search-section .search-box > .filtro-pesquisavel { min-width:0; width:100%; }
/* =====================================================
   PIEMONTE BROKERS — HERO + BUSCA PREMIUM
   Setembro/2026
===================================================== */

/* HERO */

.piemonte-home .hero {
  position: relative;
  min-height: 720px;
  overflow: visible;
}

.piemonte-home .hero-content-premium {
  position: relative;
  z-index: 3;
  padding-top: 20px;
  padding-bottom: 118px;
}

.piemonte-home .hero-content-premium .eyebrow {
  margin: 0 0 12px;
  color: #d8b46a;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .18em;
}

.piemonte-home .hero-title-premium {
  max-width: 760px;
  margin: 0;

  color: #fff;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 46px !important;
  line-height: 1.08 !important;

  font-weight: 400;

  letter-spacing: -.025em;
}

.piemonte-home .hero-title-premium .hero-title-gold {
  color: #d7ad5d;
}

.piemonte-home .hero-subtitle-premium {
  max-width: 720px;

  margin: 18px 0 0;

  color:
    rgba(255,255,255,.84) !important;

  font-size: 17px !important;
  line-height: 1.6 !important;
}

.piemonte-home .hero-content-premium .hero-actions {
  margin-top: 24px;
}


/* =====================================================
   POSIÇÃO DA BARRA
===================================================== */

.hero-search-premium {
  position: absolute;

  left: 0;
  right: 0;

  bottom: 22px;

  z-index: 20;

  pointer-events: none;
}

.hero-search-premium .container {
  pointer-events: auto;
}


/* =====================================================
   BARRA PRINCIPAL
===================================================== */

.search-box-premium {
  width:
    min(
      100%,
      1120px
    );

  min-height: 54px;

  margin:
    0 auto;

  padding:
    5px
    6px
    5px
    12px;

  display: flex;

  align-items: stretch;

  background:
    linear-gradient(
      90deg,
      rgba(8,29,23,.97) 0%,
      rgba(8,25,20,.97) 60%,
      rgba(18,18,11,.97) 100%
    );

  border:
    1px solid
    rgba(202,165,92,.88);

  border-radius:
    999px;

  box-shadow:
    0 16px 38px
    rgba(0,0,0,.26);

  overflow: visible;
}


/* =====================================================
   CADA CAMPO
===================================================== */

.search-box-premium
.search-field {

  position: relative;

  min-width: 0;

  flex:
    1 1 0;

  display: flex;

  align-items: center;

  padding:
    0 10px;

  border-right:
    1px solid
    rgba(213,178,108,.22);
}


.search-box-premium
.search-field:nth-last-of-type(1) {
  border-right: 0;
}


.search-box-premium
.search-field-icon {

  flex:
    0 0 auto;

  margin-right: 7px;

  color: #d7ad5d;

  font-size: 14px;

  line-height: 1;
}


/* =====================================================
   SELECT
===================================================== */

.search-box-premium
.search-field select {

  width: 100%;

  min-width: 0;

  height: 44px;

  padding:
    0 20px 0 0;

  border:
    0 !important;

  border-right:
    0 !important;

  border-radius:
    0 !important;

  outline: 0;

  background:
    transparent !important;

  color: #fff;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 12px;

  font-weight: 500;

  white-space: nowrap;

  cursor: pointer;
}


.search-box-premium
.search-field select option {

  color: #15221d;

  background: #fff;
}


/* =====================================================
   DROPDOWNS
===================================================== */

.search-box-premium
.filtro-pesquisavel,

.search-box-premium
.search-field-location {

  width: auto;
}


.search-box-premium
.filtro-dropdown {

  position: relative;

  width: 100%;

  min-width: 0;
}


.search-box-premium
.filtro-dropdown > summary {

  width: 100%;

  min-height: 44px;

  padding:
    0 20px 0 0;

  display: flex;

  align-items: center;

  justify-content:
    space-between;

  border: 0;

  background:
    transparent;

  color: #fff;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 12px;

  font-weight: 500;

  white-space: nowrap;

  overflow: hidden;

  text-overflow:
    ellipsis;

  cursor: pointer;
}


.search-box-premium
.filtro-dropdown
> summary::after {

  content: "";

  flex:
    0 0 auto;

  width: 6px;

  height: 6px;

  margin-left: 8px;

  margin-right: 1px;

  border-right:
    1.5px solid
    #d7ad5d;

  border-bottom:
    1.5px solid
    #d7ad5d;

  transform:
    rotate(45deg)
    translateY(-1px);
}


.search-box-premium
.filtro-dropdown[open]
> summary {

  border-color:
    transparent;
}


/* =====================================================
   CAIXA QUE ABRE
===================================================== */

.search-box-premium
.filtro-menu {

  position: absolute;

  top:
    calc(100% + 10px);

  left: -14px;

  right: auto;

  width: 300px;

  max-height: 410px;

  padding: 12px;

  overflow-y: auto;

  background: #fff;

  border:
    1px solid
    rgba(20,50,41,.12);

  border-radius: 14px;

  box-shadow:
    0 18px 45px
    rgba(0,0,0,.20);

  z-index: 9999;
}


.search-box-premium
.search-field-location
.filtro-menu {

  width: 330px;
}


/* =====================================================
   BUSCA DENTRO DO DROPDOWN
===================================================== */

.search-box-premium
.filtro-menu input {

  width: 100%;

  height: 40px;

  min-height: 40px;

  margin:
    0 0 8px;

  padding:
    0 11px;

  border:
    1px solid
    #dcdedb !important;

  border-radius:
    8px !important;

  background:
    #fff !important;

  color:
    #16211d;

  font-size:
    12px;

  outline:
    none;
}


.search-box-premium
.filtro-menu input:focus {

  border-color:
    #b78c37 !important;

  box-shadow:
    0 0 0 2px
    rgba(183,140,55,.08);
}


/* =====================================================
   RESULTADOS
===================================================== */

.search-box-premium
.filtro-resultados {

  max-height: 230px;

  overflow-y: auto;

  overscroll-behavior:
    contain;

  margin-top: 4px;
}


.search-box-premium
.filtro-opcao {

  display: block;

  width: 100%;

  padding:
    9px 10px;

  border: 0;

  border-radius: 7px;

  background: #fff;

  color:
    #16211d;

  text-align: left;

  font: inherit;

  font-size: 12px;

  cursor: pointer;
}


.search-box-premium
.filtro-opcao:hover,

.search-box-premium
.filtro-opcao:focus-visible,

.search-box-premium
.filtro-opcao[aria-pressed="true"] {

  background:
    #f4f1ea;

  color:
    #7d6028;
}


.search-box-premium
.filtro-sem-resultado {

  margin: 0;

  padding:
    9px 10px;

  color: #666;

  font-size:
    12px;
}


/* =====================================================
   REGIÕES / CIDADES
===================================================== */

.localizacao-titulo {

  margin:
    8px
    8px
    5px;

  color:
    #9a7938;

  font-size:
    10px;

  font-weight:
    700;

  letter-spacing:
    .16em;
}


.localizacao-divisor {

  height: 1px;

  margin:
    10px 4px;

  background:
    #e7e5df;
}


/* =====================================================
   BOTÃO BUSCAR
===================================================== */

.search-box-premium
.search-submit-premium {

  flex:
    0 0 118px;

  min-width:
    118px;

  min-height:
    44px;

  margin:
    0 0 0 6px;

  padding:
    0 18px;

  border: 0;

  border-radius:
    999px;

  background:
    linear-gradient(
      135deg,
      #e2ba68,
      #cfa24c
    );

  color:
    #11150f;

  font-size:
    12px;

  font-weight:
    700;

  letter-spacing:
    .01em;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  gap: 10px;

  cursor:
    pointer;

  transition:
    transform .2s ease,
    box-shadow .2s ease;
}


.search-box-premium
.search-submit-premium:hover {

  background:
    linear-gradient(
      135deg,
      #edc878,
      #d7ab55
    );

  color:
    #11150f;

  transform:
    translateY(-1px);

  box-shadow:
    0 8px 20px
    rgba(211,169,79,.20);
}


.search-box-premium
.search-submit-premium span {

  font-size:
    16px;

  line-height:
    1;
}


/* =====================================================
   TAMANHO DE CADA ITEM
===================================================== */

.search-box-premium
.search-field:nth-of-type(1) {
  flex:
    .86 1 0;
}


.search-box-premium
.search-field:nth-of-type(2) {
  flex:
    .9 1 0;
}


.search-box-premium
.search-field:nth-of-type(3) {
  flex:
    1.28 1 0;
}


.search-box-premium
.search-field:nth-of-type(4) {
  flex:
    1.05 1 0;
}


.search-box-premium
.search-field:nth-of-type(5) {
  flex:
    .88 1 0;
}


.search-box-premium
.search-field:nth-of-type(6) {
  flex:
    .72 1 0;
}


.search-box-premium
.search-field:nth-of-type(7) {
  flex:
    1.08 1 0;
}


/* =====================================================
   IMÓVEIS
===================================================== */

.portfolio-search-premium {

  margin:
    24px auto 34px;
}


.portfolio-search-premium
.search-box-premium {

  width: 100%;

  max-width: none;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width:1180px) {

  .search-box-premium {
    width:100%;
  }


  .search-box-premium
  .search-field {

    padding-left:8px;

    padding-right:8px;
  }


  .search-box-premium
  .search-field-icon {

    display:none;
  }


  .search-box-premium
  .search-submit-premium {

    flex-basis:108px;

    min-width:108px;

    padding-left:14px;

    padding-right:14px;
  }

}


@media (max-width:980px) {

  .piemonte-home .hero {
    min-height:700px;
  }


  .piemonte-home
  .hero-content-premium {

    padding-bottom:
      175px;
  }


  .piemonte-home
  .hero-title-premium {

    font-size:
      38px !important;
  }


  .hero-search-premium {
    bottom:18px;
  }


  .search-box-premium {

    display:grid;

    grid-template-columns:
      repeat(
        4,
        minmax(0,1fr)
      );

    gap:5px;

    padding:7px;

    border-radius:18px;
  }


  .search-box-premium
  .search-field {

    min-height:44px;

    padding:
      0 10px;

    border:
      1px solid
      rgba(213,178,108,.14);

    border-radius:
      10px;
  }


  .search-box-premium
  .search-field:nth-of-type(n) {

    flex:initial;
  }


  .search-box-premium
  .search-submit-premium {

    width:100%;

    min-width:0;

    margin:0;
  }

}


/* =====================================================
   CELULAR
===================================================== */

@media (max-width:680px) {

  .piemonte-home .hero {

    min-height:790px;

    align-items:flex-start;
  }


  .piemonte-home
  .hero-content-premium {

    padding-top:86px;

    padding-bottom:280px;
  }


  .piemonte-home
  .hero-title-premium {

    max-width:100%;

    font-size:
      31px !important;

    line-height:
      1.12 !important;
  }


  .piemonte-home
  .hero-subtitle-premium {

    font-size:
      15px !important;

    line-height:
      1.55 !important;
  }


  .piemonte-home
  .hero-content-premium
  .hero-actions {

    display:none;
  }


  .hero-search-premium {
    bottom:14px;
  }


  .hero-search-premium
  .container {

    width:
      calc(100% - 22px);
  }


  .search-box-premium {

    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );

    gap:5px;

    padding:7px;

    border-radius:16px;
  }


  .search-box-premium
  .search-field {

    min-height:42px;
  }


  .search-box-premium
  .search-field select,

  .search-box-premium
  .filtro-dropdown > summary {

    height:40px;

    min-height:40px;

    font-size:11px;
  }


  .search-box-premium
  .search-submit-premium {

    grid-column:
      1 / -1;

    min-height:42px;
  }


  .search-box-premium
  .filtro-menu,

  .search-box-premium
  .search-field-location
  .filtro-menu {

    left:0;

    width:
      min(
        310px,
        calc(100vw - 42px)
      );
  }

}


/* =====================================================
   DESKTOP
===================================================== */

@media (min-width:981px) {

  .piemonte-home
  .hero
  h1.hero-title-premium {

    font-size:
      46px !important;

    line-height:
      1.08 !important;
  }


  .piemonte-home
  .hero
  #subtituloHome.hero-subtitle-premium {

    font-size:
      17px !important;

    line-height:
      1.6 !important;
  }


  .search-box-premium {

    min-height:
      54px !important;
  }


  .search-box-premium
  .search-field select,

  .search-box-premium
  .filtro-dropdown > summary {

    min-height:
      44px !important;

    height:
      44px !important;
  }

}
@media (max-width:680px) {

  .piemonte-home .hero {
    min-height: 690px;
    padding-bottom: 0;
  }

  .piemonte-home .hero-content-premium {
    padding-top: 42px;
    padding-bottom: 40px;
  }

  .hero-search-premium {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;

    margin-top: 0;

    transform: none;

    background: #ffffff;

    padding: 14px 0 18px;
  }

  .hero-search-premium .container {
    width: calc(100% - 24px);
  }

  .search-box-premium {
    margin: 0 auto;
  }

}
/* =====================================================
   CORREÇÃO FINAL — HOME MOBILE
   Barra abaixo da foto
===================================================== */

@media (max-width:680px) {

  /* A hero deixa de organizar os elementos lado a lado */
  .piemonte-home .hero {
    display: block !important;

    min-height: 0 !important;

    padding: 0 !important;

    overflow: visible !important;

    background-position: center top !important;

    background-size: cover !important;
  }


  /* Parte da foto */
  .piemonte-home .hero-content-premium {
    min-height: 690px;

    padding:
      340px
      24px
      40px !important;

    display: block;

    position: relative;

    z-index: 3;
  }


  /* Texto */
  .piemonte-home .hero-title-premium {
    max-width: 100%;

    font-size: 31px !important;

    line-height: 1.12 !important;
  }


  .piemonte-home .hero-subtitle-premium {
    max-width: 100%;

    font-size: 15px !important;

    line-height: 1.55 !important;
  }


  /* Não exibe os 3 botões na foto no celular */
  .piemonte-home
  .hero-content-premium
  .hero-actions {
    display: none !important;
  }


  /* =====================================================
     BARRA FORA DA FOTO
  ===================================================== */

  .piemonte-home .hero-search-premium {
    position: static !important;

    left: auto !important;
    right: auto !important;
    bottom: auto !important;

    width: 100%;

    margin: 0 !important;

    padding:
      16px
      0
      22px;

    transform: none !important;

    background: #ffffff;

    pointer-events: auto;
  }


  .piemonte-home
  .hero-search-premium
  .container {
    width: calc(100% - 24px) !important;

    margin: 0 auto;
  }


  /* Mantém a barra organizada em 2 colunas */
  .piemonte-home
  .search-box-premium {
    width: 100%;

    margin: 0 auto;

    display: grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 6px;

    padding: 8px;

    border-radius: 18px;
  }


  .piemonte-home
  .search-box-premium
  .search-field {
    width: 100%;

    min-width: 0;

    min-height: 44px;

    padding:
      0 10px;

    border:
      1px solid
      rgba(213,178,108,.16);

    border-radius: 11px;
  }


  .piemonte-home
  .search-box-premium
  .search-field select,

  .piemonte-home
  .search-box-premium
  .filtro-dropdown > summary {
    width: 100%;

    min-width: 0;

    height: 42px !important;

    min-height: 42px !important;

    font-size: 12px;
  }


  /* Botão ocupa a largura inteira */
  .piemonte-home
  .search-box-premium
  .search-submit-premium {
    grid-column: 1 / -1 !important;

    width: 100%;

    min-height: 46px;

    margin: 0 !important;
  }

}
/* =====================================================
   AJUSTE FINAL MOBILE — HOME
   FOTO COMPLETA + BUSCA FORA DA FOTO
===================================================== */

@media (max-width:680px) {

  /* HERO: mantém a foto inteira visível */
  .piemonte-home .hero {
    display: block !important;

    position: relative !important;

    min-height: 820px !important;

    height: auto !important;

    padding: 0 !important;

    overflow: hidden !important;

    background-size: cover !important;

    background-position:
      center center !important;

    background-repeat:
      no-repeat !important;
  }


  /* Conteúdo da foto */
  .piemonte-home
  .hero-content-premium {

    box-sizing: border-box;

    width: 100% !important;

    min-height: 820px !important;

    margin: 0 !important;

    padding:
      78px
      24px
      52px !important;

    position: relative;

    z-index: 3;
  }


  /* Texto principal */
  .piemonte-home
  .hero-title-premium {

    max-width: 100%;

    font-size:
      31px !important;

    line-height:
      1.12 !important;
  }


  .piemonte-home
  .hero-subtitle-premium {

    max-width: 100%;

    font-size:
      15px !important;

    line-height:
      1.55 !important;
  }


  /* Esconde os botões da foto no mobile */
  .piemonte-home
  .hero-content-premium
  .hero-actions {

    display:
      none !important;
  }


  /* =====================================================
     BARRA FORA DA FOTO
  ===================================================== */

  .piemonte-home
  .hero-search-after-photo {

    position:
      static !important;

    left:
      auto !important;

    right:
      auto !important;

    bottom:
      auto !important;

    transform:
      none !important;

    width:
      100% !important;

    margin:
      0 !important;

    padding:
      14px
      0
      16px !important;

    background:
      #ffffff !important;

    z-index:
      10;
  }


  .piemonte-home
  .hero-search-after-photo
  .container {

    width:
      calc(100% - 24px) !important;

    margin:
      0 auto !important;
  }


  /* Barra compacta em 2 colunas */
  .piemonte-home
  .hero-search-after-photo
  .search-box-premium {

    width:
      100% !important;

    margin:
      0 !important;

    display:
      grid !important;

    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      ) !important;

    gap:
      6px !important;

    padding:
      8px !important;

    border-radius:
      18px !important;
  }


  /* Campos */
  .piemonte-home
  .hero-search-after-photo
  .search-field {

    width:
      100% !important;

    min-width:
      0 !important;

    min-height:
      44px !important;

    padding:
      0 10px !important;

    border:
      1px solid
      rgba(213,178,108,.16) !important;

    border-radius:
      11px !important;
  }


  .piemonte-home
  .hero-search-after-photo
  .search-field select,

  .piemonte-home
  .hero-search-after-photo
  .filtro-dropdown > summary {

    width:
      100% !important;

    min-width:
      0 !important;

    height:
      42px !important;

    min-height:
      42px !important;

    font-size:
      12px !important;
  }


  /* Botão Buscar */
  .piemonte-home
  .hero-search-after-photo
  .search-submit-premium {

    grid-column:
      1 / -1 !important;

    width:
      100% !important;

    min-height:
      46px !important;

    margin:
      0 !important;
  }


  /* Aproxima a Seleção Piemonte da barra */
  .piemonte-home
  .hero-search-after-photo
  + .section {

    padding-top:
      28px !important;
  }

}
/* =========================================================
   AJUSTE FINAL HOME – DESKTOP + MOBILE
   Corrige:
   1) texto da home que subiu demais no mobile
   2) barra da home no desktop que foi para o meio da foto
   ========================================================= */

/* ---------- DESKTOP ---------- */
@media (min-width: 769px) {

  .piemonte-home .hero {
    min-height: 720px !important;
    overflow: visible !important;
  }

  .piemonte-home .hero-content-premium {
    position: relative !important;
    z-index: 3 !important;
    padding-top: 78px !important;
    padding-bottom: 140px !important;
  }

  .piemonte-home .search-section {
    position: relative !important;
    z-index: 5 !important;
    margin-top: -36px !important; /* desce a barra e tira do meio da foto */
    padding-bottom: 0 !important;
  }

  .piemonte-home .search-section .search-box {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
}


/* ---------- MOBILE ---------- */
@media (max-width: 768px) {

  .piemonte-home .hero {
    min-height: auto !important;
    overflow: visible !important;
  }

  .piemonte-home .hero-content-premium {
    position: relative !important;
    z-index: 3 !important;
    padding-top: 82px !important;   /* devolve o texto para a posição original */
    padding-bottom: 28px !important;
  }

  .piemonte-home .search-section {
    position: relative !important;
    z-index: 5 !important;
    margin-top: 18px !important;   /* deixa a barra fora da foto */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .piemonte-home .search-section .search-box {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    margin: 0 auto !important;
  }
}
/* =========================================================
   CORREÇÃO DEFINITIVA HOME
   Setembro/2026
========================================================= */


/* =========================================================
   COMPUTADOR
   - texto mais abaixo
   - barra no rodapé da foto
========================================================= */

@media (min-width: 769px) {

  /* FOTO */
  .piemonte-home .hero {
    position: relative !important;
    min-height: 720px !important;
  }


  /* TEXTO */
  .piemonte-home .hero-content-premium {
    padding-top: 105px !important;
    padding-bottom: 120px !important;
  }


  /*
    A barra agora está FORA do hero no HTML.
    Puxamos ela para cima somente o necessário
    para ficar encostada no rodapé da fotografia.
  */
  .piemonte-home .hero-search-premium,
  .piemonte-home .hero-search-after-photo {

    position: relative !important;

    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;

    transform: none !important;

    width: 100% !important;

    margin-top: -82px !important;
    margin-bottom: 0 !important;

    padding: 0 !important;

    background: transparent !important;

    z-index: 20 !important;
  }


  .piemonte-home
  .hero-search-after-photo
  .container {

    position: relative !important;

    margin: 0 auto !important;
  }

}



/* =========================================================
   CELULAR
   - foto continua inteira
   - texto permanece sobre a foto
   - barra fica totalmente FORA da foto
========================================================= */

@media (max-width: 768px) {

  .piemonte-home .hero {

    position: relative !important;

    display: block !important;

    min-height: 820px !important;

    height: 820px !important;

    padding: 0 !important;

    overflow: hidden !important;

    background-size: cover !important;

    background-position: center center !important;
  }


  /* POSIÇÃO DO TEXTO NA FOTO */

  .piemonte-home
  .hero-content-premium {

    box-sizing: border-box !important;

    width: 100% !important;

    min-height: 820px !important;

    margin: 0 !important;

    padding:
      108px
      24px
      40px !important;

    position: relative !important;

    z-index: 3 !important;
  }


  .piemonte-home
  .hero-title-premium {

    margin: 0 !important;

    max-width: 100% !important;

    font-size: 31px !important;

    line-height: 1.13 !important;
  }


  .piemonte-home
  .hero-subtitle-premium {

    max-width: 100% !important;

    margin-top: 28px !important;

    font-size: 15px !important;

    line-height: 1.55 !important;
  }


  .piemonte-home
  .hero-content-premium
  .hero-actions {

    display: none !important;
  }


  /* =====================================================
     BARRA ABAIXO DA FOTO
  ===================================================== */

  .piemonte-home .hero-search-premium,
  .piemonte-home .hero-search-after-photo {

    position: static !important;

    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;

    transform: none !important;

    width: 100% !important;

    margin: 0 !important;

    padding:
      14px
      0
      16px !important;

    background: #ffffff !important;

    z-index: 10 !important;
  }


  .piemonte-home
  .hero-search-after-photo
  .container {

    width:
      calc(100% - 24px) !important;

    margin:
      0 auto !important;
  }


  .piemonte-home
  .hero-search-after-photo
  .search-box-premium {

    width: 100% !important;

    margin: 0 !important;

    display: grid !important;

    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      ) !important;

    gap: 6px !important;

    padding: 8px !important;

    border-radius:
      18px !important;
  }


  .piemonte-home
  .hero-search-after-photo
  .search-field {

    width: 100% !important;

    min-width: 0 !important;

    min-height:
      44px !important;

    padding:
      0 10px !important;

    border:
      1px solid
      rgba(213,178,108,.16) !important;

    border-radius:
      11px !important;
  }


  .piemonte-home
  .hero-search-after-photo
  .search-submit-premium {

    grid-column:
      1 / -1 !important;

    width:
      100% !important;

    min-height:
      46px !important;

    margin:
      0 !important;
  }


  /*
    SELEÇÃO PIEMONTE
    LOGO DEPOIS DA BARRA
  */

  .piemonte-home
  .hero-search-after-photo
  + .section {

    padding-top:
      30px !important;
  }

}
@media (max-width: 768px) {

  .piemonte-home
  .hero-content-premium {

    padding-top: 220px !important;

    padding-bottom: 40px !important;
  }

}
/* =========================================================
   HOME MOBILE — PROPORÇÃO FINAL DA FOTO
   Mantém desktop intacto
========================================================= */

@media (max-width: 768px) {

  /*
    Reduz a altura exagerada da foto.
    Isso diminui o zoom do background e mostra
    muito mais da casa e da piscina.
  */
  .piemonte-home .hero {

    height: 610px !important;

    min-height: 610px !important;

    max-height: 610px !important;

    overflow: hidden !important;

    background-size: cover !important;

    /*
      Um pouco para a direita e para baixo:
      privilegia casa + piscina e reduz o céu.
    */
    background-position:
      58% 64% !important;

    background-repeat:
      no-repeat !important;
  }


  /*
    O conteúdo ocupa exatamente a mesma
    altura da fotografia.
  */
  .piemonte-home
  .hero-content-premium {

    height: 610px !important;

    min-height: 610px !important;

    box-sizing: border-box !important;

    padding:
      0
      24px !important;

    display: flex !important;

    flex-direction: column !important;

    justify-content: center !important;

    align-items: flex-start !important;

    position: relative !important;

    z-index: 3 !important;
  }


  /*
    Mantém o bloco de texto aproximadamente
    no centro da fotografia.
  */
  .piemonte-home
  .hero-content-premium
  .eyebrow {

    margin:
      0 0 12px !important;
  }


  .piemonte-home
  .hero-title-premium {

    margin:
      0 !important;

    max-width:
      100% !important;

    font-size:
      31px !important;

    line-height:
      1.12 !important;
  }


  .piemonte-home
  .hero-subtitle-premium {

    margin:
      24px 0 0 !important;

    max-width:
      100% !important;

    font-size:
      15px !important;

    line-height:
      1.55 !important;
  }


  /*
    Os botões continuam escondidos no celular.
  */
  .piemonte-home
  .hero-content-premium
  .hero-actions {

    display:
      none !important;
  }


  /*
    A barra continua FORA da fotografia.
  */
  .piemonte-home
  .hero-search-after-photo {

    position:
      static !important;

    margin:
      0 !important;

    padding:
      14px 0 16px !important;

    background:
      #ffffff !important;
  }

}
/* AJUSTE LEVE DO TEXTO DA HOME */

@media (min-width: 769px) {

  .piemonte-home
  .hero-title-premium {

    font-size:
      42px !important;

    line-height:
      1.08 !important;
  }


  .piemonte-home
  .hero-subtitle-premium {

    font-size:
      16px !important;
  }

}
/* =====================================================
   RESTAURA ÁREAS & OPORTUNIDADES — HOME
===================================================== */

.areas-feature-compact {
  padding: 52px 0 !important;
  background: #f0f0ee !important;
}


.areas-feature-compact-grid {
  display: grid !important;

  grid-template-columns:
    1.08fr
    .92fr !important;

  gap: 46px !important;

  align-items: center !important;
}


/* FOTO PEQUENA NA LATERAL */

.areas-feature-compact-image {
  width: 100% !important;

  height: 285px !important;

  overflow: hidden !important;

  background: #d8d4ca !important;
}


.areas-feature-compact-image img {
  width: 100% !important;

  height: 100% !important;

  object-fit: cover !important;

  display: block !important;

  transition:
    transform .6s ease;
}


.areas-feature-compact-grid:hover
.areas-feature-compact-image img {
  transform: scale(1.02);
}


/* TEXTO À DIREITA */

.areas-feature-compact-content {
  display: block !important;
}


.areas-feature-compact-content
.eyebrow {
  margin-bottom: 10px !important;

  color: #b88932 !important;
}


.areas-feature-compact-content h2 {
  max-width: 520px !important;

  margin:
    0 0 15px !important;

  color: var(--ink) !important;

  font-size: 28px !important;

  line-height: 1.15 !important;

  font-weight: 400 !important;
}


.areas-feature-compact-content p {
  max-width: 570px !important;

  margin:
    0 0 16px !important;

  color: var(--muted) !important;

  font-size: 15px !important;

  line-height: 1.62 !important;
}


.areas-feature-compact-content
.text-link {
  margin-top: 5px !important;

  color: #b88932 !important;
}


/* =====================================================
   TABLET / MOBILE
===================================================== */

@media (max-width: 850px) {

  .areas-feature-compact-grid {
    grid-template-columns:
      1fr !important;

    gap: 28px !important;
  }


  .areas-feature-compact-image {
    height:
      310px !important;
  }

}


@media (max-width: 550px) {

  .areas-feature-compact {
    padding:
      42px 0 !important;
  }


  .areas-feature-compact-image {
    height:
      240px !important;
  }


  .areas-feature-compact-content h2 {
    font-size:
      25px !important;
  }

}
/* =====================================================
   AVALIAÇÃO IMOBILIÁRIA — VISUAL PREMIUM
   ALTERA SOMENTE ESTA SEÇÃO
===================================================== */

.avaliacao-feature {
  background: #E8E0D3 !important;
  padding-top: 58px !important;
  padding-bottom: 58px !important;
}


.avaliacao-feature-grid {
  display: block !important;

  background: transparent !important;

  border: 0 !important;

  box-shadow: none !important;
}


/* REMOVE OS DOIS BLOCOS SEPARADOS */
.avaliacao-feature-kicker,
.avaliacao-feature-content {
  min-height: 0 !important;

  padding: 0 !important;

  background: transparent !important;

  color: inherit !important;
}


/* EYEBROW */
.avaliacao-feature-kicker .eyebrow {
  margin-bottom: 12px !important;

  color: #B88932 !important;

  font-size: 12px !important;

  font-weight: 700 !important;

  letter-spacing: .16em !important;
}


/* TÍTULO PRINCIPAL */
.avaliacao-feature-kicker h2 {
  max-width: 980px !important;

  margin:
    0 0 16px !important;

  color: #17372F !important;

  font-size:
    36px !important;

  line-height:
    1.15 !important;

  font-weight:
    400 !important;
}


/* PRIMEIRO TEXTO */
.avaliacao-feature-kicker p {
  max-width: 980px !important;

  margin:
    0 0 26px !important;

  color: #494C47 !important;

  font-size:
    15px !important;

  line-height:
    1.7 !important;
}


/* SUBTÍTULO */
.avaliacao-feature-content h3 {
  margin:
    0 0 12px !important;

  color: #27362F !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size:
    27px !important;

  line-height:
    1.2 !important;

  font-weight:
    400 !important;
}


/* TEXTO DESCRITIVO */
.avaliacao-feature-content > p {
  max-width: 1120px !important;

  margin:
    0 0 28px !important;

  color: #4D504B !important;

  font-size:
    15px !important;

  line-height:
    1.65 !important;
}


/* =====================================================
   4 ITENS
===================================================== */

.avaliacao-points {
  display: grid !important;

  grid-template-columns:
    repeat(4, 1fr) !important;

  gap: 0 !important;

  margin:
    0 0 28px !important;

  border-top:
    1px solid
    rgba(184,137,50,.28) !important;

  border-bottom:
    1px solid
    rgba(184,137,50,.28) !important;
}


.avaliacao-points span {
  position: relative !important;

  min-height: 78px !important;

  padding:
    26px
    22px !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  text-align: center !important;

  border-top:
    0 !important;

  color: #2D332F !important;

  font-size:
    14px !important;

  line-height:
    1.4 !important;
}


/* DIVISORES VERTICAIS */
.avaliacao-points span:not(:last-child)::after {
  content: "";

  position: absolute;

  top: 20px;
  right: 0;
  bottom: 20px;

  width: 1px;

  background:
    rgba(184,137,50,.36);
}


/* =====================================================
   BOTÕES
===================================================== */

.avaliacao-actions {
  display: flex !important;

  flex-wrap: wrap !important;

  gap: 12px !important;

  margin-top: 0 !important;
}


.avaliacao-actions .btn.gold {
  min-height: 48px !important;

  padding:
    0 24px !important;

  background: #D2A951 !important;

  border:
    1px solid
    #D2A951 !important;

  color: #151913 !important;

  font-weight:
    700 !important;
}


/* ESCONDE SOMENTE O SEGUNDO BOTÃO
   PARA FICAR COMO NO MODELO VISUAL */
.avaliacao-actions .btn.ghost {
  display: none !important;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 850px) {

  .avaliacao-feature {
    padding-top:
      44px !important;

    padding-bottom:
      44px !important;
  }


  .avaliacao-feature-kicker h2 {
    font-size:
      30px !important;
  }


  .avaliacao-feature-content h3 {
    font-size:
      24px !important;
  }


  .avaliacao-points {
    grid-template-columns:
      1fr 1fr !important;
  }


  .avaliacao-points span:nth-child(2)::after {
    display: none;
  }


  .avaliacao-points span {
    min-height:
      72px !important;

    padding:
      20px 14px !important;
  }

}


@media (max-width: 550px) {

  .avaliacao-feature {
    padding-top:
      38px !important;

    padding-bottom:
      38px !important;
  }


  .avaliacao-feature-kicker h2 {
    font-size:
      27px !important;
  }


  .avaliacao-feature-content h3 {
    font-size:
      22px !important;
  }


  .avaliacao-points {
    grid-template-columns:
      1fr !important;
  }


  .avaliacao-points span {
    justify-content:
      flex-start !important;

    text-align:
      left !important;

    min-height:
      58px !important;

    padding:
      16px 4px !important;

    border-bottom:
      1px solid
      rgba(184,137,50,.20) !important;
  }


  .avaliacao-points span::after {
    display:
      none !important;
  }

}
/* =====================================================
   RESTAURA REGIÕES DE ATUAÇÃO — HOME
   NÃO ALTERA OUTRAS ÁREAS DO SITE
===================================================== */

.regioes-home-redesign {
  padding: 30px 0 54px !important;
  margin-top: -20px !important;
  background: #ffffff !important;
}


.regioes-home-redesign .section-head {
  align-items: end !important;
  margin-bottom: 28px !important;
}


.regioes-home-redesign .section-head h2 {
  margin: 6px 0 7px !important;

  font-size: 24px !important;
  line-height: 1.2 !important;

  font-weight: 400 !important;
}


.regioes-home-subtitle {
  margin: 0 !important;

  color: var(--muted) !important;

  font-size: 15px !important;
  line-height: 1.55 !important;
}


.regioes-home-redesign
.section-head
.text-link {
  margin-top: 0 !important;
  white-space: nowrap !important;
}


/* =====================================================
   GRID DAS 4 REGIÕES
===================================================== */

.regioes-feature-grid {
  display: grid !important;

  grid-template-columns:
    repeat(4, minmax(0, 1fr)) !important;

  gap: 14px !important;
}


/* =====================================================
   CARD
===================================================== */

.regioes-feature-card {
  position: relative !important;

  display: block !important;

  width: 100% !important;

  min-width: 0 !important;

  height: 230px !important;

  min-height: 230px !important;

  max-height: 230px !important;

  overflow: hidden !important;

  background: #0b2a2b !important;

  isolation: isolate !important;

  text-decoration: none !important;
}


/* =====================================================
   FOTO
===================================================== */

.regioes-feature-card img {
  position: absolute !important;

  inset: 0 !important;

  width: 100% !important;

  height: 100% !important;

  max-width: none !important;

  object-fit: cover !important;

  display: block !important;

  z-index: -2 !important;

  transition:
    transform .5s ease !important;
}


.regioes-feature-card:hover img {
  transform: scale(1.035) !important;
}


/* =====================================================
   SOMBRA SOBRE A FOTO
===================================================== */

.regioes-feature-card::after {
  content: "" !important;

  position: absolute !important;

  inset: 0 !important;

  z-index: -1 !important;

  background:
    linear-gradient(
      to top,
      rgba(4,28,38,.94) 0%,
      rgba(4,28,38,.72) 29%,
      rgba(4,28,38,.12) 68%,
      rgba(4,28,38,.03) 100%
    ) !important;
}


/* =====================================================
   TEXTO
===================================================== */

.regioes-feature-copy {
  position: absolute !important;

  left: 16px !important;
  right: 54px !important;
  bottom: 14px !important;

  color: #ffffff !important;
}


.regioes-feature-copy h3 {
  margin: 0 0 6px !important;

  color: #ffffff !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size: 18px !important;

  line-height: 1.12 !important;

  font-weight: 400 !important;
}


.regioes-feature-copy p {
  margin: 0 !important;

  color:
    rgba(255,255,255,.84) !important;

  font-size: 12px !important;

  line-height: 1.35 !important;
}


/* =====================================================
   SETA
===================================================== */

.regioes-feature-arrow {
  position: absolute !important;

  right: 14px !important;
  bottom: 16px !important;

  width: 38px !important;
  height: 38px !important;

  display: grid !important;

  place-items: center !important;

  border:
    1px solid var(--gold) !important;

  border-radius: 50% !important;

  color: var(--gold) !important;

  font-size: 21px !important;

  line-height: 1 !important;

  background:
    rgba(4,28,38,.42) !important;
}


/* =====================================================
   BARRA OUTRAS OPORTUNIDADES
===================================================== */

.outras-oportunidades-home {
  display: grid !important;

  grid-template-columns:
    auto
    1px
    minmax(0,1fr)
    auto !important;

  align-items: center !important;

  gap: 24px !important;

  margin-top: 16px !important;

  padding: 20px 24px !important;

  background: #103452 !important;

  color: #ffffff !important;
}


.outras-oportunidades-icon {
  color: #d2ad62 !important;

  font-size: 31px !important;

  line-height: 1 !important;
}


.outras-oportunidades-divider {
  width: 1px !important;

  height: 46px !important;

  background:
    rgba(210,173,98,.78) !important;
}


.outras-oportunidades-copy h3 {
  margin: 0 0 4px !important;

  color: #ffffff !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size: 20px !important;

  line-height: 1.15 !important;

  font-weight: 400 !important;
}


.outras-oportunidades-copy p {
  margin: 0 !important;

  color:
    rgba(255,255,255,.72) !important;

  font-size: 13px !important;

  line-height: 1.45 !important;
}


.outras-oportunidades-home .btn {
  min-height: 44px !important;

  padding: 0 22px !important;

  border:
    1px solid #d2ad62 !important;

  color: #ffffff !important;

  background: transparent !important;

  white-space: nowrap !important;
}


.outras-oportunidades-home .btn:hover {
  background: #d2ad62 !important;

  color: #102638 !important;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 980px) {

  .regioes-feature-grid {
    grid-template-columns:
      repeat(2, minmax(0,1fr)) !important;
  }


  .outras-oportunidades-home {
    grid-template-columns:
      auto
      1px
      minmax(0,1fr) !important;
  }


  .outras-oportunidades-home .btn {
    grid-column: 3 !important;

    justify-self: start !important;
  }

}


/* =====================================================
   CELULAR
===================================================== */

@media (max-width: 680px) {

  .regioes-home-redesign {
    padding:
      52px 0 44px !important;

    margin-top: 0 !important;
  }


  .regioes-feature-grid {
    grid-template-columns:
      1fr !important;
  }


  .regioes-feature-card {
    height: 240px !important;

    min-height: 240px !important;

    max-height: 240px !important;
  }


  .outras-oportunidades-home {
    grid-template-columns:
      auto
      1px
      1fr !important;

    gap: 16px !important;

    padding: 18px !important;
  }


  .outras-oportunidades-home .btn {
    grid-column:
      1 / -1 !important;

    width: 100% !important;
  }

}
