/*
Theme Name: MAAV Drive
Theme URI: https://maavdrive.com
Author: MAAV Drive
Author URI: https://maavdrive.com
Description: Tema profissional para portal de legislação e conformidade de transporte na UE (tacógrafo, CAM, ADR, Pacote da Mobilidade). Visual editorial navy + âmbar, tipografia Manrope/Inter, ferramentas práticas incluídas.
Version: 1.1.11
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maavdrive
*/

/* ============================ Tokens ============================ */
:root{
  --navy-950:#060f1c; --navy-900:#0a1a2f; --navy-800:#0f2942; --navy-700:#153a5c;
  --navy-600:#1c4b73; --navy-500:#245f8f; --navy-400:#3d7cad; --navy-300:#6ba3cc;
  --navy-200:#a8cbe4; --navy-100:#d6e6f2;
  --amber-700:#92400e; --amber-600:#b45309; --amber-500:#d97706; --amber-400:#f59e0b;
  --primary:#123a5c; --accent:#d97706; --accent-fg:#3a2408;
  --bg:#fbfcfd; --surface:#eef2f7; --card:#ffffff;
  --fg:#0f2440; --muted:#54657a; --border:#dbe3ec;
  --radius:.75rem; --radius-sm:.5rem;
  --shadow-sm:0 1px 3px rgba(10,26,47,.08),0 1px 2px -1px rgba(10,26,47,.06);
  --shadow-md:0 4px 12px -2px rgba(10,26,47,.10),0 2px 6px -2px rgba(10,26,47,.06);
  --shadow-lg:0 18px 40px -12px rgba(10,26,47,.22);
  --max:1200px;
}

/* ============================ Base ============================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);
  font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:Manrope,Inter,sans-serif;color:var(--primary);
  line-height:1.15;letter-spacing:-.015em;margin:0 0 .4em;text-wrap:balance}
h1{font-size:clamp(2rem,4vw + 1rem,3.25rem);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,2vw + .5rem,2.15rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1rem;text-wrap:pretty}
a{color:var(--primary);text-decoration:none;transition:color .2s}
a:hover{color:var(--amber-700)}
img{max-width:100%;height:auto;display:block}
ul{margin:0;padding:0}
:focus-visible{outline:2px solid var(--amber-500);outline-offset:2px;border-radius:3px}
::selection{background:rgba(217,119,6,.2)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.container{max-width:var(--max);margin-inline:auto;padding-inline:1rem;width:100%}
@media(min-width:640px){.container{padding-inline:1.5rem}}
@media(min-width:1024px){.container{padding-inline:2rem}}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;color:var(--amber-700);margin:0 0 .5rem}
.section{padding-block:clamp(3rem,6vw,6rem)}
.section--surface{background:var(--surface);border-block:1px solid var(--border)}
.muted{color:var(--muted)}
.center{text-align:center}
.skip-link{position:absolute;left:-999px}
.skip-link:focus{left:1rem;top:1rem;z-index:100;background:var(--primary);color:#fff;
  padding:.5rem 1rem;border-radius:var(--radius-sm);font-weight:600}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============================ Buttons ============================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:Inter,sans-serif;font-weight:600;font-size:.95rem;line-height:1;
  padding:.8rem 1.25rem;border-radius:var(--radius-sm);border:1px solid transparent;
  cursor:pointer;transition:background-color .2s,box-shadow .2s,transform .1s,border-color .2s;
  touch-action:manipulation;text-align:center}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-sm)}
.btn--primary:hover{background:var(--amber-400);color:var(--accent-fg);box-shadow:var(--shadow-md)}
.btn--navy{background:var(--primary);color:#fff}
.btn--navy:hover{background:var(--navy-700);color:#fff}
.btn--outline{background:var(--card);color:var(--primary);border-color:var(--border)}
.btn--outline:hover{border-color:var(--navy-300);background:var(--surface);color:var(--primary)}
.btn--light{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.25);backdrop-filter:blur(4px)}
.btn--light:hover{background:rgba(255,255,255,.14);color:#fff}
.btn--sm{padding:.55rem .9rem;font-size:.875rem}
.btn--lg{padding:.95rem 1.5rem;font-size:1rem}
.btn--block{width:100%}

/* ============================ Badge ============================ */
.badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;
  font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.25rem .6rem}
.badge--accent{background:rgba(217,119,6,.12);color:var(--amber-700)}
.badge--solid{background:var(--accent);color:var(--accent-fg)}
.badge--navy{background:rgba(18,58,92,.08);color:var(--primary)}
.badge--neutral{background:var(--surface);color:var(--muted);text-transform:none;letter-spacing:0;font-weight:600}

/* ============================ Card ============================ */
.card{position:relative;background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s,border-color .3s}
.card--hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--navy-300)}
.card__pad{padding:1.5rem}

/* ============================ Header ============================ */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;
  background:rgba(251,252,253,.8);backdrop-filter:blur(8px);
  border-bottom:1px solid transparent;transition:background-color .3s,border-color .3s,box-shadow .3s}
.site-header.scrolled{background:rgba(251,252,253,.9);border-bottom-color:var(--border);box-shadow:var(--shadow-sm)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:64px}
@media(min-width:1024px){.site-header__inner{height:72px}}
.brand{display:inline-flex;align-items:center;gap:.65rem}
.brand__word{display:flex;flex-direction:column;line-height:1}
.brand__name{font-family:Manrope;font-weight:800;font-size:1.15rem;color:var(--primary);letter-spacing:-.02em}
.brand__name b{color:var(--accent);font-weight:800}
.brand__tag{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin-top:.2rem}
.nav-desktop{display:none}
@media(min-width:1024px){.nav-desktop{display:block}}
.nav-desktop ul{display:flex;align-items:center;gap:.25rem;list-style:none}
.nav-desktop a{display:inline-flex;align-items:center;height:40px;padding:0 .75rem;border-radius:var(--radius-sm);
  font-size:.9rem;font-weight:500;color:rgba(15,36,64,.8)}
.nav-desktop a:hover,.nav-desktop .current-menu-item>a{background:var(--surface);color:var(--primary)}
.header__actions{display:flex;align-items:center;gap:.5rem}
.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
  border:0;background:none;color:var(--primary);border-radius:var(--radius-sm);cursor:pointer}
.menu-toggle:hover{background:var(--surface)}
@media(min-width:1024px){.menu-toggle{display:none}.header-cta{display:inline-flex}}
.header-cta{display:none}
@media(min-width:640px){.header-cta{display:inline-flex}}
.nav-mobile{display:none;border-top:1px solid var(--border);background:var(--bg)}
.nav-mobile.open{display:block}
.nav-mobile ul{list-style:none;padding:1rem 0}
.nav-mobile a{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;
  font-size:1rem;font-weight:500;color:var(--fg);border-radius:var(--radius-sm)}
.nav-mobile a:hover{background:var(--surface)}
@media(min-width:1024px){.nav-mobile{display:none!important}}

/* ============================ Hero ============================ */
.hero{position:relative;overflow:hidden;background:var(--primary);color:#fff;padding-top:64px}
@media(min-width:1024px){.hero{padding-top:72px}}
.hero__dots{position:absolute;inset:0;opacity:.35;pointer-events:none;
  background-image:radial-gradient(circle at 1px 1px,rgba(109,163,204,.18) 1px,transparent 0);background-size:26px 26px}
.hero__glow{position:absolute;right:-10rem;top:-10rem;width:36rem;height:36rem;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(36,95,143,.55),transparent 70%)}
.hero__inner{position:relative;display:grid;gap:2.5rem;align-items:center;
  padding-block:clamp(3rem,6vw,6rem)}
@media(min-width:1024px){.hero__inner{grid-template-columns:1.05fr .95fr;gap:3rem}}
.hero h1{color:#fff}
.hero__pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.05);border-radius:999px;padding:.4rem .8rem;font-size:.75rem;font-weight:600;color:var(--navy-100)}
.hero__lead{max-width:34rem;font-size:1.125rem;color:var(--navy-100);margin-top:1.5rem}
.hero__accent{color:var(--accent);position:relative;white-space:nowrap}
.hero__cta{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem}
@media(min-width:640px){.hero__cta{flex-direction:row}}
.hero__proof{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:2rem;list-style:none}
.hero__proof li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--navy-100)}
.hero__art{filter:drop-shadow(0 20px 40px rgba(0,0,0,.35))}

