/* Fontes auto-hospedadas (Inter + Sora) — arquivos próprios, zero requisição a terceiros */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(inter-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(inter-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(inter-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(inter-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:500;font-display:swap;src:url(sora-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url(sora-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url(sora-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url(sora-800.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* =========================================================
   A Hora da Elisão Fiscal — style.css
   Palette: deep navy / petrol, refined green, paper white, slate
   Type: Sora (display) + Inter (body, tabular numerals)
   ========================================================= */

:root{
  --navy:#0A2540;
  --navy-700:#0E3350;
  --petrol:#103B54;
  --ink:#0B1B26;
  --green:#149063;
  --green-bright:#1FB877;
  --green-soft:#E6F6EE;
  --paper:#F5F8F9;
  --white:#FFFFFF;
  --slate:#5A6B78;
  --slate-light:#8597A2;
  --line:#E2E9ED;
  --amber:#B5781A;
  --amber-soft:#FBF1E0;
  --red:#C0392B;
  --red-soft:#FBEBE9;

  --radius:14px;
  --radius-sm:10px;
  --shadow:0 1px 2px rgba(10,37,64,.06),0 8px 24px rgba(10,37,64,.07);
  --shadow-lg:0 18px 50px rgba(10,37,64,.14);
  --wrap:1080px;
  --font-display:"Sora",system-ui,sans-serif;
  --font-body:"Inter",system-ui,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  font-feature-settings:"tnum" 1,"cv05" 1;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,legend,.brand-text strong{font-family:var(--font-display);line-height:1.15;letter-spacing:-.01em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
button{font-family:inherit;cursor:pointer}
.tnum,strong,.result-table td,.sum-card strong{font-variant-numeric:tabular-nums}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  border:0;border-radius:999px;padding:.72rem 1.3rem;
  font-weight:600;font-size:.95rem;text-decoration:none;
  transition:transform .12s ease,box-shadow .15s ease,background .15s ease;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 6px 16px rgba(20,144,99,.28)}
.btn-primary:hover{background:var(--green-bright)}
.btn-ghost{background:transparent;color:var(--navy);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--navy);background:#fff}
.btn-wa{background:#25D366;color:#06351c;box-shadow:0 6px 16px rgba(37,211,102,.28)}
.btn-wa:hover{background:#1ebe5b}

/* ----- Modo consultor ----- */
.consultor-card{border:1.5px solid #cdeede;background:linear-gradient(180deg,#F2FBF7,#fff)}
.consultor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.consultor-badge{flex-shrink:0;background:var(--navy);color:#fff;font-weight:700;font-size:.72rem;
  letter-spacing:.03em;padding:.25rem .6rem;border-radius:999px;white-space:nowrap}
.consultor-text{width:100%;margin:.5rem 0 .9rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:12px;
  font-family:var(--font-body);font-size:.92rem;line-height:1.55;color:var(--navy);background:#fff;resize:vertical;min-height:210px}
.consultor-text:focus{outline:3px solid var(--green-bright);outline-offset:1px;border-color:transparent}
.consultor-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.consultor-foot{margin-top:.85rem;font-size:.8rem;color:var(--slate)}

/* cripto detalhado */
.field-group-label{display:block;font-weight:700;color:var(--navy);margin-bottom:.4rem}
.cripto-grid{display:grid;gap:.8rem}
.cripto-grid > div{display:flex;flex-direction:column}
@media(min-width:760px){.cripto-grid{grid-template-columns:1fr 1fr 1fr}}



/* 0.8.1 — busca rápida de CNAE (Passo 1) */
.cnae-quick-field{position:relative}
.cnae-quick-list{position:absolute;left:0;right:0;top:calc(100% - 1.4rem);z-index:40;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:2px;max-height:280px;overflow:auto}
.cnae-quick-item{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;background:none;border:0;padding:.55rem .65rem;border-radius:8px;cursor:pointer;font-size:.86rem;color:var(--navy)}
.cnae-quick-item:hover,.cnae-quick-item:focus-visible{background:var(--paper)}
.cnae-quick-item strong{color:var(--green);flex-shrink:0}
.cnae-quick-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--slate)}
.cnae-quick-item .sn-badge{margin-left:auto;flex-shrink:0}
.link-inline{display:inline;padding:0;font-size:inherit}

/* 0.8.1 — controles da Reforma no resultado */
.reforma-controls{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;align-items:end;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding: .9rem 1rem;margin:.4rem 0 1rem}
.reforma-controls label{font-size:.78rem;font-weight:700;color:var(--slate);display:block;margin-bottom:.3rem}
.reforma-controls select,.reforma-controls input{width:100%}
.reforma-controls-note{grid-column:1 / -1;margin:0;font-size:.78rem;color:var(--slate)}
@media(max-width:640px){.reforma-controls{grid-template-columns:1fr}}
/* CLT × PJ */
.clt-eq{margin:.7rem 0;padding:.75rem .95rem;border-left:3px solid var(--green);background:var(--green-soft);border-radius:0 10px 10px 0;font-size:.93rem;color:var(--navy)}
/* holding */
.holding-cmp{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.6rem;margin:.4rem 0 .2rem}
@media(max-width:560px){.holding-cmp{grid-template-columns:1fr}.hc-vs{text-align:center}}
.hc-col{display:flex;flex-direction:column;gap:.15rem;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:#fff}
.hc-col.hc-win{border-color:#bfe9d4;background:#f1fbf6}
.hc-label{font-size:.78rem;color:var(--slate);font-weight:600}
.hc-val{font-size:1.3rem;font-weight:800;color:var(--navy)}
.hc-val small{font-size:.7rem;font-weight:600;color:var(--slate)}
.hc-ef{font-size:.75rem;color:var(--slate)}
.hc-vs{font-size:.8rem;color:var(--slate);font-weight:700}
.holding-verdict{margin:.6rem 0;font-size:.95rem;color:var(--navy)}
.holding-verdict.ok{color:#0f7a4f}
.holding-det{margin-top:.3rem}
.holding-det summary{cursor:pointer;font-weight:600;color:var(--green);font-size:.9rem}
.kv-list{list-style:none;margin:.5rem 0;padding:0}
.kv-list li{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.kv-list li b{color:var(--navy)}

/* mix pró-labore */
.mix-grid{display:grid;gap:.7rem;margin:.3rem 0}
@media(min-width:680px){.mix-grid{grid-template-columns:1fr 1fr}}
.mix-box{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.mix-k{font-size:.78rem;color:var(--slate);font-weight:600}
.mix-v{font-size:1.35rem;font-weight:800;color:var(--green)}
.mix-v small{font-size:.7rem;font-weight:600;color:var(--slate)}
.mix-sub{font-size:.78rem;color:var(--slate)}


.btn-lg{padding:.95rem 1.8rem;font-size:1.02rem}
.btn:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{
  outline:3px solid var(--green-bright);outline-offset:2px;border-radius:8px
}

/* ---------- Version bar ---------- */
.version-bar{
  background:linear-gradient(90deg,var(--navy),var(--petrol));
  color:#E4EDF3;font-size:.82rem;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.version-bar.dismissed{display:none}
.version-inner{display:flex;align-items:center;gap:.7rem;padding:.5rem 1rem;min-height:38px}
.version-bar .ver-tag{
  background:var(--green-bright);color:#04261a;font-weight:800;
  font-size:.72rem;letter-spacing:.03em;padding:.16rem .55rem;border-radius:999px;flex-shrink:0;
}
.version-bar .ver-msg{color:#E4EDF3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.version-bar .ver-msg strong{color:#fff}
.ver-link{margin-left:auto;flex-shrink:0;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.22);
  font-weight:600;font-size:.76rem;padding:.2rem .7rem;border-radius:999px;cursor:pointer;transition:background .15s}
.ver-link:hover{background:rgba(255,255,255,.24)}
.ver-dismiss{flex-shrink:0;background:none;border:0;color:#B9CAD6;font-size:1rem;line-height:1;cursor:pointer;
  padding:.2rem .35rem;border-radius:6px}
.ver-dismiss:hover{color:#fff;background:rgba(255,255,255,.12)}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(10,37,64,.02);
}
.site-header .wrap{max-width:1240px}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:66px;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--navy);text-decoration:none;border-radius:10px;padding:.2rem .3rem;flex-shrink:0}
.brand-mark{color:var(--green);display:grid;place-items:center;flex-shrink:0}
.brand-text{display:flex;flex-direction:column;line-height:1.05;white-space:nowrap}
.brand-text strong{font-size:1rem;font-weight:700;color:var(--navy);white-space:nowrap}
.brand-text em{font-style:normal;font-size:.7rem;color:var(--slate);letter-spacing:.02em}

.header-right{display:flex;align-items:center;gap:.45rem;min-width:0}
.site-nav{display:flex;align-items:center;gap:.1rem}
.nav-link{
  background:none;border:0;color:var(--slate);font-weight:600;font-size:.88rem;white-space:nowrap;
  padding:.5rem .62rem;border-radius:8px;cursor:pointer;transition:color .12s,background .12s;
}
.nav-link:hover{color:var(--navy);background:var(--paper)}
.nav-link.active{color:var(--green);background:var(--green-soft)}
.nav-cta{
  margin-left:.25rem;background:var(--navy);color:#fff;border:0;cursor:pointer;white-space:nowrap;
  padding:.52rem .95rem;border-radius:999px;font-weight:700;font-size:.86rem;transition:background .15s;flex-shrink:0;
}
.nav-cta:hover{background:var(--petrol)}

/* menu "Mais" (agrupa itens secundários no desktop) */
.nav-more{position:relative;display:inline-flex}
.nav-more-toggle{display:inline-flex;align-items:center;gap:.25rem}
.nav-more-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:190px;
  background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);
  padding:8px;display:none;flex-direction:column;gap:.1rem;z-index:60}
.nav-more-menu.open{display:flex}
.nav-more-menu .nav-link{text-align:left;width:100%;font-size:.9rem}
.nav-more-toggle[aria-expanded="true"]{color:var(--navy);background:var(--paper)}
.nav-more.has-active .nav-more-toggle{color:var(--green);background:var(--green-soft)}

/* botão de acessibilidade no cabeçalho */
.hdr-a11y{display:inline-flex;align-items:center;gap:.4rem;background:var(--green-soft);color:var(--green);white-space:nowrap;
  border:1px solid #cdeede;border-radius:999px;padding:.42rem .7rem;font-weight:700;font-size:.82rem;cursor:pointer;flex-shrink:0;
  transition:background .15s,color .15s}
.hdr-a11y:hover{background:var(--green);color:#fff;border-color:var(--green)}
.hdr-a11y[aria-expanded="true"]{background:var(--green);color:#fff;border-color:var(--green)}
.hdr-a11y-icon{font-size:1.05rem;line-height:1}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer;border-radius:8px}
.nav-toggle span{width:24px;height:2px;background:var(--navy);border-radius:2px;transition:.2s}

/* ---------- Views ---------- */
.view{padding-bottom:64px;animation:fade .3s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.page-head{padding:40px 0 24px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--green)}
.page-head h2{font-size:clamp(1.7rem,4.5vw,2.3rem);color:var(--navy);margin:.3rem 0}
.page-sub{color:var(--slate);max-width:60ch}

/* ---------- Hero ---------- */
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--petrol) 70%,#0c2e44 100%);color:#fff;padding:56px 0 64px}
.hero-grid{display:grid;gap:36px;grid-template-columns:1fr}
.hero-copy .eyebrow{color:var(--green-bright)}
.hero h1{font-size:clamp(2rem,7vw,3.1rem);font-weight:800;margin:.5rem 0 1rem}
.hero h1 .accent{color:var(--green-bright);display:block}
.lede{color:#C9D6DF;font-size:1.08rem;max-width:52ch;margin-bottom:1.7rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.4rem}
.privacy-pill{
  display:inline-flex;align-items:center;gap:.4rem;
  background:rgba(31,184,119,.14);color:#BFF3DC;border:1px solid rgba(31,184,119,.3);
  padding:.5rem .9rem;border-radius:999px;font-size:.85rem;font-weight:500;
}
.privacy-pill.subtle{background:var(--green-soft);color:var(--green);border-color:#cdeede;margin-top:1.4rem}

/* hero card / ruler demo */
.hero-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:22px}
.ruler-demo .ruler-title{font-family:var(--font-display);font-weight:700;color:#fff;margin-bottom:1rem}
.ruler-row{margin-bottom:.95rem}
.ruler-row .rr-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.35rem}
.ruler-row span{font-size:.82rem;color:#C9D6DF}
.ruler-row .bar{height:10px;background:rgba(255,255,255,.12);border-radius:999px;overflow:hidden}
.ruler-row .bar i{display:block;height:100%;background:#7C93A3;border-radius:999px}
.ruler-row b{font-size:.82rem;color:#fff}
.ruler-row.best .bar i{background:var(--green-bright)}
.ruler-row.best span{color:var(--green-bright);font-weight:600}
.ruler-foot{font-size:.74rem;color:#8aa0ad;margin-top:.4rem}

/* ---------- Features ---------- */
.feature-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:48px 0}
.feature{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease}
.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.feature h3{color:var(--navy);font-size:1.08rem;margin-bottom:.4rem}
.feature p{color:var(--slate);font-size:.95rem}

/* ---------- Disclaimer ---------- */
.disclaimer-block{
  background:var(--amber-soft);border:1px solid #efddc0;border-left:4px solid var(--amber);
  border-radius:var(--radius-sm);padding:16px 18px;margin:8px 0 0;
}
.disclaimer-block p{color:#6e4d18;font-size:.9rem}

/* ---------- Form ---------- */
.sim-form{display:grid;gap:20px;max-width:760px}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;box-shadow:var(--shadow);
}
fieldset.card{border:1px solid var(--line)}
legend{padding:0 .5rem;font-size:1.05rem;color:var(--navy);font-weight:600}
.field{margin-bottom:16px}
.field:last-child{margin-bottom:0}
.field label,.label-as-text{display:block;font-weight:600;font-size:.92rem;color:var(--navy);margin-bottom:.4rem}
.req{color:var(--green)}
.field input[type=text],.field input[type=number],.field select{
  width:100%;padding:.7rem .85rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  font-size:1rem;color:var(--ink);background:#fff;transition:border .12s;
}
.field input:focus,.field select:focus{border-color:var(--green);outline:none}
.field small,.row-hint{display:block;color:var(--slate-light);font-size:.8rem;margin-top:.35rem}
.row-hint{margin-top:-6px;margin-bottom:10px}
.field-row{display:grid;grid-template-columns:1fr;gap:16px}

.seg{display:inline-flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden}
.seg label{display:flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-weight:600;font-size:.9rem;color:var(--slate);cursor:pointer}
.seg input{accent-color:var(--green)}
.seg label:has(input:checked){background:var(--green-soft);color:var(--green)}

.form-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:4px}
.form-error{color:var(--red);background:var(--red-soft);border:1px solid #f1cdc8;padding:.7rem 1rem;border-radius:var(--radius-sm);font-weight:500;font-size:.9rem}

/* ---------- Result ---------- */
.empty-result{text-align:center;padding:56px 20px;color:var(--slate)}
.empty-result p{margin-bottom:1.2rem}

.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px}
@media(max-width:430px){.summary-grid{grid-template-columns:1fr}}
.sum-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);transition:transform .15s ease;min-width:0;overflow-wrap:anywhere}
.sum-card:hover{transform:translateY(-2px)}
.sum-card span{display:block;font-size:.78rem;color:var(--slate);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.sum-card strong{display:block;font-family:var(--font-display);font-size:1.35rem;color:var(--navy);margin:.25rem 0 .1rem}
.sum-card em{font-style:normal;font-size:.76rem;color:var(--slate-light)}
.sum-card.highlight{background:var(--green-soft);border-color:#cdeede}
.sum-card.highlight strong{color:var(--green)}

.result-card{margin-bottom:20px}
.result-card h3{color:var(--navy);font-size:1.15rem;margin-bottom:.3rem}
.card-note{color:var(--slate);font-size:.88rem;margin-bottom:1rem}

/* régua */
.ruler{display:grid;gap:14px}
.ruler-line{display:grid;grid-template-columns:1fr;gap:.3rem}
.ruler-line .rl-top{display:flex;justify-content:space-between;align-items:baseline}
.ruler-line .rl-name{font-weight:600;color:var(--navy);font-size:.92rem}
.ruler-line .rl-name .tag{font-size:.68rem;font-weight:700;color:#fff;background:var(--green);padding:.1rem .45rem;border-radius:999px;margin-left:.4rem;vertical-align:middle}
.ruler-line .rl-pct{font-family:var(--font-display);font-weight:700;color:var(--navy);font-size:.95rem}
.ruler-line .rl-bar{height:14px;background:var(--paper);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.ruler-line .rl-bar i{display:block;height:100%;border-radius:999px;background:#90A4B0;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.ruler-line.is-best .rl-bar i{background:linear-gradient(90deg,var(--green),var(--green-bright))}
.ruler-line.is-best .rl-pct{color:var(--green)}
.ruler-line.is-na{opacity:.55}
.ruler-line .rl-sub{font-size:.76rem;color:var(--slate-light)}

.chart-box{position:relative;height:300px}

/* table */
.table-scroll{overflow-x:auto}
.result-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:520px}
.result-table th{text-align:left;color:var(--slate);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;padding:.6rem .7rem;border-bottom:2px solid var(--line)}
.result-table td{padding:.7rem .7rem;border-bottom:1px solid var(--line);color:var(--ink)}
.result-table tr.best-row{background:var(--green-soft)}
.result-table tr.best-row td:first-child{font-weight:700;color:var(--green)}
.result-table .pill-na{font-size:.72rem;color:var(--slate);background:var(--paper);padding:.12rem .5rem;border-radius:999px}
.result-table .pill-ok{font-size:.72rem;color:var(--green);background:var(--green-soft);padding:.12rem .5rem;border-radius:999px;font-weight:600}

/* insights */
.two-col{display:grid;grid-template-columns:1fr;gap:20px}
.insight ul{list-style:none;display:grid;gap:.7rem}
.insight li{position:relative;padding-left:1.6rem;font-size:.92rem;color:var(--ink)}
.insight li::before{position:absolute;left:0;top:.05rem;font-size:1rem}
.insight.ok li::before{content:"✓";color:var(--green);font-weight:700}
.insight.warn li::before{content:"!";color:var(--amber);font-weight:800;left:.25rem}
.insight.ok h3{color:var(--green)}
.insight.warn h3{color:var(--amber)}
.insight .none{color:var(--slate-light);font-style:italic;padding-left:0}
.insight .none::before{content:""}

.result-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:8px 0 24px}

/* ---------- Learn ---------- */
.learn-grid{display:grid;gap:12px;max-width:760px}
.learn-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.learn-item summary{cursor:pointer;padding:18px 20px;font-family:var(--font-display);font-weight:600;color:var(--navy);font-size:1.02rem;list-style:none;display:flex;justify-content:space-between;align-items:center}
.learn-item summary::-webkit-details-marker{display:none}
.learn-item summary::after{content:"+";font-size:1.4rem;color:var(--green);font-weight:400;transition:transform .2s}
.learn-item[open] summary::after{transform:rotate(45deg)}
.learn-item p{padding:0 20px 20px;color:var(--slate);font-size:.95rem}
.learn-item p strong{color:var(--navy)}

.cta-band{margin:40px 0 0;background:var(--navy);border-radius:var(--radius);padding:32px 24px;text-align:center;color:#fff}
.cta-band h3{font-size:1.4rem;margin-bottom:1rem}

/* ---------- Legal base ---------- */
.legal-grid{display:grid;gap:12px;max-width:820px}
.legal-cat{font-family:var(--font-display);color:var(--green);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;margin:22px 0 2px;padding-top:8px}
.legal-cat:first-child{margin-top:0}
.legal-item summary{display:flex;flex-direction:column;gap:.15rem;align-items:flex-start}
.legal-item summary span{font-size:1rem}
.legal-item summary em{font-style:normal;font-size:.82rem;color:var(--slate);font-weight:500}
.legal-item summary::after{align-self:flex-start;margin-top:-1.6rem}
.legal-body{padding:0 20px 20px}
.legal-escopo{color:var(--ink);font-size:.93rem;margin-bottom:.6rem}
.legal-vig{color:var(--slate);font-size:.86rem;margin-bottom:.6rem}
.legal-vig strong{color:var(--navy)}
.legal-pts{list-style:none;display:grid;gap:.4rem;margin-bottom:.8rem}
.legal-pts li{position:relative;padding-left:1.1rem;font-size:.9rem;color:var(--slate)}
.legal-pts li::before{content:"§";position:absolute;left:0;color:var(--green);font-weight:700}
.legal-fonte{display:inline-block;font-size:.85rem;font-weight:600;color:var(--green);text-decoration:none}
.legal-fonte:hover{text-decoration:underline}
.legal-links{display:flex;flex-wrap:wrap;gap:.5rem .7rem;align-items:center;margin-bottom:18px;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm)}
.legal-links .ll-label{font-weight:700;color:var(--navy);font-size:.85rem}
.legal-links a{font-size:.82rem;font-weight:600;color:var(--green);text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem}
.legal-links a:hover{border-color:var(--green);background:var(--green-soft)}

/* composição/detalhe na tabela de resultado */
.row-toggle{width:20px;height:20px;border:1px solid var(--line);background:#fff;border-radius:6px;color:var(--green);font-weight:700;cursor:pointer;line-height:1;font-size:.9rem;margin-left:.3rem}
.row-toggle:hover{background:var(--green-soft)}
.detail-row td{background:var(--paper);padding:0}
.bd-list{list-style:none;margin:0;padding:10px 16px;display:grid;gap:.35rem}
.bd-list li{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;color:var(--slate)}
.bd-list li b{color:var(--navy);font-variant-numeric:tabular-nums}
.bd-list li.comp{font-size:.8rem;color:var(--slate-light);padding-left:.4rem}
.bd-list li.comp-title{font-size:.78rem;font-weight:700;color:var(--navy);margin-top:.3rem;justify-content:flex-start}

/* Bloco 2 — otimizador e ponto de equilíbrio */
.opt-rec{margin-top:12px;padding:14px;border-radius:var(--radius-sm);border:1px solid}
.opt-rec.ok{background:var(--green-soft);border-color:#cdeede}
.opt-rec.warn{background:var(--amber-soft);border-color:#efddc0}
.opt-rec p{font-size:.88rem;color:var(--slate);margin-bottom:.4rem}
.opt-rec p:last-child{margin-bottom:0}
.opt-rec .opt-verdict{font-size:.92rem;color:var(--navy);margin-top:.5rem}
.be-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.be-list li{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.6rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;font-size:.88rem}
.be-list li.be-here{border-color:var(--green);background:var(--green-soft)}
.be-list .be-range{color:var(--slate)}
.be-list .be-reg{font-weight:700;color:var(--navy)}

/* ---------- CNAE & Fator R ---------- */
.link-btn{background:none;border:0;color:var(--green);font-weight:600;font-size:.88rem;padding:.4rem 0;margin-top:.5rem;cursor:pointer}
.link-btn:hover{text-decoration:underline}
.cnae-results{display:grid;gap:8px;margin-top:14px;max-height:540px;overflow-y:auto}
.cnae-card{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;align-items:center;
  border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;background:#fff}
.cnae-card .cc-main{min-width:0}
.cnae-card .cc-code{font-family:var(--font-display);font-weight:700;color:var(--navy);font-size:.92rem}
.cnae-card .cc-name{font-size:.86rem;color:var(--slate);line-height:1.35}
.cnae-card .cc-tags{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.35rem}
.anexo-badge{font-size:.7rem;font-weight:700;color:#fff;border-radius:999px;padding:.12rem .5rem;white-space:nowrap}
.an-i{background:#2563EB}.an-ii{background:#7C3AED}.an-iii{background:#0E9488}.an-iiiv{background:var(--green)}
.an-iv{background:var(--amber)}.an-verificar{background:#7C8A95}
.cnae-card .cc-obs{font-size:.78rem;color:var(--slate-light);margin-top:.4rem;line-height:1.35}
.fr-badge{font-size:.7rem;font-weight:700;color:var(--green);background:var(--green-soft);border:1px solid #cdeede;border-radius:999px;padding:.1rem .5rem;white-space:nowrap}
.sn-badge{font-size:.7rem;font-weight:700;border-radius:999px;padding:.1rem .5rem;white-space:nowrap;border:1px solid transparent}
.sn-ok{color:#0f7a4f;background:#e6f7ef;border-color:#bfe9d4}
.sn-no{color:#b3261e;background:#fce8e6;border-color:#f3c2bd}
.sn-amb{color:#8a5a00;background:#fbf1dc;border-color:#f0dcae}
.cnae-banner .cb-ved{display:inline-block;margin-top:.25rem;font-size:.8rem;font-weight:700;color:#b3261e}
.cnae-banner .cb-amb{display:inline-block;margin-top:.25rem;font-size:.8rem;font-weight:700;color:#8a5a00}
.field .sub-label{display:block;margin-top:.5rem;font-size:.82rem;color:var(--slate);font-weight:600}
.cnae-card .cc-use{background:var(--navy);color:#fff;border:0;border-radius:999px;padding:.5rem .9rem;font-weight:600;font-size:.82rem;white-space:nowrap;cursor:pointer}
.cnae-card .cc-use:hover{background:var(--petrol)}
.cnae-empty{color:var(--slate-light);font-size:.9rem;padding:14px 2px}

.cnae-banner{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;
  margin-top:.7rem;padding:.7rem .9rem;background:var(--green-soft);border:1px solid #cdeede;border-radius:var(--radius-sm)}
.cnae-banner .cb-txt{font-size:.85rem;color:var(--navy)}
.cnae-banner .cb-txt strong{color:var(--green)}
.cnae-banner .cb-clear{background:none;border:0;color:var(--slate);font-size:.8rem;font-weight:600;cursor:pointer;text-decoration:underline}
.opt{font-weight:400;color:var(--slate-light);font-size:.82rem}
.export-note{font-size:.85rem;color:var(--green);background:var(--green-soft);border:1px solid #cdeede;border-radius:var(--radius-sm);padding:.7rem .9rem;margin-top:.4rem}

/* Fator R box */
.fatorr-box{margin-top:.7rem;padding:.8rem .9rem;border-radius:var(--radius-sm);font-size:.85rem;border:1px solid}
.fatorr-box.ok{background:var(--green-soft);border-color:#cdeede;color:#0d5e3f}
.fatorr-box.warn{background:var(--amber-soft);border-color:#efddc0;color:#6e4d18}
.fatorr-box strong{font-weight:700}
.fatorr-box .fr-bar{height:8px;background:#fff;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:.5rem 0}
.fatorr-box .fr-bar i{display:block;height:100%;background:var(--green);border-radius:999px}

/* cClassTrib list */
.cst-list{display:grid;gap:8px;margin-top:12px}
.cst-item{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;background:#fff}
.cst-item .cst-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.cst-item .cst-code{font-family:var(--font-display);font-weight:700;color:#fff;background:var(--navy);border-radius:6px;padding:.1rem .5rem;font-size:.82rem}
.cst-item .cst-name{font-weight:600;color:var(--navy);font-size:.92rem}
.cst-item .cst-trat{font-size:.82rem;color:var(--slate);margin-top:.3rem}
.cst-item .cst-codes{display:grid;gap:.2rem;margin-top:.5rem}
.cst-item .cst-codes span{font-size:.78rem;color:var(--slate-light)}
.cst-item .cst-codes b{font-family:var(--font-display);color:var(--green);font-weight:600}

/* reforma */
#reformaCard .ref-grid{display:grid;gap:12px;grid-template-columns:1fr}
.ref-box{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;background:var(--paper)}
.ref-box h4{font-family:var(--font-display);font-size:.92rem;color:var(--navy);margin-bottom:.4rem}
.ref-box .ref-val{font-family:var(--font-display);font-size:1.2rem;color:var(--navy);font-weight:700}
.ref-box small{display:block;color:var(--slate);font-size:.78rem;margin-top:.35rem}
.ref-cst{margin-top:12px;font-size:.85rem;color:var(--navy);background:var(--green-soft);border:1px solid #cdeede;border-radius:var(--radius-sm);padding:.7rem .9rem}
.ref-cst strong{color:var(--green)}
@media(min-width:680px){#reformaCard .ref-grid{grid-template-columns:1fr 1fr}}

/* ---------- Sobre / Autor (CV) ---------- */
.pcd-badge{display:inline-block;margin-top:.8rem;font-size:.78rem;font-weight:600;color:var(--green);background:var(--green-soft);border:1px solid #cdeede;padding:.3rem .8rem;border-radius:999px}
.cv-grid{display:grid;gap:18px;grid-template-columns:1fr}
.cv-main,.cv-side{display:grid;gap:16px;align-content:start}
.cv-card h3{color:var(--navy);font-size:1.12rem;margin-bottom:.6rem}
.cv-card h4.cv-sub{color:var(--navy);font-size:.92rem;margin:1rem 0 .5rem}
.cv-card p{color:var(--slate);font-size:.95rem;margin-bottom:.5rem}
.cv-card p:last-child{margin-bottom:0}
.cv-card p strong{color:var(--navy)}
.cv-job{padding-bottom:.9rem;margin-bottom:.9rem;border-bottom:1px solid var(--line)}
.cv-job:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.cv-job-head{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;align-items:baseline}
.cv-job-head strong{color:var(--navy);font-size:1rem}
.cv-job-head span{font-size:.8rem;color:var(--slate-light)}
.cv-role{font-size:.88rem;color:var(--green);font-weight:600;margin:.2rem 0 .5rem}
.cv-job ul{list-style:none;display:grid;gap:.4rem}
.cv-job li{position:relative;padding-left:1.1rem;font-size:.9rem;color:var(--slate)}
.cv-job li::before{content:"▸";position:absolute;left:0;color:var(--green)}
.cv-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.cv-tags span{font-size:.74rem;font-weight:600;color:var(--navy);background:var(--paper);border:1px solid var(--line);padding:.25rem .6rem;border-radius:999px}
.cv-tags.tech span{color:var(--slate);font-weight:500}
.impact-card{background:var(--navy);color:#fff;text-align:center}
.impact-card strong{font-family:var(--font-display);font-size:2.2rem;color:var(--green-bright);display:block;line-height:1}
.impact-card p{color:#C9D6DF;font-size:.86rem;margin-top:.5rem}
.cv-contact{display:grid;gap:.5rem}
.cv-contact a,.cv-contact span{font-size:.9rem;color:var(--slate);text-decoration:none;word-break:break-word}
.cv-contact a:hover{color:var(--green)}
.cv-linkedin{font-weight:600;color:var(--navy)!important}
.tip-card{text-align:center}
.tip-note{font-size:.88rem}
.tip-qr{display:inline-block;margin:.4rem auto .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;line-height:0}
.tip-qr img{display:block;max-width:220px;height:auto}
.tip-btn{width:100%}
.tip-link{font-family:var(--font-display);font-weight:600;color:var(--navy);font-size:.9rem;margin-top:.6rem}
@media(min-width:760px){.cv-grid{grid-template-columns:1.4fr .9fr}}

/* ---------- Consultoria CTA / separação educativo×profissional ---------- */
.btn-consult{background:var(--amber);color:#3a2a07;border:0;font-weight:700;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.btn-consult:hover{filter:brightness(.96)}
.service-split{display:grid;gap:16px;grid-template-columns:1fr;margin-top:28px}
.split-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:#fff}
.split-card.pro{background:var(--navy);color:#fff;border-color:var(--navy)}
.split-card h3{font-size:1.15rem;margin:.4rem 0 .5rem;color:var(--navy)}
.split-card.pro h3{color:#fff}
.split-card p{font-size:.92rem;color:var(--slate);margin-bottom:1rem}
.split-card.pro p{color:#C9D6DF}
.split-card.pro p strong{color:var(--green-bright)}
.split-card .btn{width:100%}
.split-tag{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--green);background:var(--green-soft);border:1px solid #cdeede;padding:.2rem .6rem;border-radius:999px}
.split-tag.alt{color:#3a2a07;background:var(--amber);border-color:var(--amber)}
.disclaimer-block.strong{border-left:4px solid var(--amber);background:var(--amber-soft)}
.disclaimer-block.strong p{color:#5a4310}
@media(min-width:680px){.service-split{grid-template-columns:1fr 1fr}}

/* footer additions */
.footer-consult{display:inline-block;margin-top:.6rem;font-size:.86rem;font-weight:700;color:var(--green-bright);text-decoration:none}
.footer-consult:hover{text-decoration:underline}
.footer-legal{max-width:560px}
.footer-legal p{font-size:.78rem;color:#9FB0BC;line-height:1.5;margin-bottom:.5rem}
.footer-legal strong{color:#C9D6DF}

/* ---------- Mobility module ---------- */
.tabs{display:flex;gap:.4rem;border-bottom:2px solid var(--line);margin-bottom:24px;overflow-x:auto}
.tab{background:none;border:0;padding:.7rem 1rem;font-weight:600;font-size:.92rem;color:var(--slate);border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.tab:hover{color:var(--navy)}
.tab.active{color:var(--green);border-bottom-color:var(--green)}
.tab-panel{animation:fade .25s ease}
.tab-intro{color:var(--slate);max-width:62ch;margin-bottom:20px}
.muted-count{color:var(--slate-light);font-weight:500;font-size:.82rem}

/* gauge */
.gauge{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.gauge-bar{flex:1;min-width:200px;height:18px;border-radius:999px;background:linear-gradient(90deg,var(--green) 0%,#E0B341 55%,var(--red) 100%);position:relative;overflow:hidden}
.gauge-bar i{position:absolute;top:-3px;width:4px;height:24px;background:var(--ink);border-radius:2px;box-shadow:0 0 0 3px #fff;transition:left .6s cubic-bezier(.2,.8,.2,1)}
.gauge-label{text-align:right}
.gauge-label strong{display:block;font-family:var(--font-display);font-size:1.6rem;color:var(--navy)}
.gauge-label span{font-size:.82rem;color:var(--slate);font-weight:600}
.vinc-break{display:grid;gap:10px}
.vinc-row{display:grid;grid-template-columns:1fr;gap:.25rem}
.vinc-row .vr-top{display:flex;justify-content:space-between;font-size:.85rem}
.vinc-row .vr-top span{color:var(--navy);font-weight:600}
.vinc-row .vr-top b{color:var(--slate)}
.vinc-row .vr-bar{height:9px;background:var(--paper);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.vinc-row .vr-bar i{display:block;height:100%;background:var(--navy);border-radius:999px;transition:width .5s ease}

/* country picker */
.country-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:10px}
.cpick{display:flex;align-items:center;gap:.45rem;padding:.5rem .6rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:#fff;font-size:.88rem;font-weight:600;color:var(--navy);cursor:pointer;text-align:left}
.cpick:hover{border-color:var(--green)}
.cpick.on{background:var(--green-soft);border-color:var(--green);color:var(--green)}
.cpick .flag{font-size:1.1rem;line-height:1}
.result-table .imf-badge{display:inline-block;min-width:34px;text-align:center;font-weight:700;color:#fff;border-radius:6px;padding:.05rem .35rem;font-size:.82rem}

/* fiscal map */
.map-controls{display:flex;align-items:center;gap:.6rem;margin-bottom:16px;flex-wrap:wrap}
.map-controls label{font-weight:600;color:var(--navy);font-size:.9rem}
.map-controls select{padding:.5rem .8rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-size:.95rem;background:#fff}
.fiscal-map{display:grid;gap:20px}
.map-region h4{font-family:var(--font-display);color:var(--slate);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.map-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px}
.map-tile{border:0;border-radius:var(--radius-sm);padding:.6rem .4rem;color:#fff;cursor:pointer;text-align:center;transition:transform .12s}
.map-tile:hover{transform:translateY(-2px)}
.map-tile .flag{font-size:1.3rem;display:block;line-height:1.2}
.map-tile .mt-name{font-size:.74rem;font-weight:600;display:block;line-height:1.1}
.map-tile .mt-val{font-size:.72rem;opacity:.92;display:block}
.map-tile.on{outline:3px solid var(--ink);outline-offset:1px}
.map-legend{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:.78rem;color:var(--slate)}
.legend-scale{flex:1;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--green),#E0B341,var(--red))}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:#C9D6DF;padding:32px 0;margin-top:auto}
.footer-inner{display:grid;gap:16px}
.footer-brand{font-family:var(--font-display);font-weight:700;color:#fff}
.footer-by{font-size:.85rem;color:var(--slate-light)}
.footer-note{font-size:.82rem;color:var(--slate-light);max-width:60ch}

/* =========================================================
   Responsive — tablet & up
   ========================================================= */
@media(min-width:720px){
  .hero-grid{grid-template-columns:1.15fr .85fr;align-items:center}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .field-row{grid-template-columns:1fr 1fr}
  .summary-grid{grid-template-columns:repeat(4,1fr)}
  .two-col{grid-template-columns:1fr 1fr}
  .footer-inner{grid-template-columns:1fr 1fr;align-items:center}
  .footer-note{justify-self:end;text-align:right}
  .ruler-line{grid-template-columns:1fr}
}
@media(min-width:980px){
  .feature-grid{grid-template-columns:repeat(4,1fr)}
}

/* nav colapsa em hambúrguer antes de apertar */
@media(max-width:1140px){
  .hdr-a11y-text{display:none}
  .hdr-a11y{padding:.42rem .5rem}
}
@media(max-width:1039px){
  .header-inner{position:relative}
  .nav-toggle{display:flex}
  .header-right{gap:.35rem}
  .site-nav{
    position:absolute;top:calc(100% + 8px);right:0;left:auto;width:min(280px,calc(100vw - 32px));
    flex-direction:column;align-items:stretch;gap:.15rem;
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:10px;box-shadow:var(--shadow-lg);
    transform:translateY(-8px);opacity:0;pointer-events:none;transition:.18s;
  }
  .site-nav.open{transform:none;opacity:1;pointer-events:auto}
  .nav-link{text-align:left;padding:.65rem .7rem;font-size:.95rem;width:100%}
  .nav-cta{margin:.35rem 0 0;text-align:center;width:100%}
  /* "Mais" vira lista plana dentro do menu mobile */
  .nav-more{display:contents}
  .nav-more-toggle{display:none}
  .nav-more-menu{position:static;display:contents;box-shadow:none;border:0;padding:0;background:none}
}
@media(max-width:719px){
  .version-bar .ver-msg{white-space:normal}
  .ver-link{display:none}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* =========================================================
   Bloco 4 — Acessibilidade (marca PCD/autista)
   ========================================================= */
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--navy);color:#fff;
  padding:.7rem 1rem;border-radius:0 0 var(--radius-sm) 0;font-weight:700;text-decoration:none}
.skip-link:focus{left:0}

/* foco visível forte para teclado */
:focus-visible{outline:3px solid var(--green-bright);outline-offset:2px;border-radius:4px}

/* escala de texto */
html.fs-1{font-size:112.5%}
html.fs-2{font-size:125%}

/* reduzir animações */
body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{
  transition:none!important;animation:none!important;scroll-behavior:auto!important}

/* alto contraste */
body.contrast{
  --ink:#000;--navy:#00203d;--petrol:#00203d;--slate:#243038;--slate-light:#33434c;
  --line:#5d6e78;--green:#0a6e49;--green-bright:#0a6e49;--paper:#fff;--green-soft:#dff3e9}
body.contrast .card,body.contrast .feature,body.contrast .sum-card,body.contrast .ref-box,
body.contrast .cnae-card,body.contrast .cst-item,body.contrast .be-list li{border-width:2px}
body.contrast .lede,body.contrast .page-sub,body.contrast .card-note,body.contrast small{color:#243038}

/* botão flutuante */
.a11y-fab{position:fixed;right:16px;bottom:16px;z-index:900;width:52px;height:52px;border-radius:50%;
  border:0;background:var(--navy);color:#fff;font-size:1.5rem;cursor:pointer;box-shadow:var(--shadow-lg)}
.a11y-fab:hover{background:var(--petrol)}
.a11y-panel{position:fixed;right:16px;top:96px;z-index:901;width:280px;max-width:calc(100vw - 32px);
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:16px}
.a11y-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.a11y-head strong{font-family:var(--font-display);color:var(--navy)}
.a11y-close{background:none;border:0;font-size:1.1rem;color:var(--slate);cursor:pointer}
.a11y-group{border:0;margin:0 0 12px}
.a11y-group legend{font-size:.82rem;font-weight:600;color:var(--navy);margin-bottom:.4rem}
.a11y-seg{display:flex;gap:.4rem}
.seg-btn{flex:1;border:1px solid var(--line);background:#fff;border-radius:var(--radius-sm);padding:.5rem;cursor:pointer;font-weight:700;color:var(--navy)}
.seg-btn[aria-pressed="true"]{background:var(--green);color:#fff;border-color:var(--green)}
.a11y-toggle{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;font-size:.92rem;color:var(--navy);cursor:pointer}
.a11y-toggle input{width:18px;height:18px;accent-color:var(--green)}
.a11y-note{font-size:.76rem;color:var(--slate-light);margin-top:8px}

/* linguagem simples */
.plain-only,.plain-hint{display:none}
body.plain-lang .plain-only{display:block}
body.plain-lang .plain-hint{display:block;font-size:.88rem;color:var(--green);background:var(--green-soft);
  border-left:3px solid var(--green);border-radius:6px;padding:.5rem .7rem;margin-top:.5rem}
.plain-summary{display:none}
body.plain-lang .plain-summary[data-has="1"]{display:block;font-size:1.02rem;line-height:1.6;color:var(--navy);
  background:var(--green-soft);border:1px solid #cdeede;border-radius:var(--radius);padding:16px 18px;margin-bottom:18px}

/* citação por norma nos resultados */
.cite-link{font-size:.72rem;font-weight:600;color:var(--green);text-decoration:none;border:1px solid #cdeede;
  background:var(--green-soft);border-radius:999px;padding:.05rem .45rem;margin-left:.35rem;white-space:nowrap}
.cite-link:hover{background:var(--green);color:#fff}

/* toast e citações do resultado */
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);z-index:1000;
  background:var(--navy);color:#fff;padding:.7rem 1.1rem;border-radius:999px;font-weight:600;font-size:.9rem;
  box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.result-cites{margin-top:12px;font-size:.82rem;color:var(--slate);display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}

/* Diagnóstico / testes */
.footer-diag{background:none;border:0;color:#9FB0BC;font-size:.82rem;font-weight:600;cursor:pointer;margin-top:.5rem;text-decoration:underline;display:block}
.footer-diag:hover{color:#fff}
.test-summary{margin:14px 0;padding:12px 16px;border-radius:var(--radius-sm);font-weight:700}
.test-summary.all-ok{background:var(--green-soft);border:1px solid #cdeede;color:#0d5e3f}
.test-summary.has-fail{background:var(--red-soft);border:1px solid #f1cfc9;color:var(--red)}

/* Novidades / changelog */
.changelog{display:flex;flex-direction:column;gap:16px;position:relative}
.cl-item{background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);
  border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}
.cl-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:6px}
.cl-head h3{font-family:var(--font-display);font-size:1.08rem;color:var(--navy);margin:0;flex:1 1 auto}
.cl-ver{background:var(--navy);color:#fff;font-weight:700;font-size:.78rem;padding:.18rem .55rem;border-radius:999px;white-space:nowrap}
.cl-tag{background:var(--green);color:#fff;font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:.16rem .5rem;border-radius:999px}
.cl-date{color:var(--slate-light);font-size:.82rem;white-space:nowrap}
.cl-resumo{color:var(--slate);font-size:.95rem;margin:.2rem 0 .6rem}
.cl-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem}
.cl-list li{font-size:.92rem;color:var(--ink);line-height:1.5}
body.contrast .cl-item{border-width:2px;border-left-width:4px}
body.contrast .cl-resumo{color:#243038}

/* Trajetória da Reforma (0.5) */
.traj-chart{position:relative;height:260px;margin:12px 0}
@media(max-width:560px){.traj-chart{height:300px}}
.h2-sub{display:block;font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--slate);margin-top:.2rem;letter-spacing:0}
