:root {
  --navy:#0a1827;
  --navy-2:#0f2234;
  --aqua:#35d0ff;
  --mint:#8af3d8;
  --sky:#9ad7ff;
  --text:#eef6ff;
  --muted:#bcd0e7;
  --glass:rgba(18,34,52,0.6);
  --border:rgba(255,255,255,0.15);
  --shadow:0 12px 40px rgba(5,15,30,0.45);
  --radius:18px;
  --transition:all 220ms ease;
}
* {box-sizing:border-box;}
body {
  margin:0;
  font-family:"Inter",system-ui,-apple-system,sans-serif;
  color:var(--text);
  background:radial-gradient(circle at 20% 20%,rgba(53,208,255,0.2),transparent 30%),radial-gradient(circle at 80% 10%,rgba(138,243,216,0.18),transparent 28%),radial-gradient(circle at 50% 80%,rgba(154,215,255,0.18),transparent 30%),linear-gradient(145deg,var(--navy),#0b1f35 45%,#0b223a 70%,var(--navy-2));
  min-height:100vh;
  scroll-behavior:smooth;
  overflow-x:hidden;
  position:relative;
}
body::before,body::after {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg,rgba(53,208,255,0.14),rgba(138,243,216,0.04),rgba(154,215,255,0.14));
  mix-blend-mode:screen;
  filter:blur(40px) opacity(0.7);
  animation:drift 24s ease-in-out infinite alternate;
}
body::after {animation-duration:32s;animation-direction:alternate-reverse;opacity:0.4;}
@keyframes drift {from{transform:translate3d(-12px,-8px,0) scale(1);}to{transform:translate3d(16px,12px,0) scale(1.04);}}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto;}
}
.navbar {
  backdrop-filter:blur(18px);
  background:rgba(10,24,39,0.82);
  border-bottom:1px solid var(--border);
}
.navbar-brand {
  font-family:"Space Grotesk",sans-serif;
  font-weight:600;
  letter-spacing:0.4px;
  color:var(--text);
}
.brand-mark,.brand-logo {
  width:42px;
  height:42px;
  border-radius:12px;
  box-shadow:0 10px 24px rgba(53,208,255,0.35);
  background:linear-gradient(140deg,var(--aqua),var(--mint));
  display:grid;
  place-items:center;
}
.brand-logo {
  object-fit:cover;
  padding:6px;
}
.nav-link {
  color:var(--muted);
  font-weight:500;
  padding:0.65rem 0.9rem;
  border-radius:999px;
  transition:var(--transition);
}
.nav-link:hover,.nav-link:focus {color:var(--text);background:rgba(53,208,255,0.12);}
.nav-link.active {
  color:var(--navy);
  background:linear-gradient(120deg,var(--mint),var(--aqua));
  box-shadow:0 8px 20px rgba(53,208,255,0.35);
}
.btn-primary {
  background:linear-gradient(135deg,var(--aqua),var(--mint));
  border:none;
  color:var(--navy);
  font-weight:700;
  box-shadow:0 14px 28px rgba(53,208,255,0.35);
  transition:var(--transition);
  border-radius:14px;
}
.btn-primary:hover {transform:translateY(-2px) scale(1.01);box-shadow:0 16px 32px rgba(53,208,255,0.42);}
.btn-primary:active {transform:translateY(0);}
.btn-outline-light {
  border:1px solid var(--border);
  color:var(--text);
  background:rgba(255,255,255,0.04);
  border-radius:14px;
  transition:var(--transition);
}
.btn-outline-light:hover {color:var(--navy);background:linear-gradient(135deg,var(--sky),var(--aqua));border-color:transparent;box-shadow:0 12px 28px rgba(154,215,255,0.35);}
.section {
  position:relative;
  padding:90px 0;
  background:linear-gradient(180deg,rgba(10,24,39,0.24),rgba(10,24,39,0.12));
}



.section{background:transparent;}
.section::before{opacity:0.55;}




