:root{
  --green:#0d7a1f; --green-d:#0a5d18; --green-l:#2fb52f; --lime:#c6ff1a;
  --ink:#141414;
  --font:'Poppins','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
  --pad:clamp(14px,3.4vw,56px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:#e9f6e4;overflow-x:hidden;line-height:1.4}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:8px var(--pad);background:#fff;transition:box-shadow .25s}
.site-header.scrolled{box-shadow:0 6px 20px rgba(0,0,0,.14)}
.logo img{height:clamp(50px,5.2vw,84px);width:auto}
.nav{display:flex;align-items:center;gap:clamp(4px,1.4vw,26px);font-weight:500;font-size:clamp(13px,1.05vw,17px)}
.nav>a{padding:8px clamp(12px,1.2vw,20px);border-radius:30px;white-space:nowrap;transition:color .2s}
.nav>a:hover{color:var(--green)}
.nav>a.active{background:linear-gradient(#12901f,#0a5d18);color:#fff;font-weight:600;box-shadow:0 3px 8px rgba(10,93,24,.35)}
.nav-actions{display:flex;align-items:center;gap:14px;margin-left:clamp(0px,1vw,16px)}
.icon-btn{background:none;border:0;cursor:pointer;color:var(--ink);display:grid;place-items:center;padding:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px clamp(18px,1.6vw,28px);border-radius:40px;font-weight:600;font-size:clamp(14px,1.05vw,17px);white-space:nowrap;cursor:pointer;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn-outline{border:2px solid var(--green-l);color:var(--green-d);background:#fff}
.btn-solid{background:linear-gradient(#12901f,#0a5d18);color:#fff;box-shadow:0 4px 10px rgba(10,93,24,.35)}
.menu-btn{display:none;background:none;border:0;width:46px;height:46px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;align-items:center}
.menu-btn span{display:block;width:26px;height:3px;background:var(--green-d);border-radius:2px;transition:transform .25s,opacity .25s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{position:relative;padding:0 var(--pad) clamp(18px,2.4vw,34px);
  background:#3c9a2e url(images/hero-bg.png) center bottom/cover no-repeat;isolation:isolate}
/* soft sunrise haze so the background matches the template's mellow look */
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,240,215,.55) 0%,rgba(255,236,205,.38) 34%,rgba(255,255,255,0) 58%),
    radial-gradient(ellipse 70% 40% at 50% 36%,rgba(255,225,160,.35),transparent 70%)}

.hero-grid{display:grid;grid-template-columns:1.12fr .9fr 1fr;align-items:end;gap:clamp(4px,1vw,16px);padding-top:clamp(18px,2.4vw,40px)}
.hero-left{display:flex;flex-direction:column;align-self:center;max-width:620px}
.headline{width:min(100%,clamp(300px,31vw,540px))}
.lead{max-width:clamp(280px,26vw,440px);font-size:clamp(13px,1.02vw,17px);font-weight:500;line-height:1.45;margin:clamp(6px,.8vw,12px) 0 clamp(8px,1vw,16px);color:#111;text-shadow:0 0 6px rgba(255,255,255,.95),0 0 12px rgba(255,255,255,.8)}
.values{width:min(100%,clamp(260px,24vw,400px));margin-left:clamp(0px,.4vw,8px)}

.hero-mascot{display:flex;justify-content:center;align-items:flex-end}
.mascot{width:clamp(220px,27vw,470px);filter:drop-shadow(0 22px 24px rgba(0,50,0,.35));animation:float 5.5s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-10px)}}

.hero-right{display:flex;justify-content:center;align-self:center}
.explore{display:block;width:min(100%,clamp(300px,29vw,500px));transition:transform .25s,filter .25s}
.explore:hover{transform:scale(1.03);filter:drop-shadow(0 0 14px rgba(198,255,26,.7))}

/* ---------- Journey ---------- */
.journey{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:clamp(6px,1.2vw,22px);margin-top:clamp(40px,4.6vw,76px);padding:0 clamp(0px,2.6vw,48px)}
.chev{width:clamp(26px,3vw,48px);height:auto;fill:none;stroke:var(--lime);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.card{position:relative;min-height:clamp(150px,12vw,205px);display:flex;align-items:center;padding:clamp(22px,2vw,32px) clamp(12px,1.4vw,24px) clamp(12px,1.2vw,18px);
  border-radius:clamp(20px,2vw,32px);border:3px solid #fff;background-size:cover;transition:transform .25s}
.card:hover{transform:translateY(-5px)}
.card-2006{background-image:url(images/card-2006-bg.png);background-position:left 64%;box-shadow:0 0 0 3px #f7c52f,0 0 22px rgba(247,197,47,.55),0 12px 24px rgba(160,110,0,.3)}
.card-2016{background-image:url(images/card-2016-bg.png);background-position:left 62%;box-shadow:0 0 0 3px #3b9cf5,0 0 22px rgba(59,156,245,.55),0 12px 24px rgba(20,90,180,.3)}
.card-2026{background-image:url(images/card-2026-bg.png);background-position:left 70%;box-shadow:0 0 0 3px #43e043,0 0 28px rgba(90,255,60,.75),0 12px 24px rgba(0,120,0,.3)}
.year{position:absolute;left:50%;top:0;transform:translate(-50%,-55%);padding:2px clamp(24px,2.6vw,42px);border-radius:30px;font-weight:600;font-size:clamp(22px,2.2vw,36px);line-height:1.35;border:3px solid #fff;color:#141414}
.card-2006 .year{background:linear-gradient(#ffd84a,#f5b800)}
.card-2016 .year{background:linear-gradient(#3fa4ff,#1478e0);color:#fff}
.card-2026 .year{background:linear-gradient(#0f6f1f,#06430f);color:#fff}
.card-info{margin-left:auto;width:58%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.card-info img{width:min(100%,clamp(130px,12vw,210px))}
.card-2016 .card-info img{width:min(100%,clamp(150px,13.4vw,230px))}
.card-2026 .card-info img{width:min(100%,clamp(150px,13vw,220px));filter:drop-shadow(0 0 6px rgba(255,255,255,.9))}
.card-info p{font-style:italic;font-weight:500;font-size:clamp(13px,1.15vw,18px);color:#1b1b1b;text-shadow:0 0 6px rgba(255,255,255,.8)}
.url{display:inline-flex;align-items:center;gap:7px;margin-top:4px;padding:3px clamp(10px,1vw,16px);border-radius:30px;background:rgba(255,255,255,.92);font-weight:600;font-size:clamp(12px,1.15vw,18px);box-shadow:0 2px 6px rgba(0,0,0,.15)}
.url svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2}
.url:hover{color:var(--green)}

/* ---------- Features ---------- */
.features{display:grid;grid-template-columns:repeat(5,1fr);margin:clamp(20px,2.4vw,40px) clamp(0px,.4vw,8px) 0;padding:clamp(12px,1.2vw,20px) 10px;background:rgba(255,255,255,.97);border-radius:60px;box-shadow:0 10px 26px rgba(0,60,0,.28)}
.feat{display:flex;align-items:center;gap:clamp(8px,.9vw,14px);padding:4px clamp(8px,1.4vw,26px);border-left:1.5px solid #cfd8cf}
.feat:first-child{border-left:0}
.feat svg{flex:0 0 clamp(32px,2.8vw,46px);width:clamp(32px,2.8vw,46px);height:clamp(32px,2.8vw,46px);color:var(--green)}
.feat b{display:block;font-size:clamp(13px,1.15vw,19px);font-weight:600;line-height:1.2}
.feat span{display:block;font-size:clamp(11px,.95vw,15px);color:#2a2a2a;line-height:1.3}

/* ---------- Tablet ---------- */
@media (max-width:1100px){
  .menu-btn{display:flex}
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;padding:12px 20px 20px;background:#fff;box-shadow:0 14px 22px rgba(0,0,0,.18);
    max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .3s,opacity .3s,visibility .3s;font-size:17px}
  .nav.open{max-height:90vh;opacity:1;visibility:visible;overflow:auto}
  .nav>a{padding:12px 16px}
  .nav-actions{margin:10px 0 0;flex-wrap:wrap}
  .hero-grid{grid-template-columns:1fr 1fr;row-gap:10px}
  .hero-left{grid-column:1/-1;align-self:start;max-width:none;align-items:flex-start}
  .headline{width:min(100%,520px)}
  .lead{max-width:520px}
  .values{width:min(100%,400px)}
  .mascot{width:clamp(220px,40vw,380px)}
  .explore{width:min(100%,clamp(280px,44vw,430px))}
  .journey{grid-template-columns:1fr;gap:42px;max-width:560px;margin-inline:auto}
  .chev{transform:rotate(90deg);margin:-14px auto}
  .features{grid-template-columns:repeat(3,1fr);gap:16px 0;border-radius:34px}
  .feat:nth-child(4){border-left:0}
}

/* ---------- Mobile ---------- */
@media (max-width:640px){
  .hero{background-position:62% bottom}
  .hero-grid{grid-template-columns:1fr;text-align:center}
  .hero-left{align-items:center}
  .headline{width:min(100%,380px)}
  .lead{background:rgba(255,255,255,.72);padding:10px 14px;border-radius:14px;font-size:14px}
  .values{margin-left:0}
  .hero-mascot{order:2}
  .hero-right{order:3}
  .mascot{width:min(74%,300px)}
  .explore{width:min(100%,380px)}
  .features{grid-template-columns:1fr;border-radius:26px;padding:10px 18px}
  .feat,.feat:nth-child(4){border-left:0;border-top:1.5px solid #e1e6e1;padding:12px 4px}
  .feat:first-child{border-top:0}
  .card{min-height:168px}
  .card-info{width:60%}
}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
