/* THE SPARK MEP — Homepage Premium v3
   Home-only layout layer. Specialist pages remain untouched. */

:root{
  --home-ink:#071923;
  --home-ink-2:#0b2734;
  --home-cyan:#21b8de;
  --home-cyan-2:#68d5ed;
  --home-paper:#f4f8fa;
  --home-line:#d6e5ea;
  --home-muted:#5f7480;
}

html{scroll-behavior:smooth}
body{
  background:var(--home-paper);
  overflow-x:hidden;
}

/* Public homepage is a website, not an admin shell. */
.app{
  display:block!important;
  min-height:0!important;
}
.side{
  display:none!important;
}
.main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

/* Preserve the information tickers without letting them dominate the first screen. */
.newsHeader,
.insightHeader{
  position:relative!important;
  top:auto!important;
  margin:0!important;
  width:100%!important;
}
.newsHeader{height:30px!important}
.insightHeader{height:32px!important}
.newsItem{padding-inline:24px!important}
.insightItem{padding-inline:22px!important}

/* Compact homepage-level navigation replaces the obsolete left rail. */
.homeUtilityNav{
  min-height:58px;
  padding:8px max(22px,calc((100vw - 1460px)/2 + 28px));
  display:flex;
  align-items:center;
  gap:7px;
  overflow-x:auto;
  scrollbar-width:none;
  background:rgba(246,250,251,.97);
  border-bottom:1px solid var(--home-line);
  box-shadow:0 10px 30px rgba(7,25,35,.045);
}
.homeUtilityNav::-webkit-scrollbar{display:none}
.homeUtilityNav button{
  flex:0 0 auto;
  min-height:40px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  color:#58707c;
  font:800 10px/1 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.03em;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.homeUtilityNav button span{
  color:#8aa0aa;
  font-size:8px;
  letter-spacing:.08em;
}
.homeUtilityNav button:hover,
.homeUtilityNav button:focus-visible{
  color:#092331;
  background:#fff;
  border-color:#c9dce3;
  outline:none;
}
.homeUtilityNav button.on{
  color:#071923;
  background:#e9f7fb;
  border-color:#75d0e5;
}
.homeUtilityNav .homeUtilityCta{
  margin-left:auto;
  color:#fff;
  background:linear-gradient(135deg,#0788b6,#22bce1);
  border-color:transparent;
  box-shadow:0 8px 24px rgba(12,153,197,.2);
}
.homeUtilityNav .homeUtilityCta span{color:#dff9ff}
.homeUtilityNav .homeUtilityCta:hover{color:#fff;transform:translateY(-1px);background:linear-gradient(135deg,#067eaa,#19acd0)}

/* First screen: strong engineering identity immediately after the global navigation. */
#homeView{
  width:100%;
  background:#fff;
}
#homeView .refHero{
  min-height:clamp(620px,78vh,820px)!important;
  border:0!important;
  isolation:isolate;
}
#homeView .refHero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(3,18,27,.04),rgba(3,18,27,.18)),
    radial-gradient(800px 420px at 82% 52%,rgba(55,197,233,.09),transparent 66%);
}
#homeView .refHeroMedia{
  inset:0 0 0 30%!important;
}
#homeView .refHeroMedia img{
  object-position:center!important;
  transform:scale(1.015);
}
#homeView .refHeroShade{
  z-index:1;
  background:
    linear-gradient(90deg,#04151f 0%,#04151ff8 30%,#04151fd8 48%,#04151f55 72%,#04151f1a 100%)!important;
}
#homeView .refHeroCopy{
  z-index:3;
  padding:clamp(62px,8vh,96px) clamp(28px,5vw,76px) 120px!important;
  max-width:790px!important;
}
#homeView .refEyebrow{
  color:#7cdeef;
  letter-spacing:.16em;
}
#homeView .refHero h1{
  max-width:760px;
  font-size:clamp(48px,5.7vw,82px)!important;
  line-height:.96!important;
  letter-spacing:-.045em!important;
  text-wrap:balance;
}
#homeView .refScope{
  margin-top:18px;
  color:#f1f8fa;
  font-size:clamp(14px,1.5vw,19px)!important;
}
#homeView .refHeroCopy p{
  max-width:650px!important;
  color:#c8d7dd!important;
  font-size:clamp(13px,1.15vw,16px)!important;
}
#homeView .refActions{
  margin-top:30px!important;
  gap:10px!important;
}
#homeView .refActions .btn.primary{
  min-height:46px;
  padding-inline:20px;
  background:linear-gradient(135deg,#11a5ce,#3bd0eb);
  color:#04151f;
  box-shadow:0 14px 34px rgba(21,181,221,.24);
}
#homeView .refButton{
  min-height:46px!important;
  border-color:rgba(217,237,244,.58)!important;
  background:rgba(5,23,33,.2);
  backdrop-filter:blur(10px);
}
#homeView .refHeroPrinciples{
  z-index:3!important;
  left:clamp(28px,5vw,76px)!important;
  bottom:28px!important;
}
#homeView .refHeroPrinciples span{
  border-color:rgba(139,191,208,.35)!important;
  color:#dbe9ee;
}