.glass {
  background:var(--glass);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
  backdrop-filter:blur(18px);
}
h1,h2,h3,h4 {font-family:"Space Grotesk",sans-serif;}
.subtle {color:var(--muted);font-size:0.98rem;}
.badge-soft {
  padding:8px 12px;
  border-radius:999px;
  background:rgba(53,208,255,0.14);
  color:var(--sky);
  font-weight:600;
  letter-spacing:0.2px;
}
.hero {padding:130px 0 110px;}
.hero .container {
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
  padding-left:1.4rem;
  padding-right:1.4rem;
}
.hero .row {justify-content:center;gap:28px;}
.hero .col-lg-6:first-child {max-width:560px;}
.hero .col-lg-6:last-child {max-width:520px;}
.hero h1 {font-size:3rem;line-height:1.1;margin-bottom:20px;}
.hero p.lead {font-size:1.15rem;color:var(--muted);}
.quick-points {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
  margin-top:24px;
}
.quick-points .item {
  padding:14px 16px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,0.03);
  color:var(--text);
  text-align:center;
  font-weight:600;
}
.card-service,.card-work,.card-contact {
  border-radius:var(--radius);
  padding:20px;
  border:1px solid var(--border);
  background:rgba(16,34,52,0.7);
  box-shadow:0 12px 32px rgba(0,0,0,0.35);
  transition:var(--transition);
}
.card-service:hover,.card-work:hover,.card-contact:hover {transform:translateY(-4px);border-color:rgba(53,208,255,0.5);}
.pill-set {display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;}
.pill {padding:8px 12px;border-radius:12px;background:rgba(255,255,255,0.05);color:var(--muted);font-weight:600;font-size:0.92rem;}
.work-label {font-size:0.95rem;color:var(--sky);font-weight:600;}
.timeline {display:grid;gap:20px;}
.step {
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:16px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:rgba(15,34,52,0.75);
}
.step .dot {
  width:12px;
  height:12px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--aqua),var(--mint));
  box-shadow:0 0 0 6px rgba(53,208,255,0.16);
}
.cta-link {color:var(--aqua);font-weight:600;text-decoration:none;}
.cta-link:hover {text-decoration:underline;}
.legal details {border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;background:rgba(13,27,42,0.8);}
.legal summary {cursor:pointer;font-weight:700;font-family:"Space Grotesk",sans-serif;color:var(--text);}
.reveal {opacity:0;transform:translateY(16px);transition:opacity 360ms ease,transform 360ms ease;}
.reveal.visible {opacity:1;transform:translateY(0);}
@media (max-width:992px) {
  .hero h1{font-size:2.4rem;}
  .navbar-nav .nav-link{padding:0.5rem 0.8rem;}
}
footer {
  border-top:1px solid var(--border);
  background:rgba(8,20,33,0.82);
  backdrop-filter:blur(12px);
  padding:26px 0;
  color:var(--muted);
}
.footer-grid {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  gap:12px;
}
.footer-spacer {min-height:1px;}
.footer-links {
  display:flex;
  gap:16px;
  justify-content:flex-end;
  align-items:center;
  justify-self:end;
}
.footer-links a {color:var(--text);text-decoration:none;font-weight:600;}
.footer-links a:hover {color:var(--aqua);}
.footer-center {text-align:center;font-weight:600;color:var(--text);justify-self:center;}
.footer-grid {row-gap:14px;}
@media (max-width:991.98px){
  .footer-grid {
    grid-template-columns:1fr;
    justify-items:center;
  }
  .footer-links {justify-content:center;justify-self:center;}
  .footer-spacer {display:none;}
}
.wrap {max-width:920px;margin:0 auto;padding:120px 1.5rem 80px;}
.card {
  background:rgba(16,34,52,0.8);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
  padding:28px;
  backdrop-filter:blur(16px);
}
.topbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:18px;
}
.brand {display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text);text-decoration:none;}
.brand-mark {width:40px;height:40px;border-radius:12px;background:linear-gradient(140deg,var(--aqua),var(--mint));display:grid;place-items:center;color:var(--navy);box-shadow:0 10px 24px rgba(53,208,255,0.35);}
.chip {padding:8px 12px;border-radius:999px;background:rgba(53,208,255,0.14);color:var(--sky);font-weight:600;}
.footer-simple,.footer {margin-top:36px;color:var(--muted);text-align:center;font-weight:600;}
.legal-page p {color:var(--text);}
.legal-body {min-height:100vh;display:flex;flex-direction:column;}
.legal-body .wrap {flex:1 0 auto;}
.legal-body footer {margin-top:0;}




.section{
  position: relative;
  background: transparent;
}

.section::before{
  opacity: 0.55;
}

.section::after{
  content:"";
  position:absolute;
  left: clamp(16px, 6vw, 64px);
  right: clamp(16px, 6vw, 64px);
  bottom: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,0.14),
    rgba(51,214,255,0.14),
    rgba(255,255,255,0.14),
    rgba(255,255,255,0)
  );
  opacity: 0.8;
}

.section:last-of-type::after{
  display:none;
}

.legal-page h1,
.legal-page h2{
  color: var(--text);
}

.legal-page h4{
  color: white;
}

.dw{ color:#fff !important; }

