:root{
  --soil:#16120d;
  --moss:#10241d;
  --moss-2:#17382c;
  --leaf:#79c75b;
  --leaf-bright:#b8f08b;
  --sand:#f3ead9;
  --cream:#fffaf0;
  --clay:#c98048;
  --ink:#142018;
  --muted:#5d6f61;
  --line:rgba(20,32,24,.14);
  --glass:rgba(255,250,240,.74);
  --shadow:0 24px 80px rgba(20,32,24,.18);
  --radius-lg:34px;
  --radius-md:22px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 10% 0%, rgba(184,240,139,.35), transparent 28rem),
    radial-gradient(circle at 95% 10%, rgba(201,128,72,.20), transparent 24rem),
    linear-gradient(180deg,#fff8ea 0%,#edf4df 50%,#f8efe0 100%);
  font-family:Arial, Helvetica, sans-serif;
  line-height:1.55;
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:linear-gradient(rgba(20,32,24,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(20,32,24,.08) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,#000,transparent 78%);
}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid var(--clay);outline-offset:4px}
.skip-link{position:absolute;left:16px;top:-80px;background:var(--soil);color:#fff;padding:10px 14px;border-radius:999px;z-index:10}
.skip-link:focus{top:16px}
.site-header{
  width:min(calc(100% - 32px),var(--max));
  margin:18px auto 0;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid rgba(20,32,24,.12);
  border-radius:999px;
  background:rgba(255,250,240,.82);
  backdrop-filter:blur(18px);
  box-shadow:0 10px 40px rgba(20,32,24,.09);
  position:sticky;
  top:14px;
  z-index:5;
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;padding-left:4px}
.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--moss),var(--leaf));color:#fff;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)}
.brand strong{display:block;letter-spacing:.08em;font-size:14px}
.brand small{display:block;color:var(--muted);font-size:11px;margin-top:-2px}
.nav{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700}
.nav a{text-decoration:none;padding:10px 13px;border-radius:999px;color:#2c3b31}
.nav a:hover{background:rgba(23,56,44,.08)}
.nav-cta{background:var(--moss)!important;color:#fff!important}
.section-shell{width:min(calc(100% - 32px),var(--max));margin:0 auto}
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:36px;align-items:center;padding:68px 0 44px}
.eyebrow{margin:0 0 14px;color:#49664c;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(42px,6.5vw,88px);line-height:.92;letter-spacing:-.065em;margin-bottom:22px;max-width:820px}
h2{font-size:clamp(30px,4vw,56px);line-height:1;letter-spacing:-.045em;margin-bottom:18px}
h3{font-size:22px;line-height:1.1;margin-bottom:10px}
.lead{font-size:clamp(18px,2vw,22px);color:#445646;max-width:720px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 20px;border-radius:999px;text-decoration:none;font-weight:900;transition:transform .2s ease, box-shadow .2s ease, background .2s ease}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--moss);color:#fff;box-shadow:0 14px 30px rgba(16,36,29,.25)}
.button-secondary{background:#fff7e8;border:1px solid rgba(20,32,24,.13);color:var(--ink)}
.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:30px 0 0;padding:0}
.proof-strip div{padding:15px;border-radius:18px;background:rgba(255,250,240,.72);border:1px solid var(--line)}
dt{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#657469;font-weight:900}
dd{margin:4px 0 0;font-weight:800}
.hero-visual{position:relative;border-radius:var(--radius-lg);padding:18px;background:linear-gradient(145deg,rgba(255,250,240,.88),rgba(218,232,198,.74));border:1px solid rgba(20,32,24,.14);box-shadow:var(--shadow);overflow:hidden}
.hero-visual:after{content:"";position:absolute;inset:auto -20% -22% 18%;height:190px;background:radial-gradient(ellipse,rgba(121,199,91,.42),transparent 70%);filter:blur(10px)}
.hero-visual img{display:block;width:100%;height:auto;position:relative;z-index:1}
.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:24px 0 70px}
.statement-card,.service-card{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius-md);padding:26px;box-shadow:0 12px 44px rgba(20,32,24,.08)}
.accent-card{background:linear-gradient(145deg,var(--moss),#244833);color:#f7ffe9}
.accent-card p,.accent-card .card-number{color:#d7edca}
.card-number{display:block;color:#6e8b66;font-size:12px;font-weight:900;letter-spacing:.18em;margin-bottom:28px}
.statement-card p,.service-card p,.section-heading p,.digital-copy p{color:#526354}
.services,.process,.digital,.contact{padding:66px 0}
.section-heading{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:end;margin-bottom:24px}
.section-heading p:last-child{font-size:18px;max-width:640px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-card{min-height:270px;display:flex;flex-direction:column;justify-content:flex-start}
.service-card img{width:54px;height:54px;margin-bottom:34px}
.process-panel{border-radius:var(--radius-lg);padding:34px;background:linear-gradient(135deg,#14251c,#213d2c);color:#fff;box-shadow:var(--shadow);display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;overflow:hidden;position:relative}
.process-panel:before{content:"";position:absolute;right:-80px;top:-120px;width:360px;height:360px;border-radius:50%;background:rgba(184,240,139,.18)}
.process-panel .eyebrow{color:#bde9a1}
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative;z-index:1}
.timeline li{padding:20px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.timeline strong{display:block;margin-bottom:10px;color:#f5ffe7}
.timeline span{color:#d6e1d5;font-size:14px}
.digital-card{display:grid;grid-template-columns:1fr 420px;gap:26px;align-items:center;padding:32px;border-radius:var(--radius-lg);background:rgba(255,250,240,.72);border:1px solid var(--line);box-shadow:var(--shadow)}
.check-list{list-style:none;padding:0;margin:22px 0;display:grid;gap:10px}
.check-list li{position:relative;padding-left:30px;font-weight:800}
.check-list li:before{content:"";position:absolute;left:0;top:.35em;width:18px;height:18px;border-radius:50%;background:var(--leaf);box-shadow:inset 0 0 0 5px #e9ffd9}
.software-preview{border-radius:28px;background:#101914;color:#f5ffe7;padding:18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 22px 60px rgba(16,25,20,.24)}
.window-bar{display:flex;gap:7px;margin-bottom:18px}.window-bar span{width:11px;height:11px;border-radius:50%;background:#6f826f}.window-bar span:first-child{background:#e7a45e}.window-bar span:nth-child(2){background:#d7df77}.window-bar span:nth-child(3){background:#79c75b}
.metric-row{display:flex;justify-content:space-between;align-items:center;border-radius:18px;background:#1b2b21;padding:18px;margin-bottom:10px}.metric-row em{font-style:normal;font-size:34px;font-weight:900;color:var(--leaf-bright)}.metric-row.muted{background:#17231c}.metric-row.muted em{color:#efd6aa}
.route-map{height:170px;border-radius:22px;background:linear-gradient(135deg,#243929,#142119);position:relative;overflow:hidden}.route-map:before{content:"";position:absolute;inset:28px;border:2px dashed rgba(184,240,139,.38);border-radius:40% 60% 52% 48%}.route-map i{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--leaf-bright);box-shadow:0 0 0 8px rgba(184,240,139,.15)}.route-map i:nth-child(1){left:46px;top:40px}.route-map i:nth-child(2){right:70px;top:48px}.route-map i:nth-child(3){left:110px;bottom:42px}.route-map i:nth-child(4){right:42px;bottom:34px;background:#e7a45e}
.contact{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line)}
.contact h2{max-width:780px;margin-bottom:0}
.site-footer{width:min(calc(100% - 32px),var(--max));margin:10px auto 34px;padding:20px 0;color:#5a695c;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:14px}.site-footer p{margin:0}.site-footer a{font-weight:900}
@media (max-width:980px){.site-header{align-items:flex-start;border-radius:28px}.nav{flex-wrap:wrap;justify-content:flex-end}.hero,.section-heading,.process-panel,.digital-card{grid-template-columns:1fr}.hero{padding-top:42px}.intro-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){.site-header{position:static;flex-direction:column}.nav{justify-content:flex-start}.nav a{padding:9px 10px}.hero{grid-template-columns:1fr}.proof-strip,.intro-grid,.service-grid,.timeline{grid-template-columns:1fr}.statement-card,.service-card{padding:22px}.digital-card{padding:22px}.software-preview{min-width:0}.contact,.site-footer{flex-direction:column;align-items:flex-start}h1{font-size:44px}.section-shell{width:min(calc(100% - 24px),var(--max))}}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
