:root {
  --bg:#040e08;
  --surface:#081410;
  --surface-2:#0c1c15;
  --surface-3:#112419;
  --border:#163820;
  --border-2:#1e4d2b;
  --text:#dff2e9;
  --muted:#75a98c;
  --accent:#00e040;
  --green:#00d845;
  --warn:#f59e0b;
  --alarm:#ef4444;
}

*,
*::before,
*::after { box-sizing:border-box; }

html { scroll-behavior:smooth; }
body {
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 72% 12%, rgba(0,224,64,.14), transparent 34%),
    linear-gradient(180deg, #06120c 0%, var(--bg) 42%, #020704 100%);
  color:var(--text);
  font-family:'Alexandria', Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:15px;
  line-height:1.6;
}

a { color:inherit; text-decoration:none; }
h1,h2,h3,p { margin:0; }
button,input,textarea { font:inherit; }

.site-header {
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:18px clamp(18px,4vw,56px);
  background:rgba(4,14,8,.84);
  border-bottom:1px solid rgba(30,77,43,.65);
  backdrop-filter:blur(16px);
}

.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:900;
  letter-spacing:-.04em;
  font-size:25px;
}
.brand span span { color:var(--accent); }
.brand-mark { width:34px; height:38px; }

nav { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
nav a {
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:0 11px;
  border-radius:6px;
  color:#bfe4cf;
  font-size:13px;
  font-weight:800;
}
nav a:hover { background:rgba(0,224,64,.08); color:#fff; }
.nav-app { border:1px solid var(--border-2); }

.section {
  width:min(1160px, calc(100% - 36px));
  margin:0 auto;
  padding:72px 0;
}

.hero {
  min-height:calc(100vh - 74px);
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
  align-items:center;
  gap:56px;
  padding-top:54px;
}

.eyebrow {
  color:var(--accent);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:16px;
}

h1 {
  max-width:760px;
  font-size:clamp(46px,7vw,88px);
  line-height:.92;
  letter-spacing:0;
  margin-bottom:24px;
}
h2 {
  font-size:clamp(30px,4vw,48px);
  line-height:1;
  letter-spacing:0;
  margin-bottom:16px;
}
h3 { font-size:18px; line-height:1.25; margin-bottom:10px; }
.hero-text,
.section-heading p,
.services-grid p,
.platform-steps span,
.team-grid p,
address {
  color:var(--muted);
}
.hero-text {
  max-width:650px;
  font-size:18px;
}

.hero-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px;
}
.btn {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:6px;
  font-weight:900;
  border:1px solid transparent;
  cursor:pointer;
}
.btn.primary {
  background:var(--accent);
  border-color:var(--accent);
  color:#032e10;
}
.btn.ghost {
  border-color:var(--border-2);
  color:var(--text);
}

.hero-panel {
  border:1px solid var(--border-2);
  background:linear-gradient(180deg, rgba(12,28,21,.96), rgba(4,14,8,.96));
  border-radius:8px;
  padding:18px;
  box-shadow:0 24px 80px rgba(0,0,0,.44);
}
.signal-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.signal-grid div,
.pulse-card,
.services-grid article,
.platform-steps div,
.team-grid article,
.contact-form {
  border:1px solid var(--border);
  background:rgba(8,20,16,.86);
  border-radius:8px;
}
.signal-grid div {
  padding:18px;
  min-height:116px;
}
.signal-grid strong,
.platform-steps strong {
  display:block;
  font-size:22px;
  margin-bottom:6px;
}
.signal-grid span { color:var(--muted); font-size:13px; }
.pulse-card {
  margin-top:12px;
  padding:18px;
  display:flex;
  align-items:center;
  gap:14px;
}
.pulse-card strong,
.pulse-card span { display:block; }
.pulse-card span:not(.pulse) { color:var(--muted); font-size:13px; }
.pulse {
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 10px rgba(0,224,64,.12);
  flex:0 0 auto;
  position:relative;
  animation:status-blink 1.4s ease-in-out infinite;
}

.pulse::after {
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:50%;
  border:1px solid rgba(0,224,64,.42);
  animation:status-ring 1.4s ease-out infinite;
}

@keyframes status-blink {
  0%, 100% {
    transform:scale(1);
    box-shadow:0 0 0 10px rgba(0,224,64,.12), 0 0 18px rgba(0,224,64,.35);
  }
  50% {
    transform:scale(.78);
    box-shadow:0 0 0 5px rgba(0,224,64,.07), 0 0 8px rgba(0,224,64,.18);
  }
}

@keyframes status-ring {
  0% {
    opacity:.72;
    transform:scale(.78);
  }
  100% {
    opacity:0;
    transform:scale(1.55);
  }
}

.section-heading {
  max-width:760px;
  margin-bottom:28px;
}
.services-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}
.services-grid article {
  padding:22px;
  min-height:218px;
}
.services-grid span {
  display:block;
  color:var(--accent);
  font-weight:900;
  font-size:12px;
  margin-bottom:18px;
}

.platform-section {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:28px;
  align-items:start;
}
.platform-steps {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.platform-steps div { padding:20px; }

.team-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.team-grid article { padding:24px; }

.contact-section {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:32px;
  align-items:start;
}
address {
  margin-top:24px;
  font-style:normal;
}
.contact-form {
  padding:22px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
label {
  display:grid;
  gap:7px;
  color:#a7d2b9;
  font-size:12px;
  font-weight:800;
}
.full { grid-column:1 / -1; }
input,
textarea {
  width:100%;
  border:1px solid var(--border-2);
  background:#06120c;
  color:var(--text);
  border-radius:6px;
  outline:none;
}
input { min-height:42px; padding:0 12px; }
textarea {
  resize:vertical;
  min-height:132px;
  padding:12px;
}
input:focus,
textarea:focus {
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(0,224,64,.15);
}
.form-status {
  align-self:center;
  color:var(--muted);
  font-weight:800;
}
.form-status.ok { color:var(--accent); }
.form-status.error { color:var(--alarm); }

.site-footer {
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  padding:26px clamp(18px,4vw,56px);
  border-top:1px solid var(--border);
  color:var(--muted);
  font-size:13px;
}
.site-footer a { color:var(--text); font-weight:800; }

@media (max-width: 900px) {
  .site-header { align-items:flex-start; flex-direction:column; gap:12px; }
  .hero,
  .platform-section,
  .contact-section { grid-template-columns:1fr; }
  .hero { min-height:auto; padding-top:32px; padding-bottom:16px; }
  .services-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 620px) {
  .section { width:min(100% - 28px, 1160px); padding:40px 0; }
  .services-grid,
  .platform-steps,
  .team-grid,
  .contact-form,
  .signal-grid { grid-template-columns:1fr; }
  h1 { font-size:36px; }
  .hero-text { font-size:16px; }
  .hero { gap:24px; }
  nav a { font-size:12px; padding:0 8px; }
}

@media (max-width: 480px) {
  h1 { font-size:30px; line-height:1; }
  .hero { padding-top:20px; gap:20px; }
  .hero-actions { flex-direction:column; }
  .hero-actions .btn { width:100%; justify-content:center; }
  .brand { font-size:20px; gap:8px; }
  .brand-mark { width:28px; height:32px; }
  .section { padding:32px 0; }
  .signal-grid div { min-height:90px; padding:14px; }
  nav { gap:4px; }
}
