/* Grenna Imóveis — design system do site (v5, 01/10/2026)
   v5: manual de identidade da Grenna (Poppins, amarelo #FED53C, cinzas do manual) no lugar da
   Cormorant + dourado do conceito. Pedidos da reunião de 01/10: números alinhados, texto e linhas
   mais escuros. Raleway fica só no wordmark, até chegar o arquivo do logo. */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Raleway:wght@300;600&display=swap');

:root{
  --paper:#F7F6F4;
  --white:#FFFFFF;
  --ink:#1A1A1A;
  --grey:#45433F;
  --faint:#5C5A55;
  --hair:#D9D6D1;
  --hair2:#F0EFEE;
  --line:#333333;   /* linhas de lista (ficha, bairros, dúvidas): pedido de 01/10, "linha preta" */
  --gold:#FED53C;   /* amarelo da marca: só fundo escuro, preenchimento ou traço grosso, nunca texto em fundo claro */
  --ease:cubic-bezier(.25,.6,.2,1);
  color-scheme:light;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{background:var(--paper)}
body{
  font-family:'Poppins',ui-sans-serif,system-ui,sans-serif;
  color:var(--ink);font-size:15px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
::selection{background:#FFEFA8;color:var(--ink)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
[hidden]{display:none!important}

.serif{font-family:'Poppins',sans-serif}
.num{font-variant-numeric:lining-nums tabular-nums}
.wrap{max-width:1360px;margin:0 auto;padding-inline:clamp(18px,4vw,64px)}
section{padding-block:clamp(64px,8vw,112px)}

.kicker{font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--faint);font-weight:500}
h1,h2{font-family:'Poppins',sans-serif;font-weight:600;
  line-height:1.15;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:clamp(30px,3.6vw,48px)}
h2{font-size:clamp(24px,2.6vw,34px)}
.lead{color:var(--grey);font-weight:400;font-size:clamp(15px,1.25vw,17px);max-width:58ch}

.rv{transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .rv{opacity:0;transform:translateY(14px)}
.js .rv.in{opacity:1;transform:none}

/* ---------- barra ---------- */
.top{position:sticky;top:0;z-index:60;background:rgba(251,250,247,.94);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--hair)}
.top .in{max-width:1360px;margin:0 auto;padding:0 clamp(18px,4vw,64px);
  display:flex;align-items:center;gap:28px;height:72px}
.wordmark{display:flex;align-items:center;gap:12px;line-height:1}
.wordmark .wm-ico{width:46px;height:30px;flex:0 0 auto}
.wordmark .wm-bar{width:1px;height:30px;background:var(--ink);opacity:.55}
.wordmark .wm-txt{display:flex;flex-direction:column;gap:3px}
.wordmark .wm-txt b{font-family:'Raleway',sans-serif;font-weight:300;font-size:25px;
  letter-spacing:.005em;line-height:.95;color:var(--ink)}
.wordmark .wm-txt span{font-family:'Raleway',sans-serif;font-weight:600;font-size:10.5px;
  letter-spacing:.02em;color:var(--ink)}
.menu{display:flex;gap:30px;margin-left:auto}
.menu a{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
  color:var(--grey);padding-block:6px;position:relative;transition:color .4s var(--ease)}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--gold);transition:right .45s var(--ease)}
.menu a:hover{color:var(--ink)}
.menu a:hover::after{right:0}
.menu a[aria-current="page"]{color:var(--ink)}
.menu a[aria-current="page"]::after{right:0}
.top-cta{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  border:1px solid var(--ink);padding:12px 22px;transition:all .45s var(--ease);
  white-space:nowrap}
.top-cta:hover{background:var(--ink);color:var(--paper)}
.top-tel{font-size:11px;letter-spacing:.14em;font-weight:500;color:var(--ink);white-space:nowrap}
.top-tel:hover{color:var(--grey)}
.menu a{white-space:nowrap}

.burger{display:none;width:40px;height:40px;position:relative;margin-left:auto}
.burger span{position:absolute;left:9px;right:9px;height:1.4px;background:var(--ink);
  transition:transform .5s var(--ease)}
