:root{--ink:#24170f;--brown:#5a2f17;--orange:#bc5e2b;--cream:#f5efe7;--line:#d9cabb}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.8;background:var(--cream)}a{color:inherit;text-decoration:none}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#fff}.logo{font-family:serif;font-size:25px;font-weight:700;letter-spacing:.08em}.logo span{display:block;font-family:inherit;font-size:11px;font-weight:400;letter-spacing:.14em;line-height:1.2}.site-header nav{display:flex;align-items:center;gap:28px;font-size:14px}.reserve,.button{background:var(--brown);color:#fff;padding:12px 20px}.hero{position:relative;min-height:75vh;display:flex;align-items:flex-end;overflow:hidden;background:#271309}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,10,3,.82),rgba(24,10,3,.2) 70%)}.hero-copy{position:relative;color:#fff;max-width:760px;padding:9vw 9vw 8vw}.kicker,.label{font-size:12px;letter-spacing:.2em;color:var(--orange);font-weight:700}.hero .kicker{color:#f4c19e}.hero h1{font-family:serif;font-size:clamp(38px,6vw,80px);line-height:1.22;font-weight:500;margin:14px 0 20px}.hero h1 em{color:#f0b383;font-style:normal}.hero-copy p:not(.kicker){max-width:520px;font-size:17px}.button{display:inline-block;margin-top:25px;font-size:14px}.button span{margin-left:28px}.section{padding:10vw 10vw;max-width:1280px;margin:auto}.intro{display:grid;grid-template-columns:1fr 2fr;gap:8vw;background:#fff}.section h2{font-family:serif;font-weight:500;line-height:1.35;font-size:clamp(32px,4vw,58px);margin:0 0 24px}.section p{max-width:600px;font-size:17px}.feature{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;align-items:center}.feature-image img{width:100%;display:block}.feature-copy{padding-right:3vw}.access{display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid var(--line)}dl{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--line);margin:0}dt,dd{padding:14px 0;border-bottom:1px solid var(--line);margin:0}dt{color:#86654f;font-size:13px}.contact{background:var(--brown);color:#fff;padding:9vw 10vw}.contact .label{color:#f0b383}.contact h2{font-family:serif;font-weight:500;font-size:clamp(34px,5vw,66px);line-height:1.3;margin:18px 0}.contact p{max-width:520px}.button.light{background:#fff;color:var(--brown)}footer{display:flex;justify-content:space-between;padding:24px 5vw;background:#2e1b10;color:#e9d8c6;font-size:12px;letter-spacing:.08em}@media(max-width:720px){.site-header{height:68px;padding:0 6vw}.site-header nav a:not(.reserve){display:none}.site-header nav{gap:0}.reserve{padding:8px 12px;font-size:12px}.hero{min-height:80vh}.hero-copy{padding:20vw 7vw 13vw}.hero-copy p:not(.kicker){font-size:15px}.section,.contact{padding:18vw 7vw}.intro,.feature,.access{display:block}.intro>div,.feature-copy{margin-top:42px}.feature-image{margin:0 -7vw}.feature-image img{width:100%}.access dl{margin-top:38px}footer{padding:20px 7vw;display:block}footer span{display:block;margin:4px 0}}

.seat-list{padding-left:0;list-style:none}.seat-list li{padding:12px 0;border-bottom:1px solid var(--line)}.seat-list b,.seat-list span{display:block}.seat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.seat-grid article{border-top:1px solid var(--line);padding-top:20px}.seat-grid h3{font-size:20px}.mail-link{display:block;overflow-wrap:anywhere;margin-top:24px}.contact .button{margin-right:12px}.policy{max-width:900px}.policy p{max-width:none}.policy h3{margin-top:40px}.policy h1{font-family:serif;font-size:36px}@media(max-width:720px){.seat-grid{grid-template-columns:1fr}.site-header>a:last-child{font-size:14px}}

.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}.photo-gallery a{display:block;overflow:hidden;background:#2e1b10}.photo-gallery img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;transition:transform .3s}.photo-gallery a:hover img{transform:scale(1.025)}.photo-gallery a:focus-visible{outline:3px solid #bc5e2b;outline-offset:5px}.food{background:#fff}.food-photos a:first-child{grid-column:span 2;grid-row:span 2}.room-gallery{padding-top:0;padding-bottom:4vw}.room-photos{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:0}.hero-copy{max-width:1000px}.hero h1{font-size:clamp(36px,5vw,68px)}@media(max-width:720px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.food-photos a:first-child{grid-column:span 2;grid-row:auto}.room-photos a:last-child{grid-column:span 2}.room-photos a:last-child img{aspect-ratio:2}.room-gallery{padding-top:0}.hero h1{font-size:clamp(30px,7vw,48px)}}@media(prefers-reduced-motion:reduce){.photo-gallery img{transition:none}}

.logo .logo-category{font-size:12px;font-weight:400;letter-spacing:.08em;margin-right:6px}

/* Spacious photographs, compact section spacing. */
.section{padding:80px 48px;max-width:1440px}
.food,.feature,.room-gallery{max-width:1600px;padding-left:48px;padding-right:48px}
.food{padding-top:56px;padding-bottom:64px}
.feature{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px;padding-bottom:48px}
.feature-copy{padding-right:0;min-width:0}
.room-gallery{padding-top:0;padding-bottom:64px}
.room-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.room-photos img{aspect-ratio:4/3}
.room-photos a:last-child{grid-column:span 2}
.room-photos a:last-child img{aspect-ratio:2/1}
.hero-copy{max-width:1200px;padding:96px 6vw}
@media(max-width:900px){.section{padding:56px 24px}.feature{gap:32px}.room-gallery{padding-top:0}.feature-copy h2{font-size:32px}}
@media(max-width:720px){.section{padding:48px 20px}.food{padding-top:32px}.photo-gallery{gap:10px;margin-top:28px}.room-gallery{padding-top:0}.room-photos{grid-template-columns:1fr;gap:16px;margin-top:0}.room-photos a:last-child{grid-column:auto}.room-photos a:last-child img{aspect-ratio:4/3}.feature-image{margin:0}.feature-copy{margin-top:28px}.intro>div{margin-top:24px}.hero-copy{padding:72px 24px}}
