@font-face{font-family:"Cormorant Garamond";src:url("assets/fonts/CormorantGaramond-Variable.ttf") format("truetype");font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:Manrope;src:url("assets/fonts/Manrope-Variable.ttf") format("truetype");font-style:normal;font-weight:200 800;font-display:swap}

:root{
  --coal:#171513;
  --wood:#30231e;
  --ember:#a4472d;
  --copper:#c78b63;
  --ivory:#f2e8da;
  --muted:#b9ada0;
  --display:"Cormorant Garamond",Georgia,serif;
  --body:Manrope,Arial,sans-serif;
  --gutter:clamp(24px,5.3vw,96px);
  --header-height:112px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;background:var(--coal)}
body{margin:0;background:var(--coal);color:var(--ivory);font-family:var(--body);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased;color-scheme:dark}
body.has-dialog{overflow:hidden}
::selection{background:var(--copper);color:var(--coal)}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit}
button:not(:disabled),summary{cursor:pointer}
img{display:block;max-width:100%}
svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
figure,p,h1,h2,h3{margin:0}
h1,h2{font-family:var(--display);font-weight:500;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}
h2{font-size:clamp(48px,4.5vw,76px)}
p{text-wrap:pretty}
:focus-visible{outline:2px solid var(--copper);outline-offset:6px}
[hidden]{display:none!important}
.page-gutter{padding-inline:var(--gutter)}
.section-caption{font-size:12px;font-weight:500;letter-spacing:.025em;line-height:1.5}
.skip-link{position:fixed;left:20px;top:16px;z-index:100;padding:12px 20px;background:var(--ivory);color:var(--coal);transform:translateY(-180%)}
.skip-link:focus{transform:none}
.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:52px;padding:14px 25px;border:1px solid var(--copper);border-radius:2px;background:var(--copper);color:var(--coal);font-size:12px;font-weight:600;line-height:1.5;transition:background-color .2s,color .2s,border-color .2s}
.button:hover{background:var(--ivory);border-color:var(--ivory)}
.button svg{width:19px;height:19px}
.button--outline{background:transparent;color:var(--ivory);border-color:var(--muted)}
.button--outline:hover{color:var(--coal)}
.text-link{display:inline-flex;align-items:center;gap:32px;min-height:48px;padding-block:10px;border-bottom:1px solid var(--copper);font-size:12px;font-weight:600}
.text-link svg{width:20px;height:20px;transition:transform .2s}
.text-link:hover svg{transform:translateX(4px)}

/* The house is the opening scene. The wordmark retains its clear space. */
.site-header{position:absolute;inset:0 0 auto;z-index:20;min-height:var(--header-height);padding:26px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid rgb(242 232 218 / 20%)}
.brand{display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding:9px 10px;margin:-9px -10px}
.brand img{width:172px;height:auto}
.brand span{font-size:9px;line-height:1;margin-top:13px;letter-spacing:.42em;text-transform:uppercase;padding-left:.42em}
.main-nav{display:flex;gap:clamp(22px,3vw,48px);align-items:center}
.main-nav a{position:relative;display:inline-flex;min-height:48px;align-items:center;font-size:12px;color:var(--ivory)}
.main-nav a::after{content:"";position:absolute;bottom:8px;left:0;width:100%;height:1px;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.main-nav a:hover::after,.main-nav a[aria-current]::after{transform:scaleX(1)}
.header-reserve{min-height:46px;padding:12px 22px}
.nav-toggle{display:none}
.hero{position:relative;isolation:isolate;min-height:800px;min-height:max(750px,100svh);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.hero-image,.hero-shade,.reservation-image,.reservation-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover}
.hero-image{object-position:50% center}
.hero-shade{z-index:-1;background:linear-gradient(90deg,rgb(23 21 19 / 85%) 0%,rgb(23 21 19 / 61%) 33%,rgb(23 21 19 / 8%) 74%),linear-gradient(180deg,rgb(23 21 19 / 45%),transparent 28%,transparent 62%,rgb(23 21 19 / 72%))}
.hero-content{padding-top:160px;padding-bottom:155px}
.hero-content .section-caption{margin-bottom:28px;color:var(--ivory)}
h1{font-size:clamp(66px,7.35vw,118px);max-width:900px}
.hero-description{color:var(--ivory);font-size:16px;line-height:1.8;margin:28px 0 34px;max-width:390px}
.hero-bottom{position:absolute;bottom:34px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px}
.hero-bottom>a{display:flex;gap:22px;align-items:center;min-height:48px}
.hero-bottom>a svg{width:19px;height:19px}
.hero-bottom>span{color:var(--ivory)}

/* An open view of the grill, followed by a quiet place to read. */
.fire-section{display:grid;grid-template-columns:1.23fr 1fr;min-height:750px;background:var(--coal)}
.fire-photo{position:relative;min-height:750px;overflow:hidden}
.fire-photo img{height:100%;width:100%;position:absolute;object-fit:cover;object-position:64% center}
.fire-photo::after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgb(23 21 19 / 65%))}
.image-caption{position:absolute;left:var(--gutter);bottom:39px;z-index:1;font-size:11px;color:var(--ivory)}
.fire-copy{padding:clamp(65px,7.5vw,120px) clamp(40px,5.7vw,100px);align-self:center}
.fire-copy>.section-caption{color:var(--copper);margin-bottom:29px}
.fire-copy h2{font-size:clamp(48px,4.35vw,72px);margin-bottom:30px}
.fire-copy>p:not(.section-caption){max-width:350px;color:var(--muted);font-size:16px;line-height:1.8;margin-top:20px}
.fire-copy .text-link{margin-top:27px}

