:root{
  --green-dark:#1e4a24;
  --green:#2c6e35;
  --green-mid:#3e8c46;
  --green-light:#5da864;
  --olive:#6b7a2f;
  --gold:#dda32f;
  --red:#b3402f;
  --cream:#f2ecd9;
  --pink:#f3e5e2;
  --bg:#f7f7f2;
  --ink:#1c2419;
  --muted:#5a6355;
  --white:#ffffff;
  --radius:16px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Segoe UI', -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
section{padding:88px 0;}
h1,h2,h3{font-weight:800;line-height:1.15;letter-spacing:-0.01em;}
h2{font-size:clamp(28px,4vw,40px);color:var(--green-dark);}
.eyebrow{
  display:inline-block;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--green-mid);
  background:rgba(44,110,53,0.08);
  padding:6px 14px;
  border-radius:999px;
  margin-bottom:16px;
}
.lead{font-size:18px;color:var(--muted);max-width:640px;}
.center{text-align:center;margin-left:auto;margin-right:auto;}
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 28px;
  border-radius:999px;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
  border:2px solid transparent;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-primary{background:var(--gold);color:var(--green-dark);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(221,163,47,0.35);}
.btn-outline{border-color:rgba(255,255,255,0.6);color:var(--white);}
.btn-outline:hover{background:rgba(255,255,255,0.12);transform:translateY(-2px);}
.btn-outline-dark{border-color:var(--green);color:var(--green-dark);}
.btn-outline-dark:hover{background:rgba(44,110,53,0.08);}

/* NAV — top banner gets its own solid background, distinct from the page body */
header{
  position:sticky;top:0;z-index:50;
  background:#f4f6f2;
  border-bottom:1px solid rgba(30,74,36,0.08);
}
nav{
  max-width:1140px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--green-dark);}
.logo-badge{
  display:flex;align-items:center;justify-content:center;
  background:#f4f6f2;border-radius:50%;
  flex:none;
}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{font-size:14.5px;font-weight:600;color:var(--ink);opacity:0.8;}
.nav-links a:hover{opacity:1;color:var(--green);}
.nav-links a.active{opacity:1;color:var(--green);}
.nav-cta{background:var(--green-dark);color:var(--white);padding:10px 22px;border-radius:999px;font-weight:700;font-size:14px;}
.nav-cta:hover{background:var(--green);}
.menu-toggle{display:none;background:none;border:none;font-size:24px;color:var(--green-dark);cursor:pointer;}

