@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f6f3ec;--ink:#282b25;--red:#ad392b;--muted:#74756b;--line:#dcdcd1;--surface:#eeeee5;--band:#eae9df;--action:#ad392b;--action-hover:#872e23}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--red);outline-offset:6px}.skip{position:fixed;top:-80px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:0}header{height:110px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;gap:12px;align-items:center;font-size:26px;letter-spacing:4px;line-height:1.1;font-weight:600}.brand small{font-size:8px;letter-spacing:2px;display:block;margin-top:9px}.seal{display:grid;place-items:center;border:1px solid var(--red);color:var(--red);font-family:serif;font-size:30px;width:42px;height:48px;letter-spacing:0}nav{display:flex;gap:32px;font-size:13px}nav a:hover{color:var(--red)}.button{background:var(--action);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 22px;font-size:12px;font-weight:500}.button:hover{background:var(--action-hover)}.button span{font-size:21px}.header-cta{padding:10px 18px}.nav-toggle{display:none}.hero{padding:40px 5% 0;display:grid;grid-template-columns:1fr 1fr;position:relative;gap:35px}.hero-copy{padding:55px 0 0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;line-height:1.6}.eyebrow>span{display:inline-block;width:6px;height:6px;background:var(--red);border-radius:50%;margin-right:8px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.05;letter-spacing:-1.5px}h1{font-size:clamp(46px,5.1vw,82px);margin:28px 0}h1 em,h2 em{font-weight:400;color:var(--red)}.intro{color:var(--muted);font-size:14px;line-height:1.9}.actions{display:flex;gap:28px;align-items:center;margin:33px 0 60px}.text-link{font-size:12px;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-flex;gap:22px;align-items:center}.text-link:hover{color:var(--red)}.hero-bottom{display:flex;gap:23px;font-size:8px;letter-spacing:1.3px;color:var(--muted)}.hero-bottom strong{font-size:11px;letter-spacing:0;color:var(--ink);font-weight:400}.vertical-rule{width:1px;background:var(--line)}.hero-photo{position:relative;min-height:560px}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:54%}.photo-script{position:absolute;right:28px;top:28px;writing-mode:vertical-rl;color:white;font:32px serif;letter-spacing:9px;text-shadow:0 1px 10px #0006}.photo-note{position:absolute;bottom:24px;left:-25px;background:var(--paper);padding:20px 75px 20px 25px}.photo-note>span{font-size:8px;letter-spacing:1.7px;display:block}.photo-note strong{font:27px 'Libre Caslon Display',Georgia,serif}.photo-note a{position:absolute;right:23px;top:32px;font-size:25px;color:var(--red)}.scroll-note{grid-column:1/-1;font-size:8px;letter-spacing:2px;margin:0 0 26px;display:flex;align-items:center;gap:30px}.scroll-note span{font-size:20px}.ticker{background:var(--band);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;gap:20px;overflow:hidden;white-space:nowrap}.ticker i{font-style:normal;color:var(--red);font-size:17px;line-height:1}.section{padding:110px 8%}h2{font-size:clamp(40px,4vw,60px);margin:23px 0 28px}.story{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.story-image{position:relative;padding-bottom:25px}.story-image img{width:100%;height:460px;object-fit:cover}.image-caption{font-size:8px;letter-spacing:2px;display:block;margin-top:14px}.story-copy p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:440px}.story-copy .text-link{margin-top:20px}.menu-section{background:var(--surface)}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading>p{font-size:13px;color:var(--muted);padding-bottom:18px}.tabs{display:flex;border-bottom:1px solid var(--line);margin:25px 0 35px;gap:40px}.tabs button{border:0;background:none;color:var(--muted);cursor:pointer;padding:17px 0;border-bottom:2px solid transparent;font-size:13px;white-space:nowrap}.tabs button[aria-selected=true]{color:var(--red);border-bottom-color:var(--red)}.tabs span{font-size:8px;vertical-align:super;margin-left:10px}.menu-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}.menu-item{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px;padding:22px 0}.menu-item:first-child{padding-top:6px}.menu-item h3{font-size:25px;letter-spacing:0;margin:0 0 7px}.menu-item p{font-size:12px;color:var(--muted);margin:0}.menu-item>span{font-size:14px;white-space:nowrap;padding-top:5px}.menu-item small{font-size:9px}.signature{background:var(--paper)}.signature img{width:100%;height:220px;object-fit:cover}.signature>div{padding:26px}.signature h3{font-size:35px;margin:10px 0}.signature p{color:var(--muted);font-size:12px}.signature-price{font-size:21px}.signature-price small{float:right;font-size:10px;padding-top:10px;color:var(--muted)}.menu-foot{display:flex;justify-content:space-between;align-items:center;margin-top:34px;gap:20px}.menu-foot p{font-size:10px;color:var(--muted);margin:0}.lunch{display:grid;grid-template-columns:1fr 1fr;gap:10%}.lunch>div>p:not(.eyebrow){font-size:13px;color:var(--muted)}.lunch .text-link{margin-top:20px}.lunch-list article{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:23px 0;gap:20px}.lunch-list h3{font-size:27px;margin:0 0 6px;letter-spacing:0}.lunch-list p{font-size:12px;color:var(--muted);margin:0}.lunch-list article>span{font-size:20px;white-space:nowrap}.lunch-list small{font-size:9px}.atmosphere{height:470px;position:relative;display:grid;place-items:center;text-align:center;background:#292b25}.atmosphere>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.4)}.atmosphere>div{position:relative;color:white}.atmosphere h2{font-size:68px}.atmosphere h2 em{color:#e8d1b6}.visit{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}.visit p:not(.eyebrow){font-size:13px;color:var(--muted)}.phone{font:36px 'Libre Caslon Display',Georgia,serif;border-bottom:1px solid var(--red);padding-bottom:8px;display:inline-flex;gap:30px;margin-top:17px}.phone span{color:var(--red);font-family:sans-serif;font-size:25px}.visit .reservation-note{font-size:10px!important;margin-top:15px}.practical{display:grid;grid-template-columns:1fr 1.15fr;gap:28px;padding-top:40px}.practical h3{font:12px 'DM Sans',sans-serif;letter-spacing:0;margin-bottom:23px}.practical p{line-height:2}.practical dl{font-size:11px;margin:0}.practical dl>div{display:flex;justify-content:space-between;padding-bottom:15px;gap:15px}.practical dd{margin:0;text-align:right;color:var(--muted);white-space:nowrap}footer{margin:0 5%;padding:35px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}footer .brand{font-size:20px}footer .seal{width:33px;height:38px;font-size:25px}footer .brand small{font-size:7px}footer p{font-size:10px;color:var(--muted);margin:0}footer .text-link{font-size:10px}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero-photo{min-height:680px}}@media(max-width:1050px){header{gap:15px}nav{gap:18px}.header-cta{gap:12px}.hero{gap:20px}.hero-copy{padding-top:30px}.hero-photo{min-height:520px}.actions{gap:18px;flex-wrap:wrap;margin-bottom:40px}.section{padding:80px 6%}.story{gap:7%}.tabs{gap:25px}.visit{grid-template-columns:1fr}.practical{max-width:650px}.story-image img{height:400px}}@media(max-width:760px){header{height:85px;flex-wrap:wrap;position:relative;z-index:10}.brand{font-size:22px}.brand small{font-size:7px}.seal{width:34px;height:40px;font-size:26px}.header-cta{display:none}.nav-toggle{display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--line);padding:6px 12px;font-size:12px}nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);padding:24px 6%;border-bottom:1px solid var(--line);flex-direction:column;gap:20px}nav.open{display:flex}.hero{padding:20px 6% 0;grid-template-columns:1fr;gap:28px}.hero-copy{padding-top:15px}h1{font-size:57px;margin:22px 0}.eyebrow{font-size:9px;letter-spacing:1.5px}.intro{font-size:13px}.actions{margin:26px 0 30px;gap:23px}.button{padding:12px 18px}.hero-bottom{gap:19px}.hero-photo{min-height:410px}.photo-note{left:-10px;bottom:20px}.photo-script{font-size:25px}.scroll-note{margin:0 0 15px;font-size:7px}.ticker{font-size:8px;padding:19px 6%;gap:25px;justify-content:start}.section{padding:65px 6%}.story,.menu-layout,.lunch{grid-template-columns:1fr;gap:36px}.story-image img{height:360px}.story-copy h2{margin-top:19px}h2{font-size:45px}.section-heading{display:block}.section-heading>p{margin-bottom:0;padding-bottom:0}.tabs{gap:24px;overflow-x:auto;margin-top:15px}.tabs button{font-size:11px}.tabs span{display:none}.menu-layout{gap:28px}.signature img{height:240px}.menu-foot{align-items:start;flex-direction:column}.lunch{gap:20px}.lunch-list article{padding:22px 0}.atmosphere{height:350px}.atmosphere h2{font-size:55px}.visit{gap:25px}.phone{font-size:34px;gap:18px}.practical{padding-top:20px;gap:20px}footer{flex-wrap:wrap;padding:30px 0;gap:25px}footer p{order:3;width:100%}footer .text-link{margin-left:auto}.story{display:flex;flex-direction:column}.story-image{width:100%}.story-copy{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}} 

