/* Polenta.TV · v18.2 — acabamento visual sobre a identidade da v18.1. */
:root{
  --radius-card:20px;
  --radius-control:12px;
  --quiet-shadow:0 2px 4px rgba(22,19,26,.025),0 10px 26px -18px rgba(22,19,26,.18);
}
html{scroll-padding-top:24px}
body{padding-inline:clamp(16px,3vw,32px)}
.wrap{max-width:1160px}
button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font-family:inherit}
.skip-link{position:fixed;left:16px;top:12px;z-index:200;transform:translateY(-160%);padding:12px 18px;border-radius:12px;background:var(--lime);color:var(--lime-ink);font:600 14px/1.4 var(--body);text-decoration:none}
.skip-link:focus{transform:none}
h1#conteudo:focus{outline:none}
.eyebrow{font-size:11px;line-height:1.5;letter-spacing:.11em;gap:9px}
h2{line-height:1.09;letter-spacing:-.03em}

/* A marca e o cursor continuam sendo a assinatura do cabeçalho. */
.top{position:relative;padding-block:22px;border-bottom:1px solid var(--line);gap:20px;z-index:40}
.logo{gap:11px;flex-shrink:0}
.top .logo-w{font-size:24px;letter-spacing:-.04em}
.top .logo-w small{font-size:11.5px;margin-top:6px}
.top nav{gap:20px;font-size:14px;min-width:0}
.top nav a:not(.btn){min-height:40px;display:inline-flex;align-items:center}
.top nav a[aria-current="true"]::after{bottom:1px}
.top .btn{min-height:42px;padding:11px 17px;white-space:nowrap}
.top nav a.pn-atalho{font-size:11px;gap:5px;padding:7px 9px;min-height:34px}
.nav-toggle{display:none;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:600 13px/1 var(--body);cursor:pointer}
.nav-toggle svg{width:18px;height:18px;flex:none}
.nav-toggle[aria-expanded="true"]{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}

