:root {
  --bg: #05080d;
  --bg-soft: #0b111b;
  --text: #f7fbff;
  --muted: #a9b2bd;
  --panel: rgba(255,255,255,.06);
  --line: rgba(255,255,255,.12);
  --green: #94e150;
  --green-2: #6fbe35;
  --ink: #0b111b;
  --white: #ffffff;
  --radius: 26px;
  --shadow: 0 24px 80px rgba(0,0,0,.24);
}

* { 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: #f6f8fb;
}
a { color: inherit; text-decoration: none; }
.container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
.section-dark { color: var(--text); background: var(--bg); }
.section-light { color: var(--ink); background: #f6f8fb; }

.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(20px, 5vw, 70px);
  color: var(--text);
  background: rgba(5,8,13,.62);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid transparent;
  transition: .25s ease;
}
.site-header.is-scrolled { border-bottom-color: var(--line); background: rgba(5,8,13,.9); }
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 900; letter-spacing: .16em; }
.brand-mark {
  display: grid; place-items: center;
  width: 38px; height: 38px;
  border-radius: 12px;
  color: var(--bg);
  background: linear-gradient(135deg, var(--green), #d9ff9b);
  box-shadow: 0 0 30px rgba(148,225,80,.3);
}
.brand-text span { display: block; font-size: 9px; letter-spacing: .32em; opacity: .7; }
.nav { display: flex; align-items: center; gap: 30px; font-size: 14px; font-weight: 600; }
.nav a { opacity: .82; transition: .2s ease; }
.nav a:hover { opacity: 1; color: var(--green); }
.header-cta, .btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 800;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.header-cta { border: 1px solid rgba(148,225,80,.7); }
.header-cta:hover, .btn:hover { transform: translateY(-2px); }
.nav-toggle { display: none; background: none; border: 0; padding: 8px; }
.nav-toggle span { display:block; width:24px; height:2px; margin:5px 0; background:#fff; }

.hero { position: relative; overflow: hidden; min-height: 780px; padding: 160px 0 80px; }
.hero-grid {
  position: absolute; inset: 0;
  background:
    linear-gradient(rgba(148,225,80,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148,225,80,.06) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(circle at 70% 45%, black 0 40%, transparent 75%);
}
.orb { position:absolute; border-radius:50%; filter: blur(50px); opacity:.36; }
.orb-one { width:420px; height:420px; right:6%; top:18%; background:var(--green); }
.orb-two { width:320px; height:320px; left:2%; bottom:8%; background:#286a38; }
.hero-inner { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.eyebrow { margin: 0 0 16px; text-transform: uppercase; letter-spacing: .34em; font-size: 12px; font-weight: 900; color: var(--green); }
.hero h1 { margin:0; font-size: clamp(52px, 7vw, 86px); line-height: .95; letter-spacing: -.06em; }
.hero h1 span { display:block; color: var(--green); }
.hero-lead { max-width: 580px; margin: 28px 0; color: #d7dde5; font-size: 18px; line-height: 1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; }
.btn-primary { color: #071008; background: linear-gradient(135deg, var(--green), #b9ff72); box-shadow: 0 18px 50px rgba(148,225,80,.24); }
.btn-secondary, .btn-outline { border: 1px solid rgba(148,225,80,.5); color: inherit; }
.trust-row { display:flex; flex-wrap:wrap; gap:24px; margin-top:44px; color:#fff; opacity:.86; font-weight:800; font-size:18px; }

.hero-visual { min-height: 480px; position:relative; }
.cube-field { position:absolute; inset:0; perspective: 900px; }
.cube { position:absolute; display:grid; place-items:center; border:1px solid rgba(255,255,255,.16); background:linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.04)); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 24px 70px rgba(0,0,0,.4); transform: rotateX(58deg) rotateZ(42deg); }
.cube-a { width:160px; height:160px; right:28%; top:31%; color:var(--green); font-size:80px; font-weight:900; }
.cube-b { width:120px; height:120px; right:8%; top:12%; background:rgba(148,225,80,.25); }
.cube-c { width:110px; height:110px; right:50%; top:15%; }
.cube-d { width:130px; height:130px; right:12%; bottom:18%; }
.cube-e { width:90px; height:90px; left:7%; bottom:24%; background:rgba(148,225,80,.3); }
.pulse-ring { position:absolute; right:18%; top:22%; width:360px; height:360px; border-radius:50%; border:1px solid rgba(148,225,80,.3); animation:pulse 3s infinite; }
@keyframes pulse { 50% { transform: scale(1.06); opacity: .4; } }

.solutions, .cases, .cta { padding: 86px 0; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:36px; }
.section-heading h2 { margin:0; max-width:600px; font-size:clamp(34px, 4vw, 52px); line-height:1.02; letter-spacing:-.05em; }
.section-heading h2 span { color: var(--green-2); }
.section-heading p:not(.eyebrow) { max-width:430px; color:#44505d; line-height:1.65; }
.cards-grid { display:grid; grid-template-columns: repeat(6, 1fr); gap:16px; }
.service-card { grid-column: span 2; min-height:230px; padding:24px; border-radius:20px; background:var(--white); border:1px solid rgba(11,17,27,.08); box-shadow: 0 12px 40px rgba(11,17,27,.06); transition:.24s ease; }
.service-card:hover { transform: translateY(-8px); border-color: rgba(148,225,80,.7); box-shadow: 0 26px 70px rgba(11,17,27,.12); }
.icon { width:52px; height:52px; display:grid; place-items:center; border-radius:16px; color:#09120a; background:#e9fbdc; font-size:26px; margin-bottom:18px; }
.service-card h3 { margin:0 0 10px; font-size:18px; }
.service-card p { color:#50606e; line-height:1.55; }
.service-card a { color:var(--green-2); font-weight:800; font-size:14px; }

.method { padding: 92px 0; overflow:hidden; }
.method-inner { display:grid; grid-template-columns: .85fr 1.3fr .85fr; gap:34px; align-items:center; }
.method-side h2 { margin:0 0 14px; font-size:46px; }
.method-side p:last-child { color:#c9d1da; line-height:1.65; }
.method-map { min-height:380px; position:relative; border-radius:32px; background: radial-gradient(circle at center, rgba(148,225,80,.12), transparent 64%); border:1px solid var(--line); }
.method-map:before { content:""; position:absolute; inset:52px; border:1px solid rgba(148,225,80,.25); border-radius:50%; }
.method-node { position:absolute; display:grid; place-items:center; text-align:center; border-radius:50%; border:1px solid rgba(148,225,80,.65); background:#0b141e; box-shadow:0 0 36px rgba(148,225,80,.16); }
.method-node span { display:block; max-width:105px; font-size:11px; color:#dfe7ef; }
.method-node strong { color:var(--green); font-size:24px; }
.node-center { width:118px; height:118px; left:50%; top:50%; transform:translate(-50%,-50%); font-size:70px; font-weight:900; color:#fff; border-color:rgba(255,255,255,.25); }
.node-one { width:126px; height:126px; left:8%; top:24%; }
.node-two { width:126px; height:126px; right:8%; top:24%; }
.node-three { width:126px; height:126px; left:50%; bottom:8%; transform:translateX(-50%); }
.method-list { display:grid; gap:18px; }
.method-list div { padding:18px; border:1px solid var(--line); border-radius:18px; background:var(--panel); }
.method-list strong, .method-list span { display:block; }
.method-list span { color:#c5ced8; margin-top:6px; line-height:1.5; }

.compact { padding: 42px 0; border-bottom:1px solid rgba(11,17,27,.08); border-top:1px solid rgba(11,17,27,.08); }
.metrics-grid { display:grid; grid-template-columns: repeat(5, 1fr); gap:18px; text-align:center; }
.metrics-grid strong { display:block; font-size:38px; letter-spacing:-.05em; }
.metrics-grid span { color:#556271; }

.case-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:20px; }
.case-card { position:relative; min-height:300px; padding:28px; border-radius:24px; overflow:hidden; color:#fff; background: linear-gradient(135deg, #07100b, #1c2734); box-shadow:var(--shadow); }
.case-card:before { content:""; position:absolute; inset:auto -40px -60px auto; width:220px; height:220px; border-radius:50%; background:rgba(148,225,80,.25); filter:blur(24px); }
.case-card span { position:relative; display:inline-flex; padding:8px 10px; border-radius:999px; border:1px solid rgba(148,225,80,.5); font-size:12px; }
.case-card h3, .case-card p, .case-card strong { position:relative; }
.case-card h3 { margin:72px 0 12px; font-size:24px; line-height:1.15; }
.case-card p { color:#d7dde5; line-height:1.6; }
.case-card strong { color:var(--green); font-size:24px; }

.cta { padding-top: 30px; }
.cta-panel { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:42px; border-radius:28px; color:#fff; background:linear-gradient(135deg, #09110d, #224214); box-shadow:var(--shadow); }
.cta-panel h2 { margin:0 0 12px; font-size:42px; letter-spacing:-.04em; }
.cta-panel p:not(.eyebrow) { color:#e1e8ef; }
.footer { padding: 46px 0; }
.footer-inner { display:flex; justify-content:space-between; gap:30px; color:#d3dbe4; }
.footer p { max-width:330px; line-height:1.6; }
.footer-links { display:flex; gap:24px; flex-wrap:wrap; }

.reveal { opacity:0; transform: translateY(18px); transition: .7s ease; }
.reveal.is-visible { opacity:1; transform: translateY(0); }

@media (max-width: 980px) {
  .header-cta { display:none; }
  .nav-toggle { display:block; }
  .nav { position:fixed; top:76px; left:20px; right:20px; display:none; flex-direction:column; align-items:flex-start; padding:24px; border-radius:20px; background:#0b111b; border:1px solid var(--line); }
  .nav.is-open { display:flex; }
  .hero-inner, .method-inner { grid-template-columns:1fr; }
  .hero { padding-top:130px; min-height:auto; }
  .hero-visual { min-height:360px; }
  .section-heading { display:block; }
  .service-card { grid-column: span 3; }
  .metrics-grid, .case-grid { grid-template-columns:1fr; }
  .cta-panel, .footer-inner { display:block; }
  .cta-panel .btn { margin-top:20px; }
}
@media (max-width: 620px) {
  .container { width:min(100% - 28px, 1120px); }
  .cards-grid { grid-template-columns:1fr; }
  .service-card { grid-column:auto; }
  .trust-row { font-size:14px; gap:14px; }
  .hero-actions .btn { width:100%; }
  .hero h1 { font-size:48px; }
  .hero-visual { display:none; }
  .metrics-grid { text-align:left; }
}
