
:root{--forest:#30483c;--forest2:#1f3028;--sage:#83917b;--cream:#eee9dc;--paper:#f7f3e8;--orange:#c5643c;--gold:#d0aa44;--ink:#26362f;--line:#cfc9ba;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:proxima-nova,Arial,sans-serif;line-height:1.55}img{display:block;width:100%}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-family:freight-display-pro,Georgia,serif;font-weight:500;line-height:1.04}h1{font-size:clamp(3.4rem,7vw,7rem)}h2{font-size:clamp(2.4rem,4.8vw,4.6rem)}h3{font-size:clamp(1.45rem,2vw,2rem)}p{font-size:1.05rem}.wrap{width:min(1180px,92%);margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;font-weight:800;color:var(--orange);margin:0 0 14px}.button{display:inline-block;padding:15px 23px;border:2px solid var(--orange);background:var(--orange);color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;transition:.2s}.button:hover{transform:translateY(-2px);filter:brightness(.95)}.button.secondary{background:transparent;border-color:#fff}.button.dark{background:var(--forest);border-color:var(--forest)}
.topbar{position:absolute;z-index:30;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:22px 4%;color:#fff;text-transform:uppercase;letter-spacing:.11em;font-size:.76rem}.brand img{width:130px;filter:brightness(0) invert(1)}.topbar nav{display:flex;gap:22px;align-items:center}.topbar nav a:hover{color:var(--gold)}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.9rem;cursor:pointer}.mobile-menu{display:none}
.hero{min-height:78vh;position:relative;color:#fff;display:grid;align-items:end;background-position:center;background-size:cover}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,13,.18),rgba(8,18,13,.78))}.hero-inner{position:relative;padding:160px 0 72px}.hero-copy{max-width:900px}.hero p{max-width:760px;margin:20px 0 28px;font-size:clamp(1.08rem,2vw,1.35rem)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
section{padding:86px 0}.center{text-align:center}.center p{max-width:820px;margin:18px auto 0;font-size:1.16rem}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}.card{background:var(--paper);border:1px solid var(--line);overflow:hidden;box-shadow:0 12px 30px rgba(31,47,39,.07)}.card img{height:250px;object-fit:cover}.card-copy{padding:25px}.card-copy p{margin-bottom:0}.dark-section{background:var(--forest);color:#fff}.dark-section .eyebrow{color:var(--gold)}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:58px;align-items:center}.split img{height:560px;object-fit:cover}.split p{font-size:1.12rem}.feature-list{display:grid;gap:18px;margin-top:28px}.feature{border-top:1px solid rgba(255,255,255,.25);padding-top:18px}.feature p{margin:.35rem 0 0;color:#e8e8e2}.paper{background:var(--paper)}.cta-band{background:var(--orange);color:#fff;text-align:center}.cta-band p{max-width:720px;margin:16px auto 25px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.photo-grid img{height:330px;object-fit:cover}.photo-grid img:nth-child(1),.photo-grid img:nth-child(5){grid-column:span 2}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}.menu-card{background:#fff;border:1px solid var(--line);padding:32px;text-align:center}.menu-card p{min-height:50px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact-panel{background:var(--paper);border:1px solid var(--line);padding:36px}.hours{display:grid;grid-template-columns:1fr auto;gap:10px 24px}.hours div{padding:9px 0;border-bottom:1px solid var(--line)}.map{min-height:500px;background:url('../images/contact-landing-large.jpg') center/cover}.home-map{background:url('images/contact-landing-large.jpg') center/cover}
.footer{background:var(--forest2);color:#fff;padding:44px 4%}.footer-inner{width:min(1180px,92%);margin:auto;display:flex;justify-content:space-between;gap:30px;align-items:center}.footer img{width:110px;filter:brightness(0) invert(1)}.footer small{color:#d7ddd8}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;z-index:99;background:#fff;padding:10px}
.reservation-shell{min-height:100vh;display:grid;place-items:center;padding:130px 20px 70px;background:linear-gradient(rgba(20,40,29,.62),rgba(20,40,29,.72)),url('../images/home-landing-large.jpg') center/cover}.reservation-shell.root{background:linear-gradient(rgba(20,40,29,.62),rgba(20,40,29,.72)),url('images/home-landing-large.jpg') center/cover}.reservation-card{max-width:760px;background:rgba(247,243,232,.96);padding:55px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.22)}.reservation-card h1{font-size:clamp(3rem,7vw,5.5rem)}.reservation-card p{font-size:1.14rem}.resy-wrap{margin:28px 0}
@media(max-width:900px){.topbar nav{display:none}.menu-toggle{display:block}.mobile-menu.open{display:grid;position:absolute;top:72px;left:4%;right:4%;background:var(--forest2);padding:22px;gap:14px}.hero{min-height:70vh}.card-grid,.menu-grid{grid-template-columns:1fr 1fr}.split,.contact-grid{grid-template-columns:1fr}.split img{height:420px}.photo-grid{grid-template-columns:1fr 1fr}.photo-grid img:nth-child(1),.photo-grid img:nth-child(5){grid-column:auto}.footer-inner{flex-direction:column;text-align:center}}
@media(max-width:600px){section{padding:64px 0}.card-grid,.menu-grid,.photo-grid{grid-template-columns:1fr}.hero-inner{padding-top:135px}.card img,.photo-grid img{height:260px}.reservation-card{padding:36px 22px}.topbar{padding:18px 4%}.brand img{width:110px}}