/* HERO */
.hero{
  background:radial-gradient(circle at 15% 20%, rgba(93,168,100,0.35), transparent 45%),
             linear-gradient(160deg, var(--green-dark), var(--green) 60%, var(--green-mid));
  color:var(--white);
  padding:96px 0 110px;
  position:relative;
  overflow:hidden;
}
.hero .wrap{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;}
.hero h1{font-size:clamp(34px,5vw,54px);margin-bottom:20px;}
.hero h1 em{color:var(--gold);font-style:normal;}
.hero p.lead{color:rgba(255,255,255,0.88);}
.hero-badges{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.hero-actions{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap;}
.hero-stat{
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:12px;padding:12px 16px;font-size:13px;
}
.hero-stat b{display:block;font-size:20px;color:var(--gold);}
.hero-art{
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:24px;
  padding:36px;
  display:flex;align-items:center;justify-content:center;
}

/* QUALIFIED BY STRIP */
.qualified-strip{background:var(--white);padding:36px 0 44px;border-bottom:1px solid rgba(30,74,36,0.08);}
.qualified-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:22px;}
.qualified-label{font-size:13px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--green-mid);}
.qualified-link{font-size:13.5px;font-weight:700;color:var(--green);}
.qualified-link:hover{color:var(--green-dark);text-decoration:underline;}
.marquee{
  overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee-track{display:flex;gap:20px;width:max-content;animation:marquee-scroll 22s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-item{
  display:flex;align-items:center;gap:10px;
  background:var(--cream);border:1px solid rgba(221,163,47,0.3);
  color:var(--green-dark);font-weight:700;font-size:14.5px;
  padding:14px 26px;border-radius:999px;white-space:nowrap;
}
.marquee-item .medal{font-size:17px;}
@keyframes marquee-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* RECOGNITION PAGE */
.recognition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;}
.recognition-card{
  background:var(--white);border-radius:var(--radius);padding:30px 26px;
  border:1px solid rgba(30,74,36,0.08);box-shadow:0 6px 20px rgba(30,74,36,0.05);
  display:flex;flex-direction:column;overflow:hidden;
}
.recognition-slider{
  position:relative;width:calc(100% + 52px);margin:-30px -26px 20px;
  aspect-ratio:4/3;overflow:hidden;
}
.slider-track{display:flex;width:100%;height:100%;transition:transform 0.4s ease;}
.slider-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;display:block;}
.slider-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:32px;height:32px;border-radius:50%;border:none;
  background:rgba(0,0,0,0.4);color:var(--white);font-size:18px;line-height:1;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background 0.2s ease;
}
.slider-btn:hover{background:rgba(0,0,0,0.6);}
.slider-btn.prev{left:12px;}
.slider-btn.next{right:12px;}
.slider-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px;}
.slider-dots .dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.55);cursor:pointer;transition:background 0.2s ease,transform 0.2s ease;}
.slider-dots .dot.active{background:var(--white);transform:scale(1.3);}
.recognition-slider:has(.slider-track > img:only-child) .slider-btn,
.recognition-slider:has(.slider-track > img:only-child) .slider-dots{display:none;}
.recognition-tag{display:inline-block;align-self:flex-start;font-size:11.5px;font-weight:800;letter-spacing:0.05em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:14px;}
.recognition-tag.winner{background:rgba(221,163,47,0.2);color:#a5730f;}
.recognition-tag.finalist{background:rgba(44,110,53,0.1);color:var(--green);}
.recognition-tag.semifinalist{background:rgba(107,122,47,0.15);color:var(--olive);}
.recognition-date{font-size:12px;color:var(--muted);font-weight:700;margin-bottom:8px;letter-spacing:0.03em;text-transform:uppercase;}
.recognition-card h3{font-size:18.5px;color:var(--green-dark);margin-bottom:4px;line-height:1.3;}
.recognition-org{font-size:13px;color:var(--muted);margin-bottom:14px;}
.recognition-card p{font-size:14px;color:var(--ink);}
.recognition-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.recognition-stats span{background:rgba(44,110,53,0.08);color:var(--green);font-size:11.5px;font-weight:700;padding:6px 11px;border-radius:999px;}

.media-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;margin-top:44px;align-items:stretch;}
.media-grid-links{grid-template-columns:repeat(2,1fr);}
.media-card{
  background:var(--white);border-radius:var(--radius);padding:22px;
  border:1px solid rgba(30,74,36,0.08);box-shadow:0 6px 20px rgba(30,74,36,0.05);
  display:flex;flex-direction:column;
}
.media-card h4{font-size:16.5px;color:var(--green-dark);margin:16px 0 6px;}
.media-card p{font-size:13.5px;color:var(--muted);}
.video-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:calc(var(--radius) - 8px);overflow:hidden;background:#000;}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
a.demo-link{text-decoration:none;justify-content:center;align-items:flex-start;transition:box-shadow 0.2s ease,transform 0.2s ease;}
a.demo-link:hover{box-shadow:0 10px 26px rgba(30,74,36,0.12);transform:translateY(-2px);}
.demo-link-thumb{
  width:100%;aspect-ratio:16/9;border-radius:calc(var(--radius) - 8px);
  background:linear-gradient(135deg,var(--green-dark),var(--green) 60%,var(--green-mid));
  display:flex;align-items:center;justify-content:center;
}
.demo-link-icon{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,0.16);color:var(--white);font-size:22px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,0.35);}
.flowchart-block{margin-top:28px;background:var(--white);border-radius:var(--radius);padding:28px;border:1px solid rgba(30,74,36,0.08);box-shadow:0 6px 20px rgba(30,74,36,0.05);}
.flowchart-block h4{font-size:16.5px;color:var(--green-dark);margin-bottom:6px;}
.flowchart-block p{font-size:13.5px;color:var(--muted);margin-bottom:18px;max-width:720px;}
.flowchart-img{width:100%;height:auto;border-radius:calc(var(--radius) - 8px);border:1px solid rgba(30,74,36,0.08);background:var(--white);}

/* Simple page hero (used by Founders page) */
.page-hero{
  background:radial-gradient(circle at 15% 20%, rgba(93,168,100,0.35), transparent 45%),
             linear-gradient(160deg, var(--green-dark), var(--green) 60%, var(--green-mid));
  color:var(--white);
  padding:80px 0 72px;
  text-align:center;
}
.page-hero .lead{margin-left:auto;margin-right:auto;color:rgba(255,255,255,0.88);}
.page-hero h1{font-size:clamp(32px,5vw,48px);margin-bottom:16px;}

