@charset "UTF-8";

:root{
  --green:#56c52f;
  --green-soft:#9ee38a;
  --green-dark:#073814;
  --green-deep:#041e0b;
  --text:#101311;
  --muted:#616861;
  --light:#f3f7f1;
  --white:#fff;
  --max:1180px;
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0
}

html{
  scroll-behavior:smooth
}

body{
  font-family:Arial,Helvetica,sans-serif;
  color:var(--text);
  line-height:1.55;
  background:#fff;
  overflow-x:hidden
}

a{
  text-decoration:none;
  color:inherit
}

.container{
  width:min(90%,var(--max));
  margin:auto
}

header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:50;

  color:#fff;
  background:rgba(3,18,7,.86);
  backdrop-filter:blur(14px);

  border-bottom:1px solid rgba(158,227,138,.12);
  box-shadow:0 8px 28px rgba(0,0,0,.12);
}

.nav{
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}

.logo img{
  width:auto;
  height:100px;
  max-width:150px;
  object-fit:contain;
  display:block
}

nav ul{
  display:flex;
  list-style:none;
  gap:25px;
  align-items:center
}

nav a{
  font-size:12px;
  font-weight:800;
  color:#fff;
  position:relative
}

nav a:hover{
  color:var(--green)
}

nav a::after{
  content:"";
  position:absolute;
  left:0;bottom:-7px;
  width:100%;
  height:2px;

  background:linear-gradient(90deg,transparent,var(--green),transparent);
  transform:scaleX(0);transition:.25s;
}

nav a:hover::after{
  transform:scaleX(1)
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:11px 20px;
  border-radius:8px;
  background:var(--green);
  color:#07210b;

  font-size:12px;
  font-weight:900;
  transition:.25s;
  box-shadow:0 8px 22px rgba(86,197,47,.15);
}

.btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.06)
}

.btn-outline{
  background:transparent;
  color:#fff;
  border:1px solid rgba(158,227,138,.42);
  box-shadow:none
}

.btn-outline:hover{
  background:rgba(158,227,138,.08)
}

.menu{
  display:none;
  background:none;
  border:1px solid #ffffff55;
  
  color:#fff;
  padding:8px;
  border-radius:7px
}

.hero{
  min-height:580px;
  display:flex;
  align-items:center;
  color:#fff;

  position:relative;
  overflow:hidden;
  padding-bottom: 15px;
  padding-top: 15px;
  background:
    radial-gradient(circle at 76% 43%,rgba(86,197,47,.18),transparent 28%),
    linear-gradient(120deg,#031a09 0%,#073814 56%,#0a4219 100%);
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.34;

  background-image:
    linear-gradient(rgba(158,227,138,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(158,227,138,.05) 1px,transparent 1px);
  background-size:36px 36px;
}

.hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:60px;
  align-items:center;
  padding-top:72px;
}

.eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  color:#247532;
  font-size:11px;

  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:12px;
}

.hero .eyebrow{
  color:var(--green-soft)
}

h1{
  font-size:clamp(3rem,6vw,5rem);
  line-height:.98;
  letter-spacing:-.045em;
  margin-bottom:22px;
}

h1 span{
  color:var(--green)
}

.hero p{
  max-width:650px;
  color:#dce8de;
  font-size:16px;
  line-height:1.7
}

.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px
}


.hero-summary{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.hero-summary-card{
  padding:22px 18px;
  border-radius:16px;

  background:rgba(255,255,255,.075);
  border:1px solid rgba(158,227,138,.15);

  backdrop-filter:blur(8px);
}

.hero-summary-card strong{
  display:block;
  color:#9ee38a;
  font-size:30px;
  line-height:1;
  margin-bottom:8px
}

.hero-summary-card span{
  display:block;
  color:#d5e2d7;
  font-size:10px
}


.section{
  padding:84px 0
}

.section-soft{
  background:#f2f7f0
}

.center{
  text-align:center;
  max-width:800px;
  margin:0 auto 42px
}

.center .eyebrow{
  justify-content:center
}

h2{
  font-size:clamp(2rem,3.8vw,3.1rem);
  line-height:1.05;
  letter-spacing:-.035em;
  margin-bottom:17px
}

.text{
  font-size:14px;
  color:var(--muted);
  line-height:1.7
}


.metrics{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px
}

.metric{
  min-height:145px;
  padding:24px 16px;
  border-radius:16px;
  text-align:center;

  background:#fff;
  border:1px solid #e0e9de;
  box-shadow:0 12px 28px rgba(7,56,20,.045);
  transition:.3s;
}

.metric:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 38px rgba(7,56,20,.09);
  border-color:#b9ddb1
}

.metric strong{
  display:block;
  font-size:31px;
  line-height:1;
  color:#20702f;
  margin-bottom:10px
}

.metric span{
  font-size:10px;
  color:var(--muted)
}


.result-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:45px;
  align-items:start;
}

.panel{
  padding:28px;
  border-radius:19px;
  background:#fff;
  border:1px solid #e0e8de;

  box-shadow:0 16px 36px rgba(7,56,20,.055);
}

.panel h3{
  font-size:20px;
  margin-bottom:7px
}

.panel-intro{
  font-size:11px;
  color:var(--muted);
  margin-bottom:25px
}


