@charset "UTF-8";
:root{
  --verde: #004834;
  --verde-escuro: #00301f;
  --verde-claro: #0d6b4e;
  --amarelo: #eeb31a;
  --branco: #ffffff;
  --preto: #171717;
  --cinza-100: #f5f5f3;
  --cinza-200: #e7e6e2;
  --cinza-400: #9c9a94;
  --cinza-700: #4b4a45;
  --fonte-titulo: 'Helvetica Bold', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --fonte-texto: 'Helvetica', 'Helvetica Neue', Arial, sans-serif;
  --maxw: 1240px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--branco);
  color:var(--preto);
  font-family:var(--fonte-texto);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{
  font-family:var(--fonte-titulo);
  font-weight:700;
  margin:0 0 .4em;
  line-height:1.15;
}
p{margin:0 0 1em;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ---------- Topbar ---------- */
.topbar{background:var(--verde-escuro);color:var(--branco);font-size:12.5px;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:34px;}
.topbar-date{opacity:.85;}
.topbar-links{display:flex;gap:16px;}
.topbar-links a:hover{color:var(--amarelo);}

/* ---------- Header ---------- */
.site-header{background:var(--verde);color:var(--branco);}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;gap:20px;}
.logo img{height:46px;width:auto;}
.header-actions{display:flex;align-items:center;gap:14px;}
.icon-btn{background:none;border:0;color:var(--branco);cursor:pointer;padding:6px;display:flex;}
.icon-btn svg{width:22px;height:22px;}
#mobileNavBtn{display:none;}
.nav-list .submenu a.submenu-all{display:none;}
.header-search{display:flex;align-items:center;background:rgba(255,255,255,.12);border-radius:6px;overflow:hidden;}
.header-search input{background:transparent;border:0;color:var(--branco);padding:8px 10px;font-family:var(--fonte-texto);font-size:14px;width:180px;}
.header-search input::placeholder{color:rgba(255,255,255,.7);}
.header-search button{background:none;border:0;color:var(--branco);padding:0 10px;cursor:pointer;}

/* ---------- Nav ---------- */
.main-nav{background:var(--verde-escuro);border-top:1px solid rgba(255,255,255,.08);position:relative;}
.main-nav .container{display:flex;}
.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;}
.nav-list > li{position:relative;}
.nav-list > li > a{
  display:block;color:var(--branco);font-size:13.5px;font-weight:700;
  font-family:var(--fonte-titulo);letter-spacing:.02em;
  padding:12px 14px;white-space:nowrap;
}
.nav-list > li > a:hover, .nav-list > li.active > a{color:var(--amarelo);}
.nav-list .submenu{
  display:none;position:absolute;top:100%;left:0;background:var(--verde-escuro);
  min-width:230px;box-shadow:0 12px 24px rgba(0,0,0,.25);z-index:40;padding:6px 0;
}
@media (hover:hover) and (min-width:861px){
  .nav-list li:hover .submenu{display:block;}
}
.nav-list li:focus-within .submenu{display:block;}
.nav-list .submenu a{display:block;padding:9px 16px;font-size:13px;color:var(--branco);font-family:var(--fonte-texto);font-weight:400;}
.nav-list .submenu a:hover{background:rgba(255,255,255,.08);color:var(--amarelo);}

.nav-toggle{display:none;background:none;border:0;color:var(--branco);padding:10px 16px;cursor:pointer;}

