:root{--ink: #172826;--muted: #65736d;--paper: #f7f2e8;--cream: #fffaf0;--marine: #0f3a40;--marine-2: #245c5d;--tomato: #b83b2c;--gold: #c49a55;--line: rgba(23, 40, 38, .16);--shadow: 0 22px 60px rgba(15, 58, 64, .15);--serif: "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{color:var(--ink);background:var(--paper);font-family:var(--sans);scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit}img{display:block;width:100%;height:auto}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:20;background:var(--ink);color:var(--cream);padding:.65rem .9rem}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;padding:.9rem clamp(1rem,4vw,3rem);border-bottom:1px solid rgba(255,250,240,.2);background:#0f3a40f2;color:var(--cream);backdrop-filter:blur(14px)}.brand,.footer-brand{text-decoration:none}.brand span,.footer-brand{display:block;font-family:var(--serif);font-size:1.65rem;line-height:1}.brand small{display:block;margin-top:.15rem;color:#fffaf0b8;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.primary-nav,.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1rem}.primary-nav a,.site-footer nav a{padding:.45rem 0;text-decoration:none;color:inherit;font-size:.86rem;text-transform:uppercase;letter-spacing:.08em}.book-link,.button,.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.6rem;padding:.72rem 1rem;border:1px solid currentColor;border-radius:999px;text-decoration:none;font-size:.84rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.book-link{color:var(--cream)}.button{color:var(--cream);background:var(--tomato);border-color:var(--tomato)}.button.alt{color:var(--marine);background:transparent;border-color:var(--marine)}.text-button{color:var(--marine);border-color:var(--line);background:#fffaf08c}.hero{min-height:620px;height:min(820px,calc(88vh - 74px));display:grid;grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);background:var(--marine);color:var(--cream)}.hero-copy{display:flex;flex-direction:column;justify-content:center;gap:1.4rem;padding:clamp(2rem,6vw,5rem);position:relative}.eyebrow{color:var(--gold);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em}h1,h2,h3{margin:0;font-family:var(--serif);font-weight:600;line-height:.98}h1{max-width:12ch;font-size:clamp(3rem,6vw,4.5rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.35rem,2.4vw,2rem)}p{line-height:1.7}.hero-copy p{max-width:42rem;color:#fffaf0cc;font-size:1.08rem}.hero-actions,.button-row{display:flex;flex-wrap:wrap;gap:.75rem}.hero .button.alt{color:var(--cream);border-color:#fffaf0b8}.hero-media{min-height:34rem;position:relative;overflow:hidden}.hero-media img{height:100%;min-height:100%;object-fit:cover}.section{padding:clamp(3.5rem,7vw,6rem) clamp(1rem,4vw,3rem)}.section.band{background:var(--cream)}.section.deep{background:var(--marine);color:var(--cream)}.section-head{max-width:760px;margin-bottom:2rem}.section-head p{color:var(--muted);font-size:1.02rem}.deep .section-head p{color:#fffaf0bf}.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))}.feature-card,.content-card,.menu-card,.review-card,.contact-panel{border:1px solid var(--line);background:#fffaf0b3}.feature-card,.content-card,.menu-card,.review-card{display:flex;flex-direction:column;min-height:100%}.feature-card{padding:1.4rem}.content-card img,.feature-card img,.gallery-tile img{aspect-ratio:4 / 3;object-fit:cover}.card-body{padding:1.25rem}.card-body p,.menu-card p,.review-card p{color:var(--muted)}.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}.split img{aspect-ratio:5 / 4;object-fit:cover;box-shadow:var(--shadow)}.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}.stat-strip div{padding:1.25rem;border-right:1px solid var(--line)}.stat-strip div:last-child{border-right:0}.stat-strip strong{display:block;font-family:var(--serif);font-size:2.2rem;line-height:1}.page-hero{padding:clamp(4rem,8vw,7rem) clamp(1rem,4vw,3rem) 3rem;background:linear-gradient(135deg,var(--marine),#173d33);color:var(--cream)}.page-hero p{max-width:44rem;color:#fffaf0c7}.menu-card{padding:1.25rem}.menu-meta,.review-meta{color:var(--tomato);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.price{color:var(--marine);font-weight:800}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.gallery-tile{position:relative;min-height:100%;overflow:hidden;background:var(--cream)}.gallery-tile:nth-child(3n+1){grid-row:span 2}.gallery-tile:nth-child(3n+1) img{aspect-ratio:4 / 5}.gallery-tile figcaption{padding:.8rem;font-size:.9rem;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}.contact-panel{padding:1.5rem}.contact-list{display:grid;gap:.8rem;margin:0;padding:0;list-style:none}.portable-text :first-child{margin-top:0}.portable-text :last-child{margin-bottom:0}.site-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;padding:2rem clamp(1rem,4vw,3rem);background:var(--ink);color:var(--cream)}.site-footer p{margin:.3rem 0;color:#fffaf0b8}.footer-actions{display:grid;gap:.4rem;justify-items:end}.footer-actions a{color:var(--cream)}@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.primary-nav{grid-column:1 / -1;justify-content:flex-start;overflow-x:auto;padding-bottom:.2rem}.hero,.split,.contact-grid,.site-footer{grid-template-columns:1fr}.hero{height:auto;min-height:auto}.hero-media{min-height:22rem;order:-1}.grid.three,.grid.two,.grid.four,.gallery-grid,.stat-strip{grid-template-columns:1fr}.stat-strip div{border-right:0;border-bottom:1px solid var(--line)}.footer-actions{justify-items:start}}@media(max-width:520px){h1{font-size:clamp(2.35rem,12vw,3rem)}.section,.page-hero{padding-inline:1rem}.book-link{min-height:2.35rem;padding-inline:.8rem}}
