/* Final layout rules: loaded last to keep header and responsive sizing deterministic. */
.hero-media,
.hero-media picture{
  position:absolute;inset:0;width:100%;height:100%
}
.hero-media picture{display:block}
.hero-media picture img{
  position:absolute;inset:0;display:block;width:100%!important;height:100%!important;
  max-width:none;object-fit:cover;object-position:center center
}
.hero-media::after{
  background:
    linear-gradient(90deg,rgba(2,3,5,.94) 0%,rgba(2,3,5,.78) 37%,rgba(2,3,5,.30) 68%,rgba(2,3,5,.08) 100%),
    linear-gradient(0deg,rgba(2,3,5,.24),transparent 55%)
}
@media (min-width:1201px){
  .primary-nav{grid-template-columns:repeat(3,max-content) minmax(360px,1fr) repeat(3,max-content) auto auto;gap:16px}
  .primary-nav>ul>li>a,.primary-nav .nav-parent-link{
    display:flex;min-height:56px;align-items:center;padding:0!important;
    font-size:14px!important;font-weight:800;line-height:1.1;letter-spacing:.04em
  }
  .nav-parent-row{min-height:56px;gap:5px}
  .nav-parent-row .dropdown-toggle{width:24px;min-width:24px;height:56px;padding:0!important;font-size:14px!important}
}
@media (min-width:1201px) and (max-width:1500px){
  .primary-nav{gap:10px}
  .primary-nav>ul>li>a,.primary-nav .nav-parent-link,.nav-parent-row .dropdown-toggle{font-size:12.5px!important}
}

.content-layout>div>picture{display:block;width:100%;overflow:hidden;background:#0a0c0f}
.content-layout>div>picture img{display:block;width:100%;height:360px!important;aspect-ratio:auto!important;object-fit:cover}
.service-detail-section{padding:58px 0}
.service-detail-layout{max-width:1050px;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:42px}
.service-detail-layout .service-visual{width:300px;max-width:100%;justify-self:end}
.service-detail-layout .service-visual img{height:260px!important}
.service-detail-layout .content-copy{align-self:center}

@media(max-width:900px){
  .hero-media picture img{object-position:center center}
  .hero-media::after{
    background:
      linear-gradient(180deg,rgba(2,3,5,.30) 0%,rgba(2,3,5,.65) 48%,rgba(2,3,5,.93) 100%),
      linear-gradient(90deg,rgba(2,3,5,.62),rgba(2,3,5,.30))
  }
  .primary-nav>ul>li>a,.primary-nav .nav-parent-link{
    min-height:58px;padding:0 2px!important;font-size:14px!important;
    font-weight:800;line-height:1.15;letter-spacing:.04em
  }
  .nav-parent-row{min-height:58px!important}
  .nav-parent-row .dropdown-toggle{height:58px!important;font-size:14px!important}
  .content-layout{gap:30px}
  .content-layout>div>picture img{height:280px!important}
  .service-detail-section{padding:46px 0}
  .service-detail-layout{grid-template-columns:minmax(0,1fr) 260px;gap:30px}
  .service-detail-layout .service-visual{width:260px}
  .service-detail-layout .service-visual img{height:220px!important}
  .hero-copy{display:grid;width:100%;min-height:620px;grid-template-rows:auto minmax(150px,auto) minmax(76px,auto) minmax(145px,auto) auto;align-content:center}
  .hero-kicker,.hero h1,.hero-description,.hero-features{margin-block:0}
  .hero h1,.hero-description,.hero-features,.hero-actions{align-self:center}
  .slider-controls{display:none!important}
}

@media(max-width:600px){
  .section{padding:54px 0}
  .inner-hero{min-height:310px;padding:112px 0 42px}
  .inner-hero h1{font-size:clamp(2rem,10vw,2.8rem)}
  .content-layout{gap:24px}
  .content-layout>div>picture img{height:220px!important}
  .service-detail-section{padding:38px 0}
  .service-detail-layout{grid-template-columns:1fr;gap:22px}
  .service-detail-layout .service-visual{width:100%;justify-self:stretch}
  .service-detail-layout .service-visual img{height:190px!important}

  .hero,.hero-content{min-height:870px}
  .hero-copy{width:100%;height:700px;min-height:700px;padding:82px 0 34px;grid-template-rows:28px 190px 92px 164px 112px;align-content:center}
  .hero-kicker{margin-bottom:10px;font-size:.72rem}
  .hero h1{max-width:100%;margin-bottom:18px;font-size:clamp(1.9rem,9.2vw,2.45rem);line-height:1.03;word-break:normal;overflow-wrap:normal}
  .hero-description{margin-bottom:16px;font-size:.9rem;line-height:1.55}
  .hero-features{margin:12px 0 18px;gap:6px 12px}
  .hero-feature{min-height:74px;padding:10px 4px 8px 0;font-size:.61rem;line-height:1.35}
  .hero-feature b{margin-bottom:4px;font-size:1.15rem}
  .hero-actions{align-self:start;gap:10px}
  .hero-actions .btn{min-height:48px;padding-block:10px}
  .slider-controls{display:none}
}

@media(max-width:360px){
  .hero,.hero-content{min-height:850px}
  .hero h1{font-size:1.9rem}
  .content-layout>div>picture img{height:200px!important}
  .service-detail-layout .service-visual img{height:175px!important}
}

@media(prefers-reduced-motion:reduce){
  .content-layout img{transition:none!important}
}
