:root{
  --pine:#0F3D38;--pine-dk:#0A2B27;--pine-lt:#1C5A52;--card-d:#1B4A43;
  --paper:#F5F6F4;--card:#FFF;--yellow:#FFC531;--yellow-dk:#E0A800;
  --ink:#15201E;--muted:#6B7773;--muted-d:#9FBAB5;--line:#DFE4E1;--line-d:#2A5E56;
  --display:"Bricolage Grotesque",Georgia,serif;
  --body:"Inter",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);
  font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}
a{color:inherit}button{font-family:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;border-radius:4px}
h2{font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1.12}

/* nav */
.nav{background:var(--pine);color:#fff;position:sticky;top:0;z-index:50}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:62px;gap:14px}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:800;
  font-size:18.5px;letter-spacing:-.02em;text-decoration:none;color:#fff;flex:none}
.bm{width:25px;height:25px;border-radius:5px;background:var(--yellow);position:relative;flex:none}
.bm::before,.bm::after{content:"";position:absolute;left:5px;right:5px;height:2px;
  background:var(--pine);border-radius:2px}
.bm::before{top:7px}.bm::after{top:13px}
.nav-links{display:flex;align-items:center;gap:20px;font-size:14.5px;font-weight:500}
.nav-links a{text-decoration:none;opacity:.85}
.nav-links a:hover{opacity:1}
.nav-cta{background:var(--yellow);color:var(--pine-dk);padding:9px 15px;border-radius:7px;
  font-weight:700;font-size:14.5px;text-decoration:none;flex:none;min-height:44px;display:inline-flex;align-items:center}
.nav-cta:hover{background:#fff}

/* hero */
.hero{background:var(--pine);color:#fff;padding:52px 0 58px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:repeating-linear-gradient(to bottom,rgba(255,255,255,.045) 0 2px,transparent 2px 13px)}
.hero-in{position:relative;z-index:2}
.hero-split{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;color:var(--yellow);margin:0 0 15px}
.eyebrow span{width:7px;height:7px;background:var(--yellow);border-radius:50%}
h1{font-family:var(--display);font-weight:800;font-size:clamp(31px,4.4vw,50px);
  line-height:1.05;letter-spacing:-.03em;margin:0 0 17px}
h1 em{font-style:normal;color:var(--yellow)}
.hero-sub{font-size:17px;line-height:1.5;color:#C8D8D4;margin:0 0 24px;max-width:32em}
.hero-proof{display:flex;flex-wrap:wrap;gap:9px 22px;font-size:14px;color:#AEC4C0}
.hero-proof b{color:#fff;font-weight:600}

/* busca inline (páginas de cidade) */
.search{display:flex;gap:10px;flex-wrap:wrap;max-width:660px}
.search .go{min-width:260px}
.search .go{background:var(--yellow);color:var(--pine-dk);border:0;padding:14px 24px;
  border-radius:9px;font-weight:700;font-size:16px}
.search .go:hover{background:#fff}
.geo{background:none;border:1.5px solid rgba(255,255,255,.35);color:#fff;padding:14px 17px;
  border-radius:9px;font-size:15px;font-weight:500;min-height:44px;display:inline-flex;align-items:center}
.geo:hover{border-color:#fff}
.quick{margin:13px 0 0;font-size:13.5px;color:#9FBAB5;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.quick button{background:none;border:0;color:var(--yellow);font-size:13.5px;font-weight:600;
  padding:2px 0;text-decoration:underline;text-underline-offset:3px}
.err{margin:12px 0 0;color:#FFB4A8;font-size:14px;display:none;line-height:1.45;max-width:520px}
.err.on{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.err-msg{display:block}
.err-cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:10px 16px;border-radius:9px;
  border:1.5px solid rgba(255,255,255,.45);background:transparent;
  color:#fff;font:inherit;font-size:14.5px;font-weight:600;
  cursor:pointer;text-decoration:none
}
.err-cta:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.err-cta:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
.err-cta-secondary{opacity:.92;font-weight:500}
@media(max-width:700px){
  .err{padding-bottom:4px;margin-bottom:4px}
}

/* finder card (home) */
.finder{background:var(--card);border-radius:14px;padding:22px;color:var(--ink);
  box-shadow:0 18px 44px rgba(4,26,23,.28)}
.finder h2{font-family:var(--display);font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0 0 3px}
.finder .hint{margin:0 0 18px;font-size:13.5px;color:var(--muted)}
.field{margin-bottom:15px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.field input,.field select{width:100%;padding:12px 13px;border:1.5px solid var(--line);
  border-radius:8px;font-size:15.5px;font-family:inherit;background:#fff;color:var(--ink)}
.field input:hover,.field select:hover{border-color:#B9C4C0}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;
  font-size:13.5px;font-weight:500;color:var(--ink);min-height:44px;display:inline-flex;align-items:center}
.chip[aria-pressed="true"]{background:var(--pine);border-color:var(--pine);color:#fff;font-weight:600}
.estimate{background:var(--paper);border:1px dashed var(--line);border-radius:9px;padding:13px 15px;
  margin:4px 0 15px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.estimate-lbl{font-size:12.5px;color:var(--muted);font-weight:500}
.estimate-val{font-family:var(--display);font-size:23px;font-weight:800;letter-spacing:-.02em}
.estimate-val small{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:0}
.submit{width:100%;background:var(--yellow);color:var(--pine-dk);border:0;padding:15px;
  border-radius:9px;font-size:16.5px;font-weight:700}
.submit:hover{background:var(--yellow-dk)}
.finder-crisp{
  width:100%;margin-top:10px;min-height:44px;padding:12px 15px;
  border-radius:9px;border:1.5px solid var(--line);background:#fff;
  color:var(--pine);font:inherit;font-size:15px;font-weight:600;
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center
}
.finder-crisp:hover{border-color:var(--pine);background:var(--paper)}
.finder-crisp:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
.fineprint{font-size:12px;color:var(--muted);text-align:center;margin:11px 0 0}
.thanks{display:none;text-align:center;padding:26px 6px}
.thanks.on{display:block}
.tick{width:46px;height:46px;border-radius:50%;background:#2E7D5B;color:#fff;display:grid;
  place-items:center;margin:0 auto 14px;font-size:23px}
.thanks h3{font-family:var(--display);font-size:21px;margin:0 0 8px;letter-spacing:-.02em}
.thanks p{margin:0;font-size:14.5px;color:var(--muted)}
.finder.done .finder-form{display:none}

/* strip */
.strip{background:var(--pine-dk);color:#fff;padding:15px 0}
.strip-in{display:flex;flex-wrap:wrap;gap:11px 32px;justify-content:center;font-size:14px;font-weight:500}
.strip-in span{display:flex;align-items:center;gap:9px;color:#BDD2CE}
.strip-in span::before{content:"";width:6px;height:6px;background:var(--yellow);border-radius:50%;flex:none}

/* sections */
.sec{padding:64px 0}
.sec.tight{padding-top:0}
.sec-head{max-width:670px;margin:0 0 30px}
.sec-head h2{font-size:clamp(25px,3.1vw,34px);margin:0 0 10px}
.sec-head p{margin:0;font-size:16.5px;color:var(--muted)}
.dark{background:var(--pine-dk);color:#fff}
.dark .sec-head p{color:var(--muted-d)}

/* list rank / filter (city pages) */
.list-tools{display:flex;flex-direction:column;gap:10px;margin:0 0 14px}
.list-sort,.list-filter,.list-region{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.list-tools-lbl{font-size:12.5px;font-weight:600;color:var(--muted);margin-right:2px;min-width:3.6em}
.list-tools .chip{cursor:pointer;min-height:44px;padding:10px 14px;font-family:inherit}
.list-tools .chip:disabled{opacity:.45;cursor:not-allowed}
.list-tools .chip:focus-visible{outline:2px solid var(--pine);outline-offset:2px}

/* resultados */
.rhead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;
  flex-wrap:wrap;margin-bottom:16px}
.rhead h2{font-size:22px;margin:0}
.rhead span{font-size:13.5px;color:var(--muted)}
.list{display:flex;flex-direction:column;gap:11px}
.item{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:17px 19px;
  display:grid;grid-template-columns:62px 1fr auto;gap:17px;align-items:start}
.item:hover{border-color:#B9C4C0}
.km{background:var(--pine);color:#fff;border-radius:9px;padding:10px 5px;text-align:center}
.km b{display:block;font-family:var(--display);font-size:18px;font-weight:800;letter-spacing:-.02em}
.km small{font-size:10px;opacity:.75;letter-spacing:.04em}
.info h3{font-family:var(--display);font-size:17.5px;font-weight:800;letter-spacing:-.02em;margin:0 0 4px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.info h3 a{color:inherit}
.valor-badge{
  display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;
  font-family:var(--sans,inherit);font-size:11.5px;font-weight:700;letter-spacing:.01em;line-height:1.3;
  color:#7A4E00;background:rgba(242,193,46,.28);border:1px solid rgba(184,134,11,.35);
  white-space:nowrap
}
.addr{margin:0 0 8px;font-size:14px;color:var(--muted)}
.meta{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:13.5px;color:var(--muted);margin:0}
.meta b{color:var(--ink);font-weight:600}
.open{color:#1F7A52;font-weight:600}
.shut{color:#A8534B;font-weight:600}
.acts{display:flex;flex-direction:column;gap:8px;min-width:158px}
.acts a{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;padding:10px 14px;border-radius:8px;
  font-size:14px;font-weight:600;min-height:44px}
.a1{background:var(--pine);color:#fff}
.a1:hover{background:var(--pine-lt)}
.a2{background:#fff;color:var(--pine);border:1.5px solid var(--line)}
.a2:hover{border-color:var(--pine)}

/* tamanhos */
.sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.size{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:20px 18px 18px;
  display:flex;flex-direction:column}
.size:hover{border-color:var(--pine)}
.size-vis{height:74px;margin-bottom:14px;display:flex;align-items:flex-end;gap:5px}
.size-vis i{display:block;background:var(--yellow);border-radius:3px}
.size-m{font-family:var(--display);font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0 0 3px}
.size-price{font-size:14px;font-weight:600;color:var(--pine-lt);margin:0 0 11px}
.size-fits{margin:0;font-size:13.5px;color:var(--muted);line-height:1.45;flex:1}
.size-note{margin:18px 0 0;font-size:13.5px;color:var(--muted);max-width:64em}

/* cidades */
.cities{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.cty{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:18px 19px;
  text-decoration:none;display:block}
.cty:hover{border-color:var(--pine)}
.cty b{display:block;font-family:var(--display);font-size:18px;font-weight:800;letter-spacing:-.02em;margin-bottom:3px}
.cty span{font-size:13.5px;color:var(--muted)}
.cty i{display:block;font-style:normal;font-size:13px;color:var(--pine-lt);font-weight:600;margin-top:7px}
.soon{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.soon a,.soon span{background:none;border:1.5px dashed var(--line);border-radius:999px;padding:8px 15px;
  font-size:13.5px;color:var(--muted);text-decoration:none}

/* band */
.band{background:var(--pine);color:#fff;border-radius:16px;padding:42px 40px;display:grid;
  grid-template-columns:1.4fr .9fr;gap:32px;align-items:center}
.band h2{font-size:clamp(23px,3vw,31px);margin:0 0 11px}
.band p{margin:0;color:#C0D3CF;font-size:16px}
.band-cta{background:var(--yellow);color:var(--pine-dk);text-decoration:none;padding:15px 25px;
  border-radius:9px;font-weight:700;font-size:16px;display:inline-block;text-align:center}
.band-cta:hover{background:#fff}
.band-side{text-align:center}
.band-side small{display:block;margin-top:10px;font-size:13px;color:#9FBAB5}

/* faq — compact accordion (details legacy + button/aria-expanded) */
.faq{max-width:790px}
.faq details,
.faq .faq-item{background:var(--card);border:1.5px solid var(--line);border-radius:10px;
  padding:12px 16px;margin-bottom:8px}
.faq summary,
.faq .faq-trigger{font-weight:600;font-size:15.5px;cursor:pointer;list-style:none;display:flex;
  justify-content:space-between;gap:14px;align-items:center;width:100%;
  background:transparent;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after,
.faq .faq-trigger-icon::before{content:"+";font-family:var(--display);font-size:20px;color:var(--pine-lt);flex:none;line-height:1}
.faq details[open] summary::after,
.faq .faq-item.is-open .faq-trigger-icon::before{content:"–"}
.faq .faq-trigger:focus-visible{outline:2px solid var(--pine);outline-offset:3px;border-radius:4px}
.faq .faq-q{margin:0;font:inherit;font-weight:inherit;font-size:inherit}
.faq .faq-panel{margin:0}
.faq .faq-panel[hidden]{display:none!important}
.faq p{margin:10px 0 0;color:var(--muted);font-size:14.5px;line-height:1.55}

/* texto SEO */
.intro{max-width:70ch;margin:0 0 30px}
.intro p{margin:0 0 14px;font-size:16px;color:var(--muted);line-height:1.62}
.intro p:last-child{margin-bottom:0}
.intro b{color:var(--ink);font-weight:600}
.dark .intro p{color:var(--muted-d)}
.dark .intro b{color:#fff}

/* blocos de destaque */
.mn{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.mn-c{background:var(--card);border:2px solid var(--line);border-radius:12px;padding:24px;position:relative}
.mn-c.key{border-color:var(--yellow)}
.mn-n{font-family:var(--display);font-size:12px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);margin:0 0 11px}
.mn-c.key .mn-n{color:var(--yellow-dk)}
.mn-c h3{font-family:var(--display);font-size:19px;font-weight:800;letter-spacing:-.025em;
  margin:0 0 9px;line-height:1.15}
.mn-c p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.5}
.mn-note{margin:20px 0 0;padding:18px 20px;background:var(--card-d);color:#D5E4E1;
  border-radius:11px;font-size:14.5px;line-height:1.55}
.mn-note b{color:#fff}
@media(max-width:940px){.mn{grid-template-columns:1fr}}

/* operador */
.calc{background:var(--card);border-radius:14px;padding:23px;color:var(--ink);
  box-shadow:0 20px 46px rgba(4,26,23,.3)}
.calc h3{font-family:var(--display);font-size:19px;font-weight:800;letter-spacing:-.02em;margin:0 0 4px}
.calc .sub{margin:0 0 19px;font-size:13.5px;color:var(--muted)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.f{margin-bottom:13px}
.f label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.f input{width:100%;padding:11px 12px;border:1.5px solid var(--line);border-radius:8px;
  font-size:15.5px;font-family:inherit}
.out{background:var(--pine);color:#fff;border-radius:10px;padding:17px 19px;margin:6px 0 4px}
.out .lbl{font-size:12.5px;color:var(--muted-d);margin:0 0 4px}
.out .big{font-family:var(--display);font-size:33px;font-weight:800;letter-spacing:-.03em;
  color:var(--yellow);line-height:1.05;margin:0}
.out .foot{margin:8px 0 0;font-size:12.5px;color:var(--muted-d)}
.calc .note{margin:11px 0 0;font-size:12px;color:var(--muted)}
.tagline{display:inline-block;background:rgba(255,197,49,.14);color:var(--yellow);font-size:12.5px;
  font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:6px 12px;border-radius:6px;margin:0 0 17px}
.versus{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.vs{background:var(--card-d);border:1.5px solid var(--line-d);border-radius:12px;padding:23px}
.vs.you{background:transparent;border-color:var(--yellow)}
.vs .who{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted-d);margin:0 0 13px}
.vs.you .who{color:var(--yellow)}
.vs ul{margin:0;padding:0;list-style:none}
.vs li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:15px;color:#D5E4E1}
.vs li:last-child{border-bottom:0}
.vs li b{color:#fff;font-weight:600}
.fight-note{margin:24px 0 0;font-size:15.5px;color:var(--yellow);font-style:italic;max-width:56em}
.offer{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.o{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:23px}
.o .tag{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 9px;border-radius:5px;margin:0 0 12px}
.t-now{background:#E7F3EC;color:#1F7A52}
.t-later{background:#F0F1EF;color:var(--muted)}
.o h3{font-family:var(--display);font-size:18px;font-weight:800;letter-spacing:-.02em;margin:0 0 8px}
.o p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.5}
.o .price{font-family:var(--display);font-size:21px;font-weight:800;letter-spacing:-.02em;
  color:var(--pine);margin:12px 0 0}
.nots{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 28px;max-width:890px}
.not{display:flex;gap:12px;align-items:flex-start;padding:11px 0}
.x{flex:none;width:22px;height:22px;border-radius:50%;background:var(--yellow);color:var(--pine-dk);
  display:grid;place-items:center;font-size:13px;font-weight:800;margin-top:1px}
.not p{margin:0;font-size:15px}
.not p b{display:block;margin-bottom:2px}
.not p span{color:var(--muted);font-size:14px}
.who-box{background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:32px;
  display:grid;grid-template-columns:auto 1fr;gap:25px;align-items:start}
.avatar{width:64px;height:64px;border-radius:14px;background:var(--pine);color:var(--yellow);
  display:grid;place-items:center;font-family:var(--display);font-size:24px;font-weight:800}
.who-box h3{font-family:var(--display);font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0 0 10px}
.who-box p{margin:0 0 11px;font-size:15.5px;color:var(--muted)}
.who-box p:last-child{margin-bottom:0}
.who-box b{color:var(--ink)}
.form-sec{background:var(--pine);color:#fff;border-radius:16px;padding:38px}
.form-sec h2{font-size:clamp(23px,3vw,31px);margin:0 0 10px}
.form-sec .lead{margin:0 0 24px;color:#C0D3CF;font-size:16px;max-width:46em}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-sec label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#D9E7E4}
.form-sec input,.form-sec select{width:100%;padding:12px 13px;border:1.5px solid transparent;
  border-radius:8px;font-size:15.5px;font-family:inherit;background:#fff;color:var(--ink)}
.fw{grid-column:1/-1}
.ask{grid-column:1/-1;background:var(--card-d);border:1.5px solid var(--line-d);border-radius:10px;
  padding:17px 19px;margin:6px 0 4px}
.ask p{margin:0 0 12px;font-size:15.5px;font-weight:600}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{background:transparent;border:1.5px solid var(--line-d);color:#D5E4E1;border-radius:999px;
  padding:9px 16px;font-size:14px;font-weight:500}
.opt[aria-pressed="true"]{background:var(--yellow);border-color:var(--yellow);color:var(--pine-dk);font-weight:700}
.send{grid-column:1/-1;background:var(--yellow);color:var(--pine-dk);border:0;padding:15px;
  border-radius:9px;font-size:16.5px;font-weight:700;margin-top:6px}
.lgpd{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;margin:10px 0 0}
.lgpd input{width:18px;height:18px;flex:none;margin-top:2px;padding:0}
.lgpd label{font-size:12.5px;color:#A9C2BD;font-weight:400;margin:0;line-height:1.45}
.send:hover{background:#fff}
.fine{grid-column:1/-1;margin:4px 0 0;font-size:12.5px;color:#8FA9A4;text-align:center}
.done{display:none;text-align:center;padding:32px 10px}
.done.on{display:block}
.done .tick{background:var(--yellow);color:var(--pine-dk);font-weight:800}
.done h3{font-family:var(--display);font-size:22px;margin:0 0 10px;letter-spacing:-.02em}
.done p{margin:0 auto;color:#C0D3CF;font-size:15.5px;max-width:34em}
.form-sec.sent .fgrid{display:none}

/* ref preços */
.ref{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:23px;margin-top:28px}
.ref h2{font-size:20px;margin:0 0 5px}
.ref .lead{margin:0 0 17px;font-size:14.5px;color:var(--muted)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.g{border:1.5px solid var(--line);border-radius:10px;padding:14px}
.g b{display:block;font-family:var(--display);font-size:16.5px;font-weight:800;letter-spacing:-.02em;margin-bottom:2px}
.g .p{font-size:15px;font-weight:700;color:var(--pine-lt);margin:0 0 6px}
.g p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.4}
.caveat{margin:17px 0 0;padding-top:15px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}

footer{background:var(--pine-dk);color:#9FBAB5;padding:38px 0 28px;font-size:13.5px}
.ft-top{display:flex;justify-content:space-between;gap:26px;flex-wrap:wrap;padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.11);margin-bottom:20px}
.ft-top p{margin:9px 0 0;max-width:32em}
.ft-links{display:flex;gap:22px;flex-wrap:wrap}
.ft-links a{text-decoration:none}
.ft-links a:hover{color:#fff}
.ft-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px}

@media(max-width:940px){
  .hero-split,.versus,.offer,.nots,.fgrid,.row{grid-template-columns:1fr}
  .sizes,.cities,.grid4{grid-template-columns:repeat(2,1fr)}
  .band{grid-template-columns:1fr;padding:32px 24px}
  .band-side{text-align:left}.band-cta{width:100%}
  .who-box{grid-template-columns:1fr;padding:25px}
  .form-sec{padding:26px 20px}
  .sec{padding:48px 0}
}
@media(max-width:700px){
  .item{grid-template-columns:54px 1fr;gap:14px}
  .acts{grid-column:1/-1;flex-direction:row;min-width:0}
  .acts a{flex:1}
  .nav-links{display:none}
  .nav-toggle{display:inline-flex}
  .nav-drawer{display:block}
}
@media(max-width:520px){
  .sizes,.cities,.grid4{grid-template-columns:1fr}
  .acts{flex-direction:column}
  .acts a{width:100%;flex:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* CTA de contato por botão em páginas de cidade/unidade — desativado (EL.WA_ENABLED=false em app.js) */
.wa-cta{margin:36px 0 8px;padding:22px 24px;border-radius:16px;background:linear-gradient(135deg,#0B3D36 0%,#0F5C4C 100%);color:#fff}
.wa-cta-inner{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.wa-cta h2{margin:0 0 8px;font-size:1.25rem;color:#fff}
.wa-cta p{margin:0;color:#CDE8E1;max-width:42ch;line-height:1.45}
.wa-cta-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;max-width:340px}
.wa-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:13px;border:1px solid rgba(255,255,255,.2);min-height:44px}
.wa-chip:hover{background:rgba(255,255,255,.2)}
.wa-main{margin-top:4px}
.wa-cta-actions small{width:100%;color:#9FBAB5;font-size:12px}


/* ---------- Mobile nav (hamburger + drawer) ---------- */
.nav-toggle{
  display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;
  width:44px;height:44px;min-height:44px;padding:0;margin:0;border:1.5px solid rgba(255,255,255,.35);
  border-radius:8px;background:transparent;color:#fff;flex:none;
}
.nav-toggle:hover{border-color:#fff}
.nav-toggle-bar{display:block;width:18px;height:2px;background:#fff;border-radius:2px}
body.nav-open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.nav-open .nav-toggle-bar:nth-child(2){opacity:0}
body.nav-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-toggle-bar{transition:transform .2s ease,opacity .2s ease}
.nav-drawer{display:none;position:absolute;left:0;right:0;top:100%;z-index:60}
.nav-drawer[hidden]{display:none!important}
.nav-drawer:not([hidden]){display:block}
.nav-drawer-panel{
  background:var(--pine-dk);border-top:1px solid rgba(255,255,255,.12);
  padding:10px 20px 16px;display:flex;flex-direction:column;gap:2px;
  box-shadow:0 16px 32px rgba(4,26,23,.35);
}
.nav-drawer-link{
  display:flex;align-items:center;min-height:44px;padding:10px 4px;
  text-decoration:none;color:#fff;font-size:15.5px;font-weight:500;opacity:.92;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav-drawer-link:last-child{border-bottom:0}
.nav-drawer-link:hover{opacity:1;color:var(--yellow)}
@media(min-width:701px){
  .nav-toggle,.nav-drawer{display:none!important}
  body.nav-open{overflow:visible}
}

/* peer cities "ver todas" */
.cities-more{margin:16px 0 0;font-size:15px}
.cities-more a{color:var(--pine);font-weight:700;text-decoration:none}
.cities-more a:hover{text-decoration:underline;text-underline-offset:3px}

/* unit page WA button in hero actions */
.unit-wa,.search .go.unit-wa{min-height:44px}
.wa-main{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.search .go{min-height:44px;display:inline-flex;align-items:center;justify-content:center}

/* WA CTA sits above list — tighten top margin on city pages */
#wa-cta{margin-top:8px;margin-bottom:28px}


/* empty price on unit cards */
.meta .preco-ok{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}
.meta .preco-ok b{color:var(--ink);font-weight:600}
.meta .preco-empty{color:var(--muted);font-weight:500;font-style:normal}
.meta .preco-badge{
  display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;
  font-size:11px;font-weight:600;letter-spacing:.01em;line-height:1.3;
  color:var(--pine-lt);background:rgba(28,90,82,.12);border:1px solid rgba(28,90,82,.22);
  font-style:normal;white-space:nowrap
}
.meta .from-price-badge{
  display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;
  font-size:11px;font-weight:600;letter-spacing:.01em;line-height:1.3;
  color:var(--pine-lt);background:rgba(28,90,82,.12);border:1px solid rgba(28,90,82,.22);
  font-style:normal;white-space:nowrap;text-decoration:none
}
.meta .from-price-badge:hover,.meta .from-price-badge:focus{
  text-decoration:underline;outline:none
}
.preco-fresh{
  font-size:11px;font-weight:500;letter-spacing:.01em;line-height:1.3;
  color:var(--muted);font-style:normal;white-space:nowrap
}
.meta .preco-fresh{font-size:11px}
.ref .preco-fresh{
  display:block;margin:0 0 12px;font-size:13px
}
.ref h2 + .preco-fresh{margin-top:-2px}

/* Funil consumidor lead form (Crisp) */
.lead-funil-home-wrap{margin:-28px auto 28px;position:relative;z-index:3}
.lead-funil{margin:12px 0 28px;padding:20px 18px;border-radius:14px;background:var(--card);
  border:1.5px solid var(--line);box-shadow:0 10px 28px rgba(4,26,23,.08)}
.lead-funil-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:18px 28px;align-items:start}
.lead-funil-copy h2{margin:0 0 8px;font-family:var(--display);font-size:1.2rem;letter-spacing:-.02em;color:var(--ink)}
.lead-funil-copy p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.45;max-width:36ch}
.lead-funil .field{margin-bottom:12px}
.lead-funil .field-label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.lead-funil .field-hint{display:block;margin-top:5px;font-size:12px;color:var(--muted)}
.lead-funil .opt{font-weight:500;color:var(--muted)}
.lead-funil .chip{min-height:44px}
.lead-funil .submit{min-height:48px;margin-top:4px}
.lead-funil .fineprint{margin-top:10px}
.lead-funil .lead-fallback{margin:8px 0 0;text-align:center;font-size:13.5px}
.lead-funil .lead-fallback a{color:var(--pine);font-weight:600}
.lead-funil .lead-err{margin:10px 0 0;color:#A8534B;font-size:14px;font-weight:500}
.lead-funil input[readonly]{background:var(--paper);color:var(--ink)}
#lead-funil{margin-top:8px;margin-bottom:28px;scroll-margin-top:calc(62px + 12px);scroll-margin-bottom:calc(140px + env(safe-area-inset-bottom, 0px))}
/* iOS: avoid input zoom — UX P1 2026-09-12 */
#lead-funil .field input,
#lead-funil .field select{
  font-size:16px;
}

@media(max-width:700px){
  .lead-funil-inner{grid-template-columns:1fr}
  .lead-funil-home-wrap{margin-top:8px}
  /* P2: (opcional) as chip/pill — avoids awkward inline on narrow labels */
  .lead-funil .opt.lead-opt-pill,
  .lead-funil label .opt{
    display:inline-block;
    font-weight:600;
    font-size:11px;
    letter-spacing:.02em;
    color:var(--muted);
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:999px;
    padding:2px 8px;
    margin-left:4px;
    vertical-align:middle;
    line-height:1.35;
    white-space:nowrap;
  }
}

/* Crisp launcher clearance — UX 2026-09-12 */
@media(max-width:700px){
  .list{
    padding-bottom:calc(88px + env(safe-area-inset-bottom, 0px));
  }
  #list, .results, .rlist{
    padding-bottom:calc(88px + env(safe-area-inset-bottom, 0px));
  }
}


/* Sticky mobile Pedir opções — above Crisp, ≤700px — UX 2026-09-12 */
.el-sticky-lead{
  display:none;position:fixed;left:0;right:0;z-index:40;
  bottom:calc(72px + env(safe-area-inset-bottom, 0px));
  padding:0 12px;pointer-events:none;
  transition:opacity .2s ease, transform .2s ease
}
.el-sticky-lead.is-hidden{opacity:0;transform:translateY(8px);visibility:hidden}
.el-sticky-lead-btn{
  pointer-events:auto;display:block;width:100%;max-width:420px;margin:0 auto;
  min-height:48px;padding:12px 18px;border:0;border-radius:12px;
  background:var(--yellow);color:var(--pine-dk);font:inherit;font-weight:700;
  font-size:15.5px;letter-spacing:-.01em;cursor:pointer;
  box-shadow:0 8px 24px rgba(4,26,23,.22);
  text-align:center;text-decoration:none;box-sizing:border-box;
  line-height:1.25
}
a.el-sticky-lead-btn{display:flex;align-items:center;justify-content:center}
.el-sticky-lead-btn:hover{background:#fff;color:var(--pine-dk)}
.el-sticky-lead-btn:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
.unit-pedir-opcoes,.search .go.unit-pedir-opcoes{min-height:44px}
@media(max-width:700px){
  .el-sticky-lead{display:block}
}
@media(min-width:701px){
  .el-sticky-lead{display:none !important}
}

.list-empty{
  margin:12px 0 8px;
  padding:16px 18px;
  border:1px dashed var(--line, #d5ddd6);
  border-radius:12px;
  color:var(--muted);
  background:#f7faf7;
  font-size:0.95rem;
  line-height:1.45;
}
.list-empty-msg{margin:0}
.list-empty-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin-top:12px
}
.list-empty .list-empty-chip{
  cursor:pointer;min-height:44px;padding:10px 14px;font-family:inherit;
  background:#fff;border:1.5px solid var(--line);color:var(--ink)
}
.list-empty .list-empty-chip:hover{
  border-color:var(--pine);color:var(--pine)
}
.list-empty .list-empty-chip:focus-visible{
  outline:2px solid var(--pine);outline-offset:2px
}
.list-empty .list-empty-clear{
  appearance:none;border:0;background:transparent;color:var(--pine);
  font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;
  min-height:44px;padding:8px 10px;text-decoration:underline;text-underline-offset:3px
}
.list-empty .list-empty-clear:hover{color:var(--ink)}

.list-filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.list-search{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.list-search-input{
  flex:1 1 16em;min-width:12em;width:100%;max-width:28em;
  min-height:44px;padding:10px 12px;
  font-family:inherit;font-size:16px;line-height:1.4;
  color:var(--ink);background:#fff;
  border:1.5px solid var(--line);border-radius:9px;
  -webkit-appearance:none;appearance:none
}
.list-search-input::placeholder{color:var(--muted);opacity:.9}
.list-search-input:focus-visible{outline:2px solid var(--pine);outline-offset:2px;border-color:var(--pine)}
.city-list-stack{display:flex;flex-direction:column}
.list-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}
.list-active-filters[hidden]{display:none!important}
.list-active-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.list-active-filters .active-filter-chip{
  display:inline-flex;align-items:center;gap:6px;
  background:#e8f2ee;border-color:var(--pine);color:var(--pine);
  font-weight:600;padding:8px 12px;min-height:44px;cursor:pointer
}
.list-active-filters .active-filter-chip .active-filter-x{
  font-size:16px;line-height:1;opacity:.75;font-weight:700
}
.list-active-filters .active-filter-chip:hover{background:var(--pine);color:#fff;border-color:var(--pine)}
.list-active-filters .active-filter-chip:hover .active-filter-x{opacity:1;color:#fff}
.list-clear-filters{
  appearance:none;border:0;background:transparent;color:var(--pine);
  font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;
  min-height:44px;padding:8px 10px;text-decoration:underline;text-underline-offset:3px
}
.list-clear-filters:hover{color:var(--ink)}
.list-clear-filters[hidden]{display:none!important}
.list-copy-link{
  appearance:none;border:1px solid var(--line);background:#fff;color:var(--pine);
  font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;
  min-height:44px;padding:8px 12px;border-radius:999px
}
.list-copy-link:hover{border-color:var(--pine);background:var(--paper)}
.list-copy-link:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
.list-copy-link[hidden]{display:none!important}

/* Toast — shareable list URL feedback */
.el-toast{
  position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));
  transform:translateX(-50%) translateY(12px);
  z-index:120;max-width:min(92vw,360px);
  padding:12px 18px;border-radius:12px;
  background:var(--pine-dk,#041A17);color:#fff;
  font:inherit;font-size:14.5px;font-weight:600;letter-spacing:.01em;
  box-shadow:0 10px 28px rgba(4,26,23,.28);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s
}
.el-toast.is-on{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
@media(max-width:700px){
  .el-toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
}

/* Sticky ranking + Região + Ativos on city lists — one stack below .nav (62px), not over Crisp.
   Top stick keeps list padding-bottom / safe-area for Crisp + sticky lead. */
.list-sticky-stack{
  position:sticky;
  top:62px;
  z-index:35;
  background:var(--paper);
  padding:4px 0 6px;
  margin:0 0 4px
}
.list-rank{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:4px 0
}
.list-rank .rank-chip[aria-pressed="true"]{
  background:var(--pine);
  color:#fff;
  border-color:var(--pine)
}
.list-sticky-stack .list-region.list-region-sticky:not([hidden]){
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:4px 0;
  max-height:none
}
.list-sticky-stack .list-active-filters.list-active-sticky{
  position:static;
  top:auto;
  z-index:auto;
  margin:0;
  padding:4px 0 2px;
  box-shadow:none;
  border-bottom:0;
  background:transparent
}
.list-active-filters.list-active-sticky:not([hidden]){
  /* legacy fallback if stack missing */
  position:sticky;
  top:62px;
  z-index:35;
  background:var(--paper);
  padding:6px 0 8px
}
@media(max-width:700px){
  .list-sticky-stack{
    top:62px;
    z-index:35;
    margin:0 -20px 6px;
    padding:8px 20px 6px;
    background:var(--paper);
    box-shadow:0 6px 14px rgba(4,26,23,.08);
    border-bottom:1px solid var(--line)
  }
  .list-rank .list-tools-lbl,
  .list-sticky-stack .list-region .list-tools-lbl,
  .list-sticky-stack .list-active-filters .list-tools-lbl{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
  }
  .list-rank .rank-chip{min-height:40px;padding:6px 12px}
  /* Soft sticky: region chips scroll inside stack so Crisp (bottom) stays clear */
  .list-sticky-stack .list-region.list-region-sticky:not([hidden]){
    max-height:28vh;
    overflow-x:auto;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding:4px 0 6px
  }
  .list-sticky-stack .list-region .region-chip{min-height:40px;padding:6px 12px}
  .list-active-filters.list-active-sticky:not([hidden]){
    top:62px;
    z-index:35;
    margin:0 -20px;
    padding:8px 20px;
    background:var(--paper);
    box-shadow:0 6px 14px rgba(4,26,23,.08);
    border-bottom:1px solid var(--line)
  }
  .list-active-filters.list-active-sticky .list-tools-lbl{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .list-active-filters.list-active-sticky .list-clear-filters{min-height:40px;padding:6px 8px}
  .list-active-filters.list-active-sticky .list-copy-link{min-height:40px;padding:6px 12px}
  .city-list-stack .list-active-filters .active-filter-chip{padding:6px 10px;min-height:40px}
}

/* ---------- Peer cities (Cidades perto) ---------- */
.sec-head .peer-sub{
  margin:6px 0 0;
  font-size:14.5px;
  color:var(--muted);
  font-weight:500;
  max-width:42em;
  line-height:1.45;
}
.peer-cities .cty.peer-chip{
  position:relative;
  border-color:#C5D2CD;
  box-shadow:0 1px 0 rgba(4,26,23,.04);
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
  padding-bottom:52px;
  min-height:44px;
  overflow:visible;
}
.peer-cities .cty.peer-chip > span{
  display:block;
  line-height:1.35;
  padding-bottom:4px;
  margin-bottom:2px;
}
.peer-cities .cty.peer-chip:hover,
.peer-cities .cty.peer-chip:focus-visible{
  border-color:var(--pine);
  box-shadow:0 4px 14px rgba(4,26,23,.08);
  transform:translateY(-1px);
  outline:none;
}
.peer-cities .peer-go{
  position:absolute;
  left:19px; right:19px; bottom:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:6px 12px;
  border-radius:999px;
  background:var(--paper, #F3F7F5);
  color:var(--pine);
  font-size:13px;
  font-weight:700;
  letter-spacing:-.01em;
}
.peer-cities .cty.peer-chip:hover .peer-go{
  background:var(--pine);
  color:#fff;
}
.cities-more-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border-radius:999px;
  border:1.5px solid var(--pine);
  background:#fff;
  color:var(--pine)!important;
  font-weight:700;
  text-decoration:none!important;
  box-sizing:border-box;
}
.cities-more-link:hover{
  background:var(--pine);
  color:#fff!important;
}
.cities-more{display:flex;justify-content:flex-start;margin-top:18px}

/* ---------- Comparar 2 unidades ---------- */
.cmp-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  min-height:44px;
  padding:6px 2px;
  cursor:pointer;
  font-size:14px;
  font-weight:600;
  color:var(--pine);
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.cmp-toggle input.cmp-cb{
  width:20px;height:20px;
  accent-color:var(--pine);
  flex:none;
  margin:0;
  cursor:pointer;
}
.cmp-toggle:has(input:checked){color:var(--pine-dk)}
.item.is-comparing{border-color:var(--pine);box-shadow:0 0 0 1px var(--pine)}

.el-compare-bar{
  position:fixed;left:0;right:0;z-index:41;
  bottom:calc(72px + env(safe-area-inset-bottom, 0px));
  padding:0 10px;
  pointer-events:none;
}
.el-compare-bar[hidden]{display:none!important}
.el-compare-inner{
  pointer-events:auto;
  max-width:720px;margin:0 auto;
  background:var(--card,#fff);
  border:1.5px solid var(--line);
  border-radius:14px;
  box-shadow:0 10px 28px rgba(4,26,23,.18);
  padding:10px 12px 12px;
}
.el-compare-head{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-bottom:8px;
}
.el-compare-head strong{
  font-family:var(--display);font-size:15px;letter-spacing:-.02em;
}
.el-compare-hint{
  font-size:12.5px;color:#A8534B;font-weight:600;flex:1;min-width:12em;
}
.el-compare-clear{
  margin-left:auto;
  min-height:44px;min-width:44px;
  padding:8px 14px;
  border-radius:9px;
  border:1.5px solid var(--line);
  background:#fff;
  color:var(--pine);
  font:inherit;font-size:13.5px;font-weight:700;
  cursor:pointer;
}
.el-compare-clear:hover{border-color:var(--pine)}
.el-compare-clear:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
.el-compare-cols{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
.el-compare-col{
  position:relative;
  background:var(--paper,#F3F7F5);
  border:1.5px solid var(--line);
  border-radius:11px;
  padding:12px 12px 10px;
  min-height:44px;
}
.el-compare-rm{
  position:absolute;top:6px;right:6px;
  width:44px;height:44px;
  border:0;border-radius:9px;
  background:transparent;
  color:var(--muted);
  font-size:22px;line-height:1;
  cursor:pointer;
}
.el-compare-rm:hover{color:var(--pine-dk);background:rgba(4,26,23,.06)}
.el-compare-name{
  margin:0 36px 6px 0;
  font-family:var(--display);
  font-size:14.5px;font-weight:800;letter-spacing:-.02em;
  line-height:1.25;
}
.el-compare-meta{
  margin:0 0 4px;display:flex;flex-wrap:wrap;gap:6px 12px;
  font-size:12.5px;color:var(--muted);
}
.el-compare-preco{
  margin:0 0 4px;font-size:13.5px;font-weight:700;color:var(--pine-lt);
}
.el-compare-open{margin:0 0 8px;font-size:12.5px}
.el-compare-open .muted{color:var(--muted)}
.el-compare-link{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:8px 12px;
  border-radius:8px;
  background:var(--pine);color:#fff;
  text-decoration:none;font-size:13.5px;font-weight:700;
  width:100%;box-sizing:border-box;
}
.el-compare-link:hover{background:var(--pine-lt)}
body.has-compare .el-sticky-lead{
  bottom:calc(72px + 168px + env(safe-area-inset-bottom, 0px));
}
@media(max-width:700px){
  body.has-compare .list,
  body.has-compare #list{
    padding-bottom:calc(260px + env(safe-area-inset-bottom, 0px));
  }
  .el-compare-inner{padding:10px}
  .el-compare-name{font-size:13.5px}
}
@media(min-width:701px){
  .el-compare-bar{
    bottom:16px;
  }
  body.has-compare .list,
  body.has-compare #list{
    padding-bottom:180px;
  }
}
@media(max-width:380px){
  .el-compare-cols{grid-template-columns:1fr;gap:8px}
  body.has-compare .el-sticky-lead{
    bottom:calc(72px + 280px + env(safe-area-inset-bottom, 0px));
  }
}

.el-compare-placeholder{
  display:flex;flex-direction:column;justify-content:center;
  border-style:dashed;opacity:.85;min-height:120px;
}
.el-compare-placeholder .el-compare-name{margin-right:0;color:var(--muted);font-weight:700}

/* unit page: Na mesma região */
.region-peers{margin:36px 0 8px;padding:22px 20px;background:var(--card);border:1.5px solid var(--line);border-radius:14px}
.region-peers .rhead{margin-bottom:12px}
.region-peers .rhead h2{font-size:20px}
.region-peers-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.region-peers-list li{margin:0}
.region-peers-list a{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  text-decoration:none;color:var(--ink);font-weight:600;font-size:15px;
  padding:12px 14px;min-height:44px;border-radius:10px;border:1.5px solid var(--line);
  background:#fff
}
.region-peers-list a::after{content:"→";color:var(--pine);font-weight:700;opacity:.85}
.region-peers-list a:hover{border-color:var(--pine);color:var(--pine)}
.region-peers-back{margin:14px 0 0}
.region-peers-back a{font-weight:600;color:var(--pine);text-decoration:none}
.region-peers-back a:hover{text-decoration:underline}
/* screen-reader only (list count live region) */
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}


/* ---------- card hours (Hoje) + Aberto agora ---------- */
.hrs{color:var(--muted);font-weight:500}
.hrs .hrs-lbl{color:var(--ink);font-weight:700;margin-right:2px}
.meta .hrs{display:inline-flex;align-items:center;gap:4px}
.el-compare-open .hrs{color:var(--muted)}
.el-compare-open .hrs .hrs-lbl{color:var(--ink)}

/* ---------- Imprimir comparação ---------- */
.el-compare-print-btn{
  margin-left:auto;
  min-height:36px;padding:6px 12px;
  border-radius:8px;border:1.5px solid var(--pine);
  background:#fff;color:var(--pine);
  font-size:13px;font-weight:700;cursor:pointer;
}
.el-compare-print-btn:hover{background:var(--paper)}
.el-compare-print-btn:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
.el-compare-print-btn[hidden]{display:none !important}
body.has-compare-print .el-compare-clear,
.el-compare-head .el-compare-print-btn:not([hidden]) ~ .el-compare-clear{
  margin-left:8px;
}
.el-compare-print{display:none}

@media print{
  .nav,
  .nav-drawer,
  .nav-toggle,
  .el-sticky-lead,
  #el-compare-bar,
  .el-compare-bar,
  .list-search,
  .list-region,
  .list-active-filters,
  .list-tools,
  .chips,
  .open-now-chip,
  .hero,
  .intro,
  .lead-funil,
  #lead-funil,
  #wa-cta,
  .wa-cta,
  .site-footer,
  footer,
  .region-peers,
  .faq,
  .related-cities,
  .crisp-client,
  #crisp-chatbox,
  .cc-1xry,
  .cc-1m2m,
  [data-qa="list-copy-link"],
  .el-toast,
  .list-empty,
  .list-count,
  #list-count,
  #rsub,
  #err,
  .sec-head .list-sort,
  .geo-bar,
  .list-sort,
  .cmp-toggle{
    display:none !important;
    visibility:hidden !important;
  }
  body.has-compare-print .list,
  body.has-compare-print #list,
  body.has-compare-print .item,
  body.has-compare-print .list-empty{
    display:none !important;
  }
  body.has-compare-print .el-compare-print{
    display:block !important;
    position:static !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    color:#111 !important;
  }
  body.has-compare-print .el-compare-print[hidden]{
    display:block !important;
  }
  .el-compare-print-inner{max-width:100%;padding:12px 8px}
  .el-compare-print-brand{
    margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.04em;
    text-transform:uppercase;color:#1F5C45;
  }
  .el-compare-print-inner > h1{
    margin:0 0 18px;font-size:20px;font-weight:800;letter-spacing:-.02em;
  }
  .el-compare-print-cols{
    display:grid;grid-template-columns:1fr 1fr;gap:18px;
    page-break-inside:avoid;
  }
  .el-compare-print-col{
    border:1.5px solid #ccc;border-radius:10px;padding:14px 16px;
    break-inside:avoid;
  }
  .el-compare-print-col h2{
    margin:0 0 10px;font-size:16px;font-weight:800;letter-spacing:-.02em;
  }
  .el-compare-print-col dl{
    margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px;
  }
  .el-compare-print-col dt{margin:0;color:#666;font-weight:600}
  .el-compare-print-col dd{margin:0;font-weight:600}
  .el-compare-print-link{margin:12px 0 0;font-size:11px;color:#555;word-break:break-all}
  .el-compare-print-foot{margin:18px 0 0;font-size:11px;color:#666}
  a{color:inherit;text-decoration:none}
  body{background:#fff !important}
}

/* ---- Unit page sticky «Pedir opções» (20261001-events2) ----
   Mobile: barra fixa no rodapé com área reservada à direita para o launcher do Crisp (não cobre).
   Desktop: cartão flutuante no canto inferior ESQUERDO (Crisp fica à direita).
   Rodapé ganha padding extra para o conteúdo nunca ficar escondido. */
.el-sticky-lead.el-sticky-lead--unit{
  display:block !important;position:fixed;left:0;right:0;bottom:0;z-index:40;
  padding:0 92px calc(10px + env(safe-area-inset-bottom, 0px)) 10px;
  pointer-events:none;
}
.el-sticky-lead--unit .el-sticky-lead-inner{
  pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:520px;
  background:var(--pine);color:#fff;border-radius:14px;padding:8px 8px 8px 14px;
  box-shadow:0 8px 24px rgba(4,26,23,.28);border:1px solid var(--line-d);
}
.el-sticky-lead--unit .el-sticky-lead-txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.el-sticky-lead--unit .el-sticky-lead-name{
  font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.el-sticky-lead--unit .el-sticky-lead-micro{font-size:11.5px;color:var(--muted-d);line-height:1.2;margin-top:1px}
.el-sticky-lead--unit .el-sticky-lead-btn{
  flex:0 0 auto;width:auto;max-width:none;margin:0;min-height:44px;padding:10px 16px;white-space:nowrap;
  font-size:14.5px;
}
.el-sticky-lead--unit .el-sticky-lead-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
body.has-unit-cta footer{padding-bottom:calc(28px + 96px + env(safe-area-inset-bottom, 0px))}
@media(min-width:701px){
  .el-sticky-lead.el-sticky-lead--unit{right:auto;left:20px;bottom:20px;padding:0}
  .el-sticky-lead--unit .el-sticky-lead-inner{width:380px}
  body.has-unit-cta footer{padding-bottom:calc(28px + 84px)}
}
@media(max-width:340px){
  .el-sticky-lead.el-sticky-lead--unit{padding-right:84px}
}
@media(prefers-reduced-motion:reduce){.el-sticky-lead{transition:none}}
@media print{.el-sticky-lead.el-sticky-lead--unit{display:none !important}}

/* ---- E-mail «Prefere e-mail?» — alvo de toque ~44px (20261001-events2) ---- */
.el-mail-link,.lead-funil .lead-fallback a{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;
  box-sizing:border-box;text-decoration:underline;text-underline-offset:2px
}
.lead-funil .lead-fallback{margin:4px 0 0}
.el-mail-row{margin:8px 0 0;font-size:14px}
.el-mail-row .el-mail-link{color:#fff;font-weight:600;padding-left:0;padding-right:12px;justify-content:flex-start}
.el-sticky-lead--unit .el-sticky-lead-inner{flex-wrap:wrap;row-gap:0}
/* alvo de toque de 44px, mas a linha ocupa só ~16px: margens negativas mantêm a barra compacta */
.el-sticky-lead--unit .el-sticky-lead-mail{
  flex:1 0 100%;color:#CFE3DF;font-weight:600;font-size:13px;line-height:1.2;padding:0 6px 0 0;
  justify-content:flex-start;margin:-13px 0 -17px;position:relative;z-index:1
}
.el-sticky-lead--unit .el-sticky-lead-mail:focus-visible{outline:3px solid #fff;outline-offset:-2px}
body.has-unit-cta footer{padding-bottom:calc(28px + 108px + env(safe-area-inset-bottom, 0px))}
@media(min-width:701px){body.has-unit-cta footer{padding-bottom:calc(28px + 100px)}}
/* peer5: guias */
.guide{max-width:70ch}
.guide h2{font-size:clamp(21px,2.6vw,27px);margin:34px 0 10px}
.guide p{margin:0 0 14px;font-size:16.5px;color:var(--ink);line-height:1.65}
.guide ul{margin:0 0 16px;padding-left:22px;line-height:1.65;font-size:16.5px}
.guide ul.check{list-style:none;padding-left:0}
.guide ul.check li::before{content:"\2610";margin-right:10px;color:var(--pine)}
.guide .tip{background:var(--paper);border-left:3px solid var(--pine);padding:10px 14px;margin:0 0 16px;border-radius:0 8px 8px 0}
.guide .tip p{margin:0;font-size:15.5px}
.guide-cities{margin-top:8px}
/* peer6: toque 44px + folga do rodapé (mobile) */
@media(max-width:720px){
  /* blocos «Guias» / links soltos: área de toque mínima de 44px (sem mudar o layout dos cartões) */
  .cities-guides{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;row-gap:0;line-height:1.3}
  .cities-guides b{display:inline-flex;align-items:center;min-height:44px;margin-right:4px}
  .cities-guides a,.cities-more a{display:inline-flex;align-items:center;min-height:44px;padding:8px 6px;box-sizing:border-box}
  .ft-links{gap:0 18px}
  .ft-links a{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}
  /* barra fixa «Pedir opções» (72px + 48px) e launcher do chat não cobrem as últimas linhas do rodapé */
  footer{padding-bottom:calc(28px + 128px + env(safe-area-inset-bottom, 0px))}
}
/* peer8: barra fixa «Pedir opções» nas páginas de guia (mobile ≤700px). Alvo ≥48px, some ao chegar na faixa final/rodapé. */
@media(max-width:700px){
  body.has-guide-cta main.sec{padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px))}
  .el-sticky-lead--guide .el-sticky-lead-btn{min-height:48px;text-decoration:none}
}
/* peer9: guias de cidade — FAQ visível e botão «Pedir opções» no corpo */
.guide .guide-faq{margin-top:34px}
.guide .guide-faq h3{font-size:17px;margin:20px 0 6px;line-height:1.35}
.guide .guide-faq p{margin:0 0 8px}
.guide .guide-cta{margin:6px 0 0}
.guide .guide-cta-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;border-radius:12px;background:var(--yellow);color:var(--pine-dk);font-weight:700;font-size:16px;text-decoration:none;box-sizing:border-box}
.guide .guide-cta-btn:hover{background:var(--pine);color:#fff}
.guide .guide-cta-btn:focus-visible{outline:3px solid var(--pine);outline-offset:2px}
@media(max-width:700px){.guide .guide-cta-btn{width:100%}}

/* peer34 P2: no mobile a barra «Pedir opções» recua à direita p/ o botão não ficar sob a bolha do Crisp */
@media(max-width:640px){
  .el-sticky-lead{padding-right:80px}
}

/* ---- funil1: variante Phase 0 da home. html.p0 só existe com utm_campaign=phase0 na URL (inline do <head> da home);
   sem a classe nada abaixo vale e o #p0-slot (vazio) fica display:none → home igual ao peer47. ---- */
.p0-slot{display:none}
html.p0 .p0-slot{display:block;padding-top:16px;padding-bottom:4px;min-height:573px}
@media(min-width:701px) and (max-width:940px){html.p0 .p0-slot{min-height:610px}}
html.p0 .p0-slot #lead-funil{margin:0 0 20px;scroll-margin-top:calc(62px + 8px)}
html.p0 .p0-slot .lead-funil-copy h2{font-size:1.35rem}
@media(max-width:700px){
  html.p0 .nav-in{height:54px}
  html.p0 .p0-slot{padding-top:8px;padding-bottom:0;min-height:575px}
  html.p0 .p0-slot #lead-funil{margin:0 0 14px;padding:14px 14px 10px;scroll-margin-top:calc(54px + 8px)}
  html.p0 .p0-slot .lead-funil-inner{gap:8px}
  html.p0 .p0-slot .lead-funil-copy h2{font-size:1.2rem;line-height:1.2;margin:0 0 4px}
  html.p0 .p0-slot .lead-funil-copy p{font-size:13.5px;line-height:1.35;max-width:none}
  html.p0 .p0-slot .field{margin-bottom:8px}
  html.p0 .p0-slot .field label,html.p0 .p0-slot .field-label{margin-bottom:3px;font-size:12.5px}
  html.p0 .p0-slot .field input,html.p0 .p0-slot .field select{padding:9px 12px}
  html.p0 .p0-slot #lead-faixa-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
  html.p0 .p0-slot .lead-chip{justify-content:center;padding:6px 4px;font-size:13.5px;white-space:nowrap}
  html.p0 .p0-slot .field-hint{margin-top:3px;font-size:11.5px}
  html.p0 .p0-slot .lead-funil .submit,html.p0 .p0-slot .submit{margin-top:2px;padding:12px}
  html.p0 .p0-slot .fineprint{margin-top:8px}
}
@media(max-width:370px){
  html.p0 .p0-slot{min-height:598px}
  html.p0 .p0-slot .lead-chip{font-size:12.5px;padding:6px 2px}
}

/* peer54 (P3 UX): o «Prefere e-mail?» do hero (/u/*) nunca fica meio escondido/cortado pela barra fixa «Pedir opções» (a barra já tem o mesmo link).
   O app.js marca .is-under-bar enquanto o TEXTO do link intersecta a barra ou fica cortado pela borda da viewport; vira a aparecer inteiro ao rolar. Sem JS nada muda. */
.el-mail-row.is-under-bar{opacity:0;pointer-events:none}
.el-mail-row.is-under-bar:focus-within{opacity:1;pointer-events:auto}

/* peer55 (foco por teclado): ao focar o «Prefere e-mail?» do hero (/u/*) por Tab, o navegador rola o link para acima da barra fixa «Pedir opções»
   (barra ≤ ~118px do rodapé da viewport + safe-area; mesma reserva de #lead-funil). Só CSS: não altera rolagem normal nem a lógica .is-under-bar do peer54. */
a#unit-mailto,.el-mail-row a{scroll-margin-bottom:calc(140px + env(safe-area-inset-bottom, 0px))}

/* peer56 (foco por teclado, todos os focáveis das /u/): com a barra fixa «Pedir opções» o Tab nunca deixa o elemento focado sob a barra.
   Reserva de reserva: scroll-padding-bottom no scroller (html) onde :has() existe; senão, scroll-margin-bottom nos links do hero. Sem soma margin+padding. Só CSS. */
body.has-unit-cta header.hero a{scroll-margin-bottom:calc(140px + env(safe-area-inset-bottom, 0px))}
@supports selector(:has(*)){
  html:has(body.has-unit-cta){scroll-padding-bottom:calc(140px + env(safe-area-inset-bottom, 0px))}
  body.has-unit-cta header.hero a,body.has-unit-cta a#unit-mailto,body.has-unit-cta .el-mail-row a{scroll-margin-bottom:0}
}

/* peer58 (foco por teclado na home e demais páginas com a barra #el-sticky-lead): mesma reserva do peer56 (140px + safe-area) no scroller, só onde a barra existe e :has() é suportado. Só CSS. */
@supports selector(:has(*)){
  html:has(#el-sticky-lead){scroll-padding-bottom:calc(140px + env(safe-area-inset-bottom, 0px))}
}
/* peer84: bloco por unidade (/u/) e dúvidas (/como-funciona) */
.uinfo{margin:34px 0 0;padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:#fff}
.uinfo h2{margin:0 0 12px}
.uinfo p{margin:0 0 10px;line-height:1.6}
.uinfo a{color:var(--pine);font-weight:600}
.uinfo .ufonte{font-size:13px;color:#5b6b68;margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line)}
.umetodo a{color:var(--pine);font-weight:600}
.duvidas h3{margin:22px 0 6px;font-size:17px}
.duvidas p{margin:0;line-height:1.6;max-width:760px}
@media(max-width:700px){.uinfo{padding:16px 15px;margin-top:26px}}
