:root{--ink: #17140f;--ink-soft: #4a4439;--flour: #f6f0e4;--paper: #fffaf0;--stone: #d1c0a2;--grain: #a8753a;--tomato: #b53624;--olive: #3f5536;--wine: #582435;--line: rgba(23, 20, 15, .16);--shadow: 0 24px 80px rgba(23, 20, 15, .16);font-family:Avenir Next,Trebuchet MS,sans-serif;color:var(--ink);background:var(--flour)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:linear-gradient(90deg,rgba(23,20,15,.035) 1px,transparent 1px) 0 0 / 68px 68px,var(--flour)}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:radial-gradient(circle at 1px 1px,rgba(23,20,15,.18) 1px,transparent 0);background-size:18px 18px;mix-blend-mode:multiply;z-index:10}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:16px clamp(18px,4vw,54px);border-bottom:1px solid var(--line);background:#f6f0e4e0;backdrop-filter:blur(16px)}.brand,.footer-brand{font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-weight:650}.primary-nav,.site-footer nav,.footer-actions{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}.primary-nav{justify-content:center}.primary-nav a,.site-footer a:not(.footer-brand),.text-link{font-size:.84rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.primary-nav a:hover,.site-footer a:hover,.text-link:hover{color:var(--tomato)}.book-link,.button,.button-dark{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:0 18px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:.82rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.button{background:transparent;color:var(--ink)}.button:hover,.book-link:hover,.button-dark:hover{background:var(--tomato);border-color:var(--tomato);color:var(--paper)}.section,.page-shell{width:min(1160px,calc(100% - 36px));margin:0 auto}.page-shell{padding:74px 0}.eyebrow{margin:0 0 12px;color:var(--tomato);font-size:.78rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}h1,h2,h3{font-family:Georgia,Times New Roman,serif;margin:0;line-height:1.02;font-weight:650}h1{max-width:920px;font-size:clamp(2.65rem,6vw,4.4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.24rem,2vw,1.65rem)}p{color:var(--ink-soft);line-height:1.72}.lead{max-width:760px;font-size:clamp(1.05rem,2vw,1.32rem)}.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);gap:clamp(24px,5vw,64px);align-items:stretch;padding:clamp(28px,5vw,64px);border-bottom:1px solid var(--line)}.hero-copy{display:flex;flex-direction:column;justify-content:space-between;gap:42px;padding:clamp(10px,3vw,30px) 0}.hero-media{position:relative;min-height:520px;overflow:hidden;border:1px solid var(--ink);background:var(--stone);box-shadow:var(--shadow)}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-meta,.stat-strip,.split,.card-grid,.menu-grid,.gallery-grid,.review-grid,.contact-grid{display:grid;gap:18px}.hero-meta{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px}.meta-tile,.content-card,.menu-card,.review-card,.news-card,.visit-card{border:1px solid var(--line);background:#fffaf0c2;padding:22px}.meta-tile strong,.stat strong{display:block;font-family:Georgia,Times New Roman,serif;font-size:1.5rem;color:var(--ink)}.meta-tile span,.stat span,.small-label{color:var(--ink-soft);font-size:.78rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.hero-actions,.section-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.stat-strip{grid-template-columns:repeat(4,minmax(0,1fr));margin:68px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:22px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.split{grid-template-columns:minmax(0,.86fr) minmax(320px,1fr);align-items:center;margin:74px auto}.split img,.feature-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;border:1px solid var(--ink)}.text-panel{padding:clamp(24px,4vw,46px)}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px}.content-card img,.news-card img{width:100%;height:auto;aspect-ratio:5 / 4;object-fit:cover;margin-bottom:18px}.content-card p,.news-card p,.menu-card p,.review-card p{margin-bottom:0}.menu-section{margin-top:46px}.menu-section h2{padding-bottom:14px;border-bottom:1px solid var(--ink)}.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.menu-card.highlight{border-color:var(--tomato);box-shadow:inset 6px 0 0 var(--tomato)}.price{color:var(--wine);font-weight:750}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px}.review-card blockquote{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;line-height:1.25}.stars{color:var(--tomato);font-weight:750}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px}.gallery-item{margin:0;border:1px solid var(--line);background:var(--paper)}.gallery-item img{width:100%;height:auto!important;aspect-ratio:4 / 5;object-fit:cover}.gallery-item.landscape img{aspect-ratio:5 / 4}.gallery-item figcaption{padding:16px}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);align-items:start}.visit-card+.visit-card{margin-top:16px}.site-footer{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) minmax(220px,auto);gap:24px;padding:42px clamp(18px,4vw,54px);border-top:1px solid var(--line);background:var(--ink);color:var(--paper)}.site-footer p,.site-footer a{color:#fffaf0c7}.site-footer .footer-brand{color:var(--paper)}.portable :first-child{margin-top:0}.portable :last-child{margin-bottom:0}@media(max-width:860px){.site-header{grid-template-columns:1fr auto}.primary-nav{grid-column:1 / -1;justify-content:flex-start}.hero,.split,.contact-grid,.site-footer{grid-template-columns:1fr}.hero{min-height:0;padding:26px 18px 38px}.hero-media{min-height:360px}.hero-meta,.stat-strip,.card-grid,.menu-grid,.review-grid,.gallery-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}}