.burger span:nth-child(1){top:15px}
.burger span:nth-child(2){top:23px}
.burger.x span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.burger.x span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
/* cabeçalho cheio (7 links + área do cliente + 2 telefones): aperta, depois vira menu de celular */
@media(max-width:1480px){.top .in{gap:22px}.menu{gap:22px}}
@media(max-width:1300px){.entrar{display:none}}
@media(max-width:1180px){.menu,.top-cta,.entrar,.top-tel{display:none}.burger{display:block}}
.mobsheet{position:fixed;inset:0;z-index:55;background:var(--paper);
  display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .45s var(--ease)}
.mobsheet.open{opacity:1;pointer-events:auto}
.mobsheet nav{display:flex;flex-direction:column;gap:18px;text-align:center}
.mobsheet a{font-family:'Poppins',sans-serif;font-size:24px;font-weight:500;
  opacity:0;transform:translateY(16px);transition:all .55s var(--ease)}
.mobsheet.open a{opacity:1;transform:none}
.mobsheet.open a:nth-child(2){transition-delay:.05s}
.mobsheet.open a:nth-child(3){transition-delay:.1s}
.mobsheet.open a:nth-child(4){transition-delay:.15s}
.mobsheet.open a:nth-child(5){transition-delay:.2s}

.entrar{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  color:var(--grey);white-space:nowrap;position:relative;padding-block:6px;
  transition:color .4s var(--ease)}
.entrar::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--gold);transition:right .45s var(--ease)}
.entrar:hover{color:var(--ink)}
.entrar:hover::after{right:0}

/* ---------- botões ---------- */
.btn{display:inline-block;background:var(--ink);color:var(--paper);
  font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;
  padding:16px 34px;border:1px solid var(--ink);transition:all .45s var(--ease);
  text-align:center;cursor:pointer}
.btn:hover{background:transparent;color:var(--ink)}
.btn-line{display:inline-block;border:1px solid var(--ink);color:var(--ink);
  font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;
  padding:15px 32px;transition:all .45s var(--ease);text-align:center;cursor:pointer}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.linklight{display:inline-block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:500;color:var(--ink);border-bottom:2px solid var(--gold);padding-bottom:4px;
  transition:color .4s}
.linklight:hover{border-bottom-color:var(--ink)}

/* ---------- hero home (slideshow) ---------- */
.hero{position:relative;height:min(80svh,780px);overflow:hidden;background:var(--ink)}
.hero .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity 1.6s var(--ease)}
.hero .slide.on{opacity:1;animation:herozoom 9s linear forwards}
@keyframes herozoom{from{transform:scale(1.02)}to{transform:scale(1.09)}}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,18,12,.18),rgba(20,18,12,.04) 32%,rgba(20,18,12,.2) 52%,rgba(20,18,12,.68) 82%,rgba(20,18,12,.74))}
.hero-cap .kicker{text-shadow:0 1px 12px rgba(0,0,0,.5)}
.hero-cap h1{text-shadow:0 2px 28px rgba(0,0,0,.45),0 1px 6px rgba(0,0,0,.3)}
.hero-sub{margin-top:16px;color:rgba(252,251,248,.92);font-weight:400;max-width:54ch;
  font-size:clamp(14px,1.2vw,16.5px);text-shadow:0 1px 14px rgba(0,0,0,.5)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:26px}
.btn-hero{display:inline-block;background:var(--gold);color:var(--ink);font-weight:600;
  font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;
  padding:16px 34px;transition:background .45s var(--ease)}
.btn-hero:hover{background:#FFE275}
.hero-dots{display:flex;gap:8px;margin-top:30px}
.hero-dots button{width:26px;height:14px;position:relative}
.hero-dots button::before{content:"";position:absolute;left:0;right:0;top:6px;height:2px;
  background:rgba(252,251,248,.4);transition:background .4s}
.hero-dots button.on::before{background:var(--gold)}
.hero-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;color:#FCFBF8}
.hero-cap .wrap{padding-bottom:clamp(32px,4.5vw,56px)}
.hero-cap .kicker{color:rgba(252,251,248,.85)}
.hero-cap h1{font-size:clamp(32px,4.2vw,56px);max-width:18ch;margin-top:12px;
  text-shadow:0 1px 30px rgba(0,0,0,.18)}
.hero-ref{position:absolute;right:clamp(18px,4vw,64px);bottom:16px;z-index:2;
  font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:rgba(252,251,248,.6)}

/* busca */
.finder-strip{background:var(--white);border-bottom:1px solid var(--hair)}
.finder{display:flex;align-items:stretch;max-width:1360px;margin:0 auto;
  padding-inline:clamp(18px,4vw,64px)}
.finder .fld{flex:1;display:flex;flex-direction:column;gap:3px;justify-content:center;
  padding:20px 26px 18px 0;border-right:1px solid var(--hair2)}
.finder .fld+.fld{padding-left:26px}
.finder label{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);
  font-weight:500}
