:root{
  --navy:#090821;
  --deep:#120f35;
  --purple:#7c2cff;
  --violet:#b035ff;
  --orange:#ff6a00;
  --pink:#ef4bb8;
  --text:#12152f;
  --muted:#6b7280;
  --white:#ffffff;
  --soft:#f7f4ff;
  --border:#ece8f5;
  --shadow:0 20px 60px rgba(18,15,53,.12);
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:Inter, Arial, Helvetica, sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.6;
}

a{
  color:inherit;
  text-decoration:none;
}

.site-header{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:28px 6%;
  color:#fff;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:24px;
  font-weight:900;
  letter-spacing:-.04em;
}

.brand span span{
  color:var(--orange);
}

.brand-mark{
  width:38px;
  height:38px;
  border-radius:50%;
  display:inline-block;
  border:4px solid var(--orange);
  position:relative;
  box-shadow:0 0 0 3px rgba(124,44,255,.55), inset 0 0 0 3px rgba(255,255,255,.15);
}

.brand-mark:before,
.brand-mark:after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:50%;
  border:2px solid rgba(176,53,255,.8);
  transform:rotate(35deg) scaleX(1.2);
}

.brand-mark:after{
  border-color:rgba(255,106,0,.8);
  transform:rotate(-25deg) scaleX(1.18);
}

.nav{
  display:flex;
  gap:36px;
  font-weight:700;
  font-size:15px;
}

.nav a{
  opacity:.85;
}

.nav a:hover{
  opacity:1;
  color:var(--orange);
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  cursor:pointer;
  color:#fff;
  font-weight:900;
  border-radius:14px;
  padding:16px 28px;
  background:linear-gradient(110deg,var(--purple),var(--pink),var(--orange));
  box-shadow:0 14px 28px rgba(124,44,255,.28);
}

.btn-small{
  padding:13px 22px;
}

.hero{
  min-height:720px;
  padding:140px 6% 80px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
  color:#fff;
  background:
    radial-gradient(circle at 80% 30%, rgba(124,44,255,.55), transparent 30%),
    radial-gradient(circle at 15% 20%, rgba(255,106,0,.16), transparent 25%),
    linear-gradient(135deg,#07061b 0%, #111037 55%, #07061b 100%);
  overflow:hidden;
}

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

.hero h1{
  font-size:clamp(52px,7vw,92px);
  line-height:.96;
  letter-spacing:-.07em;
  margin-bottom:26px;
}

.hero h1 span,
.section h2 span,
.dark-band h2 span,
.contact-copy h2 span{
  background:linear-gradient(100deg,var(--orange),var(--pink),var(--purple));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.hero-text{
  max-width:560px;
  font-size:20px;
  color:#e6e3ff;
  margin-bottom:34px;
}

.hero-actions{
  display:flex;
  gap:26px;
  align-items:center;
  margin-bottom:30px;
}

.text-link{
  color:#fff;
  font-weight:900;
  opacity:.9;
}

.checks{
  display:flex;
  flex-wrap:wrap;
  gap:18px 26px;
  color:#efeaff;
  font-weight:800;
}

.checks span:before{
  content:"✓";
  color:var(--orange);
  margin-right:8px;
}

.hero-visual{
  min-height:470px;
  position:relative;
}

.globe{
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  right:8%;
  top:10%;
  background:
    radial-gradient(circle at center, rgba(124,44,255,.16), rgba(124,44,255,.04) 48%, transparent 50%),
    repeating-radial-gradient(circle, rgba(255,255,255,.12) 0 1px, transparent 1px 13px);
  box-shadow:inset 0 0 90px rgba(124,44,255,.25), 0 0 120px rgba(124,44,255,.25);
}

.orbit{
  position:absolute;
  width:560px;
  height:160px;
  border:2px solid rgba(255,106,0,.75);
  border-radius:50%;
  left:-70px;
  top:130px;
  transform:rotate(-18deg);
}

.orbit-two{
  border-color:rgba(124,44,255,.85);
  transform:rotate(18deg);
}

.pin{
  position:absolute;
  width:120px;
  height:120px;
  left:150px;
  top:150px;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  background:linear-gradient(135deg,var(--orange),var(--purple));
  box-shadow:0 0 70px rgba(255,106,0,.45);
}

.pin:after{
  content:"";
  position:absolute;
  width:54px;
  height:54px;
  border-radius:50%;
  background:var(--navy);
  left:33px;
  top:33px;
}

.floating-card{
  position:absolute;
  padding:16px 22px;
  border-radius:16px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(18px);
  box-shadow:0 20px 50px rgba(0,0,0,.22);
  font-weight:900;
}

.card-one{top:55px;left:5%;}
.card-two{top:110px;right:0;}
.card-three{bottom:120px;left:0;}
.card-four{bottom:55px;right:2%;}

.section{
  padding:90px 6%;
}

.section-top{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:end;
  margin-bottom:42px;
}

h2{
  font-size:clamp(34px,4vw,52px);
  line-height:1.05;
  letter-spacing:-.05em;
}

.section-top p:last-child{
  color:var(--muted);
  max-width:560px;
  font-size:18px;
}

.service-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:22px;
}

.service-card{
  padding:34px 26px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
  transition:.25s ease;
}

.service-card:hover{
  transform:translateY(-8px);
}

.icon{
  width:54px;
  height:54px;
  border-radius:16px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  font-size:30px;
  color:var(--orange);
  background:linear-gradient(135deg,rgba(255,106,0,.14),rgba(124,44,255,.10));
}

.service-card h3{
  font-size:18px;
  line-height:1.22;
  margin-bottom:14px;
}

.service-card p{
  color:var(--muted);
  font-size:15px;
}

.dark-band{
  padding:90px 6%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  color:#fff;
  background:
    radial-gradient(circle at 75% 40%, rgba(255,106,0,.18), transparent 26%),
    linear-gradient(135deg,#07061b,#111037);
}

.dark-content p:not(.eyebrow){
  color:#d9d5ff;
  max-width:540px;
  margin-top:18px;
}

.stats{
  display:flex;
  gap:36px;
  margin-top:44px;
}

.stats strong{
  display:block;
  font-size:42px;
  line-height:1;
}

.stats span{
  color:#d9d5ff;
  font-size:14px;
}

.map-card{
  min-height:330px;
  border-radius:30px;
  background:
    radial-gradient(circle at center, rgba(255,106,0,.25), transparent 30%),
    linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.14);
  position:relative;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}

.map-pin{
  position:absolute;
  font-size:90px;
  color:var(--orange);
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  text-shadow:0 0 45px rgba(255,106,0,.7);
}

.review{
  position:absolute;
  max-width:240px;
  padding:18px;
  border-radius:16px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(16px);
  font-size:14px;
}

.review-one{left:35px;top:35px;}
.review-two{right:35px;bottom:35px;}

.how-section{
  background:#fff;
}

.steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:36px;
}