/* Menu movement responds to choosing a dish; nothing cycles automatically. */
.menu-section{display:grid;grid-template-columns:1fr 1.04fr;background:var(--ivory);color:var(--coal);color-scheme:light;min-height:820px}
.menu-section :focus-visible{outline-color:var(--coal)}
.menu-copy{padding:85px clamp(36px,5.3vw,96px) 70px}
.menu-copy .section-caption{color:var(--ember);margin-bottom:25px}
.menu-copy h2{margin-bottom:22px}
.menu-intro{font-size:16px;color:var(--wood);line-height:1.8;margin-bottom:35px}
.dish-list{border-top:1px solid rgb(48 35 30 / 25%)}
.dish{border-bottom:1px solid rgb(48 35 30 / 25%)}
.dish h3{font-weight:500}
.dish-button{display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;width:100%;min-height:72px;border:0;background:none;padding:18px 0;color:var(--coal);font-family:var(--display);font-size:clamp(25px,2.15vw,34px);font-weight:500;line-height:1.15}
.dish-button:hover{color:var(--ember)}
.dish-icon{position:relative;width:16px;height:16px;flex-shrink:0}
.dish-icon::before,.dish-icon::after{content:"";position:absolute;width:12px;height:1px;background:var(--wood);top:7px;left:2px;transition:transform .25s}
.dish-icon::after{transform:rotate(90deg)}
.dish-button[aria-expanded="true"] .dish-icon::after{transform:rotate(0)}
.dish-description{overflow:hidden}
.dish-description p{color:var(--wood);font-size:16px;line-height:1.75;max-width:38ch;padding:0 25px 25px 0}
.menu-instruction{font-size:12px;color:var(--wood);margin-top:23px}
.menu-photo{position:relative;overflow:hidden;min-width:0;min-height:820px;background:var(--wood)}
.menu-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% center;transform:scale(1.04);transition:transform 1s cubic-bezier(.2,.65,.25,1),object-position 1s cubic-bezier(.2,.65,.25,1)}
.menu-photo[data-selected-dish="1"]>img{transform:scale(1.18);object-position:79% center}
.menu-photo[data-selected-dish="2"]>img{transform:scale(1.12);object-position:20% center}
.menu-photo::after{content:"";position:absolute;inset:65% 0 0;pointer-events:none;background:linear-gradient(transparent,rgb(23 21 19 / 80%))}
.menu-photo figcaption{position:absolute;z-index:1;left:35px;right:35px;bottom:35px;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:10px;color:var(--ivory)}
.menu-image-counter{font-variant-numeric:tabular-nums;flex-shrink:0;letter-spacing:.12em}