/* PROBLEM / OPPORTUNITY */
.split-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px;}
.card{border-radius:var(--radius);padding:32px;}
.card-problem{background:var(--pink);border:1px solid rgba(179,64,47,0.18);}
.card-opportunity{background:var(--cream);border:1px solid rgba(221,163,47,0.25);}
.card h3{font-size:20px;margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.card-problem h3{color:var(--red);}
.card-opportunity h3{color:var(--olive);}
.card ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.card li{position:relative;padding-left:22px;font-size:15.5px;color:var(--ink);}
.card li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;}
.card-problem li::before{background:var(--red);}
.card-opportunity li::before{background:var(--olive);}
.callout{
  margin-top:18px;padding:14px 16px;border-radius:10px;font-weight:700;font-size:14.5px;
}
.card-problem .callout{background:rgba(179,64,47,0.12);color:var(--red);}
.card-opportunity .callout{background:rgba(221,163,47,0.18);color:var(--olive);}
.source-note{font-size:12px;color:var(--muted);margin-top:20px;font-style:italic;}

/* AUDIENCE / TESTIMONIALS */
.testimonials{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px;}
.testimonial{
  background:var(--white);border-radius:var(--radius);padding:28px;
  border:1px solid rgba(30,74,36,0.08);
  box-shadow:0 6px 20px rgba(30,74,36,0.05);
}
.testimonial p{font-style:italic;color:var(--ink);font-size:15.5px;}
.testimonial span{display:block;margin-top:14px;font-size:13px;color:var(--muted);font-weight:600;}
.highlight{color:var(--red);font-weight:700;font-style:normal;}

/* HOW IT WORKS */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:52px;position:relative;}
.step{text-align:center;position:relative;}
.step-num{
  width:52px;height:52px;border-radius:50%;
  background:var(--green);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:18px;margin:0 auto 16px;
  box-shadow:0 8px 18px rgba(44,110,53,0.3);
}
.step h4{font-size:15.5px;color:var(--green-dark);margin-bottom:6px;}
.step p{font-size:13.5px;color:var(--muted);}
.step-connector{
  position:absolute;top:26px;left:calc(50% + 30px);width:calc(100% - 60px);
  height:2px;background:repeating-linear-gradient(90deg, var(--green-light) 0 8px, transparent 8px 14px);
}

/* FEATURES / APP */
.app-section{background:linear-gradient(180deg, var(--green-dark), #163a1b);color:var(--white);border-radius:28px;margin:0 24px;padding:72px 40px;}
.app-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:center;}
.app-inner-single{grid-template-columns:1fr;max-width:760px;text-align:center;}
.app-inner-single .feature-list{text-align:left;}
.phone{
  width:240px;height:490px;border-radius:36px;border:8px solid #0c1f0f;
  background:linear-gradient(180deg,#2d6e36,#1e4a24);margin:0 auto;
  position:relative;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,0.4);
}
.phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:110px;height:22px;background:#0c1f0f;border-radius:0 0 14px 14px;}
.phone-content{padding:44px 18px 18px;color:var(--white);text-align:center;}
.phone-content .bin-icon{width:40px;height:44px;margin:0 auto 8px;}
.phone-content h5{font-size:14px;margin-bottom:20px;}
.phone-card{background:rgba(255,255,255,0.12);border-radius:12px;padding:14px;text-align:left;font-size:11.5px;margin-bottom:10px;}
.phone-card b{display:block;font-size:12.5px;margin-bottom:4px;color:var(--gold);}
.app-walkthrough{max-width:1100px;margin:56px auto 0;}
.app-walkthrough h4{color:var(--white);font-size:16.5px;margin-bottom:16px;text-align:center;}
.app-slider{
  position:relative;width:100%;aspect-ratio:16/9;border-radius:calc(var(--radius) - 2px);
  overflow:hidden;background:var(--white);box-shadow:0 20px 40px rgba(0,0,0,0.25);
}
.feature-list{display:grid;gap:20px;}
.feature{display:flex;gap:16px;align-items:flex-start;}
.feature-icon{
  width:44px;height:44px;flex:none;border-radius:12px;
  background:rgba(221,163,47,0.18);color:var(--gold);
  display:flex;align-items:center;justify-content:center;font-size:20px;
}
.feature h4{font-size:17px;margin-bottom:4px;}
.feature p{font-size:14px;color:rgba(255,255,255,0.75);}

/* AI STATS */
.ai-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px;}
.stat-card{
  background:var(--white);border-radius:var(--radius);padding:28px 22px;text-align:center;
  border:1px solid rgba(30,74,36,0.08);box-shadow:0 6px 20px rgba(30,74,36,0.05);
}
.stat-card .num{font-size:32px;font-weight:800;color:var(--green);display:block;}
.stat-card .label{font-size:13.5px;color:var(--muted);margin-top:6px;}
.ai-note{
  margin-top:32px;background:var(--cream);border-radius:var(--radius);padding:26px 30px;
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
}
.ai-note h4{color:var(--olive);font-size:16px;margin-bottom:8px;}
.ai-note p{font-size:14px;color:var(--ink);}