/* ============================ Stats ============================ */
.stats{display:grid;grid-template-columns:repeat(2,1fr);background:var(--card);border-bottom:1px solid var(--border)}
@media(min-width:1024px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{padding:1.75rem 1rem;border-bottom:1px solid var(--border)}
@media(min-width:1024px){.stat{padding:2.25rem 2rem;border-bottom:0;border-left:1px solid var(--border)}
  .stat:first-child{border-left:0}}
.stat__num{font-family:Manrope;font-size:2.5rem;font-weight:800;color:var(--primary);letter-spacing:-.02em;display:block;line-height:1}
.stat__label{display:block;margin-top:.35rem;font-size:.875rem;font-weight:600}
.stat__sub{display:block;font-size:.75rem;color:var(--muted)}

/* ============================ Grid helpers ============================ */
.grid{display:grid;gap:1.5rem}
.grid--2{grid-template-columns:1fr}
.grid--3{grid-template-columns:1fr}
.grid--4{grid-template-columns:1fr}
@media(min-width:640px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}}
.section__head{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem}
@media(min-width:640px){.section__head{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.section__head p{max-width:36rem;margin:.75rem 0 0;color:var(--muted);font-size:1.05rem}

/* ============================ Category / icon cards ============================ */
.cat-card{display:flex;flex-direction:column;height:100%;padding:1.5rem;text-decoration:none}
.cat-card .ico{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;
  border-radius:var(--radius);background:var(--primary);color:#fff}
.cat-card:hover .ico{background:var(--navy-700)}
.cat-card h3{margin:1.25rem 0 .35rem}
.cat-card .desc{flex:1;font-size:.875rem;color:var(--muted);margin:.75rem 0 0}
.cat-card .more{margin-top:1.25rem;display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;color:var(--amber-700)}

/* ============================ Post / article cards ============================ */
.post-card{display:flex;flex-direction:column;height:100%;overflow:hidden}
.post-card__thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy-700)}
.post-card__thumb img{width:100%;height:100%;object-fit:cover}
.post-card__cat{position:absolute;left:1rem;top:1rem}
.post-card__body{display:flex;flex-direction:column;flex:1;padding:1.25rem}
.post-card__body h3{font-size:1.1rem;line-height:1.3}
.post-card__body .excerpt{flex:1;font-size:.875rem;color:var(--muted);margin:.6rem 0 0}
.post-card__meta{display:flex;gap:1rem;border-top:1px solid var(--border);margin-top:1rem;padding-top:.85rem;
  font-size:.75rem;font-weight:500;color:var(--muted)}
.post-card__meta span{display:inline-flex;align-items:center;gap:.35rem}

/* ============================ Article (single) ============================ */
.article{max-width:68ch;margin-inline:auto}
.article p{color:var(--fg);line-height:1.75}
.article h2{margin-top:2.25rem}
.article h3{margin-top:1.75rem}
.article ul.bullets{list-style:none;margin:1rem 0}
.article ul.bullets li{position:relative;padding-left:1.5rem;margin:.6rem 0}
.article ul.bullets li::before{content:"";position:absolute;left:0;top:.55rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--accent)}
.note{display:flex;gap:.75rem;border:1px solid rgba(217,119,6,.3);background:rgba(217,119,6,.08);
  border-radius:var(--radius);padding:1rem;margin:1.5rem 0;font-size:.9rem}

/* ============================ Page header (inner) ============================ */
.page-hero{position:relative;overflow:hidden;background:var(--primary);color:#fff;padding-top:64px}
@media(min-width:1024px){.page-hero{padding-top:72px}}
.page-hero__inner{position:relative;padding-block:clamp(2.5rem,5vw,4rem)}
.page-hero h1{color:#fff}
.page-hero p{color:var(--navy-100);max-width:40rem;font-size:1.1rem;margin-top:1rem}
.breadcrumb{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;font-size:.85rem;color:var(--navy-200);margin-bottom:1.25rem}
.breadcrumb a{color:var(--navy-200)}.breadcrumb a:hover{color:var(--accent)}

/* ============================ Tables (fines) ============================ */
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);margin-top:1rem}
table.data{width:100%;border-collapse:collapse;font-size:.9rem;min-width:420px}
table.data thead{background:var(--primary);color:#fff}
table.data th,table.data td{text-align:left;padding:.75rem 1rem}
table.data tbody tr:nth-child(even){background:var(--surface)}
table.data tbody tr{border-top:1px solid var(--border)}

/* ============================ FAQ ============================ */
.faq details{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:1.25rem;margin-bottom:.75rem}
.faq summary{cursor:pointer;font-weight:700;color:var(--primary);list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq details[open] summary{margin-bottom:.5rem}

/* ============================ Tools ============================ */
.tool-block{scroll-margin-top:6rem}
.tool-head{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:1.5rem}
.tool-head .ico{flex:none;width:2.75rem;height:2.75rem;border-radius:var(--radius);background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.calc{display:grid;gap:1.5rem}
@media(min-width:1024px){.calc{grid-template-columns:1fr 1fr}}
.field{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem}
.field legend{font-size:.875rem;font-weight:600;padding:0 .25rem}
.field input[type=number]{width:4rem;height:2.75rem;text-align:center;font-size:1.1rem;font-weight:700;color:var(--primary);
  border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card)}
.check-row{display:flex;align-items:center;gap:.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;font-size:.9rem;margin-top:.5rem}
.calc-result{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}
.calc-result li{list-style:none;background:var(--card);border-radius:var(--radius-sm);padding:.85rem;margin-top:.65rem;box-shadow:var(--shadow-sm)}
.calc-result .k{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}
.calc-result .v{font-size:1.15rem;font-weight:800;color:var(--primary);margin-top:.15rem}
.calc-result .v.warn{color:#b91c1c}
.adr-progress{position:sticky;top:72px;z-index:10;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);
  border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1.5rem}
.adr-bar{height:.5rem;border-radius:999px;background:var(--surface);overflow:hidden;margin-top:.75rem}
.adr-bar>span{display:block;height:100%;background:var(--accent);width:0;transition:width .3s;border-radius:999px}
.adr-bar>span.done{background:#059669}
.adr-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:1.25rem;margin-top:1.25rem}
.adr-group>legend{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--amber-700);padding:0 .25rem}
.adr-item{display:flex;gap:.75rem;align-items:flex-start;padding:.6rem;border-radius:var(--radius-sm);cursor:pointer}
.adr-item:hover{background:var(--surface)}
.adr-item input{margin-top:.2rem;width:1.25rem;height:1.25rem;accent-color:var(--amber-700)}
.adr-item.checked span{color:var(--muted);text-decoration:line-through}
.cab-grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:640px){.cab-grid{grid-template-columns:repeat(3,1fr)}}
.cab-num{text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:1.25rem}
.cab-num b{font-family:Manrope;font-size:3rem;font-weight:800;color:var(--primary);display:block;line-height:1}
.cab-num i{font-style:normal;font-size:.8rem;font-weight:700;text-transform:uppercase;color:var(--amber-700)}

/* ============================ Forms ============================ */
.input{width:100%;height:2.75rem;padding:0 .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);font:inherit}
textarea.input{height:auto;padding:.6rem .75rem}
label.lbl{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}

/* ============================ Newsletter ============================ */
.newsletter{position:relative;overflow:hidden;border-radius:1rem;background:var(--primary);color:#fff;padding:clamp(2.5rem,5vw,4rem) 1.5rem;text-align:center}
.newsletter h2{color:#fff}.newsletter p{color:var(--navy-100)}
.newsletter form{display:flex;flex-direction:column;gap:.75rem;max-width:28rem;margin:2rem auto 0}
@media(min-width:640px){.newsletter form{flex-direction:row}}
.newsletter .input{flex:1}

/* ============================ Footer ============================ */
.site-footer{background:var(--navy-950);color:var(--navy-100)}
.site-footer .container{padding-block:3.5rem}
.footer-grid{display:grid;gap:2.5rem;grid-template-columns:1fr}
@media(min-width:1024px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.footer-col h3{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}
.footer-col ul{list-style:none;margin-top:1rem}
.footer-col li{margin:.65rem 0}
.footer-col a{color:var(--navy-200);font-size:.9rem}.footer-col a:hover{color:var(--accent)}
.footer-legal{margin-top:3rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);border-radius:var(--radius-sm);padding:1rem;font-size:.78rem;color:var(--navy-200)}
.footer-bottom{margin-top:2rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:space-between}
@media(min-width:640px){.footer-bottom{flex-direction:row}}
.social{display:flex;gap:.5rem}
.social a{display:inline-flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--navy-100)}
.social a:hover{border-color:var(--accent);color:var(--accent)}
.flag{display:inline-flex;width:2.5rem;height:1.75rem;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.1)}

/* ============================ Reveal ============================ */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* WP core alignments */
.alignwide{max-width:1000px;margin-inline:auto}
.wp-caption,.gallery{margin-bottom:1rem}

/* ==========================================================================
   MAAVDRIVE PREMIUM LAYER — v1
   Camada de refinamento visual. NÃO altera as cores da identidade MAAVDrive:
   reutiliza exclusivamente os tokens navy/âmbar já definidos em :root.
   Para reverter, apague tudo entre este comentário e o marcador FIM.
   ========================================================================== */

