/* Shared reliability and layout corrections for the static site capture. */
:root {
  --phe-red: #e21d38;
  --phe-navy: #15243a;
  --phe-surface: #ffffff;
}

html { scroll-behavior: smooth; }
body { min-width: 320px; overflow-x: hidden; background: var(--phe-surface); }

/* Remote hero images are unavailable in an offline static build; retain a
   deliberate, readable banner instead of rendering a blank white block. */
.rs-breadcrumbs {
  background-color: var(--phe-navy) !important;
  background-image: linear-gradient(120deg, rgba(8, 27, 53, .92), rgba(226, 29, 56, .7)) !important;
}
.rs-breadcrumbs .breadcrumbs-inner { padding: 132px 0 72px; }
.rs-breadcrumbs .breadcrumbs-inner .page-title {
  max-width: 900px;
  margin: 0 auto;
  text-wrap: balance;
}

img { max-width: 100%; }
img.is-image-fallback { object-fit: contain; background: #f4f6f8; }
iframe { max-width: 100%; border: 0; }

/* Keep long report titles, tables, and rich-text embeds inside the viewport. */
.main-content, .rs-blog, .rs-about, .rs-services { overflow-wrap: anywhere; }
.main-content table { display: block; width: 100%; max-width: 100%; overflow-x: auto; }
.main-content .container { padding-left: 20px; padding-right: 20px; }

/* The saved pages inherit several very large utility spacers. Normalize the
   two that create conspicuous empty gaps between page sections. */
.main-content > .mt-40 { margin-top: 4rem !important; }
.main-content > .mb-40 { margin-bottom: 4rem !important; }

@media (max-width: 767px) {
  .rs-breadcrumbs .breadcrumbs-inner { padding: 105px 0 52px; }
  .rs-breadcrumbs .breadcrumbs-inner .page-title { font-size: 34px; line-height: 1.2; }
  .main-content .container { padding-left: 16px; padding-right: 16px; }
}

/* Footer: the source footer image is not included in this static build. A
   solid, high-contrast surface keeps the entire footer readable and removes
   the empty white band above the utility navigation. */
.rs-footer .pre-footer {
  padding-top: 0 !important;
  background: var(--phe-red) !important;
}
.rs-footer .footer-bar-mask,
.rs-footer .footer-menu {
  background: var(--phe-red) !important;
}
.rs-footer .footer-menu {
  min-height: 52px;
  align-items: center;
  justify-content: center;
  margin: 0;
}
.rs-footer .footer-menu li a {
  color: #fff !important;
  line-height: 1.25;
  text-decoration: none;
}
.rs-footer .footer-menu li a:hover,
.rs-footer .footer-menu li a:focus-visible {
  color: #fff !important;
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.rs-footer .bg-wrap {
  background: #15243a !important;
}
.rs-footer .footer-content { padding-top: 4rem !important; padding-bottom: 3rem !important; }
.rs-footer .footer-content a:focus-visible,
.rs-footer .footer-bottom a:focus-visible,
.main-content a:focus-visible,
.rs-menu a:focus-visible {
  outline: 3px solid #f6b900;
  outline-offset: 3px;
}

/* Navigation and interactive controls remain usable over image-based headers. */
.menu-sticky { box-shadow: 0 1px 10px rgba(6, 24, 45, .1); }
.full-width-header .rs-header .menu-area .main-menu .rs-menu ul.sub-menu {
  box-shadow: 0 10px 28px rgba(6, 24, 45, .18);
}
button, .button, input, select, textarea { border-radius: 4px; }

@media (max-width: 767px) {
  .rs-footer .footer-menu { min-height: 48px; }
  .rs-footer .footer-menu li a { padding: .75rem; }
  .rs-footer .footer-content { padding-top: 2.5rem !important; padding-bottom: 2rem !important; }
}
