/* maquininhas-seo — MOBILE-FIRST design system.
   Base styles target the phone (~360px). Larger screens are progressive
   enhancements via @media (min-width: …). Light by default, dark via toggle.
   No external assets (fast on 4G). Breakpoints: 640 (tablet), 760 (table),
   920 (wide). */

/* ===================== tokens ===================== */
:root{
  --ink:#14171f; --ink-2:#586173; --ink-3:#667085;
  --bg:#ffffff; --band:#f5f7fb; --surface:#ffffff;
  --border:#e7eaf1; --border-2:#d8deea;
  --brand:#0e7a46; --brand-600:#0b6539; --brand-700:#094e2d; --brand-050:#e8f5ee; --brand-glow:rgba(14,122,70,.16);
  --star:#f5a623; --danger:#df4a44;
  --shadow-xs:0 1px 2px rgba(20,23,31,.05);
  --shadow-sm:0 1px 3px rgba(20,23,31,.08),0 1px 2px rgba(20,23,31,.05);
  --shadow-md:0 8px 20px -6px rgba(20,23,31,.12),0 3px 8px -4px rgba(20,23,31,.08);
  --shadow-lg:0 24px 48px -14px rgba(20,23,31,.20);
  --r:14px; --r-sm:9px; --r-lg:20px; --r-pill:999px;
  --wrap:1140px; --header-h:60px; --ease:cubic-bezier(.22,.61,.36,1);
  --font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji",sans-serif;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --ink:#eef1f6; --ink-2:#a6afbe; --ink-3:#8b93a3;
  --bg:#0f131a; --band:#141a23; --surface:#171e28;
  --border:#242d3a; --border-2:#303a49;
  --brand:#2ecf7d; --brand-600:#27bd71; --brand-700:#1fa862; --brand-050:#132a1f; --brand-glow:rgba(46,207,125,.22);
  --star:#f5b53a; --danger:#f06a63;
  --shadow-xs:0 1px 2px rgba(0,0,0,.4);
  --shadow-sm:0 1px 3px rgba(0,0,0,.5);
  --shadow-md:0 10px 24px -8px rgba(0,0,0,.55);
  --shadow-lg:0 26px 52px -16px rgba(0,0,0,.7);
  color-scheme:dark;
}

/* ===================== base (mobile) ===================== */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 10px)}
body{margin:0;font:16px/1.6 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;
  overflow-x:hidden;padding-bottom:80px} /* room for the sticky mobile CTA */
h1,h2,h3{line-height:1.2;margin:0 0 .5em;font-weight:800;letter-spacing:-.022em;text-wrap:balance}
h1{font-size:clamp(1.65rem,6vw,2.55rem)}
h2{font-size:clamp(1.3rem,5vw,1.85rem)}
h3{font-size:1.12rem;font-weight:700}
p{margin:0 0 1em}
a{color:var(--brand-600);text-decoration:none}a:hover{text-decoration:underline}
:root[data-theme="dark"] a{color:var(--brand)}
img,svg{max-width:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.band{background:var(--band);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section{padding:32px 0}
.block{margin:28px auto}
.section-head{max-width:64ch;margin-bottom:20px}
.section-head .eyebrow{display:block;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-600);margin-bottom:8px}
:root[data-theme="dark"] .section-head .eyebrow{color:var(--brand)}
.section-head p{color:var(--ink-2);margin:0;font-size:1.02rem}
.num,.hero-stats b,.c-num,.c-total-val,.cr-cost,.cf-val,.op-taxas td,.calc-total-in strong,.cr-diff,.stars-n{font-variant-numeric:tabular-nums}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-999px;top:0;background:var(--brand);color:#fff;padding:10px 16px;z-index:100}
.skip-link:focus{left:0}
:focus-visible{outline:2.5px solid var(--brand);outline-offset:2px;border-radius:6px}

/* header — mobile: solid bar, hamburger, overlay menu */
.site-header{position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:1px solid var(--border);transition:box-shadow .2s}
.site-header.scrolled{box-shadow:var(--shadow-sm)}
.header-inner{display:flex;align-items:center;gap:12px;height:var(--header-h)}
.brand{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:1.08rem;color:var(--ink);letter-spacing:-.03em}
.brand:hover{text-decoration:none}
.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--brand);color:#fff;flex:0 0 auto}
.brand-name b{color:var(--brand-600)}
:root[data-theme="dark"] .brand-name b{color:var(--brand)}
.site-nav{position:fixed;top:var(--header-h);left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:2px;
  background:var(--surface);border-bottom:1px solid var(--border);padding:12px 16px 18px;box-shadow:var(--shadow-lg);
  transform:translateY(-10px);opacity:0;pointer-events:none;transition:.22s var(--ease)}