:root{
  /* Escala de espaçamento (ritmo vertical consistente) */
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-5:1.5rem;
  --sp-6:2rem; --sp-7:2.5rem; --sp-8:3rem; --sp-9:4rem; --sp-10:5rem; --sp-11:6.5rem;

  /* Raios harmonizados */
  --radius-xs:.375rem;
  --radius-sm:.625rem;
  --radius:.875rem;
  --radius-lg:1.125rem;
  --radius-xl:1.5rem;
  --radius-pill:999px;

  /* Elevação — sombras em navy, mais suaves e em camadas */
  --shadow-xs:0 1px 2px rgba(10,26,47,.06);
  --shadow-sm:0 1px 2px rgba(10,26,47,.05), 0 2px 6px -2px rgba(10,26,47,.07);
  --shadow-md:0 2px 4px -1px rgba(10,26,47,.05), 0 8px 20px -6px rgba(10,26,47,.10);
  --shadow-lg:0 4px 8px -2px rgba(10,26,47,.06), 0 20px 44px -14px rgba(10,26,47,.20);
  --shadow-xl:0 8px 16px -4px rgba(10,26,47,.08), 0 32px 68px -20px rgba(10,26,47,.26);
  --ring-accent:0 0 0 3px rgba(217,119,6,.28);
  --ring-navy:0 0 0 3px rgba(36,95,143,.26);

  /* Transições */
  --ease:cubic-bezier(.22,.61,.36,1);
  --t-fast:.16s var(--ease);
  --t:.24s var(--ease);

  --max:1200px;
  --measure:70ch;
}

/* ---------- Base / tipografia fluida ---------- */
html{ -webkit-text-size-adjust:100%; scroll-padding-top:88px; }
body{
  font-size:clamp(1rem, .97rem + .16vw, 1.0625rem);
  line-height:1.65;
  letter-spacing:-.002em;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{ letter-spacing:-.022em; text-wrap:balance; }
h1{ font-size:clamp(2.05rem, 1.35rem + 3.05vw, 3.6rem); line-height:1.07; }
h2{ font-size:clamp(1.6rem, 1.2rem + 1.75vw, 2.5rem); line-height:1.14; }
h3{ font-size:clamp(1.125rem, 1.02rem + .48vw, 1.375rem); line-height:1.28; }
h4{ font-size:1.0625rem; line-height:1.35; }
p{ text-wrap:pretty; }
p:last-child{ margin-bottom:0; }
a{ transition:color var(--t-fast), background-color var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast); }

/* Foco visível e consistente em todo o site (acessibilidade) */
:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:var(--radius-xs);
}

/* ---------- Container e ritmo de secções ---------- */
.container{
  width:100%;
  max-width:var(--max);
  margin-inline:auto;
  padding-inline:clamp(1.125rem, .55rem + 2.1vw, 2rem);
}
.section{ padding-block:clamp(3.25rem, 2rem + 4.6vw, 6rem); }
.section--surface{ background:var(--surface); }
.section--tight{ padding-block:clamp(2.25rem, 1.5rem + 2.6vw, 3.75rem); }

/* Linha de separação subtil entre secções claras consecutivas */
.section + .section:not(.section--surface):not(:first-child){ padding-top:clamp(2.5rem,1.5rem+3.4vw,4.5rem); }

.eyebrow{
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--amber-600);
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-bottom:.65rem;
}
.eyebrow::before{
  content:"";
  width:1.5rem; height:2px;
  background:linear-gradient(90deg,var(--amber-500),rgba(217,119,6,0));
  border-radius:2px;
  flex:none;
}
.muted{ color:var(--muted); }

/* ---------- Cabeçalho de secção ---------- */
.section__head{
  display:grid;
  gap:1.25rem 2.5rem;
  align-items:end;
  margin-bottom:clamp(1.75rem,1.1rem+2vw,2.75rem);
}
.section__head > div{ max-width:60ch; }
.section__head h2{ margin:0 0 .6rem; }
.section__head p{ margin:0; color:var(--muted); font-size:1.0625rem; line-height:1.6; }
.section__head > .btn{ justify-self:start; }
@media(min-width:860px){
  .section__head{ grid-template-columns:minmax(0,1fr) auto; }
  .section__head > .btn{ justify-self:end; margin-bottom:.15rem; }
}

/* ---------- Grelhas ---------- */
.grid{ display:grid; gap:clamp(1rem,.7rem+.9vw,1.5rem); }
.grid--2{ grid-template-columns:1fr; }
.grid--3{ grid-template-columns:1fr; }
.grid--4{ grid-template-columns:1fr; }
@media(min-width:600px){
  .grid--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .grid--3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .grid--4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:980px){
  .grid--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .grid--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-weight:650; font-size:.9375rem; line-height:1.2;
  padding:.75rem 1.25rem;
  min-height:44px;
  border-radius:var(--radius-pill);
  border:1px solid transparent;
  cursor:pointer;
  text-decoration:none;
  white-space:nowrap;
  transition:transform var(--t-fast), box-shadow var(--t), background-color var(--t-fast), border-color var(--t-fast), color var(--t-fast);
}
.btn svg{ flex:none; transition:transform var(--t-fast); }
.btn:hover svg{ transform:translateX(2px); }
.btn:active{ transform:translateY(1px); }
.btn:focus-visible{ outline:none; box-shadow:var(--ring-accent); }

.btn--primary{ background:var(--accent); color:#fff; box-shadow:0 1px 2px rgba(146,64,14,.2), 0 6px 16px -6px rgba(217,119,6,.45); }
.btn--primary:hover{ background:var(--amber-600); box-shadow:0 2px 4px rgba(146,64,14,.22), 0 10px 24px -8px rgba(217,119,6,.55); transform:translateY(-1px); }

.btn--navy{ background:var(--primary); color:#fff; box-shadow:0 1px 2px rgba(10,26,47,.24), 0 6px 16px -6px rgba(15,41,66,.4); }
.btn--navy:hover{ background:var(--navy-800); transform:translateY(-1px); box-shadow:0 2px 4px rgba(10,26,47,.26), 0 12px 26px -8px rgba(15,41,66,.5); }

.btn--outline{ background:var(--card); color:var(--primary); border-color:var(--border); box-shadow:var(--shadow-xs); }
.btn--outline:hover{ background:#fff; border-color:var(--navy-300); color:var(--navy-700); box-shadow:var(--shadow-sm); transform:translateY(-1px); }

.btn--light{ background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.28); backdrop-filter:blur(6px); }
.btn--light:hover{ background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.5); transform:translateY(-1px); }

.btn--sm{ padding:.55rem 1rem; font-size:.875rem; min-height:40px; }
.btn--lg{ padding:.95rem 1.75rem; font-size:1.0625rem; min-height:52px; }
.btn--block{ width:100%; }
.btn--ghost{ background:transparent; color:var(--primary); border-color:transparent; }
.btn--ghost:hover{ background:var(--surface); }

/* ---------- Badges ---------- */
.badge{
  display:inline-flex; align-items:center; gap:.35rem;
  font-size:.6875rem; font-weight:700;
  letter-spacing:.045em; text-transform:uppercase;
  padding:.3rem .6rem;
  border-radius:var(--radius-xs);
  line-height:1.25;
  white-space:nowrap;
}
.badge--neutral{ background:var(--surface); color:var(--navy-600); border:1px solid var(--border); text-transform:none; letter-spacing:.01em; font-weight:650; font-size:.72rem; }
.badge--accent{ background:rgba(217,119,6,.12); color:var(--amber-700); border:1px solid rgba(217,119,6,.24); }
.badge--navy{ background:rgba(36,95,143,.1); color:var(--navy-700); border:1px solid rgba(36,95,143,.2); }
.badge--solid{ background:var(--accent); color:#fff; box-shadow:0 2px 8px -2px rgba(146,64,14,.5); }

/* ---------- Cards (base) ---------- */
.card{
  position:relative;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  transition:transform var(--t), box-shadow var(--t), border-color var(--t);
}
.card--hover:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-lg);
  border-color:var(--navy-200);
}
.card--hover:focus-within{
  box-shadow:var(--shadow-lg), var(--ring-navy);
  border-color:var(--navy-300);
}
.card__pad{ padding:clamp(1.25rem,1rem+.7vw,1.75rem); }

/* ---------- Cards de área / legislação ---------- */
.cat-card{
  display:flex; flex-direction:column;
  gap:.7rem;
  padding:clamp(1.25rem,1rem+.7vw,1.6rem);
  height:100%;
  text-decoration:none;
  color:inherit;
}
.cat-card::after{
  content:"";
  position:absolute; inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,var(--amber-400),var(--amber-600));
  opacity:0;
  transition:opacity var(--t);
}
.cat-card:hover::after,.cat-card:focus-visible::after{ opacity:1; }
.cat-card .ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px;
  border-radius:var(--radius);
  background:linear-gradient(145deg,var(--navy-800),var(--navy-900));
  color:#fff;
  box-shadow:0 6px 16px -8px rgba(10,26,47,.7);
  transition:transform var(--t), background var(--t), box-shadow var(--t);
  flex:none;
}
.cat-card .ico svg{ width:26px; height:26px; }
.cat-card:hover .ico{
  transform:translateY(-2px) scale(1.04);
  background:linear-gradient(145deg,var(--amber-500),var(--amber-600));
  box-shadow:0 8px 20px -8px rgba(146,64,14,.65);
}
.cat-card h3{ margin:.25rem 0 0; color:var(--primary); font-size:1.1875rem; }
.cat-card .badge{ align-self:flex-start; }
.cat-card .desc{ color:var(--muted); font-size:.9375rem; line-height:1.6; }
.cat-card .more{
  margin-top:auto; padding-top:.35rem;
  display:inline-flex; align-items:center; gap:.4rem;
  font-weight:700; font-size:.875rem; color:var(--amber-600);
}
.cat-card .more svg{ transition:transform var(--t-fast); }
.cat-card:hover .more svg{ transform:translateX(3px); }
@media(min-width:980px){
  /* alinha os badges e as descrições entre os 4 cards */
  .cat-card h3{ min-height:2.56em; display:flex; align-items:flex-start; }
  .cat-card .desc{ min-height:4.8em; }
}