/* Títulos mais equilibrados e um marcador que também funciona no tema escuro. */
.hero{padding-block:clamp(42px,5.5vw,66px) clamp(56px,7.2vw,84px)}
.hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.88fr);gap:clamp(32px,4vw,52px)}
.hero h1{font-size:clamp(46px,6.5vw,80px);line-height:1.09;letter-spacing:-.045em;max-width:13.5ch;margin-top:19px}
.hl{white-space:normal;background:var(--lime);color:var(--lime-ink);padding:.005em .085em .045em;border-radius:.055em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hl::before{content:none}
.lead{font-size:clamp(17px,1.6vw,19px);line-height:1.7;max-width:49ch;margin-top:23px}
.cta{margin-top:28px;gap:10px}
.btn{min-height:48px;font-size:15px;line-height:1.2;padding:14px 21px;border-width:1.5px}
.btn:hover{transform:translateY(-2px)}
.btn-pink{background:#E0004E}
.btn-pink:hover{background:#C90046}
.btn-ghost{border-color:var(--line);background:var(--surface)}
.btn-ghost:hover{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.chips{gap:7px;margin-top:24px}
.chips li{font-size:11px;line-height:1.4;padding:7px 10px;gap:7px}
.hero-grid>div:first-child>p:not(.lead){font-size:14px;line-height:1.6}

/* Terminal: contraste, alinhamento e divisórias discretas. */
.panel{border:1px solid var(--panel-line);padding:25px;border-radius:var(--radius-card);box-shadow:0 4px 10px -8px rgba(22,19,26,.3),0 16px 36px -24px rgba(22,19,26,.28)}
.panel::after{background:radial-gradient(circle,rgba(255,0,84,.16),transparent 70%)}
.panel.fx::after{opacity:.65}
.panel-head{font-size:11px;line-height:1.4;letter-spacing:.075em;padding-bottom:14px}
.panel .checks{gap:0;margin-top:10px}
.panel .checks>li{padding-block:7px;font-size:12.5px;align-items:baseline}
.panel .checks>li+li{border-top:1px solid rgba(244,241,246,.055)}
.panel .checks>li.speed{align-items:center}
.panel .checks .ok{line-height:1.5;font-size:12px;font-variant-numeric:tabular-nums;max-width:65%}
.panel .sp-out{gap:8px}
.sp-btn{min-height:34px;font-size:10.5px;padding:8px 11px}
.meter{margin-top:14px;padding-top:14px}
.meter-row{font-size:10.5px;line-height:1.4}
.bar{height:5px}
.scan-note{font-size:11px;line-height:1.65;margin-top:13px}
.panel .panel-foot{margin-top:17px;width:100%;padding:12px 13px;min-height:46px;border:1px solid var(--panel-line);border-radius:var(--radius-control);background:rgba(198,255,26,.055);font-size:12px;text-decoration:none;gap:10px}
.panel .panel-foot:hover{background:rgba(198,255,26,.10);border-color:rgba(198,255,26,.35)}
.panel-foot::before{flex-shrink:0}

/* Mesma faixa, em ritmo mais calmo. */
.ticker{margin-inline:calc(-1 * clamp(16px,3vw,32px));border-block-width:1px}
.ticker ul{padding-block:16px}
.ticker li{font-size:clamp(18px,2.2vw,24px)}
.ticker li::after{width:10px;height:10px;margin-inline:27px}
.ticker-track{animation-duration:52s}

/* Componentes mantêm suas formas, com espaçamentos e pesos mais consistentes. */
.svc{gap:18px;margin-top:32px}
.svc-head p{font-size:16px;line-height:1.65}
.card{border-radius:var(--radius-card);padding:28px;gap:12px;box-shadow:var(--quiet-shadow)}
.card:hover{transform:translateY(-3px);box-shadow:0 5px 22px -14px rgba(22,19,26,.22)}
.card-top{margin-bottom:4px}
.icon{width:46px;height:46px;border-radius:13px}
.icon svg{width:24px;height:24px}
.code{font-size:10.5px;letter-spacing:.09em}
.card h3{font-size:25px;line-height:1.14;margin-top:4px}
.card p{font-size:15.5px;line-height:1.7;max-width:74ch}
.tags{gap:6px;padding-top:5px}
.tags li{font-size:11px;line-height:1.35;padding:6px 9px}
.card.wide{border-left:3px solid var(--lime)}
.card-foot{font-size:14px;padding-top:18px;line-height:1.4}
.card .valores summary{font-size:14px;min-height:44px;padding:9px 0;gap:9px}
.card .valores li{font-size:14px;line-height:1.5;padding-block:12px}
.card .valores li b{font-size:14px}
.teaser{border-radius:var(--radius-card);box-shadow:var(--quiet-shadow)}
.steps{gap:24px;margin-top:35px}
.steps li::before{width:52px;height:52px;font-size:22px;margin-bottom:5px}
.steps li:not(:last-child)::after{top:26px;left:52px;right:-24px}
.steps b{font-size:20px;line-height:1.2}
.steps span{font-size:15px;line-height:1.65}
.facts{gap:16px;margin-top:32px}
.fact{padding:22px;gap:12px;border-radius:var(--radius-card);box-shadow:var(--quiet-shadow)}
.fact dt{font-size:10.5px;line-height:1.4;letter-spacing:.10em}
.fact dd{font-size:16px;line-height:1.45}
.fact dd small{font-size:14px;line-height:1.6;margin-top:7px}
.about-text{font-size:17px;line-height:1.75;gap:17px;padding-top:30px}
.stats{gap:24px}
.stat span{font-size:15px;line-height:1.6}
.creds{gap:16px}
.box{border-radius:var(--radius-card);box-shadow:var(--quiet-shadow)}
.box h3{font-size:19px;margin-bottom:18px}
.certs span{font-size:14px;line-height:1.45}
.certs b{font-size:12px}
.sectors{gap:6px}
.sectors li{font-size:12px;line-height:1.3;padding:7px 10px}

/* Páginas de serviços e tabela com a mesma hierarquia da página inicial. */
.wrap .c-hero h1{font-size:clamp(40px,6vw,70px);line-height:1.12;letter-spacing:-.04em}
.wrap .c-hero{padding-top:clamp(36px,5.5vw,58px)}
.c-hero .lead{max-width:64ch}
.back{font-size:13px;min-height:36px}
.jump{gap:7px}
.jump a,.mais a{font-size:13px;line-height:1.3;min-height:40px;display:inline-flex;align-items:center;padding:9px 13px}
.pr{padding-block:20px}
.pr-n{line-height:1.45}
.pr-d{line-height:1.6;margin-top:4px}
.pr-v{font-variant-numeric:tabular-nums}
.pr-go{min-height:44px;display:inline-flex;align-items:center;justify-content:flex-end}
.sv-inc li{line-height:1.6}
.sv-faq summary{min-height:44px;padding-block:5px}
.plan{border-radius:var(--radius-card);box-shadow:var(--quiet-shadow)}
.plan p,.plan li{line-height:1.6}
.plan .btn{min-height:46px}
.notes{line-height:1.7}

/* Fechamento e canais de contato. */
.contact{padding:clamp(28px,4.5vw,52px);gap:clamp(26px,4vw,48px);border:1px solid var(--panel-line)}
.contact::before{opacity:.55}
.contact-intro p{font-size:15px;line-height:1.75}
.contact .eyebrow{line-height:1.4}
.channels{gap:10px}
.ch{border-radius:14px;padding:16px;gap:14px}
.ch .k{font-size:10px;line-height:1.3;letter-spacing:.1em}
.ch .v{font-size:16px;line-height:1.4}
.copy{min-height:38px;padding:10px 12px;font-size:10.5px}
footer{border-top:1px solid var(--line);margin-top:26px;padding-block:26px 36px;gap:18px;font-size:11.5px;line-height:1.7}
.mais{gap:6px}
.zap{background:#E0004E;box-shadow:0 5px 18px -10px rgba(255,0,84,.45),0 1px 4px rgba(22,19,26,.12)}
.ad{border:1px solid var(--line)}
.ad-q legend{line-height:1.5}
.ad-opts label>span{min-height:44px;display:inline-flex;align-items:center;line-height:1.4}

@media (min-width:901px){
  .wrap>section:not(.hero):not(.c-hero):not(.grp){padding-block:clamp(64px,7.5vw,96px)}
}
@media (max-width:1024px){
  .top{padding-block:17px;flex-wrap:wrap;gap:14px}
  .top nav{flex-wrap:wrap;gap:12px}
  .top nav a:not(.btn){display:inline-flex;min-height:40px}
  .top.has-menu{flex-wrap:nowrap}
  .top.has-menu .nav-toggle{display:inline-flex}
  .top.has-menu nav{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);z-index:60;flex-direction:column;align-items:stretch;gap:4px}
  .top.has-menu.is-menu-open nav{display:flex}
  .top.has-menu nav a{display:flex!important;align-items:center;justify-content:flex-start;min-height:44px;padding:11px 13px;font-size:14px;border-radius:10px}
  .top.has-menu nav a:not(.btn):hover{background:var(--bg)}
  .top.has-menu nav a[aria-current="true"]::after{display:none}
  .top.has-menu nav a[aria-current="true"]{background:var(--bg)}
  .top.has-menu nav .btn{justify-content:center;margin-top:6px}
  .top.has-menu nav a.pn-atalho{font-size:12px;border:1px solid var(--line);gap:8px;margin-top:5px}
  .top.has-menu nav a.pn-atalho span{position:static;width:auto;height:auto;overflow:visible;clip:auto}
}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:35px}
  .hero h1{max-width:15ch;font-size:clamp(46px,8.2vw,72px)}
  .panel{max-width:640px;width:100%;justify-self:start}
  .about-text{padding-top:0}
  .svc-head{gap:18px}
  .contact{grid-template-columns:1fr}
}
@media (max-width:640px){
  html{scroll-padding-top:16px}
  body{font-size:16px}
  .top{padding-block:15px}
  .top .logo-w{font-size:23px}
  .top .logo-w small{font-size:10.5px}
  .logo-mark{width:34px;height:34px}
  .hero{padding-block:34px 46px}
  .hero h1{font-size:clamp(39px,11.4vw,58px);line-height:1.13;margin-top:15px;max-width:none;letter-spacing:-.045em}
  .hero .eyebrow{font-size:10px;letter-spacing:.08em;gap:7px}
  .lead{font-size:17px;line-height:1.7;margin-top:22px}
  .cta{gap:9px;margin-top:24px}
  .cta .btn{font-size:14px;min-height:46px;padding:13px 17px}
  .chips{margin-top:21px;gap:6px}
  .chips li{font-size:10px;padding:7px 9px}
  .panel{padding:20px}
  .panel .checks>li{font-size:12px;padding-block:8px}
  .panel .checks .ok{font-size:11.5px}
  .panel .sp-out{gap:5px}
  .sp-btn{min-height:44px}
  .scan-note{font-size:11px;line-height:1.7}
  h2{font-size:clamp(30px,7.5vw,40px);line-height:1.13}
  .svc{margin-top:27px;gap:14px}
  .card{padding:23px;gap:12px}
  .card h3{font-size:24px}
  .card p{font-size:15px;line-height:1.7}
  .tags li{font-size:10.5px}
  .card-foot{font-size:13px;gap:10px}
  .steps{gap:28px 18px;margin-top:28px}
  .steps b{font-size:18px}
  .steps span{font-size:14px;line-height:1.65}
  .facts{margin-top:28px;gap:12px}
  .fact{padding:22px}
  .about-text{font-size:16px}
  .box{padding:22px}
  .wrap .c-hero h1{font-size:clamp(36px,9.4vw,52px);line-height:1.17}
  .contact{padding:27px 22px;gap:28px;border-radius:22px}
  .contact-intro p{font-size:14px}
  .ch{padding:14px;gap:10px 12px}
  .ch .v{font-size:15px}
  .copy{min-height:44px;font-size:11px}
  .sv-inc{grid-template-columns:1fr}
  .ad-in{gap:20px}
  .ad-q legend{font-size:15px}
  footer{font-size:10.5px;gap:16px;padding-bottom:26px}
}
@media (max-width:360px){
  .top .logo-w small{font-size:9.5px}
  .hero .eyebrow{letter-spacing:0;font-size:9px}
  .panel{padding:17px}
  .panel-head{font-size:9px;letter-spacing:.03em}
  .panel .checks>li{font-size:11px}
  .panel .checks .ok{font-size:10.5px}
  .cta .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .btn,.card,.price,.teaser,.copy,.nav-toggle{transition:none}
  .btn:hover,.card:hover,.price:hover,.teaser:hover,.copy:hover{transform:none}
}

/* v18.3 — leitura em telas maiores, mantendo o título e a identidade visual. */
.eyebrow{font-size:12px;letter-spacing:.09em}
.top .logo-w small{font-size:13px}
.top nav{font-size:15px}
.top nav a.pn-atalho{font-size:12px}
.chips li{font-family:var(--body);font-size:13px;line-height:1.4}
.panel-head{font-size:12px}
.panel .checks>li{font-family:var(--body);font-size:14px;line-height:1.6}
.panel .checks .ok{font-family:var(--mono);font-size:13.5px}
.sp-btn{font-family:var(--body);font-size:13px;font-weight:600;letter-spacing:0}
.meter-row{font-size:12px}
.scan-note{font-family:var(--body);font-size:12.5px;line-height:1.65}
.panel .panel-foot{font-family:var(--body);font-size:14px}
.code{font-size:12px}
.tags li{font-size:12px}
.fact dt{font-size:12px}
@media(max-width:1150px) and (min-width:1025px){.top nav{font-size:14px}.top nav a.pn-atalho{font-size:11.5px}}
@media(max-width:640px){
 .top .logo-w small{font-size:12px}
 .hero .eyebrow{font-size:11px}
 .chips li{font-size:12px}
 .panel-head{font-size:11.5px}
 .panel .checks>li{font-size:13.5px}
 .panel .checks .ok{font-size:13px}
 .scan-note{font-size:12px}
 .meter-row{font-size:11.5px}
 .tags li{font-size:11.5px}
}
@media(max-width:360px){
 .top .logo-w small{font-size:11px}
 .hero .eyebrow{font-size:10px}
 .panel-head{font-size:10.5px}
 .panel .checks>li,.panel .checks .ok{font-size:12.5px}
}
