:root{
  --bg:#0A0B0A; --surface:#111411; --sunken:#0E110C; --sunken2:#0C0E0B;
  --green:#8CC73F; --text:#F2F5EF; --muted:#A8AFA4; --soft:#C9CFC4; --faint:#6E756A; --dim:#8A9182;
  --border:#232A1D; --border2:#283021; --line:#20271B; --hair:#1A1E18;
  --mono:'IBM Plex Mono',monospace; --display:'Space Grotesk',sans-serif; --sans:'IBM Plex Sans',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:var(--sans)}
img{display:block}
::selection{background:var(--green);color:var(--bg)}
.accent{color:var(--green)}
.g{color:var(--green)}
@keyframes ttFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes ttGlow{0%,100%{opacity:.5}50%{opacity:.9}}

/* header + nav */
.header{position:sticky;top:0;z-index:40;background:#0A0B0A;border-bottom:1px solid #1E231C}
.header__inner{max-width:1240px;margin:0 auto;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.header__logo{height:76px;width:auto;mix-blend-mode:lighten}
.nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.nav__link{color:var(--muted);text-decoration:none;font-size:14px;font-weight:500;letter-spacing:.02em}
.nav__link:hover{color:var(--text)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;border-radius:7px;cursor:pointer;font-family:inherit}
.btn--solid{background:var(--green);color:var(--bg)}
.btn--ghost{background:transparent;color:var(--text);border:1px solid #2E3528}
.btn--sm{padding:10px 18px;font-size:14px;border-radius:6px;gap:8px}
.btn--md{padding:14px 26px;font-size:15px}
.btn--lg{padding:16px 32px;font-size:16px;border-radius:8px}

/* shared bits */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--green)}
.eyebrow__dot{width:8px;height:8px;background:var(--green);border-radius:2px;box-shadow:0 0 12px var(--green)}
.label{font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--green)}
.h2{font-family:var(--display);font-weight:700;font-size:clamp(30px,3.4vw,44px);line-height:1.08;letter-spacing:-.02em;margin:0}
.crenel{height:14px;background:repeating-linear-gradient(90deg,#8CC73F 0 18px,transparent 18px 40px);opacity:.9}
.dotgrid{position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,#1C2419 1px,transparent 0);background-size:26px 26px;opacity:.6}
.dotgrid--cta{opacity:.5}
.dotgrid--contact{opacity:.55}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--hair)}
.hero__glow{position:absolute;top:-160px;right:-120px;width:560px;height:560px;background:radial-gradient(circle,rgba(140,199,63,.20),transparent 65%);animation:ttGlow 6s ease-in-out infinite}
.hero__inner{max-width:1240px;margin:0 auto;padding:clamp(56px,9vw,96px) 28px clamp(64px,10vw,104px);position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero__title{font-family:var(--display);font-weight:700;font-size:clamp(40px,6vw,72px);line-height:1.02;letter-spacing:-.02em;margin:0 0 22px}
.hero__lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:540px;margin:0 0 34px}
.btnrow{display:flex;flex-wrap:wrap;gap:14px}

/* console panel */
.console{position:relative;animation:ttFloat 7s ease-in-out infinite}
.console__frame{background:linear-gradient(160deg,#12160F,#0C0F0B);border:1px solid var(--border2);border-radius:14px;overflow:hidden;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.console__bar{display:flex;align-items:center;gap:7px;padding:14px 16px;border-bottom:1px solid var(--line)}
.console__dot{width:11px;height:11px;border-radius:50%;background:#2C3326}
.console__dot--live{background:var(--green)}
.console__user{margin-left:8px;font-family:var(--mono);font-size:12px;color:var(--faint)}
.console__body{padding:22px;font-family:var(--mono);font-size:13.5px;line-height:1.9;color:var(--muted)}
.console__row{color:var(--faint)}
.console__stats{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line)}
.stat{padding:16px}
.stat--bd{border-right:1px solid var(--line)}
.stat__num{font-family:var(--display);font-size:26px;font-weight:700;color:var(--text)}
.stat__cap{font-size:11px;color:var(--faint);font-family:var(--mono)}

/* about */
.about{max-width:1240px;margin:0 auto;padding:clamp(56px,9vw,96px) 28px;display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}
.checks{margin-top:28px;display:flex;flex-direction:column;gap:14px}
.check{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--soft)}
.check__tick{width:7px;height:7px;background:var(--green);border-radius:2px}
.prose{display:flex;flex-direction:column;gap:22px;font-size:17px;line-height:1.7;color:var(--muted)}
.prose p{margin:0}
.mb18{margin-bottom:18px}

/* services */
.services{border-top:1px solid var(--hair);background:var(--sunken2)}
.services__inner{max-width:1240px;margin:0 auto;padding:90px 28px}
.services__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.h2--cap{max-width:620px}
.meta{font-family:var(--mono);font-size:13px;color:var(--faint)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start}
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:14px;min-height:212px;transition:border-color .18s,background .18s}
.card:hover{border-color:var(--green);background:#141810}
.card__top{display:flex;align-items:flex-start;justify-content:space-between}
.card__icon{display:inline-flex;width:58px;height:58px;font-size:28px;border-radius:13px;background:#161C12;border:1px solid var(--border2);align-items:center;justify-content:center;color:var(--green)}
.card__n{font-family:var(--mono);font-size:13px;color:#3F4A36}
.card__bd{flex:1}
.card__t{font-family:var(--display);font-weight:600;font-size:17px;line-height:1.22;margin:0 0 8px;color:var(--text)}
.card__s{margin:0;font-size:13px;line-height:1.55;color:var(--dim)}
.toggle{align-self:flex-start;cursor:pointer;background:transparent;border:none;padding:0;font-family:var(--mono);font-size:12px;color:var(--green);display:inline-flex;align-items:center;gap:7px}
.caret{display:inline-block;font-size:13px;transition:transform .3s ease}
.panel{max-height:0;opacity:0;overflow:hidden;transition:max-height .45s ease,opacity .35s ease,margin-top .3s ease;margin-top:0}
.panel__body{margin:0 0 14px;font-size:13px;line-height:1.62;color:var(--muted)}
.panel__list{display:flex;flex-direction:column;gap:9px;border-top:1px solid var(--line);padding-top:14px}
.li{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.4;color:var(--soft)}
.li__b{color:var(--green);margin-top:1px}

/* sectors */
.sectors{max-width:1240px;margin:0 auto;padding:90px 28px}
.center{text-align:center;margin-bottom:44px}
.sectorgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.sector{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:26px 14px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.sector__icon{display:inline-flex;width:66px;height:66px;font-size:30px;align-items:center;justify-content:center;border-radius:50%;background:#161C12;border:1px solid var(--border2);color:var(--green)}
.sector__label{font-size:13px;font-weight:500;color:var(--soft);line-height:1.3}

/* cta */
.cta{position:relative;overflow:hidden;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);background:var(--sunken2)}
.cta__glow{position:absolute;bottom:-200px;left:50%;transform:translateX(-50%);width:700px;height:400px;background:radial-gradient(ellipse,rgba(140,199,63,.16),transparent 70%)}
.cta__inner{max-width:900px;margin:0 auto;padding:96px 28px;text-align:center;position:relative}
.cta__title{font-family:var(--display);font-weight:700;font-size:clamp(30px,4vw,52px);line-height:1.06;letter-spacing:-.02em;margin:0 0 18px}
.cta__lead{font-size:17px;color:var(--muted);margin:0 0 34px}

/* footer */
.footer{max-width:1240px;margin:0 auto;padding:56px 28px 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.footer__logo{height:40px;width:auto;mix-blend-mode:lighten;margin-bottom:18px}
.footer__blurb{font-size:14px;line-height:1.6;color:var(--dim);max-width:300px;margin:0}
.foot-h{font-family:var(--mono);font-size:12px;color:var(--faint);margin-bottom:16px}
.foot-col{display:flex;flex-direction:column;gap:10px;font-size:14px}
.foot-col a{color:var(--soft);text-decoration:none}
.foot-col .addr{color:var(--dim);line-height:1.5}
.copy{border-top:1px solid var(--hair)}
.copy__inner{max-width:1240px;margin:0 auto;padding:20px 28px;font-size:12.5px;color:var(--faint);font-family:var(--mono)}

/* contact page */
.contact{position:relative;overflow:hidden}
.contact__glow{position:absolute;top:-140px;right:-120px;width:540px;height:540px;background:radial-gradient(circle,rgba(140,199,63,.18),transparent 65%);animation:ttGlow 6s ease-in-out infinite}
.contact__inner{max-width:1100px;margin:0 auto;padding:84px 28px 96px;position:relative}
.contact__title{font-family:var(--display);font-weight:700;font-size:clamp(38px,5.5vw,64px);line-height:1.02;letter-spacing:-.02em;margin:0 0 18px}
.contact__lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:560px;margin:0 0 52px}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cgrid--mb{margin-bottom:18px}
.bigbtn{text-decoration:none;display:flex;align-items:center;gap:20px;background:linear-gradient(160deg,#12160F,#0C0F0B);border:1px solid var(--border2);border-radius:14px;padding:28px 30px;transition:border-color .18s,transform .18s}
.bigbtn:hover{border-color:var(--green);transform:translateY(-3px)}
.bigbtn__icon{flex:none;display:inline-flex;width:58px;height:58px;border-radius:13px;background:#161C12;border:1px solid #2A3322;align-items:center;justify-content:center;color:var(--green);font-size:26px}
.bigbtn__icon--mail{font-size:24px}
.bigbtn__txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.bigbtn__cap{font-family:var(--mono);font-size:12px;color:var(--faint);letter-spacing:.05em}
.bigbtn__val{font-family:var(--display);font-weight:700;font-size:clamp(17px,4.4vw,24px);color:var(--text);letter-spacing:-.01em;overflow-wrap:anywhere}
.info{background:var(--sunken);border:1px solid var(--line);border-radius:14px;padding:28px 30px}
.info__head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.info__icon{display:inline-flex;width:44px;height:44px;border-radius:11px;background:#161C12;border:1px solid #2A3322;align-items:center;justify-content:center;color:var(--green);font-size:20px}
.info__cap{font-family:var(--mono);font-size:12px;color:var(--faint);letter-spacing:.05em}
.info__body{font-size:16px;line-height:1.7;color:var(--soft)}
.hours{display:flex;flex-direction:column;gap:8px;font-size:16px;color:var(--soft)}
.hours__row{display:flex;justify-content:space-between;gap:20px}
.hours__row--off{color:var(--dim)}
.hours__val{color:var(--green);font-weight:600}
.contact-footer{max-width:1240px;margin:0 auto;width:100%;padding:48px 28px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--hair)}
.contact-footer__logo{height:34px;width:auto;mix-blend-mode:lighten}

/* responsive */
@media(max-width:880px){.hero__inner{grid-template-columns:1fr;gap:34px}.about{grid-template-columns:1fr;gap:34px}.footer{grid-template-columns:1fr;gap:30px}}
@media(max-width:900px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.cgrid{grid-template-columns:1fr}}
@media(max-width:600px){.nav__link{display:none}.header__inner{padding:14px 16px;gap:12px}.header__logo{height:48px}.nav{gap:10px}.btn--sm{padding:9px 14px;white-space:nowrap}}
@media(max-width:520px){.grid4{grid-template-columns:1fr}}
@media(max-width:400px){.header__logo{height:42px}}