:root{
  --dr-ink:#071317;
  --dr-ink-2:#0a1b20;
  --dr-petrol:#0b2b30;
  --dr-petrol-2:#0f3a3f;
  --dr-sand:#f3f5f6;
  --dr-surface:#ffffff;
  --dr-line:rgba(255,255,255,.12);
  --dr-line-dark:rgba(4,18,21,.14);

  --dr-text:#0d1b1f;
  --dr-text-inv:rgba(255,255,255,.92);
  --dr-muted:#51656a;
  --dr-muted-inv:rgba(255,255,255,.75);

  --dr-green:#2f8f2f;
  --dr-green-2:#37a937;
  --dr-orange:#f28c28;
  --dr-orange-2:#ff9c3a;

  --dr-shadow: 0 18px 60px rgba(0,0,0,.22);
  --dr-shadow-strong: 0 28px 90px rgba(0,0,0,.32);
  --dr-radius:18px;
  --dr-radius-sm:14px;
  --dr-max:1160px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--dr-text);
  background:var(--dr-sand);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial;
  line-height:1.55;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto}
a{color:inherit}

.container{width:100%;max-width:var(--dr-max);padding:0 18px;margin:0 auto}

.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:14px;top:14px;width:auto;height:auto;padding:10px 12px;border-radius:12px;background:#000;color:#fff;z-index:9999}

/* Header */
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(11,43,48,.88);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:42px;height:42px;border-radius:12px;box-shadow: 0 10px 28px rgba(0,0,0,.25)}
.brand span{font-weight:900;letter-spacing:.06em;color:#fff;font-size:.96rem}

.menu-btn{
  display:none;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:#fff;
  border-radius:999px;
  padding:10px 12px;
  font-weight:800;
}

.nav{display:flex;align-items:center;gap:14px}
.nav a{
  color:rgba(255,255,255,.86);
  text-decoration:none;
  font-weight:700;
  font-size:.95rem;
  padding:10px 10px;
  border-radius:12px;
}
.nav a:hover{background:rgba(255,255,255,.07)}
.nav a[aria-current="page"]{background:rgba(255,255,255,.12);color:#fff}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:999px;
  padding:12px 16px;
  font-weight:900;
  letter-spacing:.02em;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  user-select:none;
}
.btn-primary{background:linear-gradient(180deg,var(--dr-green-2),var(--dr-green));color:#fff;box-shadow: 0 18px 45px rgba(47,143,47,.32)}
.btn-primary:hover{filter:brightness(1.04)}
.btn-outline{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.22)}
.btn-outline:hover{background:rgba(255,255,255,.10)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.18)}
.btn-ghost:hover{background:rgba(255,255,255,.07)}
.btn-orange{background:linear-gradient(180deg,var(--dr-orange-2),var(--dr-orange));color:#1b1209;box-shadow:0 18px 45px rgba(242,140,40,.26)}

.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-weight:800;
  font-size:.82rem;
}

.section{padding:64px 0}
.section-tight{padding:44px 0}

.h2{font-size:2rem;line-height:1.1;margin:0 0 12px;font-weight:1000;letter-spacing:-.02em}
.lead{color:var(--dr-muted);margin:0 0 18px;font-size:1.05rem}

/* Hero */
.hero{
  position:relative;
  min-height:78vh;
  color:var(--dr-text-inv);
  background:
    linear-gradient(90deg, rgba(7,19,23,.86) 0%, rgba(7,19,23,.60) 45%, rgba(7,19,23,.20) 100%),
    url('../img/hero.jpg') center/cover no-repeat;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 520px at 10% 0%, rgba(47,143,47,.34), transparent 60%),
    radial-gradient(820px 520px at 80% 15%, rgba(242,140,40,.22), transparent 60%),
    url('../img/texture-grunge.svg') center/cover repeat;
  mix-blend-mode: overlay;
  opacity:.55;
  pointer-events:none;
}
.hero::after{
  content:"";position:absolute;inset:auto 0 0 0;height:120px;
  background:linear-gradient(180deg, rgba(243,245,246,0) 0%, rgba(243,245,246,1) 100%);
}
.hero-inner{position:relative;padding:86px 0 44px}
.hero-grid{display:grid;grid-template-columns: 1.1fr .9fr;gap:20px;align-items:stretch}

