:root{
  --lime:#c7f022; --black:#000000; --slate:#7789ab; --white:#ffffff;
  --g-hero-dark: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
  --g-about: linear-gradient(180deg, #7789ab 0%, #ffffff 100%);
  --band:#f4f6f9;
  --text:#0b0b0b; --muted:#5f6673;
}
*,*::before,*::after{ box-sizing:border-box }
body{ margin:0; font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial; color:var(--text); background:#fff }
a{ color:inherit; text-decoration:none }
img{ max-width:100%; display:block }
.container{ width:min(1120px,92%); margin:0 auto }
.narrow{ width:min(960px,92%); margin:0 auto }
.center{text-align:center}
.btn{ display:inline-block; padding:.85rem 1.15rem; border-radius:14px; font-weight:600; border:0; cursor:pointer; transition:transform .15s ease, opacity .15s ease }
.btn:active{ transform:translateY(1px) }
.btn-primary{ background:var(--lime); color:#111 }
.btn-dark{ background:#111; color:#fff }
.btn-link{ color:var(--lime); padding:.4rem .6rem; border-radius:10px }
.btn-link:hover{ background:rgba(199,240,34,.12) }

.grid{ display:grid; gap:1.25rem }
.card{ background:#fff; border-radius:16px; padding:1.25rem; border:1px solid rgba(0,0,0,.06) }

/* Nav - black bg, lime accents */
.nav{ position:sticky; top:0; z-index:10; border-bottom:1px solid rgba(255,255,255,.08) }
.nav--dark{ background:#000; color:var(--lime) }
.nav__inner{ display:flex; align-items:center; justify-content:space-between; padding:.9rem 0 }
.brand__logo{ height:34px; width:auto; display:block }
.links{ display:flex; gap:1rem; align-items:center }
.links a{ color:var(--lime); opacity:.9 }
.links a:hover{ opacity:1 }

/* Hero - dark with lime text */
.hero{ text-align:center; padding:clamp(3rem,6vw,6rem) 0 }
.hero--dark{ background:var(--g-hero-dark); color:var(--lime) }
.hero h1{ margin:0 0 .5rem; font-size:clamp(1.9rem,5vw,3.2rem); line-height:1.15; font-weight:900 }
.hero .lead{ margin:.2rem auto 0; max-width:48ch; font-size:clamp(1rem,2.2vw,1.15rem); color:#cde06a }

/* Numbers */
.numbers{ background:#f7f8fa; padding:clamp(2.5rem,5vw,4rem) 0 }
.kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem }
.kpi{ text-align:center; border-radius:16px; padding:1.5rem; background:#fff; border:1px solid rgba(0,0,0,.06) }
.kpi strong{ display:block; font-size:clamp(1.8rem,4vw,2.4rem) }
.kpi strong.slate{ color:var(--slate) }
.kpi strong.lime{ color:var(--lime) }
.kpi strong.black{ color:var(--black) }
.kpi span{ color:var(--muted); font-size:.95rem }

/* Visual band, framed */
.visual{ padding:1.6rem 0 }
.visual--framed .frame{ background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:18px; padding:.6rem; box-shadow:0 12px 40px rgba(0,0,0,.08) }
.visual__img{ width:100%; border-radius:12px }
.visual__caption{ margin:.6rem auto 0; max-width:70ch; color:#3a3a3a; font-size:.95rem; text-align:center }

/* About */
.about{ background:var(--g-about); padding:clamp(2.5rem,6vw,5rem) 0; color:#0f1320 }
.about__grid{ display:grid; grid-template-columns:1fr; gap:1.6rem }
.glass{ background:rgba(255,255,255,.82) }

/* Planning section */
.planning{ background:var(--band); padding:clamp(2.2rem,6vw,4.2rem) 0; border-top:1px solid rgba(0,0,0,.06); border-bottom:1px solid rgba(0,0,0,.06) }
.planning__header{ text-align:center; margin:0 0 1rem }
.planning__intro{ margin:.4rem auto 1.2rem; max-width:70ch; color:#383f4a }
.planning__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem }
.tile{ min-height:160px; text-align:center }
.icon{ width:42px; height:42px; border-radius:10px; background:rgba(199,240,34,.14); display:flex; align-items:center; justify-content:center; margin:.1rem auto .4rem }

/* Expertise */
.specialties{ background:#fff; padding:clamp(2.5rem,6vw,5rem) 0 }
.inline-center{ display:flex; align-items:center; justify-content:center; gap:.6rem; margin-bottom:.8rem }
.expertise__icon{ width:44px; height:44px; border-radius:12px; background:rgba(199,240,34,.14); display:flex; align-items:center; justify-content:center }
.specialties .spec-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem }
.spec h3{ margin:.1rem 0 .35rem; font-size:1.1rem; color:#111 }
.spec p{ margin:0; color:#383f4a }
.icon--left{ margin:.1rem .6rem .4rem 0; display:inline-flex; vertical-align:middle }
.spec .icon--left + h3{ display:inline-block; vertical-align:middle }

/* Footer */
.footer{ background:var(--lime); color:#000; text-align:center; padding:2.2rem 0 }
.footer__tagline{ margin:.2rem auto .3rem; font-weight:800; font-size: clamp(1.2rem, 2.4vw, 1.6rem) }
.footer__line{ margin:0 auto 1.1rem; max-width:60ch; font-size:.95rem; color:#202020 }
footer small{ display:block; margin-top:1rem }

@media (max-width:860px){
  .kpis{ grid-template-columns:1fr }
  .specialties .spec-grid{ grid-template-columns:1fr }
  .links{ display:none }
  .planning__grid{ grid-template-columns:repeat(2,1fr) }
}
@media (max-width:600px){
  .planning__grid{ grid-template-columns:1fr }
}
