@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
}

img{
  width:100%;
  display:block
}

.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);
}

.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
}

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:620px;
  display:flex;
  align-items:center;
  color:#fff;
  position:relative;
  overflow:hidden;
  padding-bottom: 15px; 
  padding-top: 15px;
  background:
    radial-gradient(circle at 75% 45%,rgba(86,197,47,.18),transparent 27%),
    linear-gradient(115deg,#031a09 0%,#073814 50%,#0a4219 100%);
}

.hero::before{
  content:"";position:absolute;inset:0;opacity:.35;
  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;
  mask-image:linear-gradient(to right,black,transparent 85%);
}

.hero-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.05fr .95fr;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:630px;
  color:#dce8de;
  font-size:16px;
  line-height:1.7
}

.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px
}

.hero-diagram{
  min-height:400px;border-radius:24px;padding:24px;
  background:rgba(0,0,0,.16);border:1px solid rgba(158,227,138,.17);
  box-shadow:0 28px 70px rgba(0,0,0,.20);backdrop-filter:blur(8px);
  display:grid;gap:9px;
}

.layer{
  display:grid;grid-template-columns:105px 1fr;gap:16px;align-items:center;
  padding:14px 16px;border-radius:13px;background:rgba(255,255,255,.07);
  border:1px solid rgba(158,227,138,.10);transition:.3s;
}

.layer:hover{
  transform:translateX(-5px);
  border-color:rgba(158,227,138,.32);
  background:rgba(255,255,255,.09)
}

.layer-tag{
  font-size:10px;
  color:#9ee38a;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em
}

.layer strong{
  display:block;
  font-size:14px;
  margin-bottom:2px
}

.layer small{
  display:block;
  color:#c7d4c9;
  font-size:10px
}


.section{
  padding:84px 0
}

.section-soft{
  background:#f2f7f0
}

.center{
  text-align:center;
  max-width:790px;
  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
}


.overview-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:start
}

.overview-list{
  display:grid;
  gap:12px;
  margin-top:25px
}

.overview-item{
  display:flex;
  gap:13px;
  padding:15px;
  border-radius:13px;
  background:#fff;
  border:1px solid #e3ebe0;
}

/* .overview-ico{
  width:38px;
  height:38px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:rgba(86,197,47,.11);color:#176a29;flex:none;font-weight:900;
} */

.overview-item b{
  display:block;
  color:#0c5620;
  font-size:13px;
  margin-bottom:3px
}

.overview-item span{
  display:block;
  color:var(--muted);
  font-size:11px
}

.overview-callout{
  padding:28px;
  border-radius:20px;
  color:#fff;

  background:linear-gradient(145deg,#06230e,#0a4219);
  box-shadow:0 25px 55px rgba(7,56,20,.15)
}

.overview-callout h3{
  font-size:22px;
  margin-bottom:12px
}

.overview-callout p{
  color:#d8e5da;
  font-size:13px
}

.overview-callout strong{
  color:#9ee38a
}


.architecture{
  display:grid;
  gap:14px
}

.arch-row{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:22px;
  align-items:stretch;

  border-radius:16px;
  overflow:hidden;
  background:#fff;
  border:1px solid #e2eae0;
  box-shadow:0 10px 26px rgba(7,56,20,.045);
}

.arch-label{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px;

  color:#fff;
  background:linear-gradient(145deg,#073814,#0a4219)
}

.arch-label span{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#9ee38a
}

.arch-label b{
  font-size:16px;
  margin-top:3px
}

.arch-content{
  padding:20px 22px
}

.arch-content p{
  color:var(--muted);
  font-size:12px;
  margin-bottom:10px
}

.chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px
}

.chip{
  padding:6px 9px;
  border-radius:999px;
  background:#eef6eb;
  color:#1b6828;

  border:1px solid #dcebd7;
  font-size:9px;
  font-weight:800;
}

.flow-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.flow-step{
  position:relative;
  padding:21px 18px;
  border-radius:16px;
  background:#fff;

  border:1px solid #e1e9de;
  min-height:170px;
  transition:.3s;
}

.flow-step:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 38px rgba(7,56,20,.08)
}

.flow-step:not(:last-child)::after{
  content:"→";
  position:absolute;
  right:-15px;
  top:48%;
  font-size:22px;
  color:#55ae3e;
  z-index:2;
}

.flow-num{
  font-size:26px;
  font-weight:900;
  color:#4ba92e
}

.flow-step h3{
  font-size:15px;
  margin:8px 0 6px
}

.flow-step p{
  font-size:11px;
  color:var(--muted)
}


.modules{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:13px
}

.module{
  padding:20px 16px;
  border-radius:15px;
  background:#fff;
  border:1px solid #e0e9de;

  transition:.3s;
}

.module:hover{
  transform:translateY(-5px);
  border-color:#b8ddb0;
  box-shadow:0 17px 35px rgba(7,56,20,.08)
}

.module .module-ico{
  font-size:25px;
  color:#247532;
  margin-bottom:10px
}

.module h3{
  font-size:14px;
  margin-bottom:6px
}

.module p{
  font-size:10px;
  color:var(--muted);
  line-height:1.55
}


.results{
  color:#fff;
  background:
    radial-gradient(circle at 85% 25%,rgba(86,197,47,.13),transparent 28%),
    linear-gradient(140deg,#031a09,#073814 62%,#0a4219);
  position:relative;
  overflow:hidden;
}
.results::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;
}

.results .container{
  position:relative;
  z-index:1
}

.results .eyebrow{
  color:#9ee38a
}

.results .text{
  color:#d3dfd5
}

.metrics{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin-top:35px
}

.metric{
  padding:24px 16px;
  border-radius:16px;
  text-align:center;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(158,227,138,.14);
}

.metric strong{
  display:block;
  font-size:31px;
  line-height:1;
  color:#9ee38a;
  margin-bottom:8px
}

.metric span{
  font-size:10px;
  color:#d7e4d9
}

.result-detail{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
  margin-top:40px
}

.day-bars{
  display:grid;
  gap:12px
}

.day-row{
  display:grid;
  grid-template-columns:75px 1fr 35px;
  gap:10px;
  align-items:center
}

.day-row span,.day-row b{
  font-size:10px
}

.day-bar{
  height:9px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  overflow:hidden
}

.day-bar i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#56c52f,#9ee38a)
}

.result-note{
  padding:24px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(158,227,138,.13)
}

.result-note h3{
  font-size:18px;
  margin-bottom:9px
}

.result-note p{
  font-size:12px;
  color:#d1ded3
}


.cta{
  text-align:center;
  background:#eef6eb;
}

.cta .text{
  max-width:700px;
  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,.overview-grid,.result-detail{
    grid-template-columns:1fr
  }

  .modules{
    grid-template-columns:repeat(2,1fr)
  }

  .flow-grid{
    grid-template-columns:repeat(2,1fr)
  }

  .flow-step:not(:last-child)::after{
    display:none
  }

  .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
  }

  .architecture .arch-row{
    grid-template-columns:1fr
  }

  .modules,.flow-grid,.metrics{
    grid-template-columns:1fr
  }

  .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
  }
}