/* IMPACT */
.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;}
.impact-card{
  background:var(--green-dark);color:var(--white);border-radius:var(--radius);
  padding:30px 26px;text-align:center;
}
.impact-card .num{font-size:26px;font-weight:800;color:var(--gold);display:block;margin-bottom:10px;}
.impact-card p{font-size:14px;color:rgba(255,255,255,0.85);}
.tam-row{display:flex;justify-content:center;gap:36px;margin-top:52px;flex-wrap:wrap;}
.tam-item{text-align:center;max-width:220px;}
.tam-circle{
  width:90px;height:90px;border-radius:50%;margin:0 auto 12px;
  display:flex;align-items:center;justify-content:center;color:var(--white);font-weight:800;font-size:14px;
}
.tam-item p{font-size:13px;color:var(--muted);}

/* CTA */
.cta{
  background:linear-gradient(135deg, var(--gold), #c98a25);
  border-radius:28px;margin:0 24px;padding:64px 40px;text-align:center;color:var(--green-dark);
}
.cta h2{color:var(--green-dark);}
.cta .btn-primary{background:var(--green-dark);color:var(--white);}
.cta .btn-primary:hover{box-shadow:0 10px 24px rgba(30,74,36,0.35);}
.cta .link-line{margin-top:18px;font-size:14px;font-weight:600;}

footer{padding:48px 0 32px;text-align:center;color:var(--muted);font-size:13.5px;}
footer .brand{justify-content:center;margin-bottom:12px;}

/* FOUNDERS PAGE */
.founders-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:48px;}
.founders-grid-single{grid-template-columns:minmax(0,620px);justify-content:center;}
.founder-card{
  background:var(--white);border-radius:var(--radius);padding:36px 32px;
  border:1px solid rgba(30,74,36,0.08);box-shadow:0 6px 20px rgba(30,74,36,0.05);
  text-align:center;
}
.founder-avatar{
  width:96px;height:96px;border-radius:50%;margin:0 auto 20px;
  background:var(--bg);
  border:1px solid rgba(30,74,36,0.1);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 20px rgba(30,74,36,0.12);
  overflow:hidden;
}
.founder-photo{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.founder-card h3{font-size:21px;color:var(--green-dark);margin-bottom:4px;}
.founder-card .role{font-size:13.5px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:16px;}
.founder-card p{font-size:14.5px;color:var(--muted);text-align:left;}
.founder-card p + p{margin-top:14px;}
.founder-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;justify-content:center;}
.founder-tags span{background:rgba(44,110,53,0.08);color:var(--green);font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;}

.mission-block{
  background:var(--cream);border-radius:var(--radius);padding:36px;margin-top:48px;
  display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;
}
.mission-block p{font-size:16px;color:var(--ink);font-style:italic;}

.timeline{margin-top:48px;display:flex;flex-direction:column;gap:0;}
.timeline-item{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid rgba(30,74,36,0.08);}
.timeline-item:last-child{border-bottom:none;}
.timeline-item .when{font-weight:800;color:var(--green);font-size:14.5px;}
.timeline-item h4{font-size:16px;color:var(--green-dark);margin-bottom:4px;}
.timeline-item p{font-size:14px;color:var(--muted);}

@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr;}
  .hero-art{order:-1;}
  .split-cards, .testimonials, .app-inner, .ai-note, .founders-grid, .recognition-grid, .media-grid{grid-template-columns:1fr;}
  .qualified-head{flex-direction:column;align-items:flex-start;}
  .steps{grid-template-columns:1fr;gap:28px;}
  .step-connector{display:none;}
  .ai-grid{grid-template-columns:1fr 1fr;}
  .impact-grid{grid-template-columns:1fr;}
  .nav-links{display:none;}
  .app-section, .cta{margin:0 12px;padding:48px 22px;}
  .mission-block{grid-template-columns:1fr;text-align:center;}
  .timeline-item{grid-template-columns:1fr;gap:6px;}
}