.finder select{appearance:none;-webkit-appearance:none;border:0;background:transparent
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M1 1l3.5 3.5L8 1' stroke='%231A1A1A' fill='none'/%3E%3C/svg%3E") right center no-repeat;
  font:inherit;font-size:15px;color:var(--ink);padding-right:18px;cursor:pointer}
.finder .go{align-self:stretch;display:flex;align-items:center;padding-left:clamp(14px,2vw,30px)}

/* ---------- cabeçalho de página interna ---------- */
.pagehead{border-bottom:1px solid var(--hair);background:var(--white)}
.pagehead .wrap{padding-block:clamp(36px,5vw,64px)}
.crumb{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);
  font-weight:500;display:flex;gap:10px;flex-wrap:wrap}
.crumb a:hover{color:var(--ink)}
.crumb i{font-style:normal;color:var(--hair)}
.pagehead h1{margin-top:14px}
.pagehead .lead{margin-top:12px}

/* ---------- seções home ---------- */
.shead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:20px;margin-bottom:clamp(30px,4vw,52px)}
.shead h2{margin-top:14px}
.shead .side{max-width:38ch;color:var(--grey);font-weight:400;font-size:14.5px;padding-bottom:6px}

/* ---------- filtros ---------- */
.filters{display:flex;flex-wrap:wrap;gap:26px;align-items:baseline;
  border-bottom:1px solid var(--hair);padding-bottom:16px;margin-bottom:clamp(28px,3.5vw,44px)}
.tab{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
  color:var(--faint);padding-bottom:6px;position:relative;transition:color .4s}
.tab::after{content:"";position:absolute;left:0;right:0;bottom:-17px;height:2px;
  background:transparent;transition:background .4s}
.tab:hover{color:var(--ink)}
.tab.on{color:var(--ink)}
.tab.on::after{background:var(--gold)}
.fsel select{appearance:none;-webkit-appearance:none;border:0;border-bottom:1px solid var(--hair);
  background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M1 1l3.5 3.5L8 1' stroke='%231A1A1A' fill='none'/%3E%3C/svg%3E") right 2px center no-repeat;
  font:inherit;font-size:12.5px;color:var(--grey);padding:0 20px 6px 0;cursor:pointer}
.count{margin-left:auto;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}

/* ---------- grade de imóveis ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(26px,3vw,44px);
  row-gap:clamp(40px,4.5vw,64px)}
@media(max-width:1060px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid{grid-template-columns:1fr}}

.pcard{display:block;text-align:left}
.pcard .ph{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--hair2)}
.pcard .ph img{width:100%;height:100%;object-fit:cover;
  transition:transform 1.1s var(--ease),opacity .7s var(--ease)}
.pcard .ph img.b{position:absolute;inset:0;opacity:0}
.pcard:hover .ph img.a{transform:scale(1.045)}
.pcard:hover .ph img.b{opacity:1;transform:scale(1.045)}
.pcard .tagline{position:absolute;top:14px;left:14px;background:rgba(251,250,247,.92);
  font-size:9px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;
  padding:7px 12px;color:var(--ink)}
.pcard .cap{padding-top:18px}
.pcard .loc{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pcard .loc span{font-size:10px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--faint);font-weight:500}
.pcard .loc i{font-style:normal;font-size:10px;letter-spacing:.16em;color:var(--faint);
  transition:color .4s}
.pcard:hover .loc i{color:var(--faint)}
.pcard h3{font-family:'Poppins',sans-serif;font-weight:500;font-size:18px;
  line-height:1.2;margin-top:7px}
.pcard .meta{display:flex;flex-wrap:wrap;gap:6px 0;margin-top:6px;
  font-size:12.5px;color:var(--grey);font-weight:400}
.pcard .meta em{font-style:normal}
.pcard .meta em+em::before{content:"·";margin-inline:8px;color:var(--hair)}
.pcard .price{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);
  font-size:15px;letter-spacing:.02em;color:var(--ink);font-weight:500}
.pcard .price i,.p-price i{font-style:normal;font-size:.62em;color:var(--grey);font-weight:400;
  letter-spacing:.04em}
.sep-v{width:1px;height:16px;background:var(--hair);align-self:center}
.empty{grid-column:1/-1;padding:80px 20px;text-align:center;color:var(--grey);font-weight:400}
.empty b{font-family:'Poppins',sans-serif;font-weight:600;font-size:21px;display:block;
  margin-bottom:8px;color:var(--ink)}

/* ---------- concierge ---------- */
.concierge{background:var(--white);border-block:1px solid var(--hair);text-align:center}
.concierge h2{max-width:24ch;margin:14px auto 0}
.concierge .lead{margin:18px auto 0}
.concierge .btn{margin-top:34px}
.concierge.esq{text-align:left}
.concierge.esq h2,.concierge.esq .lead{margin-left:0;margin-right:0}