:root{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark;--paper:#181b18;--ink:#f0eadd;--red:#ef9b80;--muted:#b1b4a7;--line:#3b4037;--surface:#222720;--band:#282d25;--action:#a94330;--action-hover:#bd523d}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 12px;cursor:pointer;font-size:11px;min-height:40px}
.theme-toggle:hover{border-color:var(--red);color:var(--red)}.theme-icon{font:20px/1 Georgia,serif;width:20px;text-align:center}
header{gap:20px}nav{gap:24px}
@media(max-width:1050px) and (min-width:761px){header{gap:12px}nav{gap:16px}.theme-toggle{padding:8px}.theme-label{display:none}}
@media(max-width:760px){header{gap:10px;flex-wrap:nowrap}.brand{margin-right:auto}.theme-toggle{order:1;padding:6px 9px;min-width:39px;min-height:35px}.theme-label{display:none}.nav-toggle{order:2;flex-shrink:0;min-height:35px}.brand{gap:9px}.brand small{letter-spacing:1.4px}}

.display-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.language-toggle{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:40px;padding:8px 10px;border:1px solid var(--line);background:transparent;color:var(--ink);font:11px 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap}.language-toggle:hover{border-color:var(--red);color:var(--red)}.language-code{font-weight:600}header{gap:14px}nav{gap:18px}
@media(max-width:1050px) and (min-width:761px){header{gap:8px}nav{gap:12px}.header-cta{padding:10px 12px;gap:8px}.brand{font-size:22px}.language-code{display:none}}
@media(max-width:760px){.display-controls{order:1;gap:6px}.language-toggle{padding:6px;min-height:35px}.language-code{display:none}header{gap:8px}.brand{font-size:19px;letter-spacing:3px}.brand small{font-size:6px;letter-spacing:1px}.nav-toggle{padding:6px 8px;gap:6px}}
@media(max-width:360px){.nav-toggle{font-size:0;gap:0}.nav-toggle span{font-size:14px}.brand{gap:6px;font-size:17px}.seal{width:28px}}
/* A native selector keeps all four languages accessible by keyboard and on phones. */
.language-toggle{display:block;width:95px;text-overflow:ellipsis;border-radius:0;font-family:'DM Sans',sans-serif;color-scheme:inherit}.language-toggle option{background:var(--paper);color:var(--ink)}
@media(max-width:760px){.language-toggle{width:65px;font-size:10px;padding:6px 2px}.display-controls{gap:5px}header{gap:6px}.brand{font-size:18px;letter-spacing:2px}}
@media(max-width:360px){.language-toggle{width:60px}.theme-toggle{min-width:32px;padding:6px}.brand{font-size:16px;letter-spacing:1px}}

/* Use explicit dimensions: native select rendering varies between browsers. */
.display-controls{--control-width:88px;--control-height:40px;align-items:center}
.display-controls>.language-toggle,.display-controls>.theme-toggle{box-sizing:border-box;width:var(--control-width);height:var(--control-height);min-height:var(--control-height);margin:0;border:1px solid var(--line);border-radius:0;font-size:11px;line-height:1;vertical-align:middle}
.display-controls>.theme-toggle{padding:0 8px}
.display-controls>.language-toggle{-webkit-appearance:none;appearance:none;display:block;padding:0 21px 0 10px;background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%2374756b' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}
.display-controls>.language-toggle:focus-visible{outline:2px solid var(--red);outline-offset:6px}
@media(max-width:760px){.display-controls{--control-width:57px;--control-height:35px}.display-controls>.language-toggle{font-size:10px;padding:0 15px 0 4px;background-position:right 4px center;background-size:8px 5px}.display-controls>.theme-toggle{padding:0 6px}}
@media(max-width:360px){.display-controls{--control-width:52px}}

.booking-form{margin-top:30px;padding:26px;background:var(--surface);border:1px solid var(--line)}.booking-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.booking-heading .eyebrow{margin:0}.booking-badge{font-size:10px;color:var(--red);border:1px solid var(--red);padding:2px 8px}.booking-form .booking-disclaimer{font-size:12px;line-height:1.7;margin-bottom:22px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form label:not(.booking-slot){display:flex;flex-direction:column;gap:7px;font-size:11px;margin-bottom:17px}.booking-form input:not([type=radio]),.booking-form select,.booking-form textarea{box-sizing:border-box;min-width:0;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif;min-height:44px}.booking-form textarea{resize:vertical}.booking-form :is(input,select,textarea):focus-visible{outline:2px solid var(--red);outline-offset:2px}.booking-slots{padding:0;margin:0 0 22px;border:0;min-width:0}.booking-slots legend{font-size:11px;margin-bottom:8px}.visit .booking-hint{font-size:10px!important;margin-bottom:12px}.booking-slot{position:relative;display:inline-flex;cursor:pointer}.booking-slot input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.booking-slot span{padding:8px 12px;border:1px solid var(--line);font-size:12px;background:var(--paper)}.booking-slot input:checked+span{background:var(--action);border-color:var(--action);color:white}.booking-slot input:focus-visible+span{outline:2px solid var(--red);outline-offset:3px}#booking-times{display:flex;flex-wrap:wrap;gap:8px}.booking-submit{border:0;cursor:pointer;width:100%}.booking-preview{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);overflow-wrap:anywhere}.booking-preview strong{font-size:13px;color:var(--red)}.visit .booking-preview p{font-size:12px;margin:8px 0}.booking-preview[hidden]{display:none}@media(max-width:760px){.booking-form{padding:20px 16px}.booking-grid{gap:12px}.booking-heading{flex-wrap:wrap}}@media(max-width:360px){.booking-grid{grid-template-columns:1fr}}
