:root {
  --bg: #05070d;
  --bg-soft: #0a0f1d;
  --card: rgba(13, 20, 36, 0.82);
  --card-solid: #0e1628;
  --text: #f5f7fb;
  --muted: #a9b3c7;
  --line: rgba(148, 163, 184, 0.18);
  --cyan: #10c9ff;
  --blue: #2689ff;
  --purple: #864bff;
  --gradient: linear-gradient(135deg, var(--cyan), var(--blue) 48%, var(--purple));
  --shadow: 0 24px 80px rgba(0, 0, 0, 0.34);
  --radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.section { padding: 112px 0; position: relative; }
.page-glow { position: fixed; width: 520px; height: 520px; border-radius: 50%; filter: blur(140px); opacity: .12; pointer-events: none; z-index: -1; }
.glow-one { background: #0fbfff; top: -180px; left: -200px; }
.glow-two { background: #7b42ff; right: -240px; top: 38%; }

.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  background: rgba(5,7,13,.72); border-bottom: 1px solid transparent;
  backdrop-filter: blur(18px); transition: .25s ease;
}
.site-header.scrolled { border-color: var(--line); background: rgba(5,7,13,.9); }
.nav-wrap { min-height: 78px; display: flex; align-items: center; gap: 34px; }
.brand img { width: 138px; height: 58px; object-fit: contain; object-position: left center; }
.main-nav { display: flex; gap: 26px; margin-left: auto; }
.main-nav a { font-size: 14px; color: #c5cee0; transition: .2s; }
.main-nav a:hover { color: white; }
.menu-toggle { display: none; margin-left: auto; border: 0; background: transparent; color: white; font-size: 24px; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 13px; padding: 15px 21px; font-weight: 700; border: 1px solid transparent; transition: .22s ease; cursor: pointer; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: white; background: var(--gradient); box-shadow: 0 12px 34px rgba(38,137,255,.24); }
.btn-primary:hover { box-shadow: 0 16px 38px rgba(38,137,255,.36); }
.btn-outline { border-color: rgba(16,201,255,.45); color: #dff8ff; background: rgba(16,201,255,.05); }
.btn-ghost { border-color: var(--line); color: #e7ebf5; background: rgba(255,255,255,.03); }
.btn-small { padding: 11px 16px; font-size: 14px; }

.hero { min-height: 840px; display: flex; align-items: center; padding-top: 140px; overflow: hidden; }
.hero::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 70% 30%, rgba(21,152,255,.12), transparent 40%), linear-gradient(180deg, rgba(5,7,13,.2), var(--bg)); pointer-events:none; }
.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 64px; position: relative; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; font-size: 12px; color: #8edfff; }
.eyebrow span { width: 28px; height: 2px; background: var(--gradient); border-radius: 2px; }
.hero h1, .section h2 { font-family: "Space Grotesk", sans-serif; line-height: 1.06; letter-spacing: -.035em; }
.hero h1 { font-size: clamp(48px, 6vw, 76px); margin: 20px 0 24px; font-weight: 600; }
.hero h1 strong { font-weight: 700; background: var(--gradient); -webkit-background-clip: text; color: transparent; }
.hero-text { color: var(--muted); font-size: 18px; max-width: 650px; }
.hero-actions { display: flex; gap: 14px; margin-top: 34px; flex-wrap: wrap; }
.hero-proof { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 44px; }
.hero-proof div { padding-left: 14px; border-left: 1px solid rgba(16,201,255,.35); }
.hero-proof strong, .hero-proof span { display:block; }
.hero-proof strong { font-size: 15px; }
.hero-proof span { color: #7f8aa1; font-size: 12px; margin-top: 3px; }
.hero-visual { position: relative; }
.hero-image-card { border-radius: 32px; overflow: hidden; border: 1px solid rgba(120,180,255,.25); box-shadow: var(--shadow); transform: perspective(1200px) rotateY(-3deg); }
.hero-image-card img { width: 100%; height: 590px; object-fit: cover; }
.image-overlay { position:absolute; inset:0; background: linear-gradient(180deg, transparent 55%, rgba(5,7,13,.65)); }
.floating-card { position:absolute; display:flex; align-items:center; gap:12px; min-width:220px; padding:14px 16px; border-radius:16px; background:rgba(8,15,29,.83); border:1px solid rgba(80,183,255,.32); backdrop-filter: blur(14px); box-shadow:0 18px 40px rgba(0,0,0,.3); }
.floating-card strong, .floating-card small { display:block; }
.floating-card strong { font-size:13px; }
.floating-card small { font-size:11px; color:#8b98ae; }
.card-top { top: 54px; left: -45px; }
.card-bottom { bottom: 54px; right: -34px; }
.floating-card .icon { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:rgba(16,201,255,.14); color:var(--cyan); }
.status-dot { width:12px; height:12px; border-radius:50%; background:#35f2a4; box-shadow:0 0 18px #35f2a4; }

.trust-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.018); }
.trust-content { min-height:72px; display:grid; place-items:center; text-align:center; }
.trust-content p { margin:0; color:#748096; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.section-heading { max-width: 740px; margin-bottom: 54px; }
.section-heading.center { text-align:center; margin-left:auto; margin-right:auto; }
.section h2 { font-size: clamp(36px, 4.4vw, 56px); margin: 16px 0 18px; }
.section-heading p, .content-block > p { color: var(--muted); font-size: 17px; }

.problems { background: linear-gradient(180deg, var(--bg), #070b14); }
.problem-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.problem-card { min-height:300px; padding:28px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); transition:.25s; }
.problem-card:hover { transform:translateY(-6px); border-color:rgba(16,201,255,.35); }
.problem-number { font-family:"Space Grotesk"; color:#4dd7ff; font-size:13px; margin-bottom:60px; }
.problem-card h3 { font-size:20px; line-height:1.3; }
.problem-card p { color:#8f9aaf; font-size:14px; }

.split-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:72px; }
.split-grid.reverse .image-frame { order:2; }
.image-frame { border-radius:28px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); }
.image-frame img { width:100%; min-height:540px; object-fit:cover; }
.content-block h2 { margin:18px 0; }
.check-list { list-style:none; padding:0; margin:28px 0; display:grid; gap:15px; }
.check-list li { color:#dfe5f0; }
.check-list span { display:inline-grid; place-items:center; width:24px; height:24px; margin-right:10px; border-radius:50%; color:#07111a; background:var(--cyan); font-weight:900; }
.text-link { color:#70dcff; font-weight:700; }

.solutions { background:#070b14; }
.solutions-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.solution-card { position:relative; padding:30px; min-height:380px; border-radius:22px; background:var(--card-solid); border:1px solid var(--line); transition:.25s; overflow:hidden; }
.solution-card::after { content:""; position:absolute; inset:auto -50px -80px auto; width:170px; height:170px; border-radius:50%; background:var(--purple); filter:blur(90px); opacity:.08; }
.solution-card:hover { border-color:rgba(89,174,255,.44); transform:translateY(-5px); }
.solution-card.featured { background:linear-gradient(145deg,rgba(16,201,255,.12),rgba(134,75,255,.11)),var(--card-solid); border-color:rgba(16,201,255,.35); }
.solution-icon { width:52px; height:52px; display:grid; place-items:center; border-radius:14px; background:rgba(16,201,255,.1); color:var(--cyan); font-size:24px; margin-bottom:48px; }
.solution-card h3 { font-size:21px; }
.solution-card p, .solution-card li { color:#909caf; font-size:14px; }
.solution-card ul { padding-left:18px; }
.tag { position:absolute; top:28px; right:28px; padding:5px 9px; border-radius:999px; background:rgba(53,242,164,.1); color:#65f3b5; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }

.showcase-grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:60px; }
.showcase-image { border-radius:30px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); }
.showcase-image img { min-height:560px; object-fit:cover; }
.before-after { display:grid; gap:14px; margin-top:34px; }
.state-card { padding:22px 24px; border-radius:18px; border:1px solid var(--line); }
.state-card span { font-size:10px; font-weight:800; letter-spacing:.15em; }
.state-card h3 { margin:7px 0; }
.state-card p { margin:0; color:#929eb2; font-size:14px; }
.before { background:rgba(244,91,105,.04); }
.before span { color:#ff7f8a; }
.after { background:rgba(53,242,164,.05); border-color:rgba(53,242,164,.18); }
.after span { color:#5df0b0; }

.method { background:#070b14; }
.timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; }
.timeline::before { content:""; position:absolute; top:29px; left:10%; right:10%; height:1px; background:linear-gradient(90deg,var(--cyan),var(--purple)); opacity:.35; }
.timeline-item { position:relative; padding:0 18px; text-align:center; }
.timeline-item > span { position:relative; z-index:1; display:grid; place-items:center; width:58px; height:58px; margin:0 auto 28px; border-radius:50%; background:#0a1323; border:1px solid rgba(16,201,255,.5); color:#77ddff; font-weight:800; box-shadow:0 0 30px rgba(16,201,255,.12); }
.timeline-item p { color:#8f9aaf; font-size:14px; }

.metric-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:32px; }
.metric-cards div { padding:18px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.025); }
.metric-cards strong, .metric-cards span { display:block; }
.metric-cards strong { color:#72dcff; font-size:22px; }
.metric-cards span { color:#8995a9; font-size:12px; }

.cta-section { background: radial-gradient(circle at 15% 20%, rgba(16,201,255,.18), transparent 30%), radial-gradient(circle at 85% 80%, rgba(134,75,255,.19), transparent 32%), #08101f; border-top:1px solid var(--line); }
.cta-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; }
.eyebrow.light { color:#b8eaff; }
.cta-copy h2 { font-size:clamp(40px,5vw,62px); }
.cta-copy p { color:#afbbcc; font-size:17px; }
.cta-benefits { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.cta-benefits span { padding:8px 12px; border-radius:999px; border:1px solid rgba(255,255,255,.13); color:#dbe5f2; font-size:12px; }
.meeting-form { padding:34px; border-radius:24px; background:rgba(7,12,23,.84); border:1px solid rgba(121,177,255,.22); box-shadow:var(--shadow); backdrop-filter:blur(16px); }
.form-title h3 { margin:0; font-size:26px; }
.form-title p { margin:4px 0 22px; color:#8895aa; font-size:14px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.meeting-form label { display:grid; gap:7px; margin-bottom:14px; color:#cdd5e2; font-size:12px; font-weight:600; }
.meeting-form input, .meeting-form select, .meeting-form textarea { width:100%; border:1px solid rgba(148,163,184,.2); border-radius:11px; padding:13px 14px; background:#0a1221; color:white; outline:none; transition:.2s; }
.meeting-form input:focus, .meeting-form select:focus, .meeting-form textarea:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(16,201,255,.08); }
.meeting-form input::placeholder, .meeting-form textarea::placeholder { color:#58647a; }
.consent { grid-template-columns:auto 1fr!important; align-items:start; font-weight:400!important; color:#8e9aaf!important; }
.consent input { width:17px; height:17px; padding:0; margin-top:2px; }
.submit-btn { width:100%; border:0; }
.privacy-note { text-align:center; color:#647085; font-size:11px; margin:10px 0 0; }
.form-success { display:none; margin-top:14px; padding:12px; border-radius:10px; background:rgba(53,242,164,.1); color:#75efbc; font-size:13px; text-align:center; }

.site-footer { padding:66px 0 22px; background:#04060b; }
.footer-grid { display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:48px; }
.footer-brand img { width:155px; height:78px; object-fit:contain; object-position:left; }
.footer-brand p { color:#7f8a9f; max-width:320px; font-size:14px; }
.footer-grid h4 { font-size:13px; text-transform:uppercase; letter-spacing:.1em; color:#dce4f0; }
.footer-grid a, .footer-grid div > span { display:block; color:#788499; font-size:13px; margin:9px 0; }
.footer-bottom { display:flex; justify-content:space-between; padding-top:28px; margin-top:40px; border-top:1px solid var(--line); color:#586276; font-size:12px; }
.floating-cta { display:none; position:fixed; z-index:40; left:16px; right:16px; bottom:14px; padding:14px; border-radius:13px; text-align:center; font-weight:800; background:var(--gradient); box-shadow:0 12px 35px rgba(0,0,0,.35); }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.1s; }.delay-2 { transition-delay:.2s; }.delay-3 { transition-delay:.3s; }

@media (max-width: 1000px) {
  .main-nav, .site-header .btn-small { display:none; }
  .menu-toggle { display:block; }
  .main-nav.open { display:flex; position:absolute; top:78px; left:20px; right:20px; padding:18px; flex-direction:column; background:#0a1020; border:1px solid var(--line); border-radius:16px; }
  .hero-grid, .split-grid, .showcase-grid, .cta-grid { grid-template-columns:1fr; }
  .hero { padding-top:130px; }
  .hero-copy { text-align:center; }
  .hero-text { margin-left:auto; margin-right:auto; }
  .hero-actions { justify-content:center; }
  .hero-visual { max-width:720px; margin:10px auto 0; }
  .problem-grid, .timeline { grid-template-columns:repeat(2,1fr); }
  .solutions-grid { grid-template-columns:repeat(2,1fr); }
  .split-grid.reverse .image-frame { order:0; }
  .cta-grid { gap:40px; }
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .footer-grid > div:last-child { display:none; }
}

@media (max-width: 680px) {
  .container { width:min(100% - 28px,1180px); }
  .section { padding:82px 0; }
  .hero { min-height:auto; padding-bottom:76px; }
  .hero h1 { font-size:43px; }
  .hero-proof { grid-template-columns:1fr; text-align:left; }
  .hero-image-card img { height:420px; }
  .floating-card { min-width:185px; padding:11px; }
  .card-top { left:8px; top:18px; }.card-bottom { right:8px; bottom:18px; }
  .problem-grid, .solutions-grid, .timeline { grid-template-columns:1fr; }
  .timeline::before { display:none; }
  .problem-card { min-height:auto; }
  .problem-number { margin-bottom:34px; }
  .form-row, .metric-cards { grid-template-columns:1fr; }
  .meeting-form { padding:24px 18px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
  .footer-bottom { flex-direction:column; gap:8px; padding-bottom:74px; }
  .floating-cta { display:block; }
}