.site-nav.open{transform:none;opacity:1;pointer-events:auto}
.site-nav a{color:var(--ink);font-size:1rem;font-weight:600;padding:13px 14px;border-radius:9px;min-height:44px;display:flex;align-items:center}
.site-nav a:hover{background:var(--band);text-decoration:none}
.site-nav a[href="/calculadora/"]:not(.nav-cta){display:none} /* duplicate of the CTA on mobile */
.nav-cta{background:var(--brand)!important;color:#fff!important;justify-content:center;margin-top:6px}
.nav-cta:hover{background:var(--brand-600)!important;color:#fff!important}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.theme-toggle,.nav-toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border-2);background:var(--surface);
  border-radius:10px;color:var(--ink-2);cursor:pointer;transition:.16s}
.theme-toggle:hover,.nav-toggle:hover{color:var(--ink);border-color:var(--ink-3)}
.i-sun{display:none}
:root[data-theme="dark"] .i-sun{display:block}:root[data-theme="dark"] .i-moon{display:none}
.nav-toggle{flex-direction:column;gap:4px}
.nav-toggle span{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:.22s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* hero — mobile: text first, art hidden */
.hero{padding:20px 0 6px}
.hero-grid{display:block}
.hero-media{display:none}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;color:var(--brand-600);
  background:var(--brand-050);border:1px solid var(--border);padding:6px 12px;border-radius:var(--r-pill);margin-bottom:14px}
:root[data-theme="dark"] .hero .eyebrow{color:var(--brand)}
.hero h1{margin-bottom:.4em}
.hero h1 .hl{color:var(--brand-600)}
:root[data-theme="dark"] .hero h1 .hl{color:var(--brand)}
.hero .lead{font-size:1.08rem;color:var(--ink-2);max-width:48ch;margin-bottom:20px}
.hero-cta{display:flex;flex-direction:column;gap:10px}
.device-cluster{position:relative;height:230px;width:100%;display:flex;align-items:center;justify-content:center}
.dc-item{position:absolute;filter:drop-shadow(0 18px 30px rgba(20,23,31,.22))}
.dc-0{transform:translateX(-58px) rotate(-11deg) scale(.82)}
.dc-1{transform:translateY(-4px) scale(.98);z-index:3}
.dc-2{transform:translateX(58px) rotate(11deg) scale(.82);z-index:2}
.device{display:block;height:auto}

/* trust bar */
.trustbar{display:flex;flex-wrap:wrap;gap:10px 22px;padding:16px 0;border-top:1px solid var(--border);margin-top:22px}
.trustbar .ti{display:flex;align-items:center;gap:9px;font-size:.9rem;color:var(--ink-2)}
.trustbar .ti svg{color:var(--brand);flex:0 0 auto}
.trustbar .ti b{color:var(--ink);font-weight:700}

/* buttons — mobile: full-width friendly, big tap area */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:11px;font-weight:700;min-height:48px;
  font-size:.98rem;cursor:pointer;border:1px solid transparent;transition:transform .14s var(--ease),background .18s,box-shadow .18s;text-decoration:none;line-height:1.1}
.btn.cta{background:var(--brand);color:#fff;box-shadow:var(--shadow-xs)}
.btn.cta:hover{background:var(--brand-600);text-decoration:none}
.btn-arrow{transition:transform .18s var(--ease)}
.btn.cta:hover .btn-arrow{transform:translateX(3px)}
.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--border-2)}
.btn-ghost:hover{border-color:var(--ink-3);text-decoration:none}
.btn-lg{padding:15px 26px;font-size:1.02rem;min-height:52px}
.hero-cta .btn{width:100%}

