@font-face {
  font-family:Oswald;
  src:url('assets/oswald-700.woff') format('woff');
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
@font-face {
  font-family:Oswald;
  src:url('assets/oswald-400.woff') format('woff');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
:root {
  --ink:#211e1a;
  --bone:#e4e5df;
  --paper:#fff;
  --black:#080706;
  --muted:#51554e;
  --line:#b9bdb2;
  --heading:Oswald,'Arial Narrow',sans-serif;
  --body:Arial,Helvetica,sans-serif;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:105px;
}
body {
  margin:0;
  background:var(--bone);
  color:var(--ink);
  font-family:var(--body);
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  font:inherit;
  color:inherit;
}
button,a {
  -webkit-tap-highlight-color:transparent;
}
button {
  cursor:pointer;
}
a:focus-visible,button:focus-visible {
  outline:3px solid #836549;
  outline-offset:5px;
}
figure,h1,h2,p {
  margin:0;
}
img {
  display:block;
  width:100%;
  height:auto;
}
svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:square;
  stroke-linejoin:miter;
  flex-shrink:0;
}
.wrap {
  width:min(1280px,calc(100% - 112px));
  margin-inline:auto;
}
.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  background:white;
  z-index:20;
}
.skip-link:focus-visible {
  width:auto;
  height:auto;
  padding:14px;
  clip-path:none;
}
.header {
  background:var(--paper);
  border-bottom:1px solid #e5e1d9;
  position:relative;
  z-index:10;
}
.header-inner {
  width:min(1280px,calc(100% - 112px));
  margin:auto;
  min-height:108px;
  display:flex;
  align-items:center;
  gap:36px;
}
.brand {
  width:202px;
  flex-shrink:0;
}
.brand img {
  height:auto;
}
nav {
  display:flex;
  align-items:center;
  gap:30px;
  margin-left:auto;
  font:700 15px var(--heading);
  text-transform:uppercase;
}
nav>a,.menu-toggle {
  padding-block:18px;
}
nav a:hover,.menu-toggle:hover {
  color:#806347;
}
nav [aria-current] {
  text-decoration:underline;
  text-underline-offset:7px;
}
.header-phone {
  font:400 17px var(--heading);
  padding-left:28px;
  border-left:1px solid #d6d1c8;
  white-space:nowrap;
}
.nav-toggle {
  display:none;
}
.menu-group {
  position:relative;
}
.menu-toggle {
  background:none;
  border:0;
  display:flex;
  align-items:center;
  gap:6px;
  font:inherit;
  text-transform:inherit;
}
.menu-toggle svg {
  width:14px;
  height:14px;
}
.menu-links {
  position:absolute;
  left:-20px;
  top:100%;
  min-width:165px;
  padding:10px;
  background:white;
  border:1px solid #e5e1d9;
  box-shadow:0 12px 28px #211e1a10;
}
.menu-links a {
  display:block;
  padding:12px;
}
.menu-links[hidden] {
  display:none;
}
.hero {
  position:relative;
  isolation:isolate;
  color:#f2f3ec;
  padding-top:64px;
  display:grid;
  grid-template-columns:1.08fr 1fr;
  column-gap:62px;
  align-items:center;
}
.hero:before {
  content:'';
  position:absolute;
  inset:0 calc(50% - 50vw);
  background:#222620;
  z-index:-1;
}
.hero .hero-description,
.hero .hero-photo figcaption,
.hero .hero-bottom {
  color:#c4cbbd;
}
.hero .hero-bottom {
  border-color:#51584b;
}
.hero .button {
  border-color:#e7ebdf;
}
.hero .button.primary {
  background:#e7ebdf;
  color:#222620;
}
.hero .button.primary:hover {
  background:#fff;
}
.hero .button.secondary:hover {
  background:#394032;
}
.hero-copy {
  padding-bottom:8px;
}
h1,h2 {
  font-family:var(--heading);
  font-weight:700;
  letter-spacing:-.04em;
}
h1 {
  font-size:clamp(72px,8.5vw,126px);
  line-height:1.03;
}
.hero-lead {
  font:400 28px/1.25 var(--heading);
  margin-top:28px;
  letter-spacing:-.015em;
}
.hero-description {
  font-size:16px;
  line-height:1.7;
  max-width:390px;
  margin-top:18px;
  color:var(--muted);
}
.actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:24px;
  min-height:52px;
  padding:14px 22px;
  font:700 14px var(--heading);
  text-transform:uppercase;
  letter-spacing:.035em;
  border:1px solid var(--ink);
  transition:background .2s,color .2s;
}
.button.primary {
  background:var(--ink);
  color:white;
}
.button.primary:hover {
  background:#424a3b;
}
.button.secondary:hover {
  background:#cbd0c2;
}
.hero-photo {
  align-self:stretch;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.hero-photo img {
  height:540px;
  object-fit:cover;
  object-position:50% 50%;
}
.hero-photo figcaption {
  display:flex;
  justify-content:space-between;
  padding-top:13px;
  font-size:11px;
  line-height:1.5;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
}
.hero-bottom {
  grid-column:1/-1;
  border-top:1px solid var(--line);
  margin-top:44px;
  padding:22px 0 26px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  color:var(--muted);
}
.hero-bottom>a {
  display:flex;
  align-items:center;
  gap:18px;
}
.hero-bottom svg {
  width:17px;
  height:17px;
}
.philosophy {
  background:var(--black);
  color:#f3eee5;
}
.lamps {
  height:500px;
  background:url('assets/lamps.webp') center 34%/cover no-repeat;
  position:relative;
}
.lamps:after {
  content:'';
  position:absolute;
  inset:60% 0 0;
  background:linear-gradient(transparent,var(--black));
}
.story {
  display:grid;
  grid-template-columns:.82fr 1fr;
  gap:110px;
  padding-top:26px;
  padding-bottom:100px;
}
.section-label {
  font:400 12px var(--body);
  letter-spacing:.14em;
  text-transform:uppercase;
  display:block;
  margin-bottom:22px;
}
h2 {
  font-size:clamp(42px,4.5vw,66px);
  line-height:1.12;
}
.story-heading {
  padding-top:6px;
}
.story-heading h2 {
  font-size:68px;
  line-height:1.12;
}
.story-heading h2 span {
  color:#a39987;
}
.welcome {
  font:400 19px var(--heading);
  margin-top:38px;
}
.story-copy {
  font-size:16px;
  line-height:1.8;
  color:#c8c2b8;
  text-wrap:pretty;
  max-width:68ch;
}
.story-copy>p+p {
  margin-top:24px;
}
.story-copy .story-intro {
  font-size:19px;
  line-height:1.6;
  color:#f3eee5;
}
.story-copy .story-quote {
  font:400 29px/1.4 var(--heading);
  color:#f3eee5;
  padding:20px 0;
  border-block:1px solid #4a443b;
  margin-block:32px;
}
.story-copy .source-signoff {
  font-size:13px;
  color:#aaa296;
  padding-top:24px;
  border-top:1px solid #4a443b;
}
.source-welcome {
  font-size:14px;
}
.steak-section {
  padding-block:110px;
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:100px;
  align-items:center;
}
.steak-photo img {
  height:560px;
  object-fit:cover;
  object-position:50% 50%;
}
.steak-copy p {
  font-size:16px;
  line-height:1.75;
  color:var(--muted);
  margin-top:26px;
}
.marble {
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:32px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.marble strong {
  font:700 58px/1 var(--heading);
  letter-spacing:-.04em;
}
.marble span {
  max-width:100px;
  font-size:12px;
  line-height:1.5;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.steak-copy .cuts {
  font:400 20px/1.6 var(--heading);
  margin-top:18px;
  color:var(--ink);
}
.text-link {
  font:700 15px var(--heading);
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:24px;
  border-bottom:1px solid currentColor;
  padding-bottom:9px;
  margin-top:30px;
}
.text-link:hover {
  color:#806347;
}
.menu-section {
  background:#cdd1c4;
  padding-block:84px;
}
.menu-layout {
  display:grid;
  grid-template-columns:1fr .85fr;
  gap:100px;
  align-items:center;
}
.menu-copy>p {
  margin-top:22px;
  font-size:15px;
  line-height:1.7;
  color:var(--muted);
}
.menu-rows {
  margin-top:34px;
  border-top:1px solid #b3a795;
}
.menu-rows>a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #b3a795;
  padding:21px 0;
  font:400 38px var(--heading);
}
.menu-rows>a svg {
  width:28px;
  height:28px;
  transition:transform .2s;
}
.menu-rows>a:hover svg {
  transform:translateX(6px);
}
.drinks-photo img {
  height:410px;
  object-fit:cover;
  object-position:50% 50%;
}
.visit {
  padding-block:110px;
  display:grid;
  grid-template-columns:.9fr 1fr;
  gap:110px;
  align-items:center;
}
.interior img {
  height:680px;
  object-fit:cover;
  object-position:50% 50%;
}
.visit-copy h2 {
  font-size:62px;
}
.address {
  font-size:19px;
  line-height:1.5;
  margin-top:24px;
}
.visit-copy>.text-link {
  margin-top:15px;
}
.hours {
  padding:0;
  margin:30px 0 0;
  border-top:1px solid var(--line);
  font-size:14px;
}
.hours>div {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:11px 0;
  border-bottom:1px solid var(--line);
}
.hours dd {
  margin:0;
  white-space:nowrap;
}
.last-orders {
  font-size:12px;
  color:var(--muted);
  margin-top:12px;
}
.visit-copy>p:not([class]) {
  font-size:14px;
  line-height:1.6;
  margin-top:25px;
}
.phone {
  font:400 20px var(--heading);
  margin-left:8px;
}
.booking-note {
  font-size:11px;
  color:var(--muted);
  margin-top:12px;
}
.footer {
  background:#fff;
}
.footer-main {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding-block:46px;
}
.footer-brand {
  width:170px;
}
.footer-main>p {
  font:700 32px var(--heading);
  letter-spacing:-.02em;
}
.footer-main>a:last-child {
  display:flex;
  gap:20px;
  align-items:center;
  font:400 18px var(--heading);
}
.footer-meta {
  border-top:1px solid #ddd7ce;
  padding-block:20px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-size:10px;
  line-height:1.6;
  color:var(--muted);
}
@media(min-width:1600px) {
  .hero {
    padding-top:80px;
  }
  .hero-photo img {
    height:590px;
  }
}
@media(max-width:1100px) {
  .wrap {
    width:calc(100% - 64px);
  }
  .header-inner {
    width:calc(100% - 48px);
    gap:24px;
    min-height:96px;
  }
  .brand {
    width:176px;
  }
  nav {
    gap:22px;
    font-size:14px;
  }
  .header-phone {
    display:none;
  }
  .hero {
    gap:36px;
    padding-top:44px;
  }
  .hero-photo img {
    height:510px;
  }
  .hero-lead {
    font-size:25px;
  }
  .story,.steak-section,.menu-layout,.visit {
    gap:60px;
  }
  .story-heading h2 {
    font-size:58px;
  }
  .lamps {
    height:420px;
  }
  .steak-photo img {
    height:520px;
  }
  .interior img {
    height:680px;
  }
  .visit-copy h2 {
    font-size:54px;
  }
}
@media(max-width:850px) {
  .header-inner {
    min-height:84px;
  }
  .brand {
    width:160px;
  }
  nav {
    gap:17px;
    font-size:13px;
  }
  .hero {
    gap:28px;
  }
  .hero-photo img {
    height:490px;
  }
  .hero-description {
    font-size:14px;
  }
  .button {
    padding-inline:16px;
    gap:15px;
    font-size:13px;
  }
  .hero-lead {
    font-size:23px;
  }
  h1 {
    font-size:74px;
  }
  .story {
    grid-template-columns:.7fr 1fr;
    gap:40px;
  }
  .story-heading h2 {
    font-size:46px;
  }
  .story-copy {
    font-size:15px;
  }
  .steak-section,.visit {
    gap:40px;
    padding-block:80px;
  }
  .steak-copy h2,.menu-copy h2 {
    font-size:44px;
  }
  .steak-photo img {
    height:500px;
  }
  .menu-layout {
    gap:40px;
  }
  .drinks-photo img {
    height:360px;
  }
  .visit-copy h2 {
    font-size:48px;
  }
  .hours {
    font-size:12px;
  }
  .interior img {
    height:680px;
  }
}
@media(max-width:700px) {
  html {
    scroll-padding-top:20px;
  }
  .wrap {
    width:calc(100% - 40px);
  }
  .header-inner {
    min-height:76px;
    width:calc(100% - 40px);
    justify-content:space-between;
  }
  .brand {
    width:150px;
  }
  .nav-toggle {
    display:flex;
    align-items:center;
    gap:10px;
    border:0;
    background:transparent;
    padding:14px 0 14px 14px;
    font:400 14px var(--heading);
    text-transform:uppercase;
  }
  .toggle-lines {
    width:21px;
    height:14px;
    border-block:2px solid;
    position:relative;
  }
  .toggle-lines:after {
    content:'';
    position:absolute;
    top:4px;
    left:0;
    width:21px;
    border-top:2px solid;
  }
  nav {
    display:none;
    margin:0;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:white;
    border-bottom:1px solid var(--line);
    padding:12px 20px 22px;
    align-items:stretch;
    gap:0;
    font-size:17px;
    box-shadow:0 18px 22px #211e1a15;
  }
  nav.is-open {
    display:flex;
    flex-direction:column;
  }
  nav>a,.menu-toggle {
    padding:15px 0;
    text-align:left;
  }
  .menu-toggle {
    width:100%;
    justify-content:space-between;
  }
  .menu-links {
    position:static;
    box-shadow:none;
    border:0;
    border-left:1px solid var(--line);
    margin:0 0 8px 2px;
    padding:0 0 0 16px;
  }
  .menu-links a {
    padding:12px 0;
  }
  .hero {
    padding-top:30px;
    display:flex;
    flex-direction:column;
    gap:0;
    align-items:stretch;
  }
  .hero-copy {
    padding:0;
  }
  h1 {
    font-size:clamp(61px,17.4vw,100px);
    line-height:1.01;
    letter-spacing:-.045em;
  }
  .hero-lead {
    font-size:22px;
    line-height:1.25;
    margin-top:18px;
  }
  .hero-lead br {
    display:none;
  }
  .hero-description {
    font-size:14px;
    line-height:1.6;
    max-width:100%;
    margin-top:12px;
  }
  .actions {
    gap:10px;
    margin-top:20px;
  }
  .button {
    min-height:48px;
    padding:12px 18px;
    font-size:13px;
    gap:22px;
  }
  .hero-photo {
    margin-top:26px;
  }
  .hero-photo img {
    height:245px;
    object-position:50% 48%;
  }
  .hero-photo figcaption {
    font-size:9px;
    padding-top:10px;
    letter-spacing:.05em;
  }
  .hero-bottom {
    margin-top:25px;
    padding:18px 0 20px;
    gap:14px;
    font-size:10px;
  }
  .hero-bottom>span {
    max-width:120px;
    line-height:1.6;
  }
  .hero-bottom>a {
    gap:8px;
    line-height:1.5;
  }
  .lamps {
    height:270px;
    background-size:auto 490px;
    background-position:center 27%;
  }
  .story {
    display:block;
    padding-top:8px;
    padding-bottom:54px;
  }
  .section-label {
    font-size:10px;
    letter-spacing:.14em;
    margin-bottom:16px;
  }
  .story-heading h2 {
    font-size:46px;
    line-height:1.1;
  }
  .story-heading h2 br:first-child {
    display:none;
  }
  .welcome {
    margin-top:18px;
    font-size:17px;
  }
  .story-copy {
    margin-top:32px;
    font-size:15px;
    line-height:1.8;
  }
  .story-copy .story-intro {
    font-size:17px;
  }
  .story-copy>p+p {
    margin-top:20px;
  }
  .story-copy .story-quote {
    font-size:25px;
    margin-block:26px;
    padding-block:20px;
  }
  .story-copy .source-signoff {
    font-size:12px;
  }
  .source-welcome {
    font-size:13px;
  }
  .steak-section {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding-block:58px;
    gap:32px;
  }
  .steak-photo img {
    height:310px;
    object-position:35% 50%;
  }
  h2,.steak-copy h2,.menu-copy h2,.visit-copy h2 {
    font-size:44px;
  }
  .steak-copy p {
    font-size:15px;
    margin-top:20px;
  }
  .marble {
    margin-top:24px;
    padding-top:24px;
  }
  .marble strong {
    font-size:52px;
  }
  .steak-copy .cuts {
    font-size:19px;
    margin-top:14px;
  }
  .text-link {
    font-size:14px;
    margin-top:24px;
  }
  .menu-section {
    padding-block:54px;
  }
  .menu-layout {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:32px;
  }
  .menu-copy>p {
    font-size:14px;
    margin-top:18px;
  }
  .menu-rows {
    margin-top:25px;
  }
  .menu-rows>a {
    font-size:32px;
    padding-block:18px;
  }
  .drinks-photo img {
    height:270px;
  }
  .visit {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding-block:58px;
    gap:32px;
  }
  .interior img {
    height:350px;
    object-position:center 47%;
  }
  .address {
    font-size:18px;
    margin-top:20px;
  }
  .hours {
    font-size:13px;
    margin-top:26px;
  }
  .hours>div {
    padding-block:12px;
  }
  .visit-copy .actions {
    gap:14px;
  }
  .phone {
    font-size:19px;
    margin-left:0;
  }
  .footer-main {
    padding-block:32px;
    flex-wrap:wrap;
    gap:26px;
  }
  .footer-brand {
    width:145px;
  }
  .footer-main>p {
    font-size:24px;
  }
  .footer-main>a:last-child {
    font-size:16px;
  }
  .footer-meta {
    display:block;
    padding-block:18px;
    font-size:10px;
  }
  .footer-meta>span {
    display:block;
  }
  .footer-meta>span+span {
    margin-top:5px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    transition:none!important;
  }
}

/* Compact opening statement; dark lower sections keep the page connected. */
.hero {
  align-items:start;
  padding-top:24px;
}
.hero-copy {
  padding-top:4px;
}
.hero h1 {
  font-size:42px;
  line-height:1.15;
  letter-spacing:-.025em;
}
.hero-lead {
  font-size:27px;
  line-height:1.4;
  margin-top:28px;
}
.hero-description {
  font-size:18px;
  max-width:440px;
  line-height:1.75;
  margin-top:24px;
}
.hero-statement {
  font:400 18px/1.75 var(--body);
  color:#c4cbbd;
  margin-top:16px;
  max-width:440px;
}
body {
  background:#222620;
}
.steak-section,
.visit {
  color:#f2f3ec;
  --line:#51584b;
  --muted:#c4cbbd;
}
.steak-copy .cuts {
  color:inherit;
}
.steak-section .button.primary,
.visit .button.primary,
.philosophy .button.primary {
  color:#222620;
  background:#e7ebdf;
  border-color:#e7ebdf;
}
.steak-section .button.primary:hover,
.visit .button.primary:hover,
.philosophy .button.primary:hover {
  background:white;
}
.story>.section-booking {
  grid-column:2;
  margin-top:-70px;
}
.steak-photo img {
  object-position:50% 50%;
  transform:scale(1.24);
  transform-origin:50% 40%;
}
.steak-photo {
  overflow:hidden;
}
.menu-section {
  background:#d0d1ca;
}
@media(min-width:701px) {
  .hero-copy {
    min-height:540px;
    display:grid;
    grid-template-rows:auto 1fr;
    padding:0;
    --logo-axis:101px;
  }
  .hero h1 {
    position:relative;
    left:var(--logo-axis);
    transform:translateX(-50%);
    width:max-content;
    font-size:34px;
    text-align:center;
  }
  .hero-message {
    align-self:center;
    width:min(100%,460px);
    justify-self:center;
    text-align:center;
    padding:24px 0;
  }
  .hero-message .hero-lead {
    margin:0;
    font-weight:700;
    font-size:clamp(36px,3.35vw,48px);
    line-height:1.06;
    letter-spacing:-.025em;
  }
  .hero-message .hero-lead br {
    display:none;
  }
  .hero-message .hero-description {
    margin-top:18px;
    line-height:1.6;
  }
  .hero-message .hero-statement {
    margin-top:6px;
    line-height:1.6;
  }
  .hero-message .actions {
    margin-top:20px;
  }
  .hero-description,
  .hero-statement {
    margin-inline:auto;
  }
  .hero-description span {
    display:inline;
  }
  .hero-message .actions {
    justify-content:center;
  }
}
@media(min-width:1600px) {
  .hero-copy {min-height:590px;}
}
@media(min-width:701px) and (max-width:1100px) {
  .hero-copy {min-height:510px;--logo-axis:80px;}
}
@media(min-width:701px) and (max-width:850px) {
  .hero-copy {min-height:490px;--logo-axis:72px;}
}
@media(max-width:1100px) {
  .hero h1 {font-size:38px;}
  .hero-lead {font-size:25px;}
  .hero-description {font-size:16px;}
  .hero-statement {font-size:16px;}
}
@media(max-width:850px) {
  .hero h1 {font-size:32px;}
  .hero-lead {font-size:24px;margin-top:24px;}
  .story>.section-booking {margin-top:-14px;}
}
@media(max-width:700px) {
  .hero h1 {font-size:34px;line-height:1.2;}
  .hero {padding-top:16px;}
  .hero-lead {font-size:24px;margin-top:20px;max-width:320px;}
  .hero-description {font-size:15px;margin-top:16px;line-height:1.7;}
  .hero-statement {font-size:15px;margin-top:12px;line-height:1.7;}
  .story>.section-booking {margin-top:28px;}
  .steak-photo img {height:300px;object-position:50% 50%;}
}

/* Let photography reach the page edges instead of sitting in separate frames. */
@media(min-width:701px) {
  .hero,
  .steak-section {
    --page-edge:max(56px,calc((100vw - 1280px)/2));
  }
  .hero-photo {
    margin-right:calc(-1 * var(--page-edge));
  }
  .hero-photo figcaption {
    padding-right:var(--page-edge);
  }
  .steak-photo {
    margin-left:calc(-1 * var(--page-edge));
    position:relative;
  }
  .steak-photo img {
    height:600px;
  }
  .steak-photo:after {
    content:'';
    position:absolute;
    inset:0 0 0 auto;
    width:24px;
    background:linear-gradient(90deg,transparent,#222620);
    pointer-events:none;
  }
}
@media(min-width:701px) and (max-width:1100px) {
  .hero,
  .steak-section {--page-edge:32px;}
  .steak-photo img {height:540px;}
}
@media(max-width:700px) {
  .hero-photo {margin-right:-20px;}
  .hero-photo figcaption {padding-right:20px;}
  .steak-photo {margin-inline:-20px;}
}

/* Homepage-only refinements; shared menu styles remain unchanged. */
.home-page .header {position:sticky;top:0;}
.home-page .hero {padding-bottom:48px;}
.home-page #visit {scroll-margin-top:12px;}
@media(max-width:700px) {
  .home-page .hero {padding-bottom:32px;}
  .home-page .story>.section-booking {justify-content:center;}
  .home-page #visit {scroll-margin-top:64px;}
}

/* Keep the homepage Hero message aligned and give its actions room. */
.home-page .hero-message .actions {margin-top:32px;gap:18px;}
.home-page .hero-message .button {min-height:44px;padding:10px 16px;}
@media(min-width:701px) {
  .home-page .hero-message {
    width:min(100%,520px);
    text-align:left;
  }
  .home-page .hero-message .hero-lead {font-size:clamp(38px,3.65vw,52px);}
  .home-page .hero-message .hero-lead br {display:block;}
  .home-page .hero-message .hero-description {
    max-width:480px;
    margin:24px 0 0;
  }
  .home-page .hero-message .actions {justify-content:flex-start;}
}

@media(max-width:700px) {
  .home-page .hero-message .hero-lead {font-size:26px;}
  .home-page .hero-message .hero-description {margin-top:22px;}
}

@media(max-width:700px) {
  .home-page .hero {padding-top:6px;}
  .home-page .hero-copy {padding-top:0;width:100%;}
  .home-page .hero h1 {text-align:left;font-size:22px;line-height:1.25;}
  .home-page .hero-message .hero-lead {margin-top:28px;}
}
