:root{
  --green:#0b5c3f; --green-2:#0e7350; --green-d:#083f2b;
  --ink:#12181d; --muted:#5c6873; --line:#e2e8ec; --bg:#fff; --alt:#f5f8f7;
  --sand:#f0ebe1; --radius:12px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; color:var(--ink); background:var(--bg);
  font:16px/1.65 "Segoe UI", system-ui, -apple-system, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:1120px; margin:0 auto; padding:0 24px;}
.wrap.narrow{max-width:760px;}
h1,h2,h3{line-height:1.2; margin:0 0 .5em; letter-spacing:-.015em;}
h1{font-size:clamp(30px,5.2vw,52px); font-weight:680;}
h2{font-size:clamp(24px,3.4vw,34px); font-weight:650;}
h3{font-size:18px; font-weight:620;}
p{margin:0 0 1em;}
a{color:var(--green-2);}
.muted{color:var(--muted);}
.small{font-size:13px;}

/* ---------- nav ---------- */
.nav{
  position:sticky; top:0; z-index:20; background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between;
  gap:20px; padding:12px 24px; flex-wrap:wrap;
}
.logo{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink);}
.logo strong{display:block; font-size:15.5px; letter-spacing:-.01em;}
.logo small{display:block; font-size:11.5px; color:var(--muted);}
.mark{width:28px; height:28px; background:var(--green);
  clip-path:polygon(50% 0,100% 100%,0 100%); flex:0 0 auto;}
.nav nav{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
.nav nav a{color:var(--ink); text-decoration:none; font-size:14.5px; font-weight:500;}
.nav nav a:hover{color:var(--green-2);}
.nav a.cta{
  background:var(--green); color:#fff; padding:8px 16px; border-radius:8px; font-weight:600;
}
.nav a.cta:hover{background:var(--green-2); color:#fff;}

/* ---------- hero ---------- */
.hero{
  background:linear-gradient(160deg,var(--green-d) 0%,var(--green) 55%,#0f7d57 100%);
  color:#fff; padding:76px 0 60px; position:relative; overflow:hidden;
}
.hero::after{
  content:""; position:absolute; right:-140px; top:-90px; width:520px; height:520px;
  background:rgba(255,255,255,.05); clip-path:polygon(50% 0,100% 100%,0 100%);
}
.hero .wrap{position:relative; z-index:1;}
.eyebrow{
  text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:650;
  color:#9fd9bf; margin-bottom:14px;
}
.hero h1{margin-bottom:18px;}
.lede{font-size:clamp(16px,2vw,19px); max-width:660px; color:#e0f0e8;}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin:26px 0 40px;}
.btn{
  display:inline-block; background:#fff; color:var(--green-d); text-decoration:none;
  padding:13px 26px; border-radius:9px; font-weight:640; font-size:15px;
  border:2px solid #fff; transition:transform .12s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn.ghost{background:transparent; color:#fff;}
.btn.ghost:hover{background:rgba(255,255,255,.12);}
.trust{
  list-style:none; padding:22px 0 0; margin:0; display:grid; gap:22px;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  border-top:1px solid rgba(255,255,255,.18);
}
.trust strong{display:block; font-size:24px; font-weight:650; color:#fff;}
.trust span{font-size:13px; color:#a9d8c3;}

/* ---------- strip ---------- */
.strip{background:var(--sand); padding:16px 0; text-align:center;}
.strip p{margin:0; font-size:14.5px; color:#6b6152; font-style:italic;}

/* ---------- sections ---------- */
.section{padding:70px 0;}
.section.alt{background:var(--alt);}
.sub{color:var(--muted); max-width:640px; margin-bottom:28px;}

/* ---------- fleet cards ---------- */
.cards{display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(275px,1fr));}
.fcard{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:22px; display:flex; flex-direction:column; gap:6px;
  box-shadow:0 1px 2px rgba(16,24,32,.04);
}
.fcard h3{margin:0;}
.fcard .spec{color:var(--muted); font-size:14px; margin:0;}
.fcard dl{display:grid; grid-template-columns:auto 1fr; gap:4px 12px; margin:12px 0 0; font-size:14px;}
.fcard dt{color:var(--muted);}
.fcard dd{margin:0; font-weight:560;}
.fcard .avail{
  margin-top:14px; padding-top:12px; border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.tag{font-size:12.5px; font-weight:650; padding:3px 10px; border-radius:99px;}
.tag.in{background:#e9f5ef; color:#15704a;}
.tag.out{background:#fdf6e3; color:#96700a;}
.fcard a.ask{font-size:14px; font-weight:600; text-decoration:none;}
.fineprint{margin-top:26px; color:var(--muted); font-size:14px;}

/* ---------- columns / steps ---------- */
.cols{display:grid; gap:30px 40px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); margin-top:12px;}
.cols h3{margin-bottom:.35em;}
.cols p{margin:0; color:#3d4750;}
.steps{counter-reset:s; list-style:none; padding:0; margin:20px 0 0;
  display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.steps li{counter-increment:s; position:relative; padding-top:44px; color:#3d4750;}
.steps li::before{
  content:counter(s); position:absolute; top:0; left:0;
  width:32px; height:32px; border-radius:50%; background:var(--green); color:#fff;
  display:grid; place-items:center; font-weight:680; font-size:15px;
}
.steps strong{display:block; color:var(--ink); margin-bottom:2px;}

/* ---------- form ---------- */
form{margin-top:8px;}
label{display:block; font-size:13px; color:var(--muted); font-weight:560; margin:14px 0 5px;}
input,select,textarea{
  font:inherit; font-size:15px; width:100%; padding:11px 13px;
  border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink);
}
input:focus,select:focus,textarea:focus{
  outline:2px solid #b9dccb; outline-offset:-1px; border-color:var(--green-2);
}
textarea{resize:vertical;}
.row{display:flex; gap:16px; flex-wrap:wrap;}
.row > div{flex:1; min-width:200px;}
form button{
  margin-top:22px; font:inherit; font-size:15.5px; font-weight:640;
  background:var(--green); color:#fff; border:0; padding:13px 30px;
  border-radius:9px; cursor:pointer;
}
form button:hover{background:var(--green-2);}
form button:disabled{opacity:.55; cursor:not-allowed;}
.note{margin-top:16px; padding:12px 15px; border-radius:9px; font-size:14.5px;}
.note.ok{background:#e9f5ef; color:#15704a; border-left:4px solid #15704a;}
.note.err{background:#fdeeee; color:#a32020; border-left:4px solid #a32020;}

/* ---------- footer ---------- */
footer{background:var(--ink); color:#c6cfd6; padding:40px 0; margin-top:0;}
footer a{color:#8fd3b3;}
.foot{display:flex; gap:34px; justify-content:space-between; flex-wrap:wrap;}
.foot strong{color:#fff; display:block; margin-bottom:6px;}
.foot p{margin:0 0 6px;}

@media (max-width:640px){
  .hero{padding:52px 0 44px;}
  .section{padding:52px 0;}
  .nav nav{gap:14px;}
  .nav nav a:not(.cta){display:none;}
}
