/* ===========================================================
   Carmen Valadão Imóveis — sistema visual
   Tinta (ink) · marfim (ivory) · latão (brass)
   =========================================================== */

:root{
  --ink:#0F1A20;
  --ink-soft:#1B2A33;
  --ink-mute:#33454F;

  --ivory:#F8F5EF;
  --paper:#FFFFFF;
  --sand:#EFE9DD;
  --sand-dk:#E5DCCB;

  --line:#E1D9CB;
  --line-2:#CFC4B0;

  --text:#18222A;
  --muted:#6E747C;
  --muted-2:#9A9DA2;

  --brass:#9A7B45;
  --brass-lt:#BE9E68;

  --serif:"Bodoni Moda",Didot,"Times New Roman",serif;
  --sans:"Jost","Helvetica Neue",Helvetica,Arial,sans-serif;

  --pad:clamp(20px,5vw,72px);
  --maxw:1460px;
  --head:78px;

  --ease:cubic-bezier(.22,.61,.36,1);
  --slow:cubic-bezier(.16,.84,.44,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--ivory);color:var(--text);
  font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.012em;line-height:1.12}
p{margin:0 0 1.05em}
figure,figcaption,blockquote,dl,dd{margin:0}
::selection{background:var(--ink);color:var(--ivory)}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.only-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- tipografia utilitária ---------- */
.eyebrow{
  font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  font-weight:400;color:var(--brass);margin:0 0 22px;display:block;
}
.eyebrow.on-dark{color:var(--brass-lt)}
.display{font-family:var(--serif);font-size:clamp(2.6rem,6.4vw,5.1rem);line-height:1.03;letter-spacing:-.022em}
.h-sec{font-family:var(--serif);font-size:clamp(1.9rem,3.5vw,3.05rem);line-height:1.1}
.h-card{font-family:var(--serif);font-size:1.3rem;line-height:1.25}
.lede{font-size:clamp(1rem,1.35vw,1.12rem);color:var(--muted);max-width:56ch;line-height:1.8}
.rule{height:1px;background:var(--line);border:0;margin:0}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.7em;
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;
  padding:15px 30px;border:1px solid var(--ink);background:var(--ink);color:var(--ivory);
  cursor:pointer;transition:background .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease);
}
.btn:hover{background:transparent;color:var(--ink)}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--ivory)}
.btn--light{background:transparent;color:var(--ivory);border-color:rgba(248,245,239,.45)}
.btn--light:hover{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.btn--wa{background:var(--brass);border-color:var(--brass);color:#fff}
.btn--wa:hover{background:transparent;color:var(--brass)}

.link-u{
  display:inline-block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  padding-bottom:5px;position:relative;color:var(--ink);
}
.link-u::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--line-2);
  transform:scaleX(1);transform-origin:right;transition:transform .5s var(--ease);
}
.link-u::before{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--ink);
  transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease) .08s;
}
.link-u:hover::after{transform:scaleX(0)}
.link-u:hover::before{transform:scaleX(1)}

/* ===========================================================
   Cabeçalho
   =========================================================== */
.head{
  position:sticky;top:0;z-index:60;background:var(--ivory);
  border-bottom:1px solid var(--line);transition:box-shadow .4s var(--ease),background .4s var(--ease);
}
.head.is-stuck{box-shadow:0 1px 26px rgba(15,26,32,.07)}
.head__in{
  max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad);
  height:var(--head);display:flex;align-items:center;justify-content:space-between;gap:28px;
}
.brand{display:flex;flex-direction:column;line-height:1;flex-shrink:0}
.brand__n{font-family:var(--serif);font-size:1.32rem;letter-spacing:.015em}
.brand__s{font-size:8.5px;letter-spacing:.42em;text-transform:uppercase;color:var(--brass);margin-top:5px}

.nav{display:flex;align-items:center;gap:34px}
.nav a{
  font-size:11.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--ink);
  position:relative;padding:6px 0;
}
.nav a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--brass);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);
}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:var(--brass)}

