:root{
  --bg:#f6faf9;
  --surface:#ffffff;
  --surface-soft:#edf5f3;
  --surface-strong:#0b314f;
  --text:#143552;
  --muted:#5e7890;
  --line:#d5e3e0;
  --accent:#41d4a2;
  --accent-strong:#18b37f;
  --accent-soft:#dff8ef;
  --shadow:0 18px 48px rgba(10,42,67,.08);
  --radius:24px;
  --radius-sm:18px;
  --container:min(1160px,calc(100vw - 40px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select{font:inherit}
.container{width:var(--container);margin:0 auto}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(246,250,249,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(21,53,82,.08);
}
.nav-shell{
  min-height:82px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand,.footer-brand{display:flex;flex-direction:column;gap:3px;min-width:max-content}
.brand-mark{display:inline-flex;align-items:flex-end;font-weight:800;letter-spacing:-.05em;line-height:.9;white-space:nowrap}
.brand-nex{font-size:clamp(34px,2.2vw,40px);color:var(--text)}
.brand-o{font-size:clamp(34px,2.2vw,40px);color:var(--accent)}
.brand small,.footer-brand small{font-size:12px;letter-spacing:.34em;color:var(--text);font-weight:700}
.desktop-nav{display:flex;align-items:center;gap:34px}
.desktop-nav a{color:#5f7891;font-weight:500;transition:color .2s ease,transform .2s ease}
.desktop-nav a:hover{color:var(--text);transform:translateY(-1px)}
.header-cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 24px;border-radius:999px;
  background:var(--surface-strong);color:#fff;font-weight:700;
  box-shadow:0 10px 24px rgba(8,29,47,.12);transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
.header-cta:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(8,29,47,.18);background:#0a2942}

.hero{padding:38px 0 44px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);gap:42px;align-items:center}
.hero-copy h1{margin:14px 0 18px;font-size:clamp(42px,5vw,72px);line-height:.96;letter-spacing:-.06em;max-width:10.5ch}
.hero-copy h1 em{font-style:normal;color:var(--accent-strong)}
.hero-copy p{margin:0;max-width:640px;font-size:clamp(19px,1.6vw,22px);line-height:1.62;color:var(--muted)}
.eyebrow{display:inline-block;font-size:15px;letter-spacing:.24em;font-weight:800;color:var(--accent-strong)}
.eyebrow.tiny{font-size:12px;letter-spacing:.22em}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 22px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:none;
  min-height:58px;padding:0 22px;border-radius:18px;font-weight:800;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:#06253f;box-shadow:0 14px 28px rgba(65,212,162,.24)}
.btn-primary:hover{background:#4addac;box-shadow:0 18px 34px rgba(65,212,162,.3)}
.btn-secondary{background:transparent;color:var(--text);border:1px solid #cfe0db}
.btn-secondary:hover{border-color:#a9c8be;background:#fff}
.hero-proof{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#6b8598;font-weight:700}
.hero-proof i{display:block;width:5px;height:5px;border-radius:50%;background:#a2c8bb}

.hero-panel{
  position:relative;background:linear-gradient(180deg,#ffffff,#f2f8f6);border:1px solid #d8e7e2;border-radius:32px;padding:18px;box-shadow:var(--shadow);overflow:hidden;
}
.hero-panel::before{
  content:"";position:absolute;inset:auto auto -60px -40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(65,212,162,.24),transparent 70%);pointer-events:none;
}
.hero-panel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.hero-panel-top strong{display:block;font-size:17px}
.hero-panel-top small{display:block;margin-top:4px;color:var(--muted);line-height:1.5}
.hero-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:#ecf6f2;color:var(--accent-strong);font-size:13px;font-weight:800;white-space:nowrap}
.hero-art{margin:0;border-radius:24px;overflow:hidden;border:1px solid rgba(15,53,81,.08);background:#dce9e6;box-shadow:0 14px 26px rgba(8,29,47,.10)}
.hero-art img{width:100%;height:auto;object-fit:contain;background:#eef4f1}
.hero-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.insight-chip{background:#fff;border:1px solid #d9e7e3;border-radius:18px;padding:14px 14px 12px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.insight-chip:hover{transform:translateY(-3px);border-color:#b9d9cd;box-shadow:0 12px 22px rgba(8,29,47,.08)}
.insight-chip strong{display:block;font-size:16px}
.insight-chip small{display:block;margin-top:4px;color:var(--muted);line-height:1.4}

.section{padding:72px 0}
.section-project{background:#fff}
.section-adhesion{background:#edf5f3}
.section-join{background:#fff}
.closing{padding:76px 0;background:var(--surface-strong);color:#eff7ff}
.section-heading{margin-bottom:30px;max-width:850px}
.section-heading.compact{margin-bottom:24px}
.section-heading h2{margin:14px 0 12px;font-size:clamp(34px,4vw,58px);line-height:1.04;letter-spacing:-.055em;max-width:11.5ch}
.section-heading p{margin:0;max-width:800px;font-size:clamp(18px,1.5vw,21px);line-height:1.65;color:var(--muted)}
.closing h2{margin:12px 0 14px;font-size:clamp(34px,3.6vw,58px);line-height:1.04;letter-spacing:-.055em;max-width:13ch}
.closing h2 em{font-style:normal;color:var(--accent)}
.closing p{margin:0;max-width:700px;font-size:20px;line-height:1.7;color:#bad0df}

.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.value-card{
  background:var(--surface-soft);border:1px solid var(--line);border-radius:24px;padding:22px 24px 24px;min-height:168px;
}
.value-index{display:inline-flex;margin-bottom:10px;font-size:20px;font-weight:900;color:var(--accent-strong)}
.value-card h3{margin:0 0 8px;font-size:20px;line-height:1.2}
.value-card p{margin:0;color:var(--muted);font-size:18px;line-height:1.58}
.metric-ribbon{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:18px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--surface)}
.metric-card{padding:22px 20px;text-align:center;border-right:1px solid var(--line)}
.metric-card:last-child{border-right:none}
.metric-card b{display:block;font-size:clamp(32px,3vw,54px);line-height:1;letter-spacing:-.05em}
.metric-card span{display:block;margin-top:8px;color:var(--muted);font-size:18px}
.technical-note{margin:14px 0 0;color:#92a6b6;font-size:15px;line-height:1.5}

.adhesion-shell{display:grid;grid-template-columns:390px minmax(0,1fr);gap:18px;align-items:stretch}
.adhesion-stat,.adhesion-territory,.persona-panel,.form-shell,.docs-compact{
  background:var(--surface);border:1px solid var(--line);border-radius:28px;box-shadow:0 8px 24px rgba(8,29,47,.04)
}
.adhesion-stat{background:var(--surface-strong);color:#fff;padding:26px}
.adhesion-stat>span{display:block;color:#c8d8e3;font-size:15px}
.adhesion-stat>strong{display:block;margin-top:18px;font-size:96px;line-height:.92;letter-spacing:-.06em}
.adhesion-substats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16)}
.adhesion-substats b{display:block;font-size:30px;line-height:1}
.adhesion-substats small{display:block;margin-top:7px;color:#bdd0de;font-size:15px;line-height:1.35}
.inline-cta{display:inline-flex;margin-top:24px;color:var(--accent);font-weight:800;font-size:18px}
.adhesion-territory{padding:22px}
.territory-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.territory-header strong{font-size:18px}
.territory-header small{color:#90a5b5;font-size:14px}
.state-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.state-card{background:#f8fcfb;border:1px solid #d8e6e2;border-radius:16px;padding:14px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.state-card:hover{transform:translateY(-3px);border-color:#b7d6cb;box-shadow:0 12px 20px rgba(8,29,47,.06)}
.state-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.state-card strong{font-size:18px;display:block}
.state-card small{display:block;color:var(--muted);line-height:1.4}
.state-card-top b{font-size:22px;line-height:1.1}
.bar-track{height:8px;margin:10px 0 8px;border-radius:999px;background:#dfe9e6;overflow:hidden}
.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#8be8c6);width:0;transition:width .8s ease}
.hidden-compat{display:none}

.join-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px;align-items:start}
.persona-panel{padding:20px;background:linear-gradient(180deg,#f8fcfb,#eef5f3)}
.persona-tabs{display:grid;gap:12px}
.persona-choice{
  width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-align:left;
  border:1px solid #d4e3de;background:#fff;border-radius:20px;padding:18px 18px;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
}
.persona-choice:hover{transform:translateY(-2px);box-shadow:0 10px 18px rgba(8,29,47,.06);border-color:#b8d8cb}
.persona-choice.active{background:var(--accent-soft);border-color:var(--accent)}
.persona-art{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#f2f7f5;color:var(--accent-strong);font-weight:900;font-size:20px}
.persona-choice strong{display:block;font-size:20px;line-height:1.2}
.persona-choice small{display:block;margin-top:4px;color:var(--muted);line-height:1.4}
.persona-message{padding:20px 4px 10px}
.persona-message strong{font-size:18px;display:block}
.persona-message p{margin:10px 0 0;color:var(--muted);font-size:18px;line-height:1.6}
.verification-card{margin-top:4px;padding:18px;border-radius:22px;background:#fff;border:1px solid #d8e7e1}
.verification-card ol{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:14px}
.verification-card li{display:grid;gap:4px;padding-left:18px;position:relative}
.verification-card li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.verification-card strong{font-size:16px}
.verification-card span{color:var(--muted);line-height:1.55}

.form-shell{padding:24px 24px 22px}
.form-head h3{margin:0;font-size:28px;letter-spacing:-.03em}
.form-head p{margin:10px 0 0;color:var(--muted);font-size:18px;line-height:1.6}
.support-form{margin-top:20px;display:grid;gap:16px}
.support-form label{display:block;font-weight:700;font-size:15px;margin-bottom:8px}
.support-form input:not([type="checkbox"]),.support-form select{
  width:100%;min-height:54px;border-radius:16px;border:1px solid #cfded9;background:#fff;padding:0 16px;color:var(--text);outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.support-form input:not([type="checkbox"]):focus,.support-form select:focus{border-color:#75cdae;box-shadow:0 0 0 4px rgba(65,212,162,.12)}
.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,1fr)}
.authority-box{background:#f6fbf9;border:1px solid #d7e5e0;border-radius:18px;padding:16px}
.hint{margin:10px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:500;color:var(--muted);line-height:1.55;margin:0!important}
.check input{margin-top:3px;accent-color:var(--accent-strong)}
.submit{width:100%;margin-top:4px}
#captcha{min-height:22px}
#form-message{min-height:26px;font-weight:700}
#form-message.success{color:#128456}
#form-message.error{color:#c63d4d}

.closing-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px;align-items:start}
.docs-compact{padding:24px;background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.14);box-shadow:none}
.docs-compact strong{display:block;margin-bottom:8px;font-size:18px}
.docs-compact a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-top:1px solid rgba(255,255,255,.12);color:var(--accent);font-weight:800;font-size:18px}
.docs-compact a:first-of-type{margin-top:6px}

.site-footer{padding:22px 0 24px;background:#fff;border-top:1px solid rgba(21,53,82,.08)}
.footer-grid{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.footer-grid p{margin:10px 0 0;color:var(--muted);font-size:16px}
.footer-links{display:grid;gap:12px;justify-items:start;color:var(--muted);font-size:17px}
.footer-links a:hover{color:var(--text)}
.footer-note{margin-top:18px;padding-top:18px;border-top:1px solid rgba(21,53,82,.1);color:#8097a8;font-size:15px;line-height:1.55}

.hover-card{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.hover-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(8,29,47,.08);border-color:#b8d8cb}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.reveal.is-visible{opacity:1;transform:none}

@media (max-width:1099px){
  .hero-grid,.join-grid,.closing-grid,.adhesion-shell{grid-template-columns:1fr}
  .hero-copy h1{max-width:12ch}
  .section-heading h2{max-width:none}
  .hero-panel{max-width:760px}
}

@media (max-width:860px){
  .desktop-nav{display:none}
  .nav-shell{min-height:74px}
  .header-cta{padding:0 18px;min-height:44px;font-size:14px}
  .hero{padding:28px 0 34px}
  .section{padding:58px 0}
  .hero-copy p,.section-heading p,.form-head p,.persona-message p,.closing p{font-size:17px}
  .value-grid,.state-cards,.hero-insights{grid-template-columns:1fr}
  .metric-ribbon{grid-template-columns:1fr}
  .metric-card{border-right:none;border-bottom:1px solid var(--line)}
  .metric-card:last-child{border-bottom:none}
  .form-grid.two{grid-template-columns:1fr}
  .footer-grid{align-items:flex-start;flex-direction:column}
}

@media (max-width:560px){
  .container{width:min(100vw - 28px,100%)}
  .brand-nex,.brand-o{font-size:30px}
  .brand small,.footer-brand small{font-size:11px;letter-spacing:.28em}
  .hero-copy h1{font-size:clamp(34px,12vw,52px);max-width:10ch}
  .section-heading h2,.closing h2{font-size:clamp(32px,11vw,46px)}
  .btn{width:100%}
  .hero-actions{flex-direction:column}
  .hero-proof{gap:8px;font-size:14px}
  .hero-proof i{display:none}
  .hero-panel{padding:14px;border-radius:24px}
  .hero-panel-top{flex-direction:column;align-items:flex-start}
  .adhesion-stat>strong{font-size:74px}
  .adhesion-substats{grid-template-columns:1fr 1fr 1fr;gap:12px}
  .state-cards{grid-template-columns:1fr 1fr}
  .persona-choice strong{font-size:18px}
  .form-shell,.persona-panel,.adhesion-territory,.adhesion-stat,.docs-compact{padding:18px}
}


/* NEXO V5 — interface de mobilização e reconhecimento */
.hero-panel{background:linear-gradient(145deg,#fff,#e7f6f0);box-shadow:0 24px 60px rgba(9,39,60,.13)}
.hero-art{position:relative;overflow:hidden;min-height:255px}
.hero-art:after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid rgba(255,255,255,.35);border-radius:24px;box-shadow:inset 0 -35px 50px rgba(5,33,55,.14)}
.hero-art img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.hero-panel:hover .hero-art img{transform:scale(1.025)}
.entry-ribbon{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:12px;margin-top:28px;padding:18px;border:1px solid var(--line);background:linear-gradient(110deg,#f4fbf8,#fff);border-radius:26px}
.entry-copy{padding:14px}.entry-copy h3{font-size:23px;line-height:1.08;letter-spacing:-.035em;margin:12px 0 0}
.entry-step{background:#fff;border:1px solid #dfeae5;border-radius:20px;padding:18px;transition:transform .2s,box-shadow .2s}
.entry-step:hover{transform:translateY(-4px);box-shadow:0 16px 28px rgba(12,51,60,.08)}
.entry-step>span{display:grid;place-items:center;width:38px;height:38px;margin-bottom:12px;border-radius:50%;background:#dff8ee;color:#0b9f71;font-weight:900}
.entry-step strong{display:block;font-size:16px;line-height:1.3}
.entry-step small{display:block;color:var(--muted);margin-top:7px;line-height:1.5}
.engagement-controls{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:28px 0 18px}
.engagement-controls h3{margin:7px 0 0;font-size:clamp(23px,3vw,34px);letter-spacing:-.04em;max-width:650px}
.state-filter{display:flex;flex-direction:column;gap:7px;min-width:210px}
.state-filter label{font-size:12px;font-weight:800;color:var(--muted)}
.state-filter select{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 15px;min-height:48px;color:var(--text)}
.featured-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.live-rank,.live-municipalities{background:#fff;border:1px solid var(--line);border-radius:25px;padding:24px;min-width:0;box-shadow:0 8px 24px rgba(8,29,47,.04)}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.panel-head h3{margin:0;font-size:19px}.panel-head span{font-size:12px;color:var(--muted)}
.ranking-items{display:grid;gap:12px}.ranking-item{display:grid;grid-template-columns:34px 34px minmax(0,1fr) auto;gap:11px;align-items:center;padding:8px 3px}
.ranking-index{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e4faf2;color:#058a60;font-size:13px;font-weight:900}
.ranking-state{font-weight:800}.ranking-name{font-size:13px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.ranking-number{font-weight:800}.ranking-bar{grid-column:3/-1;height:6px;margin-top:-5px;background:#e6eeec;border-radius:99px;overflow:hidden}.ranking-bar span{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width 800ms}
.municipality-items{display:grid;gap:10px;min-height:140px;align-content:start}.municipality-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;border:1px solid #dcebe5;border-radius:16px;background:#f7fbfa}.municipality-item strong{display:block}.municipality-item small{display:block;color:var(--muted);margin-top:3px}.municipality-item b{color:#089267;font-size:22px}
.empty-state{padding:20px;border-radius:17px;background:#f4faf7;color:var(--muted);line-height:1.55}
.panel-footnote{font-size:12px;color:var(--muted);line-height:1.5;margin:14px 0 0}
.recognition{background:#fff}.recognition-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.recognition h2{font-size:clamp(35px,4vw,55px);letter-spacing:-.055em;line-height:1.04;margin:12px 0 18px;max-width:12ch}.recognition p{font-size:18px;line-height:1.65;color:var(--muted);max-width:630px}
.recognition-copy .btn{margin-top:14px}
.recognition-panel{border:1px solid #d8e6e0;border-radius:30px;padding:14px;background:linear-gradient(145deg,#edf8f4,#fafdfe);box-shadow:0 28px 60px rgba(10,42,67,.08)}
.recognition-spotlight{background:#fff;border:1px solid #d6e7df;border-radius:22px;padding:24px;position:relative;overflow:hidden}
.recognition-spotlight:before{content:"";position:absolute;width:210px;height:210px;right:-90px;top:-100px;border-radius:50%;background:radial-gradient(circle,rgba(67,219,164,.35),transparent 70%);pointer-events:none}
.spotlight-chip{color:#088f66;background:#e4f8ef;border-radius:99px;padding:7px 12px;font-size:11px;font-weight:900;letter-spacing:.1em}
.spotlight-orbit{display:grid;place-items:center;width:74px;height:74px;border-radius:24px;margin:25px 0 18px;background:linear-gradient(135deg,#baf6df,#e6faf4)}
.spotlight-symbol{font-size:46px;color:#039d6d}.recognition-spotlight h3{font-size:27px;letter-spacing:-.04em;margin:0}.recognition-spotlight>p{font-size:15px;line-height:1.55}
.share-preview{background:linear-gradient(120deg,#0c3552,#155f63);border-radius:17px;color:#fff;padding:20px;margin:18px 0 14px}.share-preview span{display:block;font-size:11px;font-weight:800;color:#64e2b5;text-transform:uppercase;letter-spacing:.12em}.share-preview strong{display:block;max-width:290px;margin:12px 0;font-size:24px;line-height:1.15;letter-spacing:-.04em}.share-preview small{color:#bcdeec}
.share-link{border:none;background:transparent;padding:9px 0;color:#078e67;font-weight:900;cursor:pointer}.share-link:hover{text-decoration:underline}
@media(max-width:1099px){.entry-ribbon{grid-template-columns:repeat(3,1fr)}.entry-copy{grid-column:1/-1}.recognition-grid{gap:22px}}
@media(max-width:860px){.featured-layout,.recognition-grid{grid-template-columns:1fr}.engagement-controls{align-items:stretch;flex-direction:column}.entry-ribbon{grid-template-columns:1fr}.entry-copy{grid-column:auto}.recognition h2{max-width:none}}
@media(max-width:560px){.live-rank,.live-municipalities{padding:18px}.panel-head{flex-direction:column;align-items:start}.ranking-item{grid-template-columns:32px 32px minmax(0,1fr) auto}.hero-panel-top{gap:8px}.hero-panel-top small{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}

/* NEXO V6 - acabamento editorial, compactacao e mobile-first */
:root{--shadow:0 12px 34px rgba(10,42,67,.075)}
.hero{padding-block:30px 34px}
.hero-grid{gap:28px;grid-template-columns:minmax(0,.97fr) minmax(0,1.03fr)}
.hero-copy h1{font-size:clamp(37px,4.15vw,60px);line-height:1.03;max-width:13ch;letter-spacing:-.05em}
.hero-copy p{font-size:clamp(16px,1.18vw,19px);line-height:1.57}
.hero-panel{box-shadow:0 12px 35px rgba(9,39,60,.08)}
.hero-art{min-height:0}
.hero-art img{width:100%;height:auto;object-fit:contain}
.section{padding-block:54px}
.section-heading h2{max-width:22ch;font-size:clamp(30px,3vw,45px);line-height:1.1}
.section-heading p{font-size:clamp(16px,1.2vw,18px)}
.value-card{min-height:0;padding:20px}
.value-card p{font-size:16px}
.metric-card{padding-block:20px}
.metric-card b{font-size:clamp(29px,2.6vw,43px)}
.entry-ribbon{margin-top:20px}
.entry-step{padding:16px}
.adhesion-stat>strong{font-size:72px}
.adhesion-shell{grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr)}
.featured-layout{grid-template-columns:1fr 1fr}
.ranking-items{gap:4px}
.ranking-item{padding:5px 3px}
.live-rank,.live-municipalities{padding:20px}
.engagement-controls{margin-top:20px}
.recognition h2,.closing h2{max-width:18ch;font-size:clamp(31px,3.4vw,48px)}
#participar,#adesao,#projeto,#reconhecimento{scroll-margin-top:95px}
button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #0ca577;outline-offset:3px}
@media(max-width:1099px){.hero-grid,.adhesion-shell{grid-template-columns:1fr}.hero-copy h1{max-width:15ch}.hero-panel{max-width:850px}.section-heading h2{max-width:24ch}}
@media(max-width:860px){.section{padding-block:42px}.hero{padding-block:22px 26px}.hero-copy h1{font-size:clamp(36px,7.5vw,53px)}.featured-layout{grid-template-columns:1fr}.entry-ribbon{gap:10px}.metric-card span{font-size:15px}}
@media(max-width:560px){.hero-copy h1{font-size:clamp(34px,10vw,44px);max-width:13ch}.section-heading h2{font-size:clamp(30px,8.5vw,40px)}.hero-panel-top small{font-size:12px}.hero-insights{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.insight-chip{padding:10px 7px}.insight-chip strong{font-size:12px}.insight-chip small{font-size:11px}.section{padding-block:38px}.state-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.adhesion-substats small{font-size:12px}.entry-ribbon{padding:12px}.entry-step{padding:14px}.recognition-spotlight{padding:18px}.closing{padding-block:42px}}

/* NEXO V7 - mobile compact, swipe cards, accessible collapsible verification */
.verification-card{overflow:hidden}
.verification-card summary{list-style:none;display:none;cursor:pointer;color:var(--text);font-weight:800}
.verification-card summary::-webkit-details-marker{display:none}
.verification-card .verification-inner{padding:0}
@media(max-width:860px){
  .verification-card summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:15px}
  .verification-card summary span{color:var(--accent-strong);font-size:23px;transition:transform .2s}
  .verification-card[open] summary span{transform:rotate(180deg)}
  .verification-card .verification-inner{padding:12px 0 0}
  .verification-card .verification-inner ol{margin-top:8px}
  .value-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding:4px 16px 18px;margin-inline:-16px;gap:12px;scrollbar-width:thin}
  .value-grid .value-card{flex:0 0 min(84vw,340px);scroll-snap-align:start;min-height:170px}
  .entry-ribbon{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding:13px;margin-inline:0;gap:12px;scrollbar-width:thin}
  .entry-ribbon .entry-copy{flex:0 0 min(65vw,230px);align-self:center}
  .entry-ribbon .entry-step{flex:0 0 min(73vw,280px);scroll-snap-align:start}
  .state-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .state-card{padding:10px}
  .state-card-top{flex-wrap:wrap}
  .state-card small{font-size:11px}
  .hero-panel{max-width:100%}
}
@media(max-width:560px){
  .state-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-copy h1{font-size:clamp(34px,9vw,40px)}
  .section-heading h2{font-size:clamp(29px,8vw,36px);max-width:100%}
  .section-heading{margin-bottom:20px}
  .section{padding-block:30px}
  .recognition-panel,.hero-panel{box-shadow:0 8px 25px rgba(10,42,67,.07)}
  .hero-insights{grid-template-columns:repeat(3,minmax(0,1fr))}
  .adhesion-substats{gap:8px}
  .technical-note{font-size:12px}
  .closing{padding-block:36px}
}
@media(prefers-reduced-motion:reduce){.verification-card summary span{transition:none}}

/* NEXO V26.5: institutional official brand, responsive */
.brand:has(.nexo-official-logo-header){display:inline-flex;align-items:center;flex:none;max-width:min(31vw,230px);text-decoration:none;line-height:1;}
.nexo-official-logo{display:block;object-fit:contain;object-position:left center;max-width:100%;height:auto;}
.nexo-official-logo-header{width:clamp(140px,17vw,230px);height:auto;}
.nexo-official-logo-footer{width:clamp(215px,27vw,340px);height:auto;}
@media(max-width:720px){.brand:has(.nexo-official-logo-header){max-width:160px}.nexo-official-logo-header{width:160px}.nexo-official-logo-footer{width:min(72vw,300px)}}

footer .footer-brand, .footer .footer-brand{display:none}

/* NEXO V26.7 footer alignment: keep official mark within the site's centered 1240px grid. */
.site-footer > .nexo-official-logo-footer {
  display: block;
  box-sizing: border-box;
  margin-top: 18px;
  margin-bottom: 18px;
  margin-left: max(14px, calc((100% - 1240px) / 2));
  margin-right: 14px;
  width: min(260px, calc(100% - 28px));
  max-width: calc(100% - 28px);
  height: auto;
  object-fit: contain;
  object-position: left center;
}
@media (max-width: 720px) {
  .site-footer > .nexo-official-logo-footer {
    width: min(220px, calc(100% - 28px));
    margin-top: 14px;
    margin-bottom: 18px;
  }
}
