/* Sitewide horizontal inset — same as homepage (index.php) */
:root {
  --site-gutter: 1.5em;
  --site-content-max: none;
}
@media (min-width: 550px) {
  :root {
    --site-gutter: 2.5em;
  }
}
@media (min-width: 1000px) {
  :root {
    --site-gutter: 2em;
  }
}
@media (min-width: 1600px) {
  :root {
    --site-content-max: calc(1600px - (2em * 2));
  }
}

.siteheader .siteheader__bd.bd,
.fixedheader .fixedheader__bd.bd {
  padding-left: var(--site-gutter) !important;
  padding-right: var(--site-gutter) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (min-width: 1600px) {
  .siteheader .siteheader__bd.bd,
  .fixedheader .fixedheader__bd.bd {
    max-width: var(--site-content-max) !important;
  }
}

/* Inner pages: banner titles align with siteheader logo (same gutter) */
body:not(.home) .pageheader .pageheader__bd.bd,
body:not(.home) .about-page__hero-inner,
body:not(.home) .contact-page__hero-inner {
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--site-gutter) !important;
  padding-right: var(--site-gutter) !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (min-width: 1600px) {
  body:not(.home) .pageheader .pageheader__bd.bd,
  body:not(.home) .about-page__hero-inner,
  body:not(.home) .contact-page__hero-inner {
    max-width: var(--site-content-max) !important;
  }
}

body:not(.home) .siteheader .siteheader__logo,
body:not(.home) .siteheader .siteheader__logo .logo {
  margin-left: 0;
  padding-left: 0;
}

body:not(.home) .about-page__hero-inner,
body:not(.home) .contact-page__hero-inner {
  text-align: left;
  max-width: none;
}

body:not(.home) .service-page__hero .service-page__hero-copy {
  text-align: left;
}

body:not(.home) .service-page__hero .service-page__intro {
  margin-left: 0;
  margin-right: 0;
}

body:not(.home) .service-page__hero .service-page__hero-actions {
  justify-content: flex-start;
}

/* Local asset overrides — avoids slow cross-origin CSS background fetches */
.siteheader .logo .logo__img--key,
.bg--aubergine .siteheader .logo .logo__img--key,
.home .siteheader .logo .logo__img--key,
.mobnavopen .siteheader .logo .logo__img--key,
.siteheader--transparent .siteheader .logo .logo__img--key,
.logo .logo__img--key {
  background-image: none !important;
}
img.logo__img--key,
img.mobnav__brand-icon {
  display: inline-block !important;
  width: 48px !important;
  height: 48px !important;
  padding-top: 0 !important;
  background-image: none !important;
}
.mobnav-toggle .fa-bars::before,
.mobnav-toggle .fal.fa-bars::before {
  content: none !important;
}
.mobnav-toggle .mobnav-toggle__icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.mobnav-toggle .mobnav-toggle__icon--menu {
  display: block !important;
}

.mobnav-toggle .mobnav-toggle__icon--close {
  display: none !important;
}

body.mobnavopen .mobnav-toggle .mobnav-toggle__icon--menu {
  display: none !important;
}

body.mobnavopen .mobnav-toggle .mobnav-toggle__icon--close {
  display: block !important;
}

body.mobnavopen .fixedheader .mobnav-toggle {
  background: #f8795d !important;
  border-color: #f8795d !important;
  color: #fff !important;
}

/* Logo top-left; CTA + menu top-right (aligned) */
.siteheader {
  text-align: left !important;
}
.siteheader .siteheader__logo {
  display: inline-flex;
  text-align: left;
}

.fixedheader {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 150 !important;
  padding: 0 !important;
  pointer-events: none;
}

.fixedheader .fixedheader__bd {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.65rem !important;
  padding: 1rem 0 !important;
  max-width: none !important;
  pointer-events: none;
}

.fixedheader .fixedheader__btn,
.fixedheader .mobnav-toggle {
  pointer-events: all;
  margin: 0 !important;
  flex-shrink: 0;
  align-self: center;
}

.fixedheader .fixedheader__btn {
  display: none;
  vertical-align: middle;
}

@media (min-width: 700px) {
  .fixedheader .fixedheader__btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
  }
}

.mobnavopen .fixedheader .fixedheader__btn {
  display: none !important;
}

.fixedheader .mobnav-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 3.5rem !important;
  height: 3.5rem !important;
  min-width: 3.5rem !important;
  min-height: 3.5rem !important;
  padding: 0 !important;
  line-height: 1 !important;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(45, 21, 48, 0.05);
  box-sizing: border-box;
  color: #f8795d;
  text-decoration: none;
}

@media (min-width: 700px) {
  .fixedheader .mobnav-toggle {
    width: 3.75rem !important;
    height: 3.75rem !important;
    min-width: 3.75rem !important;
    min-height: 3.75rem !important;
  }
}

.fixedheader .mobnav-toggle:hover {
  background: #f8795d;
  border-color: #f8795d;
  color: #fff;
}

.fixedheader .mobnav-toggle__icon {
  width: 22px !important;
  height: 22px !important;
}

/* Prevent CLS when full stylesheet loads */
.home .siteheader {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}
.company_heading {
  position: static !important;
}