/* stars */
.stars{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.stars-ic{position:relative;display:inline-block;font-size:15px;letter-spacing:2px;line-height:1}
.stars-ic .s-empty{color:var(--border-2)}
.stars-ic .s-fill{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:var(--star)}
.stars-n{font-weight:700;font-size:.88rem;color:var(--ink)}
.stars-c{font-size:.8rem;color:var(--ink-3)}

/* ---------- comparison: CARDS by default (mobile) ---------- */
.cmp-wrap{overflow:visible}
.cmp-scroll{overflow:visible}
table.cmp{width:100%;display:block}
.cmp caption{display:none}
.cmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cmp tbody,.cmp tr,.cmp td{display:block}
.cmp tbody tr{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:14px 16px}
.cmp .row-best{border-color:var(--brand);border-width:1.5px;background:var(--brand-050)}
.cmp td{display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:right;padding:9px 0;border-bottom:1px solid var(--border);white-space:normal}
.cmp td:last-child{border-bottom:0}
.cmp .lbl{display:inline;margin-right:auto;color:var(--ink-2);font-weight:600;text-align:left}
.cmp .c-rank{display:none}
.cmp .c-op{padding:0 0 12px;border-bottom:1px solid var(--border);text-align:left}
.cmp .op-id{display:flex;align-items:center;gap:12px;width:100%}
.cmp .op-meta{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
/* logo chip (white, works on light + dark) holding the brand SVG */
.op-logo{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border-2);border-radius:9px;padding:5px 9px;flex:0 0 auto}
.op-logo img{display:block;height:20px;width:auto}
.cmp .op-name{font-weight:700}
.cmp .c-num .val{font-weight:700}
.cmp .c-total .lbl{color:var(--ink);font-weight:700}
.cmp .c-total-wrap{display:flex;align-items:baseline;gap:6px}
.cmp .c-total-val{font-weight:800;font-size:1.2rem}
.cmp .c-total-sub{display:none} /* redundant with the row label on mobile cards */
.cmp .c-cta{padding-top:12px}
.cmp .c-cta .btn{width:100%;min-height:48px}
.ribbon{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#fff;
  background:var(--brand);padding:3px 10px;border-radius:6px;margin-top:5px}
.cmp-foot{font-size:.82rem;color:var(--ink-2);margin-top:6px;padding:0 2px}
/* menor taxa da coluna destacada em verde */
.cmp .best-cell{background:var(--brand-050)}
.cmp .best-cell .val{color:var(--brand-700);font-weight:800}
:root[data-theme="dark"] .cmp .best-cell .val{color:var(--brand)}
.cmp .op-prazo{font-size:.72rem;color:var(--ink-3);font-weight:500}

/* ---------- calculator / simulador (mobile: 1 col) ---------- */
.calc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-md)}
.calc-head-row h2{margin-bottom:.2em}
.calc-lead{color:var(--ink-2)}
.calc-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:6px}
.cf-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}
.cf-head label{font-weight:700;font-size:.94rem}
.cf-val{font-weight:800;color:var(--brand-600)}
:root[data-theme="dark"] .cf-val{color:var(--brand)}
.cf-range{-webkit-appearance:none;appearance:none;width:100%;height:40px;background:transparent;cursor:pointer;touch-action:pan-y}
.cf-range::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:var(--border-2)}
.cf-range::-moz-range-track{height:6px;border-radius:6px;background:var(--border-2)}
.cf-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:var(--brand);
  border:3px solid var(--surface);box-shadow:var(--shadow-sm);cursor:grab;margin-top:-11px}
.cf-range::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}
.cf-range::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--brand);border:3px solid var(--surface);cursor:grab}
.cf-range:focus-visible{outline:none}
.cf-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--brand-glow)}
.cf-num{margin-top:8px;width:100%;padding:10px 12px;border:1px solid var(--border-2);border-radius:9px;font-size:16px;
  font-variant-numeric:tabular-nums;background:var(--bg);color:var(--ink)}