.head__cta{display:flex;align-items:center;gap:22px}
.head__tel{font-size:12.5px;letter-spacing:.06em;color:var(--muted);white-space:nowrap}
.head__tel:hover{color:var(--ink)}
.head .btn{padding:12px 22px}

.burger{display:none;width:42px;height:42px;border:1px solid var(--line);background:transparent;cursor:pointer;position:relative}
.burger span{position:absolute;left:11px;width:20px;height:1px;background:var(--ink);transition:.35s var(--ease)}
.burger span:nth-child(1){top:16px}
.burger span:nth-child(2){top:22px}
.burger span:nth-child(3){top:28px}
.burger[aria-expanded="true"] span:nth-child(1){top:22px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){top:22px;transform:rotate(-45deg)}

.drawer{
  position:fixed;inset:var(--head) 0 auto 0;background:var(--ivory);z-index:55;
  border-bottom:1px solid var(--line);padding:12px var(--pad) 34px;
  transform:translateY(-12px);opacity:0;pointer-events:none;transition:.4s var(--ease);
}
.drawer.is-open{transform:none;opacity:1;pointer-events:auto}
.drawer a{display:block;font-family:var(--serif);font-size:1.6rem;padding:13px 0;border-bottom:1px solid var(--line)}
.drawer .btn{width:100%;justify-content:center;margin-top:22px}

/* ===========================================================
   Hero — composição editorial em duas colunas
   =========================================================== */
.hero{
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
  min-height:calc(100svh - var(--head));border-bottom:1px solid var(--line);
}
.hero__txt{
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(48px,7vw,96px) clamp(24px,5vw,88px) clamp(48px,7vw,96px) var(--pad);
}
.hero__txt .display{max-width:14ch;margin-bottom:26px}
.hero__txt .display em{font-style:italic;color:var(--brass)}
.hero__lede{max-width:44ch;color:var(--muted);font-size:1.04rem;line-height:1.85;margin-bottom:38px}
.hero__acts{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:52px}
.hero__facts{display:flex;flex-wrap:wrap;gap:clamp(26px,4vw,56px);border-top:1px solid var(--line);padding-top:26px}
.hero__fact b{display:block;font-family:var(--serif);font-size:1.85rem;font-weight:400;line-height:1}
.hero__fact span{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);margin-top:9px}

.hero__img{position:relative;overflow:hidden;background:var(--sand)}
.hero__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}
.hero__cap{
  position:absolute;left:0;bottom:0;right:0;padding:26px clamp(20px,3vw,34px);
  background:linear-gradient(to top,rgba(15,26,32,.78),rgba(15,26,32,0));
  color:var(--ivory);display:flex;justify-content:space-between;align-items:flex-end;gap:18px;
}
.hero__cap b{font-family:var(--serif);font-weight:400;font-size:1.12rem;display:block}
.hero__cap span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.72;display:block;margin-top:6px}

/* ===========================================================
   Busca rápida
   =========================================================== */
.quick{background:var(--paper);border-bottom:1px solid var(--line)}
.quick__in{
  max-width:var(--maxw);margin:0 auto;padding:26px var(--pad);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:0;align-items:end;
}
.fld{display:flex;flex-direction:column;padding:0 26px;border-left:1px solid var(--line)}
.fld:first-child{padding-left:0;border-left:0}
.fld label{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-2);margin-bottom:9px}
.fld select,.fld input{
  border:0;border-bottom:1px solid transparent;background:transparent;padding:5px 0;
  font-size:14px;font-weight:300;color:var(--ink);cursor:pointer;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='M1 1l3.5 3.5L8 1' fill='none' stroke='%236E747C' stroke-width='1'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .35em center;
}
.fld select:focus{outline:0;border-bottom-color:var(--brass)}
.quick .btn{margin-left:26px}