.steps div{
  padding:32px;
  border-radius:22px;
  background:var(--soft);
}

.steps span{
  color:var(--purple);
  font-weight:900;
  font-size:14px;
}

.steps h3{
  margin:10px 0;
  font-size:24px;
}

.steps p{
  color:var(--muted);
}

.contact-section{
  padding:90px 6%;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:60px;
  align-items:center;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,106,0,.16), transparent 30%),
    radial-gradient(circle at 75% 30%, rgba(124,44,255,.18), transparent 30%),
    #fbf8ff;
  border-radius:60px 60px 0 0;
}

.contact-copy p{
  color:var(--muted);
  margin:20px 0;
  font-size:18px;
}

.contact-copy ul{
  list-style:none;
  display:grid;
  gap:12px;
  margin-top:28px;
  font-weight:800;
}

.contact-copy li:before{
  content:"✓";
  color:var(--purple);
  margin-right:10px;
}

.contact-form{
  background:#fff;
  padding:32px;
  border-radius:22px;
  box-shadow:var(--shadow);
  display:grid;
  gap:16px;
  border:1px solid var(--border);
}

.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

input,
select,
textarea{
  width:100%;
  border:1px solid #e6e1ef;
  border-radius:12px;
  padding:15px 16px;
  font:inherit;
  outline:none;
}

textarea{
  min-height:120px;
  resize:vertical;
}

input:focus,
select:focus,
textarea:focus{
  border-color:var(--purple);
  box-shadow:0 0 0 4px rgba(124,44,255,.1);
}

.contact-form small{
  text-align:center;
  color:var(--muted);
}

.footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:34px 6%;
  background:#07061b;
  color:#fff;
}

.footer p{
  color:#c9c5ed;
}

@media(max-width:1050px){
  .hero,
  .dark-band,
  .contact-section,
  .section-top{
    grid-template-columns:1fr;
  }

  .service-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .hero-visual{
    display:none;
  }

  .site-header{
    position:relative;
    background:#07061b;
  }
}

@media(max-width:760px){
  .nav{
    display:none;
  }

  .site-header{
    padding:18px 5%;
  }

  .btn-small{
    display:none;
  }

  .hero{
    min-height:auto;
    padding:70px 5%;
  }

  .hero-actions,
  .checks,
  .stats{
    flex-direction:column;
    align-items:flex-start;
  }

  .section,
  .dark-band,
  .contact-section{
    padding:62px 5%;
  }

  .service-grid,
  .steps,
  .form-row{
    grid-template-columns:1fr;
  }

  .contact-section{
    border-radius:34px 34px 0 0;
  }

  .footer{
    flex-direction:column;
    gap:18px;
    text-align:center;
  }
}
