:root{
  --brand:#1e7d52; --brand-600:#176443; --brand-300:#60c49a;
  --accent:#b8ff5e; --ink:#0f172a; --ink-2:#334155; --bg:#f6f9f7;
  --white:#ffffff; --muted:#e6efe9; --maxw:1200px; --radius:18px;
  --shadow:0 10px 30px rgba(16,24,40,.08);
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--brand);color:#fff;padding:.9rem 1.2rem;border-radius:12px;font-weight:700;border:2px solid var(--brand);box-shadow:var(--shadow)}
.btn:hover{background:var(--brand-600);border-color:var(--brand-600)}
.btn.alt{background:transparent;color:var(--brand);border-color:var(--brand)}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid #e9f2ed}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.75rem}
.brand img{width:46px;height:46px}
.brand span{font-weight:800}
.menu{display:flex;align-items:center;gap:1rem}
.menu a{padding:.5rem .75rem;border-radius:10px;color:var(--ink-2);font-weight:600}
.menu a:hover{background:var(--muted);color:var(--ink)}
.hamburger{display:none;cursor:pointer;border:1px solid var(--muted);padding:.5rem;border-radius:10px;background:#fff}

/* Mobile menu */
#mobilePanel{display:none}
#mobilePanel.open{display:block}
.mobile-links{display:grid;gap:.5rem;padding:.5rem 0 1rem}
.mobile-links a{padding:.9rem;border-radius:12px;background:#fff;border:1px solid var(--muted);font-weight:700}

/* Hero */
.hero{position:relative;overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;padding:4rem 0 3rem}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--muted);border-radius:999px;padding:.4rem .7rem;font-weight:700;color:var(--brand-600)}
.hero h1{font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.1;margin:.8rem 0}
.hero p{color:var(--ink-2);font-size:1.1rem;max-width:52ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.hero-card{background:linear-gradient(180deg,#fff,#fdfefe);border:1px solid var(--muted);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}
.bullets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem}
.bullet{display:flex;gap:.6rem;align-items:flex-start}
.check{width:22px;height:22px;border-radius:6px;background:var(--brand);display:inline-grid;place-items:center;flex:0 0 22px}
.check svg{width:14px;height:14px;fill:#fff}

.hero-graphic{position:relative}
.blob{position:absolute;inset:auto -20% -30% auto;width:160%;height:160%;
  background:
    radial-gradient(60% 60% at 50% 40%, rgba(96,196,154,.25), transparent 60%),
    radial-gradient(50% 50% at 20% 60%, rgba(184,255,94,.25), transparent 55%);
  filter:blur(32px)}
.device{position:relative;background:#fff;border:1px solid var(--muted);border-radius:28px;box-shadow:var(--shadow);padding:1rem}
.device-bar{height:26px;border-radius:20px;background:var(--bg);border:1px solid var(--muted);display:flex;align-items:center;gap:.4rem;padding:0 .5rem}
.dot{width:8px;height:8px;border-radius:50%;background:var(--brand-300)}
.screen{aspect-ratio:4/3;border-radius:18px;background:linear-gradient(135deg,#f7fff8,#e9f7ef);border:1px solid var(--muted);display:grid;place-items:center;margin-top:.75rem}

/* Sections */
section{padding:3.5rem 0}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.eyebrow{font-weight:800;color:var(--brand-600);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}
h2{font-size:clamp(1.6rem,2.5vw,2.2rem);margin:.25rem 0}
.grid{display:grid;gap:1rem}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:#fff;border:1px solid var(--muted);border-radius:var(--radius);padding:1.15rem;box-shadow:var(--shadow)}

/* Steps */
.steps{counter-reset:step}
.step{display:grid;grid-template-columns:52px 1fr;gap:1rem;align-items:start;padding:1rem;border:1px dashed var(--muted);border-radius:16px;background:linear-gradient(180deg,#fff,#fafffb)}
.num{width:52px;height:52px;border-radius:14px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800}

/* Benefits layout */
.benefits{display:grid;grid-template-columns:1.2fr .8fr;gap:1.25rem}
.badge{display:inline-block;background:var(--bg);border:1px solid var(--muted);padding:.4rem .6rem;border-radius:999px;font-weight:700;color:var(--brand-600)}
ul.iconlist{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
ul.iconlist li{display:grid;grid-template-columns:22px 1fr;gap:.6rem;align-items:start}

/* Area / Map */
.area{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.pill{display:inline-block;background:#fff;border:1px solid var(--muted);padding:.45rem .7rem;border-radius:999px;margin:.25rem;font-weight:700}
.mapbox{position:relative;border:3px solid var(--brand);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 20px rgba(30,125,82,.25)}
.mapbox::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom right,rgba(30,125,82,.05),transparent 70%);pointer-events:none}
.mapbox iframe{width:100%;aspect-ratio:4/3;border:0;filter:hue-rotate(60deg) brightness(1.1) contrast(0.95)}

/* Form */
form{display:grid;gap:.8rem}
label{font-weight:700}
input,select,textarea{width:100%;padding:.85rem;border-radius:12px;border:1px solid var(--muted);background:#fff;font:inherit}
textarea{min-height:110px}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}

/* Footer */
footer{padding:2rem 0;border-top:1px solid var(--muted);color:var(--ink-2)}

/* Utilities */
.mt-s{margin-top:.5rem}
.mt-m{margin-top:1rem}
.mt-l{margin-top:1.5rem}

/* Sticky CTA */
.sticky-cta{position:fixed;bottom:12px;left:12px;right:12px;z-index:40;display:none}
@media (max-width:640px){.sticky-cta{display:block}}

/* Responsive */
@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr}
  .benefits{grid-template-columns:1fr}
  .area{grid-template-columns:1fr}
  .grid-3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .menu{display:none}
  .hamburger{display:inline-flex}
  .grid-3{grid-template-columns:1fr}
  .formgrid{grid-template-columns:1fr}
}
:root{
  --brand:#1e7d52; --brand-600:#176443; --brand-300:#60c49a;
  --accent:#b8ff5e; --ink:#0f172a; --ink-2:#334155; --bg:#f6f9f7;
  --white:#ffffff; --muted:#e6efe9; --maxw:1200px; --radius:18px;
  --shadow:0 10px 30px rgba(16,24,40,.08);
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--brand);color:#fff;padding:.9rem 1.2rem;border-radius:12px;font-weight:700;border:2px solid var(--brand);box-shadow:var(--shadow)}
.btn:hover{background:var(--brand-600);border-color:var(--brand-600)}
.btn.alt{background:transparent;color:var(--brand);border-color:var(--brand)}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid #e9f2ed}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.75rem}
.brand img{width:46px;height:46px}
.brand span{font-weight:800}
.menu{display:flex;align-items:center;gap:1rem}
.menu a{padding:.5rem .75rem;border-radius:10px;color:var(--ink-2);font-weight:600}
.menu a:hover{background:var(--muted);color:var(--ink)}
.hamburger{display:none;cursor:pointer;border:1px solid var(--muted);padding:.5rem;border-radius:10px;background:#fff}

/* Mobile menu */
#mobilePanel{display:none}
#mobilePanel.open{display:block}
.mobile-links{display:grid;gap:.5rem;padding:.5rem 0 1rem}
.mobile-links a{padding:.9rem;border-radius:12px;background:#fff;border:1px solid var(--muted);font-weight:700}

/* Hero */
.hero{position:relative;overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;padding:4rem 0 3rem}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--muted);border-radius:999px;padding:.4rem .7rem;font-weight:700;color:var(--brand-600)}
.hero h1{font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.1;margin:.8rem 0}
.hero p{color:var(--ink-2);font-size:1.1rem;max-width:52ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.hero-card{background:linear-gradient(180deg,#fff,#fdfefe);border:1px solid var(--muted);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}
.bullets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem}
.bullet{display:flex;gap:.6rem;align-items:flex-start}
.check{width:22px;height:22px;border-radius:6px;background:var(--brand);display:inline-grid;place-items:center;flex:0 0 22px}
.check svg{width:14px;height:14px;fill:#fff}

.hero-graphic{position:relative}
.blob{position:absolute;inset:auto -20% -30% auto;width:160%;height:160%;
  background:
    radial-gradient(60% 60% at 50% 40%, rgba(96,196,154,.25), transparent 60%),
    radial-gradient(50% 50% at 20% 60%, rgba(184,255,94,.25), transparent 55%);
  filter:blur(32px)}
.device{position:relative;background:#fff;border:1px solid var(--muted);border-radius:28px;box-shadow:var(--shadow);padding:1rem}
.device-bar{height:26px;border-radius:20px;background:var(--bg);border:1px solid var(--muted);display:flex;align-items:center;gap:.4rem;padding:0 .5rem}
.dot{width:8px;height:8px;border-radius:50%;background:var(--brand-300)}
.screen{aspect-ratio:4/3;border-radius:18px;background:linear-gradient(135deg,#f7fff8,#e9f7ef);border:1px solid var(--muted);display:grid;place-items:center;margin-top:.75rem}

/* Sections */
section{padding:3.5rem 0}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.eyebrow{font-weight:800;color:var(--brand-600);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}
h2{font-size:clamp(1.6rem,2.5vw,2.2rem);margin:.25rem 0}
.grid{display:grid;gap:1rem}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:#fff;border:1px solid var(--muted);border-radius:var(--radius);padding:1.15rem;box-shadow:var(--shadow)}

/* Steps */
.steps{counter-reset:step}
.step{display:grid;grid-template-columns:52px 1fr;gap:1rem;align-items:start;padding:1rem;border:1px dashed var(--muted);border-radius:16px;background:linear-gradient(180deg,#fff,#fafffb)}
.num{width:52px;height:52px;border-radius:14px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800}

/* Benefits layout */
.benefits{display:grid;grid-template-columns:1.2fr .8fr;gap:1.25rem}
.badge{display:inline-block;background:var(--bg);border:1px solid var(--muted);padding:.4rem .6rem;border-radius:999px;font-weight:700;color:var(--brand-600)}
ul.iconlist{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
ul.iconlist li{display:grid;grid-template-columns:22px 1fr;gap:.6rem;align-items:start}

/* Area / Map */
.area{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.pill{display:inline-block;background:#fff;border:1px solid var(--muted);padding:.45rem .7rem;border-radius:999px;margin:.25rem;font-weight:700}
.mapbox{position:relative;border:3px solid var(--brand);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 20px rgba(30,125,82,.25)}
.mapbox::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom right,rgba(30,125,82,.05),transparent 70%);pointer-events:none}
.mapbox iframe{width:100%;aspect-ratio:4/3;border:0;filter:hue-rotate(60deg) brightness(1.1) contrast(0.95)}

/* Form */
form{display:grid;gap:.8rem}
label{font-weight:700}
input,select,textarea{width:100%;padding:.85rem;border-radius:12px;border:1px solid var(--muted);background:#fff;font:inherit}
textarea{min-height:110px}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}

/* Footer */
footer{padding:2rem 0;border-top:1px solid var(--muted);color:var(--ink-2)}

/* Utilities */
.mt-s{margin-top:.5rem}
.mt-m{margin-top:1rem}
.mt-l{margin-top:1.5rem}

/* Sticky CTA */
.sticky-cta{position:fixed;bottom:12px;left:12px;right:12px;z-index:40;display:none}
@media (max-width:640px){.sticky-cta{display:block}}

/* Responsive */
@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr}
  .benefits{grid-template-columns:1fr}
  .area{grid-template-columns:1fr}
  .grid-3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .menu{display:none}
  .hamburger{display:inline-flex}
  .grid-3{grid-template-columns:1fr}
  .formgrid{grid-template-columns:1fr}
}