/* ===========================================================
   Seções
   =========================================================== */
.sec{padding:clamp(72px,9vw,132px) 0}
.sec--tight{padding:clamp(56px,6vw,88px) 0}
.sec--paper{background:var(--paper)}
.sec--sand{background:var(--sand)}
.sec--ink{background:var(--ink);color:var(--ivory)}
.sec--ink .lede,.sec--ink .muted{color:rgba(248,245,239,.6)}
.sec--ink .h-sec{color:var(--ivory)}

.sec__head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:32px;
  padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:clamp(34px,4vw,58px);
}
.sec--ink .sec__head{border-color:rgba(248,245,239,.16)}
.sec__head .h-sec{max-width:20ch}

/* ---------- grade de imóveis ---------- */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(26px,2.6vw,46px) clamp(22px,2.2vw,36px)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,2vw,34px)}

.card{display:flex;flex-direction:column;position:relative}
.card__fig{position:relative;overflow:hidden;background:var(--sand-dk);aspect-ratio:4/3}
.card__fig img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.5s var(--slow),filter 1s var(--ease);
}
.card:hover .card__fig img{transform:scale(1.045)}
.card__tag{
  position:absolute;top:0;left:0;background:var(--ivory);color:var(--ink);
  font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;padding:9px 15px;
}
.card__tag--brass{background:var(--brass);color:#fff}
.card__body{padding:20px 0 0;display:flex;flex-direction:column;flex:1}
.card__loc{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);margin-bottom:11px}
.card__ttl{
  font-family:var(--serif);font-size:1.22rem;line-height:1.3;margin-bottom:14px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.card__specs{
  display:flex;flex-wrap:wrap;gap:16px;font-size:12.5px;color:var(--muted);
  padding-bottom:15px;margin-top:auto;
}
.card__specs span{display:inline-flex;align-items:center;gap:6px}
.card__price{
  border-top:1px solid var(--line);padding-top:14px;
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
}
.card__price b{font-family:var(--serif);font-weight:400;font-size:1.16rem;letter-spacing:.005em}
.card__price i{font-style:normal;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2)}
.card::after{content:"";position:absolute;inset:0;z-index:2}
.card a.card__hit{position:absolute;inset:0;z-index:3}

/* imóvel em destaque, formato editorial */
.feat{display:grid;grid-template-columns:1.25fr 1fr;gap:0;background:var(--paper);border:1px solid var(--line)}
.feat__fig{position:relative;overflow:hidden;min-height:440px;background:var(--sand-dk)}
.feat__fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--slow)}
.feat:hover .feat__fig img{transform:scale(1.04)}
.feat__body{padding:clamp(32px,4vw,62px);display:flex;flex-direction:column;justify-content:center}
.feat__body .h-sec{font-size:clamp(1.6rem,2.6vw,2.3rem);margin-bottom:20px}
.feat__specs{display:flex;flex-wrap:wrap;gap:26px;padding:22px 0;border-block:1px solid var(--line);margin:8px 0 26px}
.feat__specs div b{display:block;font-family:var(--serif);font-size:1.4rem;font-weight:400;line-height:1}
.feat__specs div span{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);margin-top:7px;display:block}
.feat__price{font-family:var(--serif);font-size:1.9rem;margin-bottom:28px}

/* ---------- faixa de imagem cheia ---------- */
.band{position:relative;min-height:clamp(400px,62vh,660px);display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}
.band__bg{position:absolute;inset:0}
.band__bg img{width:100%;height:100%;object-fit:cover;opacity:.9}
.band::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(15,26,32,.82) 0%,rgba(15,26,32,.45) 46%,rgba(15,26,32,.12) 100%);
}
.band__in{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:clamp(44px,6vw,86px) var(--pad);color:var(--ivory)}
.band__in .h-sec{color:var(--ivory);max-width:16ch;margin-bottom:22px}
.band__in p{color:rgba(248,245,239,.72);max-width:48ch;line-height:1.85}