.hero-card{
  border-radius:var(--dr-radius);
  overflow:hidden;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:var(--dr-shadow-strong);
  position:relative;
}
.hero-content{padding:26px 22px 18px;position:relative}
.hero-title{
  font-size: clamp(2.6rem, 5.8vw, 4.2rem);
  line-height:.95;
  margin:12px 0 10px;
  font-weight:1000;
  letter-spacing:-.03em;
  text-transform:uppercase;
}
.hero-sub{font-size:1.18rem;color:rgba(255,255,255,.86);margin:0 0 18px;max-width:52ch}

.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 18px}

.countdown-wrap{
  display:flex;flex-wrap:wrap;gap:10px;
  padding:14px;
  border-radius:var(--dr-radius-sm);
  background:rgba(0,0,0,.30);
  border:1px solid rgba(255,255,255,.14);
}
.kpi{min-width:150px}
.kpi .k{font-size:.78rem;color:rgba(255,255,255,.72);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.kpi .v{font-size:1.1rem;font-weight:950}

.aside{
  border-radius:var(--dr-radius);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:var(--dr-shadow);
  padding:18px;
}
.aside h2{margin:0 0 12px;font-size:1.2rem;color:#fff}
.feature{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.feature + .feature{margin-top:10px}
.icon{width:22px;height:22px;flex:0 0 auto;color:rgba(255,255,255,.92)}
.feature h3{margin:0;font-size:1rem}
.feature p{margin:4px 0 0;color:rgba(255,255,255,.74);font-size:.95rem}

/* Light sections */
.panel{
  background:var(--dr-surface);
  border:1px solid var(--dr-line-dark);
  border-radius:var(--dr-radius);
  box-shadow:var(--dr-shadow);
  overflow:hidden;
}
.panel-inner{padding:22px}

.two-col{display:grid;grid-template-columns: 1fr 1fr;gap:18px;align-items:center}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.pillar{border-radius:16px;border:1px solid rgba(4,18,21,.12);background:#fff;padding:14px;box-shadow: 0 10px 30px rgba(0,0,0,.06)}
.pillar .t{font-weight:950;margin:10px 0 0}
.pillar .d{color:var(--dr-muted);margin:6px 0 0;font-size:.95rem}
.pillar .dot{width:36px;height:36px;border-radius:14px;display:grid;place-items:center;background:rgba(47,143,47,.12);color:var(--dr-green)}

.media-img{
  border-radius:var(--dr-radius);
  min-height:320px;
  background: linear-gradient(140deg, rgba(47,143,47,.18), rgba(242,140,40,.12)), url('../img/about.jpg') center/cover no-repeat;
  box-shadow: var(--dr-shadow);
  border:1px solid rgba(4,18,21,.12);
}

/* Dark band sections */
.band{
  position:relative;
  background:linear-gradient(180deg,var(--dr-ink) 0%, var(--dr-petrol) 100%);
  color:var(--dr-text-inv);
}
.band::before{
  content:"";position:absolute;inset:0;
  background:url('../img/texture-grunge.svg') center/cover repeat;
  opacity:.35;
  pointer-events:none;
}
.band .lead{color:var(--dr-muted-inv)}

.event-card{display:grid;grid-template-columns: 1.1fr .9fr;gap:16px;align-items:stretch}
.event-box{
  border-radius:var(--dr-radius);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  padding:18px;
  box-shadow:var(--dr-shadow);
}
.event-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.event-meta .m{padding:10px;border-radius:14px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12)}
.event-meta .m .k{font-size:.78rem;color:rgba(255,255,255,.72);font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.event-meta .m .v{font-size:1.02rem;font-weight:950;margin-top:4px}

.map{
  border-radius:var(--dr-radius);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  overflow:hidden;
  position:relative;
}
.map::before{content:"";position:absolute;inset:0;background:url('../img/map-brasil.svg') center/contain no-repeat;opacity:.9}
.map::after{content:"";position:absolute;inset:0;background:radial-gradient(500px 280px at 30% 20%, rgba(47,143,47,.35), transparent 60%),radial-gradient(460px 260px at 80% 70%, rgba(242,140,40,.25), transparent 60%);mix-blend-mode:screen;opacity:.75}
.pin{position:absolute;width:12px;height:12px;border-radius:999px;background:var(--dr-orange);box-shadow:0 0 0 6px rgba(242,140,40,.18), 0 0 34px rgba(242,140,40,.40)}
.pin.green{background:var(--dr-green);box-shadow:0 0 0 6px rgba(47,143,47,.18), 0 0 34px rgba(47,143,47,.40)}

/* Impact */
.impact-hero{
  position:relative;
  background:
    linear-gradient(90deg, rgba(7,19,23,.86) 0%, rgba(7,19,23,.56) 55%, rgba(7,19,23,.18) 100%),
    url('../img/impact.jpg') center/cover no-repeat;
  color:var(--dr-text-inv);
  border-radius:var(--dr-radius);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--dr-shadow-strong);
}
.impact-hero::before{content:"";position:absolute;inset:0;background:url('../img/texture-grunge.svg') center/cover repeat;opacity:.28;pointer-events:none}
.impact-inner{position:relative;padding:26px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.metric{
  border-radius:16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  padding:14px;
}
.metric .n{font-size:2rem;font-weight:1000;letter-spacing:-.02em;margin:0}
.metric .t{margin:2px 0 0;color:rgba(255,255,255,.78);font-weight:850}

/* Gallery band */
.gallery-band{background:linear-gradient(180deg, var(--dr-ink) 0%, #071317 100%);color:var(--dr-text-inv);position:relative}
.gallery-band::before{content:"";position:absolute;inset:0;background:url('../img/brush-stroke.svg') center/cover no-repeat;opacity:.25;pointer-events:none}
.gallery-row{display:flex;gap:12px;overflow:auto;padding-bottom:6px;scrollbar-width:thin}
.thumb{
  flex:0 0 auto;
  width:240px;height:150px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  box-shadow:var(--dr-shadow);
}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* News cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{
  background:#fff;border:1px solid rgba(4,18,21,.12);
  border-radius:18px;overflow:hidden;box-shadow: 0 12px 40px rgba(0,0,0,.08);
}
.card .media{height:180px;background:#dfe8ea;position:relative;overflow:hidden}
.card .media img{width:100%;height:100%;object-fit:cover;display:block}
.card .body{padding:14px}
.card .body h3{margin:0 0 6px;font-size:1.1rem;font-weight:950}
.card .body p{margin:0;color:var(--dr-muted)}
.card .meta{margin-top:10px;color:#6a7c80;font-weight:800;font-size:.86rem}

/* Forms */
.form{display:grid;gap:10px}
label{font-weight:850;font-size:.92rem}
input,select,textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(4,18,21,.18);
  background:#fff;
  font:inherit;
}
textarea{min-height:120px;resize:vertical}

.notice{margin-top:12px;padding:12px 14px;border-radius:16px;border:1px solid rgba(47,143,47,.22);background:rgba(47,143,47,.10);color:#0c2b12;font-weight:850}
.notice.error{border-color:rgba(180,30,30,.25);background:rgba(180,30,30,.10);color:#3a0b0b}

/* Footer */
.footer{background:linear-gradient(180deg, var(--dr-ink) 0%, #040d10 100%);color:var(--dr-text-inv);position:relative}
.footer::before{content:"";position:absolute;inset:0;background:url('../img/texture-grunge.svg') center/cover repeat;opacity:.28;pointer-events:none}
.footer .grid{position:relative;display:grid;grid-template-columns: 1.2fr .8fr .8fr .9fr;gap:16px}
.footer a{text-decoration:none;color:rgba(255,255,255,.82)}
.footer a:hover{color:#fff}
.footer .small{color:rgba(255,255,255,.72);font-size:.95rem}

/* Reveal animations */
.reveal{opacity:0;transform: translateY(14px);transition: opacity .7s ease, transform .7s ease}
.reveal[data-in="true"]{opacity:1;transform:none}

/* Responsive */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr;}
  .aside{order:2}
  .two-col{grid-template-columns:1fr}
  .event-card{grid-template-columns:1fr}
  .metrics{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .footer .grid{grid-template-columns:1fr 1fr}
}

@media (max-width: 860px){
  .menu-btn{display:inline-flex}
  .nav{
    position:absolute;left:0;right:0;top:100%;
    background:rgba(11,43,48,.98);
    border-bottom:1px solid rgba(255,255,255,.10);
    padding:10px 12px;
    display:none;
    flex-direction:column;
    align-items:stretch;
  }
  .nav[data-open="true"]{display:flex}
  .nav a{padding:12px 12px}
  .nav .nav-cta{margin-top:6px}
  .footer .grid{grid-template-columns:1fr}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal{transition:none}
}