.reservation-section{position:relative;isolation:isolate;min-height:810px;display:grid;place-items:center;padding:120px 24px;overflow:hidden;text-align:center}
.reservation-image{object-position:center}
.reservation-shade{z-index:-1;background:linear-gradient(180deg,rgb(23 21 19 / 35%),rgb(23 21 19 / 65%) 42%,rgb(23 21 19 / 70%) 72%,var(--coal))}
.reservation-copy{max-width:980px}
.reservation-copy .section-caption{margin-bottom:26px}
.reservation-copy h2{font-size:clamp(52px,5.65vw,92px)}
.reservation-copy>p:not(.section-caption){margin:28px auto 34px;max-width:640px;font-size:16px;color:var(--ivory);line-height:1.8}
.reservation-signature{display:block;margin-top:22px;font-size:10px;color:var(--ivory)}
.site-footer{min-height:154px;display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:38px;background:var(--coal)}
.site-footer>a{padding:8px;margin:-8px}
.site-footer img{width:140px;height:auto}
.site-footer>p{font-size:11px;color:var(--muted)}
.footer-end{display:flex;align-items:center;gap:26px;font-size:9px;color:var(--muted)}
.footer-end a{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgb(242 232 218 / 30%);border-radius:50%;color:var(--ivory)}
.footer-end svg{width:18px;height:18px}

.reservation-dialog{width:min(100% - 40px,530px);max-height:calc(100svh - 40px);overflow:auto;border:1px solid rgb(199 139 99 / 45%);border-radius:2px;background:var(--coal);color:var(--ivory);padding:60px 45px 45px;box-shadow:0 25px 100px rgb(0 0 0 / 35%)}
.reservation-dialog::backdrop{background:rgb(0 0 0 / 72%);backdrop-filter:blur(7px)}
.reservation-dialog .section-caption{color:var(--copper);margin-bottom:20px}
.reservation-dialog h2{font-size:56px}
.reservation-dialog>p:not(.section-caption){margin:25px 0 30px;color:var(--muted);font-size:16px}
.dialog-close{position:absolute;top:12px;right:12px;width:44px;height:44px;display:grid;place-items:center;border:none;background:transparent}
.noscript-note{padding:24px var(--gutter);color:var(--muted);font-size:13px}

