body.page-home{
  --hero-shift:0px;
  font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at top center, rgba(29,95,167,.26), transparent 28%),
    radial-gradient(circle at bottom left, rgba(198,60,60,.10), transparent 24%),
    linear-gradient(180deg, #08111b 0%, #0b1420 100%);
}

body.page-home main{
  background:transparent;
}

.page-home .container{
  width:min(calc(100% - 2.5rem), 1320px);
}

.page-home .section{
  padding:82px 0;
}

.page-home .section-tight{
  padding:62px 0;
}

.page-home .section-head{
  max-width:760px;
  margin-bottom:2rem;
  gap:.85rem;
}

.page-home .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.42rem .8rem;
  border:1px solid rgba(157,199,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  color:#b9d5fb;
  font-family:"IBM Plex Mono",monospace;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.page-home .section-head h2{
  font-size:clamp(2.15rem, 4.8vw, 3.65rem);
  line-height:1.02;
  letter-spacing:-.05em;
}

.page-home .section-head p{
  max-width:62ch;
  color:#b7c5d4;
}

.page-home .topbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:80;
  background:transparent;
  border-bottom:1px solid transparent;
  box-shadow:none;
  backdrop-filter:none;
  transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,backdrop-filter .25s ease;
}

.page-home.site-scrolled .topbar{
  background:rgba(248,243,235,.88);
  border-bottom-color:rgba(22,33,40,.08);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
  backdrop-filter:blur(18px);
}

.page-home .nav{
  min-height:84px;
}

.page-home .brand-text strong,
.page-home .brand-text span,
.page-home .nav-links a,
.page-home .menu-toggle{
  color:#f4f7fb;
}

.page-home .nav-links a:hover,
.page-home .nav-links a.active{
  background:rgba(255,255,255,.09);
}

.page-home .nav-links .btn-primary{
  color:#fff;
}

.page-home.site-scrolled .brand-text strong,
.page-home.site-scrolled .nav-links a,
.page-home.site-scrolled .menu-toggle{
  color:#162128;
}

.page-home.site-scrolled .brand-text span{
  color:#5d6972;
}

.page-home.site-scrolled .nav-links a:hover,
.page-home.site-scrolled .nav-links a.active{
  background:rgba(22,33,40,.06);
}

.page-home .home-hero{
  position:relative;
  min-height:100svh;
  overflow:hidden;
  background:#0a1119;
}

.page-home .home-hero-media,
.page-home .home-hero-scrim{
  position:absolute;
  inset:0;
}

.page-home .home-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 46%;
  transform:translate3d(0, var(--hero-shift), 0) scale(1.08);
  transform-origin:center center;
  transition:transform 1.1s cubic-bezier(.2,.7,.2,1);
}

.page-home.is-ready .home-hero-media img{
  transform:translate3d(0, var(--hero-shift), 0) scale(1.015);
}

.page-home .home-hero-scrim{
  background:
    linear-gradient(90deg, rgba(6,11,18,.86) 0%, rgba(6,11,18,.62) 36%, rgba(6,11,18,.24) 72%, rgba(6,11,18,.18) 100%),
    linear-gradient(180deg, rgba(6,11,18,.24) 0%, rgba(6,11,18,.18) 55%, rgba(6,11,18,.62) 100%);
}

.page-home .home-hero-grid{
  position:relative;
  z-index:1;
  width:min(calc(100% - 2.5rem), 1320px);
  min-height:100svh;
  margin:0 auto;
  padding:116px 0 54px;
  display:grid;
  align-items:center;
}

.page-home .home-hero-copy{
  max-width:620px;
}

.page-home .home-brandline{
  margin:0 0 .75rem;
  color:#fff;
  font-family:"IBM Plex Mono",monospace;
  font-size:.82rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.page-home .home-hero h1{
  max-width:11ch;
  margin:.9rem 0 1rem;
  color:#fff;
  font-size:clamp(3.2rem, 6.8vw, 5.85rem);
  line-height:.92;
  letter-spacing:-.065em;
}

.page-home .home-lead{
  max-width:58ch;
  margin:0 0 1.45rem;
  color:rgba(255,255,255,.84);
  font-size:1.06rem;
}

.page-home .hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
}

.page-home .home-hero .btn{
  min-height:52px;
  padding:0 1.18rem;
}

.page-home .home-hero .btn-secondary{
  border-color:rgba(255,255,255,.2);
  background:rgba(255,255,255,.06);
  color:#fff;
}

.page-home .home-hero .btn-secondary:hover{
  background:rgba(255,255,255,.12);
}

.page-home .home-hero-proof{
  display:flex;
  flex-wrap:wrap;
  gap:.85rem 1.1rem;
  margin-top:1.35rem;
  padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.14);
}

