/* James Woolford Design — service-specific headings, video heroes and services hub v43 */

:root{
  --jw43-blue:#2458ff;
  --jw43-dark:#090b12;
  --jw43-panel:#111522;
  --jw43-paper:#f5f3ee;
}

/* -------------------------------------------------------------------------- */
/* Service detail hero video                                                   */
/* -------------------------------------------------------------------------- */
.service-detail-page .service-detail-hero.jw43-video-hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:clamp(650px,78vh,900px)!important;
  padding:clamp(132px,12vw,190px) 0 clamp(78px,8vw,124px)!important;
  background:linear-gradient(135deg,#090b12,#101a39)!important;
  color:#fff!important;
}
.service-detail-page .service-detail-hero.jw43-video-hero::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(5,7,13,.92) 0%,rgba(5,7,13,.80) 42%,rgba(5,7,13,.52) 69%,rgba(5,7,13,.68) 100%),
    linear-gradient(180deg,rgba(3,4,9,.20),rgba(3,4,9,.58))!important;
}
.service-detail-page .jw43-service-video{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.service-detail-page .jw43-service-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--jw43-video-position,center center);
  filter:saturate(.82) contrast(1.06) brightness(.70);
  transform:scale(1.025);
}
.service-detail-page .service-detail-hero.jw43-video-hero .service-detail-hero__grid{
  position:relative!important;
  z-index:2!important;
  border-color:rgba(255,255,255,.22)!important;
}
.service-detail-page .service-detail-hero.jw43-video-hero .section-kicker{
  color:#9cb0ff!important;
}
.service-detail-page .service-detail-hero.jw43-video-hero h1,
.service-detail-page .service-detail-hero.jw43-video-hero p{
  color:#fff!important;
  text-shadow:0 2px 28px rgba(0,0,0,.30)!important;
}
.service-detail-page .service-detail-hero.jw43-video-hero p{
  color:rgba(255,255,255,.76)!important;
}
.service-detail-page .service-detail-hero.jw43-video-hero .service-detail-hero__copy>a{
  box-shadow:0 16px 42px rgba(36,88,255,.32)!important;
}
.service-detail-page .service-detail-hero.jw43-video-hero .jw-service-hero-panel{
  border:1px solid rgba(255,255,255,.20)!important;
  background:linear-gradient(145deg,rgba(10,12,20,.80),rgba(25,38,82,.66))!important;
  box-shadow:0 34px 90px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}

/* -------------------------------------------------------------------------- */
/* Service-specific chapter headings                                           */
/* -------------------------------------------------------------------------- */
.service-detail-page .service-capabilities .service-section-head h2,
.service-detail-page .jw-service-process-heading h2{
  white-space:normal!important;
  text-wrap:balance!important;
  max-width:18ch!important;
}
.service-detail-page .service-capabilities .service-section-head h2{
  font-size:clamp(50px,4.8vw,78px)!important;
}
.service-detail-page .jw-service-process-heading h2{
  font-size:clamp(50px,4.8vw,78px)!important;
}

/* -------------------------------------------------------------------------- */
/* Services hub — deliberately dark so the six tiles read as real cards.       */
/* -------------------------------------------------------------------------- */
.services-page.jw43-services-dark .services-grid-section,
.services-page .services-grid-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(36,88,255,.24),transparent 34%),
    radial-gradient(circle at 8% 88%,rgba(66,78,120,.18),transparent 31%),
    #090b12!important;
  color:#fff!important;
}
.services-page .services-grid-section::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:linear-gradient(120deg,transparent 20%,rgba(65,94,220,.08) 52%,transparent 78%)!important;
  animation:jw43HubGlow 14s ease-in-out infinite alternate!important;
}
@keyframes jw43HubGlow{
  from{transform:translate3d(-4%,0,0) scale(1)}
  to{transform:translate3d(4%,-2%,0) scale(1.06)}
}
.services-page .services-grid{
  position:relative!important;
  z-index:1!important;
}
.services-page .service-hub-card{
  border:1px solid rgba(255,255,255,.16)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.025))!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 24px 70px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
.services-page .service-hub-card h2{
  color:#fff!important;
}
.services-page .service-hub-card p{
  color:rgba(255,255,255,.68)!important;
}
.services-page .service-hub-card__top span,
.services-page .service-hub-card__link,
.services-page .service-hub-card svg{
  color:#9cb0ff!important;
}
@media(hover:hover){
  .services-page .service-hub-card:hover{
    border-color:rgba(80,118,255,.72)!important;
    background:linear-gradient(145deg,rgba(36,88,255,.30),rgba(255,255,255,.055))!important;
    box-shadow:0 30px 85px rgba(0,0,0,.34),0 0 46px rgba(36,88,255,.14)!important;
  }
}

/* -------------------------------------------------------------------------- */
/* Responsive                                                                  */
/* -------------------------------------------------------------------------- */
@media(max-width:1000px){
  .service-detail-page .service-detail-hero.jw43-video-hero{
    min-height:0!important;
    padding:118px 0 76px!important;
  }
  .service-detail-page .service-detail-hero.jw43-video-hero::before{
    background:
      linear-gradient(180deg,rgba(5,7,13,.70) 0%,rgba(5,7,13,.82) 58%,rgba(5,7,13,.94) 100%)!important;
  }
}

@media(max-width:640px){
  .service-detail-page .service-detail-hero.jw43-video-hero{
    padding:104px 0 56px!important;
  }
  .service-detail-page .jw43-service-video video{
    object-position:center center;
    filter:saturate(.78) contrast(1.08) brightness(.58);
  }
  .service-detail-page .service-capabilities .service-section-head h2,
  .service-detail-page .jw-service-process-heading h2{
    max-width:10ch!important;
    font-size:clamp(40px,12.6vw,54px)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .services-page .services-grid-section::before{animation:none!important}
}