/* ---------- bairros ---------- */
.bgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,3vw,44px)}
@media(max-width:900px){.bgrid{grid-template-columns:1fr}}
.bcard .ph{display:block;width:100%;overflow:hidden;aspect-ratio:16/10;background:var(--hair2)}
.bcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.bcard:hover .ph img{transform:scale(1.035)}
.bcard .zone{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);
  font-weight:500;margin-top:20px;display:block}
.bcard h3{font-family:'Poppins',sans-serif;font-weight:500;
  font-size:clamp(22px,2.1vw,27px);margin-top:6px}
.bnums{margin-top:16px}
.bnums div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding-block:11px;border-top:1px solid var(--line);font-size:13.5px;color:var(--grey);
  font-weight:400}
.bnums div:last-child{border-bottom:1px solid var(--line)}
.bnums b{font-weight:500;color:var(--ink);font-size:15px;white-space:nowrap}
.bcard .linklight{margin-top:18px}
.src{margin-top:34px;font-size:11px;color:var(--faint);letter-spacing:.05em}

/* ---------- blocos editoriais ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,96px);align-items:center}
@media(max-width:900px){.split{grid-template-columns:1fr}}
.split .ph{overflow:hidden;background:var(--hair2);position:relative}
.split .ph img{width:100%;height:100%;object-fit:cover}
.split .ph figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;
  font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:#FCFBF8;
  background:linear-gradient(180deg,transparent,rgba(20,18,12,.5))}
.split h2{margin-top:14px}
.split .lead{margin-top:20px}
.marks{margin-top:28px}
.marks>div{display:flex;gap:20px;padding-block:16px;border-top:1px solid var(--line);
  color:var(--grey);font-weight:400;font-size:14.5px;align-items:baseline}
.marks>div:last-child{border-bottom:1px solid var(--line)}
.marks i{font-family:'Poppins',sans-serif;font-style:normal;font-weight:600;color:var(--ink);
  font-size:13px;min-width:26px}
.marks b{color:var(--ink);font-weight:500}
.creci{margin-top:22px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--faint)}

/* ---------- FAQ ---------- */
.faq{max-width:820px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;
  align-items:baseline;gap:20px;padding-block:22px;
  font-family:'Poppins',sans-serif;font-weight:500;font-size:17px;line-height:1.4;
  transition:color .4s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:'Poppins';font-weight:400;font-size:22px;
  color:var(--ink);transition:transform .4s var(--ease);flex:0 0 auto}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--grey)}
.faq .a{padding:0 44px 24px 0;color:var(--grey);font-weight:400;font-size:14.5px;max-width:62ch}

/* ---------- página do imóvel ---------- */
.gallery{background:var(--white);border-bottom:1px solid var(--hair)}
.g-stage{position:relative;aspect-ratio:16/9;max-height:72svh;overflow:hidden;background:var(--hair2)}
.g-stage img{width:100%;height:100%;object-fit:cover;transition:opacity .35s var(--ease)}
.g-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;
  background:rgba(251,250,247,.92);border:1px solid var(--hair);display:grid;place-items:center;
  transition:background .3s}