.page-home .home-hero-proof span{
  color:rgba(255,255,255,.82);
  font-family:"IBM Plex Mono",monospace;
  font-size:.74rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.page-home .home-hero-copy > *{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .85s ease, transform .85s cubic-bezier(.2,.7,.2,1);
}

.page-home.is-ready .home-hero-copy > *{
  opacity:1;
  transform:none;
}

.page-home.is-ready .home-hero-copy > *:nth-child(1){transition-delay:.04s}
.page-home.is-ready .home-hero-copy > *:nth-child(2){transition-delay:.10s}
.page-home.is-ready .home-hero-copy > *:nth-child(3){transition-delay:.16s}
.page-home.is-ready .home-hero-copy > *:nth-child(4){transition-delay:.22s}
.page-home.is-ready .home-hero-copy > *:nth-child(5){transition-delay:.28s}
.page-home.is-ready .home-hero-copy > *:nth-child(6){transition-delay:.34s}

.page-home .facility-carousel,
.page-home .card,
.page-home .cta,
.page-home .logo-panel,
.page-home .media-panel{
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02)),
    rgba(10,17,27,.68);
}

.page-home .facility-carousel{
  border-radius:24px;
}

.page-home .carousel-viewport{
  min-height:520px;
}

.page-home .carousel-btn{
  width:50px;
  height:50px;
}

.page-home .carousel-thumb{
  min-height:88px;
}

.page-home .media-panel.small{
  min-height:0;
}

.page-home .media-panel.small img{
  min-height:360px;
  object-fit:cover;
  object-position:center;
}

.page-home .badges{
  gap:.65rem;
}

.page-home .badge{
  font-family:"IBM Plex Mono",monospace;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.page-home .service-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  background:rgba(157,199,255,.08);
  border:1px solid rgba(157,199,255,.14);
}

.page-home .service-icon svg{
  width:22px;
  height:22px;
  stroke:#b9d5fb;
}

.page-home .card h3,
.page-home .kpi{
  color:#f4f7fb;
}

.page-home .card p,
.page-home .feature-list li,
.page-home .cta p{
  color:#b8c6d4;
}

.page-home .feature-list li{
  background:rgba(255,255,255,.025);
}

.page-home .logo-frame{
  background:#edf1f6;
}

.page-home .footer{
  margin-top:18px;
  background:rgba(248,243,235,.94);
  border-top-color:rgba(22,33,40,.08);
}

.page-home .footer strong,
.page-home .footer a{
  color:#162128;
}

.page-home .footer small{
  color:#5d6972;
}

@media (max-width: 1100px){
  .page-home .home-hero h1{
    max-width:12ch;
    font-size:clamp(3rem, 8vw, 4.9rem);
  }

  .page-home .carousel-viewport{
    min-height:460px;
  }
}

@media (max-width: 960px){
  .page-home .topbar{
    background:rgba(248,243,235,.86);
    border-bottom-color:rgba(22,33,40,.08);
    backdrop-filter:blur(16px);
  }

  .page-home .brand-text strong,
  .page-home .nav-links a,
  .page-home .menu-toggle{
    color:#162128;
  }

  .page-home .brand-text span{
    color:#5d6972;
  }

  .page-home .nav-links{
    background:rgba(248,243,235,.97);
    border-color:rgba(22,33,40,.08);
    box-shadow:0 20px 40px rgba(0,0,0,.14);
  }

  .page-home .nav-links a:hover,
  .page-home .nav-links a.active{
    background:rgba(22,33,40,.06);
  }

  .page-home .nav{
    min-height:76px;
  }

  .page-home .home-hero{
    min-height:auto;
  }

  .page-home .home-hero-grid{
    min-height:auto;
    padding:114px 0 58px;
  }

  .page-home .home-hero-copy{
    max-width:560px;
  }

  .page-home .home-hero h1{
    font-size:clamp(2.7rem, 11vw, 4.2rem);
  }

  .page-home .section{
    padding:72px 0;
  }

  .page-home .section-tight{
    padding:54px 0;
  }

  .page-home .carousel-viewport{
    min-height:360px;
  }

  .page-home .carousel-btn{
    width:46px;
    height:46px;
  }
}

@media (max-width: 720px){
  .page-home .container{
    width:min(calc(100% - 1.4rem), 1320px);
  }

  .page-home .home-hero-grid{
    width:min(calc(100% - 1.4rem), 1320px);
    padding:108px 0 48px;
  }

  .page-home .home-brandline{
    font-size:.76rem;
  }

  .page-home .home-lead{
    font-size:1rem;
  }

  .page-home .home-hero-proof{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.7rem .9rem;
  }

  .page-home .section-head h2{
    font-size:clamp(2rem, 10vw, 2.9rem);
  }

  .page-home .carousel-stage{
    grid-template-columns:1fr;
    gap:.8rem;
  }

  .page-home .carousel-btn{
    display:none;
  }

  .page-home .carousel-viewport{
    min-height:280px;
  }

  .page-home .carousel-thumb{
    min-height:70px;
  }

  .page-home .media-panel.small img{
    min-height:250px;
  }

  .page-home .footer-brand{
    align-items:center;
  }
}

@media (prefers-reduced-motion: reduce){
  .page-home .topbar,
  .page-home .home-hero-media img,
  .page-home .home-hero-copy > *,
  .page-home .btn,
  .page-home .carousel-btn,
  .page-home .carousel-thumb{
    transition:none;
  }

  .page-home .home-hero-copy > *{
    opacity:1;
    transform:none;
  }
}
