:root { --charcoal:#1d1511; --cream:#f2e2c5; --paper:#fff8eb; --red:#c9472d; --red-on-dark:#d95a3f; --red-on-light:#bd3d25; --muted:#6f6256; --line:#cdbb9f; --display: Georgia, "Times New Roman", serif; --body: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--charcoal); background:var(--paper); font-family:var(--body); }
img { display:block; width:100%; height:100%; object-fit:cover; }
a { color:inherit; }
:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.site-header { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem clamp(1.25rem,4vw,4rem); color:var(--cream); background:rgba(29,21,17,.96); }
.brand { font:700 1.35rem/1 var(--display); text-transform:uppercase; text-decoration:none; }
nav { display:flex; gap:1rem; overflow-x:auto; }
nav a { min-width:2.75rem; min-height: 2.75rem; display:inline-flex; align-items:center; justify-content:center; font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hero { min-height:82svh; display:grid; grid-template-columns:1.2fr 1fr; background:var(--charcoal); color:var(--cream); }
.hero-copy { align-self:center; padding:clamp(3rem,7vw,7rem); }
.eyebrow { color:var(--red-on-light); font-size:.75rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.hero .eyebrow,.menu .eyebrow,.menu-grid span { color:var(--red-on-dark); }
h1,h2,h3 { font-family:var(--display); }
h1 { margin:.8rem 0 1.5rem; font-size:clamp(4rem,9vw,9rem); line-height:.82; text-transform:uppercase; }
h2 { margin:.5rem 0 1.5rem; font-size:clamp(2.5rem,5vw,5rem); line-height:.95; }
p { line-height:1.7; }
.button { display:inline-flex; min-height: 2.75rem; align-items:center; margin-top:1rem; padding:.8rem 1.1rem; background:var(--red); color:white; font-weight:800; text-decoration:none; }
.portfolio-return { display:inline-flex; align-items:center; min-block-size:2.75rem; padding-block:.55rem; padding-inline:.75rem; border:1px solid currentColor; font-size:.75rem; font-weight:800; letter-spacing:.04em; text-decoration:none; }
.site-header .portfolio-return { margin-inline-start:auto; }
.section { padding:clamp(4rem,8vw,8rem) clamp(1.25rem,7vw,7rem); scroll-margin-top:6rem; }
.story,.room { display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.story img,.room img { min-height:32rem; }
.menu { color:var(--cream); background:var(--charcoal); }
.menu-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(242,226,197,.25); }
.menu-grid article { padding:2rem; border-right:1px solid rgba(242,226,197,.25); }
.menu-grid span { font-weight:800; }
.visit dl { display:grid; grid-template-columns:repeat(2,minmax(0,18rem)); gap:1rem; }
.visit dl div { padding-top:1rem; border-top:1px solid var(--line); }
footer { display:flex; justify-content:space-between; gap:1rem; padding:1.5rem clamp(1.25rem,4vw,4rem); color:var(--cream); background:var(--charcoal); }
@media (max-width: 48rem) { .section { scroll-margin-top:8rem; } .site-header { align-items:flex-start; flex-direction:column; } .site-header .portfolio-return { margin-inline-start:0; } .hero,.story,.room { grid-template-columns:1fr; } .hero img { min-height:22rem; } .menu-grid,.visit dl { grid-template-columns:1fr; } .story img,.room img { min-height:22rem; } footer { flex-direction:column; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition-duration:.01ms!important; } }
