:root { --red: #ed442e; --cream: #f4f6e7; --ink: #192947; --yellow: #ffce54; --line: #bdc7b9; }
* { box-sizing: border-box; letter-spacing: 0; } html { scroll-behavior: smooth; } body { margin: 0; color: var(--ink); background: var(--cream); font-family: "DM Sans", Arial, sans-serif; line-height: 1.45; } a { color: inherit; text-decoration: none; } button, input, select { font: inherit; } button { cursor: pointer; }.shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.demo-note { min-height: 34px; display: flex; justify-content: space-between; align-items: center; padding: 0 max(24px, calc((100vw - 1180px) / 2)); color: var(--cream); background: var(--ink); font-family: "DM Mono", monospace; font-size: 11px; }.demo-note a { text-decoration: underline; }
.site-header { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }.logo { color: var(--red); font-size: 19px; font-weight: 700; }.site-header nav { display: flex; align-items: center; gap: 26px; font-size: 13px; font-weight: 700; }.reserve { min-height: 38px; display: inline-flex; align-items: center; border: 1px solid var(--ink); border-radius: 3px; padding: 8px 12px; }
.hero { position: relative; min-height: 650px; overflow: hidden; color: var(--cream); background: var(--red); }.hero > img { position: absolute; inset: 0 0 0 37%; width: 63%; height: 100%; object-fit: cover; }.hero-copy { position: relative; z-index: 1; min-height: 650px; display: flex; flex-direction: column; justify-content: center; }.eyebrow { margin: 0 0 14px; font-family: "DM Mono", monospace; font-size: 11px; font-weight: 500; } h1, h2, h3 { margin: 0; font-family: "Space Grotesk", "DM Sans", Arial, sans-serif; font-weight: 600; line-height: .85; }h1 { font-size: clamp(65px, 8.4vw, 122px); } h1 em { color: var(--yellow); font-style: normal; }.hero-bottom { display: flex; align-items: end; gap: 34px; max-width: 390px; margin-top: 37px; }.hero-bottom p { margin: 0; font-size: 16px; line-height: 1.5; }.round-link { flex: 0 0 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--cream); border-radius: 50%; font-size: 23px; }
.today { display: grid; grid-template-columns: .65fr 1.35fr; gap: 100px; padding: 126px 0; }.today-title h2, .hours h2, .reservation h2 { font-size: clamp(45px, 5.5vw, 73px); }.today-title > p:last-child { max-width: 320px; margin: 26px 0 0; color: #526077; }.menu-list { border-top: 2px solid var(--ink); }.menu-list article { display: grid; grid-template-columns: 100px 1fr auto; gap: 20px; align-items: baseline; padding: 23px 0; border-bottom: 1px solid var(--line); }.menu-list span { color: #637085; font-family: "DM Mono", monospace; font-size: 11px; }.menu-list h3 { font-size: 26px; line-height: 1.05; }.menu-list b { color: var(--red); white-space: nowrap; }
.hours { padding: 102px 0; color: var(--cream); background: var(--ink); }.hours-grid { display: grid; grid-template-columns: .9fr 1fr .6fr; gap: 60px; align-items: end; }.hours-grid .eyebrow { color: var(--yellow); }.hours-grid dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0; }.hours-grid dl div { border-top: 1px solid #73809a; padding-top: 11px; }.hours-grid dt { color: #bdc8dc; font-size: 13px; }.hours-grid dd { margin: 7px 0 0; font-family: "Space Grotesk", "DM Sans", Arial, sans-serif; font-size: 21px; }.hours-grid > p { margin: 0; color: #bdc8dc; font-size: 15px; }
.reservation { display: grid; grid-template-columns: 1fr .9fr; gap: 100px; padding: 120px 0; }.reservation-form { display: grid; gap: 13px; padding: 26px; color: var(--ink); background: var(--yellow); }.reservation-form label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; }.reservation-form input, .reservation-form select { width: 100%; border: 1px solid #786525; border-radius: 3px; padding: 10px; color: var(--ink); background: transparent; }.reservation-form button { min-height: 45px; border: 1px solid var(--ink); border-radius: 3px; color: var(--cream); background: var(--ink); font-size: 13px; font-weight: 700; }.form-message { min-height: 20px; margin: 0; font-size: 12px; }
footer { padding: 26px 0; color: var(--cream); background: var(--red); font-size: 12px; } footer .shell { display: flex; justify-content: space-between; gap: 16px; }
@media (max-width: 760px) { .shell { width: min(100% - 32px, 1180px); }.demo-note { padding: 0 16px; }.site-header nav a:not(.reserve) { display: none; }.hero, .hero-copy { min-height: 600px; }.hero { display: flex; align-items: end; }.hero > img { inset: auto 0 0; width: 100%; height: 48%; }.hero-copy { min-height: 0; padding: 60px 0 320px; }.hero-bottom { margin-top: 28px; }.today, .reservation { grid-template-columns: 1fr; gap: 44px; padding: 76px 0; }.menu-list article { grid-template-columns: 1fr auto; }.menu-list span { grid-column: 1 / -1; }.hours { padding: 75px 0; }.hours-grid { grid-template-columns: 1fr; gap: 34px; }.hours-grid dl { max-width: 380px; } footer .shell { display: grid; } }