.g-arrow:hover{background:var(--white)}
.g-arrow svg{width:13px;height:13px}
.g-arrow.prev{left:16px}.g-arrow.next{right:16px}
.g-count{position:absolute;right:16px;bottom:14px;background:rgba(251,250,247,.92);
  font-size:10.5px;letter-spacing:.18em;padding:6px 12px;color:var(--grey)}
.g-thumbs{display:flex;gap:6px;padding:10px clamp(18px,4vw,64px);overflow-x:auto;
  max-width:1360px;margin:0 auto}
.g-thumbs button{flex:0 0 84px;aspect-ratio:4/3;overflow:hidden;opacity:.68;
  border:1px solid transparent;transition:opacity .35s,border-color .35s}
.g-thumbs button.on{opacity:1;border-color:var(--ink)}
.g-thumbs img{width:100%;height:100%;object-fit:cover}

.prop{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,72px);
  padding-block:clamp(44px,6vw,80px)}
@media(max-width:860px){.prop{grid-template-columns:1fr}}
.prop h1{font-size:clamp(26px,2.8vw,36px);margin-top:10px}
.prop .desc{color:var(--grey);font-weight:400;margin-top:18px;font-size:15px;max-width:62ch}
.prop .amen{margin-top:26px}
.prop .amen b{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);
  font-weight:500;display:block;margin-bottom:10px}
.prop .amen ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.prop .amen li{font-size:12.5px;color:var(--grey);border:1px solid var(--hair);
  padding:7px 14px;font-weight:400}
.sticky-side{position:sticky;top:96px;align-self:start}
.pricecard{background:var(--white);border:1px solid var(--hair);padding:clamp(24px,2.6vw,34px)}
.pricecard .kicker{color:var(--faint)}
.p-price{font-family:'Poppins',sans-serif;font-weight:600;
  font-size:clamp(26px,2.5vw,34px);margin-top:6px;letter-spacing:-.01em}
.p-ficha{margin-top:16px}
.p-ficha div{display:flex;justify-content:space-between;gap:16px;padding-block:10px;
  border-top:1px solid var(--line);font-size:13px;color:var(--grey);font-weight:400}
.p-ficha div:last-child{border-bottom:1px solid var(--line)}
.p-ficha b{color:var(--ink);font-weight:500}
.p-ctas{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.p-ctas .btn,.p-ctas .btn-line{width:100%}
.p-note{margin-top:14px;font-size:11.5px;color:var(--faint);font-weight:400;text-align:center}

.related{border-top:1px solid var(--hair)}

/* ---------- formulário ---------- */
.form{background:var(--white);border:1px solid var(--hair);padding:clamp(26px,3vw,40px);
  display:flex;flex-direction:column;gap:18px}
.fgroup{display:flex;flex-direction:column;gap:7px}
.fgroup label{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);
  font-weight:500}
.fgroup input,.fgroup select{border:0;border-bottom:1px solid var(--hair);background:transparent;
  padding:8px 0 10px;font:inherit;font-size:15px;color:var(--ink);border-radius:0;
  transition:border-color .4s}
.fgroup select{appearance:none;-webkit-appearance:none;
  background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M1 1l3.5 3.5L8 1' stroke='%231A1A1A' fill='none'/%3E%3C/svg%3E") right 2px center no-repeat;cursor:pointer}
.fgroup input:focus,.fgroup select:focus{outline:none;border-color:var(--ink)}
.fgroup input::placeholder{color:var(--faint);font-weight:400}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:520px){.frow{grid-template-columns:1fr}}
.form .btn{width:100%;margin-top:6px}
.fnote{font-size:11.5px;color:var(--faint);text-align:center;font-weight:400}

/* ---------- rodapé ---------- */
footer{background:var(--white);border-top:1px solid var(--hair);padding-block:56px 36px}
.foot{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}
.foot .col{display:flex;flex-direction:column;gap:7px;font-size:13.5px;color:var(--grey);
  font-weight:400}
.foot .col>b{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);
  font-weight:500;margin-bottom:8px}
