@font-face{font-family:Kreon;src:url(/kreon.ttf)format("truetype");font-weight:300 700;font-display:swap}:root{--brand:#5b2018;--brand-soft:#7a3226;--cream:#f4d9aa;--cream-deep:#f0d79f;--paper:#fbf3df;--ink:#3d1710;--muted:#8a6a4f;--line:#5b201829;--gold:#c98a2b;--open:#3f7d3a;--closed:#a2402f;--maxw:900px;--radius:18px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);background-color:var(--cream);background-image:radial-gradient(1200px 600px at 50% -10%, var(--paper), transparent 70%), radial-gradient(900px 500px at 90% 110%, var(--cream-deep), transparent 60%), radial-gradient(900px 500px at 10% 110%, var(--cream-deep), transparent 60%);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Kreon,Georgia,Times New Roman,serif;line-height:1.6}a{color:inherit}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}.hero{text-align:center;padding:56px 20px 24px}.hero .logo{filter:drop-shadow(0 8px 18px #5b20182e);width:min(240px,52vw);height:auto}.tagline{letter-spacing:.04em;color:var(--brand);margin:18px auto 0;font-size:clamp(1.15rem,2.6vw,1.5rem);font-weight:500}.tagline:before,.tagline:after{content:"•";color:var(--gold);vertical-align:middle;margin:0 .6em}.status{background:var(--paper);border:1px solid var(--line);border-radius:999px;align-items:center;gap:5px;margin-top:22px;padding:9px 18px;font-size:1rem;display:inline-flex;box-shadow:0 4px 12px #5b201814}.status .dot{border-radius:50%;width:10px;height:10px;margin-right:8px;box-shadow:0 0 0 4px #0000000f}.status.is-open .dot{background:var(--open)}.status.is-closed .dot{background:var(--closed)}.status .label{font-weight:600}.status .detail{color:var(--muted)}.divider{color:var(--brand);opacity:.7;justify-content:center;align-items:center;gap:14px;margin:40px auto 8px;display:flex}.divider:before,.divider:after{content:"";background:linear-gradient(90deg, transparent, var(--brand));flex:1;max-width:140px;height:1px}.divider:after{background:linear-gradient(90deg, var(--brand), transparent)}.grid{grid-template-columns:1fr 1fr;gap:22px;margin:20px 0 40px;display:grid}@media (max-width:720px){.grid{grid-template-columns:1fr}.grid>.card:first-child{order:2}.grid>.card:nth-child(2){order:1}}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px 26px 28px;box-shadow:0 10px 26px #5b201812}.card h2{color:var(--brand);letter-spacing:.02em;align-items:center;gap:10px;margin:0 0 16px;font-size:1.35rem;display:flex}.card h2 svg{flex:none;width:22px;height:22px}.hours{margin:0;padding:0;list-style:none}.hours li{border-bottom:1px dashed var(--line);grid-template-columns:1.05fr 1fr 1fr;align-items:baseline;gap:10px;padding:9px 0;display:grid}.hours li:last-child{border-bottom:none}.hours .hours-head{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:2px;padding-bottom:8px;font-size:.78rem}.hours .day{font-weight:500}.hours .slot{text-align:right;color:var(--brand-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.hours .hours-head .slot{color:var(--muted)}.hours .slot.empty{color:var(--muted);font-style:italic}@media (max-width:380px){.hours .slot{font-size:.92rem}}.contact-block+.contact-block{border-top:1px dashed var(--line);margin-top:22px;padding-top:22px}.contact-label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:6px;font-size:.82rem}.phone{color:var(--brand);align-items:center;gap:10px;font-size:clamp(1.5rem,4vw,1.9rem);font-weight:600;text-decoration:none;display:inline-flex}.phone:hover{color:var(--brand-soft)}.address{font-size:1.1rem;font-style:normal;line-height:1.5}.maplink{color:var(--brand);border-bottom:1px solid var(--gold);margin-top:12px;padding-bottom:1px;text-decoration:none;display:inline-block}.maplink:hover{color:var(--brand-soft)}.reserve-note{color:var(--muted);margin-top:10px;font-size:.98rem}footer{text-align:center;color:var(--muted);border-top:1px solid var(--line);margin-top:10px;padding:30px 20px 50px;font-size:.92rem}footer .name{color:var(--brand);letter-spacing:.02em;font-weight:600}footer .piva{margin-top:6px}
