/* MetroValor — direção de arte v5 ("planta cadastral à noite", revisada).
   O mapa de valor só aparece nas capas. Faixas escuras usam papel milimetrado; o preço, Nanquim liso; a chamada final, verde com o M² vazado.
   O Vermelho Cota só marca valor: logo, gráfico de pontos e o lote do mapa. Nada de enfeite em vermelho. */
:root{
  --verde:#0B6B4F; --verde-esc:#085A42; --verde-claro:#3C9C78; --nanquim:#0F2A22; --nanquim-2:#0B211B; --cota:#E2463B; --papel:#EEF4F0; --grade:#A9CDBD; --cinza:#4A5E56; --branco:#FFFFFF;
  --bg:#F4F7F5; --surface:#FFFFFF; --surface-2:#F9FBFA; --fg:#0F2A22; --muted:#4F6158; --line:#DDE7E2; --line-strong:#B9D4C7;
  --accent:#0B6B4F; --accent-fg:#FFFFFF; --pend:#B23A2F; --chip:#EEF4F0; --field-line:#6F8F82; --placeholder:#5F716A; --us-bg:rgba(11,107,79,0.06);
  --deep:#0F2A22; --deep-2:#0B211B; --on-deep:#EEF4F0; --on-deep-muted:#A3C2B5; --deep-line:rgba(169,205,189,0.14);
  --shadow-1:0 1px 2px rgba(15,42,34,0.06), 0 8px 24px rgba(15,42,34,0.06);
  --shadow-2:0 2px 6px rgba(15,42,34,0.08), 0 24px 56px rgba(15,42,34,0.14);
  --f-text:"Barlow", Arial, Helvetica, sans-serif; --f-label:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --wrap:1200px; --gut:max(24px, env(safe-area-inset-left, 0px)); --gut-r:max(24px, env(safe-area-inset-right, 0px));
  --head-gap:52px; --h-card:30px;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0D1C17; --surface:#132720; --surface-2:#10221C; --fg:#EEF4F0; --muted:#A3B9AF; --line:#21382F; --line-strong:#2E5144;
  --accent:#4FB08A; --accent-fg:#FFFFFF; --pend:#F08A80; --chip:rgba(169,205,189,0.10); --field-line:#5E8576; --placeholder:#8AA397; --us-bg:rgba(79,176,138,0.08);
  --shadow-1:0 1px 2px rgba(0,0,0,0.3); --shadow-2:0 24px 56px rgba(0,0,0,0.45); color-scheme:dark } }
:root[data-theme="dark"]{
  --bg:#0D1C17; --surface:#132720; --surface-2:#10221C; --fg:#EEF4F0; --muted:#A3B9AF; --line:#21382F; --line-strong:#2E5144;
  --accent:#4FB08A; --accent-fg:#FFFFFF; --pend:#F08A80; --chip:rgba(169,205,189,0.10); --field-line:#5E8576; --placeholder:#8AA397; --us-bg:rgba(79,176,138,0.08);
  --shadow-1:0 1px 2px rgba(0,0,0,0.3); --shadow-2:0 24px 56px rgba(0,0,0,0.45); color-scheme:dark }

