:root {
  --ground-rgb:241,234,220;
  --anim-filter:none;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    --ground-rgb:30,27,23;
    --anim-filter:none;
  }
}
:root[data-theme=dark] {
  --ground-rgb:30,27,23;
  --anim-filter:none;
}
.hero-band {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--hair);
  background: var(--ground);
  min-height: clamp(520px, 74vh, 820px);
  display: flex;
  flex-direction: column;
}
.hero-band .hb-in {
  position: relative;
  z-index: 4;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
}
.hero-band .pg-hero {
  border-bottom: 0;
  padding-top: clamp(40px, 7vw, 96px);
}
.pg.pg--after-hero {
  padding-top: 0;
}
.hb-floor,
.hb-vid,
.hb-poster,
.hb-fx {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: var(--anim-filter);
}
.hb-floor {
  z-index: 0;
}
.hb-poster {
  z-index: 0;
}
.hb-vid {
  z-index: 1;
  transition: opacity .6s ease;
}
.js .hb-vid {
  opacity: 0;
}
.hb-vid.is-playing,
.hb-vid.is-ready {
  opacity: 1;
}
.hero-band.no-video .hb-vid {
  display: none;
}
.hb-fx {
  z-index: 2;
  pointer-events: none;
}
.hb-tint {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(
      to bottom,
      rgba(var(--ground-rgb), 0.30) 0%,
      rgba(var(--ground-rgb), 0.06) 26%,
      rgba(var(--ground-rgb), 0.10) 52%,
      rgba(var(--ground-rgb), 0.72) 90%,
      var(--ground) 100%);
}
.hb-tint::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      100deg,
      rgba(var(--ground-rgb), calc(0.92*var(--hb-k))) 0%,
      rgba(var(--ground-rgb), calc(0.84*var(--hb-k))) 30%,
      rgba(var(--ground-rgb), calc(0.66*var(--hb-k))) 50%,
      rgba(var(--ground-rgb), calc(0.34*var(--hb-k))) 64%,
      transparent 78%);
}
:root {
  --hb-wash:.04;
  --hb-s1:.36;
  --hb-s2:.38;
  --scrim-lead:40px;
  --scrim-deep:120px;
  --hb-k:.35;
  --hb-muted:rgba(20,18,16,.88);
  --hb-gold-sm:#553C0A;
  --hb-eb-bg:.7;
  --hb-halo-link:var(--hb-halo-eb);
  --hb-halo:0 0 2px rgb(var(--ground-rgb)),0 0 6px rgb(var(--ground-rgb)),0 0 12px rgb(var(--ground-rgb)),
    0 0 20px rgba(var(--ground-rgb),.95),0 0 34px rgba(var(--ground-rgb),.85),0 0 56px rgba(var(--ground-rgb),.6);
  --hb-halo-eb:0 0 1px rgb(var(--ground-rgb)),0 0 2px rgb(var(--ground-rgb)),0 0 2px rgb(var(--ground-rgb)),0 0 3px rgb(var(--ground-rgb)),
    0 0 4px rgb(var(--ground-rgb)),0 0 5px rgb(var(--ground-rgb)),0 0 6px rgb(var(--ground-rgb)),
    0 0 8px rgb(var(--ground-rgb)),0 0 12px rgb(var(--ground-rgb)),0 0 18px rgb(var(--ground-rgb)),
    0 0 28px rgba(var(--ground-rgb),.9),0 0 44px rgba(var(--ground-rgb),.7);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    --hb-wash:.12;
    --hb-s1:.58;
    --hb-s2:.62;
    --hb-k:1;
    --hb-halo:0 0 18px rgba(var(--ground-rgb),.92),0 0 44px rgba(var(--ground-rgb),.6);
    --hb-halo-eb:var(--hb-halo);
    --hb-muted:var(--muted);
    --hb-gold-sm:var(--gold-text);
    --hb-eb-bg:0;
    --hb-halo-link:none;
  }
}
:root[data-theme=dark] {
  --hb-wash:.12;
  --hb-s1:.58;
  --hb-s2:.62;
  --hb-k:1;
  --hb-halo:0 0 18px rgba(var(--ground-rgb),.92),0 0 44px rgba(var(--ground-rgb),.6);
  --hb-halo-eb:var(--hb-halo);
  --hb-muted:var(--muted);
  --hb-gold-sm:var(--gold-text);
  --hb-eb-bg:0;
  --hb-halo-link:none;
}
@media (max-width: 900px) {
  .hb-tint::after {
    background: rgba(var(--ground-rgb), var(--hb-wash));
  }
  .hero-band .am-hero {
    position: relative;
  }
  .hero-band .am-hero::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    top: calc(var(--hb-hero-pt) - var(--scrim-lead));
    pointer-events: none;
    background:
      linear-gradient(
        to bottom,
        rgba(var(--ground-rgb), 0) 0,
        rgba(var(--ground-rgb), var(--hb-s1)) var(--scrim-lead),
        rgba(var(--ground-rgb), var(--hb-s2)) var(--scrim-deep),
        rgba(var(--ground-rgb), var(--hb-s2)) 100%);
  }
}
.hero-band .pg-hero h1,
.hero-band .pg-hero .sub,
.hero-band .pg-hero .eyebrow {
  text-shadow: 0 0 18px rgba(var(--ground-rgb), .92), 0 0 44px rgba(var(--ground-rgb), .6);
}
.js .hero-band--scrub {
  min-height: 0;
  height: 200vh;
  height: 200dvh;
  display: block;
  border-bottom: 0;
  overflow: clip;
}
.js .hero-band--scrub .hb-scene {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--hair);
}
.hero-band--scrub .hb-scene {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.js .hero-band--scrub .hb-in {
  padding-top: var(--nav-h);
}
@media (max-width: 900px) {
  .js .hero-band--scrub {
    height: 180vh;
    height: 180dvh;
  }
}
.hb-pan {
  position: absolute;
  inset: 0;
  z-index: 1;
  will-change: transform;
}
.hb-pan .hb-vid,
.hb-pan .hb-poster {
  position: absolute;
  inset: 0;
}
.hb-pan .hb-poster {
  z-index: 0;
}
.hb-pan .hb-vid {
  z-index: 1;
}
@media (orientation: portrait) {
  .hb-pan {
    left: -16%;
    width: 132%;
    transform: translate3d(var(--pan,0), 0, 0);
  }
}
.hb-keel {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
.hb-keel i {
  position: absolute;
  display: block;
  background: var(--hair);
  opacity: 0;
  will-change: transform, opacity;
}
.hb-keel .kv {
  top: 14%;
  bottom: 26%;
  width: 1px;
  left: var(--keel-x,50%);
  transform: translate3d(-60px, 0, 0);
}
.hb-keel .kh {
  left: var(--keel-x,50%);
  right: 8%;
  height: 1px;
  bottom: 26%;
  transform: translate3d(60px, 0, 0);
}
.hb-keel .kd {
  width: 26px;
  height: 1px;
  background: var(--gold);
  left: var(--keel-x,50%);
  top: 14%;
  transform: translate3d(-60px, 0, 0);
}
.hero-band--scrub .hb-tint::after {
  background:
    linear-gradient(
      100deg,
      rgba(var(--ground-rgb), 0.92) 0%,
      rgba(var(--ground-rgb), 0.76) 28%,
      rgba(var(--ground-rgb), 0.26) 48%,
      transparent 64%);
}
@media (max-width: 900px) {
  .hero-band--scrub .hb-tint::after {
    background:
      linear-gradient(
        to bottom,
        rgba(var(--ground-rgb), 0.40) 0%,
        rgba(var(--ground-rgb), 0.36) 44%,
        rgba(var(--ground-rgb), 0.88) 74%,
        rgba(var(--ground-rgb), 0.95) 100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-band--loop .hb-vid,
  .hero-band--loop .hb-vid.is-playing {
    opacity: 0;
  }
  .js .hero-band--scrub {
    height: auto;
    min-height: clamp(520px, 74vh, 820px);
    display: flex;
    border-bottom: 1px solid var(--hair);
  }
  .js .hero-band--scrub .hb-scene {
    position: relative;
    height: auto;
    flex: 1;
    border-bottom: 0;
  }
  .js .hero-band--scrub .hb-in {
    padding-top: 0;
  }
  .hb-keel i {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .hb-vid {
    transition: none;
  }
}
@media print {
  .hero-band {
    min-height: 0;
    height: auto;
    display: block;
  }
  .js .hero-band--scrub {
    height: auto;
  }
  .js .hero-band--scrub .hb-scene {
    position: static;
    height: auto;
  }
  .hb-floor,
  .hb-vid,
  .hb-poster,
  .hb-fx,
  .hb-tint,
  .hb-keel {
    display: none;
  }
  .hero-band .pg-hero h1,
  .hero-band .pg-hero .sub,
  .hero-band .pg-hero .eyebrow {
    text-shadow: none;
  }
}
.hero-band {
  --hb-hero-pt:clamp(96px,12vw,160px);
}
.hero-band .am-hero {
  width: 100%;
  padding-top: var(--hb-hero-pt);
}
.hero-band .am-hero .am-eyebrow,
.hero-band .am-hero .am-kicker,
.hero-band .am-hero .am-h1,
.hero-band .am-hero .am-sub,
.hero-band .am-hero .am-intro,
.hero-band .am-hero .am-words,
.hero-band .am-hero .am-cred {
  text-shadow: var(--hb-halo);
}
.hero-band .am-hero .am-eyebrow,
.hero-band .am-hero .am-words,
.hero-band .am-hero .am-kicker,
.hero-band .am-hero .am-intro,
.hero-band .am-hero .am-cred {
  text-shadow: var(--hb-halo-eb);
}
.hero-band .am-hero .am-link {
  text-shadow: var(--hb-halo-link);
}
.hero-band .am-hero .am-kicker,
.hero-band .am-hero .am-intro,
.hero-band .am-hero .am-cred {
  color: var(--hb-muted);
}
.hero-band .am-hero .am-words,
.hero-band .am-hero .am-link {
  color: var(--hb-gold-sm);
}
.hero-band .am-hero .am-h1 em {
  color: var(--gold-text);
}
.hero-band .am-hero .am-eyebrow {
  color: var(--hb-gold-sm);
}
.hero-band .am-hero .am-eyebrow {
  position: relative;
  width: fit-content;
}
@media (min-width: 601px) and (max-width: 1023px) {
  .hero-band .am-hero .am-eyebrow::before {
    content: "";
    position: absolute;
    inset: -9px -16px;
    z-index: -1;
    pointer-events: none;
    background: rgb(var(--ground-rgb));
    opacity: var(--hb-eb-bg);
    filter: blur(9px);
  }
}