/* ---------- bairros ---------- */
.hoods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}
.hood{
  position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--ink);display:flex;align-items:flex-end;
}
.hood img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;transition:transform 1.6s var(--slow),opacity .7s var(--ease)}
.hood::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,26,32,.85),rgba(15,26,32,.05) 62%)}
.hood:hover img{transform:scale(1.06);opacity:.95}
.hood__t{position:relative;z-index:2;padding:26px 24px;color:var(--ivory);width:100%}
.hood__t b{display:block;font-family:var(--serif);font-weight:400;font-size:1.45rem}
.hood__t span{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.66;margin-top:8px}

/* ---------- serviços / pilares ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}
.pillar{background:var(--ivory);padding:clamp(30px,3.4vw,52px)}
.sec--paper .pillar{background:var(--paper)}
.pillar__n{font-family:var(--serif);font-size:.95rem;color:var(--brass);display:block;margin-bottom:26px}
.pillar h3{font-family:var(--serif);font-size:1.42rem;margin-bottom:14px}
.pillar p{color:var(--muted);font-size:14.5px;line-height:1.8;margin:0}

/* ---------- citação / manifesto ---------- */
.quote{max-width:30ch;font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.28;letter-spacing:-.015em}
.quote--wide{max-width:22ch}

/* ===========================================================
   Página de acervo — filtros
   =========================================================== */
.pagehead{background:var(--paper);border-bottom:1px solid var(--line);padding:clamp(44px,6vw,84px) 0 clamp(30px,3.4vw,48px)}
.pagehead .display{font-size:clamp(2.2rem,5vw,3.9rem);max-width:16ch}
.pagehead .lede{margin-top:20px}
.crumbs{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);margin-bottom:24px}
.crumbs a:hover{color:var(--brass)}
.crumbs span{margin:0 9px;opacity:.5}

.filters{position:sticky;top:var(--head);z-index:40;background:var(--ivory);border-bottom:1px solid var(--line)}
.filters__in{max-width:var(--maxw);margin:0 auto;padding:18px var(--pad);display:flex;flex-wrap:wrap;gap:0 0;align-items:end}
.filters .fld{flex:1 1 150px;min-width:130px}
.filters__meta{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad) 16px;
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
}
.btn-clear{background:none;border:0;cursor:pointer;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);padding:6px 0;border-bottom:1px solid transparent}
.btn-clear:hover{border-bottom-color:var(--brass)}

.empty{padding:clamp(60px,9vw,120px) 0;text-align:center}
.empty .h-sec{margin-bottom:14px}
.more-wrap{display:flex;justify-content:center;padding-top:clamp(40px,5vw,68px)}

/* ===========================================================
   Ficha do imóvel
   =========================================================== */
.pdp{padding-top:clamp(28px,3.4vw,48px)}
.pdp__top{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(28px,3.4vw,58px);align-items:start}
.pdp__ttl{font-size:clamp(1.8rem,3.4vw,2.8rem);margin:14px 0 16px;max-width:20ch}
.pdp__loc{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}

.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gal__main{grid-column:1/-1;aspect-ratio:16/10;overflow:hidden;background:var(--sand-dk);cursor:zoom-in;position:relative}
.gal__main img{width:100%;height:100%;object-fit:cover}
.gal__t{aspect-ratio:4/3;overflow:hidden;background:var(--sand-dk);cursor:pointer;position:relative}
.gal__t img{width:100%;height:100%;object-fit:cover;transition:opacity .4s var(--ease),transform 1s var(--slow)}
.gal__t:hover img{transform:scale(1.05)}
.gal__t[aria-selected="true"]::after{content:"";position:absolute;inset:0;border:2px solid var(--brass)}
.gal__all{margin:18px 0 0}
.gal__all .link-u{background:none;border:0;cursor:pointer;font-family:var(--sans);font-weight:400}

