/* Reuse SWELL chrome. Image flow determines automatic height; background fills it. */
.s37-template-active #content.l-content {width:100%;max-width:none;margin:0;padding:0;display:block}
.s37-template-active #main_content.s37-page-main {float:none;width:100%;max-width:none;min-width:0;margin:0;padding:0}
.s37-template-active .s37-page-content {margin:0;padding:0;max-width:none}
.s37-clean-hero {
 --s37-height:var(--s37-pc-height,auto);--s37-fit:var(--s37-pc-fit,auto);
}
.s37-clean-hero,.s37-clean-stage,.s37-clean-title-image,.s37-clean-background {
 display:block;position:relative;width:100%;max-width:none;margin:0;padding:0;border:0;
}
.s37-clean-hero picture,.s37-clean-hero img {display:block;width:100%;height:auto;margin:0;padding:0}
.s37-clean-hero .s37-clean-title-image {font-size:inherit;line-height:1}
.s37-clean-stage,.s37-clean-hero > .s37-clean-title-image {height:var(--s37-height)}
.s37-clean-stage .s37-clean-background {position:absolute;inset:0;height:100%}
.s37-clean-background picture,.s37-clean-background img {height:100%;object-fit:cover;object-position:center}
/* The title stays in document flow: its intrinsic ratio reserves the complete hero. */
.s37-clean-stage .s37-clean-title-image {height:var(--s37-fit);min-width:0;min-height:0}
.s37-clean-stage .s37-clean-title-image picture {width:100%;max-width:1024px;margin:0 auto;height:var(--s37-fit)}
.s37-clean-stage .s37-clean-foreground {height:var(--s37-fit);object-fit:contain;object-position:center}
.s37-clean-hero > .s37-clean-title-image picture,.s37-clean-hero > .s37-clean-title-image img {
 height:var(--s37-fit);object-fit:contain;object-position:center;
}
.s37-text-hero {margin:0;padding:2rem 1rem}
.s37-screen-reader {
 position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
 margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
 white-space:nowrap!important;border:0!important;
}
@media(max-width:959px) {
 .s37-clean-hero {--s37-height:var(--s37-sp-height,auto);--s37-fit:var(--s37-sp-fit,auto)}
 .s37-mobile-single .s37-clean-background {position:relative;inset:auto;height:var(--s37-fit)}
 .s37-mobile-single .s37-clean-background picture,.s37-mobile-single .s37-clean-background img {
  height:var(--s37-fit);object-fit:contain;
 }
 .s37-mobile-single .s37-clean-title-image {position:absolute;inset:0;height:100%}
 .s37-mobile-single .s37-clean-title-image picture {display:none}
}
/* Only the content BELOW the hero participates in article/sidebar sizing. */
.s37-content-layout,.s37-content-body {min-width:0;box-sizing:border-box}
.s37-content-layout--full {width:100%;margin:0;padding:0}
.s37-content-layout--sidebar,.s37-content-layout--no-sidebar {width:100%;padding-top:2em;padding-bottom:2em}
.s37-content-layout--no-sidebar > .s37-content-body {max-width:var(--article_size,900px);margin-inline:auto}
.s37-content-layout--sidebar > #sidebar {width:100%;margin-top:4em}
/* Full-width blocks inside a sidebar article must stay out of the adjacent sidebar. */
.s37-content-layout--sidebar .s37-page-content .alignfull,
.s37-content-layout--sidebar .s37-page-content .alignwide {
 left:auto;width:100%;max-width:100%!important;margin-inline:0;
}
@media(min-width:960px) {
 .s37-content-layout--sidebar,.s37-content-layout--no-sidebar {padding-top:4em;padding-bottom:4em}
 .s37-content-layout--sidebar {
  display:grid;grid-template-columns:minmax(0,1fr) var(--swl-sidebar_width,300px);
  column-gap:var(--swl-sidebar_margin,48px);align-items:start;grid-template-areas:"body sidebar";
 }
 .s37-content-layout--sidebar > .s37-content-body {grid-area:body}
 .s37-content-layout--sidebar > #sidebar {width:100%;margin-top:0;grid-area:sidebar;align-self:stretch;order:0}
 .s37-content-layout--sidebar.s37-sidebar-left {
  grid-template-columns:var(--swl-sidebar_width,300px) minmax(0,1fr);grid-template-areas:"sidebar body";
 }
}
/* Keep links in the accessibility tree and tab order; never hide with display:none. */
.s37-template-active.s37-breadcrumb-visually-hidden #breadcrumb:not(:focus-within) {
 position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;
 overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;
}
/* Reveal in an overlay so keyboard navigation does not resize the hero or article. */
.s37-template-active.s37-breadcrumb-visually-hidden #breadcrumb:focus-within {
 position:fixed;inset:auto;top:calc(var(--swl-adminbarH,0px) + 1rem);left:1rem;right:1rem;
 width:auto;max-width:calc(100% - 2rem);height:auto;max-height:calc(100dvh - 4rem - var(--swl-adminbarH,0px));
 overflow:auto;clip:auto;clip-path:none;white-space:normal;margin:0;padding:1rem;
 box-sizing:border-box;z-index:1000001;background:#fff;color:#222;border:2px solid #222;
 box-shadow:0 2px 12px #0003;
}
.s37-template-active.s37-breadcrumb-visually-hidden #breadcrumb:focus-within .p-breadcrumb__list {
 max-width:none;padding:0;margin:0;
}
.s37-template-active.s37-breadcrumb-visually-hidden #breadcrumb:focus-within a {color:#222}
.s37-template-active.s37-breadcrumb-visually-hidden #breadcrumb a:focus-visible {
 outline:2px solid currentColor;outline-offset:3px;
}

/* Desktop title-logo spacing never applies to mobile or completed single images. */
@media(min-width:960px) {
 .s37-clean-stage .s37-clean-title-image {
  box-sizing:border-box;
  padding-top:var(--s37-pc-logo-padding-top,0px);
  padding-bottom:var(--s37-pc-logo-padding-bottom,0px);
 }
}

/* The logo fits its desktop frame without distorting the artwork. */
@media(min-width:960px) {
 .s37-pc-logo-sized .s37-clean-title-image picture {
  width:var(--s37-pc-logo-width,100%);max-width:100%;
  height:var(--s37-pc-logo-height,var(--s37-fit));max-height:var(--s37-pc-logo-limit,none);
 }
 .s37-pc-logo-sized .s37-clean-foreground {
  height:var(--s37-pc-logo-image-fit,var(--s37-fit));max-height:100%;
 }
}