.cf-num:focus{border-color:var(--brand);outline:none}
.calc-total-in{margin-top:18px;font-size:.92rem;color:var(--ink-2);padding-top:16px;border-top:1px solid var(--border)}
.calc-total-in strong{color:var(--ink)}
.calc-headline{margin:20px 0 6px;font-size:1.05rem;font-weight:600;color:var(--ink-2)}
.calc-headline b{color:var(--brand-600);font-weight:800}
:root[data-theme="dark"] .calc-headline b{color:var(--brand)}
.calc-headline .save-amt{color:var(--brand-700);background:var(--brand-050);padding:1px 8px;border-radius:6px}
:root[data-theme="dark"] .calc-headline .save-amt{color:var(--brand)}
.calc-results{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.cr{border:1px solid var(--border);border-radius:var(--r);padding:15px 16px;background:var(--surface)}
.cr.best{border-color:var(--brand);border-width:1.5px;background:var(--brand-050)}
.cr-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cr-rank{font-weight:800;color:var(--ink-3);min-width:22px}
.cr-name{font-weight:700;display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}
.cr-cost{font-weight:800;font-size:1.1rem;margin-left:auto}
.cr-bar{height:7px;border-radius:5px;background:var(--band);margin:11px 0 9px;overflow:hidden}
.cr-bar i{display:block;height:100%;border-radius:5px;transition:width .5s var(--ease)}
.cr-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.86rem;color:var(--ink-2);flex-wrap:wrap}
.cr-net b{color:var(--brand-600);font-weight:800}
:root[data-theme="dark"] .cr-net b{color:var(--brand)}
.cr-diff{color:var(--ink-3)}
.cr .btn.cta{width:100%;min-height:48px;margin-top:11px}
.cr-badge{font-size:.73rem;font-weight:800;padding:2px 9px;border-radius:6px;background:var(--brand);color:#fff;text-transform:uppercase;letter-spacing:.02em}
.calc-dot{display:inline-block;width:11px;height:11px;border-radius:50%;flex:0 0 auto}
.calc-ref,.calc-note{font-size:.8rem;color:var(--ink-3);margin:14px 0 0}

/* ---------- sale simulator (maquininha mockup) ---------- */
.sim{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-md)}
.sim-head h2{margin-bottom:.2em}
.sim-lead{color:var(--ink-2);margin-bottom:18px}
.sim-stage{display:flex;flex-direction:column;align-items:center;gap:22px}
/* smart terminal: mostly-touchscreen device, no toy keypad */
.sim-machine{flex:0 0 auto}
.sim-device{position:relative;width:188px;padding:12px 12px 14px;border-radius:30px;
  background:linear-gradient(155deg,#414b5b 0%,#262e39 52%,#191f28 100%);border:1px solid #10151c;
  box-shadow:0 22px 44px -14px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.16),inset 0 -3px 8px rgba(0,0,0,.45)}
