
@font-face { font-family: 'Archivo'; src: url(/site-assets/fontes/archivo.woff2) format('woff2'); font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'Source Sans 3'; src: url(/site-assets/fontes/source-sans-3.woff2) format('woff2'); font-weight: 200 900; font-display: swap; }
:root {
  --marca-esc: color-mix(in srgb, var(--marca) 86%, black);
  --destaque-esc: color-mix(in srgb, var(--destaque) 80%, black);
  --creme: #f4eee3;
  --papel: #fbf8f2;
  --tinta: #191c1a;
  --cinza: #5f645d;
  --linha: #e3dacb;
  --fundo: #f4eee3;
  --raio: 18px;
  --sombra: 0 1px 2px rgba(25,28,26,.06), 0 12px 32px -12px rgba(25,28,26,.18);
  --titulo: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
}
body { font-family: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: 16.5px; background: var(--papel); }
h1, h2, h3 { font-family: var(--titulo); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
.btn { border-radius: 999px; }
.btn--marca { background: var(--destaque); }
.btn--marca:hover { background: var(--destaque-esc); }
.btn--claro { background: var(--creme); color: var(--marca); }
.btn--claro:hover { background: #fff; }
.btn--contorno { background: transparent; border-color: var(--marca); color: var(--marca); }
.btn--contorno:hover { background: var(--marca); color: #fff; border-color: var(--marca); }
.link-seta { color: var(--marca); border-bottom: 1.5px solid currentColor; padding-bottom: 2px; }
.link-seta:hover { color: var(--destaque); text-decoration: none; }
:focus-visible { outline-color: color-mix(in srgb, var(--destaque) 60%, white); }

.topo { background: rgba(251,248,242,.92); border-color: var(--linha); }
.topo__marca { color: var(--tinta); }
.topo__nome strong { font-family: var(--titulo); font-weight: 600; font-size: 20px; letter-spacing: -.01em; }
.topo__nav > a:not(.btn) { color: var(--tinta); font-weight: 500; }
.topo__nav > a:not(.btn):hover { background: var(--creme); }
@media (max-width: 640px) { .topo__nome strong { font-size: 17px; } .topo__nome small { font-size: 10px; } .topo__marca img { height: 36px; width: 36px; } }
@media (max-width: 380px) { .topo__nome small { display: none; } }

.hero { background: var(--marca); min-height: min(80vh, 720px); display: flex; flex-direction: column; justify-content: flex-end; padding-top: 96px; }
.hero h1 { font-size: clamp(36px, 5vw, 64px); font-weight: 800; line-height: 1.04; letter-spacing: -.025em; max-width: 17ch; text-shadow: 0 2px 24px rgba(0,0,0,.35); }
.hero__chamada { opacity: 1; font-size: clamp(18px, 1.7vw, 21px); text-shadow: 0 1px 12px rgba(0,0,0,.4); }
.hero > .hero__txt, .hero > .busca { width: 100%; }
.hero--foto::after { background: linear-gradient(180deg, rgba(10,22,17,.35) 0%, rgba(10,22,17,.45) 40%, rgba(10,22,17,.88) 100%), linear-gradient(90deg, rgba(10,22,17,.7) 0%, rgba(10,22,17,.15) 70%); }
@media (max-width: 640px) { .hero { min-height: 0; padding-top: 120px; } }

.busca { box-shadow: var(--sombra), 0 30px 60px -30px rgba(14,30,23,.35); padding: 18px; }
.busca label, .cartao-form label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.escolha label { text-transform: none; letter-spacing: 0; font-weight: 500; font-size: 14.5px; }
select, input, textarea { background: var(--papel); border-radius: 12px; font-weight: 500; }
select:focus, input:focus, textarea:focus { box-shadow: 0 0 0 3px color-mix(in srgb, var(--marca) 16%, transparent); }
.lista-filtros .busca { background: var(--creme); border-color: var(--linha); }

.secao__cab h2, .sobre h2 { font-size: clamp(28px, 3.6vw, 44px); }
.card { border: 0; box-shadow: var(--sombra); }
.card:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(25,28,26,.06), 0 24px 48px -20px rgba(25,28,26,.3); }
.card__foto { background: var(--creme); }
.card__foto img { transition: transform .6s ease; }
.card:hover .card__foto img { transform: scale(1.04); }
.card__txt { padding: 18px 20px 20px; }
.card__preco { font-family: var(--titulo); font-weight: 600; font-size: 22px; color: var(--marca); font-variant-numeric: lining-nums tabular-nums; }
.card h3 { font-family: var(--titulo); font-size: 19px; font-weight: 600; }
.selo { background: rgba(25,28,26,.78); color: #fff; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; border-radius: 8px; padding: 7px 11px; }
.selo--reservado { background: #e2b07f; color: var(--tinta); }
.specs .ic { color: var(--marca); }

.sobre__txt p { font-size: 17.5px; }
.pessoa { background: #fff; border-color: var(--linha); }
.pessoa__ini { background: var(--creme); color: var(--destaque); font-family: var(--titulo); }
.faixa-anuncie { background: var(--marca); }

.migalha a:hover { color: var(--destaque); }
.codigo { background: var(--creme); border-color: var(--linha); }
.imovel h2 { font-size: 24px; }
.texto p { color: #2c302b; }
.ficha div { background: var(--creme); }
.carac li::before { border-color: var(--destaque); }
.cartao-preco, .cartao-form { border-color: var(--linha); }
.preco strong { font-family: var(--titulo); font-weight: 700; color: var(--marca); }
.escolha label:has(input:checked) { border-color: var(--marca); background: color-mix(in srgb, var(--marca) 8%, white); }
.galeria__miniaturas button[aria-current] { border-color: var(--destaque); }
.zap-escolha__lista { border-color: var(--linha); }
.zap-escolha__lista p { background: var(--creme); }

.rodape { background: color-mix(in srgb, var(--marca) 72%, #0b0f0c); color: #d9d4c8; }
.rodape__col strong { font-family: var(--titulo); font-weight: 600; }
.rodape__base { color: rgba(217,212,200,.7); }
