:root {
  --bg:#061426;
  --bg2:#0a1e37;
  --text:#f5f9ff;
  --muted:#9aadc6;
  --orange:#ff913d;
  --line:rgba(154,191,238,.13);
}
* {box-sizing:border-box}
html {scroll-behavior:smooth}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a {color:inherit;text-decoration:none}
button {font:inherit}
.header {
  position:relative;
  z-index:20;
  border-bottom:1px solid var(--line);
  background:rgba(5,18,35,.96);
}
.header-inner {
  max-width:1320px;
  min-height:82px;
  margin:auto;
  padding:12px 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.logo img {display:block;width:166px;height:auto}
.navigation {display:flex;align-items:center;gap:25px}
.navigation a {
  font-size:13px;
  color:#c3d1e3;
  transition:color .2s;
}
.navigation a:hover {color:white}
.login {
  white-space:nowrap;
  font-size:13px;
  font-weight:700;
  padding:12px 19px;
  border:1px solid rgba(255,145,61,.5);
  border-radius:9px;
}
.login span {color:var(--orange);margin-left:8px}
.menu-button {display:none}
.hero {
  max-width:1440px;
  min-height:620px;
  margin:auto;
  padding:95px 7% 80px;
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:40px;
  overflow:hidden;
}
.hero-glow {
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 77% 45%,rgba(19,104,197,.30),transparent 43%),
    radial-gradient(ellipse at 20% 80%,rgba(10,64,125,.20),transparent 52%);
}
.hero-content,.hero-visual {position:relative;z-index:1}
.eyebrow,.section-kicker {
  color:#ffac70;
  font-size:11px;
  font-weight:800;
  letter-spacing:2px;
}
.eyebrow {display:flex;align-items:center;gap:10px}
.eyebrow span,.status-dot {
  display:inline-block;
  width:7px;height:7px;
  border-radius:50%;
  background:#ff9948;
  box-shadow:0 0 15px #ff9948;
}
h1 {
  font-size:clamp(43px,4.3vw,70px);
  line-height:1.12;
  letter-spacing:-2.6px;
  margin:24px 0;
}
h1 em,h2 em {
  font-style:normal;
  color:var(--orange);
}
.hero-description {
  max-width:510px;
  color:#b5c6da;
  font-size:16px;
  line-height:1.9;
}
.hero-actions {display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:45px;
  padding:12px 19px;
  border-radius:8px;
  font-size:12px;
  font-weight:800;
}
.btn-orange {
  background:linear-gradient(135deg,#ffac59,#ff7833);
  color:#101b2b;
  box-shadow:0 8px 28px rgba(255,119,42,.20);
}
.btn-outline {border:1px solid #48627e;color:#e4ecf7}
.hero-visual {
  min-height:420px;
  display:grid;
  place-items:center;
}
.hero-visual img {
  width:min(100%,570px);
  position:relative;
  z-index:2;
  border-radius:24px;
  filter:drop-shadow(0 30px 55px rgba(0,0,0,.35));
}
.visual-ring {
  position:absolute;
  width:490px;height:490px;
  max-width:100%;
  border:1px solid rgba(51,156,255,.23);
  border-radius:50%;
}
.ring-two {width:390px;height:390px;border-color:rgba(255,151,66,.13)}
.visual-caption {
  position:absolute;
  z-index:3;
  bottom:8px;
  padding:12px 17px;
  border:1px solid rgba(127,174,221,.25);
  border-radius:10px;
  background:rgba(9,29,52,.9);
  color:#c5d8ed;
  font-size:11px;
  display:flex;
  align-items:center;
  gap:10px;
}
.services {
  padding:80px 6% 100px;
  background:linear-gradient(180deg,#071629,#0a1c33);
}
.section-heading {text-align:center;max-width:760px;margin:0 auto 45px}
h2 {
  font-size:clamp(29px,3vw,44px);
  letter-spacing:-1.2px;
  line-height:1.2;
}
.section-heading p,.feature-content p,.contact p {
  color:var(--muted);
  line-height:1.85;
}
.services-grid {
  max-width:1240px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.service-card {
  min-height:270px;
  padding:25px;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(150deg,rgba(24,52,85,.8),rgba(9,27,49,.95));
  transition:transform .2s,border-color .2s;
}
.service-card:hover {transform:translateY(-5px);border-color:rgba(255,255,255,.3)}
.service-icon {
  width:45px;height:45px;
  display:grid;place-items:center;
  border-radius:11px;
  background:rgba(46,141,255,.13);
  color:#55b7ff;
  font-size:25px;
}
.service-card.orange .service-icon {color:#ffab60;background:rgba(255,151,59,.13)}
.service-card.cyan .service-icon {color:#52e0f1;background:rgba(53,209,237,.12)}
.service-card.green .service-icon {color:#55dfb6;background:rgba(55,220,162,.12)}
.service-number {
  margin-top:24px;
  color:#8aa5c4;
  font-size:10px;
  letter-spacing:1px;
}
.service-card h3 {font-size:19px;margin:10px 0}
.service-card p {font-size:13px;color:#aabdd4;line-height:1.75}
.service-card a {
  margin-top:auto;
  padding-top:18px;
  font-size:12px;
  font-weight:800;
  color:#ffab6c;
}
.service-card a span {margin-left:8px}
.feature {
  max-width:1250px;
  margin:auto;
  padding:100px 30px;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  align-items:center;
  justify-items:center;
  text-align:center;
}
.feature-visual img {width:100%;border-radius:18px}
.feature-content {
  width:100%;
  max-width:740px;
  margin-inline:auto;
}
.feature-content h2 {
  max-width:700px;
  margin-inline:auto;
}
.feature-content p {
  max-width:620px;
  margin:0 auto 27px;
}
.contact {
  padding:90px 24px;
  text-align:center;
  background:radial-gradient(ellipse at center,#123963,#071629 70%);
}
.contact h2 {margin:20px 0}
.contact .btn {margin-top:20px}
.footer {
  border-top:1px solid var(--line);
  padding:28px 7%;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#8297b1;
  font-size:12px;
}
@media(max-width:1050px) {
  .navigation {gap:12px}
  .navigation a {font-size:11px}
  .services-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px) {
  .header-inner {min-height:70px;padding:10px 20px}
  .logo img {width:140px}
  .menu-button {
    display:block;
    margin-left:auto;
    border:1px solid var(--line);
    border-radius:8px;
    padding:8px 12px;
    background:#102b48;
    color:white;
    cursor:pointer;
  }
  .navigation {
    display:none;
    position:absolute;
    left:12px;right:12px;top:70px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#0a2039;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .navigation.open {display:flex}
  .navigation a {padding:12px;font-size:14px}
  .login {font-size:11px;padding:9px}
  .hero {
    padding:65px 22px 55px;
    grid-template-columns:1fr;
    gap:20px;
    min-height:0;
  }
  h1 {font-size:clamp(37px,9vw,53px);letter-spacing:-1.6px}
  .hero-description {font-size:14px}
  .hero-visual {min-height:300px}
  .visual-ring {width:300px;height:300px}
  .ring-two {width:240px;height:240px}
  .visual-caption {bottom:0;font-size:10px}
  .services {padding:65px 20px}
  .services-grid {grid-template-columns:1fr}
  .service-card {min-height:230px}
  .feature {padding:65px 22px;grid-template-columns:1fr;gap:30px}
  .footer {flex-direction:column;text-align:center}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  .service-card {transition:none}
}