/* ---------- Cards de artigo ---------- */
.post-card{ display:flex; flex-direction:column; height:100%; }
.post-card__thumb{
  position:relative; display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--navy-800);
}
.post-card__thumb img,.post-card__thumb svg{
  width:100%; height:100%;
  object-fit:cover; display:block;
  transition:transform .5s var(--ease);
}
.post-card:hover .post-card__thumb img,.post-card:hover .post-card__thumb svg{ transform:scale(1.05); }
.post-card__thumb::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(6,15,28,0) 45%,rgba(6,15,28,.42));
  pointer-events:none;
}
.post-card__cat{ position:absolute; left:.875rem; top:.875rem; z-index:2; }
.post-card__body{
  display:flex; flex-direction:column; gap:.6rem;
  padding:1.15rem 1.25rem 1.25rem;
  flex:1;
}
.post-card__body h3{ margin:0; font-size:1.0625rem; line-height:1.35; }
.post-card__body h3 a{ color:var(--primary); text-decoration:none; background-image:linear-gradient(var(--amber-500),var(--amber-500)); background-size:0 2px; background-repeat:no-repeat; background-position:0 100%; transition:background-size var(--t), color var(--t-fast); }
.post-card__body h3 a:hover{ color:var(--navy-700); background-size:100% 2px; }
.post-card__body .excerpt{ color:var(--muted); font-size:.9375rem; line-height:1.62; margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.post-card__meta{
  margin-top:auto; padding-top:.9rem;
  border-top:1px solid var(--border);
  display:flex; flex-wrap:wrap; gap:.35rem 1rem;
  font-size:.8125rem; color:var(--muted);
}
.post-card__meta span{ display:inline-flex; align-items:center; gap:.35rem; }
.post-card__meta svg{ width:14px; height:14px; opacity:.75; }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid rgba(219,227,236,.9);
  transition:box-shadow var(--t), background var(--t), border-color var(--t);
}
.site-header.scrolled{
  background:rgba(255,255,255,.94);
  box-shadow:0 1px 0 rgba(219,227,236,.9), 0 8px 24px -18px rgba(10,26,47,.45);
}
.admin-bar .site-header{ top:32px; }
@media(max-width:782px){ .admin-bar .site-header{ top:46px; } }

.site-header__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem;
  min-height:70px;
  padding-block:.6rem;
}
@media(min-width:1240px){ .site-header__inner{ min-height:76px; gap:1.5rem; } }

.brand{ display:inline-flex; align-items:center; gap:.65rem; text-decoration:none; }
.brand svg{ flex:none; }
.brand__word{ display:flex; flex-direction:column; line-height:1.05; }
.brand__name{ font-family:inherit; font-weight:800; font-size:1.15rem; letter-spacing:-.03em; color:var(--primary); white-space:nowrap; }
.brand__name b{ color:var(--accent); font-weight:800; }
.brand__tag{
  font-size:.625rem; font-weight:650; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); white-space:nowrap; margin-top:.15rem;
}
@media(max-width:400px){ .brand__tag{ display:none; } }

/* Navegação desktop — breakpoint subido para 1180px para nunca quebrar em duas linhas */
.nav-desktop{ display:none; }
@media(min-width:1240px){ .nav-desktop{ display:block; flex:1; } }
.nav-desktop ul{
  display:flex; align-items:center; justify-content:center;
  gap:.15rem; list-style:none; margin:0; padding:0;
  flex-wrap:nowrap;
}
.nav-desktop li{ flex:none; }
.nav-desktop a{
  position:relative; display:block;
  padding:.55rem .7rem;
  border-radius:var(--radius-sm);
  font-size:.9375rem; font-weight:600;
  color:var(--navy-700); text-decoration:none;
  white-space:nowrap;
  transition:color var(--t-fast), background-color var(--t-fast);
}
.nav-desktop a::after{
  content:""; position:absolute;
  left:.7rem; right:.7rem; bottom:.3rem; height:2px;
  border-radius:2px;
  background:var(--accent);
  transform:scaleX(0); transform-origin:left;
  transition:transform var(--t);
}
.nav-desktop a:hover{ color:var(--primary); background:rgba(238,242,247,.85); }
.nav-desktop a:hover::after,
.nav-desktop .current-menu-item>a::after,
.nav-desktop .current_page_item>a::after,
.nav-desktop .current-menu-ancestor>a::after{ transform:scaleX(1); }
.nav-desktop .current-menu-item>a,
.nav-desktop .current_page_item>a,
.nav-desktop .current-menu-ancestor>a{ color:var(--primary); font-weight:700; background:transparent; }

/* Submenus */
.nav-desktop .menu-item-has-children{ position:relative; }
.nav-desktop .sub-menu{
  position:absolute; left:0; top:calc(100% + .5rem);
  min-width:220px;
  display:block; flex-direction:column; align-items:stretch;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
  padding:.4rem;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity var(--t), transform var(--t), visibility var(--t);
  z-index:70;
}
.nav-desktop .menu-item-has-children:hover > .sub-menu,
.nav-desktop .menu-item-has-children:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.nav-desktop .sub-menu a{ white-space:normal; padding:.55rem .7rem; }
.nav-desktop .sub-menu a::after{ display:none; }

.header__actions{ display:flex; align-items:center; gap:.6rem; flex:none; }
.header-cta{ display:none; }
@media(min-width:640px){ .header-cta{ display:inline-flex; } }