/* Make the service launcher feel like the second beat of the hero, not a detached card bank. */
.sp-home-service-launcher{
  max-width:1440px!important;
  margin:-52px auto 34px!important;
  padding:0 28px!important;
}
.sp-home-service-launcher-inner{
  border-radius:18px!important;
  border-color:#cfe0e6!important;
  box-shadow:0 30px 75px rgba(5,31,43,.16)!important;
}
.sp-launch-card{
  min-height:184px!important;
  padding:20px 17px 18px!important;
}
.sp-launch-card b{
  font-size:13px!important;
  line-height:1.35;
}
.sp-launch-card span{
  line-height:1.55!important;
}
.sp-launch-card:hover{
  transform:translateY(-2px);
}

/* Section rhythm and alignment. */
#homeView .refStats,
#homeView .refServices,
#homeView .refSectors,
#homeView .refVision,
#homeView .missionRail,
#homeView .homefacts,
#homeView .founderMessage,
#homeView .mepIdentityBand,
#homeView .trustLayer,
#homeView .fullService,
#homeView .clientJourney,
#homeView .brandline,
#homeView .sectionhead,
#homeView .domainstrip,
#homeView .domainExperience,
#homeView .capgrid,
#homeView > section.panel,
#homeView .projectVisuals,
#homeView .expertband,
#homeView .tickerwrap{
  scroll-margin-top:96px;
}
#homeView .refServices,
#homeView .refSectors,
#homeView .trustLayer,
#homeView .fullService,
#homeView .clientJourney,
#homeView .domainExperience,
#homeView .capgrid,
#homeView .projectVisuals,
#homeView .expertband,
#homeView .tickerwrap,
#homeView > .sectionhead,
#homeView > .domainstrip,
#homeView > .brandline,
#homeView > section.panel,
#homeView > .homefacts,
#homeView > .founderMessage{
  max-width:1380px;
  margin-left:auto!important;
  margin-right:auto!important;
}
#homeView .refServices{
  padding:62px 36px!important;
}
#homeView .refSectors{
  padding:54px 36px!important;
}
#homeView .refVision{
  min-height:430px;
}
#homeView .missionRail{
  max-width:1380px;
  margin:34px auto!important;
  border-radius:16px;
  overflow:hidden;
}
#homeView > .homefacts{
  margin-top:14px!important;
  margin-bottom:34px!important;
}
#homeView .founderMessage{
  border-radius:16px;
  box-shadow:0 18px 50px rgba(5,31,43,.06);
}
#homeView .mepIdentityBand{
  max-width:1460px;
  margin:44px auto!important;
  border-radius:18px;
  overflow:hidden;
}
#homeView .trustLayer{
  padding-top:18px;
  padding-bottom:18px;
}
#homeView .fullService{
  border-radius:18px;
  overflow:hidden;
  margin-top:34px!important;
  margin-bottom:34px!important;
}
#homeView .clientJourney{
  margin-top:34px!important;
  margin-bottom:34px!important;
}
#homeView .projectVisuals{
  border-radius:16px;
  overflow:hidden;
}
#homeView .tickerwrap{
  padding-bottom:36px;
}

