:root{
  --green-950:#071f1c;
  --green-900:#0b3d36;
  --green-800:#11564c;
  --green-500:#00c297;
  --green-300:#7ee8cf;
  --purple-800:#512E5F;
  --purple-700:#67407b;
  --purple-500:#8b5cf6;
  --ink:#12201d;
  --muted:#5d6b68;
  --bg:#f4f7f5;
  --card:#ffffff;
  --line:#dbe6e2;
  --soft:#eaf7f2;
  --shadow:0 20px 60px rgba(7,31,28,.13);
  --shadow-soft:0 12px 30px rgba(7,31,28,.08);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(0,194,151,.12), transparent 36rem),
    linear-gradient(180deg,#fbfdfc 0%,var(--bg) 48%,#fff 100%);
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%}
a{color:inherit}
.skip-link{
  position:absolute;
  left:-999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:1rem;
  top:1rem;
  width:auto;
  height:auto;
  background:#fff;
  color:var(--green-900);
  padding:.75rem 1rem;
  border-radius:999px;
  z-index:999;
}
.site-nav{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(7,31,28,.86);
  backdrop-filter:blur(16px);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.nav-inner{
  width:min(1160px,calc(100% - 32px));
  margin:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  min-height:72px;
}
.brand{
  display:flex;
  align-items:center;
  gap:.75rem;
  font-weight:900;
  letter-spacing:-.03em;
  text-decoration:none;
  white-space:nowrap;
}
.brand img{width:42px;height:42px;object-fit:contain}
.brand-word{font-size:1.15rem}
.brand-word .go{color:#61B32F}
.nav-links{
  display:flex;
  align-items:center;
  gap:.35rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.nav-links a{
  text-decoration:none;
  font-weight:800;
  font-size:.92rem;
  color:#dff9f3;
  padding:.65rem .85rem;
  border-radius:999px;
}
.nav-links a:hover{background:rgba(255,255,255,.12);color:#fff}
.nav-links .nav-cta{
  background:linear-gradient(135deg,var(--purple-500),var(--purple-800));
  color:#fff;
  box-shadow:0 12px 30px rgba(81,46,95,.24);
}
.nav-links .nav-cta:hover{filter:brightness(1.05)}
.hero{
  position:relative;
  min-height:76vh;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#fff;
  isolation:isolate;
}
.hero.compact{min-height:68vh}
.hero-media{
  position:absolute;
  inset:0;
  z-index:-2;
}
.hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 20% 15%, rgba(0,194,151,.32), transparent 26rem),
    linear-gradient(90deg,rgba(7,31,28,.90) 0%,rgba(7,31,28,.72) 46%,rgba(81,46,95,.52) 100%),
    linear-gradient(180deg,rgba(0,0,0,.14),rgba(0,0,0,.70));
}
.hero-content{
  width:min(1160px,calc(100% - 32px));
  margin:auto;
  padding:5rem 0;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);
  gap:2rem;
  align-items:center;
}
.hero-copy{max-width:760px}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.45rem .75rem;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.12);
  border-radius:999px;
  color:#dffff5;
  font-size:.86rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.logo-heading{
  margin:.9rem 0 .6rem;
  font-size:clamp(3rem,8vw,6.6rem);
  line-height:.9;
  letter-spacing:-.07em;
  text-transform:uppercase;
  font-weight:900;
}
.logo-heading .go{color:#61B32F;margin-left:-.08em}
.logo-heading .monthly{
  display:inline-block;
  margin-left:.25rem;
  font-size:clamp(2.1rem,5vw,4rem);
  font-weight:500;
  font-style:italic;
  letter-spacing:-.06em;
  color:#fff;
  text-transform:none;
}
.hero-copy h1:not(.logo-heading){
  font-size:clamp(2.4rem,5vw,5.2rem);
  line-height:.96;
  letter-spacing:-.07em;
  margin:.85rem 0;
}
.hero-sub{
  font-size:clamp(1.08rem,2.3vw,1.45rem);
  color:#e8fff9;
  max-width:760px;
  margin:0 0 1.4rem;
}
.hero-actions,.hero-cta-row,.button-row{
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  align-items:center;
}
.btn,.cta,.btn-hero,.teaser-btn,.cta-btn,.cta-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  border-radius:999px;
  padding:.88rem 1.15rem;
  font-weight:900;
  text-decoration:none;
  border:0;
  cursor:pointer;
  line-height:1;
  transition:transform .18s ease,filter .18s ease,background .18s ease;
}
.btn:hover,.cta:hover,.btn-hero:hover,.teaser-btn:hover,.cta-btn:hover,.cta-outline:hover{transform:translateY(-2px)}
.btn-primary,.btn-hero,.cta,.teaser-btn,.cta-btn{
  color:#fff;
  background:linear-gradient(135deg,var(--purple-500),var(--purple-800));
  box-shadow:0 16px 34px rgba(81,46,95,.26);
}
.btn-secondary,.cta-outline,.btn-outline{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.35);
}
.btn-outline.dark{
  background:#fff;
  color:var(--green-900);
  border:1px solid var(--line);
  box-shadow:0 10px 24px rgba(7,31,28,.08);
}
.btn-primary:hover,.btn-hero:hover,.cta:hover,.teaser-btn:hover,.cta-btn:hover{filter:brightness(1.06)}
.hero-card{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--radius);
  padding:1.2rem;
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
}
.stat-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.75rem;
}
.stat{
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.17);
  border-radius:18px;
  padding:1rem;
}
.stat strong{
  display:block;
  font-size:1.25rem;
  color:#fff;
}
.stat span{
  display:block;
  color:#e9fff7;
  font-size:.9rem;
}
.hero-benefits,.chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1rem;
}
.hero-benefits span,.chip{
  display:inline-flex;
  padding:.5rem .78rem;
  background:rgba(255,255,255,.14);
  color:#effffb;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  font-size:.88rem;
  font-weight:800;
}
main{display:block}
.section{
  width:min(1160px,calc(100% - 32px));
  margin:auto;
  padding:4.2rem 0;
}
.section.tight{padding:2.8rem 0}
.section-title{
  color:var(--green-900);
  font-size:clamp(2rem,4vw,3.1rem);
  letter-spacing:-.06em;
  line-height:1;
  margin:0 0 .75rem;
  text-align:center;
}
.monthly-theme .section-title,
.monthly-theme h2{color:var(--purple-800)}
.section-sub{
  max-width:780px;
  text-align:center;
  color:var(--muted);
  margin:0 auto 1.6rem;
  font-size:1.05rem;
}
.grid{
  display:grid;
  gap:1rem;
}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card,.why-card,.testimonial-card,.video-card,.car-card,.guide-card,.fleet-mini{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(219,230,226,.9);
  border-radius:22px;
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.why-card,.card,.fleet-mini{padding:1.25rem}
.why-card h3,.card h2,.card h3{
  margin:.15rem 0 .45rem;
  color:var(--green-900);
  letter-spacing:-.03em;
}
.monthly-theme .card h2,.monthly-theme .card h3{color:var(--purple-800)}
.why-card p,.card p{color:var(--muted);margin:.3rem 0 0}
.why-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1rem;
  margin-top:1.3rem;
}
.fleet-mini{
  margin:1.4rem auto 0;
  max-width:880px;
}
.fleet-mini h4{margin:.1rem 0 .45rem;text-align:center;color:var(--green-900)}
.fleet-mini ul{margin:.5rem 0 0 1.1rem;color:var(--muted)}
.car-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1rem;
  margin-top:1.4rem;
}
.car-card{display:flex;flex-direction:column}
.car-media{position:relative;background:#dbe6e2}
.car-card img{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
}
.phev-badge,.badge{
  position:absolute;
  left:.8rem;
  top:.8rem;
  background:rgba(7,31,28,.78);
  color:#bffff1;
  border:1px solid rgba(255,255,255,.22);
  padding:.35rem .55rem;
  border-radius:999px;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  backdrop-filter:blur(12px);
}
.car-info{
  padding:1rem;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  flex:1;
}
.car-title{font-size:1.04rem;font-weight:900;color:var(--green-900)}
.car-blurb{color:var(--muted);font-size:.93rem;margin:0}
.car-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:auto}
.car-actions .btn{padding:.72rem .9rem;font-size:.88rem}
.testimonials{
  width:min(1160px,calc(100% - 32px));
  margin:auto;
  padding:4rem 0;
}
.testimonials h2{text-align:center;color:var(--green-900);font-size:clamp(2rem,4vw,3rem);letter-spacing:-.06em;margin:0 0 1rem}
.testimonial-track{
  display:flex;
  gap:1rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:.4rem .2rem 1rem;
  -webkit-overflow-scrolling:touch;
}
.testimonial-track::-webkit-scrollbar{height:0}
.testimonial-card{
  min-width:300px;
  flex:0 0 32%;
  padding:1.25rem;
  scroll-snap-align:center;
}
.testimonial-card p{font-style:italic;color:#384542;margin:.45rem 0}
.testimonial-card h4{margin:0;color:var(--green-900)}
.stars{letter-spacing:.04em}
.full-bleed{
  width:100%;
  background:linear-gradient(135deg,var(--green-900),var(--green-950));
  color:#fff;
  margin:1rem 0;
}
.full-bleed.purple{
  background:linear-gradient(135deg,var(--purple-800),#321d3c);
}
.full-bleed .section-title{color:#fff}
.full-bleed .section-sub{color:#e6fff7}
.guides{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin-top:1.4rem;
}
.guide-card{
  display:block;
  padding:1.1rem;
  text-decoration:none;
  transition:transform .18s ease;
}
.guide-card:hover{transform:translateY(-3px)}
.guide-card span{
  display:block;
  color:var(--purple-800);
  font-weight:900;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-bottom:.3rem;
}
.guide-card strong{
  display:block;
  color:var(--green-900);
  font-size:1.05rem;
  line-height:1.2;
}
.guide-card p{color:var(--muted);font-size:.93rem;margin:.5rem 0 0}
.mission-box{
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(234,247,242,.92));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  padding:2rem;
}
.video-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.4rem;
}
.video-card{
  min-height:250px;
  display:flex;
  flex-direction:column;
}
.video-placeholder{
  aspect-ratio:16/9;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at center, rgba(0,194,151,.18), transparent 45%),
    linear-gradient(135deg,#0b3d36,#512E5F);
  color:#fff;
  padding:1rem;
  text-align:center;
}
.video-placeholder button{
  border:0;
  border-radius:999px;
  background:#fff;
  color:var(--green-900);
  padding:.75rem 1rem;
  font-weight:900;
  cursor:pointer;
}
.video-card iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.video-card h3{font-size:1rem;margin:0;padding:1rem;color:var(--green-900)}
.cta-panel,.teaser-monthly,.footer-cta{
  width:min(1160px,calc(100% - 32px));
  margin:3rem auto 0;
  border-radius:var(--radius);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.16), transparent 20rem),
    linear-gradient(135deg,var(--purple-800),var(--green-900));
  color:#fff;
  padding:2rem;
  text-align:center;
  box-shadow:var(--shadow);
}
.cta-panel h2,.teaser-monthly h2,.footer-cta h2{color:#fff;margin:.2rem 0 .5rem;font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.05em}
.cta-panel p,.teaser-monthly p,.footer-cta p{color:#effffb;max-width:720px;margin:.3rem auto 1rem}
.teaser-monthly{margin-bottom:0}
.monthly-theme .footer-cta{background:linear-gradient(135deg,var(--purple-800),#321d3c)}
.site-footer,.footer-monthly.light{
  background:#fff;
  color:var(--muted);
  text-align:center;
  padding:2rem 1rem;
}
.site-footer.dark{
  background:var(--green-900);
  color:#e8fffa;
  margin-top:3rem;
}
.site-footer a,.footer-monthly.light a{font-weight:900;color:inherit;text-decoration:none}
.footer-logo,.footer-logo-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:1.5rem auto .8rem;
}
.footer-logo img,.footer-logo-wrap img{max-width:260px;width:80%;height:auto;object-fit:contain}
.monthly-cars{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:1rem;
}
.monthly-cars .car-card img{height:260px}
ul.clean,ol.clean{padding-left:0;margin:0;list-style:none}
ul.clean li,ol.clean li{
  margin:.55rem 0;
  padding-left:1.9rem;
  position:relative;
  color:var(--muted);
}
ul.clean li::before{content:"✓";position:absolute;left:0;color:var(--green-500);font-weight:900}
.monthly-theme ul.clean li::before{color:#61B32F}
ol.clean{counter-reset:item}
ol.clean li::before{counter-increment:item;content:counter(item);position:absolute;left:0;top:.05rem;width:1.25rem;height:1.25rem;border-radius:50%;display:grid;place-items:center;background:var(--purple-800);color:#fff;font-size:.75rem;font-weight:900}
.icon{font-size:1.2em;margin-right:.3rem}
.hero-note{color:#e8fff9;margin:.9rem 0 0;font-weight:800}
@media (max-width:1120px){
  .why-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .car-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .guides{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .nav-inner{min-height:64px}
  .nav-links a:not(.nav-cta){display:none}
  .hero-content{grid-template-columns:1fr;gap:1rem;padding:4rem 0}
  .hero-card{max-width:520px}
  .grid-2,.grid-3,.grid-4,.video-grid,.monthly-cars{grid-template-columns:1fr}
  .why-grid,.car-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .testimonial-card{flex-basis:82%}
}
@media (max-width:620px){
  .nav-inner{width:min(100% - 20px,1160px)}
  .brand-word{font-size:1rem}
  .nav-links .nav-cta{font-size:.82rem;padding:.6rem .7rem}
  .hero{min-height:72vh}
  .hero-content,.section,.testimonials{width:min(100% - 24px,1160px)}
  .why-grid,.car-grid,.guides{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr}
  .logo-heading{font-size:clamp(2.6rem,16vw,4rem)}
  .logo-heading .monthly{display:block;margin-left:0;margin-top:.2rem}
  .hero-card{display:none}
  .hero-actions,.hero-cta-row,.button-row{align-items:stretch}
  .btn,.cta,.btn-hero,.teaser-btn,.cta-btn,.cta-outline{width:100%}
  .section{padding:3rem 0}
  .car-card img{height:230px}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}