.foot .col a:hover{color:var(--ink)}
.legal{margin-top:48px;padding-top:20px;border-top:1px solid var(--hair2);
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  font-size:11px;color:var(--faint);font-weight:400;letter-spacing:.04em}

/* ---------- login ---------- */
.loginwrap{max-width:920px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(30px,5vw,72px);align-items:start}
@media(max-width:820px){.loginwrap{grid-template-columns:1fr}}
.loginmsg{margin-top:4px;font-size:12.5px;color:var(--ink);font-weight:500;text-align:center}

@media(max-width:900px){
  .menu,.top-cta,.entrar,.top-tel{display:none}
  .burger{display:block}
  .finder{flex-wrap:wrap;padding-block:8px}
  .finder .fld{flex:1 1 45%;border-right:0;padding:12px 0}
  .finder .go{flex:1 1 100%;padding:6px 0 14px}
  .finder .go .btn{width:100%}
  .sticky-side{position:static}
}
@media(max-width:640px){
  .hero{height:min(86svh,700px)}
  .hero-cap .wrap{padding-bottom:118px}
  .hero-ref{display:none}
  /* imóveis em carrossel horizontal no celular */
  .grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:80%;
    overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
    margin-inline:-18px;padding-inline:18px;gap:14px;row-gap:20px;
    -webkit-overflow-scrolling:touch}
  .grid::-webkit-scrollbar{display:none}
  .grid>*{scroll-snap-align:center}
  .grid .empty{width:82vw;grid-column:auto;padding:56px 18px}
  .grid--2r{grid-template-rows:repeat(2,auto)}
}
@media(hover:none){
  .pcard .ph img.b{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .js .rv{opacity:1;transform:none}
}

/* ---------- equipe ---------- */
.lead-person{display:grid;grid-template-columns:260px 1fr;gap:clamp(24px,4vw,56px);
  align-items:center;margin-top:24px;max-width:980px}
@media(max-width:700px){.lead-person{grid-template-columns:1fr}.lead-person .av{max-width:200px}}
.av{aspect-ratio:4/5;background:linear-gradient(160deg,var(--hair2),#E4DFD2);
  display:grid;place-items:center;position:relative;overflow:hidden}
.av span{font-family:'Poppins',sans-serif;font-weight:500;font-size:34px;
  letter-spacing:.06em;color:var(--faint)}
.av--lg span{font-size:64px}
.lead-person .role,.person .role{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--grey);font-weight:600;margin-top:8px}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,32px)}
@media(max-width:1000px){.team{grid-template-columns:repeat(2,1fr)}}
.person h3{font-family:'Poppins',sans-serif;font-weight:500;font-size:18px;margin-top:16px;
  line-height:1.2}
.person .bio{font-size:13.5px;color:var(--grey);font-weight:400;margin-top:8px}
.person--todo .av{background:transparent;border:1px dashed var(--hair)}
.person--todo h3,.person--todo .role{color:var(--faint)}

/* =====================================================================
   MOBILE v9 — refeito a partir dos prints em 393px (29/09/2026).
   Fica no fim do arquivo de propósito: sobrescreve os blocos anteriores.
   ===================================================================== */
.mbar,.wa-float{display:none}