*{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:96px}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} *{transition:none!important; animation:none!important} }
body{margin:0; background:var(--bg); color:var(--fg); font-family:var(--f-text); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; font-synthesis:none}
img{max-width:100%}
a{color:inherit}
b,strong{font-weight:600}
h1,h2,h3,h4{margin:0; text-wrap:balance; font-weight:600; line-height:1.1}
h1{font-size:clamp(40px,4.7vw,62px); letter-spacing:-0.03em; line-height:1.03}
h2{font-size:clamp(30px,3.3vw,46px); letter-spacing:-0.022em; line-height:1.07}
h3{font-size:21px; letter-spacing:-0.006em; line-height:1.22}
p{margin:0}
.wrap{max-width:var(--wrap); margin:0 auto; padding-left:var(--gut); padding-right:var(--gut-r)}
.narrow{max-width:880px}
.sr{position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0}
.skip{position:absolute; left:16px; top:-60px; z-index:50; background:#FFFFFF; color:var(--nanquim); padding:12px 18px; font-weight:600; text-decoration:none}
.skip:focus{top:calc(12px + env(safe-area-inset-top, 0px))}
.eyebrow{display:inline-flex; align-items:center; gap:10px; font-family:var(--f-label); font-weight:600; font-size:14px; letter-spacing:0.16em; text-transform:uppercase; color:var(--accent)}
.eyebrow::before{content:""; width:7px; height:7px; background:currentColor}
.lead{font-size:clamp(18px,1.45vw,20px); color:var(--muted); max-width:58ch; line-height:1.55}
.muted{color:var(--muted)}
.pend{border-bottom:1.5px dashed var(--pend)}
.ico{width:26px; height:26px; display:block; flex:none; color:var(--accent)}
.ico path,.ico rect,.ico circle,.ico line,.ico polyline{fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:square; stroke-linejoin:miter}
.ico .f{fill:currentColor; stroke:none}
.chip-ico{display:grid; place-items:center; width:48px; height:48px; background:var(--chip); color:var(--accent); flex:none}

/* ---------- botões e links */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; font-weight:600; font-size:17px; text-decoration:none; padding:16px 26px; border:0; line-height:1.1; cursor:pointer; transition:background .15s, color .15s, box-shadow .15s, transform .15s; white-space:nowrap}
.btn-main{background:var(--verde); color:#FFFFFF; box-shadow:0 8px 20px rgba(11,107,79,0.28)}
.btn-main:hover{background:var(--verde-esc); transform:translateY(-1px)}
.btn-ghost{background:transparent; color:var(--fg); box-shadow:inset 0 0 0 1.5px var(--field-line)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--accent)}
.btn-light{background:#FFFFFF; color:var(--nanquim)}
.btn-light:hover{background:var(--papel)}
.btn svg{width:20px; height:20px; flex:none}
:focus-visible{outline:3px solid var(--accent); outline-offset:3px}
.head :focus-visible,.util :focus-visible,.hero :focus-visible,.pagehero :focus-visible,.deep :focus-visible,.plan :focus-visible,.foot :focus-visible{outline-color:var(--grade)}
.cta :focus-visible{outline-color:#FFFFFF}
.link{font-weight:600; color:var(--accent); text-decoration:none; display:inline-flex; align-items:center; gap:10px}
.link::after{content:""; width:8px; height:8px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); transition:transform .15s; flex:none}
.link:hover::after{transform:translate(3px,0) rotate(45deg)}
.link.sm{font-size:15px}
.deep .link,.plan .link{color:var(--grade)}
.prose a:not(.btn):not(.link),.lead a,.faq a,.answer a:not(.link),.promise a{color:var(--accent); text-underline-offset:3px}
.hero .lead a,.pagehero .lead a,.pagehero a{color:var(--on-deep)}

/* ---------- topo */
body::before{content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top, 0px); z-index:30; background:var(--deep)}
.util{background:var(--deep-2); color:var(--on-deep-muted); font-size:13.5px; line-height:22px}
.util .wrap{display:flex; justify-content:space-between; align-items:center; gap:16px; padding-block:9px}
.util a{color:var(--on-deep); text-decoration:none}
.util a:hover{color:#FFFFFF; text-decoration:underline}
.util .r{display:flex; gap:26px; flex-wrap:wrap}
.head{position:sticky; top:env(safe-area-inset-top, 0px); z-index:20; background:var(--deep); border-bottom:1px solid rgba(169,205,189,0.12)}
.head .wrap{display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px; padding-block:0}
.brand{display:block; flex:none}
.head .logo{height:34px; width:auto; display:block}
.menu{display:flex; align-items:center; gap:2px}
.menu > a:not(.btn),.menu summary{display:block; padding:10px 13px; font-size:16px; font-weight:500; color:var(--on-deep); text-decoration:none; cursor:pointer; list-style:none; opacity:.86}
.menu summary::-webkit-details-marker{display:none}
.menu > a:not(.btn):hover,.menu summary:hover{opacity:1; color:#FFFFFF}
.menu a[aria-current="page"]{opacity:1; color:#FFFFFF; box-shadow:inset 0 -2px 0 var(--grade)}
.drop{position:relative}
.drop summary::after{content:""; display:inline-block; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin:0 0 3px 9px}
.drop[open] summary::after{transform:rotate(-135deg); margin-bottom:-1px}
.drop .panel{position:absolute; top:calc(100% + 18px); left:-10px; width:360px; background:var(--surface); color:var(--fg); box-shadow:var(--shadow-2); padding:10px; display:grid; gap:2px}
.drop .panel a{display:grid; grid-template-columns:44px minmax(0,1fr); gap:2px 14px; align-items:center; padding:12px; text-decoration:none}
.drop .panel a:hover{background:var(--bg)}
.drop .panel .chip-ico{grid-row:span 2; width:44px; height:44px}
.drop .panel b{font-weight:600}
.drop .panel span{font-size:14px; color:var(--muted); line-height:1.35}
.menu .btn{margin-left:14px; padding:12px 20px; font-size:15px; box-shadow:none}
.hcta{display:none}
.mob{display:none}
.mob summary{list-style:none; cursor:pointer; padding:10px 14px; color:var(--on-deep); box-shadow:inset 0 0 0 1.5px rgba(238,244,240,0.35); font-weight:600; font-size:15px}
.mob summary::-webkit-details-marker{display:none}
.mob .t-c{display:none} .mob[open] .t-o{display:none} .mob[open] .t-c{display:inline}
.mob .panel{position:absolute; left:0; right:0; top:100%; background:var(--surface); color:var(--fg); padding:8px var(--gut-r) 22px var(--gut); display:grid; gap:0; box-shadow:var(--shadow-2); max-height:calc(100dvh - 64px); overflow-y:auto; overscroll-behavior:contain}
.mob .panel a{padding:13px 4px; text-decoration:none; border-bottom:1px solid var(--line); font-weight:500}
.mob .mlab{font:600 12px/1 var(--f-label); letter-spacing:.14em; text-transform:uppercase; color:var(--muted); padding:20px 4px 6px}
.mob .panel .btn{margin-top:16px; border-bottom:0; padding:15px 20px}

/* ---------- capa da página inicial */
.hero{position:relative; overflow:hidden; background:var(--deep); color:var(--on-deep); isolation:isolate}
.hero .map{position:absolute; top:0; right:0; bottom:0; width:66%; z-index:-1}
.hero .map img{width:100%; height:100%; object-fit:cover; object-position:30% 40%; display:block}
.hero .map::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, var(--deep) 0%, rgba(15,42,34,0.86) 22%, rgba(15,42,34,0.25) 55%, rgba(15,42,34,0) 75%), linear-gradient(0deg, var(--deep) 0%, rgba(15,42,34,0) 22%)}
.hero .wrap{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,0.8fr); gap:40px; align-items:center; padding-block:60px 140px}
.hero-txt{display:grid; gap:24px; max-width:640px}
.hero .eyebrow{color:var(--grade)}
.hero h1{color:#FFFFFF}
.hero h1 em{font-style:normal; color:var(--grade)}
.hero .lead{color:var(--on-deep-muted)}
.addr{display:grid; gap:10px; max-width:620px}
.addr label{font-weight:600; color:var(--on-deep)}
.addr-row{display:flex; background:#FFFFFF; padding:6px; box-shadow:0 20px 50px rgba(0,0,0,0.35)}
.addr-row.light{box-shadow:inset 0 0 0 1.5px var(--field-line); background:var(--surface)}
.addr-row input{flex:1; min-width:0; border:0; background:transparent; color:var(--nanquim); font:inherit; font-size:18px; padding:13px 14px}
.addr-row.light input{color:var(--fg)}
/* placeholder: #5F716A na caixa branca (5,2:1); nos campos sobre a superfície do tema, token por tema (≥ 4,5:1 claro e escuro) */
.addr-row input::placeholder{color:#5F716A}
.addr-row.light input::placeholder,.citycheck input::placeholder{color:var(--placeholder); opacity:1}
/* foco dentro da caixa branca: verde escuro fixo (6,5:1 no branco), desenhado para dentro do campo para não encostar no botão verde */
.addr-row input:focus-visible{outline:3px solid var(--verde); outline-offset:-4px}
.addr-row.light input:focus-visible{outline-color:var(--accent)}
.addr-row .btn{box-shadow:none}
.addr small{color:var(--on-deep-muted); font-size:15px}
.cep-resp{margin:2px 0 0; min-height:24px; font-size:15.5px; color:var(--on-deep)}
.cep-resp:empty{display:none}
.cep-resp b{font-weight:600}
.cep-resp.ok{position:relative; padding-left:22px}
.cep-resp.ok::before{content:""; position:absolute; left:2px; top:.45em; width:11px; height:6px; border-left:2px solid var(--grade); border-bottom:2px solid var(--grade); transform:rotate(-45deg)}
.mock-addr i{font-style:normal; color:var(--grade); font-size:14px; padding:0 2px}
.addr small a{color:var(--on-deep)}
.ticks{display:flex; flex-wrap:wrap; gap:10px 22px; font-size:15px; color:var(--on-deep); list-style:none; margin:0; padding:0}
.ticks > li{position:relative; padding-left:21px}
.ticks > li::before{content:""; position:absolute; left:0; top:.52em; width:11px; height:6px; border-left:2px solid var(--grade); border-bottom:2px solid var(--grade); transform:rotate(-45deg)}
.ticks a{color:var(--on-deep); text-underline-offset:3px}
.tag-val{position:relative; justify-self:end; align-self:start; margin:28px 0 0; width:min(340px,100%); background:#FFFFFF; color:var(--nanquim); box-shadow:0 30px 70px rgba(0,0,0,0.4); padding:20px 22px; display:grid; gap:10px}
.tag-val .k{display:flex; justify-content:space-between; align-items:center; gap:10px; font-family:var(--f-label); font-weight:600; font-size:13px; letter-spacing:0.12em; text-transform:uppercase; color:#4F6158}
.tag-val .k i{font-style:normal; background:var(--papel); padding:2px 7px; font-size:11px}
.tag-val .im{font-size:15px; color:#4F6158}
.tag-val .v{font-size:38px; font-weight:600; letter-spacing:-0.025em; color:var(--verde); line-height:1; font-variant-numeric:tabular-nums}
.tag-val .m2{font-family:var(--f-label); font-size:16px; color:#4F6158}
.tag-val .ref{display:block; margin-top:4px; padding-top:12px; border-top:1px solid #DCE7E1; font-size:15px; line-height:1.35; color:#4F6158; font-variant-numeric:tabular-nums}
.tag-val .ref b{color:var(--nanquim); font-weight:600; white-space:nowrap}

/* destaques de confiança, flutuando sobre a capa */
.float{position:relative; z-index:2; margin-top:-80px}
.float-in{background:var(--surface); box-shadow:var(--shadow-2); display:grid; grid-template-columns:repeat(4,minmax(0,1fr))}
.float .it{display:grid; grid-template-columns:48px minmax(0,1fr); gap:16px; align-items:start; align-content:start; padding:26px 24px}
.float .it + .it{border-left:1px solid var(--line)}
.float b{display:block; font-weight:600; font-size:17px; line-height:1.25}
.float p > span{display:block; color:var(--muted); font-size:15px; line-height:1.45; margin-top:4px}

/* ---------- seções */
.sec{padding-block:108px}
.sec.white{background:var(--surface)}
.sec.deep{background-color:var(--deep); background-image:linear-gradient(rgba(169,205,189,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(169,205,189,.055) 1px,transparent 1px),linear-gradient(rgba(169,205,189,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(169,205,189,.035) 1px,transparent 1px); background-size:160px 160px,160px 160px,32px 32px,32px 32px; color:var(--on-deep)}
.sec.deep .lead{color:var(--on-deep-muted)}
.sec.deep .eyebrow{color:var(--grade)}
.sec.deep h2,.sec.deep h3{color:#FFFFFF}
.head-row{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:end; margin-bottom:var(--head-gap)}
.sec-head{display:grid; gap:18px; max-width:760px; align-content:start}
.head-gap{margin-bottom:var(--head-gap)}
.acts{display:flex; flex-wrap:wrap; gap:12px; margin-top:34px}
.acts.center{justify-content:center}
.tap{text-align:center; margin:0 0 20px; font-size:15px}

/* ---------- capa das páginas internas */
.pagehero{position:relative; overflow:hidden; isolation:isolate; background:var(--deep); color:var(--on-deep)}
.pagehero .map{position:absolute; top:0; right:0; bottom:0; width:60%; z-index:-1; opacity:.75}
.pagehero .map img{width:100%; height:100%; object-fit:cover; object-position:var(--mp,50% 50%); display:block}
.pagehero .map::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, var(--deep) 0%, rgba(15,42,34,0.72) 35%, rgba(15,42,34,0.25) 80%), linear-gradient(0deg, rgba(15,42,34,.6) 0%, rgba(15,42,34,0) 30%)}
.pagehero .wrap{display:grid; grid-template-columns:minmax(0,1fr); gap:48px; align-items:center; padding-block:72px 80px}
.pagehero.has-side .wrap{grid-template-columns:minmax(0,1fr) minmax(0,0.72fr)}
.ph-txt{display:grid; gap:20px; align-content:center}
.pagehero h1{color:#FFFFFF; max-width:17ch}
.pagehero .lead{color:var(--on-deep-muted)}
.pagehero .eyebrow{color:var(--grade)}
.ph-side{display:grid; justify-items:end; align-self:end}
.ph-side .phone{justify-self:end; max-width:290px; margin-bottom:-150px; transform:rotate(2deg)}
.ph-doc{width:min(400px,100%); margin-bottom:-170px; transform:rotate(-2.5deg); box-shadow:0 30px 70px rgba(0,0,0,0.45); background:#FFFFFF}
.ph-doc img{display:block; width:100%; height:auto}
.ph-map{margin:0; width:min(440px,100%); background:var(--deep-2); box-shadow:0 30px 70px rgba(0,0,0,0.45); padding:10px; display:grid; gap:8px}
.ph-map img{display:block; width:100%; aspect-ratio:4/3; object-fit:cover; object-position:72% 40%}
.ph-map figcaption{font-family:var(--f-label); font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--on-deep-muted); padding:0 4px 2px}
.crumbs ol{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; font-size:14px; color:var(--on-deep-muted)}
.crumbs li + li::before{content:"/"; margin-right:6px; opacity:.6}
.crumbs a{color:var(--on-deep-muted)}

/* ---------- como funciona: celular + linha do tempo */
.how{display:grid; grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr); gap:72px; align-items:center}
.phone{margin:0; width:100%; max-width:330px; background:#0F2A22; padding:11px; box-shadow:var(--shadow-2); justify-self:center; border-radius:22px}
.phone .scr{background:#E6EEEA; display:grid; grid-template-rows:auto 1fr; border-radius:13px; overflow:hidden}
.phone .bar{display:flex; align-items:center; gap:10px; padding:11px 12px; background:#0F2A22; color:#EEF4F0}
.phone .bar svg{width:34px; height:34px; border-radius:50%; display:block}
.phone .bar b{font-size:14.5px; font-weight:600; display:block; line-height:1.2}
.phone .bar small{font-size:12px; color:#A9CDBD}
.phone .chat{padding:14px 11px 18px; display:grid; gap:9px; align-content:start}
.msg{max-width:86%; padding:8px 11px 5px; font-size:13.5px; line-height:1.4; color:#0F2A22; box-shadow:0 1px 1px rgba(15,42,34,0.08); border-radius:8px}
.msg time{display:block; text-align:right; font-size:10.5px; color:#5F6F69; margin-top:1px}
.msg.in{background:#FFFFFF; justify-self:start; border-top-left-radius:0}
.msg.out{background:#D4EEE1; justify-self:end; border-top-right-radius:0}
.msg b{font-weight:600}
.msg.file{display:flex; align-items:center; gap:9px}
.msg.file time{align-self:flex-end; margin-left:auto; padding-left:6px}
.msg.file i{display:block; width:26px; height:32px; background:#FFFFFF; border:1px solid #A9CDBD; position:relative; flex:none}
.msg.file i::before{content:""; position:absolute; left:5px; right:5px; top:9px; height:2px; background:#C9DCD3; box-shadow:0 5px 0 #C9DCD3, 0 10px 0 #C9DCD3}
.timeline{list-style:none; margin:36px 0 0; padding:0; display:grid; counter-reset:p}
.timeline li{display:grid; grid-template-columns:56px minmax(0,1fr); gap:20px; padding-bottom:28px; position:relative}
.timeline li::before{counter-increment:p; content:counter(p); display:grid; place-items:center; width:48px; height:48px; background:var(--surface); color:var(--accent); font-family:var(--f-label); font-weight:600; font-size:18px; box-shadow:var(--shadow-1); position:relative; z-index:1}
.timeline li::after{content:""; position:absolute; left:23.5px; top:48px; bottom:0; width:1.5px; background:var(--line-strong)}
.timeline li:last-child{padding-bottom:0}
.timeline li:last-child::after{display:none}
.timeline li:last-child::before{background:var(--verde); color:#FFFFFF}
.timeline h3{margin-top:10px}
.timeline p{color:var(--muted); margin-top:6px; max-width:52ch}

/* ---------- como funciona (página): passos alternados */
.steps-rows{display:grid; gap:24px}
.srow{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; padding-block:40px; border-top:1px solid var(--line-strong)}
.srow:first-child{border-top:0; padding-top:0}
.srow:nth-child(even) .stxt{order:2}
.stxt{display:grid; gap:14px; align-content:center}
.stxt h2{font-size:var(--h-card); letter-spacing:-0.015em}
.sn{font-family:var(--f-label); font-weight:600; font-size:15px; letter-spacing:.14em; color:var(--accent)}
.sn::before{content:"Passo "}
.svis{background:var(--surface); box-shadow:var(--shadow-1); min-height:300px; display:grid; place-items:center; padding:36px; overflow:hidden}
.mock-addr{width:min(440px,100%); display:grid; gap:10px; background:var(--deep); padding:22px}
.mock-addr span{background:#FFFFFF; color:var(--nanquim); padding:14px 16px; font-size:16px}
.mock-addr b{justify-self:start; background:var(--verde); color:#FFFFFF; padding:12px 18px; font-size:15px}
.paperdoc.big{width:min(400px,100%); font-size:14px; padding:22px 24px; gap:9px}
.mock-check{list-style:none; margin:0; padding:0; display:grid; gap:10px; width:min(400px,100%)}
.mock-check li{display:grid; grid-template-columns:22px minmax(0,1fr); gap:12px; align-items:center; font-size:16px; color:var(--muted)}
.mock-check li::before{content:""; width:20px; height:20px; box-shadow:inset 0 0 0 1.5px var(--field-line)}
.mock-check li.on{color:var(--fg); font-weight:500}
.mock-check li.on::before{background:var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23fff' stroke-width='2.2'/%3E%3C/svg%3E") center/16px no-repeat; box-shadow:none}
.mock-chat{width:min(400px,100%); background:#E6EEEA; padding:22px 16px; display:grid; border-radius:10px}
.mock-chat .msg{max-width:100%; font-size:15px}
.mock-rel{width:min(300px,80%); transform:rotate(-2deg); box-shadow:var(--shadow-2); background:#FFFFFF; margin-bottom:-90px; align-self:start}
.mock-rel img{display:block; width:100%; height:auto}

/* ---------- bento: o que entra no cálculo */
.bento{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:20px}
.tile{background:var(--surface); box-shadow:var(--shadow-1); display:grid; grid-template-rows:250px 1fr; overflow:hidden}
.sec.white .tile{background:var(--bg); box-shadow:none}
.tile .txt{padding:26px 28px 30px; display:grid; gap:8px; align-content:start}
.tile .txt p{color:var(--muted)}
.tile .vis{background:var(--surface-2); border-bottom:1px solid var(--line); min-height:0; display:grid; place-items:center; padding:24px; position:relative; overflow:hidden}
.sec.white .tile .vis{background:var(--surface-2)}
.t-doc{grid-column:span 5} .t-fotos{grid-column:span 7} .t-local{grid-column:span 7} .t-merc{grid-column:span 5}
.paperdoc{width:min(330px,100%); background:#FFFFFF; box-shadow:var(--shadow-1); padding:18px 20px; display:grid; gap:7px; font-size:12.5px; color:#3B4D45; transform:rotate(-1.2deg)}
.paperdoc .h{font-family:var(--f-label); font-weight:600; letter-spacing:0.1em; text-transform:uppercase; font-size:11px; color:#4F6158; border-bottom:1px solid #E1EAE5; padding-bottom:7px}
.paperdoc .ln{height:6px; background:#E6EEE9}
.paperdoc .ln.s{width:62%}
.paperdoc .hl{display:flex; justify-content:space-between; gap:10px; padding:6px 8px; background:#E3F1EA; box-shadow:inset 3px 0 0 #0B6B4F; font-weight:600; color:#0F2A22}
.rooms{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; width:100%}
.room{display:grid; gap:8px}
.room .pic{aspect-ratio:4/3; background:#0F2A22; overflow:hidden}
.room .pic svg{width:100%; height:100%; display:block}
.pill{display:inline-block; font-family:var(--f-label); font-weight:600; font-size:12px; letter-spacing:0.06em; text-transform:uppercase; padding:3px 8px; background:#E3F1EA; color:#0B6B4F; justify-self:start}
.minimap{position:absolute; inset:0}
.minimap img{width:100%; height:100%; object-fit:cover; object-position:72% 40%; display:block}
.minimap .pin{position:absolute; left:18px; bottom:18px; background:#FFFFFF; color:#0F2A22; padding:10px 14px; box-shadow:0 14px 34px rgba(0,0,0,0.35); font-size:14px; display:grid; gap:2px}
.minimap .pin b{font-weight:600}
.minimap .pin span{font-family:var(--f-label); color:#4F6158; font-size:13px}
.dots{width:100%; max-width:440px; height:auto; display:block; margin-inline:auto}
.dots text{font-family:var(--f-label); font-size:13px; fill:var(--muted)}
.dots text.b{fill:var(--fg); font-weight:600}

/* ---------- para que serve: livro de registro */
.reg{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:64px; counter-reset:u}
.reg li{display:grid; grid-template-columns:52px minmax(0,1fr); gap:6px 16px; padding:26px 0 28px; border-top:1px solid var(--line-strong); align-content:start}
.reg li::before{counter-increment:u; content:counter(u,decimal-leading-zero); grid-row:span 4; font:600 16px/1.5 var(--f-label); letter-spacing:.08em; color:var(--accent); padding-top:2px}
.reg h3{font-size:22px}
.reg p{color:var(--muted); max-width:52ch}
.reg .note{font-size:15px; border-left:2px solid var(--line-strong); padding-left:12px; margin-top:4px}
.reg .link{margin-top:8px; justify-self:start}

/* ---------- cartões */
.cards{display:grid; gap:20px}
.cards.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cards.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--surface); box-shadow:var(--shadow-1); padding:30px 28px; display:grid; gap:14px; align-content:start; position:relative}
a.card{text-decoration:none; transition:box-shadow .2s, transform .2s}
a.card:hover{box-shadow:var(--shadow-2); transform:translateY(-2px)}
.card p{color:var(--muted); font-size:16px}
.card.no{background:transparent; box-shadow:inset 0 0 0 1px var(--line-strong)}
.card.no .chip-ico{background:transparent; box-shadow:inset 0 0 0 1px var(--line-strong)}
.card.no .ico{color:var(--muted)}
a.card .go{position:absolute; right:26px; top:32px; width:10px; height:10px; border-top:2px solid var(--accent); border-right:2px solid var(--accent); transform:rotate(45deg); transition:transform .15s}
a.card:hover .go{transform:translate(3px,0) rotate(45deg)}

/* ---------- relatório em leque (faixa escura) */
.report{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,0.95fr); gap:80px; align-items:center}
.fan{position:relative; aspect-ratio:1/1.06; max-width:560px; width:100%; display:block}
.fan picture{display:contents}
.fan img{position:absolute; width:76%; height:auto; background:#FFFFFF; box-shadow:0 30px 70px rgba(0,0,0,0.45); display:block; transition:transform .25s}
.fan .p2{right:0; top:0; transform:rotate(4deg)}
.fan .p1{left:0; bottom:0; transform:rotate(-3deg)}
.fan:hover .p1{transform:rotate(-2deg) translateY(-6px)}
.parts{list-style:none; margin:28px 0 0; padding:0; display:grid; gap:18px; counter-reset:r}
.parts li{display:grid; grid-template-columns:40px minmax(0,1fr); gap:14px; align-items:start}
.parts li::before{counter-increment:r; content:counter(r); font-family:var(--f-label); font-weight:600; display:grid; place-items:center; width:34px; height:34px; box-shadow:inset 0 0 0 1.5px var(--grade); color:var(--grade)}
.parts li b{display:block; font-weight:600; font-size:18px; color:#FFFFFF}
.parts li span{color:var(--on-deep-muted)}
.light .parts li b{color:var(--fg)}
.light .parts li span{color:var(--muted)}
.light .parts li::before{box-shadow:inset 0 0 0 1.5px var(--accent); color:var(--accent)}
.parts-wrap .parts{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr)); gap:22px 40px; margin-top:56px}
.pages{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; max-width:1140px; margin-inline:auto}
.pages a{display:grid; gap:14px; text-decoration:none; color:var(--muted); font-size:15px}
.pages img{display:block; width:100%; height:auto; background:#FFFFFF; box-shadow:var(--shadow-2); outline:1px solid var(--line)}
.pages a:hover img{outline-color:var(--accent)}

/* ---------- preço */
.price{display:grid; grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr); gap:56px; align-items:start}
.plan{background:var(--deep); color:var(--on-deep); padding:40px 38px; display:grid; gap:22px; box-shadow:var(--shadow-2); border-top:4px solid var(--grade)}
.plan .eyebrow{color:var(--grade)}
.plan .p{font-size:72px; font-weight:600; letter-spacing:-0.035em; line-height:1; color:#FFFFFF; font-variant-numeric:tabular-nums; display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px}
.plan .p small{font-size:20px; font-weight:500; color:var(--on-deep-muted); letter-spacing:0; white-space:nowrap}
.plan ul,.check{margin:0; padding:0; list-style:none; display:grid; gap:11px}
.plan li,.check li{display:grid; grid-template-columns:22px minmax(0,1fr); gap:10px; align-items:start}
.plan li::before,.check li::before{content:""; width:12px; height:7px; margin-top:8px; border-left:2px solid var(--grade); border-bottom:2px solid var(--grade); transform:rotate(-45deg)}
.check li::before{border-color:var(--accent)}
.plan .btn{justify-self:start}
.promise{display:grid; gap:14px; margin-top:28px}
.price > .promise{margin-top:0}
.promise > div{display:grid; grid-template-columns:48px minmax(0,1fr); gap:18px; align-items:start; padding:22px 24px; background:var(--surface); box-shadow:var(--shadow-1)}
.promise b{font-weight:600; display:block; font-size:18px}
.promise p > span{color:var(--muted); display:block; margin-top:2px}

/* tabela de comparação */
.tbl{overflow-x:auto; background:var(--surface); box-shadow:var(--shadow-1)}
.tbl table{width:100%; border-collapse:collapse; min-width:680px; table-layout:fixed; font-size:16px}
.tbl th,.tbl td{padding:16px 20px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line)}
.tbl thead th{font-family:var(--f-label); font-weight:600; font-size:14px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); background:var(--surface-2)}
.tbl thead td{background:var(--surface-2)}
.tbl thead th.us{color:#FFFFFF; background:var(--verde)}
.tbl tbody th{font-weight:600}
.tbl td{color:var(--muted)}
.tbl td.us{background:var(--us-bg); color:var(--fg); font-weight:500; box-shadow:inset 1.5px 0 0 var(--verde), inset -1.5px 0 0 var(--verde)}
.tbl tbody tr:last-child td.us{box-shadow:inset 1.5px 0 0 var(--verde), inset -1.5px 0 0 var(--verde), inset 0 -1.5px 0 var(--verde)}
.tbl .y{font-weight:600; color:var(--accent)}
.tbl tr:last-child th,.tbl tr:last-child td{border-bottom:0}

/* ---------- textos de apoio */
.split{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:start}
.split.eq{align-items:stretch}
.prose{display:grid; gap:16px; max-width:68ch; align-content:start}
.prose h2{font-size:var(--h-card); letter-spacing:-0.015em; line-height:1.14; margin-top:6px}
.prose h3{margin-top:10px}
.prose p,.prose li{color:var(--muted)}
.prose b{color:var(--fg)}
.panel-w{background:var(--surface); box-shadow:var(--shadow-1); padding:40px}
.panel-w h2:first-child{margin-top:0}
.panel-w + .panel-w{margin-top:0}

/* quem assina */
.signer{display:grid; grid-template-columns:260px minmax(0,1fr); gap:56px; align-items:center}
.portrait{margin:0; display:grid; gap:10px}
.portrait .ph{aspect-ratio:4/5; background:var(--deep); display:grid; place-items:center; background-image:linear-gradient(rgba(169,205,189,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(169,205,189,.07) 1px,transparent 1px); background-size:24px 24px}
.portrait .ph svg{width:46%; height:auto}
.portrait .ph svg path{fill:var(--grade)}
.portrait figcaption{font-size:14px; color:var(--muted); justify-self:start}

/* ---------- público (faixa escura) */
.aud{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px}
.aud a{display:grid; grid-template-rows:auto auto 1fr auto; gap:14px; align-content:start; padding:30px 26px; text-decoration:none; background:rgba(15,42,34,0.6); box-shadow:inset 0 0 0 1px rgba(169,205,189,0.2); transition:background .2s, box-shadow .2s}
.aud a:hover{background:rgba(255,255,255,0.06); box-shadow:inset 0 0 0 1px rgba(169,205,189,0.45)}
.aud p{color:var(--on-deep-muted); font-size:16px}
.aud .ico{color:var(--grade); width:30px; height:30px}
.aud .link{margin-top:6px; align-self:end}

/* ---------- cidades */
.cities{display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr); gap:48px; align-items:start}
.citycheck{display:grid; gap:14px; background:var(--surface); box-shadow:var(--shadow-1); padding:30px}
.sec.white .citycheck{background:var(--bg); box-shadow:none}
.citycheck input{width:100%; border:0; box-shadow:inset 0 0 0 1.5px var(--field-line); background:var(--surface); color:var(--fg); font:inherit; font-size:18px; padding:15px 16px}
.citycheck input:focus{outline:2px solid transparent; box-shadow:inset 0 0 0 2px var(--accent)}
.answer{min-height:58px; padding:16px; background:var(--surface-2); box-shadow:inset 3px 0 0 var(--line-strong)}
.answer b{font-weight:600}
.answer .opts{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px}
.answer .opts button{font:inherit; font-size:16px; font-weight:600; color:var(--accent); background:var(--surface); border:0; box-shadow:inset 0 0 0 1.5px var(--field-line); padding:9px 14px; min-height:44px; cursor:pointer}
.answer .opts button:hover{box-shadow:inset 0 0 0 1.5px var(--accent)}
.clist{display:grid; gap:22px}
.clist p{color:var(--muted); font-size:15.5px}
.clist h3{font-size:19px}
.soon{display:inline-block; font-family:var(--f-label); font-weight:600; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; padding:3px 8px; background:var(--chip); color:var(--accent); margin-left:8px; vertical-align:2px}
.cchips{display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 0; padding:0; list-style:none}
.cchips li{font-size:15px; padding:6px 12px; background:var(--surface); box-shadow:inset 0 0 0 1px var(--line-strong)}
.clist details{background:var(--surface); box-shadow:inset 0 0 0 1px var(--line-strong)}
.clist summary{cursor:pointer; list-style:none; padding:16px 52px 16px 18px; font-weight:600; position:relative}
.clist summary::-webkit-details-marker{display:none}
.clist summary::after{content:""; position:absolute; right:20px; top:50%; width:9px; height:9px; margin-top:-6px; border-right:2px solid var(--accent); border-bottom:2px solid var(--accent); transform:rotate(45deg)}
.clist details[open] summary::after{transform:rotate(-135deg); margin-top:-1px}
.clist details p{padding:0 18px 18px}

/* ---------- dúvidas */
.faqwrap{display:grid; grid-template-columns:minmax(0,0.75fr) minmax(0,1.25fr); gap:64px; align-items:start}
.faq{display:grid; background:var(--surface); box-shadow:var(--shadow-1)}
.faq details{border-bottom:1px solid var(--line)}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer; list-style:none; padding:22px 60px 22px 28px; font-weight:600; font-size:18px; position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:""; position:absolute; right:28px; top:50%; width:10px; height:10px; margin-top:-7px; border-right:2px solid var(--accent); border-bottom:2px solid var(--accent); transform:rotate(45deg); transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg); margin-top:-2px}
.faq details > div{padding:0 28px 26px; color:var(--muted); max-width:72ch}
.faq-group{display:grid; gap:20px; margin-bottom:52px}
.faq-group:last-child{margin-bottom:0}
.faq-group h2{font-size:28px}

/* verificar */
.verify{display:grid; gap:14px}
.verify label{font-size:18px}

/* ---------- chamada final */
.cta{background:var(--verde); color:#FFFFFF; padding-block:88px; position:relative; overflow:hidden; isolation:isolate}
.cta-m{position:absolute; right:max(-40px, calc(50% - 680px)); top:50%; transform:translateY(-50%); width:380px; z-index:-1; pointer-events:none}
.cta-m svg{display:block; width:100%; height:auto}
.cta-m svg path,.cta-m svg rect{fill:none; stroke:rgba(255,255,255,0.16); stroke-width:1.5}
.cta .wrap{display:grid; justify-items:start; gap:30px}
.cta h2{color:#FFFFFF; max-width:22ch}
.cta p{color:#D7EFE3; margin-top:12px; font-size:18px; max-width:52ch}

/* ---------- rodapé */
.foot{background:var(--deep-2); color:var(--on-deep-muted); padding-block:72px 40px; font-size:15.5px}
.foot .grid{display:grid; grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr)); gap:32px}
.foot .logo{height:32px; width:auto; display:block; margin-bottom:18px}
.foot .fb p{max-width:34ch; margin-bottom:16px}
.foot-h{font-family:var(--f-label); font-size:14px; letter-spacing:0.14em; text-transform:uppercase; color:#FFFFFF; font-weight:600; margin-bottom:14px}
.foot ul{list-style:none; margin:0; padding:0; display:grid; gap:9px}
.foot a{color:var(--on-deep-muted); text-decoration:none; overflow-wrap:anywhere}
.foot a:hover{color:#FFFFFF}
.foot .base{display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 24px; border-top:1px solid var(--deep-line); margin-top:48px; padding-top:24px; font-size:14px}

/* ---------- responsivo */
@media (max-width: 1100px){
  .menu{display:none}
  .hcta{display:inline-flex; margin-left:auto; padding:11px 16px; font-size:15px; box-shadow:none}
  .mob{display:block}
  .head .wrap{position:relative; gap:10px}
  .cards.c4,.aud{grid-template-columns:repeat(2,minmax(0,1fr))}
  .float-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .float .it:nth-child(3){border-left:0}
  .float .it:nth-child(n+3){border-top:1px solid var(--line)}
  .foot .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot .grid > .fb{grid-column:1/-1}
  .t-doc,.t-fotos,.t-local,.t-merc{grid-column:span 6}
  .signer{grid-template-columns:200px minmax(0,1fr); gap:40px}
}
@media (max-width: 900px){
  .hero .wrap{grid-template-columns:1fr; padding-block:56px 120px}
  .hero .map{width:100%; opacity:.55}
  .report,.price,.split,.cities,.faqwrap,.srow{grid-template-columns:1fr}
  .srow{gap:28px}
  .srow:nth-child(even) .stxt{order:0}
  .how{grid-template-columns:260px minmax(0,1fr); gap:40px}
  .cards.c3{grid-template-columns:1fr}
  .head-row{grid-template-columns:1fr}
  .util .l{display:none}
  .reg{grid-template-columns:1fr}
  .fan{max-width:440px; margin-inline:auto}
  .pagehero.has-side .wrap{grid-template-columns:1fr}
  .ph-side{justify-items:start}
  .ph-side .phone,.ph-doc{display:none}
  .ph-side{align-self:auto}
  .foot ul{gap:0}
  .foot li a{display:inline-block; padding:10px 0}
  .crumbs a{display:inline-block; padding:12px 4px; margin:-12px -4px}
}
@media (min-width: 601px) and (max-width: 900px){
  .tag-val{justify-self:end; margin-top:-8px}
  .report{grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px}
  .price{grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px}
  .plan .p{font-size:56px}
  .t-doc,.t-fotos,.t-local,.t-merc{grid-column:span 12}
}
@media (max-width: 700px){
  .how{grid-template-columns:1fr; gap:48px}
  .how > .phone{order:2}
}
@media (max-width: 600px){
  :root{--head-gap:32px; --h-card:26px}
  .sec{padding-block:72px}
  .util{display:none}
  .head .wrap{min-height:64px}
  .head .logo{height:27px}
  .mob summary{padding:9px 12px}
  .hcta{padding:10px 14px}
  .hcta svg{display:none}
  .hero .wrap{padding-block:40px 96px}
  .hero-txt{gap:22px}
  .hero .lead{font-size:17px}
  .tag-val{justify-self:stretch; width:100%; margin-top:4px}
  .addr-row{flex-direction:column}
  .ticks{gap:8px 18px}
  .float{margin-top:-60px}
  .float-in{grid-template-columns:1fr 1fr}
  .float .it{grid-template-columns:1fr; gap:10px; padding:18px 16px}
  .float .it + .it{border-left:0; border-top:0}
  .float .it:nth-child(even){border-left:1px solid var(--line)}
  .float .it:nth-child(n+3){border-top:1px solid var(--line)}
  .float .chip-ico{width:40px; height:40px}
  .float b{font-size:16px}
  .float p > span{font-size:14px}
  .head-row{gap:14px}
  .head-row > .link{justify-self:start}
  .sec-head{gap:14px}
  .bento,.aud{gap:12px}
  .t-doc,.t-fotos,.t-local,.t-merc{grid-column:span 12}
  .tile{grid-template-rows:210px 1fr}
  .tile .txt{padding:22px 22px 24px}
  .cards{gap:12px}
  .cards .card{grid-template-columns:44px minmax(0,1fr); column-gap:16px; row-gap:4px; padding:20px}
  .cards .card .chip-ico{grid-row:span 2; width:44px; height:44px}
  .cards .card h3{font-size:19px}
  a.card{padding-right:44px}
  a.card .go{top:24px; right:20px}
  .cards.c4,.aud{grid-template-columns:1fr}
  .reg li{grid-template-columns:40px minmax(0,1fr); padding:20px 0 22px}
  .reg h3{font-size:20px}
  .foot .grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px}
  .plan{padding:30px 24px}
  .plan .p{font-size:56px}
  .plan .p small{display:block; flex-basis:100%; font-size:18px}
  .panel-w{padding:26px}
  .rooms{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rooms .room:nth-child(3){display:none}
  .minimap .pin{left:14px; bottom:14px; padding:8px 12px}
  .dots text{font-size:18px}
  .pagehero .wrap{padding-block:48px 56px}
  .pagehero .map{width:100%; opacity:.5}
  .pagehero .map::after{background:linear-gradient(180deg,rgba(15,42,34,.2) 0%,rgba(15,42,34,.88) 45%,var(--deep) 100%)}
  .ph-map{display:none}
  .pagehero .tag-val{justify-self:stretch}
  .svis{min-height:220px; padding:24px}
  .mock-rel{margin-bottom:-60px}
  .signer{grid-template-columns:1fr; gap:24px}
  .portrait{max-width:180px}
  .cta{padding-block:64px}
  .cta-m{display:none}
  .aud a{grid-template-columns:30px minmax(0,1fr); grid-template-rows:none; column-gap:16px; row-gap:6px; padding:22px 20px}
  .aud .ico{grid-row:span 3}
  .aud .link{margin-top:4px}
  .cta .btn{width:100%}
  .pages{grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:86%; overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:calc(-1 * var(--gut)); padding:6px var(--gut) 24px; gap:14px; scrollbar-width:none}
  .pages a{scroll-snap-align:center}
  .faq summary{padding:20px 52px 20px 20px; font-size:17px}
  .faq details > div{padding:0 20px 22px}
  /* tabela vira cartões, com MetroValor primeiro */
  .tbl{overflow:visible; background:none; box-shadow:none}
  .tbl table,.tbl tbody{display:block; min-width:0}
  .tbl thead{display:none}
  .tbl tbody tr{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--surface); box-shadow:var(--shadow-1); margin-bottom:10px}
  .tbl tbody th{grid-column:1/-1; order:-2; padding:14px 14px 4px; border:0}
  .tbl td{padding:8px 12px 14px; border:0; font-size:15px; line-height:1.35}
  .tbl td.us{order:-1; box-shadow:none!important}
  .tbl td::before{content:attr(data-l); display:block; margin-bottom:3px; font:600 12px/1.2 var(--f-label); letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
  .tbl td.us::before{color:var(--accent)}
}
@media (hover: none){
  a.card:hover{transform:none; box-shadow:var(--shadow-1)}
  .btn-main:hover{transform:none}
}

/* Endurecimento de 27/10/2026 (gerado por build_site4.py): as páginas não têm atributo style, por causa da CSP (style-src 'self').
   Posição do mapa de fundo de cada capa interna e larguras da tabela de comparação. */
.map.mp-10-10{--mp:10% 10%}
.map.mp-20-70{--mp:20% 70%}
.map.mp-30-60{--mp:30% 60%}
.map.mp-40-20{--mp:40% 20%}
.map.mp-50-50{--mp:50% 50%}
.map.mp-50-90{--mp:50% 90%}
.map.mp-60-80{--mp:60% 80%}
.map.mp-70-30{--mp:70% 30%}
.map.mp-80-20{--mp:80% 20%}
.tbl col.w28{width:28%}
.tbl col.w26{width:26%}
.tbl col.w22{width:22%}
.tbl col.w24{width:24%}
