@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--navy:#082744;--blue:#0d76b5;--aqua:#1caebe;--gold:#d6a33c;--ink:#142333;--muted:#64727d;--paper:#f4f8fa;--line:#dce5e9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 "DM Sans",Arial,sans-serif}a{text-decoration:none;color:inherit}
.header{position:fixed;top:0;left:0;right:0;z-index:100;background:#fff;box-shadow:0 3px 22px #0827441a}.topbar{max-width:1450px;margin:auto;min-height:91px;padding:12px 28px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:13px;margin-right:auto}.brand-logo{width:62px;height:44px;color:#c62828;display:grid;place-items:center;flex:0 0 62px}.brand-logo svg{width:62px;height:44px;display:block}.brand b{display:block;color:var(--navy);font-size:22px;letter-spacing:.04em}.brand small{display:block;color:#53616d;font-size:12px}.social-bar{display:flex;align-items:center;gap:8px}.social{width:38px;height:38px;display:grid!important;place-items:center!important;padding:0!important;border-radius:50%!important;transition:.2s}.social svg{width:21px;height:21px;display:block;fill:currentColor}.social span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.facebook{color:#1877F2!important;background:#eef5ff!important}.facebook:hover{background:#1877F2!important;color:#fff!important}.xsocial{color:#111!important;background:#f0f0f0!important}.xsocial:hover{background:#111!important;color:#fff!important}.whatsapp{color:#25D366!important;background:#ecfff3!important}.whatsapp:hover{background:#25D366!important;color:#fff!important}.copy-social{color:#1677b9!important;background:#eef7fb!important}.copy-social:hover{background:#1677b9!important;color:#fff!important}.social-bar a,.social-bar button{border:0;cursor:pointer;font:600 12px "DM Sans"}.admin-link{background:#082744!important;color:#fff!important;border-radius:7px!important;width:42px;height:42px}.admin-link:hover{background:#0d76b5!important}.admin-link svg{width:20px;height:20px;fill:currentColor}.nav{display:flex;justify-content:flex-end;gap:2px;padding:0 30px 11px;max-width:1450px;margin:auto}.nav a{font-size:12px;font-weight:700;padding:8px 11px;border-bottom:2px solid transparent}.nav a:hover,.nav a.active{color:var(--blue);border-color:var(--blue)}.menu-toggle{display:none;background:none;border:0;font-size:28px;color:var(--navy)}
.hero{position:relative;min-height:470px;height:470px;margin-top:134px;overflow:hidden;color:#082744}.hero-bg{position:absolute;inset:0;background:url("banner_pontes.webp") center 53%/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.80) 39%,rgba(255,255,255,.06) 70%)}.hero-content{position:relative;z-index:2;max-width:700px;padding:62px 6vw}.eyebrow,.section-head small{color:var(--blue);font-weight:800;letter-spacing:.17em;font-size:11px}.hero h1{font:700 clamp(42px,5.2vw,68px)/.98 "Playfair Display";margin:12px 0 5px}.hero h1 span{color:var(--navy)}.hero h2{font-size:26px;line-height:1.15;margin:0 0 22px}.hero p{font-size:18px;max-width:580px}.hero-btn{display:inline-block;margin-top:18px;padding:13px 20px;background:var(--navy);color:#fff;border-radius:5px;font-weight:800;font-size:13px}
.values{background:var(--navy);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:18px max(5vw,25px)}.values div{display:flex;gap:13px;align-items:center}.values i{font-style:normal;border:1px solid #ffffff70;border-radius:50%;width:45px;height:45px;display:grid;place-items:center}.values b,.values span{display:block}.values b{font-size:13px}
.section{max-width:1220px;margin:auto;padding:90px 30px}.section-head h2{font:700 clamp(34px,4vw,55px)/1.12 "Playfair Display";margin:7px 0 24px}.lead{color:var(--muted);font-size:18px}.manifesto-grid,.cards,.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px}.manifesto-grid article{padding:27px;background:var(--paper);border-top:3px solid var(--blue)}.manifesto-grid b{color:var(--gold)}.image-strip{display:grid;grid-template-columns:1.4fr .6fr;background:#0b7190;color:#fff}.image-strip img{width:100%;height:430px;object-fit:cover}.image-strip>div{padding:60px 5vw;display:flex;flex-direction:column;justify-content:center}.image-strip h2{font:700 40px/1.1 "Playfair Display"}.three{grid-template-columns:repeat(3,1fr)}.card{padding:27px;border:1px solid var(--line);border-radius:8px;box-shadow:0 9px 28px #0827440b}.card span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e8f3f7;color:var(--blue);font-weight:800;font-size:23px}.critical{margin-top:35px;background:#eef7fa;border-left:4px solid var(--gold);padding:23px}.legal-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.legal-links a{padding:20px;background:#f6f8f9;border:1px solid var(--line)}.legal-links small{display:block;color:var(--muted);margin-top:5px}.blue-section{max-width:none;background:#eef7fa}.blue-section>*{max-width:1160px;margin-left:auto;margin-right:auto}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:35px}.steps>div{background:#fff;padding:25px;border-top:3px solid var(--blue);border-right:1px solid var(--line)}.steps b{color:var(--blue)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:50px}.check-card,.dark-card{padding:28px;background:var(--paper)}.check-card li{margin:8px 0}.dark{max-width:none;background:var(--navy);color:#fff}.dark>*{max-width:1160px;margin-left:auto;margin-right:auto}.dark .section-head small{color:#58cfdb}.dark .lead{color:#c4d4dc}.dark-card{background:#ffffff10;border:1px solid #ffffff1d}.principles{grid-template-columns:repeat(4,1fr)}.principles div{padding:27px;border:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.principles b{color:var(--blue)}.principles span{color:var(--muted)}.participation{background:#f5f8fa;max-width:none}.participation>*{max-width:1160px;margin-left:auto;margin-right:auto}.forms{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}.forms form{background:#fff;padding:27px;border:1px solid var(--line);border-radius:8px}.forms label{display:block;font-weight:700;font-size:13px;margin-bottom:13px}.forms input,.forms textarea{width:100%;margin-top:6px;border:1px solid #ccd9df;border-radius:5px;padding:11px;font:inherit}.forms textarea{min-height:140px;resize:vertical}.forms button{border:0;background:var(--navy);color:#fff;padding:12px 17px;border-radius:5px;font-weight:800;cursor:pointer}.forms button.secondary{background:#4c3c87}.toast{position:fixed;bottom:25px;right:25px;background:#09263d;color:#fff;padding:12px 18px;border-radius:6px;display:none;z-index:200}.toast.show{display:block}
footer{background:#061724;color:#fff;padding:38px 7vw;display:flex;justify-content:space-between;gap:20px}footer p{margin:5px 0;color:#9db1bc}footer a{color:#bfe4eb}
@media(max-width:1050px){.social-bar span{display:none}.nav{justify-content:center}.manifesto-grid,.principles{grid-template-columns:repeat(2,1fr)}.values{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{min-height:70px;padding:10px 16px}.brand b{font-size:15px}.brand small{font-size:9px}.brand-logo{width:46px;height:34px;flex-basis:46px;color:#c62828}.brand-logo svg{width:46px;height:34px}.social-bar{display:none}.menu-toggle{display:block}.nav{display:none;flex-direction:column;padding:8px 16px 14px;background:#fff}.header.open .nav{display:flex}.nav a{padding:10px}.hero{margin-top:70px;min-height:520px;height:520px}.hero-bg{background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.38))}.hero-content{padding:90px 7vw}.hero h1{font-size:48px}.values,.manifesto-grid,.cards,.steps,.legal-links,.principles,.forms,.two-col,.image-strip{grid-template-columns:1fr}.values{padding:18px 7vw}.image-strip img{height:300px}.image-strip h2{font-size:35px}.section{padding:70px 7vw}footer{flex-direction:column}}

/* REFORMULAÇÃO */
.light{background:#f5f8fa;max-width:none}.light>*{max-width:1160px;margin-left:auto;margin-right:auto}
.principles.seven{grid-template-columns:repeat(4,1fr)}.principles.seven div{padding:23px;border:1px solid var(--line);background:#fff;min-height:125px}.principles.seven div:last-child{grid-column:2/4}.principles.seven b{display:block;color:#c62828;font-size:12px;margin-bottom:8px}.principles.seven span{color:var(--muted)}
.quote-box{margin-top:30px;padding:25px 28px;border-left:5px solid #c62828;background:#fff;box-shadow:0 8px 25px #08274410}.quote-box strong{font-family:"Playfair Display";font-size:21px;color:var(--navy)}.quote-box p{color:var(--muted)}
.question-card{padding:28px;background:#f5f8fa;border:1px solid var(--line);border-radius:8px}.question-card li{margin:9px 0}.red-border{border-left:5px solid #c62828}
.observation-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:35px 0}.observation-flow>div{padding:22px;background:#ffffff10;border:1px solid #ffffff20}.observation-flow b{color:#ffb3b3}.observation-flow p{color:#c7d5dc;font-size:14px}.big-question{display:flex;gap:20px;padding:28px;background:#ffffff0d;border:1px solid #ffffff20}.big-question>span{font-size:46px;color:#e36b6b}.big-question h3{margin-top:0}.big-question small{color:#9eb2bd}.comparison{margin-top:20px;padding:24px;background:#fff;color:var(--ink)}.comparison p{color:var(--muted)}
.trans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.trans-grid article{padding:24px;background:#f5f8fa;border:1px solid var(--line)}.trans-grid h3{margin-top:0}.trans-questions{margin-top:25px;padding:24px;border:1px solid var(--line)}
.economy{background:#fff8f6;max-width:none}.economy>*{max-width:1160px;margin-left:auto;margin-right:auto}.money-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:35px}.money-grid div{padding:27px;background:#fff;border:1px solid #f0d8d3;border-top:4px solid #c62828}.money-grid strong,.money-grid span{display:block}.money-grid strong{font-size:22px;color:#c62828}.money-grid span{color:var(--muted);margin-top:6px}.cost-box{margin-top:25px;padding:28px;background:#fff;border:1px solid #f0d8d3}.dark-question{margin-top:20px;background:#082744;color:#fff}
.union-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}.union-grid div{padding:22px;border:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.union-grid b{color:#c62828}.union-grid span{color:var(--muted)}
@media(max-width:1050px){.principles.seven,.trans-grid{grid-template-columns:repeat(2,1fr)}.principles.seven div:last-child{grid-column:auto}.observation-flow{grid-template-columns:repeat(2,1fr)}.money-grid{grid-template-columns:1fr}.union-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.principles.seven,.trans-grid,.observation-flow,.union-grid{grid-template-columns:1fr}.big-question{display:block}}

/* ===== Petição — participação cívica ===== */
.petition-section{background:linear-gradient(135deg,#fff8f6 0%,#f4f8fb 100%);max-width:none;border-top:5px solid #c62828}.petition-section>*{max-width:1160px;margin-left:auto;margin-right:auto}
.petition-badge{display:inline-block;background:#c62828;color:#fff;padding:8px 13px;border-radius:3px;font-size:11px;font-weight:900;letter-spacing:.08em;margin-bottom:15px}
.petition-layout{display:grid;grid-template-columns:1.6fr .8fr;gap:28px;align-items:stretch}
.petition-main,.petition-side{background:#fff;border:1px solid #ead9d5;padding:32px;box-shadow:0 10px 30px #0827440d}
.petition-main h3{font-size:25px;margin-top:0;color:var(--navy)}
.petition-main p{font-size:16px;line-height:1.75;color:var(--muted)}
.petition-quote{margin:25px 0;padding:20px 22px;border-left:5px solid #c62828;background:#fff4f2;font-family:"Playfair Display",serif;font-size:20px;color:var(--navy)}
.petition-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:25px}
.petition-btn{display:inline-block;background:#c62828;color:#fff;padding:15px 20px;border-radius:5px;font-weight:900;text-decoration:none;box-shadow:0 5px 14px #c6282833}
.petition-btn:hover{background:#a91f1f}.petition-secondary{font-weight:800;color:#0b5478;text-decoration:none}
.petition-note{font-size:13px!important;margin-top:20px!important}.petition-note b{color:#c62828}
.petition-stat{background:#082744;color:#fff;padding:27px;margin-bottom:18px;text-align:center}.petition-stat strong{display:block;font-size:48px;color:#ffb3b3;line-height:1}.petition-stat span{display:block;margin-top:10px;color:#d2dfe5;font-size:12px;line-height:1.5}
.petition-points{display:flex;flex-direction:column;gap:12px}.petition-points b{color:#c62828}.petition-points span{font-size:14px;color:var(--muted)}
.petition-source{font-size:12px;color:var(--muted);margin-top:14px}.petition-source a{color:#0b5478;font-weight:700}
@media(max-width:800px){.petition-layout{grid-template-columns:1fr}.petition-main,.petition-side{padding:23px}.petition-btn{width:100%;text-align:center}}

/* ===== Portal ProfIsmael + mensagem final ===== */
.social-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.portal-profismael{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:5px;background:#082744;color:#fff!important;font-weight:800;font-size:12px;text-decoration:none;box-shadow:0 3px 9px #08274422;white-space:nowrap}
.portal-profismael b{font-size:15px}.portal-profismael:hover{background:#c62828;color:#fff!important}
footer{display:grid!important;grid-template-columns:1fr auto;gap:14px 35px;align-items:center}
.footer-portal a{font-weight:800;color:#0b5478;text-decoration:none}.footer-portal a:hover{color:#c62828}
.footer-motto{grid-column:1/-1;text-align:center;margin-top:8px;padding:24px 10px 5px;border-top:1px solid #ffffff20}
.footer-motto strong{display:block;font-family:"Playfair Display",serif;font-size:24px;color:#fff}
.footer-motto span{display:block;margin-top:8px;color:#b9cbd4;font-size:14px;line-height:1.6}
@media(max-width:760px){footer{grid-template-columns:1fr;text-align:center}.footer-portal{margin-top:4px}.portal-profismael span{display:none}.portal-profismael{padding:8px 10px}}

/* ===== Correção do menu + tecnologia + contactos ===== */
.nav{display:flex;align-items:center;gap:0;flex-wrap:wrap;overflow-x:auto}
.nav a{white-space:nowrap}
.technology-card{display:flex;gap:22px;margin-top:28px;padding:28px;background:#fff;border:1px solid #dce5ea;border-left:5px solid #1681b5;color:var(--ink)}
.technology-icon{font-size:38px;line-height:1}
.technology-card small{color:#1681b5;font-weight:900;letter-spacing:.12em}
.technology-card h3{margin:6px 0 12px}.technology-card p{color:var(--muted);line-height:1.7}
.technology-questions{margin-top:20px;padding:26px;background:#f5f8fa;border:1px solid var(--line)}
.technology-questions h3{margin-top:0}.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.tech-grid div{padding:18px;background:#fff;border:1px solid var(--line)}
.tech-grid b,.tech-grid span{display:block}.tech-grid b{font-size:11px;color:#c62828;margin-bottom:7px}.tech-grid span{font-size:14px;color:var(--muted);line-height:1.5}
.technology-warning{margin-top:20px;padding:23px 26px;border-left:5px solid #c62828;background:#fff4f2}.technology-warning strong{display:block;color:#c62828;margin-bottom:7px}.technology-warning p{margin:0;color:var(--muted);line-height:1.65}
.contact-section{background:#eef5f8;max-width:none}.contact-section>*{max-width:1160px;margin-left:auto;margin-right:auto}
.contact-layout{display:grid;grid-template-columns:1.5fr .8fr;gap:25px;align-items:stretch}
.contact-card{background:#fff;border:1px solid var(--line);padding:28px;box-shadow:0 8px 24px #0827440d}.contact-card h3{margin-top:0;color:var(--navy)}.contact-card a{font-weight:900;color:#c62828;text-decoration:none}
@media(max-width:900px){.tech-grid{grid-template-columns:repeat(2,1fr)}.contact-layout{grid-template-columns:1fr}}
@media(max-width:760px){.nav{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.nav a{flex:0 0 auto}.technology-card{display:block}.technology-icon{margin-bottom:12px}.tech-grid{grid-template-columns:1fr}}

/* ===== Navegação final: Portal + scroll + retorno ao topo ===== */
html{scroll-behavior:smooth;scroll-padding-top:20px}
#topo{position:relative;top:0;height:0}
section[id]{scroll-margin-top:18px}
.portal-profismael{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;background:#0878c9!important;color:#fff!important;border:1px solid #0878c9!important;border-radius:7px;padding:9px 13px!important;font-weight:800;font-size:12px;text-decoration:none;white-space:nowrap;box-shadow:0 3px 10px rgba(8,120,201,.22)}
.portal-profismael:hover{background:#075f9e!important;border-color:#075f9e!important;color:#fff!important}
.back-top-wrap{display:flex;justify-content:center;margin:38px auto 0;padding-top:22px;border-top:1px solid rgba(8,39,68,.10)}
.back-to-top{display:inline-flex;align-items:center;gap:7px;padding:10px 17px;border:1px solid #0b5478;border-radius:5px;color:#0b5478;background:#fff;text-decoration:none;font-weight:800;font-size:13px;transition:.2s}
.back-to-top:hover{background:#082744;color:#fff;border-color:#082744}
@media(max-width:760px){
  .portal-profismael{padding:9px 10px!important}
  .portal-profismael span{display:inline!important}
  .back-top-wrap{margin-top:28px}
}
/* ===== Participação integrada com Portal ProfIsmael ===== */
.participation-notice{display:flex;gap:12px;align-items:center;margin:20px 0;padding:17px 20px;border-left:5px solid #0878c9;background:#eef7fd;color:#24495d}.participation-notice strong{color:#0878c9;white-space:nowrap}.participation-notice span{line-height:1.55;font-size:14px}
.published-heading{margin-top:48px;padding-top:30px;border-top:1px solid var(--line)}.published-heading small{color:#c62828;font-weight:900;letter-spacing:.12em}.published-heading h3{font-size:28px;margin:6px 0}.published-heading p{color:var(--muted)}
.published-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:20px}.published-card{background:#fff;border:1px solid var(--line);border-left:4px solid #0878c9;padding:22px;box-shadow:0 7px 20px #0827440a}.published-card h4{margin:7px 0 9px;color:var(--navy);font-size:17px}.published-card p{color:var(--muted);line-height:1.65;margin:0 0 13px}.published-card small{color:#80929d}.published-type{display:inline-block;padding:5px 9px;background:#eef7fd;color:#0878c9;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border-radius:3px}.published-empty{text-align:center;padding:35px;background:#f5f8fa;border:1px dashed #b9cbd4}.published-empty span{display:block;font-size:35px}.published-empty strong{display:block;margin:7px 0;color:var(--navy)}.published-empty p{color:var(--muted);margin:0}
.success-card{max-width:720px;background:#fff;border:1px solid var(--line);padding:45px 38px;box-shadow:0 15px 40px #08274412}.success-icon{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#0878c9;color:#fff;font-size:42px;font-weight:900}.success-message{padding:22px;border-left:5px solid #c62828;background:#fff5f3;margin:25px 0}.success-message strong{display:block;color:#c62828;font-size:18px;margin-bottom:6px}.success-message p{color:var(--muted);line-height:1.6}.success-email{font-size:13px;color:var(--muted);margin-bottom:25px}
@media(max-width:760px){.participation-notice{display:block}.participation-notice span{display:block;margin-top:7px}.published-list{grid-template-columns:1fr}.success-card{padding:30px 20px}}

/* ===== Participações publicadas ===== */
.voices-section{background:#f7fafb;max-width:none}.voices-section>*{max-width:1160px;margin-left:auto;margin-right:auto}
.voices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.voice-card{background:#fff;border:1px solid var(--line);border-top:4px solid #c62828;padding:23px;box-shadow:0 7px 20px #0827440b}
.voice-type{display:inline-block;font-size:10px;letter-spacing:.1em;font-weight:900;color:#c62828;text-transform:uppercase;margin-bottom:10px}
.voice-card p{color:var(--muted);line-height:1.7}.voice-card footer{display:flex;justify-content:space-between;gap:10px;margin-top:18px;padding-top:12px;border-top:1px solid #e7edf0}.voice-card footer small{color:#8a9ba5}
.voices-empty{grid-column:1/-1;padding:28px;background:#fff;border:1px dashed #b9c9d1;color:#657983;text-align:center}
@media(max-width:900px){.voices-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.voices-grid{grid-template-columns:1fr}}

.mensagem-envio{margin:0 0 18px;padding:18px 20px;border-radius:7px;font-weight:800;line-height:1.5}
.mensagem-envio.sucesso{background:#e9f8ee;border:1px solid #9ed5ad;color:#176b2d;box-shadow:0 5px 18px #176b2d18}
.mensagem-envio.erro{background:#fff0ee;border:1px solid #e4aaa2;color:#9d2419}


/* ==========================================================
   CORREÇÃO MOBILE — MENU HAMBURGER + BANNER + NAVEGAÇÃO
   ========================================================== */
html, body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:0}
#topo{height:0;display:block}

/* Header/mobile navigation */
.mobile-menu-toggle{
  display:none;
  border:0;
  background:transparent;
  color:inherit;
  width:46px;
  height:46px;
  border-radius:8px;
  cursor:pointer;
  padding:8px;
  position:relative;
  z-index:10002;
}
.mobile-menu-toggle span{
  display:block;
  height:3px;
  width:28px;
  margin:5px auto;
  border-radius:3px;
  background:currentColor;
  transition:.25s ease;
}
.mobile-menu-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.mobile-menu-toggle.open span:nth-child(2){opacity:0}
.mobile-menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.mobile-menu-backdrop{display:none}

@media(max-width:760px){
  header, .header, .site-header{position:relative;z-index:10000}
  .mobile-menu-toggle{display:block}

  /* Put hamburger at the top-right when there is a nav container. */
  header .nav,
  .header .nav,
  .site-header .nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    width:100%;
    max-height:calc(100vh - 70px);
    overflow-y:auto;
    overflow-x:hidden;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    background:#082744!important;
    padding:8px 0!important;
    box-shadow:0 12px 30px rgba(0,0,0,.25);
    z-index:10001;
  }
  header .nav.mobile-open,
  .header .nav.mobile-open,
  .site-header .nav.mobile-open{
    display:flex!important;
  }
  header .nav a,
  .header .nav a,
  .site-header .nav a{
    display:block!important;
    width:100%!important;
    box-sizing:border-box;
    padding:14px 20px!important;
    white-space:normal!important;
    text-align:left;
    border-bottom:1px solid rgba(255,255,255,.10);
    color:#fff!important;
  }
  header .nav a:last-child,
  .header .nav a:last-child,
  .site-header .nav a:last-child{border-bottom:0}

  .mobile-menu-backdrop{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.38);
    z-index:9998;
  }
  .mobile-menu-backdrop.show{display:block}

  /* Banner must remain visible on mobile. */
  .hero,
  .banner,
  .hero-banner,
  .site-hero,
  .masthead,
  .cover,
  .top-banner{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
    min-height:360px;
    max-height:none!important;
    overflow:visible!important;
  }
  .hero img,
  .banner img,
  .hero-banner img,
  .site-hero img,
  .masthead img,
  .cover img,
  .top-banner img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:cover;
  }

  /* If the site uses a background image for the banner, preserve it. */
  .hero[style*="background"],
  .banner[style*="background"],
  .hero-banner[style*="background"],
  .site-hero[style*="background"],
  .masthead[style*="background"],
  .cover[style*="background"]{
    background-size:cover!important;
    background-position:center!important;
    min-height:360px!important;
  }

  section[id]{scroll-margin-top:12px}
  .section{width:100%;box-sizing:border-box}
  .container{width:min(1120px,92%);max-width:92%}

  .social-bar{max-width:100%;overflow-x:auto;flex-wrap:nowrap!important}
  .social-bar>*{flex:0 0 auto}
}

/* Desktop: toggle is hidden. */
@media(min-width:761px){
  .mobile-menu-toggle,.mobile-menu-backdrop{display:none!important}
}

/* ===== Correção final do menu mobile ===== */
.menu-toggle{display:none!important}
@media(max-width:760px){
  .mobile-menu-toggle{display:block!important}
}

/* ===== Legislação local ===== */
.legislation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:30px}
.legal-card{position:relative;background:#fff;border:1px solid var(--line);border-top:4px solid #c62828;padding:22px;box-shadow:0 7px 22px #0827440a;display:flex;flex-direction:column}
.legal-card .legal-date{font-size:11px;color:#c62828;font-weight:900;letter-spacing:.08em}.legal-icon{font-size:27px;margin-top:10px}.legal-card h3{font-size:18px;margin:9px 0}.legal-card p{color:var(--muted);font-size:14px;line-height:1.6;flex:1}.legal-card>a{display:inline-block;margin-top:14px;color:#0b5478;font-weight:900;text-decoration:none}.legal-card>a:hover{color:#c62828}
.legal-note{margin-top:25px;padding:20px 24px;background:#f5f8fa;border-left:5px solid #0b5478}.legal-note strong{display:block;color:#0b5478}.legal-note p{margin-bottom:0;color:var(--muted)}
@media(max-width:1050px){.legislation-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.legislation-grid{grid-template-columns:1fr}}

@media(max-width:760px){
  main{display:block!important}
  #inicio.hero{display:flex!important;position:relative!important;min-height:430px!important;height:auto!important;visibility:visible!important;opacity:1!important}
  #inicio.hero .hero-bg{display:block!important;position:absolute!important;inset:0!important;visibility:visible!important;opacity:1!important;background-size:cover!important;background-position:center center!important}
  #inicio.hero .hero-shade{display:block!important;position:absolute!important;inset:0!important;z-index:1!important}
  #inicio.hero .hero-content{position:relative!important;z-index:2!important;width:92%!important;max-width:92%!important}
}