.sim-cam{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:#0a0d11;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.sim-screen{position:relative;margin-top:9px;border-radius:18px;overflow:hidden;background:#f5f8f9;min-height:238px;display:flex;flex-direction:column;box-shadow:inset 0 0 0 1px rgba(0,0,0,.22)}
.sim-screen::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.4),transparent 42%);pointer-events:none}
.sim-appbar{display:flex;align-items:center;justify-content:space-between;padding:7px 13px;background:var(--brand);color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.sim-appsig{width:16px;height:9px;border-radius:2px;background:rgba(255,255,255,.55)}
.sim-scr-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 14px}
.sim-scr-tipo{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#0b6539;background:#e6f5ec;padding:4px 11px;border-radius:20px}
.sim-scr-val{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#12261c}
.sim-wave{color:var(--brand);line-height:0;margin-top:2px}
.sim-scr-hint{font-size:.58rem;color:#8a968f;text-align:center;max-width:22ch}
.sim-homebar{align-self:center;width:56px;height:4px;border-radius:3px;background:rgba(20,30,25,.2);margin-bottom:9px}
.sim-controls{width:100%;max-width:440px}
.sim-clabel{font-weight:700;font-size:.92rem;display:block;margin-bottom:8px}
.sim-val-row{display:flex;align-items:center;gap:8px;border:1px solid var(--border-2);border-radius:11px;padding:6px 14px;background:var(--bg)}
.sim-cifrao{color:var(--ink-3);font-weight:700}
.sim-val-in{border:0;background:none;font-size:1.5rem;font-weight:800;width:100%;color:var(--ink);font-variant-numeric:tabular-nums;outline:none;padding:6px 0}
#sim-range{margin:14px 0 2px}
.sim-tipos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.sim-tipos button{min-height:46px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);border-radius:10px;font-weight:700;font-size:.9rem;cursor:pointer;transition:.15s var(--ease)}
.sim-tipos button:hover{border-color:var(--ink-3)}
.sim-tipos button.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.sim-prazo{margin-top:16px}
.sim-prazo-lbl{display:block;font-size:.85rem;color:var(--ink-2);font-weight:600;margin-bottom:7px}
.sim-prazo-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sim-prazo-btns button{min-height:46px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);border-radius:10px;font-weight:700;font-size:.88rem;cursor:pointer;transition:.15s var(--ease)}
.sim-prazo-btns button:hover{border-color:var(--ink-3)}
.sim-prazo-btns button.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.sim-results{margin-top:20px;display:flex;flex-direction:column;gap:10px}
.sim-headline{font-size:1.02rem;color:var(--ink-2);font-weight:600;margin:0 0 4px}
.sim-headline b{color:var(--brand-600);font-weight:800}
:root[data-theme="dark"] .sim-headline b{color:var(--brand)}
.sim-headline .save-amt{background:var(--brand-050);color:var(--brand-700);padding:1px 8px;border-radius:6px}
:root[data-theme="dark"] .sim-headline .save-amt{color:var(--brand)}
.svr{border:1px solid var(--border);border-radius:14px;padding:14px 16px;background:var(--surface)}
.svr.best{border-color:var(--brand);border-width:1.5px;background:var(--brand-050)}
.svr-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.svr-name{font-weight:700;display:flex;align-items:center;gap:9px;flex-wrap:wrap;flex:1;min-width:0}
.svr-net{font-weight:800;font-size:1.18rem;margin-left:auto;font-variant-numeric:tabular-nums;color:var(--brand-700)}
:root[data-theme="dark"] .svr-net{color:var(--brand)}
.svr-meta{display:flex;justify-content:space-between;gap:10px;font-size:.82rem;margin-top:4px}
.svr-lbl{color:var(--ink-2);font-weight:600}
.svr .btn.cta{width:100%;min-height:48px;margin-top:11px}
.sim-ref{font-size:.8rem;color:var(--ink-3);margin:14px 0 0}
@media (min-width:640px){
  .sim{padding:clamp(24px,3vw,34px)}
  .sim-stage{flex-direction:row;align-items:flex-start;justify-content:center;gap:36px}
  .sim-device{width:208px}
  .sim-controls{flex:1;max-width:none}
  .sim-tipos{grid-template-columns:repeat(6,1fr)}
}

/* ---------- operator cards (mobile: 1 col) ---------- */
.op-cards{display:grid;grid-template-columns:1fr;gap:16px}
.op-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;background:var(--surface);box-shadow:var(--shadow-sm)}
.op-card-head{display:flex;align-items:center;gap:13px;margin-bottom:12px}
.op-logo-lg{padding:7px 12px;border-radius:11px}
.op-logo-lg img{height:26px}
.op-logo-xl{padding:9px 14px;border-radius:13px}
.op-logo-xl img{height:32px}
.op-card h3{margin:0}
.op-destaque{font-size:.92rem;color:var(--ink-2);margin-bottom:14px}
.op-proscons{margin-bottom:14px;font-size:.9rem}
.op-proscons ul{padding:0;margin:0;display:grid;gap:7px;list-style:none}
.op-proscons li{display:flex;align-items:flex-start;gap:9px;color:var(--ink-2)}
.op-proscons .ic{flex:0 0 auto;margin-top:2px}
.op-proscons .pro .ic{color:var(--brand)}
.op-proscons .con .ic{color:var(--danger)}
.op-ideal{font-size:.86rem;color:var(--ink-2);background:var(--band);border-radius:10px;padding:11px 13px;margin:0 0 16px}
.op-badges{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.op-badge{font-size:.74rem;font-weight:600;color:var(--brand-700);background:var(--brand-050);border:1px solid var(--border);padding:4px 10px;border-radius:20px}
:root[data-theme="dark"] .op-badge{color:var(--brand)}
.op-prazo-line{font-size:.86rem;color:var(--ink-2);margin:0 0 10px}
.op-prazo-line strong{color:var(--ink)}
.op-card .btn{margin-top:auto}

/* operator detail (mobile: stacked) */
.op-detail{display:flex;flex-direction:column;gap:18px;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;margin-bottom:18px;background:var(--surface);box-shadow:var(--shadow-sm)}
.op-detail-side{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.op-detail-device{filter:drop-shadow(0 14px 22px rgba(20,23,31,.18))}
.op-detail h3{font-size:1.3rem;margin-bottom:2px}
.op-detail h3 small{display:block;font-weight:500;color:var(--ink-3);font-size:.62em;margin-top:3px}
.op-taxas{border-collapse:collapse;margin:14px 0;width:100%}
.op-taxas th{text-align:left;padding:9px 16px 9px 0;color:var(--ink-2);font-weight:500;font-size:.92rem;border-bottom:1px solid var(--border)}
.op-taxas td{text-align:right;font-weight:800;border-bottom:1px solid var(--border);padding:9px 0}
.op-detail .cols{display:grid;grid-template-columns:1fr;gap:16px;font-size:.9rem;margin:16px 0}
.op-detail .cols h4{margin:0 0 8px;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}
.op-detail .cols ul{padding:0;margin:0;display:grid;gap:7px;list-style:none}
.op-detail .cols li{display:flex;gap:8px;color:var(--ink-2)}
.op-detail .cols .ic{flex:0 0 auto;margin-top:3px}
.op-detail .pro .ic{color:var(--brand)}.op-detail .con .ic{color:var(--danger)}

/* editorial band */
.editorial{display:grid;grid-template-columns:1fr;gap:18px}
.ed-item{display:flex;gap:13px;align-items:flex-start}
.ed-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--brand-050);color:var(--brand-600);flex:0 0 auto}
:root[data-theme="dark"] .ed-ic{color:var(--brand)}
.ed-item h3{margin:0 0 3px;font-size:1rem}
.ed-item p{margin:0;font-size:.9rem;color:var(--ink-2)}