.day-bars{
  display:grid;
  gap:16px
}

.day-row{
  display:grid;
  grid-template-columns:78px 1fr 38px;
  gap:12px;align-items:center
}

.day-row span,.day-row b{
  font-size:11px
}

.day-row b{
  text-align:right;color:#155b24
}

.day-bar{
  height:11px;
  border-radius:999px;
  background:#edf3eb;
  overflow:hidden
}

.day-bar i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#3b9f2d,#9ee38a)
}


.response-list{
  display:grid;
  gap:13px
}

.response-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid #e7eee4;
}

.response-item:last-child{
  border:0
}

.response-item span{
  font-size:12px;
  color:var(--muted)
}

.response-item strong{
  font-size:18px;
  color:#176a29
}

.response-note{
  margin-top:20px;
  padding:15px;
  border-radius:12px;

  background:#eef6eb;
  color:#285d31;
  font-size:11px;
  line-height:1.6;
}


.attendance{
  color:#fff;
  position:relative;
  overflow:hidden;

  background:
    radial-gradient(circle at 80% 30%,rgba(86,197,47,.13),transparent 25%),
    linear-gradient(140deg,#031a09,#073814 62%,#0a4219);
}

.attendance::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.28;
  pointer-events:none;

  background-image:radial-gradient(circle,rgba(158,227,138,.10) 1px,transparent 1px);
  background-size:26px 26px;
}

.attendance .container{
  position:relative;
  z-index:1
}

.attendance .eyebrow{
  color:#9ee38a
}

.attendance .text{
  color:#d3dfd5
}

.attendance-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:55px;
  align-items:center
}

.ring-wrap{
  display:grid;
  place-items:center
}

.ring{
  width:270px;
  height:270px;
  border-radius:50%;
  position:relative;

  display:grid;
  place-items:center;

  background:conic-gradient(#56c52f 0 75%,rgba(255,255,255,.11) 75% 100%);
  box-shadow:0 0 0 1px rgba(158,227,138,.12),0 24px 55px rgba(0,0,0,.16);
}

.ring::after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  border-radius:50%;

  background:#073814;
  border:1px solid rgba(158,227,138,.13);
}

.ring-copy{
  position:relative;
  z-index:1;
  text-align:center
}

.ring-copy strong{
  display:block;
  font-size:45px;
  color:#9ee38a;
  line-height:1
}

.ring-copy span{
  display:block;
  font-size:11px;
  color:#d6e3d8;
  margin-top:7px
}

.attendance-copy h2{
  max-width:600px
}

.attendance-stats{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px
}

.attendance-stat{
  flex:1;
  min-width:150px;
  padding:17px;
  border-radius:13px;

  background:rgba(255,255,255,.065);
  border:1px solid rgba(158,227,138,.13);
}

.attendance-stat strong{
  display:block;
  font-size:23px;
  color:#9ee38a
}

.attendance-stat span{
  font-size:10px;
  color:#d2dfd4
}


.scope-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px
}

.scope-card{
  padding:22px;
  border-radius:16px;
  background:#fff;
  border:1px solid #e1e9de
}

.scope-card .ico{
  font-size:24px;
  color:#247532;
  margin-bottom:10px
}

.scope-card h3{
  font-size:15px;
  margin-bottom:7px
}

.scope-card p{
  font-size:11px;
  color:var(--muted);
  line-height:1.6
}


.cta{
  text-align:center;
  background:#eef6eb
}

.cta .text{
  max-width:720px;
  margin:0 auto 24px
}

.cta-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap
}

.cta .btn-outline{
  color:#155422;
  border-color:#6cb35e
}


footer{
  background:#031a09;
  color:#b6c2b7;
  padding:20px 0
}

.footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:11px
}

.reveal{
  opacity:0;
  transform:translateY(26px);
  filter:blur(4px);

  transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1),filter .7s ease;
}

.reveal.visible{
  opacity:1;
  transform:none;
  filter:none
}


@media(max-width:980px){
  nav ul{
    display:none;
    position:absolute;
    top:72px;
    left:0;
    width:100%;
    padding:20px 5%;
    background:#06230e;
    flex-direction:column;
    align-items:flex-start
  }

  nav ul.open{
    display:flex
  }

  .menu{
    display:block
  }

  .nav>.btn{
    display:none
  }

  .hero-grid,.result-grid,.attendance-grid{
    grid-template-columns:1fr
  }

  .metrics{
    grid-template-columns:repeat(3,1fr)
  }
}
@media(max-width:680px){
  .logo img{
    height:42px;
    max-width:125px
  }

  .section{
    padding:62px 0
  }

  .hero{
    min-height:720px
  }

  .hero-grid{
    padding-top:100px
  }

  .hero-summary,.metrics,.scope-grid{
    grid-template-columns:1fr
  }

  .ring{
    width:230px;
    height:230px
  }

  .ring::after{
    width:162px;
    height:162px
  }
  
  .footer{
    flex-direction:column;
    text-align:center;
    gap:10px
  }
}

@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }

  *,*::before,*::after{
    animation-duration:.01ms!important;
    transition-duration:.01ms!important
  }

  .reveal{
    opacity:1!important;
    transform:none!important;
    filter:none!important
  }
}