.aside{position:sticky;top:calc(var(--head) + 24px);border:1px solid var(--line);background:var(--paper);padding:clamp(24px,2.6vw,36px)}
.aside__price{font-family:var(--serif);font-size:clamp(1.8rem,2.6vw,2.35rem);line-height:1;margin-bottom:6px}
.aside__ref{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2)}
.aside__specs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin:26px 0;border:1px solid var(--line)}
.aside__specs div{background:var(--paper);padding:16px 14px}
/* número ímpar de dados: o último ocupa a linha inteira, sem célula vazia */
.aside__specs div:last-child:nth-child(odd){grid-column:1/-1}
.aside__specs b{display:block;font-family:var(--serif);font-size:1.35rem;font-weight:400;line-height:1}
.aside__specs span{display:block;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);margin-top:7px}
.aside__costs{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:4px}
.aside__costs div{display:flex;justify-content:space-between;padding:5px 0}
.aside .btn{width:100%;justify-content:center;margin-top:10px}
.aside__broker{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font-size:13px;color:var(--muted);line-height:1.8}
.aside__broker b{display:block;font-family:var(--serif);font-size:1.05rem;color:var(--text);font-weight:400;margin-bottom:5px}

.desc{max-width:70ch}
.desc h3{font-family:var(--serif);font-size:1.55rem;margin:0 0 20px}
.desc ul{list-style:none;padding:0;margin:0 0 26px;columns:2;column-gap:44px}
.desc li{padding:7px 0 7px 20px;position:relative;font-size:14.5px;color:var(--muted);break-inside:avoid;line-height:1.65}
.desc li::before{content:"";position:absolute;left:0;top:16px;width:8px;height:1px;background:var(--brass)}
.desc li.is-head{font-family:var(--serif);color:var(--text);font-size:1.02rem;padding-left:0;margin-top:14px;column-span:all}
.desc li.is-head::before{display:none}

/* lightbox */
.lb{position:fixed;inset:0;z-index:200;background:rgba(11,18,22,.97);display:none;align-items:center;justify-content:center}
.lb.is-open{display:flex}
.lb img{max-width:92vw;max-height:84vh;object-fit:contain}
.lb__x,.lb__p,.lb__n{
  position:absolute;background:none;border:1px solid rgba(248,245,239,.3);color:var(--ivory);
  width:52px;height:52px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .35s var(--ease),border-color .35s var(--ease);font-size:19px;
}
.lb__x:hover,.lb__p:hover,.lb__n:hover{background:rgba(248,245,239,.14);border-color:var(--ivory)}
.lb__x{top:26px;right:26px}
.lb__p{left:26px;top:50%;margin-top:-26px}
.lb__n{right:26px;top:50%;margin-top:-26px}
.lb__c{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:rgba(248,245,239,.62);font-size:11px;letter-spacing:.2em;text-transform:uppercase}

/* ===========================================================
   Formulários
   =========================================================== */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 26px}
.form .f-full{grid-column:1/-1}
.f{display:flex;flex-direction:column}
.f label{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-2);margin-bottom:10px}
.f input,.f select,.f textarea{
  border:0;border-bottom:1px solid var(--line-2);background:transparent;padding:10px 0;
  font-size:15px;font-weight:300;transition:border-color .35s var(--ease);
}
.f textarea{resize:vertical;min-height:104px}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-bottom-color:var(--brass)}
.sec--ink .f input,.sec--ink .f select,.sec--ink .f textarea{border-bottom-color:rgba(248,245,239,.28);color:var(--ivory)}
.sec--ink .f label{color:rgba(248,245,239,.5)}
.form-note{font-size:12px;color:var(--muted);grid-column:1/-1;margin:0}

.info-list{list-style:none;padding:0;margin:0}
.info-list li{padding:18px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:baseline}
.sec--ink .info-list li{border-color:rgba(248,245,239,.16)}
.info-list dt,.info-list b{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);font-weight:400}
.info-list span{text-align:right;font-size:15px}

