/* Shared hero exception: no editorial eyebrow/rule or generic module padding. */
:root {
  --site-hero-height: 600px;
  --site-hero-title: 44px;
  --site-hero-bottom: 56px;
  --site-hero-gutter: max(28px, calc((100vw - 1200px) / 2));
}
main:has([data-hero-layout]) { padding-top: 0; }
.site-photo-hero {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  width: 100vw;
  max-width: none;
  height: var(--site-hero-height);
  margin: 0 calc(50% - 50vw);
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  background: var(--palette-forest);
  color: var(--palette-white);
}
.site-photo-hero-picture { display: block; position: absolute; inset: 0; }
.site-photo-hero-picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  border: 0;
  border-radius: 0;
  filter: none;
}
.site-photo-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 55% 0 0;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--palette-forest) 75%, transparent));
}
.site-photo-hero-inner {
  position: absolute;
  z-index: 2;
  inset: auto var(--site-hero-gutter) var(--site-hero-bottom);
}
.site-photo-hero-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.site-photo-hero h1 {
  margin: 0;
  padding: 0;
  color: var(--palette-white);
  font: 700 var(--site-hero-title)/1.25 "PingFang SC", "Noto Sans SC", sans-serif;
  letter-spacing: 0;
  text-wrap: balance;
}
.site-photo-hero .hero-phrase { display: block; }
.site-photo-hero .hero-words-accent { color: var(--palette-brand-yellow); }
body .site-photo-hero .site-photo-hero-subtitle.type-copy[data-type-copy] {
  margin: 0;
  padding: 0;
  color: var(--palette-white) !important;
  font-size: 20px !important;
  line-height: 1.7 !important;
}
.site-photo-hero .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 12px 0 0; }
.site-photo-hero .button-hero-primary { background: var(--palette-action); color: var(--palette-action-ink); border-color: var(--palette-action); }
.site-photo-hero .button-hero-secondary { background: transparent; color: var(--palette-white); border-color: var(--palette-white); }
.site-photo-hero .button:hover { filter: brightness(.93); }
.site-photo-hero--overview::after {
  inset: 0;
  /* Keep the helmet and face clear before the full-width, gradual transition. */
  background: linear-gradient(
    to right,
    color-mix(in srgb, var(--palette-forest) 0%, transparent) 0%,
    color-mix(in srgb, var(--palette-forest) 0%, transparent) 56%,
    color-mix(in srgb, var(--palette-forest) 12%, transparent) 64%,
    color-mix(in srgb, var(--palette-forest) 48%, transparent) 76%,
    color-mix(in srgb, var(--palette-forest) 82%, transparent) 90%,
    color-mix(in srgb, var(--palette-forest) 96%, transparent) 100%
  );
}
.site-photo-hero--overview .site-photo-hero-inner { top: 0; bottom: 0; display: flex; align-items: center; justify-content: flex-end; }
.site-photo-hero--overview .site-photo-hero-copy { width: 430px; max-width: 40%; }
.site-photo-hero--overview .site-photo-hero-picture img { object-position: 50% 42%; }
.site-photo-hero + .brand-subnav-wrap { width: 100vw; max-width: none; margin: 0 calc(50% - 50vw); }
/* V1 remains a framed video, with the existing click-to-load player. */
.home-video-hero[data-hero-layout] { padding: 72px 40px; background: var(--palette-forest); margin-block: 0; }
.home-video-hero[data-hero-layout] .home-video-hero-inner { grid-template-columns: minmax(0,760fr) minmax(0,464fr); max-width: 1280px; gap: 56px; }
.home-video-hero[data-hero-layout] .home-video-hero-media::before,
.home-video-hero[data-hero-layout] .home-video-hero-media::after { content: none; }
.home-video-hero[data-hero-layout] .home-video-hero-words { font-size: 64px; line-height: 1.25; white-space: normal; }
body .home-video-hero[data-hero-layout] .home-video-hero-tagline.type-copy[data-type-copy] { margin: 24px 0 0; font-size: 22px !important; color: var(--palette-white) !important; line-height: 1.7 !important; }
.home-video-hero[data-hero-layout] .hero-actions { margin-top: 32px; }
@media (min-width:720px) and (max-width:1199px) {
  .home-video-hero[data-hero-layout] { padding-inline: 32px; }
}
@media (max-width:1023px) {
  .site-photo-hero--overview .site-photo-hero-copy { max-width: 44%; }
  .home-video-hero[data-hero-layout] .home-video-hero-inner { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 32px; }
}
@media (min-width:720px) and (max-height:750px) {
  .home-video-hero[data-hero-layout] { padding-block: 40px; }
}
@media (max-width:719px) {
  :root { --site-hero-height: 480px; --site-hero-title: 30px; --site-hero-bottom: 32px; --site-hero-gutter: 24px; }
  .site-photo-hero-inner { inset-inline: 24px; }
  .site-photo-hero-copy { gap: 12px; }
  body .site-photo-hero .site-photo-hero-subtitle.type-copy[data-type-copy] { font-size: 17px !important; }
  .site-photo-hero--overview { height: auto; }
  .site-photo-hero--overview .site-photo-hero-picture { position: relative; inset: auto; }
  .site-photo-hero--overview .site-photo-hero-picture img { width: 100%; height: auto; object-fit: contain; }
  .site-photo-hero--overview::after { content: none; }
  .site-photo-hero--overview .site-photo-hero-inner { position: relative; inset: auto; padding: 32px 24px; display: block; }
  .site-photo-hero--overview .site-photo-hero-copy { width: 100%; max-width: none; }
  .home-video-hero[data-hero-layout] { padding: 40px 24px; }
  .home-video-hero[data-hero-layout] .home-video-hero-inner { grid-template-columns: minmax(0,1fr); gap: 32px; max-width: none; }
  .home-video-hero[data-hero-layout] .home-video-hero-words { font-size: 38px; }
  body .home-video-hero[data-hero-layout] .home-video-hero-tagline.type-copy[data-type-copy] { font-size: 20px !important; margin-top: 20px; }
  .home-video-hero[data-hero-layout] .hero-actions { margin-top: 24px; }
}
