
:root{--carvao:#1c1915;--carvao-2:#2a2621;--ouro:#c9a54c;--ouro-texto:#7a5d17;--ouro-claro:#ecdcb0;--bordo:#6b1530;--fundo:#faf7f2;--cartao:#fff;--texto:#221d18;--suave:#5f564c;--linha:#e7dfd2;--ok:#1f6f43;--erro:#9b1c1c;--raio:14px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--fundo);color:var(--texto);line-height:1.55;font-size:16px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;color:var(--carvao)}
a{color:var(--bordo)}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.narrow{max-width:640px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:#fff;padding:8px;z-index:20}
:focus-visible{outline:3px solid var(--ouro);outline-offset:2px}
.preview-bar{background:var(--bordo);color:#fff;text-align:center;font-size:13px;font-weight:700;padding:6px 12px;letter-spacing:.04em}
.top{background:var(--carvao);color:#fff;position:sticky;top:0;z-index:10}
.top-in{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:12px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ouro);text-decoration:none;font-family:Georgia,serif;font-size:19px;letter-spacing:.02em}
.brand strong{font-weight:700}
.menu summary{list-style:none;cursor:pointer;color:var(--ouro);border:1px solid rgba(201,165,76,.6);border-radius:10px;padding:10px 14px;min-height:44px;font-weight:600}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;right:16px;top:60px;background:var(--carvao-2);border-radius:12px;padding:8px;display:flex;flex-direction:column;min-width:220px;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.menu nav a{color:#fff;text-decoration:none;padding:12px 14px;border-radius:8px}
.menu nav a:hover{background:rgba(201,165,76,.15)}
.nav-wa{color:var(--ouro)!important;font-weight:700}
.nav-desk{display:none}
@media(min-width:900px){.menu{display:none}.nav-desk{display:flex;gap:4px;align-items:center}.nav-desk a{color:#fff;text-decoration:none;padding:10px 12px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center}.nav-desk a:hover{background:rgba(201,165,76,.15)}}
.hero{background:linear-gradient(160deg,var(--carvao),#3a3128);color:#fff;padding:40px 0 36px}
.hero h1{color:#fff;font-size:clamp(28px,5vw,46px);margin:0 0 10px;max-width:820px}
.hero .lead{color:#efe7da;font-size:clamp(16px,2.2vw,19px);max-width:720px;margin:0 0 22px}
.search{display:grid;gap:10px;background:rgba(255,255,255,.97);color:var(--texto);border-radius:var(--raio);padding:14px;grid-template-columns:1fr}
@media(min-width:700px){.search{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.search{grid-template-columns:repeat(5,1fr) auto;align-items:end}}
.field{display:flex;flex-direction:column;gap:4px;min-width:0}
.field label{font-size:13px;font-weight:600;color:var(--suave)}
input,select,textarea{font:inherit;font-size:16px;border:1px solid #cfc5b5;border-radius:10px;padding:10px 12px;min-height:44px;background:#fff;color:var(--texto);width:100%}
textarea{min-height:88px}
.code-search{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.code-search label{color:#efe7da;font-size:14px}
.code-search input{width:150px;flex:0 0 auto}
.list-head .code-search label{color:var(--suave)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 18px;border-radius:10px;font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer;font-size:15px}
.btn-gold{background:var(--ouro);color:var(--carvao)}
.btn-gold:hover{background:#d8b65e}
.btn-ghost{background:#fff;border-color:var(--linha);color:var(--carvao)}
.btn-wa{background:#1f6f43;color:#fff}
.block{padding:32px 16px}
.block-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.block-head h2{margin:0 0 14px;font-size:clamp(22px,3vw,30px)}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.card{background:var(--cartao);border-radius:var(--raio);overflow:hidden;box-shadow:0 2px 12px rgba(28,25,21,.07);border:1px solid var(--linha);transition:transform .2s cubic-bezier(.22,1,.36,1)}
.card:hover{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.card,.card:hover{transition:none;transform:none}}
.card-link{color:inherit;text-decoration:none;display:block}
.card-img{position:relative;aspect-ratio:4/3;background:#ece6db}
.card-img img{width:100%;height:100%;object-fit:cover}
.noimg{position:absolute;inset:0;display:grid;place-items:center;color:var(--suave);font-size:14px}
.badge{position:absolute;top:10px;left:10px;background:var(--carvao);color:var(--ouro);font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}
.code{position:absolute;bottom:10px;left:10px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;padding:2px 8px;border-radius:6px;letter-spacing:.04em}
.card-body{padding:14px 16px 16px}
.card-body h3{font-size:18px;margin:2px 0 4px}
.price{font-weight:800;color:var(--ouro-texto);margin:0;font-size:18px}
.place{color:var(--suave);margin:0}
.feats{color:var(--suave);font-size:14px;margin:6px 0 0}
.feats.big{font-size:16px;color:var(--texto)}
.capture{background:var(--carvao);color:#fff;padding:30px 0}
.capture h2{color:var(--ouro);margin:0 0 6px}
.capture p{color:#efe7da;margin:0}
.capture-in{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.req{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--raio);padding:18px;display:grid;gap:12px;margin:0 0 18px}
.req h2{margin:0;font-size:22px}
.row2{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:520px){.row2{grid-template-columns:1fr 1fr}}
.check{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:var(--suave)}
.check input{width:20px;min-height:20px;margin-top:2px;flex:0 0 auto}
.hint{font-size:13px;color:var(--suave);margin:-4px 0 0}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.err{background:#fdecec;color:var(--erro);border-radius:8px;padding:8px 12px;margin:0;font-weight:600}
.list-head{background:#f1ebe1;padding:24px 0 14px;border-bottom:1px solid var(--linha)}
.list-head h1{margin:0 0 4px;font-size:clamp(26px,4vw,36px)}
.list-head p{margin:0 0 10px;color:var(--suave)}
.filters summary{cursor:pointer;font-weight:700;color:var(--bordo);min-height:44px;display:flex;align-items:center}
.filters .search{background:#fff;border:1px solid var(--linha)}
.sort{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 14px;font-size:14px;color:var(--suave)}
.sort a[aria-current]{font-weight:800;color:var(--carvao);text-decoration:none}
.pager{display:flex;gap:16px;justify-content:center;align-items:center;margin:24px 0}
.pager a{font-weight:700}
.empty{background:#fff;border:1px dashed #cdbf9f;border-radius:var(--raio);padding:18px;margin-bottom:16px}
.prop{padding:18px 16px 30px}
.crumbs{font-size:14px;color:var(--suave);margin-bottom:10px}
.gallery{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:var(--raio)}
.gallery figure{margin:0;flex:0 0 92%;scroll-snap-align:start;position:relative;aspect-ratio:4/3;background:#ece6db;border-radius:var(--raio);overflow:hidden}
@media(min-width:900px){.gallery figure{flex-basis:62%}}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;padding:2px 8px;border-radius:6px}
.gallery-empty{background:#ece6db;border-radius:var(--raio);padding:60px 16px;text-align:center;color:var(--suave)}
.prop-grid{display:grid;gap:24px;margin-top:18px;grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){.prop-grid{grid-template-columns:minmax(0,1fr) 380px}}
.prop h1{margin:0 0 4px;font-size:clamp(24px,3.6vw,34px)}
.offers{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}
.offer{background:#fff;border:1px solid var(--linha);border-left:4px solid var(--ouro);border-radius:10px;padding:10px 14px}
.offer span{display:block;font-size:13px;color:var(--suave)}
.offer strong{font-size:22px;color:var(--ouro-texto)}
.unavailable{background:#fff6e0;border:1px solid #e8cf8a;border-radius:10px;padding:12px 14px;font-weight:600}
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:16px 0;padding:0}
.facts div{background:#fff;border:1px solid var(--linha);border-radius:10px;padding:8px 12px}
.facts dt{font-size:12px;color:var(--suave)}
.facts dd{margin:0;font-weight:700}
.desc p{margin:0 0 12px}
.side .actions{display:grid;gap:8px;margin-bottom:16px}
@media(min-width:960px){.side{position:sticky;top:80px;align-self:start;max-height:calc(100vh - 96px);overflow:auto}}
.contact-grid{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
@media(min-width:860px){.contact-grid{grid-template-columns:1fr 1fr}}
.thanks h1{margin-top:8px}
.foot{background:var(--carvao);color:#e9e1d3;margin-top:24px;padding:30px 0 16px}
.foot-in{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
@media(min-width:800px){.foot-in{grid-template-columns:180px 1fr 1fr}}
.foot h2{color:var(--ouro);font-size:16px;margin:0 0 6px;font-family:inherit}
.foot p{margin:0 0 8px;font-size:14px}
.foot a{color:var(--ouro-claro)}
.foot-logo{width:140px;height:auto}
.farewell{text-align:center;color:var(--ouro);font-family:Georgia,serif;font-size:18px;margin:18px 16px 0}
/* ---- Visual premium G Broker (27/10/2026): bordô e dourado, acolhedor e legível ---- */
:root{--bordo-900:#2a0b14;--bordo-800:#3a0f1a;--bordo-700:#5e1a2b;--bordo-500:#7e2639;--ouro:#c9a54c;--ouro-texto:#8a6a1f;--fundo:#faf7f2;--linha:#ebe1d6}
h1,h2,h3{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;letter-spacing:-.005em}
.top{background:linear-gradient(90deg,var(--bordo-900),var(--bordo-800));box-shadow:0 1px 0 rgba(201,165,76,.35)}
.brand{color:#f3e3b5}
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 500px at 85% -10%,rgba(201,165,76,.22),transparent 60%),linear-gradient(160deg,var(--bordo-800),var(--bordo-900) 70%);padding:56px 0 44px}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--ouro),transparent);opacity:.7}
.hero h1{font-size:clamp(30px,5.4vw,52px);line-height:1.12;max-width:860px;animation:gb-up .7s cubic-bezier(.22,1,.36,1) both}
.hero .lead{color:#f3ede6;max-width:680px;animation:gb-up .7s .08s cubic-bezier(.22,1,.36,1) both}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;animation:gb-up .7s .14s cubic-bezier(.22,1,.36,1) both}
.hero-actions .btn{min-width:150px}
@keyframes gb-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.btn{border-radius:12px;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:linear-gradient(135deg,#e0bf6e,var(--ouro));color:var(--bordo-900);box-shadow:0 6px 18px rgba(201,165,76,.28)}
.btn-light{background:#fff;color:var(--bordo-800)}
.btn-outline{background:transparent;color:#f3e3b5;border-color:rgba(232,213,163,.7)}
.btn-ghost{color:var(--bordo-700)}
.search{border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.badge{background:var(--bordo-800);color:#f3e3b5}
.card{border-radius:18px;box-shadow:0 6px 22px rgba(42,11,20,.07)}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(42,11,20,.12)}
.card-img img{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.card:hover .card-img img{transform:scale(1.03)}
.price{color:var(--ouro-texto)}
.care{background:#fff;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);padding:44px 0}
.care h2{text-align:center;font-size:clamp(24px,3.4vw,34px);margin:0 0 22px;color:var(--bordo-800)}
.care-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:820px){.care-grid{grid-template-columns:repeat(3,1fr)}}
.care-item{background:var(--fundo);border:1px solid var(--linha);border-radius:18px;padding:22px}
.care-n{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--bordo-800);color:#f3e3b5;font-weight:800;margin-bottom:10px}
.care-item h3{margin:0 0 6px;font-size:21px;color:var(--bordo-800)}
.care-item p{margin:0;color:var(--suave)}
.capture{background:linear-gradient(160deg,var(--bordo-800),var(--bordo-900));padding:44px 0}
.capture h2{color:#f3e3b5;font-size:clamp(24px,3.4vw,34px)}
.capture-lead{color:#f3ede6!important;margin:0 0 18px!important;max-width:720px}
.paths{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:820px){.paths{grid-template-columns:1fr 1fr}}
.path{background:#fff;color:var(--texto);border-radius:18px;padding:22px;border:1px solid var(--linha);display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.path h2{margin:0;color:var(--bordo-800);font-size:clamp(21px,2.6vw,26px)}
.path p{margin:0;color:var(--suave)!important}
.steps{margin:4px 0 6px;padding-left:22px;display:grid;gap:6px}
.steps li{padding-left:4px}
.steps li::marker{color:var(--ouro-texto);font-weight:800}
.about p{font-size:17px}
.mv{display:grid;gap:14px;margin-top:18px;grid-template-columns:minmax(0,1fr)}
@media(min-width:700px){.mv{grid-template-columns:1fr 1fr}}
.mv article{background:#fff;border:1px solid var(--linha);border-left:4px solid var(--ouro);border-radius:14px;padding:16px}
.mv h2{margin:0 0 6px;font-size:20px}
.list-head{background:linear-gradient(180deg,#f4ece4,#faf7f2)}
.foot{background:var(--bordo-900)}
@media(prefers-reduced-motion:reduce){.hero h1,.hero .lead,.hero-actions{animation:none}.btn,.card,.card-img img{transition:none}.card:hover,.btn:hover,.card:hover .card-img img{transform:none}}

/* ===== Direção visual 27/10 (docs/site/DIRECAO-VISUAL.md): fontes por função, marca e abertura ===== */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/cormorant-500.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/cormorant-600.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-500-italic.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/manrope.woff2) format("woff2-variations"),url(fonts/manrope.woff2) format("woff2")}
@font-face{font-family:"GB Serif Reserva";src:local("Georgia");size-adjust:86%;ascent-override:92%;descent-override:29%}
@font-face{font-family:"GB Sans Reserva";src:local("Arial");size-adjust:104%;ascent-override:102%;descent-override:29%}
:root{
  --f-display:"Cormorant Garamond","GB Serif Reserva",Georgia,serif;
  --f-ui:"Manrope","GB Sans Reserva",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fs-hero:clamp(2.625rem,1.35rem + 4.2vw,5.25rem);
  --fs-h2:clamp(2rem,1.45rem + 1.9vw,3.25rem);
  --fs-h3:clamp(1.375rem,1.2rem + .6vw,1.75rem);
  --fs-body:clamp(1rem,.96rem + .2vw,1.125rem);
  --fs-small:.875rem;
  --grafite:#2c2a2e;--mineral:#efe9df;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:72px;
}
body{font-family:var(--f-ui);font-size:var(--fs-body);line-height:1.65;font-weight:400}
h1,h2,h3,.t-display{font-family:var(--f-display);font-weight:600;letter-spacing:-.012em;line-height:1.08}
.t-display em,h1 em,h2 em{font-style:italic;font-weight:500}
.nav-desk a,.menu,.btn,.search,.code-search,.req,.field label,input,select,textarea,button,.price,.feats,.place,.badge,.code,.foot,.preview-bar{font-family:var(--f-ui)}
.nav-desk a{font-weight:500;font-size:15px;letter-spacing:.01em}
.btn{font-weight:600;letter-spacing:.01em}
.field label{font-weight:600}
.price,.feats,.code{font-variant-numeric:lining-nums tabular-nums}
.price{font-weight:700;letter-spacing:-.01em;font-size:1.25rem}
.card h3{font-family:var(--f-ui);font-weight:600;font-size:1.05rem;line-height:1.35;letter-spacing:0}
.feats{font-size:var(--fs-small);color:var(--suave)}
.block-head h2,.care h2,.capture h2,.list-head h1{font-size:var(--fs-h2)}
.path h2,.req h2{font-size:var(--fs-h3)}
.prop h1{font-size:clamp(2rem,1.5rem + 2vw,3rem)}
/* Marca: só imagem oficial; nome completo no texto acessível. */
.brand{display:inline-flex;align-items:center;gap:0;text-decoration:none;line-height:0}
.brand-img{display:block;height:auto}
.top .brand-horizontal{height:40px;width:auto}
@media(min-width:900px){.top .brand-horizontal{height:56px}.top-in{min-height:82px}}
.foot-brand .brand-img{width:140px}
/* Abertura da página inicial: texto + cena lado a lado, busca em faixa própria. */
.hero-home{padding:clamp(36px,6vw,84px) 0 clamp(32px,5vw,64px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}
.hero-home h1{font-size:var(--fs-hero);line-height:1.02;margin:0 0 var(--sp-4);max-width:15ch;text-wrap:balance}
.hero-home h1 em{color:#ecd9a4}
.hero-home .lead{font-size:clamp(1.0625rem,1rem + .35vw,1.25rem);line-height:1.6;max-width:36em;margin:0 0 var(--sp-5)}
.hero-actions{margin:0}
.hero-search{min-width:0}
.hero-search .code-search{margin-top:var(--sp-3)}
.hero-scene{position:relative;width:100%;max-width:340px;margin:0 auto;aspect-ratio:36/31;pointer-events:none;user-select:none;order:3}
.hero-scene-poster,.hero-scene-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-scene-poster{object-fit:contain;transition:opacity .6s cubic-bezier(.22,1,.36,1)}
.hero-scene-canvas{opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1)}
.hero-scene.is-live .hero-scene-canvas{opacity:1}
.hero-scene.is-live .hero-scene-poster{opacity:0}
@media(min-width:900px){
  .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-areas:"text scene" "search search";column-gap:var(--sp-7);row-gap:var(--sp-6);align-items:center}
  .hero-text{grid-area:text}.hero-scene{grid-area:scene;max-width:none;order:0}.hero-search{grid-area:search}
}
@media(max-width:699px){
  .hero-home .search{grid-template-columns:1fr 1fr;gap:8px 10px;padding:12px}
  .hero-home .search .field:nth-child(3),.hero-home .search button{grid-column:1/-1}
  .hero-home .hero-actions .btn{min-width:0;flex:1 1 auto}
}
/* Tela de espera (antes de publicar): marca completa centralizada, sem vazio embaixo. */
.soon{background:radial-gradient(900px 420px at 50% -10%,rgba(201,165,76,.18),transparent 60%),linear-gradient(160deg,var(--bordo-800),var(--bordo-900) 70%);color:#f3ede6;min-height:calc(100vh - 64px);min-height:calc(100svh - 64px);display:grid;place-items:center;padding:var(--sp-7) 0;text-align:center}
.soon-in{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}
.soon-brand .brand-img{width:clamp(150px,22vw,220px)}
.soon h1{color:#fff;font-size:clamp(2.5rem,1.6rem + 3vw,4.25rem);margin:var(--sp-4) 0 0}
.soon h1 em{color:#ecd9a4}
.soon .lead{max-width:34em;margin:0;color:#f3ede6}
.soon-hours{font-size:var(--fs-small);color:#d9cbb4;margin:0}
.soon + * {margin-top:0}
.nw{white-space:nowrap}

/* Características do imóvel (cadastro completo) */
.feat-list{margin-top:var(--sp-6)}
.feat-list h2{font-size:var(--fs-h3);margin:0 0 var(--sp-4)}
.feat-group{margin:0 0 var(--sp-4)}
.feat-group h3{font-family:var(--f-ui);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ouro-texto);margin:0 0 var(--sp-2);font-weight:700}
.feat-group ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:6px 16px}
.feat-group li{position:relative;padding-left:20px;font-size:.95rem}
.feat-group li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--ouro)}
.feat-note{font-size:var(--fs-small);color:var(--suave)}