@media(min-width:1800px){.fire-section{min-height:900px}.fire-photo{min-height:900px}.menu-section,.menu-photo{min-height:960px}.menu-copy{align-self:center}.reservation-section{min-height:950px}}
@media(max-width:1100px){
  :root{--gutter:40px}
  .site-header{gap:24px}.brand img{width:150px}.main-nav{gap:24px}.main-nav a{font-size:11px}.header-reserve{font-size:11px;padding-inline:16px}
  .hero{min-height:max(760px,100svh)}h1{font-size:90px}
  .fire-copy{padding:70px 40px}.fire-copy h2{font-size:54px}.fire-section,.fire-photo{min-height:720px}
  .menu-copy{padding:70px 40px}.menu-copy h2{font-size:62px}.menu-section,.menu-photo{min-height:800px}.dish-button{font-size:29px}
}
@media(max-width:900px){
  .main-nav{gap:18px}.header-reserve{display:none}.site-header{padding-block:24px}
  .fire-section{grid-template-columns:1.05fr 1fr}.fire-copy{padding:65px 32px}.fire-copy h2{font-size:48px}
  .menu-copy{padding:65px 32px}.dish-button{font-size:26px}.menu-copy h2{font-size:57px}
}
@media(max-width:760px){
  :root{--gutter:26px;--header-height:96px}
  html{scroll-padding-top:0}
  .site-header{min-height:96px;padding-block:22px;gap:16px}.brand img{width:140px}.brand span{font-size:8px;margin-top:11px}
  .nav-toggle{display:flex;gap:14px;align-items:center;justify-content:center;min-width:76px;min-height:48px;padding:0;border:none;background:none;font-size:11px}
  .menu-icon{display:flex;width:21px;height:14px;flex-direction:column;justify-content:space-between}.menu-icon i{display:block;height:1px;width:100%;background:var(--ivory);transition:transform .2s}
  .nav-toggle[aria-expanded="true"] .menu-icon i:first-child{transform:translateY(6.5px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] .menu-icon i:last-child{transform:translateY(-6.5px) rotate(-45deg)}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px var(--gutter) 26px;background:var(--coal);border-bottom:1px solid rgb(199 139 99 / 35%);gap:0;flex-direction:column;align-items:stretch}
  .main-nav.is-open{display:flex}.main-nav a{min-height:54px;font-size:14px}.main-nav a::after{display:none}
  .hero{min-height:max(710px,100svh)}.hero-image{object-position:50% center}
  .hero-shade{background:linear-gradient(90deg,rgb(23 21 19 / 72%),rgb(23 21 19 / 20%)),linear-gradient(180deg,rgb(23 21 19 / 40%) 0%,rgb(23 21 19 / 12%) 30%,rgb(23 21 19 / 64%) 78%,rgb(23 21 19 / 77%) 100%)}
  .hero-content{padding-top:200px;padding-bottom:160px}.hero-content .section-caption{margin-bottom:24px;font-size:11px}
  h1{font-size:clamp(57px,10.7vw,80px);letter-spacing:-.045em;line-height:1.01}
  .hero-description{font-size:16px;margin:26px 0 29px;max-width:310px}.button{min-height:52px;font-size:12px;padding:15px 22px}
  .hero-bottom{bottom:22px;font-size:9px;gap:15px}.hero-bottom>a{gap:12px;font-size:10px}.hero-bottom>span{max-width:140px}.hero-bottom>a svg{width:17px;height:17px}
  .fire-section{display:flex;flex-direction:column;min-height:0}.fire-photo{min-height:0;height:420px;order:0}.fire-photo img{object-position:70% center}.image-caption{bottom:26px;font-size:10px}
  .fire-copy{padding:60px var(--gutter) 65px;align-self:stretch}.fire-copy h2{font-size:clamp(49px,8.8vw,67px);line-height:1.04}.fire-copy h2 br:nth-child(2){display:none}
  .fire-copy>.section-caption{margin-bottom:24px}.fire-copy>p:not(.section-caption){max-width:420px;font-size:16px}.fire-copy .text-link{margin-top:21px}
  .menu-section{display:flex;flex-direction:column;min-height:0}.menu-copy{padding:59px var(--gutter) 45px}.menu-copy h2{font-size:60px}.menu-copy .section-caption{margin-bottom:20px}.menu-intro{margin-bottom:28px;font-size:16px}
  .dish-button{min-height:72px;font-size:29px}.dish-description p{font-size:16px;max-width:43ch;padding-bottom:25px}.menu-instruction{font-size:12px;margin-top:21px}
  .menu-photo{min-height:0;height:460px}.menu-photo>img{object-position:52% center}.menu-photo figcaption{left:var(--gutter);right:var(--gutter);bottom:27px;font-size:9px}
  .reservation-section{min-height:740px;padding:95px var(--gutter)}.reservation-image{object-position:62% center}.reservation-shade{background:linear-gradient(180deg,rgb(23 21 19 / 38%),rgb(23 21 19 / 66%) 35%,rgb(23 21 19 / 70%) 75%,var(--coal))}
  .reservation-copy h2{font-size:clamp(49px,8.5vw,65px);line-height:1.04}.reservation-copy h2 br{display:none}.reservation-copy .section-caption{font-size:11px;margin-bottom:24px}.reservation-copy>p:not(.section-caption){font-size:16px;margin:27px auto 31px;max-width:340px}
  .desktop-break{display:none}.reservation-signature{font-size:10px}
  .site-footer{padding-block:30px;display:grid;grid-template-columns:1fr auto;gap:20px}.site-footer img{width:140px}.site-footer>p{grid-column:1;grid-row:2;font-size:10px}.footer-end{grid-column:2;grid-row:1 / 3;flex-direction:column-reverse;gap:15px;font-size:8px}.footer-end a{width:44px;height:44px}
  .reservation-dialog{padding:58px 28px 32px}.reservation-dialog h2{font-size:49px}
}
@media(max-width:370px){
  :root{--gutter:22px}.hero{min-height:max(680px,100svh)}.hero-content{padding-top:174px;padding-bottom:155px}h1{font-size:54px}.hero-description{max-width:260px}.hero-bottom{font-size:8px}.hero-bottom>span{max-width:120px}
  .fire-photo{height:335px}.fire-copy h2{font-size:45px}.menu-copy h2{font-size:54px}.dish-button{font-size:26px}.menu-photo{height:390px}.reservation-copy h2{font-size:46px}.site-footer{column-gap:10px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{
  .site-header,.hero-bottom,.nav-toggle,.reservation-dialog,.footer-end,.button,.text-link,.menu-instruction{display:none!important}
  body{color:#171513;background:#fff}.hero,.fire-section,.menu-section,.reservation-section{min-height:0;break-inside:avoid}.hero-content,.fire-copy,.menu-copy,.reservation-section{padding:40px}.hero,.reservation-section{color:var(--ivory);-webkit-print-color-adjust:exact;print-color-adjust:exact}.fire-section,.menu-section{display:block;background:#fff}.fire-copy>p:not(.section-caption){color:#30231e}.fire-photo,.menu-photo{height:300px;min-height:0}.dish-description[hidden]{display:block!important}.site-footer{color:#171513;background:#fff}
}
