/* Public hero and hero media styles. */
.public-hero {
  display: grid;
  min-height: 420px;
  align-content: center;
  border-radius: 8px;
  background: var(--site-canvas);
  color: var(--ink);
  padding: clamp(2rem, 5vw, 5rem);
}

:root[data-site-theme=light] .public-hero {
  background: var(--site-canvas);
  color: var(--site-text-color);
}

:root[data-site-theme=dark] .public-hero {
  background: var(--site-canvas);
  color: var(--site-text-color);
}

.public-hero h1 {
  color: var(--site-heading-color);
  max-width: var(--site-heading-width);
  font-size: clamp(2.3rem, 6vw, 4.8rem);
  line-height: 0.98;
}

.public-hero h2 {
  color: var(--site-heading-color);
  max-width: var(--site-heading-width);
  font-size: clamp(2rem, 4.6vw, 3.6rem);
  line-height: 1.05;
}

.public-hero h3 {
  color: var(--site-heading-color);
  max-width: var(--site-heading-width);
  font-size: clamp(1.6rem, 3.2vw, 2.4rem);
  line-height: 1.15;
}

.public-hero p {
  max-width: var(--site-copy-width);
  color: var(--ink-muted);
  font-size: clamp(1rem, 2vw, 1.35rem);
  line-height: 1.6;
}

.public-hero .eyebrow,
.public-hero .cms-rich-editable-eyebrow,
.cms-rendered-hero .cms-layout-column.layout-copy > .site-block-type-paragraph:not(.site-block-type-paragraph ~ .site-block-type-paragraph) .cms-text-section .rich-text > p:only-child,
.cms-rendered-hero .cms-composable-stack-hero > .site-block-type-columns .cms-layout-grid-item:first-child > .site-block-type-column > .cms-layout-column > .site-block-type-paragraph:not(.site-block-type-paragraph ~ .site-block-type-paragraph) .cms-text-section .rich-text > p:only-child {
  max-width: var(--site-copy-width);
  margin-bottom: 0.55rem;
  color: var(--ink-muted);
  font-size: var(--site-eyebrow-font-size);
  font-weight: var(--site-eyebrow-font-weight);
  line-height: var(--site-eyebrow-line-height);
  letter-spacing: var(--site-eyebrow-letter-spacing);
  text-transform: var(--site-eyebrow-text-transform);
}

.cms-rendered-hero.with-image {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.75fr);
  gap: clamp(1.5rem, 4vw, 3rem);
}

.cms-rendered-hero.layout-media-left.with-image > .cms-composable-stack,
.cms-rendered-hero.layout-media-left.with-image > div:not(.cms-hero-media-slot),
.cms-site-story-band.layout-media-left > div {
  order: 2;
}

.cms-rendered-hero.layout-media-left.with-image > .cms-hero-media-slot,
.cms-rendered-hero.layout-media-left.with-image > img,
.cms-site-story-band.layout-media-left > img {
  order: 1;
}

.cms-rendered-hero.layout-media-left .cms-hero-regions > .site-block:first-child,
.cms-rendered-hero.layout-media-left .cms-hero-regions > .cms-layout-column:first-child {
  order: 2;
}

.cms-rendered-hero.layout-media-left .cms-hero-regions > .site-block:last-child,
.cms-rendered-hero.layout-media-left .cms-hero-regions > .cms-layout-column:last-child {
  order: 1;
}

.cms-rendered-hero.layout-media-left .cms-hero-regions > .site-block:has(> .cms-layout-column.layout-media),
.cms-rendered-hero.layout-media-left .cms-hero-regions > .cms-layout-column.layout-media,
.cms-rendered-hero.layout-media-left .cms-composable-stack-hero > .site-block-type-columns > .cms-layout-columns > .cms-layout-grid-item:has(.cms-layout-column.layout-media) {
  order: -1;
}

.cms-rendered-hero.layout-media-left .cms-hero-regions > .site-block:has(> .cms-layout-column.layout-copy),
.cms-rendered-hero.layout-media-left .cms-hero-regions > .cms-layout-column.layout-copy,
.cms-rendered-hero.layout-media-left .cms-composable-stack-hero > .site-block-type-columns > .cms-layout-columns > .cms-layout-grid-item:has(.cms-layout-column.layout-copy) {
  order: 2;
}

.cms-rendered-hero.layout-media-right .cms-hero-regions > .site-block:has(> .cms-layout-column.layout-media),
.cms-rendered-hero.layout-media-right .cms-hero-regions > .cms-layout-column.layout-media,
.cms-rendered-hero.layout-media-right .cms-composable-stack-hero > .site-block-type-columns > .cms-layout-columns > .cms-layout-grid-item:has(.cms-layout-column.layout-media) {
  order: 2;
}

.cms-rendered-hero.layout-media-right .cms-hero-regions > .site-block:has(> .cms-layout-column.layout-copy),
.cms-rendered-hero.layout-media-right .cms-hero-regions > .cms-layout-column.layout-copy,
.cms-rendered-hero.layout-media-right .cms-composable-stack-hero > .site-block-type-columns > .cms-layout-columns > .cms-layout-grid-item:has(.cms-layout-column.layout-copy) {
  order: 1;
}

.cms-rendered-hero.layout-stacked,
.cms-site-story-band.layout-stacked,
.cms-site-product-showcase.layout-stacked {
  grid-template-columns: 1fr;
}

.cms-rendered-hero img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  border-radius: 8px;
  object-fit: cover;
}

.cms-hero-media-slot {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 280px;
}

.cms-hero-media-slot > img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}

.cms-hero-media-slot > .cms-responsive-picture {
  width: 100%;
  height: 100%;
}

.cms-hero-media-slot > .cms-responsive-picture > img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}

.cms-hero-image-placeholder {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0.55rem;
  min-height: 280px;
  border: 1px dashed var(--line-strong);
  border-radius: 8px;
  background: var(--site-canvas);
  color: var(--site-text-color);
  padding: 1.4rem;
  text-align: center;
}

.cms-hero-image-placeholder span {
  max-width: 18rem;
  color: var(--ink-muted);
  font-size: 0.9rem;
}
