:root{
  --green:#00b140;
  --red:#ff2d2d;
  --dark:#0e1111;
  --text:#1b1f23;
  --muted:#6b7280;
  --bg:#f7f7f7;
  --card:#ffffff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif;line-height:1.6;color:var(--text);background:var(--bg)}

/* NAV */
.nav{
  position:sticky;top:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding:.75rem 1rem;
  background:rgba(14,17,17,.6);
  backdrop-filter:saturate(160%) blur(6px);
  transition:background .4s ease, box-shadow .4s ease;
}
.nav.scrolled{background:linear-gradient(90deg,var(--green),var(--red)); box-shadow:0 8px 24px rgba(0,0,0,.15)}
.brand{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-weight:700}
.brand img{height:32px;width:auto}
#navToggle{display:none;background:none;border:0;color:#fff;font-size:1.5rem}
#primaryNav{display:flex;gap:.75rem}
#primaryNav a{color:#fff;text-decoration:none;padding:.4rem .6rem;border-radius:.5rem;transition:opacity .3s}
#primaryNav a:hover{opacity:.9}
#primaryNav .cta{background:#fff;color:#000;font-weight:700}

/* HERO & SLIDER */
.hero{position:relative;min-height:72vh;display:grid;place-items:center;overflow:hidden}
.slides{list-style:none;margin:0;padding:0;position:absolute;inset:0}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.05);transition:opacity 1s ease, transform 1.2s ease}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.55))}
.slide.is-active{opacity:1;transform:scale(1)}
.slide-content{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:1rem;color:#fff;z-index:1}
.slide-content h1{font-size:clamp(1.8rem,4vw,3rem);margin:.25rem 0}
.slide-content p{max-width:720px;margin:0 auto 1rem auto}

.hero-cta{position:relative;z-index:2;display:flex;gap:.75rem;margin-top:auto;margin-bottom:2rem}
.btn{background:linear-gradient(90deg,var(--green),var(--red));color:#fff;border:0;padding:.7rem 1rem;border-radius:.75rem;cursor:pointer;text-decoration:none;font-weight:700}
.btn-alt{background:#fff;color:#111}
.btn.full{width:100%}

/* SECTIONS */
.section{padding:3rem 1rem}
.section.alt{background:var(--card)}
.container{max-width:1100px;margin:0 auto}
.container.two-col{display:grid;grid-template-columns:1.3fr .9fr;gap:2rem;align-items:center}
.figure img{width:100%;height:auto;border-radius:1rem;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.figure figcaption{color:var(--muted);font-size:.9rem;margin-top:.5rem}

/* Fade-in content */
.fade{opacity:0;transform:translateY(10px);transition:opacity .7s ease, transform .7s ease}
.fade.in{opacity:1;transform:none}

/* Checklists and cards */
.checklist{columns:1;column-gap:2rem;padding-left:1rem}
.checklist li{break-inside:avoid;margin:.35rem 0}
.rights-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem}
.card{background:var(--card);border-radius:1rem;padding:1rem;box-shadow:0 8px 24px rgba(0,0,0,.08)}

/* Policy grid */
.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1rem}
.policy{display:grid;grid-template-columns:160px 1fr;gap:1rem;background:var(--card);border-radius:1rem;padding:1rem;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.policy img{width:100%;height:120px;object-fit:cover;border-radius:.8rem}

/* Leader */
.leader{display:grid;grid-template-columns:180px 1fr;gap:1rem;align-items:center}
.leader-photo{width:180px;height:180px;border-radius:50%;object-fit:cover;border:6px solid var(--green);box-shadow:0 10px 26px rgba(0,0,0,.15)}
.tagline{color:var(--muted)}

/* Manifesto text */
.manifesto-text{white-space:pre-wrap;background:#0f172a;color:#e5e7eb;padding:1rem;border-radius:.75rem;max-height:360px;overflow:auto}

/* Contact */
.contact{background-size:cover;background-position:center}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:rgba(17,24,39,.6);padding:1rem;border-radius:1rem;color:#fff}
.form label{display:grid;gap:.35rem}
.form input,.form textarea,.form select{border:0;border-radius:.6rem;padding:.65rem}
.form .conditional{grid-column:span 2;display:none}
.form .full{grid-column:span 2}
.notice{color:#fff;margin-top:1rem}

/* Footer */
.footer{background:linear-gradient(90deg,var(--green),var(--red));color:#fff}
.footer .small{display:flex;align-items:center;justify-content:space-between}
.flag .swatch{display:inline-block;width:20px;height:12px;border-radius:3px;margin-right:6px}
.flag .green{background:var(--green)} .flag .red{background:var(--red)}

/* Responsive */
@media (max-width: 900px){
  .container.two-col{grid-template-columns:1fr}
  .policy-grid{grid-template-columns:1fr}
  .policy{grid-template-columns:1fr}
  .leader{grid-template-columns:1fr}
  #primaryNav{display:none;position:absolute;top:64px;right:10px;background:linear-gradient(180deg,rgba(0,0,0,.85),rgba(0,0,0,.65));padding:.5rem;border-radius:.75rem}
  #primaryNav.show{display:flex;flex-direction:column}
  #navToggle{display:block}
  .form{grid-template-columns:1fr}
}
