:root{--paper: #fbf6ec;--paper-deep: #efe4d2;--ink: #172226;--muted: #68716d;--line: rgba(23, 34, 38, .16);--charcoal: #101719;--eucalyptus: #55746b;--copper: #b16f42;--cream: #fffaf1;--shadow: 0 24px 70px rgba(16, 23, 25, .14);--serif: Georgia, "Times New Roman", serif;--sans: "Avenir Next", "Helvetica Neue", Helvetica, sans-serif}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--sans);scroll-behavior:smooth}body{margin:0;min-width:320px}body:before{background-image:linear-gradient(rgba(23,34,38,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,34,38,.03) 1px,transparent 1px);background-size:38px 38px;content:"";inset:0;pointer-events:none;position:fixed;z-index:-1}a{color:inherit;text-decoration:none}img{display:block;height:auto;max-width:100%}.skip-link{background:var(--ink);color:var(--paper);left:1rem;padding:.65rem .9rem;position:fixed;top:-4rem;z-index:20}.skip-link:focus{top:1rem}.site-header{align-items:center;background:#fbf6eceb;border-bottom:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:auto 1fr auto;left:0;padding:.85rem clamp(1rem,4vw,3rem);position:sticky;right:0;top:0;z-index:10;backdrop-filter:blur(16px)}.brand{display:inline-grid;font-family:var(--serif);font-size:1.05rem;letter-spacing:.08em;line-height:.95;text-transform:uppercase}.brand strong{font-size:1.3rem;font-weight:600}.primary-nav,.site-footer nav{display:flex;flex-wrap:wrap;gap:.35rem .85rem;justify-content:center}.primary-nav a,.site-footer nav a{border-bottom:1px solid transparent;color:var(--muted);font-size:.82rem;font-weight:650;letter-spacing:.08em;padding:.35rem 0;text-transform:uppercase}.primary-nav a:hover,.site-footer nav a:hover{border-color:var(--copper);color:var(--ink)}.reserve-link,.button{align-items:center;background:var(--charcoal);border:1px solid var(--charcoal);color:var(--paper);display:inline-flex;font-size:.78rem;font-weight:750;justify-content:center;letter-spacing:.09em;min-height:42px;padding:.75rem 1rem;text-transform:uppercase;transition:background .16s ease,color .16s ease,transform .16s ease}.reserve-link:hover,.button:hover{background:var(--copper);border-color:var(--copper);transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover{background:var(--ink);color:var(--paper)}.hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:78vh}.hero-copy{align-content:end;display:grid;gap:1.4rem;padding:clamp(5rem,10vw,9rem) clamp(1.2rem,6vw,5rem) clamp(3rem,7vw,6rem)}.eyebrow{color:var(--copper);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:500;line-height:1.03;margin:0}h1{font-size:clamp(2.55rem,7vw,4.45rem);max-width:11ch}.page-title{font-size:clamp(2.1rem,5vw,3.45rem);max-width:14ch}h2{font-size:clamp(1.75rem,4vw,2.65rem)}h3{font-size:clamp(1.12rem,2vw,1.45rem)}p{color:var(--muted);line-height:1.65;margin:0}.lede{color:var(--ink);font-size:clamp(1.05rem,2vw,1.25rem);max-width:62ch}.hero-media{min-height:520px;overflow:hidden;position:relative}.hero-media img{height:100%;object-fit:cover;position:absolute;width:100%}.hero-badge{background:var(--cream);border:1px solid var(--line);bottom:2rem;box-shadow:var(--shadow);display:grid;gap:.25rem;left:2rem;max-width:260px;padding:1rem;position:absolute}.hero-badge strong{font-size:1.5rem}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem}.section{padding:clamp(3.5rem,8vw,7rem) clamp(1rem,4vw,3rem)}.section.alt{background:var(--charcoal);color:var(--paper)}.section.alt p,.section.alt .section-kicker{color:#fbf6ecb8}.section-inner{margin:0 auto;max-width:1180px}.section-head{align-items:end;display:grid;gap:1rem;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);margin-bottom:2rem}.section-kicker{color:var(--muted);font-size:.88rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.grid{display:grid;gap:1rem}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fffaf1bd;border:1px solid var(--line);border-radius:8px;display:grid;gap:.85rem;padding:1.1rem}.card.dark{background:#ffffff0f;border-color:#fbf6ec2e}.meta{color:var(--copper);font-size:.75rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.media-card{overflow:hidden;padding:0}.media-card img,.media-card :global(img){aspect-ratio:4 / 3;height:100%;object-fit:cover;width:100%}.media-card .card-body{display:grid;gap:.7rem;padding:1rem}.menu-list{display:grid;gap:.85rem}.menu-item{align-items:start;border-bottom:1px solid var(--line);display:grid;gap:.75rem;grid-template-columns:1fr auto;padding:0 0 .85rem}.menu-item:last-child{border-bottom:0;padding-bottom:0}.price{color:var(--copper);font-weight:800;white-space:nowrap}.quote{border-left:3px solid var(--copper);color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.12rem;line-height:1.5;padding-left:1rem}.visit-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.detail-list{display:grid;gap:.8rem;margin:0;padding:0}.detail-list div{border-bottom:1px solid var(--line);display:grid;gap:.25rem;padding-bottom:.8rem}.detail-list dt{color:var(--copper);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.detail-list dd{color:var(--ink);margin:0}.site-footer{align-items:start;background:var(--charcoal);color:var(--paper);display:grid;gap:1.5rem;grid-template-columns:1fr 1fr 1fr;padding:2.5rem clamp(1rem,4vw,3rem)}.site-footer p,.site-footer a{color:#fbf6ecb8}.footer-brand{color:var(--paper);margin-bottom:.65rem}.footer-contact{display:grid;gap:.5rem;justify-items:end}@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.primary-nav{grid-column:1 / -1;justify-content:start;overflow-x:auto}.hero,.section-head,.visit-grid,.site-footer{grid-template-columns:1fr}.hero-media{min-height:420px;order:-1}.grid.three,.grid.four,.grid.two{grid-template-columns:1fr}.footer-contact{justify-items:start}}@media(max-width:540px){.site-header{padding:.75rem 1rem}.reserve-link{min-height:38px;padding-inline:.8rem}.hero-copy{padding:2rem 1rem 3rem}.hero-media{min-height:320px}.hero-badge{bottom:1rem;left:1rem;right:1rem}.section{padding-inline:1rem}}