/* link grids (mobile: fluid, 1 col of comfy links) */
.link-grid h2{margin-bottom:.7em}
.link-grid ul.lg{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:10px}
.link-grid .lg a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 15px;border:1px solid var(--border);
  border-radius:11px;background:var(--surface);font-size:.95rem;font-weight:600;color:var(--ink);min-height:48px;box-shadow:var(--shadow-xs)}
.link-grid .lg a:hover{border-color:var(--brand);color:var(--brand-600);text-decoration:none}
:root[data-theme="dark"] .link-grid .lg a:hover{color:var(--brand)}
.lg-sub{font-size:.78rem;color:var(--ink-3);font-weight:500}
.city-index{columns:1;list-style:none;padding:0;font-size:.95rem;margin-top:14px;content-visibility:auto;contain-intrinsic-size:auto 1400px}
.city-index li{break-inside:avoid}
.city-index a{display:block;padding:11px 4px;min-height:44px}
.all-cities summary{cursor:pointer;font-weight:700;padding:13px 16px;min-height:48px;color:var(--brand-600);background:var(--band);border-radius:10px;display:inline-block}
:root[data-theme="dark"] .all-cities summary{color:var(--brand)}

/* faq */
.faq{max-width:820px}
.faq-item{border:1px solid var(--border);border-radius:12px;margin-bottom:10px;background:var(--surface)}
.faq-item[open]{box-shadow:var(--shadow-xs)}
.faq-item summary{cursor:pointer;font-weight:700;padding:16px 18px;min-height:52px;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"";width:11px;height:11px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);
  transform:rotate(45deg);transition:transform .2s;flex:0 0 auto;margin-top:-4px}
.faq-item[open] summary::after{transform:rotate(-135deg);margin-top:2px}
.faq-a{padding:0 18px 16px}
.faq-a p{margin:0;color:var(--ink-2)}

