/* ===== E.E. Angelina Palheta Mendes — Design System ===== */
:root{
  --verde:#0e5c36; --verde-esc:#083b23; --verde-mais-esc:#062015; --dourado:#f0ad2e; --azul-rio:#1a5f8a;
  --bg:#f6f8f6; --texto:#1c2521; --branco:#fff; --cinza:#5b6b62; --borda:#e3e9e4;
  --surface:#fff; --surface-2:#fbfdfb;
  --radius:16px; --radius-sm:10px;
  --shadow-sm:0 4px 16px rgba(8,59,35,.08);
  --shadow-md:0 12px 32px rgba(8,59,35,.14);
  --shadow-lg:0 24px 60px rgba(8,59,35,.2);
  --header-h:104px;
  --govbar-h:34px;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#0c1712; --texto:#dce8e0; --branco:#132019; --cinza:#93a89b; --borda:#1f3226;
  --surface:#101d17; --surface-2:#0e1912;
  --shadow-sm:0 4px 16px rgba(0,0,0,.3);
  --shadow-md:0 12px 32px rgba(0,0,0,.4);
  --shadow-lg:0 24px 60px rgba(0,0,0,.55);
  color-scheme:dark;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter','Segoe UI',system-ui,-apple-system,Arial,sans-serif; color:var(--texto); background:var(--bg); line-height:1.65; overflow-x:hidden; transition:background .3s, color .3s;}
img{max-width:100%; display:block;}
a{color:inherit;}
h1,h2,h3,h4{line-height:1.22; letter-spacing:-.01em; font-family:'Sora','Inter',system-ui,sans-serif;}
.container{max-width:1180px; margin:0 auto; padding:0 24px;}
.eyebrow{text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:800; color:var(--dourado);}
.pill{display:inline-block; background:#eaf3ec; color:var(--verde); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; padding:5px 12px; border-radius:20px; margin:0 6px 6px 0;}
.ico-svg{display:inline-flex; vertical-align:middle;}
.ico-svg svg{width:1em; height:1em; display:block;}
[data-theme="dark"] .pill{background:#16281c;}

/* dark-mode auto-adapt para seções com fundo claro fixo (inline styles usam var(--bg)/#fff) */
[data-theme="dark"] section[style*="background:#fff"],
[data-theme="dark"] section[style*="background: #fff"],
[data-theme="dark"] .sobre,
[data-theme="dark"] .article-wrap,
[data-theme="dark"] .midia-text,
[data-theme="dark"] .card,
[data-theme="dark"] .aviso-card{background:var(--surface) !important; color:var(--texto);}
[data-theme="dark"] .sobre-text p, [data-theme="dark"] .article-body p, [data-theme="dark"] .article-body li,
[data-theme="dark"] .card-body p, [data-theme="dark"] .check-list li{color:var(--cinza) !important;}
[data-theme="dark"] .sobre-text h2, [data-theme="dark"] .section-head h2, [data-theme="dark"] .card-body h3,
[data-theme="dark"] .article-body h1, [data-theme="dark"] .article-body h2, [data-theme="dark"] .midia-text h3{color:#fff !important;}
[data-theme="dark"] .aviso-card{border-color:var(--borda);}
[data-theme="dark"] .filter-btn{background:var(--surface); border-color:var(--borda); color:var(--cinza);}
[data-theme="dark"] .gal-group h3{color:#fff;}
[data-theme="dark"] .sidebar-box{background:var(--surface-2); border-color:var(--borda);}
[data-theme="dark"] .side-item div span{color:#fff;}

/* ---- Header (moderno, sempre fixo, com efeito glass) ---- */
header{position:fixed; top:0; left:0; right:0; z-index:200; background:rgba(8,59,35,.85); backdrop-filter:blur(14px) saturate(160%); -webkit-backdrop-filter:blur(14px) saturate(160%); box-shadow:0 4px 30px rgba(0,0,0,.12); padding:0;}

/* ---- Barra institucional (vínculo com a SEDUC-AM) ---- */
.gov-bar{background:#0a2540; border-bottom:1px solid rgba(255,255,255,.08);}
.gov-bar-inner{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:6px 24px; max-width:1220px; margin:0 auto; min-height:var(--govbar-h); flex-wrap:wrap;}
.gov-bar-link{display:flex; align-items:center; gap:9px; text-decoration:none; color:#c7d6e6; font-size:.74rem; font-weight:600; opacity:.95;}
.gov-bar-link:hover{opacity:1; color:#fff;}
.gov-bar-link img{height:22px; width:auto; flex-shrink:0;}
.gov-bar-cta{color:#ffd45e; text-decoration:none; font-weight:800; font-size:.74rem; white-space:nowrap; display:flex; align-items:center; gap:4px;}
.gov-bar-cta:hover{text-decoration:underline;}
header::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, var(--dourado), var(--azul-rio), var(--verde), var(--dourado));}
body.has-hero header{background:rgba(6,26,17,.42); box-shadow:0 2px 20px rgba(0,0,0,.1); backdrop-filter:blur(6px) saturate(140%); transition:background .35s, box-shadow .35s, backdrop-filter .35s;}
body.has-hero header.scrolled{background:rgba(8,59,35,.9); backdrop-filter:blur(14px) saturate(160%); box-shadow:0 4px 30px rgba(0,0,0,.18);}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 24px; max-width:1220px; margin:0 auto; min-height:var(--header-h);}
.brand{display:flex; align-items:center; gap:12px; color:#fff; text-decoration:none;}
.brand img{width:48px; height:48px; object-fit:contain; border-radius:10px; background:#fff; padding:4px; box-shadow:0 0 0 2px var(--dourado), 0 4px 14px rgba(0,0,0,.25); transition:transform .25s;}
.brand:hover img{transform:rotate(-4deg) scale(1.05);}
.brand strong{font-size:1.08rem; display:block; font-family:'Sora',sans-serif; font-weight:800; letter-spacing:-.01em;}
.brand span{font-size:.72rem; opacity:.85; font-weight:600;}
nav{display:flex; align-items:center; gap:6px;}
nav ul{list-style:none; display:flex; gap:3px; align-items:center;}
nav a{position:relative; text-decoration:none; color:#fff; font-size:.93rem; font-weight:700; opacity:.92; padding:11px 17px; border-radius:10px; transition:.2s; white-space:nowrap;}
nav a:hover{opacity:1; background:rgba(255,255,255,.14);}
nav a.active{opacity:1; background:rgba(240,173,46,.18); color:var(--dourado); box-shadow:inset 0 0 0 1px rgba(240,173,46,.4);}
nav a.cta{background:var(--dourado); color:var(--verde-esc); font-weight:800; box-shadow:0 4px 14px rgba(240,173,46,.35);}
nav a.cta:hover{filter:brightness(1.08); background:var(--dourado); transform:translateY(-2px); box-shadow:0 8px 20px rgba(240,173,46,.45);}
#menu-toggle{display:none;}
.burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:0; padding:8px;}
.burger span{width:24px; height:3px; background:#fff; border-radius:2px;}

/* ---- Ícones do header (busca / tema) ---- */
.nav-icons{display:flex; align-items:center; gap:6px; margin-left:6px;}
.icon-btn{background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); color:#fff; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s; font-size:1rem;}
.icon-btn:hover{background:rgba(255,255,255,.22); transform:translateY(-1px);}
.icon-btn svg{width:17px; height:17px;}
.search-panel{max-height:0; overflow:hidden; transition:max-height .3s ease; background:rgba(6,32,21,.97); backdrop-filter:blur(10px);}
.search-panel.open{max-height:340px;}
.search-panel .container{padding-top:18px; padding-bottom:18px;}
.search-panel input{width:100%; padding:13px 18px; border-radius:10px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.08); color:#fff; font-size:1rem; outline:none;}
.search-panel input::placeholder{color:rgba(255,255,255,.55);}
.search-panel input:focus{border-color:var(--dourado);}
#searchResults{margin-top:12px; max-height:230px; overflow-y:auto; display:flex; flex-direction:column; gap:4px;}
.search-result{display:flex; gap:12px; align-items:center; padding:10px 12px; border-radius:8px; text-decoration:none; color:#fff; transition:.15s;}
.search-result:hover{background:rgba(255,255,255,.1);}
.search-result span.tag{font-size:.68rem; text-transform:uppercase; font-weight:800; color:var(--dourado); flex-shrink:0; width:78px;}
.search-empty{color:rgba(255,255,255,.55); font-size:.85rem; padding:10px 12px;}

/* ---- Page hero (interior pages, no carousel) ---- */
.page-hero{background:linear-gradient(135deg,var(--verde-esc),#0a4a2c); color:#fff; padding:184px 0 60px;}
.page-hero .eyebrow{display:block; margin-bottom:12px;}
.page-hero h1{font-size:clamp(1.8rem,4vw,2.6rem); margin-bottom:14px;}
.page-hero p{opacity:.88; max-width:640px; font-size:1.02rem;}
.breadcrumb{font-size:.82rem; opacity:.75; margin-bottom:18px;}
.breadcrumb a{text-decoration:none; opacity:.9;}
.breadcrumb a:hover{text-decoration:underline;}

/* ---- Hero carousel (home) ---- */
.hero-carousel{position:relative; min-height:100vh; overflow:hidden; isolation:isolate; color:#fff; cursor:grab;}
.hero-carousel:active{cursor:grabbing;}
.hc-slide{position:absolute; inset:0; opacity:0; transition:opacity 1.3s ease; z-index:0;}
.hc-slide.active{opacity:1; z-index:1;}
.hc-slide .hc-bg{position:absolute; inset:0; background-size:cover; background-position:center 30%; transform:scale(1.08); transition:transform 7s linear;}
.hc-slide.active .hc-bg{transform:scale(1.18);}
.hc-slide .hc-bg::after{content:"";position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,30,20,.55) 0%, rgba(8,30,20,.32) 35%, rgba(6,26,17,.92) 100%);}
.hc-progress{position:absolute; top:0; left:0; right:0; z-index:7; display:flex; gap:6px; padding:14px 20px 0; height:20px;}
.hc-progress .bar{flex:1; height:3px; border-radius:3px; background:rgba(255,255,255,.28); overflow:hidden;}
.hc-progress .bar span{display:block; height:100%; width:0%; background:var(--dourado); border-radius:3px;}
.hc-progress .bar.done span{width:100%; transition:none;}
.hc-progress .bar.active span{width:100%; transition:width 6.5s linear;}
.hc-content-wrap{position:relative; z-index:5; min-height:100vh; display:flex; align-items:flex-end;}
.hc-content{max-width:760px; padding:154px 0 110px;}
.hc-slide-text{display:none;}
.hc-slide-text.active{display:block; animation:fadeUp .7s ease;}
@keyframes fadeUp{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);}}
.hc-content .eyebrow{color:var(--dourado); margin-bottom:16px; display:block;}
.hc-content h1{font-size:clamp(2rem,4.6vw,3.2rem); margin-bottom:16px; text-shadow:0 4px 20px rgba(0,0,0,.35); font-weight:800;}
.hc-content p{font-size:1.1rem; margin-bottom:26px; opacity:.94; max-width:600px;}
.btn-row{display:flex; gap:14px; flex-wrap:wrap;}
.btn{display:inline-flex; align-items:center; gap:8px; background:var(--dourado); color:var(--verde-esc); padding:14px 26px; border-radius:10px; text-decoration:none; font-weight:800; font-size:.95rem; transition:.2s; border:2px solid var(--dourado); cursor:pointer;}
.btn:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(240,173,46,.35);}
.btn.outline{background:transparent; border:2px solid rgba(255,255,255,.55); color:#fff;}
.btn.outline:hover{background:rgba(255,255,255,.12); border-color:#fff;}
.btn.small{padding:10px 18px; font-size:.85rem;}
.hc-dots{position:absolute; bottom:26px; left:50%; transform:translateX(-50%); z-index:6; display:flex; gap:10px;}
.hc-dots button{width:10px; height:10px; border-radius:50%; border:2px solid rgba(255,255,255,.7); background:transparent; cursor:pointer; padding:0;}
.hc-dots button.active{background:var(--dourado); border-color:var(--dourado);}
.hc-arrow{position:absolute; top:50%; transform:translateY(-50%); z-index:6; background:rgba(0,0,0,.35); color:#fff; border:none; width:46px; height:46px; border-radius:50%; font-size:1.3rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s;}
.hc-arrow:hover{background:rgba(0,0,0,.55);}
.hc-arrow.prev{left:20px;}
.hc-arrow.next{right:20px;}
.hc-tags{position:absolute; bottom:70px; left:0; right:0; z-index:6; display:flex; justify-content:center; gap:8px; flex-wrap:wrap; padding:0 20px;}

/* ---- Stats bar ---- */
.stats-bar{background:var(--verde-esc); color:#fff; padding:34px 0;}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
.stats-grid b{display:block; font-size:2rem; color:var(--dourado); font-weight:800;}
.stats-grid span{font-size:.82rem; opacity:.85;}

section{padding:88px 0;}
.section-head{max-width:680px; margin:0 auto 48px; text-align:center;}
.section-head.left{margin:0 0 40px; text-align:left;}
.section-head .eyebrow{display:block; margin-bottom:10px;}
.section-head h2{font-size:clamp(1.7rem,3.2vw,2.3rem); color:var(--verde-esc); margin-bottom:14px;}
.section-head p{color:var(--cinza); font-size:1.02rem;}
.section-foot{text-align:center; margin-top:44px;}

/* ---- Sobre ---- */
.sobre{background:#fff;}
.sobre-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.sobre-media{position:relative;}
.sobre-media img{border-radius:var(--radius); box-shadow:var(--shadow-md);}
.sobre-media .badge-float{position:absolute; bottom:-22px; right:-22px; background:var(--dourado); color:var(--verde-esc); padding:16px 22px; border-radius:14px; font-weight:800; box-shadow:0 12px 28px rgba(0,0,0,.18); font-size:.95rem; text-align:center;}
.badge-float .ico-svg{font-size:1.3rem; margin-bottom:2px;}
.badge-float .ico-svg svg{stroke-width:2.4;}
.sobre-text .eyebrow{margin-bottom:12px; display:block; color:var(--azul-rio);}
.sobre-text h2{font-size:clamp(1.6rem,3vw,2.1rem); color:var(--verde-esc); margin-bottom:18px;}
.sobre-text p{margin-bottom:14px; color:#374b40;}
.check-list{list-style:none; margin-top:18px; display:grid; gap:10px;}
.check-list li{display:flex; gap:10px; align-items:flex-start; font-size:.95rem; color:#374b40;}
.check-list li::before{content:"✓"; background:var(--verde); color:#fff; width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.7rem; flex-shrink:0; margin-top:2px;}

/* ---- Card grids (projetos / noticias) ---- */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.card{background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); transition:transform .25s, box-shadow .25s; display:flex; flex-direction:column; text-decoration:none; color:inherit;}
.card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md);}
.card-media{position:relative; height:200px; overflow:hidden; background:#e3e9e4;}
.card-media img{width:100%; height:100%; object-fit:cover; transition:transform .4s;}
.card:hover .card-media img{transform:scale(1.08);}
.card-tag{position:absolute; top:14px; left:14px; background:rgba(8,59,35,.85); color:#fff; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; padding:5px 10px; border-radius:20px;}
.card-body{padding:22px; display:flex; flex-direction:column; gap:10px; flex:1;}
.card-date{font-size:.76rem; color:var(--cinza); font-weight:700; text-transform:uppercase; letter-spacing:.04em;}
.card-body h3{color:var(--verde-esc); font-size:1.08rem;}
.card-body p{font-size:.92rem; color:var(--cinza); flex:1;}
.card-link{font-size:.85rem; font-weight:800; color:var(--azul-rio); text-decoration:none; display:inline-flex; align-items:center; gap:6px; margin-top:4px;}
.card-link:hover{text-decoration:underline;}

/* ---- Video destaque / section ---- */
.video-section{background:linear-gradient(135deg, var(--verde-esc), #0a4a2c); color:#fff;}
.video-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:center;}
.video-grid.reverse{grid-template-columns:1.15fr .85fr;}
.video-grid.reverse .video-frame{order:2;}
.video-grid .eyebrow{color:var(--dourado); margin-bottom:14px; display:block;}
.video-grid h2,.video-grid h3{font-size:clamp(1.5rem,3vw,2rem); margin-bottom:16px;}
.video-grid p{opacity:.9; margin-bottom:14px;}
.video-frame{position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.4); aspect-ratio:9/16; max-width:340px; margin:0 auto; background:#000;}
.video-frame.wide{aspect-ratio:16/9; max-width:100%;}
.video-frame video{width:100%; height:100%; object-fit:cover; display:block;}
.video-frame iframe{width:100%; height:100%; display:block; border:0;}
.play-overlay{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; cursor:pointer; background:rgba(0,0,0,.28); transition:background .2s;}
.play-overlay:hover{background:rgba(0,0,0,.4);}
.play-btn{width:74px; height:74px; border-radius:50%; background:rgba(255,255,255,.95); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,.35);}
.play-btn svg{margin-left:4px;}
.play-overlay[hidden]{display:none;}

/* ---- Card de vídeo externo (Facebook) com fallback robusto ---- */
.fb-watch-card{position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.4); aspect-ratio:9/16; max-width:340px; margin:0 auto; display:block; text-decoration:none; background:#000;}
.fb-watch-card img{width:100%; height:100%; object-fit:cover; opacity:.85; transition:opacity .2s, transform .3s;}
.fb-watch-card:hover img{opacity:1; transform:scale(1.04);}
.fb-watch-card .fb-watch-overlay{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; background:linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.55));}
.fb-watch-card .fb-watch-label{position:absolute; bottom:16px; left:16px; right:16px; color:#fff; font-size:.82rem; font-weight:700; background:rgba(8,59,35,.7); padding:8px 12px; border-radius:8px; text-align:center;}

.video-grid-mini{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:10px;}
.vc-card{position:relative; border-radius:16px; overflow:hidden; background:#0d2a1a; box-shadow:0 14px 34px rgba(6,26,16,.28); transition:transform .3s, box-shadow .3s;}
.vc-card:hover{transform:translateY(-6px); box-shadow:0 22px 46px rgba(6,26,16,.4);}
.vc-embed{position:relative; aspect-ratio:9/16; background:#000;}
.vc-embed iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.vc-tag{position:absolute; top:12px; left:12px; z-index:2; background:rgba(0,0,0,.55); backdrop-filter:blur(6px); color:#fff; font-size:.66rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:5px 11px; border-radius:20px; border:1px solid rgba(255,255,255,.2); pointer-events:none;}
.vc-info{padding:16px 18px 20px;}
.vc-info h4{color:#fff; font-size:1rem; font-weight:800; margin:0 0 6px; line-height:1.25;}
.vc-info p{color:rgba(255,255,255,.72); font-size:.8rem; margin:0; line-height:1.45;}
@media(max-width:860px){ .video-grid-mini{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .video-grid-mini{grid-template-columns:1fr; gap:22px;} }

/* ---- Na mídia / feature card ---- */
.midia-card{display:grid; grid-template-columns:.9fr 1.1fr; gap:0; max-width:960px; margin:0 auto; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-md);}
.midia-card img{height:100%; object-fit:cover; min-height:260px;}
.midia-text{padding:38px; display:flex; flex-direction:column; justify-content:center; gap:12px; background:#fff;}
.midia-text .eyebrow{color:var(--azul-rio);}
.midia-text h3{color:var(--verde-esc); font-size:1.3rem;}
.midia-text p{color:var(--cinza); font-size:.96rem;}

/* ---- Galeria / lightbox ---- */
.gal-grid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:170px; gap:12px;}
.gal-grid.compact{grid-auto-rows:150px;}
.gal-grid figure{margin:0; overflow:hidden; border-radius:12px; cursor:pointer; position:relative;}
.gal-grid figure.big{grid-column:span 2; grid-row:span 2;}
.gal-grid img{width:100%; height:100%; object-fit:cover; transition:transform .35s;}
.gal-grid figure:hover img{transform:scale(1.08);}
.gal-grid figure::after{content:"";position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 40%); opacity:0; transition:opacity .25s;}
.gal-grid figure:hover::after{opacity:1;}
.gal-group{margin-bottom:52px;}
.gal-group h3{color:var(--verde-esc); margin-bottom:6px; font-size:1.2rem; display:flex; align-items:center; gap:10px;}
.gal-group h3 .ico-svg{font-size:1.35rem; color:var(--dourado); flex-shrink:0;}
.gal-group h3 .ico-svg svg{stroke-width:2.2;}
.gal-group p{color:var(--cinza); font-size:.9rem; margin-bottom:18px;}

.lightbox{position:fixed; inset:0; background:rgba(6,20,13,.94); display:none; align-items:center; justify-content:center; z-index:500; padding:30px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:min(90vw,1000px); max-height:85vh; border-radius:10px; box-shadow:0 20px 60px rgba(0,0,0,.5);}
.lightbox-close{position:absolute; top:24px; right:30px; color:#fff; font-size:2rem; cursor:pointer; opacity:.8; z-index:2;}
.lightbox-close:hover{opacity:1;}
.lightbox-counter{position:absolute; top:28px; left:50%; transform:translateX(-50%); color:#fff; font-size:.85rem; font-weight:700; opacity:.75; letter-spacing:.03em;}
.lightbox-nav{position:absolute; top:50%; transform:translateY(-50%); width:50px; height:50px; border-radius:50%; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s; z-index:2;}
.lightbox-nav:hover{background:rgba(255,255,255,.2); transform:translateY(-50%) scale(1.06);}
.lightbox-nav.prev{left:16px;}
.lightbox-nav.next{right:16px;}
@media(max-width:600px){ .lightbox-nav{width:40px; height:40px;} .lightbox-nav svg{width:18px; height:18px;} }

/* ---- Avisos ---- */
.aviso-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.aviso-card{border:1px solid var(--borda); border-radius:14px; padding:24px; background:#fbfdfb;}
.aviso-card .eyebrow{color:var(--verde); margin-bottom:10px; display:block;}
.aviso-card h4{color:var(--verde-esc); margin-bottom:8px; font-size:1rem;}
.aviso-card p{font-size:.88rem; color:var(--cinza);}

/* ---- Contato ---- */
.contato{background:linear-gradient(135deg,var(--verde-esc),#0a4a2c); color:#fff;}
.contato .section-head h2{color:#fff;}
.contato .section-head p{color:rgba(255,255,255,.8);}
.contact-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.contact-card{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:14px; padding:26px; text-align:center; display:flex; flex-direction:column; align-items:center;}
.contact-card .ico{font-size:1.7rem; margin-bottom:12px; color:var(--dourado); display:flex; justify-content:center;}
.contact-card .ico .ico-svg svg{width:30px; height:30px; stroke-width:1.8;}
.contact-card h4{font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; opacity:.7; margin-bottom:8px;}
.contact-card p, .contact-card a{font-size:.95rem; font-weight:600; text-decoration:none; color:#fff; display:block;}
.contact-card a + a{margin-top:6px;}
.contact-card a:hover{color:var(--dourado);}

footer{position:relative; background:var(--verde-mais-esc); color:#9fb3a6; padding:56px 0 0;}
footer::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, var(--dourado), var(--azul-rio), var(--verde), var(--dourado));}
.foot-top{display:flex; align-items:center; gap:14px; margin-bottom:38px; padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,.08);}
.foot-top img{width:52px; height:52px; object-fit:contain; background:#fff; border-radius:12px; padding:5px; box-shadow:0 0 0 2px var(--dourado);}
.foot-top strong{color:#fff; font-family:'Sora',sans-serif; font-size:1.15rem; display:block;}
.foot-top span{font-size:.82rem; opacity:.75;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:34px; margin-bottom:36px;}
.foot-grid h4{color:#fff; margin-bottom:16px; font-size:.92rem; text-transform:uppercase; letter-spacing:.06em; font-weight:800;}
.foot-grid p, .foot-grid a{font-size:.88rem; color:#9fb3a6; text-decoration:none; display:block; margin-bottom:11px; transition:.2s;}
.foot-grid a{position:relative; width:fit-content;}
.foot-grid a:hover{color:var(--dourado); transform:translateX(3px);}
.foot-social{display:flex; gap:10px; margin-top:4px;}
.foot-social a{width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; margin:0; transition:.2s;}
.foot-social a:hover{background:var(--dourado); border-color:var(--dourado); transform:translateY(-3px);}
.foot-social a svg{width:17px; height:17px; fill:#fff;}
.foot-social a:hover svg{fill:var(--verde-esc);}
.foot-gov{display:flex; flex-wrap:wrap; align-items:center; gap:9px 20px; padding:22px 0; border-top:1px solid rgba(255,255,255,.08);}
.foot-gov-label{font-size:.76rem; font-weight:800; color:#fff; text-transform:uppercase; letter-spacing:.05em;}
.foot-gov a{font-size:.82rem; color:#9fb3a6; text-decoration:none; transition:.2s;}
.foot-gov a:hover{color:var(--dourado);}
.foot-bottom{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; text-align:left; padding:22px 0; border-top:1px solid rgba(255,255,255,.08); font-size:.8rem; color:#6f8577;}
.foot-bottom .credit a{color:#8fae9d; text-decoration:none; font-weight:700; transition:.2s;}
.foot-bottom .credit a:hover{color:var(--dourado);}
.back-to-top{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:#9fb3a6; width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s; text-decoration:none;}
.back-to-top:hover{background:var(--dourado); color:var(--verde-esc); border-color:var(--dourado); transform:translateY(-2px);}

/* ---- Article page ---- */
.article-wrap{background:#fff;}
.article-layout{display:grid; grid-template-columns:2fr 1fr; gap:56px; align-items:start; padding:56px 0 90px;}
.article-body h1{color:var(--verde-esc); font-size:clamp(1.7rem,3.4vw,2.4rem); margin:14px 0 18px;}
.article-meta{font-size:.85rem; color:var(--cinza); margin-bottom:26px; display:flex; gap:14px; flex-wrap:wrap; align-items:center;}
.article-meta span{display:inline-flex; align-items:center; gap:6px;}
.article-meta .ico-svg{color:var(--azul-rio); font-size:1rem;}
.article-meta .ico-svg svg{stroke-width:2.2;}
.article-hero{border-radius:var(--radius); overflow:hidden; margin-bottom:30px; box-shadow:var(--shadow-md);}
.article-body p{margin-bottom:18px; font-size:1.02rem; color:#374b40;}
.article-body h2{color:var(--verde-esc); font-size:1.35rem; margin:34px 0 14px;}
.article-body ul{margin:0 0 18px 20px;}
.article-body li{margin-bottom:8px; color:#374b40;}
.article-body blockquote{border-left:4px solid var(--dourado); padding:6px 0 6px 20px; margin:24px 0; font-style:italic; color:var(--verde-esc); font-size:1.08rem;}
.article-gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:26px 0;}
.article-gallery img{border-radius:10px; height:150px; object-fit:cover; cursor:pointer;}
.article-source{margin-top:32px; padding-top:20px; border-top:1px solid var(--borda); font-size:.85rem; color:var(--cinza);}
.sidebar-box{background:var(--bg); border-radius:var(--radius); padding:24px; margin-bottom:24px; border:1px solid var(--borda);}
.sidebar-box h4{color:var(--verde-esc); font-size:.95rem; text-transform:uppercase; letter-spacing:.05em; margin-bottom:16px;}
.side-item{display:flex; gap:12px; margin-bottom:14px; text-decoration:none; color:inherit;}
.side-item img{width:64px; height:64px; object-fit:cover; border-radius:8px; flex-shrink:0;}
.side-item div span{display:block; font-size:.92rem; font-weight:700; color:var(--verde-esc); line-height:1.3;}
.side-item div small{font-size:.76rem; color:var(--cinza);}
.side-item:hover div span{color:var(--azul-rio);}
.sidebar-cta{background:var(--verde-esc); color:#fff; border-radius:var(--radius); padding:26px; text-align:center;}
.sidebar-cta h4{color:#fff; margin-bottom:10px;}
.sidebar-cta p{font-size:.88rem; opacity:.85; margin-bottom:16px;}

/* ---- Filters (noticias/projetos) ---- */
.filter-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px;}
.filter-btn{background:#fff; border:1px solid var(--borda); color:var(--cinza); font-size:.85rem; font-weight:700; padding:8px 16px; border-radius:20px; cursor:pointer; transition:.2s;}
.filter-btn:hover{border-color:var(--verde);}
.filter-btn.active{background:var(--verde); color:#fff; border-color:var(--verde);}

/* ---- Reveal on scroll ---- */
.reveal-init{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease;}
.reveal-init.in-view{opacity:1; transform:translateY(0);}

/* ---- Botão flutuante WhatsApp ---- */
.whatsapp-float{position:fixed; bottom:22px; right:22px; z-index:300; width:58px; height:58px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,.3); text-decoration:none; transition:transform .2s; animation:wa-pulse 2.6s infinite;}
.whatsapp-float:hover{transform:scale(1.08); animation:none;}
.whatsapp-float svg{width:30px; height:30px;}
@keyframes wa-pulse{0%,100%{box-shadow:0 8px 24px rgba(0,0,0,.3), 0 0 0 0 rgba(37,211,102,.55);} 50%{box-shadow:0 8px 24px rgba(0,0,0,.3), 0 0 0 10px rgba(37,211,102,0);}}

/* ---- Theme toggle icon swap ---- */
.icon-sun{display:none;}
[data-theme="dark"] .icon-moon{display:none;}
[data-theme="dark"] .icon-sun{display:block;}

@media(max-width:980px){
  nav ul{gap:0;}
  nav a{padding:9px 10px; font-size:.82rem;}
}
@media(max-width:900px){
  .sobre-grid, .video-grid, .video-grid.reverse, .midia-card, .aviso-grid, .article-layout{grid-template-columns:1fr;}
  .video-grid.reverse .video-frame{order:0;}
  .card-grid{grid-template-columns:1fr 1fr;}
  .stats-grid{grid-template-columns:repeat(2,1fr); row-gap:24px;}
  .contact-grid{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr 1fr; gap:28px;}
  .foot-bottom{justify-content:center; text-align:center;}
  .gal-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:150px;}
  .gal-grid figure.big{grid-column:span 2; grid-row:span 1;}
  .article-gallery{grid-template-columns:repeat(2,1fr);}
  nav ul{position:fixed; top:var(--header-h); left:0; right:0; background:var(--verde-esc); flex-direction:column; padding:18px 24px; gap:6px; display:none; align-items:stretch; max-height:80vh; overflow-y:auto;}
  #menu-toggle:checked ~ nav ul{display:flex;}
  nav a{padding:12px 14px; font-size:.9rem;}
  nav a::after{display:none;}
  .burger{display:flex; order:2;}
  .nav-icons{order:1; margin-left:auto;}
  .midia-card img{min-height:200px;}
  .search-panel input{font-size:.9rem;}
}
@media(max-width:600px){
  .card-grid{grid-template-columns:1fr;}
  .aviso-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .foot-top{flex-direction:column; text-align:center;}
}
@media(max-width:520px){
  .hc-content{padding:144px 0 70px;}
  .contact-grid{grid-template-columns:1fr;}
  .hc-arrow{width:38px; height:38px; font-size:1.1rem;}
  .gov-bar-link span{display:none;}
  .gov-bar-inner{justify-content:center; gap:16px;}
}