/* ===========================================================
   Rodapé
   =========================================================== */
.foot{background:var(--ink);color:var(--ivory);padding:clamp(56px,7vw,96px) 0 30px}
.foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:clamp(28px,3.4vw,52px);padding-bottom:clamp(40px,5vw,68px);border-bottom:1px solid rgba(248,245,239,.15)}
.foot__brand .brand__n{font-size:1.6rem}
.foot__brand p{color:rgba(248,245,239,.6);font-size:14px;line-height:1.85;margin-top:20px;max-width:34ch}
.foot h4{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-lt);font-family:var(--sans);font-weight:400;margin-bottom:20px}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{margin-bottom:12px}
.foot li a,.foot address a{color:rgba(248,245,239,.72);font-size:14px;transition:color .3s var(--ease)}
.foot li a:hover,.foot address a:hover{color:var(--brass-lt)}
.foot address{font-style:normal;color:rgba(248,245,239,.72);font-size:14px;line-height:1.9}
.foot__bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:26px;font-size:11.5px;color:rgba(248,245,239,.45);letter-spacing:.06em}
.foot__soc{display:flex;gap:18px}
.foot__soc a{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(248,245,239,.6)}
.foot__soc a:hover{color:var(--brass-lt)}

/* botão flutuante whatsapp */
.wa-float{
  position:fixed;right:20px;bottom:20px;z-index:70;width:54px;height:54px;border-radius:50%;
  background:var(--brass);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 30px rgba(15,26,32,.26);transition:transform .4s var(--ease),background .4s var(--ease);
}
.wa-float:hover{transform:translateY(-3px);background:var(--ink)}
.wa-float svg{width:26px;height:26px;fill:currentColor}


/* ---------- duplas e barras de chamada ---------- */
.duo{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(32px,5vw,88px)}
.duo--even{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,5vw,80px)}
.duo--wide{grid-template-columns:1fr 1.15fr;gap:clamp(30px,6vw,96px)}
.ctabar{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center}
@media (max-width:1000px){
  .duo,.duo--even,.duo--wide{grid-template-columns:1fr}
}
@media (max-width:760px){
  .ctabar{grid-template-columns:1fr;gap:24px;justify-items:start}
}

/* ===========================================================
   Revelação em scroll
   =========================================================== */
/* só esconde quando o JS está ativo — sem JS, tudo aparece */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .95s var(--slow),transform .95s var(--slow)}
.js .rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ===========================================================
   Responsivo
   =========================================================== */
@media (max-width:1180px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hoods{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick__in{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .fld{border-left:0;padding:0}
  .quick .btn{grid-column:1/-1;margin-left:0;justify-content:center}
  .pdp__top{grid-template-columns:1fr}
  .aside{position:static}
}
@media (max-width:1000px){
  /* o botão de WhatsApp do topo sai: já existe o flutuante e o do menu */
  .nav,.head__tel,.head .btn{display:none}
  .burger{display:block}
  .head__in{gap:16px}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero__img{aspect-ratio:4/3;order:-1}
  .hero__txt{padding:clamp(38px,7vw,64px) var(--pad)}
  .feat{grid-template-columns:1fr}
  .feat__fig{min-height:0;aspect-ratio:4/3}
  .pillars{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .desc ul{columns:1}
}
@media (max-width:640px){
  .grid,.grid--2,.grid--4{grid-template-columns:1fr}
  .hoods{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .sec__head{flex-direction:column;align-items:flex-start;gap:18px}
  .foot__grid{grid-template-columns:1fr}
  .gal{grid-template-columns:repeat(2,1fr)}
  .aside__specs{grid-template-columns:repeat(2,1fr)}
  .filters__in{gap:16px}
  .filters .fld{flex:1 1 45%}
  .hero__facts{gap:22px}
  .card__specs{gap:12px;font-size:12px}
}