.menu-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px;
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
  background:var(--card);
  color:var(--primary);
  cursor:pointer;
  transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);
}
.menu-toggle:hover{ background:var(--surface); border-color:var(--navy-300); }
.menu-toggle[aria-expanded="true"]{ background:var(--primary); color:#fff; border-color:var(--primary); }
@media(min-width:1240px){ .menu-toggle{ display:none; } }

/* Menu mobile */
.nav-mobile{
  display:block;
  max-height:0; overflow:hidden;
  background:var(--card);
  border-bottom:1px solid transparent;
  transition:max-height .32s var(--ease), border-color var(--t), box-shadow var(--t);
}
.nav-mobile.open{
  max-height:min(78vh,640px);
  overflow-y:auto;
  border-bottom-color:var(--border);
  box-shadow:0 18px 34px -22px rgba(10,26,47,.5);
}
.nav-mobile ul{ list-style:none; margin:0; padding:.5rem 0 1rem; display:flex; flex-direction:column; gap:.15rem; }
.nav-mobile a{
  display:flex; align-items:center; justify-content:space-between;
  padding:.85rem .9rem;
  min-height:48px;
  border-radius:var(--radius-sm);
  font-size:1rem; font-weight:600;
  color:var(--navy-700); text-decoration:none;
  transition:background var(--t-fast), color var(--t-fast);
}
.nav-mobile a:hover{ background:var(--surface); color:var(--primary); }
.nav-mobile .current-menu-item>a,.nav-mobile .current_page_item>a{
  background:rgba(217,119,6,.1); color:var(--amber-700); font-weight:700;
  box-shadow:inset 3px 0 0 var(--accent);
}
.nav-mobile .sub-menu{ padding:.15rem 0 .15rem .9rem; }
.nav-mobile .sub-menu a{ font-size:.9375rem; font-weight:550; color:var(--muted); min-height:44px; }
@media(min-width:1240px){ .nav-mobile{ display:none; } }

/* ---------- Hero ---------- */
.hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(1100px 620px at 78% 18%, rgba(36,95,143,.42), transparent 62%),
    linear-gradient(158deg, var(--navy-800) 0%, var(--navy-900) 48%, var(--navy-950) 100%);
  color:#fff;
  padding-block:clamp(3rem,1.8rem+5.2vw,6rem);
  isolation:isolate;
}
.hero::before{
  content:""; position:absolute; inset:auto 0 -1px 0; height:120px;
  background:linear-gradient(180deg,rgba(251,252,253,0),rgba(251,252,253,.14));
  pointer-events:none; z-index:0;
}
.hero__glow{
  position:absolute; z-index:0; pointer-events:none;
  width:min(620px,72vw); aspect-ratio:1;
  right:-10%; top:-22%;
  background:radial-gradient(circle, rgba(217,119,6,.22), rgba(217,119,6,0) 66%);
  filter:blur(4px);
}
.hero__inner{
  position:relative; z-index:2;
  display:grid; gap:clamp(2.25rem,1.5rem+3vw,3.5rem);
  align-items:center;
}
@media(min-width:1024px){
  .hero__inner{ grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:3.5rem; }
}
.hero__pill{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.45rem .9rem;
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  font-size:.8125rem; font-weight:600; letter-spacing:.005em;
  color:var(--navy-100);
}
.hero__pill svg{ width:15px; height:15px; color:var(--amber-400); flex:none; }
.hero h1{ color:#fff; margin-top:1.35rem; margin-bottom:0; max-width:15ch; }
.hero__accent{
  color:var(--amber-400);
  background:linear-gradient(180deg,transparent 78%,rgba(245,158,11,.24) 78%);
}
.hero__lead{
  margin-top:1.15rem;
  max-width:56ch;
  font-size:clamp(1.0625rem,1rem+.32vw,1.1875rem);
  line-height:1.62;
  color:var(--navy-200);
}
.hero__cta{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.85rem; }
@media(max-width:479px){ .hero__cta .btn{ width:100%; } }
.hero__proof{
  list-style:none; margin:2rem 0 0; padding:1.35rem 0 0;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex; flex-wrap:wrap; gap:.6rem 1.5rem;
}
.hero__proof li{
  display:inline-flex; align-items:center; gap:.45rem;
  font-size:.875rem; font-weight:600;
  color:var(--navy-200);
}
.hero__proof li svg{ width:16px; height:16px; }
.hero__art{
  position:relative;
  width:100%; height:auto; max-width:560px;
  margin-inline:auto;
  filter:drop-shadow(0 32px 60px rgba(3,10,20,.55));
  border-radius:var(--radius-xl);
}
@media(max-width:1023px){ .hero__art{ max-width:460px; } }
@media(max-width:520px){ .hero__art{ max-width:330px; margin-top:.5rem; filter:drop-shadow(0 18px 36px rgba(3,10,20,.5)); } }

/* ---------- Barra de estatísticas ---------- */
.stats-wrap{ background:var(--card); border-bottom:1px solid var(--border); }
.stats{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
}
@media(min-width:900px){ .stats{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.stat{
  padding:clamp(1.25rem,1rem+.9vw,1.85rem) clamp(1rem,.7rem+.8vw,1.5rem);
  border-top:1px solid var(--border);
  border-left:1px solid var(--border);
  display:flex; flex-direction:column; gap:.15rem;
}
.stat:nth-child(-n+2){ border-top:0; }
.stat:nth-child(odd){ border-left:0; }
@media(min-width:900px){
  .stat{ border-top:0; }
  .stat:nth-child(odd){ border-left:1px solid var(--border); }
  .stat:first-child{ border-left:0; }
}
.stat__num{
  display:block;
  font-size:clamp(1.75rem,1.4rem+1.5vw,2.5rem);
  font-weight:800; line-height:1;
  letter-spacing:-.035em;
  color:var(--primary);
}
.stat__label{ display:block; margin-top:.5rem; font-weight:700; font-size:.9375rem; color:var(--fg); }
.stat__sub{ display:block; font-size:.8125rem; color:var(--muted); line-height:1.5; }

/* ---------- Page hero (páginas internas) ---------- */
.page-hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(760px 380px at 88% 8%, rgba(36,95,143,.36), transparent 62%),
    linear-gradient(150deg,var(--navy-800),var(--navy-950));
  color:#fff;
  padding-block:clamp(2.5rem,1.8rem+3.2vw,4.25rem);
}
.page-hero::after{
  content:""; position:absolute; right:-6%; top:-40%;
  width:min(420px,55vw); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(217,119,6,.18),transparent 68%);
  pointer-events:none;
}
.page-hero__inner{ position:relative; z-index:2; max-width:62ch; }
.page-hero h1{ color:#fff; margin:.65rem 0 0; }
.page-hero p{ margin:.9rem 0 0; color:var(--navy-200); font-size:1.0625rem; line-height:1.62; max-width:60ch; }
.page-hero .eyebrow{ color:var(--amber-400); }
.page-hero .eyebrow::before{ background:linear-gradient(90deg,var(--amber-400),rgba(245,158,11,0)); }

.breadcrumb{
  display:flex; flex-wrap:wrap; align-items:center; gap:.4rem;
  font-size:.8125rem; color:var(--navy-200);
  margin-bottom:.35rem;
}
.breadcrumb a{ color:var(--navy-100); text-decoration:none; border-bottom:1px solid transparent; }
.breadcrumb a:hover{ color:#fff; border-bottom-color:rgba(255,255,255,.5); }
.breadcrumb > span,.breadcrumb > svg{ opacity:.5; }

/* ---------- Artigo (leitura) ---------- */
.article{
  max-width:calc(760px + 2 * clamp(1.125rem,.55rem+2.1vw,2rem));
  font-size:clamp(1.0625rem,1.02rem+.22vw,1.125rem);
  line-height:1.78;
  color:var(--fg);
}
.article > *:first-child{ margin-top:0; }
.article p{ margin:0 0 1.35rem; }
.article h2{
  margin:2.75rem 0 1rem;
  font-size:clamp(1.4rem,1.2rem+.9vw,1.85rem);
  line-height:1.22;
  color:var(--primary);
  padding-top:1.4rem;
  border-top:1px solid var(--border);
}
.article h2:first-of-type{ border-top:0; padding-top:0; margin-top:2rem; }
.article h3{
  margin:2rem 0 .75rem;
  font-size:clamp(1.125rem,1.05rem+.4vw,1.3rem);
  color:var(--navy-700);
}
.article h4{ margin:1.5rem 0 .6rem; color:var(--navy-700); }
.article a{ color:var(--amber-700); text-decoration:underline; text-underline-offset:.18em; text-decoration-thickness:1px; }
.article a:hover{ color:var(--amber-600); text-decoration-thickness:2px; }
.article strong{ color:var(--navy-800); font-weight:700; }
.article img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-md); margin-block:1.75rem; }
.article figure{ margin:1.75rem 0; }
.article figcaption{ margin-top:.6rem; font-size:.875rem; color:var(--muted); text-align:center; }
.article blockquote{
  margin:1.75rem 0; padding:1.1rem 1.35rem;
  border-left:3px solid var(--accent);
  background:var(--surface);
  border-radius:0 var(--radius) var(--radius) 0;
  color:var(--navy-800); font-size:1.0625rem;
}
.article blockquote p:last-child{ margin-bottom:0; }
.article ul,.article ol{ margin:0 0 1.35rem; padding-left:1.35rem; }
.article li{ margin-bottom:.55rem; }
.article li::marker{ color:var(--accent); }
.article ul.bullets{ list-style:none; padding-left:0; }
.article ul.bullets li{ position:relative; padding-left:1.85rem; }
.article ul.bullets li::before{
  content:""; position:absolute; left:0; top:.62em;
  width:9px; height:9px; border-radius:3px;
  background:linear-gradient(135deg,var(--amber-400),var(--amber-600));
  box-shadow:0 1px 3px rgba(146,64,14,.4);
}
.article hr{ border:0; border-top:1px solid var(--border); margin:2.5rem 0; }

/* Caixa de destaque */
.note{
  margin:1.85rem 0;
  padding:1.15rem 1.35rem;
  background:linear-gradient(180deg,rgba(238,242,247,.85),rgba(238,242,247,.5));
  border:1px solid var(--border);
  border-left:3px solid var(--accent);
  border-radius:var(--radius);
  font-size:1rem; line-height:1.68;
  color:var(--navy-800);
  box-shadow:var(--shadow-xs);
}
.note strong{ color:var(--primary); }
.note p:last-child{ margin-bottom:0; }

/* ---------- Tabelas ---------- */
.table-wrap{
  margin:1.85rem 0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-xs);
  background:var(--card);
}
table.data{ width:100%; border-collapse:collapse; font-size:.9375rem; min-width:520px; }
table.data thead th{
  background:var(--primary); color:#fff;
  font-weight:650; text-align:left;
  font-size:.8125rem; letter-spacing:.045em; text-transform:uppercase;
  padding:.8rem 1rem;
  position:sticky; top:0; z-index:1;
  white-space:nowrap;
}
table.data th,table.data td{ padding:.8rem 1rem; border-bottom:1px solid var(--border); vertical-align:top; line-height:1.55; }
table.data tbody tr:nth-child(even){ background:rgba(238,242,247,.55); }
table.data tbody tr:hover{ background:rgba(217,119,6,.06); }
table.data tbody tr:last-child td{ border-bottom:0; }

/* ---------- FAQ ---------- */
.faq details{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  margin-bottom:.75rem;
  box-shadow:var(--shadow-xs);
  transition:box-shadow var(--t), border-color var(--t);
  overflow:hidden;
}
.faq details[open]{ box-shadow:var(--shadow-sm); border-color:var(--navy-200); }
.faq summary{
  cursor:pointer; list-style:none;
  padding:1rem 3rem 1rem 1.15rem;
  font-weight:650; color:var(--primary);
  position:relative;
  min-height:52px;
  display:flex; align-items:center;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:""; position:absolute; right:1.15rem; top:50%;
  width:10px; height:10px; margin-top:-6px;
  border-right:2px solid var(--accent); border-bottom:2px solid var(--accent);
  transform:rotate(45deg); transform-origin:center;
  transition:transform var(--t);
}
.faq details[open] summary::after{ transform:rotate(-135deg); margin-top:-2px; }
.faq details > *:not(summary){ padding:0 1.15rem 1.15rem; color:var(--muted); line-height:1.7; }

