:root { --paper:#f5f0e7; --surface:#fbf8f2; --ink:#242b22; --muted:#756f62; --line:#d8d0c1; --accent:#9a4738; --accent-ink:#fffaf2; --focus:#873b2e; --font-body:Georgia,serif; --action-radius:3px; }
:root[data-theme="dark"] { --paper:#1b211c; --surface:#252c26; --ink:#f4eee2; --muted:#c1b7a6; --line:#45493f; --accent:#cf765d; --accent-ink:#211b18; --focus:#e19a82; }
.site-header { padding-top:16px; padding-bottom:16px; }
.brand { align-items:center; gap:12px; font-family:Georgia,serif; font-size:17px; font-weight:500; letter-spacing:-.02em; }
.brand-mark { display:grid; width:35px; height:35px; place-items:center; border:1px solid var(--accent); border-radius:50%; color:var(--accent); font-size:11px; }
.brand-name { display:flex; flex-direction:column; }
.brand-name small { margin-top:3px; color:var(--muted); font:8px Arial,sans-serif; letter-spacing:.14em; }
.site-nav a { font-family:Arial,sans-serif; font-size:11px; }
.hero { display:grid; grid-template-columns:.88fr 1.12fr; align-items:center; gap:clamp(30px,6vw,88px); min-height:610px; padding:clamp(50px,7vw,94px) clamp(22px,7vw,104px) 82px; }
.hero-copy { max-width:520px; }
.hero .eyebrow,.wayfinding .eyebrow,.about .eyebrow,.menu-note .eyebrow,.visit-band .eyebrow { font-family:Arial,sans-serif; }
.hero h1 { margin:20px 0; font-size:clamp(48px,7vw,86px); font-weight:400; line-height:.98; letter-spacing:-.07em; }
.hero h1 em { color:var(--accent); font-weight:400; }
.hero-copy > p:not(.eyebrow) { max-width:410px; color:var(--muted); font-size:15px; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:28px; }
.hero .action { font-family:Arial,sans-serif; font-weight:600; }
.text-action { padding:9px 0; border-bottom:1px solid var(--line); font:11px Arial,sans-serif; transition:color .2s ease,border-color .2s ease; }
.text-action:hover { border-color:var(--accent); color:var(--accent); }
.hero-media { height:min(60vw,500px); min-height:330px; border-radius:46% 46% 2px 2px / 38% 38% 2px 2px; }
.hero-media img { object-position:center 58%; }
.hero-media figcaption { position:absolute; right:14px; bottom:13px; max-width:220px; padding:8px 10px; background:var(--paper); color:var(--muted); font:8px Arial,sans-serif; letter-spacing:.08em; text-align:right; }
.hero-caption { position:absolute; bottom:26px; left:clamp(22px,7vw,104px); right:clamp(22px,7vw,104px); display:flex; justify-content:space-between; color:var(--muted); font:8px Arial,sans-serif; letter-spacing:.16em; }
.section-shell { padding:clamp(58px,8vw,108px) clamp(22px,7vw,104px); }
.wayfinding { display:grid; grid-template-columns:.9fr 1.1fr; gap:16px 50px; background:var(--surface); }
.wayfinding-intro h2,.about h2,.menu-note h2,.visit-band h2 { margin:11px 0; font-size:clamp(34px,5vw,58px); font-weight:400; line-height:1.04; letter-spacing:-.06em; }
.wayfinding-intro > p:last-child,.about-copy > p:not(.eyebrow),.menu-note > p:last-child,.visit-band > p { color:var(--muted); font-size:13px; line-height:1.75; }
.wayfinding .search-panel { align-self:center; }
.search-field { border-radius:3px; }
.menu-paths { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:12px; }
.menu-paths a { display:flex; align-items:center; gap:12px; min-height:66px; padding:10px 0; border-bottom:1px solid var(--line); transition:padding .2s ease,color .2s ease,border-color .2s ease; }
.menu-paths a:hover { padding-inline:7px; border-color:var(--accent); color:var(--accent); }
.menu-paths span { color:var(--muted); font:9px Arial,sans-serif; }
.menu-paths strong { flex:1; font-size:15px; font-weight:400; }
.menu-paths i { color:var(--accent); font-style:normal; }
.about { display:grid; grid-template-columns:.82fr 1.18fr; align-items:center; gap:clamp(30px,7vw,100px); }
.about-photo { height:350px; }
.about-photo img { object-position:center 65%; }
.about-copy { max-width:520px; }
.quiet-link { display:inline-flex; gap:8px; margin-top:14px; padding:9px 0; border-bottom:1px solid var(--line); font:11px Arial,sans-serif; transition:color .2s ease,border-color .2s ease; }
.quiet-link:hover { border-color:var(--accent); color:var(--accent); }
.menu-note { max-width:820px; margin:0 auto; text-align:center; }
.menu-note > p:last-child { max-width:540px; margin-inline:auto; }
.visit-band { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:24px; padding:45px clamp(22px,7vw,104px); background:#263128; color:#f5f0e7; }
.visit-band .eyebrow { color:#dbad82; }
.visit-band h2 { max-width:480px; }
.visit-band > p { max-width:380px; color:#d0c8b9; }
.visit-band .action { white-space:nowrap; }
.site-footer .brand { font-size:14px; }
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;gap:28px}.wayfinding{grid-template-columns:1fr}.menu-paths{grid-template-columns:1fr 1fr}.about{grid-template-columns:.9fr 1.1fr}.visit-band{grid-template-columns:1fr 1fr}.visit-band .action{grid-column:2;justify-self:start}}
@media(max-width:650px){.hero{grid-template-columns:1fr;min-height:unset;padding-top:46px}.hero h1{font-size:clamp(50px,14vw,74px)}.hero-media{height:86vw;min-height:260px;max-height:420px}.hero-caption{position:static;grid-row:3;padding-inline:22px}.wayfinding{gap:4px}.menu-paths{grid-template-columns:1fr}.about{grid-template-columns:1fr}.about-photo{height:260px}.visit-band{grid-template-columns:1fr}.visit-band .action{grid-column:auto}}
