@import "https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800&family=DM+Serif+Text:ital@0;1&display=swap";
:root{--paper:#f8f1e5;--surface:#fff9ef;--ink:#2b1b14;--muted:#604c3e;--red:#932d22;--red-dark:#702219;--line:#d9c9b6;--cream:#fff6e8;--radius:.75rem;--wrap:74rem;--gutter:clamp(1rem, 4vw, 3rem);--serif:"DM Serif Text", Georgia, serif;--sans:"Barlow", Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font:1.0625rem/1.55 var(--sans);margin:0}h1,h2,h3,p,figure,ul{margin:0}ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:.25rem;outline:.15rem solid}section,footer{scroll-margin-top:1rem}.wrap{width:min(100% - 2 * var(--gutter), var(--wrap));margin-inline:auto}.skip-link{z-index:2;background:var(--surface);padding:.5rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{border-bottom:1px solid var(--line)}.header-content{justify-content:space-between;align-items:center;gap:1rem;min-height:5.3rem;display:flex}.brand{flex:none}.brand img{width:6.25rem;height:auto}.nav-links{gap:clamp(1rem,3vw,2.5rem);font-weight:700;display:flex}.nav-links a:hover,.text-link:hover{text-underline-offset:.24em;text-decoration:underline}.action{border:1px solid #0000;border-radius:99rem;justify-content:center;align-items:center;gap:.55rem;min-height:3.1rem;padding:.55rem 1.1rem;font-weight:800;line-height:1.2;transition:background-color .15s,border-color .15s;display:inline-flex}.action svg,.text-link svg{flex:none;width:1.05em;height:1.05em}.action--small{min-height:2.65rem;font-size:.95rem}.action--solid{background:var(--red);color:var(--cream)}.action--solid:hover{background:var(--red-dark)}.action--outline{border-color:var(--red);color:var(--red-dark)}.action--outline:hover{background:var(--surface)}.action--solid:focus-visible{outline-color:var(--ink)}.hero{text-align:center;padding-block:clamp(2.8rem,6.3vw,5.2rem) 0}.eyebrow{color:var(--red-dark);letter-spacing:.145em;text-transform:uppercase;font-size:.79rem;font-weight:800}h1,h2{font-family:var(--serif);letter-spacing:-.038em;font-weight:400;line-height:1}h1{text-wrap:balance;font-size:clamp(3.15rem,8vw,7.1rem)}h1 em{font-weight:inherit;color:var(--red)}.hero-intro{color:var(--muted);text-wrap:balance;font-size:clamp(1.05rem,2.1vw,1.38rem)}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;display:flex}.hero-photo{border-radius:var(--radius);background:var(--ink);position:relative;overflow:hidden}.hero-photo img{object-fit:cover;object-position:center 52%;width:100%;height:clamp(17rem,39vw,32rem)}.hero-photo figcaption{background:var(--cream);color:var(--ink);border-radius:99rem;padding:.42rem .8rem;font-size:.84rem;font-weight:700;position:absolute;bottom:1rem;right:1rem}.hero-photo b{color:var(--red);margin-inline:.15rem}.menu-section{padding-block:clamp(3.6rem,7.5vw,6.25rem)}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.7rem 1.25rem;margin-bottom:1.6rem;display:flex}h2{font-size:clamp(2.8rem,6.5vw,5rem)}.text-link{color:var(--red-dark);align-items:center;gap:.35rem;font-weight:800;display:inline-flex}.dish-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.7rem);display:grid}.dish img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:var(--line);width:100%;height:auto}.dish h3{font:400 clamp(1.55rem, 3vw, 2.15rem)/1.15 var(--serif);margin-top:.95rem}.dish p{color:var(--muted);margin-top:.35rem}.menu-note{border-top:1px solid var(--line);color:var(--muted);margin-top:1.5rem;padding-top:.9rem}.reservation{background:var(--red-dark);color:var(--cream);padding-block:clamp(2.8rem,7vw,5.2rem)}.reservation-content{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(1.75rem,6vw,5.5rem);display:grid}.reservation-content header p{max-width:33ch;margin-top:1rem}.reservation-hours{font-weight:800}.booking-form{background:var(--surface);color:var(--ink);border-radius:var(--radius);padding:clamp(1rem,4vw,2rem)}.booking-form fieldset{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;min-inline-size:0;margin:0;padding:0;display:grid}.booking-form legend{font:400 1.5rem/1.2 var(--serif);margin-bottom:.75rem;padding:0}.booking-form label{gap:.25rem;font-size:.95rem;font-weight:700;display:grid}.booking-form input,.booking-form select{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:.4rem;width:100%;min-width:0;min-height:2.85rem;padding-inline:.55rem;font-size:1rem}.booking-form .action{width:100%;margin-top:1rem}.site-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.35rem;padding-block:2rem;display:flex}.site-footer address{font-style:normal;line-height:1.4}@media (max-width:43rem){.header-content{min-height:4.35rem}.nav-links{gap:.85rem;font-size:.93rem}.header-order{display:none}.brand img{width:5rem}.hero-actions{gap:.45rem}.hero-actions .action{min-height:2.7rem;font-size:.94rem}.hero-photo img{height:clamp(16rem,67vw,25rem)}.dish-grid,.reservation-content{grid-template-columns:minmax(0,1fr)}.dish-grid{gap:1.65rem}.dish h3{margin-top:.65rem}}@media (max-width:23rem){.nav-links{gap:.6rem;font-size:.86rem}.booking-form fieldset{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.action{transition:none}}
