:root{--ink: #1f2a37;--gold: #c9a24b;--paper: #faf7f0;--line: #e4dcc9;--text: #1f2a37;--surface: #fff;--muted: #6b7280;--note-bg: #fffaf0;--header-bg: #1f2a37;--link: #8a6a1f;color-scheme:light}[data-theme=dark]{--paper: #121821;--line: #2f3b4b;--text: #e6e9ee;--surface: #1b2430;--muted: #a3adbb;--note-bg: #231f14;--header-bg: #0b1017;--link: #e0bd6a;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;color:var(--text);background:var(--paper);line-height:1.55}.site-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--header-bg);color:#fff}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;text-decoration:none}.brand-mark{width:18px;height:28px;border-left:6px solid var(--gold);border-right:6px solid var(--gold)}.header-actions{display:flex;align-items:center;gap:16px}.auth{display:flex;align-items:center;gap:12px}.theme-toggle,.auth button{cursor:pointer;padding:6px 12px}.hero{padding:72px 24px;text-align:center;color:#fff;background:repeating-linear-gradient(135deg,#2b3a4b 0,#2b3a4b 18px,#243241 18px,#243241 36px)}.hero h1{margin:0 0 8px;font-size:2.4rem}.layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:32px;max-width:1100px;margin:0 auto;padding:32px 24px}.booking{align-self:start;position:sticky;top:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.booking h2{margin-top:0}.hours th,.hours td{color:var(--text)}.hours th{text-align:left;padding-right:24px;font-weight:600}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:2px}.card h3,.card p{margin:0}.card a,.contact-fallback a,.legal a{color:var(--link)}.contact-fallback{border:1px dashed var(--gold);border-radius:10px;padding:14px;background:var(--note-bg);color:var(--text)}.contact-fallback h3{margin-top:0}.contact-fallback ul{padding-left:18px;margin-bottom:0}.site-footer{text-align:center;padding:24px;color:var(--muted);font-size:.85rem}.legal{max-width:760px;margin:0 auto;padding:32px 24px}.legal h1{margin-top:0}.legal-banner{border:1px dashed var(--gold);border-radius:10px;padding:12px 16px;background:var(--note-bg)}.site-footer a{color:inherit;margin:0 6px}@media(max-width:800px){.layout{grid-template-columns:1fr}.booking{position:static}}