/* Public subviews remain available after removing the obsolete sidebar. */
#projectsView,
#toolsView{
  max-width:1380px;
  min-height:72vh;
  margin:0 auto;
  padding:34px 28px 64px;
  color:#e8f2f6;
  background:#05080d;
  box-shadow:0 0 0 100vmax #05080d;
  clip-path:inset(0 -100vmax);
}

/* Give the bottom of the homepage a deliberate handoff to the global footer. */
body.sp-public-v2 .sp-footer-services{
  margin-top:0!important;
}

@media(max-width:1100px){
  #homeView .refHeroMedia{inset:0 0 0 24%!important}
  .sp-home-service-launcher-inner{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .sp-launch-card{border-bottom:1px solid #dbe6ea}
  .sp-launch-card:nth-child(3n){border-right:0}
}

@media(max-width:900px){
  .homeUtilityNav{
    padding:7px 12px;
    min-height:52px;
  }
  .homeUtilityNav button{min-height:36px;padding-inline:12px;font-size:9px}
  .homeUtilityNav .homeUtilityCta{margin-left:0}
  #homeView .refHero{
    min-height:690px!important;
  }
  #homeView .refHeroMedia{
    inset:38% -16% 0 -12%!important;
  }
  #homeView .refHeroShade{
    background:
      linear-gradient(180deg,#04151ffe 0%,#04151ff4 44%,#04151f72 76%,#04151f32 100%)!important;
  }
  #homeView .refHeroCopy{
    padding:42px 20px 300px!important;
    max-width:720px!important;
  }
  #homeView .refHero h1{
    font-size:clamp(40px,11vw,58px)!important;
    letter-spacing:-.035em!important;
  }
  #homeView .refHeroPrinciples{
    left:14px!important;
    right:14px!important;
    bottom:14px!important;
  }
  .sp-home-service-launcher{
    margin:-34px auto 26px!important;
    padding:0 14px!important;
  }
  .sp-home-service-launcher-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .sp-launch-card{min-height:160px!important}
  .sp-launch-card:nth-child(odd){border-right:1px solid #dbe6ea}
  .sp-launch-card:nth-child(even){border-right:0}
  #homeView .missionRail{
    margin:24px 14px!important;
    border-radius:14px;
  }
  #homeView > .homefacts,
  #homeView > .founderMessage,
  #homeView .trustLayer,
  #homeView .fullService,
  #homeView .clientJourney,
  #homeView > .sectionhead,
  #homeView > .domainstrip,
  #homeView .domainExperience,
  #homeView .capgrid,
  #homeView > section.panel,
  #homeView .projectVisuals,
  #homeView .expertband,
  #homeView .tickerwrap{
    margin-left:14px!important;
    margin-right:14px!important;
  }
  #projectsView,#toolsView{padding:24px 14px 54px}
}

@media(max-width:560px){
  .newsHeader{height:28px!important}
  .insightHeader{height:30px!important}
  .homeUtilityNav{
    gap:5px;
    padding-inline:9px;
  }
  .homeUtilityNav button{padding-inline:10px}
  #homeView .refHeroCopy{padding-inline:18px!important}
  #homeView .refHero h1{font-size:42px!important}
  #homeView .refHeroPrinciples{
    grid-template-columns:1fr 1fr!important;
  }
  .sp-home-service-launcher-inner{grid-template-columns:1fr!important}
  .sp-launch-card{
    min-height:132px!important;
    border-right:0!important;
  }
  #homeView .refServices{padding:42px 16px!important}
  #homeView .refSectors{padding:36px 16px!important}
}

/* Motion is decorative; the hierarchy remains intact when reduced motion is requested. */
@media(prefers-reduced-motion:reduce){
  .homeUtilityNav button,
  .sp-launch-card,
  #homeView .refHeroMedia img{transition:none!important;transform:none!important}
}
