:root{--wine:#650d1b;--deep:#3c0710;--gold:#b78a31;--paper:#fff9ed;--ink:#32181b;--muted:#74605d;--line:#e7d9c4;--green:#2f673c;--radius:12px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Karla,system-ui,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer}button,.button{border:1px solid var(--wine);background:var(--wine);color:white;border-radius:7px;padding:11px 20px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4}button:hover,.button:hover{filter:brightness(1.13)}button:disabled{opacity:.5;cursor:not-allowed}.outline{color:var(--wine);background:transparent}.ghost{background:transparent;color:inherit;border-color:var(--line)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Yeseva One',Georgia,serif;font-weight:600;line-height:1.1}h1{font-size:clamp(2.8rem,5.5vw,5.2rem);letter-spacing:-.035em}h2{font-size:clamp(2rem,3.8vw,3.1rem)}h3{font-size:1.2rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:700;color:var(--gold);margin-bottom:18px}.public-header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 5vw;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand img{width:58px;height:58px;object-fit:contain}.brand span{font:600 1.55rem Georgia,serif}.brand small{display:block;font:700 .68rem system-ui;letter-spacing:.22em;margin-top:7px}.public-header nav{display:flex;gap:28px;font-weight:600}.public-header nav a:hover{color:var(--gold)}.wrap{max-width:1240px;margin:auto;padding:60px 32px}.hero{display:grid;grid-template-columns:1.04fr 1fr;min-height:620px;background:var(--wine);color:var(--paper)}.hero-copy{padding:88px 6vw;align-self:center}.hero-copy p{max-width:40ch;color:#ebd7bf}.hero-copy h1{max-width:10ch}.hero-media{display:grid;place-items:center;background:var(--deep);padding:35px;overflow:hidden}.hero-media img{width:100%;border:1px solid #ad8238;border-radius:4px;box-shadow:0 25px 60px #24010866;transform:rotate(-2deg)}.hero .button{background:var(--paper);color:var(--wine);border-color:var(--paper)}.hero .outline{background:transparent;color:var(--paper);border-color:#e7d9c466}.actions{display:flex;gap:12px;flex-wrap:wrap}.band{display:flex;justify-content:center;gap:32px;background:var(--deep);color:#e2c99a;padding:17px;font-size:.85rem;letter-spacing:.07em}.intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.intro p{color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.section-head h2{margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}.card.photo{padding:0;overflow:hidden}.card.photo>img{width:100%;height:230px;object-fit:cover}.card-content{padding:24px}.card h3{margin-bottom:8px}.muted{color:var(--muted)}.pill{display:inline-block;border-radius:100px;background:#f4ead5;padding:4px 10px;font-size:.8rem;margin:0 6px 9px 0}.pill.green{color:var(--green);background:#edf5ed}.empty{border:1px solid var(--line);padding:42px;text-align:center;border-radius:var(--radius);background:#ffffff88}.empty p{color:var(--muted);max-width:52ch;margin:10px auto 24px}.filterbar{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 32px}.filterbar button{background:transparent;color:var(--wine);border-color:var(--line);border-radius:100px}.filterbar button.active{background:var(--wine);color:white}.row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.branch-selector{min-width:210px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}input,select,textarea{display:block;width:100%;min-height:46px;border:1px solid #cdbb9f;border-radius:6px;background:white;padding:10px 12px;color:var(--ink)}textarea{min-height:90px}.field{margin-bottom:18px}.form-grid .field{margin:0}.form-grid .full{grid-column:1/-1}.notice{padding:16px 20px;border-left:3px solid var(--gold);background:#f4ead5;margin:24px 0;border-radius:0 6px 6px 0}.notice.error{border-color:#b22e37;background:#fceced}.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px}.sticky{position:sticky;top:25px;align-self:start}.cart-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-line button{padding:3px 9px}.total{font-size:1.25rem;font-weight:700}.plan-number{font:600 3.6rem Georgia,serif;color:var(--wine);margin:30px 0 12px}.plan-number small{font:400 1rem system-ui}.public-footer{background:var(--deep);color:#f4dfb8;padding:44px 5vw;display:flex;align-items:center;gap:35px;flex-wrap:wrap}.public-footer .brand{margin-right:auto}.public-footer p{margin:0;width:100%;color:#d1b590}.public-footer>span{margin-left:auto;font-size:.8rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.rule{border:0;border-top:1px solid var(--line);margin:32px 0}.loading{text-align:center;padding:100px}.account-section{margin-bottom:35px}dialog{border:1px solid var(--line);border-radius:15px;max-width:700px;width:calc(100% - 32px);padding:38px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#19000499;backdrop-filter:blur(4px)}.dialog-close{position:absolute;top:8px;right:10px;background:none;color:var(--ink);border:0;padding:3px 10px;font-size:1.6rem}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--deep);color:white;max-width:90%;padding:14px 25px;border-radius:8px;box-shadow:0 5px 30px #0003;z-index:100}.map{height:320px;position:relative;overflow:hidden;background:#eadfcf;border:1px solid var(--line);border-radius:8px;cursor:crosshair}.map img{position:absolute;width:256px;height:256px;max-width:none;pointer-events:none}.map-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);width:24px;height:32px;background:var(--wine);border:3px solid white;border-radius:50% 50% 50% 0;rotate:-45deg;box-shadow:0 2px 8px #0006}.map-credit{position:absolute;bottom:0;right:0;background:#ffffffe6;padding:1px 5px;font:12px system-ui}.small{font-size:.85rem}.check-label{display:flex;align-items:center;gap:10px}.check-label input{width:20px;min-height:20px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--line)}th{font-size:.8rem;color:var(--muted)}.menu-options{margin-bottom:12px}.menu-options input[type=checkbox]{display:inline;width:18px;min-height:18px}.menu-options label{font-weight:400}.tabs{display:flex;gap:10px;margin-bottom:22px}.tabs .active{background:var(--wine);color:white}@media(max-width:950px){.public-header{height:auto;flex-wrap:wrap;padding:15px 24px}.public-header nav{order:3;width:100%;gap:23px;overflow:auto;padding:8px 0}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 32px}.hero-copy h1{max-width:13ch}.hero-media{padding:30px 32px 45px}.hero-media img{max-width:800px;transform:none}.intro{gap:30px}.grid{grid-template-columns:1fr 1fr}.layout{grid-template-columns:1fr}.sticky{position:static}.contact-grid{gap:30px}}@media(max-width:600px){.brand span{font-size:1.2rem}.brand img{width:44px;height:44px}.public-header .button{padding:9px 12px;font-size:.85rem}.public-header nav{font-size:.9rem;gap:20px}.wrap{padding:38px 20px}.grid,.grid.two,.intro,.contact-grid,.form-grid{grid-template-columns:1fr}.band{gap:14px;font-size:.7rem}.hero-copy{padding:45px 24px}.hero-media{padding:20px}.card{padding:20px}.section-head{align-items:flex-start;flex-direction:column}.public-footer{padding:35px 24px;gap:22px}dialog{padding:32px 20px}.form-grid .full{grid-column:auto}h1{font-size:3rem}.map{height:280px}}

@media(max-width:600px){.public-header{padding:14px 16px;gap:12px}.public-header .brand{gap:9px}.public-header .brand span{font-size:1.1rem}.public-header .brand img{width:40px;height:40px}.public-header nav{font-size:.85rem;gap:16px}.public-header nav a{white-space:nowrap}.public-header .account-link{padding:8px 10px;font-size:.8rem}.hero-copy h1{font-size:2.8rem}.hero-copy{padding-top:35px}}
/* Editorial dining and story layouts */
.public-header nav{gap:20px;font-size:.93rem}.public-header nav a[aria-current=page]{color:var(--wine);border-bottom:2px solid var(--gold)}figure{margin:0}figure img{display:block;width:100%;object-fit:cover}figcaption{font-size:.8rem;color:var(--muted);padding:10px 0}.home-story{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.home-story figure img{height:490px;border-radius:14px;object-position:50% 68%}.home-story p{max-width:44ch}.visit-banner{display:grid;grid-template-columns:1fr 1fr;background:#f1e5d3;border-radius:18px;overflow:hidden}.visit-banner>img{width:100%;height:450px;object-fit:cover;object-position:50% 68%}.visit-banner>div{align-self:center;padding:50px}.story-lead{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1240px;padding:64px 32px 0;margin:auto;align-items:center}.story-lead h1{font-size:clamp(3.2rem,6vw,5.6rem)}.story-deck{font-size:1.3rem;line-height:1.6;max-width:34ch;color:var(--muted)}.story-lead figure img{height:580px;border-radius:200px 200px 14px 14px;object-position:50% 65%}.story-body{display:grid;grid-template-columns:1fr 2fr;gap:80px;max-width:1100px}.story-body>div>p{font-size:1.12rem;max-width:65ch}.story-aside{padding-top:12px}.story-mark{display:block;font:3.8rem Georgia;color:var(--wine);border:1px solid var(--gold);border-radius:50%;width:135px;height:135px;line-height:135px;text-align:center;margin-bottom:30px}.story-values{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.story-values article>span{font:1.8rem Georgia;color:var(--gold);display:block;margin-bottom:16px}.story-values p{color:var(--muted);margin-bottom:0}.restaurant-gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:28px}.restaurant-gallery img{height:510px;object-position:50% 60%;border-radius:14px}.card.photo{display:flex;flex-direction:column}.card.photo>img{width:100%;height:215px;object-fit:cover}.card-content{display:flex;flex-direction:column;flex:1}.card-content>.row:last-child{margin-top:auto;padding-top:18px}.image-note{font-size:.75rem;color:var(--muted);line-height:1.35;margin:0 0 14px}.menu-tools{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:24px 0}.search-label{width:420px;max-width:100%;margin:0}.filterbar{max-height:142px;overflow:auto;padding-bottom:8px}.filterbar button{white-space:nowrap;padding:8px 14px;font-size:.85rem}.menu-tools .button{white-space:nowrap}
@media(max-width:950px){.home-story,.story-lead{gap:32px}.story-lead figure img{height:460px}.visit-banner>div{padding:30px}.story-body{gap:40px}.public-header nav{gap:20px}.restaurant-gallery img{height:430px}}
@media(max-width:600px){.home-story,.visit-banner,.story-lead,.story-body,.story-values,.restaurant-gallery{grid-template-columns:1fr}.home-story{gap:24px}.home-story figure img{height:340px}.visit-banner>img{height:270px}.visit-banner>div{padding:30px 24px}.story-lead{padding:38px 20px 0;gap:30px}.story-lead h1{font-size:3.2rem}.story-lead figure img{height:420px}.story-body{gap:22px}.story-aside{display:none}.story-values{gap:26px}.restaurant-gallery img{height:350px}.menu-tools{align-items:stretch;flex-direction:column;gap:14px}.public-header nav{gap:18px;overflow-x:auto;flex-wrap:nowrap}.public-header nav a{flex-shrink:0}.filterbar{max-height:120px}.card.photo>img{height:230px}}
/* Painted menu artwork keeps the complete serving visible. */
.card.photo>img{object-fit:contain;background:var(--paper);padding:8px}
.section-head>.branch-selector{width:250px;max-width:100%;flex:none}
.card-content>.pill{align-self:flex-start}
@media(max-width:600px){.public-header nav{justify-content:flex-start}}

.account-page h1{font-size:clamp(2.2rem,4vw,3.5rem)}.profile-avatar{display:grid;place-items:center;width:56px;height:56px;flex-shrink:0;border-radius:50%;background:#650d1d;color:#fff8ec;font-size:1.5rem;font-weight:700}.profile-card h3{margin:0 0 4px}.profile-details{margin:24px 0}.profile-details>div{padding:12px 0;border-bottom:1px solid var(--line)}.profile-details dt{font-size:.85rem;color:var(--muted);margin-bottom:4px}.profile-details dd{margin:0;overflow-wrap:anywhere}
