:root {
  --home-ink: #10100e;
  --home-paper: #f4f0e5;
  --home-white: #fff;
  --home-sage: #435741;
  --home-sage-deep: #263326;
  --home-sand: #dcd3b2;
  --home-gold: #d8c594;
  --home-badge-bg: #dcd3b2;
  --home-badge-text: #10100e;
  --home-muted: #6f7067;
  --home-line: rgba(16, 16, 14, 0.18);
  --home-display: 'Playfair Display', Georgia, serif;
  --home-body: 'EB Garamond', Georgia, serif;
  --home-shell: min(1360px, calc(100vw - 96px));
}

.home-page,
.home-page * { box-sizing: border-box; }

.home-page { margin: 0; overflow-x: hidden; color: var(--home-ink); background: var(--home-paper); font-family: var(--home-body); font-size: 18px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
.home-page img { display: block; max-width: 100%; }
.home-page a { color: inherit; text-decoration: none; }
.home-page h1,
.home-page h2,
.home-page h3,
.home-page p { margin-top: 0; }

.home-shell { width: var(--home-shell); margin-inline: auto; padding-block: clamp(76px, 9vw, 138px); }
.home-kicker { margin-bottom: 22px; color: var(--home-sage); font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.home-kicker-light { color: var(--home-sand); }
.home-heading { margin-bottom: 28px; font-family: var(--home-display); font-size: clamp(42px, 5.2vw, 78px); line-height: .98; letter-spacing: -.035em; }
.home-lede { max-width: 680px; font-size: clamp(20px, 1.7vw, 26px); line-height: 1.4; }
.home-actions { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; margin-top: 36px; }
.home-btn { display: inline-flex; min-height: 52px; padding: 13px 22px; align-items: center; justify-content: center; gap: 18px; border: 1px solid transparent; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; transition: color 180ms ease, background 180ms ease, border-color 180ms ease; }
.home-btn-dark { color: #fff; background: var(--home-ink); }
.home-btn-dark:hover { background: var(--home-sage); }
.home-page .home-btn-sand,
.home-page .home-btn-gold { color: var(--home-badge-text); background: var(--home-badge-bg); }
.home-page .home-btn-sand span,
.home-page .home-btn-gold span { color: var(--home-badge-text); }
.home-page .home-btn-sand:hover,
.home-page .home-btn-gold:hover { color: var(--home-badge-text); background: #f5ecc8; }
.home-btn-outline { border-color: rgba(255,255,255,.6); color: #fff; }
.home-btn-outline:hover { border-color: var(--home-gold); color: var(--home-gold); }
.home-text-link { display: inline-flex; align-items: center; gap: 12px; padding-bottom: 4px; border-bottom: 1px solid currentColor; color: var(--home-sage); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.home-text-link-light { color: var(--home-sand); }

.home-subnav { position: sticky; top: var(--fox-header-height); z-index: 150; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); min-height: 64px; padding: 0; align-items: center; border-bottom: 1px solid rgba(16,16,14,.15); background: rgba(244,243,238,.97); backdrop-filter: blur(12px); }
.home-subnav > div { grid-column: 2; display: flex; align-items: center; gap: 4px; }
.home-subnav a { flex: 0 0 auto; padding: 18px; color: #55574f; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.home-subnav > a { grid-column: 3; justify-self: end; display: flex; height: 44px; margin: 10px; padding: 0 18px; align-items: center; gap: 14px; color: var(--home-badge-text); background: var(--home-badge-bg); }
.home-subnav > a span { color: var(--home-badge-text); font-size: 16px; }
.home-subnav > a:hover { color: var(--home-badge-text); background: #f5ecc8; }
.home-subnav-dark { border-color: rgba(216,197,148,.2); color: #fff; background: rgba(9,11,10,.96); }
.home-subnav-dark a { color: #c4c2ba; }
.home-subnav-dark > a,
.home-subnav-dark > a span { color: var(--home-badge-text); }
.home-subnav-dark > a { background: var(--home-badge-bg); }

.home-moments { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 52px; border-top: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); }
.home-moments article { min-height: 280px; padding: 34px clamp(22px, 3vw, 42px); border-right: 1px solid var(--home-line); }
.home-moments article:last-child { border-right: 0; }
.home-moments span { display: block; margin-bottom: 48px; color: var(--home-sage); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.home-moments h3 { margin-bottom: 14px; font-family: var(--home-display); font-size: clamp(28px, 2.4vw, 40px); }
.home-moments p { margin-bottom: 0; color: var(--home-muted); }

.home-tardeo { position: relative; min-height: min(860px, 86vh); overflow: hidden; color: #fff; background: #090b0a; isolation: isolate; }
.home-tardeo > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.home-tardeo-overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(7,8,7,.96) 0%, rgba(7,8,7,.8) 43%, rgba(7,8,7,.2) 78%, rgba(7,8,7,.35) 100%); }
.home-tardeo-copy { width: var(--home-shell); margin-inline: auto; padding-block: clamp(92px, 12vw, 170px); }
.home-tardeo-copy h2 { max-width: 800px; margin-bottom: 28px; font-family: var(--home-display); font-size: clamp(58px, 8vw, 126px); line-height: .88; letter-spacing: -.045em; }
.home-tardeo-copy h2 em { color: var(--home-gold); font-weight: 700; }
.home-tardeo-copy > p:not(.home-kicker) { max-width: 650px; color: #deddd7; font-size: clamp(20px, 1.8vw, 27px); }
.home-tardeo-meta { display: flex; max-width: 800px; margin: 46px 0; border-block: 1px solid rgba(216,197,148,.28); }
.home-tardeo-meta span { flex: 1; padding: 20px; border-right: 1px solid rgba(216,197,148,.28); color: #b8b7b0; font-size: 14px; }
.home-tardeo-meta span:last-child { border-right: 0; }
.home-tardeo-meta b { display: block; color: var(--home-gold); font-family: var(--home-display); font-size: 24px; }

.home-events-teaser { display: flex; padding-block: clamp(68px, 8vw, 110px); align-items: end; justify-content: space-between; gap: 60px; }
.home-events-teaser h2 { margin-bottom: 12px; font-family: var(--home-display); font-size: clamp(42px, 5vw, 72px); line-height: 1; }
.home-events-teaser p:not(.home-kicker) { max-width: 700px; margin-bottom: 0; color: var(--home-muted); font-size: 21px; }

.home-reserve { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(60px, 8vw, 130px); padding: clamp(76px, 9vw, 130px) max(48px, calc((100vw - 1360px) / 2)); color: #fff; background: var(--home-sage); }
.home-reserve-copy h2 { max-width: 760px; margin-bottom: 24px; font-family: var(--home-display); font-size: clamp(48px, 6vw, 92px); line-height: .94; }
.home-reserve-copy > p:not(.home-kicker) { max-width: 620px; color: #e5e8df; font-size: 22px; }
.home-hours { border-top: 1px solid rgba(255,255,255,.32); }
.home-hours div { display: flex; padding: 19px 0; align-items: baseline; justify-content: space-between; gap: 24px; border-bottom: 1px solid rgba(255,255,255,.22); }
.home-hours span { color: #d9ddd4; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.home-hours b { font-family: var(--home-display); font-size: 20px; text-align: right; }

.home-footer { display: grid; grid-template-columns: 1fr auto 1fr; padding: 38px max(32px, 4vw); align-items: center; gap: 30px; color: #d1d0c9; background: #10100e; font-size: 13px; letter-spacing: .06em; }
.home-footer-brand { width: max-content; color: #fff; font-family: var(--home-display); font-size: 24px; font-weight: 700; letter-spacing: .12em; }
.home-footer-brand small { display: block; margin-top: 4px; color: #9c9b88; font-family: var(--home-body); font-size: 8px; letter-spacing: .3em; text-transform: uppercase; }
.home-footer p { margin: 0; }
.home-footer > div { display: flex; justify-self: end; gap: 24px; }

@media (max-width: 900px) {
  :root { --home-shell: min(100% - 40px, 1360px); }
  .home-subnav { display: block; min-height: 48px; top: var(--fox-header-mobile-height); overflow: hidden; }
  .home-subnav > div { min-width: max-content; overflow-x: auto; }
  .home-subnav a { padding: 15px 14px; font-size: 11px; }
  .home-subnav > a { display: none; }
  .home-moments { grid-template-columns: 1fr; }
  .home-moments article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--home-line); }
  .home-moments article:last-child { border-bottom: 0; }
  .home-moments span { margin-bottom: 24px; }
  .home-tardeo { min-height: 760px; }
  .home-tardeo-overlay { background: linear-gradient(180deg, rgba(7,8,7,.35), rgba(7,8,7,.9) 55%, #070807); }
  .home-tardeo-copy { display: flex; min-height: 760px; padding-block: 76px; flex-direction: column; justify-content: end; }
  .home-tardeo-meta { flex-direction: column; }
  .home-tardeo-meta span { border-right: 0; border-bottom: 1px solid rgba(216,197,148,.28); }
  .home-events-teaser { align-items: start; flex-direction: column; }
  .home-reserve { grid-template-columns: 1fr; padding-inline: 24px; }
  .home-footer { grid-template-columns: 1fr; text-align: center; }
  .home-footer-brand,
  .home-footer > div { justify-self: center; }
}

@media (max-width: 560px) {
  .home-page { font-size: 17px; }
  .home-heading { font-size: 42px; }
  .home-btn { width: 100%; }
  .home-actions { align-items: stretch; flex-direction: column; }
  .home-text-link { width: max-content; }
  .home-tardeo-copy h2 { font-size: 54px; }
  .home-footer > div { gap: 16px; }
}