@media(max-width:640px){
  /* leitura: texto maior, mais escuro e menos fino */
  body{font-size:16px}
  .lead{font-size:16px;font-weight:400;color:var(--grey)}
  .kicker{font-size:11px;color:var(--faint)}
  section{padding-block:56px}
  h2{font-size:25px}
  .shead{margin-bottom:26px}
  .shead .side{font-size:15px;color:var(--grey);font-weight:400}

  /* hero em tela cheia, escurecido por inteiro */
  .hero{height:calc(100svh - 72px);min-height:560px;max-height:780px}
  .hero::after{background:linear-gradient(180deg,rgba(20,18,12,.34) 0%,rgba(20,18,12,.30) 38%,
    rgba(20,18,12,.62) 70%,rgba(20,18,12,.82) 100%)}
  .hero-cap .wrap{padding-bottom:56px}
  .hero-cap .kicker{color:#FCFBF8;font-size:10.5px}
  .hero-cap h1{font-size:34px;line-height:1.1;max-width:14ch}
  .hero-sub{font-size:15.5px;line-height:1.55;color:#F4F1EA}
  .hero-actions{flex-direction:column;align-items:stretch;gap:0;margin-top:28px}
  .btn-hero{text-align:center;padding:18px}
  .hero-dots{justify-content:center;margin-top:18px}

  /* busca: grade 2x2 limpa + botão largo */
  .finder{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px}
  .finder .fld,.finder .fld+.fld{padding:10px 14px 11px;border:1px solid var(--hair);
    background:var(--paper);flex:none}
  .finder label{font-size:9.5px}
  .finder select{font-size:15.5px;width:100%}
  .finder .go{grid-column:1/-1;padding:4px 0 0}
  .finder .go .btn{width:100%;padding:18px}

  /* cards de imóvel: carrossel com espiada do próximo */
  .grid{grid-auto-columns:84%;gap:14px}
  .pcard h3{font-size:19px}
  .pcard .meta{font-size:13.5px;color:var(--grey);font-weight:400}
  .pcard .price{font-size:17px}
  .pcard .loc i{color:var(--faint)}

  /* filtros da listagem: uma linha que desliza */
  .filters{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none;
    margin-inline:-18px;padding-inline:18px;gap:22px;padding-bottom:14px;margin-bottom:26px}
  .filters::-webkit-scrollbar{display:none}
  .tab{font-size:11.5px;flex:0 0 auto}
  .tab::after{bottom:-9px}
  .fsel{flex:0 0 auto}
  .fsel select{font-size:14px}
  .count{flex:0 0 auto;margin-left:6px}

  /* bairros: carrossel em vez de dois blocos gigantes */
  .bgrid:has(.bcard){grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;
    overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;
    margin-inline:-18px;padding-inline:18px}
  .bgrid:has(.bcard)::-webkit-scrollbar{display:none}
  .bgrid:has(.bcard)>.bcard{scroll-snap-align:center}
  .bnums div{font-size:14px;color:var(--grey)}

  /* blocos editoriais: foto mais baixa */
  .split .ph{aspect-ratio:4/3!important}
  .marks>div{font-size:15px;color:var(--grey)}
  .faq summary{font-size:16.5px;padding-block:18px}
  .faq .a{font-size:15px;color:var(--grey);padding-right:0}

  /* página do imóvel */
  .g-stage{aspect-ratio:4/3;max-height:none}
  .g-arrow{width:40px;height:40px}
  .g-thumbs{padding-inline:18px}
  .g-thumbs button{flex-basis:72px;opacity:.8}
  .prop{padding-block:26px 40px;gap:28px}
  .prop .crumb{display:none}
  .prop h1{font-size:25px}
  .prop .desc{font-size:15.5px;color:var(--grey);font-weight:400}
  .prop .amen li{font-size:13px;color:var(--grey)}
  .pricecard{padding:22px}

  /* barra fixa de preço + visita (só na página do imóvel) */
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;align-items:center;gap:14px;
    background:rgba(251,250,247,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    border-top:1px solid var(--hair);
    padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px))}
  .mbar .mb-price{display:flex;flex-direction:column;line-height:1.1}
  .mbar .mb-price span{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}
  .mbar .mb-price b{font-family:'Poppins',sans-serif;font-weight:600;font-size:19px;margin-top:3px}
  .mbar .mb-price b i{font-style:normal;font-size:.6em;font-weight:400;color:var(--grey)}
  .mbar .btn{flex:1;padding:16px 12px}
  body.has-mbar{padding-bottom:84px}

  /* WhatsApp flutuante (demais páginas) */
  .wa-float{display:grid;place-items:center;position:fixed;right:16px;z-index:50;
    bottom:calc(18px + env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:50%;
    background:var(--ink);color:#FCFBF8;box-shadow:0 14px 30px -10px rgba(20,18,12,.55)}
  .wa-float svg{width:26px;height:26px}
  body.has-mbar .wa-float{display:none}

  /* equipe */
  .team{grid-template-columns:1fr 1fr;gap:16px}
  .person h3{font-size:17px}
  .person .bio{font-size:14px;color:var(--grey)}

  /* rodapé */
  .foot{gap:30px}
  .foot .col{font-size:15px}
}

/* v9.1 — celular: texto do hero colado no menu (pedido do Rodrigo, 29/09/2026).
   O bloco sai do rodapé do hero e vai pro topo; o escurecimento acompanha. */
@media(max-width:640px){
  .hero-cap{top:0;bottom:auto}
  .hero-cap .wrap{padding-top:40px;padding-bottom:0}
  .hero::after{background:linear-gradient(180deg,rgba(20,18,12,.74) 0%,rgba(20,18,12,.6) 42%,
    rgba(20,18,12,.28) 72%,rgba(20,18,12,.34) 100%)}
}

/* ---------- site real (sistemas/site-grenna) ---------- */
a.tab{display:inline-block}
.fsearch input{border:0;border-bottom:1px solid var(--hair);background:transparent;font:inherit;
  font-size:13px;color:var(--ink);padding:4px 0;width:150px}
.fsearch input:focus{outline:0;border-bottom-color:var(--ink)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;
  margin-top:clamp(40px,5vw,64px);font-size:12px;letter-spacing:.12em}
.pager a,.pager b,.pager span{min-width:38px;padding:9px 12px;text-align:center;border:1px solid transparent}
.pager a{color:var(--grey);border-color:var(--hair)}
.pager a:hover{color:var(--ink);border-color:var(--ink)}
.pager b{background:var(--ink);color:var(--paper);font-weight:500}
.pager span{color:var(--faint)}
.prop .desc p+p{margin-top:6px}
.negsw{display:flex;border:1px solid var(--hair);margin-bottom:20px}
.negsw a{flex:1;text-align:center;padding:9px 0;font-size:10.5px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--grey)}
.negsw a.on{background:var(--ink);color:var(--paper)}
.leadform{display:flex;flex-direction:column;gap:16px}
.leadform .btn{width:100%;margin-top:4px}
.leadform .fnote:empty{display:none}
.fnote[data-status]{color:var(--grey)}
.ok b{display:block;font-family:'Poppins',sans-serif;font-weight:600;font-size:20px;margin-bottom:8px}
.ok p{color:var(--grey);font-weight:400;margin-bottom:18px}
.ok .btn-line{width:100%;text-align:center}
.acesso{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.acesso h2{font-size:clamp(24px,2.4vw,30px)}
.texto{max-width:760px}
.texto h2{font-size:clamp(20px,2vw,26px);margin-top:34px}
.texto h2:first-child{margin-top:0}
.texto p{color:var(--grey);font-weight:400;margin-top:10px}
button:disabled{opacity:.6;cursor:wait}
@media (max-width:640px){
  .fsearch,.fsearch input{width:100%}
}
/* listagem paginada: no celular, coluna vertical em vez do carrossel lateral do conceito */
@media (max-width:640px){
  .grid.grid--lista{grid-auto-flow:row;grid-template-columns:1fr;grid-auto-columns:auto;
    overflow:visible;margin-inline:0;padding-inline:0;scroll-snap-type:none;gap:34px}
  .grid.grid--lista .empty{width:auto;grid-column:1/-1}
}

/* ajustes do celular, 06/10/2026 */
.frentes{grid-template-columns:repeat(3,1fr)}
@media(max-width:640px){
  .frentes{grid-template-columns:1fr;gap:30px}
  /* pontos do carrossel no pé da foto, longe do botão */
  .hero-cap{bottom:0}
  .hero-dots{position:absolute;left:0;right:0;bottom:22px;margin:0}
}

/* busca por código no celular, 14/10/2026: o campo ficava no fim da linha que desliza,
   com largura zero, e não aparecia. No desktop .frow some (display:contents) e nada muda;
   no celular a busca sobe para o topo em largura total e só os filtros deslizam. */
.frow{display:contents}
@media(min-width:641px){.fsearch{order:1}.count{order:2}}
@media(max-width:640px){
  .filters{flex-direction:column;align-items:stretch;overflow:visible;margin-inline:0;padding-inline:0;
    gap:16px;padding-bottom:0}
  .fsearch{order:-1}
  .fsearch input{font-size:16px;padding:10px 0}
  .frow{display:flex;flex-wrap:nowrap;align-items:baseline;gap:22px;overflow-x:auto;white-space:nowrap;
    scrollbar-width:none;margin-inline:-18px;padding:0 18px 14px}
  .frow::-webkit-scrollbar{display:none}
}