/* ---------- Ferramentas ---------- */
.tool-block{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-md);
  padding:clamp(1.35rem,1rem+1.3vw,2.25rem);
  margin-bottom:clamp(1.5rem,1rem+1.6vw,2.5rem);
  scroll-margin-top:96px;
}
.tool-head{
  display:flex; align-items:flex-start; gap:.9rem;
  margin-bottom:1.35rem;
  padding-bottom:1.15rem;
  border-bottom:1px solid var(--border);
}
.tool-head .ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:48px; height:48px; flex:none;
  border-radius:var(--radius);
  background:linear-gradient(145deg,var(--amber-500),var(--amber-600));
  color:#fff;
  box-shadow:0 6px 16px -8px rgba(146,64,14,.75);
}
.tool-head .ico svg{ width:24px; height:24px; }
.tool-head h2,.tool-head h3{ margin:0 0 .25rem; color:var(--primary); }
.tool-head .muted{ margin:0; font-size:.9375rem; line-height:1.6; }

.calc{ display:grid; gap:1rem; }
@media(min-width:720px){ .calc{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.field{ display:flex; flex-direction:column; gap:.4rem; min-width:0; }
.check-row{ display:flex; flex-wrap:wrap; gap:.6rem 1.25rem; align-items:center; }

.calc-result{
  margin-top:1.35rem;
  background:linear-gradient(150deg,var(--navy-800),var(--navy-950));
  color:#fff;
  border-radius:var(--radius-lg);
  padding:1.25rem 1.35rem;
  display:grid; gap:.65rem;
  box-shadow:var(--shadow-lg);
}
.calc-result .k{ font-size:.8125rem; letter-spacing:.05em; text-transform:uppercase; color:var(--navy-200); font-weight:650; }
.calc-result .v{ font-size:clamp(1.25rem,1.1rem+.8vw,1.75rem); font-weight:800; letter-spacing:-.02em; color:var(--amber-400); line-height:1.15; }
.calc-result .v.warn{ color:#fca5a5; }

.adr-progress{ display:flex; align-items:center; gap:.85rem; flex-wrap:wrap; margin-bottom:1.15rem; }
.adr-bar{ flex:1; min-width:160px; height:10px; border-radius:var(--radius-pill); background:var(--surface); overflow:hidden; border:1px solid var(--border); }
.adr-bar > span{ display:block; height:100%; width:0; border-radius:var(--radius-pill); background:linear-gradient(90deg,var(--amber-500),var(--amber-400)); transition:width .4s var(--ease); }
.adr-bar > span.done{ background:linear-gradient(90deg,var(--navy-500),var(--navy-400)); }
.adr-group{ border:1px solid var(--border); border-radius:var(--radius); padding:1rem 1.15rem; margin-bottom:1rem; background:var(--card); }
.adr-group > legend{ font-weight:700; font-size:.8125rem; letter-spacing:.06em; text-transform:uppercase; color:var(--amber-700); padding-inline:.4rem; }
.adr-item{
  display:flex; align-items:flex-start; gap:.65rem;
  padding:.65rem .5rem; border-radius:var(--radius-sm);
  min-height:44px; cursor:pointer;
  transition:background var(--t-fast);
}
.adr-item:hover{ background:var(--surface); }
.adr-item input{ margin-top:.28rem; width:18px; height:18px; accent-color:var(--accent); flex:none; }
.adr-item.checked span{ color:var(--muted); text-decoration:line-through; }

.cab-grid{ display:grid; gap:1rem; grid-template-columns:1fr; }
@media(min-width:640px){ .cab-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.cab-num{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1.1rem; text-align:center; }
.cab-num b{ display:block; font-size:2rem; font-weight:800; color:var(--primary); line-height:1; letter-spacing:-.03em; }
.cab-num i{ display:block; margin-top:.4rem; font-style:normal; font-size:.875rem; color:var(--muted); line-height:1.5; }

/* ---------- Formulários ---------- */
label.lbl,.field > label{ font-size:.8125rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--navy-700); }
.input,input[type=text],input[type=email],input[type=number],input[type=url],input[type=tel],input[type=search],select,textarea{
  width:100%; max-width:100%;
  font:inherit; font-size:1rem;
  color:var(--fg);
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:.7rem .9rem;
  min-height:46px;
  box-shadow:var(--shadow-xs) inset;
  transition:border-color var(--t-fast), box-shadow var(--t-fast), background var(--t-fast);
}
.input:hover,input:hover,select:hover,textarea:hover{ border-color:var(--navy-300); }
.input:focus,input:focus,select:focus,textarea:focus{
  outline:none; border-color:var(--navy-400);
  box-shadow:var(--ring-navy);
  background:#fff;
}
textarea,textarea.input{ min-height:130px; line-height:1.6; resize:vertical; }
::placeholder{ color:#93a3b5; }

/* ---------- Newsletter ---------- */
.newsletter{
  position:relative; overflow:hidden;
  background:linear-gradient(150deg,var(--navy-800),var(--navy-950));
  color:#fff;
  border-radius:var(--radius-xl);
  padding:clamp(1.75rem,1.2rem+2.4vw,3.25rem);
  box-shadow:var(--shadow-xl);
  text-align:center;
}
.newsletter::after{
  content:""; position:absolute; right:-8%; top:-45%;
  width:min(420px,60vw); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(217,119,6,.2),transparent 68%);
  pointer-events:none;
}
.newsletter > *{ position:relative; z-index:2; }
.newsletter h2{ color:#fff; margin:0 0 .75rem; max-width:22ch; margin-inline:auto; }
.newsletter p{ color:var(--navy-200); max-width:52ch; margin:0 auto 1.6rem; line-height:1.62; }
.newsletter form{ display:flex; flex-direction:column; gap:.65rem; max-width:520px; margin-inline:auto; }
@media(min-width:640px){ .newsletter form{ flex-direction:row; } .newsletter .btn{ flex:none; } }
.newsletter .input{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.22);
  color:#fff;
  box-shadow:none;
}
.newsletter .input::placeholder{ color:rgba(214,230,242,.65); }
.newsletter .input:focus{ background:rgba(255,255,255,.16); border-color:var(--amber-400); box-shadow:var(--ring-accent); }

/* ---------- Rodapé ---------- */
.site-footer{
  background:linear-gradient(180deg,var(--navy-900),var(--navy-950));
  color:var(--navy-200);
  padding-block:clamp(2.5rem,1.8rem+3vw,4rem) clamp(1.5rem,1.2rem+1vw,2rem);
  font-size:.9375rem;
  border-top:3px solid var(--accent);
}
.footer-grid{
  display:grid; gap:2rem;
  grid-template-columns:1fr;
  padding-bottom:clamp(1.75rem,1.4rem+1.4vw,2.5rem);
  border-bottom:1px solid rgba(255,255,255,.1);
}
@media(min-width:640px){ .footer-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 2.5rem; } }
@media(min-width:1024px){ .footer-grid{ grid-template-columns:1.4fr repeat(3,minmax(0,1fr)); gap:2.5rem 3rem; } }
.footer-col h3{
  font-size:.75rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
  color:var(--amber-400);
  margin:0 0 1rem;
}
.footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.15rem; }
.footer-col li{ margin:0; }
.footer-col a{
  display:inline-block;
  padding:.35rem 0;
  color:var(--navy-200); text-decoration:none;
  transition:color var(--t-fast), transform var(--t-fast);
}
.footer-col a:hover{ color:#fff; transform:translateX(3px); }
.footer-col p{ color:var(--navy-200); line-height:1.7; max-width:44ch; }
.site-footer .brand__name{ color:#fff; }
.site-footer .brand__tag{ color:var(--navy-300); }
.footer-legal{ font-size:.8125rem; color:var(--navy-300); line-height:1.65; }
.footer-bottom{
  display:flex; flex-direction:column; gap:1rem;
  align-items:center; text-align:center;
  padding-top:1.5rem;
  font-size:.8125rem; color:var(--navy-300);
}
@media(min-width:640px){ .footer-bottom{ flex-direction:row; justify-content:space-between; text-align:left; } }
.footer-bottom a{ color:var(--navy-200); }
.footer-bottom a:hover{ color:#fff; }
.social{ display:flex; gap:.5rem; }
.social a{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px;
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  color:var(--navy-100);
  transition:background var(--t-fast), color var(--t-fast), transform var(--t-fast), border-color var(--t-fast);
}
.social a:hover{ background:var(--accent); border-color:var(--accent); color:#fff; transform:translateY(-2px); }

/* ---------- Animações discretas ---------- */
.reveal{ opacity:0; transform:translateY(14px); transition:opacity .55s var(--ease), transform .55s var(--ease); will-change:opacity,transform; }
.reveal.in{ opacity:1; transform:none; will-change:auto; }
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
}

/* ---------- Mobile-first: sem overflow horizontal, alvos de toque ---------- */
html,body{ max-width:100%; }
img,svg,video,iframe,table,pre{ max-width:100%; }
img,svg,video{ height:auto; }
.article iframe,.article video{ width:100%; aspect-ratio:16/9; border-radius:var(--radius); border:0; }
.article pre{ overflow-x:auto; padding:1rem 1.15rem; background:var(--navy-950); color:var(--navy-100); border-radius:var(--radius); font-size:.875rem; }
.article table{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; width:100%; }
@media(max-width:639px){
  .btn{ min-height:46px; }
  .section__head > .btn{ width:100%; }
  .cat-card,.tool-block{ scroll-margin-top:80px; }
}

/* Acessibilidade */
.skip-link{ position:absolute; left:-9999px; }
.skip-link:focus{
  left:1rem; top:1rem; z-index:200;
  position:fixed;
  background:var(--primary); color:#fff;
  padding:.75rem 1.15rem; border-radius:var(--radius-sm);
  box-shadow:var(--shadow-lg);
}
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
::selection{ background:rgba(217,119,6,.22); color:var(--navy-900); }

/* Performance de render em listas longas */
.section--surface .grid,.section .grid{ contain:layout style; }

/* Impressão */
@media print{
  .site-header,.nav-mobile,.site-footer,.newsletter,.hero__art,.social{ display:none !important; }
  .article{ max-width:none; font-size:11pt; }
  .card{ box-shadow:none; border:1px solid #ccc; }
}

/* ---------- Portal de notícias: artigo em destaque ---------- */
@media(min-width:980px){
  body.blog:not(.paged) .grid--3 > .post-card:first-child{
    grid-column:1 / -1;
    flex-direction:row;
    align-items:stretch;
    border-color:var(--navy-200);
    box-shadow:var(--shadow-md);
  }
  body.blog:not(.paged) .grid--3 > .post-card:first-child .post-card__thumb{
    width:52%; flex:none; aspect-ratio:auto; min-height:320px;
  }
  body.blog:not(.paged) .grid--3 > .post-card:first-child .post-card__body{
    justify-content:center;
    padding:clamp(1.5rem,1rem+1.8vw,2.5rem);
    gap:.85rem;
  }
  body.blog:not(.paged) .grid--3 > .post-card:first-child .post-card__body h3{
    font-size:clamp(1.35rem,1.1rem+1vw,1.95rem);
    line-height:1.18;
  }
  body.blog:not(.paged) .grid--3 > .post-card:first-child .excerpt{
    font-size:1.0625rem; -webkit-line-clamp:4;
  }
  body.blog:not(.paged) .grid--3 > .post-card:first-child .post-card__meta{ margin-top:.5rem; }
}

/* ---------- Paginação ---------- */
.navigation.pagination{ margin-top:clamp(2rem,1.5rem+1.6vw,3rem); }
.navigation.pagination .nav-links{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.4rem;
}
.page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; height:44px; padding:0 .85rem;
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
  background:var(--card);
  color:var(--navy-700);
  font-weight:650; font-size:.9375rem;
  text-decoration:none;
  transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast);
}
a.page-numbers:hover{ background:var(--surface); border-color:var(--navy-300); color:var(--primary); transform:translateY(-1px); }
.page-numbers.current{ background:var(--primary); border-color:var(--primary); color:#fff; }
.page-numbers.dots{ border-color:transparent; background:transparent; min-width:28px; padding:0; color:var(--muted); }

/* ---------- Caixa informativa em páginas de guia ---------- */
.card.card__pad.section--surface{
  background:linear-gradient(180deg,rgba(238,242,247,.9),rgba(238,242,247,.55));
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-xs);
}

/* ---------- Comentários ---------- */
.comment-respond{
  margin-top:clamp(2rem,1.5rem+1.6vw,3rem);
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  padding:clamp(1.35rem,1rem+1.2vw,2rem);
  max-width:calc(760px + 2 * clamp(1.125rem,.55rem+2.1vw,2rem));
  margin-inline:auto;
}
.comment-reply-title{ margin:0 0 .35rem; font-size:1.25rem; color:var(--primary); }
.comment-form{ display:grid; gap:.9rem; }
.comment-form p{ margin:0; display:flex; flex-direction:column; gap:.4rem; }
.comment-form label{ font-size:.8125rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--navy-700); }
.comment-form .required{ color:var(--accent); }
.comment-notes,.logged-in-as,.required-field-message{ font-size:.875rem; color:var(--muted); }
.comment-form .form-submit input[type=submit],.comment-form input[type=submit]{
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--accent); color:#fff;
  border:0; border-radius:var(--radius-pill);
  padding:.8rem 1.6rem; min-height:46px;
  font-weight:650; font-size:.9375rem; cursor:pointer; width:auto;
  box-shadow:0 6px 16px -6px rgba(217,119,6,.5);
  transition:background var(--t-fast), transform var(--t-fast);
}
.comment-form input[type=submit]:hover{ background:var(--amber-600); transform:translateY(-1px); }
.comment-list{ list-style:none; padding:0; }
.comment-list .comment-body{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:1.15rem; margin-bottom:1rem; }

/* ---------- Secção de artigos relacionados ---------- */
.section h2 + .grid,.section h3 + .grid{ margin-top:1.5rem; }


/* Navegação compacta entre 1240px e 1420px para caber sempre numa linha */
@media(min-width:1240px) and (max-width:1420px){
  .nav-desktop a{ padding:.5rem .55rem; font-size:.9rem; }
  .nav-desktop a::after{ left:.55rem; right:.55rem; }
  .site-header__inner{ gap:1rem; }
  .header-cta{ padding:.55rem .95rem; font-size:.875rem; }
}
.nav-desktop{ min-width:0; }
.site-header__inner > a:first-child{ flex:none; }


/* ---------- Correções de contraste no painel de resultado ---------- */
.calc-result{ color:#fff; }
.calc-result > div{ color:var(--amber-400); font-weight:700; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; display:flex; align-items:center; gap:.45rem; }
.calc-result > div svg{ color:var(--amber-400); }
.calc-result ul{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.calc-result li{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius-sm);
  padding:.85rem 1rem;
  color:#fff;
  display:grid; gap:.2rem;
}
.calc-result .k{ color:var(--navy-200); }
.calc-result .v{ color:var(--amber-400); }
.calc-result .v.warn{ color:#fca5a5; }
.calc-result p,.calc-result .muted{ color:var(--navy-300); font-size:.8125rem; line-height:1.55; margin:0; }

/* ---------- Linhas de checkbox ---------- */
.check-row{
  display:flex; flex-wrap:nowrap; align-items:flex-start; gap:.7rem;
  padding:.65rem .6rem; margin:0;
  border-radius:var(--radius-sm);
  min-height:44px; cursor:pointer;
  font-size:.9375rem; line-height:1.5; color:var(--fg);
  transition:background var(--t-fast);
}
.check-row:hover{ background:var(--surface); }
.check-row input[type=checkbox]{
  width:18px; height:18px; margin:.2rem 0 0; flex:none;
  accent-color:var(--accent); cursor:pointer;
}
.field input[type=number]{ max-width:100%; }


/* Sobrepõe cor inline herdada do template no cabeçalho do resultado */
.calc-result > div[style]{ color:var(--amber-400) !important; }


/* FAQ: usa o ícone já existente no template em vez de duplicar o indicador */
.faq summary{ padding-right:1.15rem; gap:1rem; }
.faq summary::after{ content:none !important; }
.faq summary svg{ margin-left:auto; flex:none; color:var(--accent); transition:transform var(--t); }
.faq details[open] summary svg{ transform:rotate(90deg); }


/* Largura de leitura confortável (especificidade suficiente para vencer .container) */
.container.article,.section.article,article.article{ max-width:830px; margin-inline:auto; }
.container.comment-respond{ max-width:830px; }


/* ================================================================
   V2 — Impacto visual (mesmas cores, presença muito mais forte)
   ================================================================ */

/* Fio de acento âmbar no topo do cabeçalho */
.site-header::before{
  content:""; position:absolute; inset:0 0 auto 0; height:3px; z-index:2;
  background:linear-gradient(90deg,var(--amber-500) 0%,var(--amber-400) 28%,var(--navy-400) 68%,var(--navy-600) 100%);
}
.site-header{ padding-top:3px; }

/* Eyebrow como chip */
.eyebrow{
  background:rgba(217,119,6,.1);
  border:1px solid rgba(217,119,6,.22);
  color:var(--amber-700);
  padding:.34rem .75rem;
  border-radius:var(--radius-pill);
  font-size:.6875rem;
  letter-spacing:.13em;
  margin-bottom:1rem;
}
.eyebrow::before{ display:none; }
.page-hero .eyebrow,.hero .eyebrow{
  background:rgba(245,158,11,.14);
  border-color:rgba(245,158,11,.3);
  color:var(--amber-400);
}

/* Fundo texturado nas secções claras */
body{
  background-color:var(--bg);
  background-image:radial-gradient(circle at 1px 1px, rgba(15,41,66,.055) 1px, transparent 0);
  background-size:28px 28px;
  background-attachment:fixed;
}
.section--surface{
  background-color:var(--surface);
  background-image:radial-gradient(circle at 1px 1px, rgba(15,41,66,.07) 1px, transparent 0);
  background-size:28px 28px;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

/* ---------- HERO com muito mais presença ---------- */
.hero{
  padding-block:clamp(3.5rem,2rem+6vw,7rem) clamp(6rem,4rem+7vw,10rem);
  background:
    radial-gradient(900px 520px at 72% 12%, rgba(36,95,143,.5), transparent 60%),
    radial-gradient(700px 460px at 12% 88%, rgba(217,119,6,.13), transparent 62%),
    linear-gradient(158deg, var(--navy-800) 0%, var(--navy-900) 46%, var(--navy-950) 100%);
}
/* grelha técnica subtil */
.hero__dots{
  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:1;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:68px 68px;
  -webkit-mask-image:radial-gradient(130% 90% at 50% 0%, #000 28%, transparent 78%);
  mask-image:radial-gradient(130% 90% at 50% 0%, #000 28%, transparent 78%);
}
.hero::before{ display:none; }
.hero h1{ letter-spacing:-.032em; max-width:16ch; }
.hero__pill{ box-shadow:0 8px 24px -14px rgba(0,0,0,.8); }
.hero__lead{ color:var(--navy-100); }
.hero__proof li{ color:var(--navy-100); font-weight:650; }
.hero__art{ filter:drop-shadow(0 40px 70px rgba(2,8,16,.65)); }

/* ---------- Barra de estatísticas flutuante ---------- */
.stats-wrap{
  background:transparent;
  border-bottom:0;
  position:relative;
  z-index:6;
  margin-top:clamp(-5.5rem,-4vw - 2rem,-2.5rem);
  padding-bottom:clamp(1rem,.5rem+1.5vw,2rem);
}
.stats{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  box-shadow:0 10px 20px -12px rgba(10,26,47,.25), 0 34px 70px -28px rgba(10,26,47,.45);
  overflow:hidden;
}
.stat{ position:relative; }
.stat__num{
  background:linear-gradient(135deg,var(--primary),var(--navy-500));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}


/* ---------- Cards de legislação com muito mais carácter ---------- */
.cat-card{ padding-top:1.9rem; }
.cat-card::after{ display:none; }
.cat-card::before{
  content:""; position:absolute; inset:0 0 auto 0; height:4px; z-index:2;
  background:linear-gradient(90deg,var(--navy-600),var(--navy-400));
  transition:background var(--t), height var(--t);
}
.cat-card:hover::before,.cat-card:focus-visible::before{
  background:linear-gradient(90deg,var(--amber-600),var(--amber-400));
  height:5px;
}
.cat-card .ico{
  width:60px; height:60px;
  border-radius:1rem;
  box-shadow:0 10px 24px -12px rgba(10,26,47,.85), inset 0 1px 0 rgba(255,255,255,.12);
}
.cat-card .ico svg{ width:29px; height:29px; }
.cat-card h3{ font-size:1.25rem; letter-spacing:-.02em; }
.cat-card:hover{ box-shadow:0 4px 10px -3px rgba(10,26,47,.08), 0 26px 50px -18px rgba(10,26,47,.28); }

/* ---------- Cards de artigo com variedade visual ---------- */
.post-card__thumb{ aspect-ratio:16/10; }
.post-card__thumb::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  transition:opacity var(--t);
}
.grid > .post-card:nth-child(3n+1) .post-card__thumb::before{ background:linear-gradient(135deg,rgba(217,119,6,.24),rgba(217,119,6,0) 58%); }
.grid > .post-card:nth-child(3n+2) .post-card__thumb::before{ background:linear-gradient(225deg,rgba(36,95,143,.42),rgba(36,95,143,0) 62%); }
.grid > .post-card:nth-child(3n+3) .post-card__thumb::before{ background:linear-gradient(160deg,rgba(6,15,28,.5),rgba(6,15,28,0) 58%); }
.post-card:hover .post-card__thumb::before{ opacity:.65; }
.post-card__cat .badge--solid{ box-shadow:0 4px 14px -4px rgba(0,0,0,.6); letter-spacing:.06em; }
.post-card__body h3{ font-size:1.125rem; letter-spacing:-.015em; }

/* ---------- Secção de ferramentas em destaque ---------- */
body.home main > section:nth-child(5){
  position:relative;
  background-color:var(--surface);
  background-image:radial-gradient(circle at 1px 1px, rgba(15,41,66,.075) 1px, transparent 0);
  background-size:26px 26px;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
body.home main > section:nth-child(5)::before{
  content:""; position:absolute; inset:0 0 auto 0; height:3px;
  background:linear-gradient(90deg,var(--amber-500),rgba(217,119,6,0) 55%);
}
body.home main > section:nth-child(5) .card{
  box-shadow:0 2px 6px -2px rgba(10,26,47,.08), 0 14px 30px -14px rgba(10,26,47,.22);
}
body.home main > section:nth-child(5) .card--hover:hover{
  box-shadow:0 4px 10px -3px rgba(10,26,47,.1), 0 28px 54px -20px rgba(217,119,6,.35);
  border-color:rgba(217,119,6,.4);
}

/* ---------- Botões com mais peso ---------- */
.btn--primary{
  background:linear-gradient(180deg,var(--amber-500),var(--amber-600));
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset, 0 2px 4px rgba(146,64,14,.25), 0 10px 22px -8px rgba(217,119,6,.55);
}
.btn--primary:hover{
  background:linear-gradient(180deg,var(--amber-400),var(--amber-500));
  box-shadow:0 1px 0 rgba(255,255,255,.28) inset, 0 3px 6px rgba(146,64,14,.28), 0 16px 32px -10px rgba(217,119,6,.6);
}
.btn--navy{ background:linear-gradient(180deg,var(--navy-700),var(--primary)); }
.btn--navy:hover{ background:linear-gradient(180deg,var(--navy-600),var(--navy-700)); }
.header-cta{ box-shadow:0 2px 4px rgba(146,64,14,.22), 0 10px 22px -10px rgba(217,119,6,.6); }

/* ---------- Newsletter e rodapé com textura ---------- */
.newsletter{
  background:
    radial-gradient(600px 320px at 82% 8%, rgba(217,119,6,.22), transparent 62%),
    linear-gradient(150deg,var(--navy-800),var(--navy-950));
}
.newsletter::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:52px 52px;
  -webkit-mask-image:radial-gradient(120% 100% at 50% 0%, #000 20%, transparent 80%);
  mask-image:radial-gradient(120% 100% at 50% 0%, #000 20%, transparent 80%);
}
.site-footer{ position:relative; }
.site-footer::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.05) 1px, transparent 0);
  background-size:30px 30px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 60%);
  mask-image:linear-gradient(180deg,#000,transparent 60%);
}
.site-footer > *{ position:relative; z-index:2; }

/* ---------- Page hero interno mais forte ---------- */
.page-hero{ padding-block:clamp(3rem,2rem+3.6vw,5rem); }
.page-hero .hero__dots{ position:absolute; inset:0; }


/* ---------- Capas com fotografia real ---------- */
.post-card__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.post-card__thumb:has(img)::before{
  background:linear-gradient(180deg, rgba(10,26,47,.12) 0%, rgba(10,26,47,.06) 45%, rgba(6,15,28,.55) 100%) !important;
}
.post-card__thumb:has(img)::after{
  background:linear-gradient(180deg,rgba(6,15,28,0) 55%,rgba(6,15,28,.35));
}
.post-card:hover .post-card__thumb:has(img)::before{ opacity:1; }
.article > img:first-child,.single .article img.wp-post-image{ margin-top:0; }


/* Afinação do véu sobre as fotografias */
.post-card__thumb:has(img)::before{
  background:linear-gradient(180deg, rgba(10,26,47,.05) 0%, rgba(10,26,47,.02) 40%, rgba(6,15,28,.42) 100%) !important;
}
.post-card__thumb:has(img) img{ filter:saturate(1.05) contrast(1.03); }

/* Imagem destacada no artigo */
.single .article .wp-post-image,
.article img.wp-post-image,
figure.post-hero img{
  width:100%; border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  margin:0 0 2rem;
  aspect-ratio:16/9; object-fit:cover;
}


/* ---------- Hero com fotografia real ---------- */
img.hero__art,.hero__photo{
  width:100%; max-width:580px;
  aspect-ratio:5/4.3; object-fit:cover;
  border-radius:var(--radius-xl);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 44px 90px -34px rgba(2,8,16,.95);
  filter:saturate(1.03) contrast(1.03);
  margin-inline:auto; display:block;
}
@media(max-width:1023px){ img.hero__art,.hero__photo{ max-width:520px; aspect-ratio:16/10; } }
@media(max-width:520px){ img.hero__art,.hero__photo{ max-width:100%; aspect-ratio:16/10; margin-top:.25rem; } }

/* ===================== FIM — MAAVDRIVE PREMIUM LAYER ===================== */
