:root{
  --bg:#07111f;
  --bg-soft:#0f1d31;
  --text:#edf6ff;
  --muted:#a7b4c8;
  --line:rgba(255,255,255,.14);
  --accent:#74f7d1;
  --accent-2:#7aa7ff;
  --card:rgba(255,255,255,.08);
  --shadow:0 30px 90px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 15% 10%, rgba(116,247,209,.22), transparent 32%),
    radial-gradient(circle at 85% 12%, rgba(122,167,255,.20), transparent 34%),
    linear-gradient(180deg,#07111f 0%,#0a1424 46%,#f6f9fc 46%,#f6f9fc 100%);
  color:var(--text);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-header{
  position:fixed;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  width:min(1120px,calc(100% - 32px));
  z-index:30;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 16px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(7,17,31,.68);
  backdrop-filter:blur(18px);
  box-shadow:0 14px 40px rgba(0,0,0,.22);
}
.logo{display:flex;align-items:center;gap:10px;font-weight:800}
.logo-mark{
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#07111f;
  box-shadow:0 0 24px rgba(116,247,209,.35);
}
nav{display:flex;gap:6px}
nav a{
  padding:10px 14px;
  border-radius:999px;
  color:var(--muted);
  transition:.25s ease;
}
nav a:hover{background:rgba(255,255,255,.09);color:var(--text)}
.hero{
  position:relative;
  min-height:100vh;
  padding:150px max(24px,calc((100vw - 1120px)/2)) 90px;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:56px;
  align-items:center;
}
.hero-bg{
  position:absolute;
  width:360px;height:360px;border-radius:50%;
  filter:blur(18px);
  opacity:.35;
  animation:float 8s ease-in-out infinite;
}
.orb-one{background:var(--accent);left:-120px;top:180px}
.orb-two{background:var(--accent-2);right:-100px;bottom:120px;animation-delay:-3s}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:18px;
  padding:8px 12px;
  border:1px solid rgba(116,247,209,.34);
  border-radius:999px;
  color:#bfffee;
  background:rgba(116,247,209,.08);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
h1,h2,h3,p{margin-top:0}
h1{
  font-size:clamp(44px,7vw,82px);
  line-height:.94;
  letter-spacing:-.07em;
  margin-bottom:26px;
}
h2{
  font-size:clamp(32px,4.4vw,58px);
  line-height:1;
  letter-spacing:-.05em;
  margin-bottom:22px;
}
h3{font-size:22px;margin-bottom:12px}
p{color:var(--muted);font-size:17px}
.hero p{font-size:20px;max-width:660px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:999px;
  font-weight:800;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn:hover{transform:translateY(-3px)}
.primary{
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#06101d;
  box-shadow:0 18px 44px rgba(116,247,209,.22);
}
.secondary{
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
}
.hero-visual{
  position:relative;
  padding:20px;
  border:1px solid var(--line);
  border-radius:34px;
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
  box-shadow:var(--shadow);
  backdrop-filter:blur(12px);
}
.hero-visual img{animation:softPulse 5s ease-in-out infinite}
.floating-card{
  position:absolute;
  padding:16px 18px;
  width:170px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(7,17,31,.72);
  backdrop-filter:blur(12px);
  box-shadow:0 20px 50px rgba(0,0,0,.25);
  animation:float 6s ease-in-out infinite;
}
.floating-card strong{display:block;font-size:32px;color:var(--accent)}
.floating-card span{display:block;font-size:13px;color:var(--muted)}
.card-a{left:-30px;bottom:64px}
.card-b{right:-24px;top:70px;animation-delay:-2s}
.section{
  padding:110px max(24px,calc((100vw - 1120px)/2));
}
.split,.showcase{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:54px;
  align-items:center;
  color:#0a1424;
}
.split p,.showcase p,.impact p,.cta p{color:#526176}
.split .eyebrow,.showcase .eyebrow,.impact .eyebrow,.cta .eyebrow{
  color:#075f52;
  background:rgba(7,95,82,.08);
  border-color:rgba(7,95,82,.18);
}
.stats-grid{
  display:grid;
  gap:18px;
}
.stats-grid article{
  padding:28px;
  border-radius:28px;
  background:#fff;
  box-shadow:0 24px 70px rgba(21,35,59,.08);
  border:1px solid rgba(15,29,49,.08);
  transition:.35s ease;
}
.stats-grid article:hover{transform:translateY(-7px);box-shadow:0 30px 80px rgba(21,35,59,.13)}
.stats-grid span{
  color:#11a98b;
  font-weight:900;
}
.dark-panel{
  margin:0 max(18px,calc((100vw - 1180px)/2));
  padding-left:36px;
  padding-right:36px;
  border-radius:42px;
  background:
    radial-gradient(circle at 20% 10%,rgba(116,247,209,.16),transparent 28%),
    linear-gradient(135deg,#0b1628,#101e33);
  box-shadow:var(--shadow);
}
.section-title{text-align:center;max-width:780px;margin:0 auto 44px}
.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.glass-card{
  min-height:320px;
  padding:30px;
  border:1px solid var(--line);
  border-radius:30px;
  background:var(--card);
  backdrop-filter:blur(18px);
  transition:.35s ease;
}
.glass-card:hover{transform:translateY(-10px);background:rgba(255,255,255,.12)}
.icon{
  width:54px;height:54px;border-radius:18px;
  display:grid;place-items:center;
  margin-bottom:24px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#07111f;
  font-size:30px;
  font-weight:900;
}
.showcase-visual{
  padding:26px;
  background:#fff;
  border-radius:36px;
  box-shadow:0 30px 90px rgba(21,35,59,.12);
}
.check-list{padding:0;margin:28px 0 0;list-style:none}
.check-list li{
  position:relative;
  margin:12px 0;
  padding-left:32px;
  color:#28364b;
}
.check-list li:before{
  content:"";
  position:absolute;left:0;top:3px;
  width:20px;height:20px;border-radius:50%;
  background:linear-gradient(135deg,#11d7a8,#7aa7ff);
}
.impact{color:#0a1424}
.impact-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.impact-row div{
  padding:34px;
  background:#fff;
  border-radius:30px;
  box-shadow:0 24px 70px rgba(21,35,59,.08);
}
.impact-row strong{font-size:28px}
.cta{
  margin:0 max(24px,calc((100vw - 1120px)/2)) 80px;
  padding:44px;
  border-radius:36px;
  background:linear-gradient(135deg,#07111f,#17263e);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  box-shadow:var(--shadow);
}
.cta h2{max-width:680px}
footer{
  padding:36px max(24px,calc((100vw - 1120px)/2));
  background:#07111f;
  color:var(--text);
  display:flex;
  justify-content:space-between;
  gap:24px;
}
footer p{margin:6px 0 0;font-size:14px}
.footer-links{display:flex;gap:18px;color:var(--muted);font-size:14px}
.reveal{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .8s ease, transform .8s ease;
}
.reveal.visible{opacity:1;transform:translateY(0)}
.delay-1{transition-delay:.14s}
.delay-2{transition-delay:.28s}
.cursor-glow{
  position:fixed;
  width:260px;height:260px;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(116,247,209,.16),transparent 65%);
  transform:translate(-50%,-50%);
  z-index:1;
  mix-blend-mode:screen;
}
@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-18px)}
}
@keyframes softPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.025)}
}
@media(max-width:900px){
  nav{display:none}
  .hero,.split,.showcase{grid-template-columns:1fr}
  .cards,.impact-row{grid-template-columns:1fr}
  .hero{padding-top:130px}
  .cta,footer{flex-direction:column;align-items:flex-start}
  .floating-card{position:static;margin-top:14px;width:100%}
  .dark-panel{border-radius:28px;padding-left:22px;padding-right:22px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* =========================
   Mobile UX fixes
   ========================= */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

@media (max-width: 900px) {
  body {
    background:
      radial-gradient(circle at 20% 4%, rgba(116,247,209,.18), transparent 30%),
      radial-gradient(circle at 90% 10%, rgba(122,167,255,.14), transparent 32%),
      linear-gradient(180deg,#07111f 0%,#0a1424 42%,#f6f9fc 42%,#f6f9fc 100%);
  }

  .cursor-glow {
    display: none;
  }

  .site-header {
    top: 10px;
    width: calc(100% - 24px);
    padding: 10px 12px;
    border-radius: 22px;
  }

  .logo {
    font-size: 15px;
  }

  .logo-mark {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }

  nav {
    display: none;
  }

  .hero {
    min-height: auto;
    padding: 112px 18px 64px;
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .hero-content {
    text-align: left;
  }

  .eyebrow {
    max-width: 100%;
    white-space: normal;
    line-height: 1.35;
    font-size: 11px;
    padding: 7px 10px;
  }

  h1 {
    font-size: clamp(38px, 13vw, 56px);
    line-height: .98;
    letter-spacing: -.055em;
    margin-bottom: 20px;
  }

  h2 {
    font-size: clamp(30px, 9.5vw, 44px);
    line-height: 1.04;
    letter-spacing: -.045em;
  }

  h3 {
    font-size: 20px;
  }

  p,
  .hero p {
    font-size: 16px;
    line-height: 1.65;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 26px;
  }

  .btn {
    width: 100%;
    min-height: 50px;
    padding: 0 18px;
  }

  .hero-visual {
    padding: 12px;
    border-radius: 26px;
    overflow: hidden;
  }

  .hero-visual img {
    width: 100%;
    border-radius: 20px;
  }

  .floating-card {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: 100%;
    margin: 12px 0 0;
    border-radius: 18px;
    animation: none;
  }

  .floating-card strong {
    font-size: 26px;
  }

  .section {
    padding: 72px 18px;
  }

  .split,
  .showcase {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .stats-grid {
    gap: 14px;
  }

  .stats-grid article,
  .impact-row div,
  .glass-card {
    padding: 22px;
    border-radius: 24px;
  }

  .dark-panel {
    margin: 0 12px;
    padding: 64px 16px;
    border-radius: 30px;
  }

  .section-title {
    text-align: left;
    margin-bottom: 28px;
  }

  .cards,
  .impact-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .glass-card {
    min-height: auto;
  }

  .icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    font-size: 26px;
    margin-bottom: 18px;
  }

  .showcase-visual {
    padding: 12px;
    border-radius: 26px;
  }

  .showcase-visual img {
    border-radius: 20px;
  }

  .check-list li {
    padding-left: 30px;
    line-height: 1.55;
  }

  .cta {
    margin: 0 18px 56px;
    padding: 28px 22px;
    border-radius: 28px;
    flex-direction: column;
    align-items: stretch;
  }

  .cta .btn {
    width: 100%;
  }

  footer {
    padding: 28px 18px;
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-links {
    flex-wrap: wrap;
    gap: 12px 16px;
  }

  .orb-one {
    left: -220px;
    top: 110px;
  }

  .orb-two {
    right: -230px;
    bottom: auto;
    top: 420px;
  }
}

@media (max-width: 480px) {
  .site-header {
    width: calc(100% - 18px);
  }

  .hero {
    padding-left: 14px;
    padding-right: 14px;
  }

  h1 {
    font-size: clamp(34px, 12.5vw, 48px);
  }

  .section {
    padding-left: 14px;
    padding-right: 14px;
  }

  .dark-panel {
    margin-left: 8px;
    margin-right: 8px;
    padding-left: 14px;
    padding-right: 14px;
  }

  .cta {
    margin-left: 14px;
    margin-right: 14px;
  }
}


.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:9999;background:#fff;padding:16px;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.15);display:none;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.cookie-banner.show{display:flex}
.cookie-actions{display:flex;gap:10px}
.cookie-btn{border:0;padding:10px 16px;border-radius:999px;cursor:pointer}
.cookie-accept{background:#111;color:#fff}
.cookie-close{background:#eee}
