/*
 * BHC Full Width V15
 * Final layout layer. Loaded last after all legacy/public styles.
 * Makes the complete public website use the available screen width with
 * responsive gutters while preserving comfortable reading widths inside
 * long-form content.
 */
:root{
  --bhc15-gutter:clamp(14px,2.15vw,38px);
  --bhc15-gutter-lg:clamp(18px,2.6vw,48px);
  --bhc15-radius:18px;
  --bhc15-line:#dce9e5;
  --bhc15-soft:#f5faf8;
  --bhc15-navy:#07394e;
  --bhc15-green:#087a61;
}

html,body{width:100%;max-width:100%;overflow-x:hidden}
body.bhc-fullwidth-v15{background:#fff!important}

/* One consistent edge-to-edge page shell for every public page. */
body.bhc-fullwidth-v15 .container,
body.bhc-fullwidth-v15 .container-sm,
body.bhc-fullwidth-v15 .container-md,
body.bhc-fullwidth-v15 .container-lg,
body.bhc-fullwidth-v15 .container-xl,
body.bhc-fullwidth-v15 .container-xxl,
body.bhc-fullwidth-v15 .container-fluid,
body.bhc-fullwidth-v15 .gh-container-wide{
  width:calc(100% - (var(--bhc15-gutter) * 2))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Avoid double horizontal padding when Bootstrap containers are expanded. */
body.bhc-fullwidth-v15 .container,
body.bhc-fullwidth-v15 .container-sm,
body.bhc-fullwidth-v15 .container-md,
body.bhc-fullwidth-v15 .container-lg,
body.bhc-fullwidth-v15 .container-xl,
body.bhc-fullwidth-v15 .container-xxl,
body.bhc-fullwidth-v15 .container-fluid.gh-container-wide{
  padding-left:0!important;
  padding-right:0!important;
}

/* Header/navigation/footer use the whole viewport with aligned content edges. */
body.bhc-fullwidth-v15 .v8-header__utility-inner,
body.bhc-fullwidth-v15 .humanized-header__brand-row,
body.bhc-fullwidth-v15 .humanized-header-search>.gh-container-wide,
body.bhc-fullwidth-v15 .humanized-nav>.gh-container-wide,
body.bhc-fullwidth-v15 .bhc-mobile-quick-actions__inner,
body.bhc-fullwidth-v15 .bhc-footer__inner{
  width:calc(100% - (var(--bhc15-gutter-lg) * 2))!important;
  max-width:none!important;
}

/* Full-width home sections without the old centered 1200/1400px look. */
body.bhc-fullwidth-v15 .professional-hero>.gh-container-wide,
body.bhc-fullwidth-v15 .v23-about>.gh-container-wide,
body.bhc-fullwidth-v15 .v24-about>.gh-container-wide,
body.bhc-fullwidth-v15 .v25-departments>.gh-container-wide,
body.bhc-fullwidth-v15 .v25-services>.gh-container-wide,
body.bhc-fullwidth-v15 .gh-leadership-section>.gh-container-wide,
body.bhc-fullwidth-v15 .bhc-home-blog>.gh-container-wide{
  width:calc(100% - (var(--bhc15-gutter-lg) * 2))!important;
  max-width:none!important;
}

/* Hero uses the added horizontal room gracefully rather than stretching cards. */
body.bhc-fullwidth-v15 .v10-home-hero__grid{
  width:100%!important;
  grid-template-columns:minmax(220px,.58fr) minmax(0,2.15fr) minmax(220px,.58fr)!important;
  gap:clamp(12px,1.25vw,22px)!important;
}
body.bhc-fullwidth-v15 .v10-home-hero__main,
body.bhc-fullwidth-v15 .v12-home-hero__main{min-width:0!important;width:100%!important}
body.bhc-fullwidth-v15 .v10-home-hero__main img,
body.bhc-fullwidth-v15 .v12-home-hero__main img,
body.bhc-fullwidth-v15 .v16-hero-slide img,
body.bhc-fullwidth-v15 .v18-hero-slide img,
body.bhc-fullwidth-v15 .v20-hero-slide img{
  width:100%!important;
  object-fit:cover!important;
}

/* Make grid/listing pages actually fill the available width. */
body.bhc-fullwidth-v15 .row{--bs-gutter-x:clamp(1rem,1.55vw,1.55rem)}
body.bhc-fullwidth-v15 .gh-premium-card,
body.bhc-fullwidth-v15 .gh-detail-card,
body.bhc-fullwidth-v15 .gh-side-card,
body.bhc-fullwidth-v15 .gh-filter-card,
body.bhc-fullwidth-v15 .v25-department-card,
body.bhc-fullwidth-v15 .v25-service-card,
body.bhc-fullwidth-v15 .bhc-home-story{
  width:100%!important;
}

/* Large screens: use four columns where generic public listing markup permits it. */
@media(min-width:1500px){
  body.bhc-fullwidth-v15 .gh-public-grid,
  body.bhc-fullwidth-v15 .media-v33-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.bhc-fullwidth-v15 .v25-department-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  body.bhc-fullwidth-v15 .v25-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.bhc-fullwidth-v15 .bhc-home-blog__grid,
  body.bhc-fullwidth-v15 .bhc-home-blog__grid.is-count-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* Inner-page heroes and filter areas span screen width but remain visually calm. */
body.bhc-fullwidth-v15 .gh-inner-hero,
body.bhc-fullwidth-v15 .bhc-blog-hero,
body.bhc-fullwidth-v15 .bhc-article-hero,
body.bhc-fullwidth-v15 .g31-publication-hero,
body.bhc-fullwidth-v15 .media-v33-hero{
  width:100%!important;
  border-radius:0!important;
}
body.bhc-fullwidth-v15 .gh-filter-card{border-radius:16px!important}

/* Long-form articles should use the screen, but prose stays readable. */
body.bhc-fullwidth-v15 .bhc-blog-layout,
body.bhc-fullwidth-v15 .bhc-article-layout,
body.bhc-fullwidth-v15 .v41-page-layout,
body.bhc-fullwidth-v15 .g31-publication-layout{width:100%!important;max-width:none!important}
body.bhc-fullwidth-v15 .gh-rich-content,
body.bhc-fullwidth-v15 .bhc-article-content,
body.bhc-fullwidth-v15 .v41-rich-content{
  max-width:92ch;
}
body.bhc-fullwidth-v15 .bhc-article-layout .bhc-article-content,
body.bhc-fullwidth-v15 .v41-page-layout .v41-rich-content{max-width:none}
body.bhc-fullwidth-v15 .bhc-article-layout .bhc-article-content>p,
body.bhc-fullwidth-v15 .bhc-article-layout .bhc-article-content>ul,
body.bhc-fullwidth-v15 .bhc-article-layout .bhc-article-content>ol,
body.bhc-fullwidth-v15 .bhc-article-layout .bhc-article-content>blockquote{
  max-width:92ch;
}

/* Footer becomes a true full-width closing section. */
body.bhc-fullwidth-v15 .bhc-footer{width:100%!important}
body.bhc-fullwidth-v15 .bhc-footer__top{grid-template-columns:minmax(260px,1.15fr) minmax(220px,.8fr) minmax(290px,1fr)!important;gap:clamp(22px,3vw,52px)!important}
body.bhc-fullwidth-v15 .bhc-footer__location{grid-template-columns:minmax(260px,.75fr) minmax(0,2.25fr)!important}
body.bhc-fullwidth-v15 .bhc-footer__map-frame iframe{width:100%!important}

/* Full-width images/media never overflow and keep professional proportions. */
body.bhc-fullwidth-v15 iframe,
body.bhc-fullwidth-v15 video,
body.bhc-fullwidth-v15 canvas{max-width:100%}
body.bhc-fullwidth-v15 .table-responsive{width:100%}

/* Tablet */
@media(max-width:1199.98px){
  :root{--bhc15-gutter:clamp(12px,2.2vw,24px);--bhc15-gutter-lg:clamp(14px,2.4vw,28px)}
  body.bhc-fullwidth-v15 .v10-home-hero__grid{grid-template-columns:1fr 1fr!important}
  body.bhc-fullwidth-v15 .v10-home-hero__main{grid-column:1/-1!important;grid-row:1!important}
  body.bhc-fullwidth-v15 .bhc-footer__top{grid-template-columns:1fr 1fr!important}
  body.bhc-fullwidth-v15 .bhc-footer__contact{grid-column:1/-1!important}
  body.bhc-fullwidth-v15 .bhc-footer__location{grid-template-columns:1fr 1.5fr!important}
}

/* Phone */
@media(max-width:767.98px){
  :root{--bhc15-gutter:12px;--bhc15-gutter-lg:12px}
  body.bhc-fullwidth-v15 .container,
  body.bhc-fullwidth-v15 .container-sm,
  body.bhc-fullwidth-v15 .container-md,
  body.bhc-fullwidth-v15 .container-lg,
  body.bhc-fullwidth-v15 .container-xl,
  body.bhc-fullwidth-v15 .container-xxl,
  body.bhc-fullwidth-v15 .container-fluid,
  body.bhc-fullwidth-v15 .gh-container-wide{width:calc(100% - 24px)!important}
  body.bhc-fullwidth-v15 .v10-home-hero__grid{grid-template-columns:1fr!important;gap:11px!important}
  body.bhc-fullwidth-v15 .v10-home-hero__main{grid-column:auto!important}
  body.bhc-fullwidth-v15 .bhc-footer__top,
  body.bhc-fullwidth-v15 .bhc-footer__location{grid-template-columns:1fr!important}
  body.bhc-fullwidth-v15 .bhc-footer__contact{grid-column:auto!important}
  body.bhc-fullwidth-v15 .row{--bs-gutter-x:.85rem}
}

@media(max-width:420px){
  :root{--bhc15-gutter:9px;--bhc15-gutter-lg:9px}
  body.bhc-fullwidth-v15 .container,
  body.bhc-fullwidth-v15 .container-sm,
  body.bhc-fullwidth-v15 .container-md,
  body.bhc-fullwidth-v15 .container-lg,
  body.bhc-fullwidth-v15 .container-xl,
  body.bhc-fullwidth-v15 .container-xxl,
  body.bhc-fullwidth-v15 .container-fluid,
  body.bhc-fullwidth-v15 .gh-container-wide{width:calc(100% - 18px)!important}
}