/* ---------- Buttons / tags ---------- */
.btn{
  display:inline-block;font-family:var(--fonte-titulo);font-weight:700;font-size:13px;
  padding:10px 20px;border-radius:4px;border:2px solid var(--verde);background:var(--verde);color:var(--branco);
  cursor:pointer;text-align:center;
}
.btn:hover{background:var(--verde-claro);border-color:var(--verde-claro);}
.btn-amarelo{background:var(--amarelo);border-color:var(--amarelo);color:var(--verde-escuro);}
.btn-amarelo:hover{background:#ffc84a;border-color:#ffc84a;}
.btn-outline{background:transparent;color:var(--verde);}
.btn-outline:hover{background:var(--verde);color:var(--branco);}
.tag{
  display:inline-block;font-family:var(--fonte-titulo);font-weight:700;font-size:11px;letter-spacing:.03em;
  text-transform:uppercase;background:var(--verde);color:var(--branco);padding:4px 9px;border-radius:3px;
}
.tag-amarelo{background:var(--amarelo);color:var(--verde-escuro);}

/* ---------- Section heading ---------- */
.section-heading{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  border-bottom:3px solid var(--verde);margin:40px 0 20px;padding-bottom:8px;
}
.section-heading h2{font-size:26px;color:var(--verde);text-transform:uppercase;letter-spacing:.02em;}
.section-heading .see-more{font-size:13px;font-weight:700;color:var(--verde);font-family:var(--fonte-titulo);}
.section-heading .see-more:hover{color:var(--amarelo);}

/* ---------- Hero / Top news grid ---------- */
.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin-top:24px;}
.hero-main{position:relative;border-radius:6px;overflow:hidden;background:var(--verde-escuro);color:var(--branco);min-height:420px;display:flex;align-items:flex-end;}
.hero-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85;}
.hero-main .overlay{position:relative;z-index:2;padding:28px;background:linear-gradient(0deg, rgba(0,20,14,.92) 0%, rgba(0,20,14,.1) 75%);width:100%;}
.hero-main h1{font-size:34px;color:var(--branco);margin-top:10px;}
.hero-main p{color:rgba(255,255,255,.85);font-size:15px;}
.hero-side{display:flex;flex-direction:column;gap:18px;}
.hero-card{position:relative;border-radius:6px;overflow:hidden;background:var(--cinza-200);min-height:195px;display:flex;align-items:flex-end;color:var(--branco);}
.hero-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-card .overlay{position:relative;z-index:2;padding:16px;background:linear-gradient(0deg, rgba(0,20,14,.9) 0%, rgba(0,20,14,.05) 80%);width:100%;}
.hero-card h3{font-size:17px;color:var(--branco);margin-top:6px;}

/* ---------- Article cards ---------- */
.card{background:var(--branco);}
.card-img{border-radius:6px;overflow:hidden;aspect-ratio:16/10;background:var(--cinza-200);margin-bottom:10px;}
.card-img img{width:100%;height:100%;object-fit:cover;}
.card h3{font-size:18px;margin:8px 0 6px;}
.card h3 a:hover{color:var(--verde);}
.card p{color:var(--cinza-700);font-size:14px;}
.card .meta{font-size:12px;color:var(--cinza-400);margin-top:6px;}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}

.latest-list{border:1px solid var(--cinza-200);border-radius:6px;overflow:hidden;}
.latest-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--cinza-200);}
.latest-item:last-child{border-bottom:0;}
.latest-item:hover{background:var(--cinza-100);}
.latest-item .date{font-size:12px;color:var(--branco);background:var(--verde);border-radius:3px;padding:3px 8px;flex:0 0 auto;font-family:var(--fonte-titulo);}
.latest-item .title{font-size:14.5px;flex:1;min-width:0;}
.empty-note{color:var(--cinza-700);font-size:15px;border:1px dashed var(--cinza-200);border-radius:6px;padding:18px;}
.empty-note a{color:var(--verde);}
.latest-item .arrow{color:var(--verde);flex:0 0 auto;}

/* ---------- Layout wrappers ---------- */
.page-section{padding:20px 0 10px;}
.two-col{display:grid;grid-template-columns:2.4fr 1fr;gap:36px;align-items:start;}
.sidebar-box{border:1px solid var(--cinza-200);border-radius:6px;padding:18px;margin-bottom:24px;}
.sidebar-box h4{font-size:15px;color:var(--verde);text-transform:uppercase;border-bottom:2px solid var(--amarelo);padding-bottom:8px;margin-bottom:12px;}

