@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Karla:wght@400;600;700&display=swap');
:ut-root,.ut-root { --bg:#2c241c; --ink:#f3ebe1; --accent:#c4a484; --muted:#b3a393; --panel:#3a3026; --band:#1f1914; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.ut-body { margin:0; font-family:'Karla',sans-serif; background:var(--bg); color:var(--ink); line-height:1.65; }
.ut-brand, .ut-display, h1, h2, h3 { font-family:'Libre Baskerville',serif; font-weight:600; line-height:1.15; }
a { color:var(--accent); }
a:hover { text-decoration-thickness:2px; }
.ut-wrap { width:min(1100px,92vw); margin:0 auto; }
.ut-header { padding:1rem 4vw; display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; position:relative; z-index:20; }
.ut-brand { font-size:clamp(1.4rem,3vw,2rem); text-decoration:none; color:var(--ink); }
.ut-nav { display:flex; flex-wrap:wrap; gap:.75rem 1.1rem; align-items:center; }
.ut-nav a { text-decoration:none; color:var(--ink); font-size:.95rem; }
.ut-nav a.ut-is-active { color:var(--accent); }
.ut-nav-toggle { display:none; background:var(--panel); border:1px solid var(--muted); color:var(--ink); padding:.5rem .8rem; cursor:pointer; }
.ut-hero { min-height:72vh; display:flex; flex-direction:column; justify-content:flex-end; padding:4rem 6vw 3rem; background:var(--panel); position:relative; overflow:hidden; }
.ut-hero .ut-brand-hero { font-size:clamp(2rem,6vw,4rem); margin:0 0 .5rem; }
.ut-hero h1 { font-size:clamp(1.4rem,3vw,2.2rem); margin:0 0 .75rem; max-width:20ch; }
.ut-hero p { max-width:40ch; margin:0 0 1.25rem; color:var(--muted); }
.ut-cta { display:inline-flex; gap:.75rem; flex-wrap:wrap; }
.ut-cta a { display:inline-block; padding:.7rem 1.1rem; background:var(--accent); color:var(--bg); text-decoration:none; border:1px solid var(--accent); }
.ut-cta a.ut-ghost { background:transparent; color:var(--ink); border-color:var(--ink); }
main.ut-main { padding:2.5rem 0 4rem; }
.ut-section { padding:2.5rem 6vw; }
.ut-section h2 { font-size:clamp(1.5rem,3vw,2.2rem); margin:0 0 1rem; }
.ut-prose { max-width:68ch; }
.ut-prose p { margin:0 0 1rem; }
.ut-split { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
@media(max-width:800px){ .ut-split { grid-template-columns:1fr; } }
.ut-hours { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; padding:.75rem 6vw; background:var(--band); font-size:.9rem; }
.ut-footer { padding:2.5rem 6vw; border-top:1px solid var(--band); margin-top:2rem; }
.ut-footer a { color:var(--ink); }
.ut-form { display:grid; gap:.9rem; max-width:32rem; }
.ut-form label { display:grid; gap:.35rem; font-size:.9rem; }
.ut-form input, .ut-form textarea { font:inherit; padding:.65rem .7rem; border:1px solid var(--muted); background:var(--bg); color:var(--ink); }
.ut-form button, .ut-cookie-actions button { font:inherit; cursor:pointer; padding:.65rem 1rem; background:var(--accent); color:var(--bg); border:none; }
.ut-form-ok { color:var(--accent); }
.ut-cookie { position:fixed; z-index:50; background:var(--panel); border:1px solid var(--muted); padding:1rem; max-width:28rem; box-shadow:0 8px 30px rgba(0,0,0,.2); }
.ut-cookie[hidden], .ut-cookie-panel[hidden], .ut-form-ok[hidden] { display:none !important; }
.ut-cookie-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.75rem; }
.ut-contact-block p { margin:.25rem 0; }
.ut-faq details { border-bottom:1px solid var(--band); padding:.8rem 0; }
.ut-table { width:100%; border-collapse:collapse; }
.ut-table th, .ut-table td { border-bottom:1px solid var(--band); text-align:left; padding:.6rem .3rem; }
.ut-dl dt { font-weight:700; margin-top:.8rem; }
.ut-dl dd { margin:0 0 .4rem; color:var(--muted); }
.ut-toc a { display:block; padding:.4rem 0; }
.ut-rule { border:0; border-top:1px solid var(--band); margin:2rem 0; }
.ut-frame { border:2px solid var(--ink); padding:1.2rem; margin:1.5rem 0; }
.ut-stamp { font-family:ui-monospace,monospace; border:1px dashed var(--muted); padding:1rem; display:inline-block; }
.ut-dock { display:none; }
@media(max-width:860px){
  .ut-nav-toggle { display:inline-block; }
  .ut-nav { display:none; width:100%; flex-direction:column; align-items:flex-start; padding:1rem 0; }
  .ut-nav.ut-open { display:flex; }
}
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after { animation:none !important; transition:none !important; }
}
.ut-screen-a{min-height:100vh;display:grid;place-items:center;text-align:center}.ut-screen-b{min-height:100vh;padding:4rem 6vw}.ut-diag{clip-path:polygon(0 8%,100% 0,100% 92%,0 100%);padding:4rem 6vw;background:utANEL}.ut-cookie{left:0;right:0;bottom:0;background:transparent;border:none;box-shadow:none}.ut-cookie-inner{background:utANEL;border:1px solid #b3a393;padding:.8rem 1rem}.ut-cookie-actions button{background:none;border:none;text-decoration:underline;color:#f3ebe1;padding:.25rem .5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
/* recipe motion / header variants */
.ut-nav-toggle{display:inline-block}.ut-nav{display:none}.ut-nav.ut-open{display:flex;position:fixed;inset:0;background:var(--bg);padding:5rem 2rem;z-index:40;flex-direction:column;font-size:1.4rem}
.ut-cta a{transition:background .25s,color .25s}.ut-cta a:hover{background:var(--ink);color:var(--bg)}
.ut-footer{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;font-size:.85rem}.ut-footer .ut-brand{font-size:1rem}