/* misc */
.page-head{padding:26px 0 6px}
.lead{font-size:1.05rem;color:var(--ink-2);max-width:72ch}
.byline{display:inline-flex;align-items:center;gap:10px;font-size:.85rem;color:var(--ink-2);margin:6px 0 0}
.byline-av{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;font-size:.8rem;flex:0 0 auto}
.byline strong{color:var(--ink)}
.when-grid{display:grid;grid-template-columns:1fr;gap:16px}
.when-card{border:1px solid var(--border);border-top:4px solid var(--brand);border-radius:var(--r-lg);padding:20px;background:var(--surface);box-shadow:var(--shadow-sm)}
.when-card h3{margin:0 0 12px}
.when-card ul{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}
.when-card li{display:flex;gap:9px;color:var(--ink-2);font-size:.92rem}
.when-card li::before{content:"✓";color:var(--brand);font-weight:800;flex:0 0 auto}
@media (min-width:760px){.when-grid{grid-template-columns:1fr 1fr}}
.updated{color:var(--ink-3);font-size:.85rem;display:inline-flex;align-items:center;gap:7px}
.updated::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand)}
.breadcrumb{padding-top:16px}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0;font-size:.84rem;color:var(--ink-3)}
.breadcrumb a{color:var(--ink-2);display:inline-block;padding:4px 2px}
.breadcrumb li+li::before{content:"›";margin-right:7px;color:var(--ink-3)}
.context p,.prose p{max-width:75ch;color:var(--ink-2)}
.back-link a{font-weight:700;display:inline-flex;align-items:center;gap:6px;padding:8px 0}
.prose{max-width:74ch}.prose h2{margin-top:1.5em}.prose ul,.prose ol{padding-left:20px;color:var(--ink-2)}
.prose h3{margin-top:1.3em}.prose li{margin-bottom:6px}.prose a{font-weight:600}
.prose blockquote{margin:1.2em 0;padding:12px 18px;border-left:4px solid var(--brand);background:var(--band);border-radius:0 10px 10px 0;color:var(--ink-2)}
.prose blockquote p{margin:0}
.prose code{background:var(--band);padding:2px 6px;border-radius:6px;font-size:.9em}
/* blog */
.post-head{max-width:74ch}
.post-cat{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-600);background:var(--brand-050);padding:4px 11px;border-radius:20px;margin-bottom:12px}
:root[data-theme="dark"] .post-cat{color:var(--brand)}
.post-body{font-size:1.05rem;line-height:1.75}
.post-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--band);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 24px}
.post-cta .btn{flex:0 0 auto}
.post-cards{display:grid;grid-template-columns:1fr;gap:16px}
.post-card{border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 22px;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s}
.post-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.post-card h2{font-size:1.2rem;margin:6px 0 8px}
.post-card h2 a{color:var(--ink)}
.post-card p{color:var(--ink-2);font-size:.95rem;margin:0 0 10px}
.post-more{font-weight:700;font-size:.9rem}
@media (min-width:760px){.post-cards{grid-template-columns:1fr 1fr}}
.dot{display:inline-block;width:11px;height:11px;border-radius:50%;flex:0 0 auto}
/* local-data strip (real IBGE numbers) */
.stat-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:2px 0 6px}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-xs)}
.stat-v{display:block;font-weight:800;font-size:1.02rem;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.stat-l{display:block;font-size:.76rem;color:var(--ink-3);margin-top:3px}

/* sticky mobile CTA (base = visible; hidden on ≥640) */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:45;display:block;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -6px 20px -10px rgba(20,23,31,.22)}
.mobile-cta .btn{width:100%;min-height:50px}

/* footer (mobile: 1 col) */
.site-footer{border-top:1px solid var(--border);background:var(--band);margin-top:48px;padding:36px 0 24px;font-size:.92rem}
.footer-cols{display:grid;grid-template-columns:1fr;gap:26px;margin-bottom:24px}
.footer-cols h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin:0 0 12px}
.footer-cols ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.footer-cols a{color:var(--ink-2);font-weight:500;display:inline-block;padding:9px 0;min-height:40px}
.footer-about .brand{margin-bottom:12px}
.footer-about p{color:var(--ink-3);font-size:.9rem;max-width:40ch}
.footer-bottom{border-top:1px solid var(--border);padding-top:18px;display:flex;flex-direction:column;gap:8px}
.disclosure{color:var(--ink-3);font-size:.82rem;max-width:95ch;margin:0}
.copyright{color:var(--ink-3);margin:0}