/* ---------- Ad banners ---------- */
.ad-slot{display:flex;justify-content:center;align-items:center;margin:28px 0;}
.ad-slot img{border-radius:4px;max-height:280px;max-width:100%;height:auto;}
.ad-slot .ad-label{max-width:100%;}
.ad-slot .ad-label{position:relative;}
.ad-slot .ad-label::before{content:'Publicidade';display:block;text-align:center;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza-400);margin-bottom:4px;}

/* ---------- Article page ---------- */
.article-header{max-width:820px;margin:32px auto 0;padding:0 20px;}
.article-header .tag{margin-bottom:14px;}
.article-header h1{font-size:36px;color:var(--preto);}
.article-header .subheadline{font-size:19px;color:var(--cinza-700);margin-top:10px;}
.article-header .byline{margin-top:18px;font-size:13px;color:var(--cinza-400);border-top:1px solid var(--cinza-200);border-bottom:1px solid var(--cinza-200);padding:10px 0;}
.article-cover{max-width:960px;margin:24px auto;padding:0 20px;}
.article-cover img{width:100%;height:auto;border-radius:6px;}
.article-body{max-width:760px;margin:0 auto 40px;padding:0 20px;font-size:18px;line-height:1.75;color:#242424;}
.article-body p{margin-bottom:1.2em;}

/* ---------- Static content pages (Sobre / Anuncie / Participe) ---------- */
.static-hero{background:var(--verde);color:var(--branco);padding:56px 0;text-align:center;}
.static-hero h1{font-size:38px;color:var(--branco);}
.static-hero p{font-size:17px;max-width:640px;margin:14px auto 0;color:rgba(255,255,255,.9);}
.static-body{max-width:760px;margin:0 auto;padding:40px 20px 60px;font-size:17px;color:#2c2c2c;}
.static-body h2{color:var(--verde);font-size:22px;margin-top:36px;}
.cta-final{background:var(--cinza-100);border-radius:8px;padding:36px 20px;text-align:center;margin:40px 0;}
.cta-final h2{color:var(--verde);}
.cta-final .form-inline{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap;}
.cta-final .form-inline input[type=email]{padding:11px 14px;border:1px solid var(--cinza-200);border-radius:4px;min-width:260px;font-family:var(--fonte-texto);}

/* ---------- Página Sobre (timeline + time) ---------- */
.sobre-lead{font-size:19px;color:#2c2c2c;max-width:760px;margin:0 auto 10px;}
.sobre-divider{border:0;border-top:1px solid var(--cinza-200);margin:44px 0;}
.timeline{margin-top:24px;border-left:3px solid var(--verde);padding-left:28px;}
.timeline-item{position:relative;margin-bottom:32px;}
.timeline-item::before{content:'';position:absolute;left:-34px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--amarelo);border:3px solid var(--verde);}
.timeline-year{display:inline-block;font-family:var(--fonte-titulo);font-weight:700;font-size:13px;color:var(--branco);background:var(--verde);padding:3px 12px;border-radius:20px;margin-bottom:8px;}
.timeline-item h3{font-size:19px;color:var(--preto);margin-bottom:8px;}
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:24px;}
.team-card{border:1px solid var(--cinza-200);border-radius:8px;padding:22px;}
.team-card h3{font-size:18px;color:var(--verde);margin-bottom:2px;}
.team-card .role{font-family:var(--fonte-titulo);font-weight:700;font-size:13px;color:var(--amarelo);background:var(--verde);display:inline-block;padding:3px 10px;border-radius:3px;margin-bottom:10px;}
.team-card p{font-size:14.5px;color:var(--cinza-700);margin-bottom:0;}
.tagline-box{background:var(--verde);color:var(--branco);border-radius:8px;padding:30px;text-align:center;margin-top:28px;}
.tagline-box strong{font-family:var(--fonte-titulo);font-size:19px;color:var(--amarelo);}
@media (max-width:680px){
  .team-grid{grid-template-columns:1fr;}
}

/* ---------- Footer ---------- */
.site-footer{background:var(--verde-escuro);color:rgba(255,255,255,.85);margin-top:60px;}
.footer-top{padding:48px 20px 24px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;}
.footer-brand img{height:52px;margin-bottom:14px;}
.footer-brand p{font-size:13.5px;color:rgba(255,255,255,.7);}
.footer-col h5{font-family:var(--fonte-titulo);color:var(--amarelo);font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;}
.footer-col ul{list-style:none;margin:0;padding:0;}
.footer-col li{margin-bottom:9px;font-size:13.5px;}
.footer-col a:hover{color:var(--amarelo);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 20px;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:rgba(255,255,255,.6);flex-wrap:wrap;gap:10px;}
.footer-credit{color:rgba(255,255,255,.75);}
.footer-credit strong{color:var(--branco);}
.footer-credit:hover,.footer-credit:hover strong{color:var(--amarelo);}
.footer-bottom .restrict-link{color:rgba(255,255,255,.35);font-size:11.5px;}
.footer-bottom .restrict-link:hover{color:rgba(255,255,255,.6);}

/* ---------- Breadcrumb ---------- */
.breadcrumb{font-size:12.5px;color:var(--cinza-400);margin:18px 0;}
.breadcrumb a:hover{color:var(--verde);}

/* ---------- Admin ---------- */
.admin-shell{min-height:100vh;background:var(--cinza-100);}
.admin-topbar{background:var(--verde);color:var(--branco);padding:14px 0;}
.admin-topbar .container{display:flex;justify-content:space-between;align-items:center;}
.admin-topbar img{height:34px;}
.admin-wrap{max-width:1100px;margin:0 auto;padding:32px 20px 60px;}
.admin-tabs{display:flex;flex-wrap:wrap;gap:0 6px;margin-bottom:24px;border-bottom:2px solid var(--cinza-200);}
.admin-tabs a{padding:10px 18px;font-family:var(--fonte-titulo);font-weight:700;font-size:14px;color:var(--cinza-700);border-bottom:3px solid transparent;margin-bottom:-2px;}
.admin-tabs a.active,.admin-tabs a:hover{color:var(--verde);border-color:var(--verde);}
.panel{background:var(--branco);border:1px solid var(--cinza-200);border-radius:8px;padding:26px;margin-bottom:24px;}
.panel h2{font-size:19px;color:var(--verde);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-grid .full{grid-column:1/-1;}
label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--cinza-700);}
input[type=text],input[type=email],input[type=password],input[type=url],select,textarea{
  width:100%;padding:10px 12px;border:1px solid var(--cinza-200);border-radius:4px;font-family:var(--fonte-texto);font-size:14px;background:#fff;
}
textarea{resize:vertical;}
.field{margin-bottom:16px;}
.login-box{max-width:380px;margin:80px auto;background:#fff;border:1px solid var(--cinza-200);border-radius:8px;padding:34px;text-align:center;}
.login-box img{height:48px;margin:0 auto 20px;}
.admin-table{width:100%;border-collapse:collapse;font-size:14px;}
.admin-table th{text-align:left;font-family:var(--fonte-titulo);color:var(--cinza-700);border-bottom:2px solid var(--cinza-200);padding:8px 10px;font-size:12px;text-transform:uppercase;}
.admin-table td{padding:10px;border-bottom:1px solid var(--cinza-200);vertical-align:middle;}
.admin-table img{width:64px;height:44px;object-fit:cover;border-radius:3px;}
.pill{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;background:var(--cinza-200);color:var(--cinza-700);}
.pill-verde{background:var(--verde);color:#fff;}
.pill-amarelo{background:var(--amarelo);color:var(--verde-escuro);}
.alert{padding:12px 16px;border-radius:4px;margin-bottom:16px;font-size:14px;}
.alert-error{background:#fdeaea;color:#a3231c;border:1px solid #f3c8c6;}
.alert-ok{background:#e9f6ef;color:var(--verde);border:1px solid #bfe6d3;}
.link-btn{background:none;border:0;color:#a3231c;cursor:pointer;font-size:13px;font-weight:700;font-family:var(--fonte-titulo);}
.modal-note{font-size:13px;color:var(--cinza-700);background:var(--cinza-100);border-radius:4px;padding:10px 12px;margin-top:8px;}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;}
  .two-col{grid-template-columns:1fr;}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .form-grid{grid-template-columns:1fr;}
}
@media (max-width:860px){
  #mobileNavBtn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;}
  .header-search{display:none;}
  .main-nav .container{flex-direction:column;align-items:stretch;padding:0;}
  .nav-list{display:none;flex-direction:column;flex-wrap:nowrap;width:100%;}
  .nav-list.open{display:flex;}
  .nav-list > li > a{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.08);white-space:normal;}
  .nav-list .submenu{position:static;box-shadow:none;background:rgba(0,0,0,.15);display:none;min-width:0;padding:0;}
  .nav-list li.open .submenu{display:block;}
  .nav-list li:focus-within .submenu{display:none;}
  .nav-list li.open:focus-within .submenu{display:block;}
  .nav-list .submenu a{padding:12px 20px 12px 32px;border-bottom:1px solid rgba(255,255,255,.05);}
  .nav-list .submenu a.submenu-all{display:block;font-weight:700;color:var(--amarelo);}
  .nav-list > li:has(.submenu) > a{position:relative;padding-right:44px;}
  .nav-list > li:has(.submenu) > a::after{content:'+';display:block;position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:18px;line-height:1;color:var(--amarelo);}
  .nav-list > li.open:has(.submenu) > a::after{content:'−';}
}
@media (max-width:700px){
  .topbar .container{flex-direction:column;align-items:flex-start;height:auto;padding:8px 20px;gap:4px;}
  .topbar-links{gap:12px;flex-wrap:wrap;}
}
@media (max-width:680px){
  .container{padding:0 20px;}
  .site-header .container{padding:12px 20px;gap:12px;}
  .logo img{height:38px;max-width:100%;}
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}
  .grid-3,.grid-4,.grid-2{gap:28px;}
  .footer-top{grid-template-columns:1fr;gap:26px;padding:36px 20px 12px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .hero-grid{gap:14px;margin-top:16px;}
  .hero-main{min-height:300px;}
  .hero-main .overlay{padding:20px 18px;}
  .hero-main h1{font-size:26px;}
  .hero-side{gap:14px;}
  .hero-card{min-height:180px;}
  .section-heading{flex-wrap:wrap;gap:6px 16px;margin:32px 0 16px;}
  .section-heading h2{font-size:21px;}
  .latest-item{padding:12px 14px;gap:12px;}
  .latest-item-edition{flex-wrap:wrap;}
  .latest-item-edition .title{flex:1 1 100%;order:3;}
  .latest-item-edition .arrow{margin-left:auto;}
  .two-col{gap:8px;}
  .article-header{margin-top:20px;}
  .article-header h1{font-size:27px;}
  .article-header .subheadline{font-size:17px;}
  .article-body{font-size:16.5px;}
  .static-hero{padding:40px 0;}
  .static-hero h1{font-size:30px;}
  .static-body{padding-top:28px;padding-bottom:40px;font-size:16px;}
  .timeline{padding-left:22px;}
  .timeline-item::before{left:-28px;}
  .team-card{padding:18px;}
  .tagline-box{padding:24px 18px;}
  .topbar-links{gap:10px;}
  .cta-final{margin:32px 20px;}
  .cta-final .container{padding:0;}
  .cta-final .form-inline{flex-direction:column;align-items:stretch;}
  .cta-final .form-inline input[type=email]{width:100%;min-width:0;}
  .cta-final .form-inline .btn{width:100%;}
  .static-body form input[type=email]{min-width:0 !important;flex:1 1 100% !important;}
  .static-body form .btn{width:100%;}
  input[type=text],input[type=email],input[type=password],input[type=url],input[type=search],select,textarea{font-size:16px;}
  .admin-wrap{padding:20px 16px 40px;}
  .admin-topbar .container{flex-wrap:wrap;gap:10px;}
  .panel{padding:18px;}
  .login-box{margin:32px 16px;padding:26px 20px;}
  .sidebar-box{padding:16px;}
}
