
:root{
  --green:#06a313;
  --green-dark:#047c0d;
  --lime:#68e600;
  --blue:#0758c9;
  --blue-dark:#063f90;
  --yellow:#ffc72c;
  --text:#112033;
  --muted:#5f6e7d;
  --white:#ffffff;
  --bg:#f6f8f7;
  --shadow:0 24px 60px rgba(4,58,16,.18);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Montserrat",Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}

.topbar{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(17,32,51,.08);
}
.nav{min-height:78px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.brand-mark{
  width:46px;height:46px;border-radius:14px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--blue),var(--green));
  color:white;font-weight:900;font-size:18px;
  box-shadow:0 10px 25px rgba(7,88,201,.22)
}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-text strong{font-size:15px;letter-spacing:.04em}
.brand-text small{font-size:11px;text-transform:uppercase;color:var(--green-dark);font-weight:700}
nav{display:flex;gap:26px;font-size:14px;font-weight:700}
nav a:hover{color:var(--green)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 24px;border-radius:14px;
  background:var(--blue);color:white;font-weight:800;
  box-shadow:0 12px 30px rgba(7,88,201,.22);
  transition:.2s ease;
}
.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.btn-small{min-height:42px;padding-inline:18px;font-size:13px}
.btn-secondary{background:white;color:var(--blue);box-shadow:none;border:2px solid rgba(7,88,201,.2)}

.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#08ad16 0%,#08a914 48%,#77ef00 100%);
  color:white;
}
.hero::before,.hero::after{
  content:"";position:absolute;inset:auto;
  border-radius:999px;filter:blur(1px);opacity:.14;background:white;
}
.hero::before{width:700px;height:700px;right:-260px;top:-320px}
.hero::after{width:440px;height:440px;left:-180px;bottom:-280px}
.hero-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(165deg,transparent 0 36%,rgba(255,255,255,.08) 36% 46%,transparent 46% 100%),
    linear-gradient(190deg,transparent 0 58%,rgba(0,0,0,.04) 58% 66%,transparent 66% 100%);
}
.hero-grid{
  position:relative;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:72px;align-items:center;
  min-height:720px;padding-block:70px;
}
.eyebrow,.section-kicker{
  display:inline-block;
  font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;
  color:var(--blue);
}
.eyebrow{
  color:white;background:rgba(0,64,20,.24);padding:9px 13px;border-radius:999px;
}
.hero h1{
  margin:18px 0 0;
  font-family:"Oswald",sans-serif;
  font-size:clamp(70px,9vw,128px);
  line-height:.82;letter-spacing:-.04em;
}
.hero h1 span,.hero h1 strong{display:block}
.hero h1 span{font-weight:500}
.hero h1 strong{font-weight:700}
.hero h2{
  margin:18px 0 0;
  font-size:clamp(26px,3vw,42px);font-weight:800;
}
.hero-lead{font-size:18px;line-height:1.7;max-width:650px;color:rgba(255,255,255,.94)}
.hero-number{display:flex;gap:8px;margin:26px 0}
.hero-number span{
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  font-size:32px;font-weight:900;
  background:white;color:var(--blue);
  box-shadow:0 10px 22px rgba(0,0,0,.12)
}
.hero-number span:nth-child(1){background:#00c83a;color:white}
.hero-number span:nth-child(2){background:#00c83a;color:white}
.hero-number span:nth-child(3){background:#00c83a;color:white}
.hero-number span:nth-child(4){background:var(--yellow);color:var(--blue)}
.hero-number span:nth-child(5){background:var(--yellow);color:var(--blue)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-photo-card{
  position:relative;
  justify-self:end;
  width:min(510px,100%);
  border-radius:30px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:10px solid rgba(255,255,255,.9);
  transform:rotate(1.5deg);
  background:white;
}
.hero-photo-card img{width:100%;height:640px;object-fit:cover}
.section{padding:96px 0}
.section-light{background:white}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.section h3{
  margin:12px 0 0;
  font-size:clamp(38px,5vw,68px);line-height:1.02;letter-spacing:-.04em;
}
.copy{font-size:18px;line-height:1.8;color:var(--muted)}
.copy p:first-child{margin-top:2px}
.campaign-band{background:linear-gradient(135deg,var(--green-dark),var(--green) 60%,var(--lime));color:white}
.campaign-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:70px;align-items:center}
.poster{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:white;padding:9px;transform:rotate(-1deg)}
.poster img{border-radius:17px}
.campaign-copy p{font-size:18px;line-height:1.75;max-width:620px;color:rgba(255,255,255,.9)}
.yellow{color:var(--yellow)}
.quote-card{
  margin-top:28px;padding:26px 28px;border-radius:18px;
  background:var(--yellow);color:var(--blue-dark);
  display:inline-block;font-size:22px;
}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}
.section-heading p{max-width:460px;color:var(--muted);line-height:1.7}
.gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gallery-item{
  margin:0;border-radius:18px;overflow:hidden;
  background:#e8eeea;
  box-shadow:0 12px 28px rgba(16,49,26,.08);
}
.gallery-item img{width:100%;height:440px;object-fit:cover;transition:transform .3s ease}
.gallery-item:hover img{transform:scale(1.02)}
.gallery-item.tall{grid-row:span 2}
.gallery-item.tall img{height:898px}
.social-section{background:#08284f;color:white}
.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.social-section p{color:rgba(255,255,255,.76);line-height:1.7}
.social-cards{display:grid;gap:16px}
.social-card{
  display:flex;align-items:center;gap:18px;padding:20px 22px;border-radius:18px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);
  transition:.2s ease;
}
.social-card:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.social-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--yellow);color:var(--blue-dark);font-weight:900;font-size:26px}
.social-card div{display:flex;flex-direction:column}
.social-card strong{font-size:18px}
.social-card small{color:rgba(255,255,255,.7);margin-top:4px}
.footer{background:#05182e;color:white;padding:38px 0}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px}
.footer-brand{font-size:28px;font-weight:900;color:var(--yellow)}
.footer p{margin:8px 0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.65}
.footer a{color:white}
.footer-meta{display:grid;align-content:start}

@media (max-width: 980px){
  nav{display:none}
  .hero-grid,.campaign-grid,.social-grid,.split,.footer-grid{grid-template-columns:1fr}
  .hero-grid{gap:46px;padding-block:60px}
  .hero-photo-card{justify-self:start;width:min(520px,100%)}
  .hero-photo-card img{height:auto}
  .campaign-grid{gap:46px}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .gallery-item.tall{grid-row:span 1}
  .gallery-item.tall img{height:440px}
}
@media (max-width: 640px){
  .container{width:min(100% - 28px,1180px)}
  .nav{min-height:70px}
  .brand-text small{display:none}
  .btn-small{display:none}
  .hero-grid{min-height:auto;padding-block:48px}
  .hero h1{font-size:74px}
  .hero-number span{width:48px;height:48px;font-size:26px}
  .section{padding:70px 0}
  .section-heading{display:block}
  .gallery{grid-template-columns:1fr}
  .gallery-item img,.gallery-item.tall img{height:auto}
  .hero-actions .btn{width:100%}
}