/* ===================== ≥640px: tablet — inline nav, multi-column, no sticky CTA ===================== */
@media (min-width:640px){
  .wrap{padding:0 20px}
  body{padding-bottom:0}
  .mobile-cta{display:none}
  .section{padding:clamp(38px,5vw,58px) 0}
  /* header: blur + inline nav */
  .site-header{background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px)}
  :root[data-theme="dark"] .site-header{background:rgba(15,19,26,.82)}
  .header-inner{gap:16px;height:64px}
  .nav-toggle{display:none}
  .site-nav{position:static;flex-direction:row;align-items:center;gap:4px;background:none;border:0;padding:0;box-shadow:none;
    transform:none;opacity:1;pointer-events:auto;margin-left:auto}
  .site-nav a{color:var(--ink-2);font-size:.93rem;padding:8px 12px;min-height:0}
  .site-nav a:hover{color:var(--ink)}
  .site-nav a[href="/calculadora/"]:not(.nav-cta){display:inline-flex}
  .nav-cta{margin-top:0}
  .header-actions{gap:8px}
  .theme-toggle{width:40px;height:40px}
  .hero-cta{flex-direction:row;flex-wrap:wrap}
  .hero-cta .btn{width:auto}
  .btn{min-height:44px}
  .btn-lg{min-height:48px}
  .calc-grid{grid-template-columns:repeat(2,1fr);gap:20px 26px}
  .calc{padding:clamp(24px,3vw,34px)}
  .op-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
  .op-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);transition:transform .2s var(--ease),box-shadow .2s}
  .op-detail .cols{grid-template-columns:1fr 1fr;gap:20px}
  .editorial{grid-template-columns:repeat(2,1fr);gap:20px}
  .link-grid ul.lg{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
  .link-grid .lg a{min-height:auto;transition:.16s var(--ease)}
  .link-grid .lg a:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
  .city-index{column-width:180px;column-gap:28px}
  .city-index a{padding:8px 4px;min-height:auto}
  .footer-cols{grid-template-columns:1fr 1fr;gap:30px}
  .stat-strip{grid-template-columns:repeat(4,1fr)}
}

/* ===================== ≥760px: comparison becomes a real TABLE ===================== */
@media (min-width:760px){
  .cmp-wrap{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-md);overflow:hidden}
  .cmp-scroll{overflow-x:auto}
  table.cmp{display:table;border-collapse:collapse;min-width:720px}
  .cmp thead{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:table-header-group}
  .cmp tbody{display:table-row-group}
  .cmp tr{display:table-row}
  .cmp thead th{background:var(--band);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);font-weight:800;white-space:nowrap;text-align:left;padding:15px 14px}
  .cmp tbody tr{display:table-row;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none;margin:0;padding:0;transition:background .15s}
  .cmp tbody tr:last-child{border-bottom:0}
  .cmp tbody tr:hover{background:var(--band)}
  .cmp .row-best{background:var(--brand-050);border:0}
  .cmp .row-best:hover{background:var(--brand-050)}
  .cmp td{display:table-cell;text-align:left;padding:15px 14px;border:0;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle;gap:0}
  .cmp tbody tr:last-child td{border-bottom:0}
  .cmp .lbl{display:none}
  .cmp .c-rank{display:table-cell;font-weight:800;color:var(--ink-3);width:36px}
  .cmp .c-op{min-width:200px;padding:15px 14px;border-bottom:1px solid var(--border);text-align:left}
  .cmp .c-num{text-align:right;font-weight:600}
  .cmp .c-total{min-width:150px}
  .cmp .c-total-wrap{display:block}
  .cmp .c-total-val{display:block;font-size:1.08rem}
  .cmp .c-total-sub{font-size:.75rem;color:var(--ink-3);font-weight:500}
  .cmp .c-cta{padding:15px 14px}
  .cmp .c-cta .btn{width:100%;min-height:44px;padding:10px 16px;font-size:.86rem}
  .cmp-foot{padding:14px 18px;background:var(--band);border-top:1px solid var(--border);color:var(--ink-3);margin:0}
}

/* ===================== ≥920px: wide — hero art, 2-col detail, 4-col footer ===================== */
@media (min-width:920px){
  .hero{padding:clamp(38px,5vw,60px) 0 clamp(16px,2vw,28px)}
  .hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:center}
  .hero-media{display:flex;justify-content:center;align-items:center}
  .device-cluster{height:300px}
  .dc-0{transform:translateX(-64px) rotate(-11deg) scale(.86)}
  .dc-1{transform:translateY(-4px) scale(1)}
  .dc-2{transform:translateX(64px) rotate(11deg) scale(.86)}
  .op-detail{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;padding:26px}
  .op-detail-side{flex-direction:column;min-width:150px}
  .editorial{grid-template-columns:repeat(4,1fr)}
  .footer-cols{grid-template-columns:1.4fr 1fr 1fr 1fr}
}

/* ===================== reduced motion ===================== */
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .btn,.op-card,.link-grid .lg a,.cr-bar i,.dc-item,.site-header{transition:none!important}
}
