
/* =========================================================
   V5.3.2 HOTFIX — Consistent header + integrated services nav
   ========================================================= */

:root{
  --ep-header-h:96px;
  --ep-footer-h:76px;
  --ep-inline-nav-h:74px;
}

/* Keep public pages visually consistent: no extra dev ribbon */
body.premium-services-page .dev-banner,
body:has(.v5-home-main) .dev-banner{
  display:none !important;
}

/* Unified 3-row shell for service pages */
body.services-overview-page,
body:has(.ep-detail-main){
  min-height:100vh !important;
  height:100vh !important;
  display:grid !important;
  grid-template-rows:var(--ep-header-h) 1fr var(--ep-footer-h) !important;
  overflow:hidden !important;
}

body.services-overview-page .site-header,
body:has(.ep-detail-main) .site-header{
  min-height:var(--ep-header-h) !important;
  height:var(--ep-header-h) !important;
}

body.services-overview-page .lp-main,
body:has(.ep-detail-main) .ep-detail-main{
  min-height:0 !important;
  height:100% !important;
  display:grid !important;
  grid-template-rows:minmax(0,1fr) var(--ep-inline-nav-h) !important;
  overflow:hidden !important;
}

body.services-overview-page .service-hub-v47,
body:has(.ep-detail-main) .ep-detail-screen{
  min-height:0 !important;
  height:100% !important;
}

body.services-overview-page .service-hub-v47-grid,
body:has(.ep-detail-main) .ep-detail-grid{
  min-height:0 !important;
  height:100% !important;
  align-items:center !important;
  padding-top:18px !important;
  padding-bottom:18px !important;
}

/* Service navigation now belongs to the central stage and sits below content */
body.services-overview-page .ep-master-service-nav,
body:has(.ep-detail-main) .ep-master-service-nav{
  position:relative !important;
  height:var(--ep-inline-nav-h) !important;
  min-height:var(--ep-inline-nav-h) !important;
  display:flex !important;
  align-items:center !important;
  background:linear-gradient(180deg, rgba(7,19,12,.35), rgba(7,19,12,.62)) !important;
  border-top:1px solid rgba(213,170,80,.14) !important;
  border-bottom:none !important;
  backdrop-filter:blur(8px);
}

body.services-overview-page .ep-master-service-nav .ep-master-shell,
body:has(.ep-detail-main) .ep-master-service-nav .ep-master-shell{
  width:min(1180px, calc(100% - 52px)) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  align-items:stretch !important;
  height:100% !important;
}

body.services-overview-page .ep-master-service-link,
body:has(.ep-detail-main) .ep-master-service-link{
  min-height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  padding:0 18px !important;
  border-radius:0 !important;
  border-left:1px solid rgba(243,240,230,.06) !important;
  font-size:inherit !important;
}

body.services-overview-page .ep-master-service-link:last-child,
body:has(.ep-detail-main) .ep-master-service-link:last-child{
  border-right:1px solid rgba(243,240,230,.06) !important;
}

body.services-overview-page .ep-master-service-link span,
body:has(.ep-detail-main) .ep-master-service-link span{
  font-size:.84rem !important;
  font-weight:800 !important;
}

body.services-overview-page .ep-master-service-link strong,
body:has(.ep-detail-main) .ep-master-service-link strong{
  font-size:1.02rem !important;
  font-weight:700 !important;
  white-space:nowrap;
}

body.services-overview-page .ep-master-service-link::after,
body:has(.ep-detail-main) .ep-master-service-link::after{
  top:auto !important;
  bottom:0 !important;
  height:2px !important;
  left:14% !important;
  right:14% !important;
}

/* footer slightly larger / calmer */
body.services-overview-page .ep-master-footer,
body:has(.ep-detail-main) .ep-master-footer{
  min-height:var(--ep-footer-h) !important;
  height:var(--ep-footer-h) !important;
}
body.services-overview-page .ep-master-footer-left span,
body.services-overview-page .ep-master-footer-left a,
body.services-overview-page .ep-master-partner-trigger,
body:has(.ep-detail-main) .ep-master-footer-left span,
body:has(.ep-detail-main) .ep-master-footer-left a,
body:has(.ep-detail-main) .ep-master-partner-trigger{
  font-size:.84rem !important;
}

/* give the services overview more room and consistent left-side scale */
body.services-overview-page .service-hub-v47-copy h1{
  max-width:8.5ch;
}

/* compact the detail pages a touch so nav fits inside stage cleanly */
body:has(.ep-detail-main) .ep-detail-lead{
  max-width:56ch;
}

/* smaller desktop */
@media (min-width:980px) and (max-height:840px){
  :root{
    --ep-header-h:88px;
    --ep-footer-h:70px;
    --ep-inline-nav-h:68px;
  }

  body.services-overview-page .service-hub-v47-grid,
  body:has(.ep-detail-main) .ep-detail-grid{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }

  body.services-overview-page .ep-master-service-link strong,
  body:has(.ep-detail-main) .ep-master-service-link strong{
    font-size:.95rem !important;
  }
}

@media (max-width:979px){
  body.services-overview-page,
  body:has(.ep-detail-main){
    display:block !important;
    height:auto !important;
    min-height:100vh !important;
    overflow:auto !important;
  }

  body.services-overview-page .lp-main,
  body:has(.ep-detail-main) .ep-detail-main{
    display:block !important;
    height:auto !important;
  }

  body.services-overview-page .ep-master-service-nav,
  body:has(.ep-detail-main) .ep-master-service-nav{
    min-height:64px !important;
    height:auto !important;
    overflow-x:auto !important;
  }

  body.services-overview-page .ep-master-service-nav .ep-master-shell,
  body:has(.ep-detail-main) .ep-master-service-nav .ep-master-shell{
    width:max-content !important;
    min-width:100% !important;
    grid-template-columns:repeat(4,minmax(180px,1fr)) !important;
  }

  body.services-overview-page .ep-master-service-link strong,
  body:has(.ep-detail-main) .ep-master-service-link strong{
    white-space:normal;
    text-align:center;
  }
}
