/* Loaded by homepage2 only. No shared theme stylesheet is changed. */
body.homepage2-page {
  --hp2-nav: 80px;
  --hp2-admin: 0px;
  --hp2-screen: calc(100svh - var(--hp2-nav) - var(--hp2-admin));
  --hp2-travel: 240svh;
}
body.homepage2-page.admin-bar { --hp2-admin: 32px; }
body.homepage2-page > header[role="banner"] { top: var(--hp2-admin); }
body.homepage2-page > header[role="banner"] > div:first-child > div { height: var(--hp2-nav); }
.homepage2-hero {
  --hp2-progress: 0;
  --hp2-intro: 1;
  --hp2-outro: 0;
  position: relative;
  height: var(--hp2-screen);
  min-height: 480px;
  margin-top: 0;
  background: #242a20;
  color: #fffdf7;
}
.homepage2-hero.is-enhanced { height: calc(var(--hp2-screen) + var(--hp2-travel)); }
.homepage2-hero__stage {
  position: sticky;
  top: calc(var(--hp2-nav) + var(--hp2-admin));
  height: var(--hp2-screen);
  min-height: 480px;
  overflow: hidden;
  isolation: isolate;
  background: #242a20;
}
.homepage2-hero__poster, .homepage2-hero__video, .homepage2-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.homepage2-hero__poster, .homepage2-hero__video { object-fit: cover; object-position: 50% 50%; }
.homepage2-hero__video { opacity: 0; pointer-events: none; }
.homepage2-hero.is-ready .homepage2-hero__video { opacity: 1; }
.homepage2-hero__shade {
  pointer-events: none;
  background: linear-gradient(180deg, rgb(17 25 19 / 24%) 0%, transparent 22%, transparent 36%, rgb(13 22 16 / 13%) 57%, rgb(13 22 16 / 77%) 100%);
}
.homepage2-hero__topline, .homepage2-hero__bottom {
  position: absolute;
  z-index: 2;
  left: clamp(24px, 5vw, 88px);
  right: clamp(24px, 5vw, 88px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.homepage2-hero__topline { top: 28px; font-size: 11px; font-weight: 600; letter-spacing: .17em; text-shadow: 0 1px 12px #19251f; }
.homepage2-hero__dot { padding: 0 10px; color: #d5df9a; }
.homepage2-hero__intro, .homepage2-hero__outro {
  position: absolute;
  z-index: 2;
  left: clamp(24px, 5vw, 88px);
  bottom: clamp(110px, 13vh, 160px);
  max-width: 640px;
  text-shadow: 0 2px 28px rgb(11 17 10 / 20%);
}
.homepage2-hero__intro { opacity: var(--hp2-intro); transform: translateY(calc((1 - var(--hp2-intro)) * -18px)); }
.homepage2-hero__outro { opacity: var(--hp2-outro); visibility: hidden; transform: translateY(calc((1 - var(--hp2-outro)) * 18px)); }
.homepage2-hero__eyebrow { margin: 0 0 18px; font-size: 12px; font-weight: 500; letter-spacing: .11em; }
.homepage2-hero h1, .homepage2-hero h2 { color: inherit; font-weight: 500; letter-spacing: -.055em; line-height: .97; margin: 0; }
.homepage2-hero h1 { font-size: clamp(64px, 7.1vw, 114px); }
.homepage2-hero h1 span { color: #e7ebce; }
.homepage2-hero h2 { font-size: clamp(50px, 5.4vw, 84px); }
.homepage2-hero__description { font-size: 17px; line-height: 1.5; margin: 22px 0 18px; color: #f5f4e9; }
.homepage2-hero a { color: #fffdf7; }
.homepage2-hero a:hover { color: #e4edba; }
.homepage2-hero a:focus-visible { outline: 2px solid #fffdf7; outline-offset: 7px; }
.homepage2-hero__text-link { display: inline-flex; align-items: center; gap: 20px; font-size: 14px; font-weight: 600; border-bottom: 1px solid rgb(255 253 247 / 50%); padding: 0 0 7px; }
.homepage2-hero__button { display: inline-flex; align-items: center; gap: 28px; padding: 16px 24px; border: 1px solid rgb(255 253 247 / 55%); background: rgb(30 39 25 / 35%); border-radius: 3px; font-size: 15px; font-weight: 600; margin-top: 28px; }
.homepage2-hero__button:hover { background: #59642d; }
.homepage2-hero__bottom { bottom: 30px; font-size: 12px; }
.homepage2-hero__instruction { display: flex; align-items: center; gap: 12px; }
.homepage2-hero__scroll-icon { display: grid; place-items: center; width: 30px; height: 40px; border: 1px solid rgb(255 253 247 / 45%); border-radius: 18px; font-size: 18px; }
.homepage2-hero__counter { display: flex; gap: clamp(24px, 4vw, 64px); font-size: 10px; letter-spacing: .12em; font-variant-numeric: tabular-nums; }
.homepage2-hero__counter [data-homepage2-percent] { min-width: 36px; text-align: right; }
.homepage2-hero__skip { display: inline-flex; align-items: center; gap: 16px; font-size: 11px; opacity: .85; }
.homepage2-hero__progress { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; height: 4px; background: rgb(255 253 247 / 25%); }
.homepage2-hero__progress > span { display: block; height: 100%; width: 100%; background: #d5df9a; transform: scaleX(var(--hp2-progress)); transform-origin: left; }
.homepage2-content-start { scroll-margin-top: calc(var(--hp2-nav) + var(--hp2-admin)); }
.homepage2-hero.is-static .homepage2-hero__counter, .homepage2-hero.is-static .homepage2-hero__progress { display: none; }
@media (max-width: 1023px) {
  body.homepage2-page { --hp2-nav: 64px; --hp2-travel: 200svh; }
  .homepage2-hero__counter { gap: 18px; }
  .homepage2-hero__skip { font-size: 0; gap: 0; }
  .homepage2-hero__skip span { font-size: 20px; padding: 10px; }
}
@media (max-width: 782px) { body.homepage2-page.admin-bar { --hp2-admin: 46px; } }
@media (max-width: 600px) {
  .homepage2-hero__topline { top: 20px; font-size: 9px; letter-spacing: .12em; }
  .homepage2-hero__topline > span:last-child { display: none; }
  .homepage2-hero__intro, .homepage2-hero__outro { bottom: 126px; right: 24px; }
  .homepage2-hero h1 { font-size: clamp(62px, 17vw, 86px); }
  .homepage2-hero h2 { font-size: clamp(46px, 13vw, 68px); }
  .homepage2-hero__eyebrow { font-size: 10px; margin-bottom: 15px; }
  .homepage2-hero__description { font-size: 15px; margin: 18px 0; }
  .homepage2-hero__bottom { bottom: 22px; flex-wrap: wrap; column-gap: 12px; row-gap: 12px; }
  .homepage2-hero__instruction { font-size: 11px; flex-basis: calc(100% - 40px); }
  .homepage2-hero__counter { order: 3; flex-basis: 100%; justify-content: space-between; font-size: 9px; }
  .homepage2-hero__scroll-icon { width: 22px; height: 30px; font-size: 15px; }
  .homepage2-hero__skip { position: absolute; top: -2px; right: -8px; }
}
@media (max-height: 600px) and (min-width: 601px) {
  .homepage2-hero, .homepage2-hero__stage { min-height: 360px; }
  .homepage2-hero__intro, .homepage2-hero__outro { bottom: 94px; }
  .homepage2-hero h1 { font-size: 56px; }
  .homepage2-hero h2 { font-size: 44px; }
  .homepage2-hero__eyebrow { margin-bottom: 10px; }
  .homepage2-hero__description { margin: 12px 0; font-size: 14px; }
  .homepage2-hero__topline { top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .homepage2-hero.is-enhanced { height: var(--hp2-screen); }
  .homepage2-hero__video, .homepage2-hero__outro { display: none; }
  .homepage2-hero__intro { opacity: 1; transform: none; }
  .homepage2-hero__counter, .homepage2-hero__progress { display: none; }
}
