.services-hero{
  background:
    radial-gradient(circle at 80% 25%,rgba(0,207,232,.12),transparent 32%),
    linear-gradient(180deg,#07131f,#081522);
}

.services-overview{
  background:#f6f8fb;
  color:#07131f;
  padding:90px 0;
}

.overview-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}

.overview-card{
  display:block;
  padding:42px;
  border-radius:28px;
  background:#fff;
  border:1px solid #d8e1eb;
  text-decoration:none;
  color:#07131f;
  transition:.25s ease;
}

.overview-card:hover{
  transform:translateY(-6px);
  border-color:#00cfe8;
  box-shadow:0 28px 80px rgba(7,19,31,.14);
}

.overview-card span{
  display:block;
  margin-bottom:28px;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.18em;
  color:#009aae;
}

.overview-card h2{
  font-size:clamp(1.6rem,2.6vw,2.4rem);
  line-height:1.1;
  margin-bottom:18px;
}

.overview-card p{
  color:#4b5b6e;
  line-height:1.8;
}

.service-editorial{
  position:relative;
  padding:120px 0;
}

.light-area{
  background:#ffffff;
  color:#07131f;
}

.dark-area{
  background:#07131f;
  color:#ffffff;
}

.service-heading{
  max-width:920px;
  margin-bottom:80px;
}

.area-label{
  display:inline-flex;
  margin-bottom:18px;
  padding:8px 13px;
  border-radius:999px;
  background:#dffbff;
  color:#006d7a;
  font-size:.73rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.area-label.muted{
  background:rgba(255,255,255,.08);
  color:var(--cyan);
}

.service-heading h2{
  font-size:clamp(2.4rem,5vw,4.8rem);
  line-height:1;
  letter-spacing:-.06em;
  margin-bottom:28px;
}

.service-heading p{
  font-size:1.16rem;
  line-height:1.9;
  color:#4b5b6e;
  max-width:780px;
}

.dark-area .service-heading p{
  color:var(--muted);
}

.service-block{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:72px;
  align-items:center;
  margin-bottom:120px;
}

.service-block:last-child{
  margin-bottom:0;
}

.service-block.reverse{
  direction:rtl;
}

.service-block.reverse .service-copy,
.service-block.reverse .service-media{
  direction:ltr;
}

.service-number{
  display:block;
  margin-bottom:22px;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.18em;
  color:#009aae;
}

.dark-area .service-number{
  color:var(--cyan);
}

.service-copy h3{
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1.05;
  letter-spacing:-.045em;
  margin-bottom:28px;
}

.service-copy p{
  font-size:1.08rem;
  line-height:1.9;
  color:#4b5b6e;
  margin-bottom:24px;
}

.dark-area .service-copy p{
  color:var(--muted);
}

.service-copy ul{
  list-style:none;
  padding:0;
  margin:30px 0 0;
  display:grid;
  gap:12px;
}

.service-copy li{
  position:relative;
  padding-left:28px;
  font-size:1rem;
  line-height:1.6;
  color:#263648;
}

.dark-area .service-copy li{
  color:#d7e4ef;
}

.service-copy li::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:#00cfe8;
  position:absolute;
  left:0;
  top:.55em;
  box-shadow:0 0 18px rgba(0,207,232,.55);
}

.service-media{
  position:relative;
}

.service-media::before{
  content:"";
  position:absolute;
  inset:18px -18px -18px 18px;
  border-radius:30px;
  border:1px solid rgba(0,207,232,.28);
  z-index:0;
}

.service-media img{
  position:relative;
  z-index:1;
  width:100%;
  height:520px;
  object-fit:cover;
  display:block;
  border-radius:30px;
  background:#101927;
  box-shadow:0 30px 90px rgba(7,19,31,.22);
}

.dark-area .service-media img{
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}

.service-transition{
  padding:110px 0;
  background:
    radial-gradient(circle at 15% 20%,rgba(0,207,232,.12),transparent 28%),
    linear-gradient(135deg,#081522,#0f1724);
  color:#ffffff;
}

.transition-content{
  max-width:980px;
}

.transition-content h2{
  font-size:clamp(2.2rem,5vw,4.6rem);
  line-height:1.04;
  letter-spacing:-.06em;
  margin:18px 0 28px;
}

.transition-content p{
  max-width:780px;
  color:var(--muted);
  font-size:1.14rem;
  line-height:1.9;
}

.cta-band{
  background:#f6f8fb;
  color:#07131f;
}

/* =========================
   HEADER
========================= */

.site-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:18px 50px;

    z-index:9999;

    background:transparent;

    transition:
        background .35s ease,
        backdrop-filter .35s ease,
        border-color .35s ease;
}

.site-header.scrolled{
    background:rgba(5,12,25,.88);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(255,255,255,.08);
}

/* =========================
   LOGO
========================= */

.brand{
    display:flex;
    align-items:center;
    text-decoration:none;
    flex-shrink:0;
}

.brand-logo{
    height:60px;
    width:auto;
    display:block;
}

/* =========================
   MENU
========================= */

.main-nav{
    display:flex;
    align-items:center;
    gap:10px;
}

.main-nav a{
    color:#fff;
    text-decoration:none;

    font-size:.95rem;
    font-weight:600;
    letter-spacing:.5px;

    padding:12px 18px;
    border-radius:14px;

    transition:all .3s ease;
}

.main-nav a:hover{
    color:#22d3ff;

    background:rgba(34,211,255,.08);

    transform:translateY(-2px);

    box-shadow:
        0 0 20px rgba(34,211,255,.15),
        inset 0 0 0 1px rgba(34,211,255,.18);
}

.main-nav a.active{
    color:#22d3ff;

    background:rgba(34,211,255,.10);

    box-shadow:
        0 0 24px rgba(34,211,255,.18),
        inset 0 0 0 1px rgba(34,211,255,.25);
}

/* =========================
   MENU MOBILE
========================= */

.nav-toggle{
    display:none;
    background:none;
    border:none;
    cursor:pointer;
}

.nav-toggle span{
    display:block;

    width:28px;
    height:3px;

    margin:5px 0;

    border-radius:20px;

    background:#fff;

    transition:.3s;
}

@media(max-width:980px){

  .overview-grid,
  .service-block,
  .service-block.reverse{
    grid-template-columns:1fr;
    direction:ltr;
  }

  .service-block{
    gap:42px;
    margin-bottom:90px;
  }

  .service-editorial{
    padding:90px 0;
  }

  .service-heading{
    margin-bottom:60px;
  }

  .service-media img{
    height:360px;
  }

  .service-media::before{
    inset:12px -10px -10px 12px;
  }
    .site-header{
        padding:15px 20px;
    }

    .brand-logo{
        height:48px;
    }

    .nav-toggle{
        display:block;
        z-index:10001;
    }

    .main-nav{
        position:fixed;

        top:0;
        right:-100%;

        width:280px;
        height:100vh;

        background:#08111f;

        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;

        gap:20px;

        transition:.35s ease;

        z-index:10000;
    }

    .main-nav.open{
        right:0;
    }

    .main-nav a{
        font-size:1.05rem;
    }


}

@media(max-width:620px){

  .overview-card{
    padding:28px;
  }

  .service-copy h3{
    font-size:2rem;
  }

  .service-media img{
    height:280px;
    border-radius:22px;
  }

  .service-media::before{
    border-radius:22px;
  }

}
