.home-page .site-header {
  position: fixed;
  inset: 0 0 auto;
  color: var(--white);
  background: transparent;
  border-color: #fffdf733;
  transition: background .2s, color .2s, border-color .2s;
}
.home-page .site-header.is-scrolled,
.home-page .site-header.navigation-open {
  color: var(--ink);
  background: var(--paper);
  border-color: var(--line);
}
.home-page .header-call { border-color: currentColor; }
.home-page .site-header:not(.is-scrolled):not(.navigation-open) .header-call:hover {
  color: var(--ink);
  background: var(--paper);
  border-color: var(--paper);
}
.home-page .site-header:not(.is-scrolled):not(.navigation-open) a:focus-visible,
.home-page .site-header:not(.is-scrolled):not(.navigation-open) button:focus-visible,
.home-page .hero a:focus-visible { outline-color: var(--white); }
.home-page .hero {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-height: 100vh;
  min-height: 100svh;
  padding: 0;
  color: var(--white);
  background: #332d23;
  isolation: isolate;
}
.home-page .hero-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
}
.home-page .hero-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 25%;
  border-radius: 0;
}
.home-page .hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(180deg, #171b16a8 0%, #171b1600 27%, #171b1600 66%, #171b1638 100%),
    linear-gradient(90deg, #171b16b8 0%, #171b1699 31%, #171b1638 62%, #171b160d 100%);
}
.home-page .hero-inner {
  flex: 1;
  display: flex;
  align-items: flex-end;
  padding-block: calc(var(--header-height) + 64px) 96px;
}
.home-page .hero-copy { max-width: 830px; padding: 0; }
.home-page .hero h1 {
  font-size: clamp(78px, 8.5vw, 132px);
  line-height: .99;
  letter-spacing: -.03em;
  text-wrap: balance;
}
.home-page .hero-copy > p {
  max-width: 395px;
  margin-top: 28px;
  color: var(--white);
  font-size: 18px;
  line-height: 1.65;
}
.home-page .hero-actions {
  flex-direction: row;
  align-items: center;
  gap: 32px;
  margin-top: 32px;
}
.home-page .hero-actions .button {
  gap: 30px;
  padding: 17px 27px;
  color: var(--ink);
  background: var(--paper);
  border-color: var(--paper);
}
.home-page .hero-actions .button:hover { background: var(--sage); border-color: var(--sage); }
.home-page .hero-actions .text-link { border-color: #fffdf799; }
.home-page .hero-actions .text-link:hover { color: #fff; border-color: #fff; }
.home-page #our-place,
.home-page #visit { scroll-margin-top: 0; }
html:not(.js) .home-page .site-header { position: absolute; }

@media (min-width: 1600px) {
  .home-page .hero-inner { padding-bottom: 108px; }
}
@media (max-width: 850px) {
  .home-page .hero-inner { padding-bottom: 72px; }
  .home-page .hero h1 { font-size: clamp(64px, 10.5vw, 88px); }
  .home-page .hero::after {
    background: linear-gradient(180deg, #171b1699 0%, #171b161a 25%, #171b1626 37%, #171b16a8 66%, #171b16db 100%);
  }
}
@media (max-width: 850px) and (orientation: portrait) {
  .home-page .hero-photo { object-position: 55% 50%; }
}
@media (max-width: 600px) {
  .home-page .hero {
    min-height: calc(100vh - var(--measured-mobile-actions-height, calc(58px + env(safe-area-inset-bottom))));
    min-height: calc(100svh - var(--measured-mobile-actions-height, calc(58px + env(safe-area-inset-bottom))));
  }
  .home-page .hero-inner { padding-block: calc(var(--measured-header-height, var(--header-height)) + 32px) 44px; }
  .home-page .hero h1 { font-size: clamp(44px, 12.5vw, 72px); line-height: 1.03; }
  .home-page .hero-copy > p { max-width: 320px; font-size: 16px; line-height: 1.6; margin-top: 22px; }
  .home-page .hero-actions { gap: 27px; margin-top: 26px; }
  .home-page .hero-actions .button { padding: 15px 22px; gap: 25px; font-size: 14px; }
  .home-page .hero-actions .text-link { font-size: 14px; gap: 15px; }
  .home-page .nav-toggle { border-color: #fffdf780; }
  .home-page .nav-toggle span { background: currentColor; }
  .home-page .site-header.is-scrolled .nav-toggle,
  .home-page .site-header.navigation-open .nav-toggle { border-color: var(--line); }
  .home-page .navigation { color: var(--ink); }
  html:not(.js) .home-page .site-header {
    position: absolute;
    color: var(--ink);
    background: var(--paper);
  }
  html:not(.js) .home-page .hero-inner { padding-top: 195px; }
}
@media (max-width: 360px) {
  .home-page .hero-inner { padding-bottom: 32px; }
  .home-page .hero-actions { gap: 23px; margin-top: 22px; }
  .home-page .hero-actions .button { padding-inline: 18px; gap: 20px; font-size: 13px; }
  .home-page .hero-actions .text-link { font-size: 13px; }
}
@media (max-height: 520px) and (min-width: 601px) {
  .home-page .hero-inner { padding-block: calc(var(--header-height) + 16px) 24px; }
  .home-page .hero h1 { font-size: clamp(44px, 6vw, 70px); }
  .home-page .hero-copy > p { margin-top: 16px; max-width: 440px; font-size: 16px; }
  .home-page .hero-actions { margin-top: 20px; }
  .home-page .hero-actions .button { padding-block: 13px; }
}
