:root{--cream:#f6f0e5;--paper:#fffaf1;--navy:#10253e;--navy-2:#183753;--tomato:#d94c36;--tomato-dark:#b53a29;--gold:#e2b857;--ink:#17202a;--muted:#6c6a66;--line:#d9d0c1;--white:#fff;--serif:"Fraunces",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.section{padding:104px 0;scroll-margin-top:96px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:20px;top:-80px;z-index:1000;background:var(--white);padding:12px 18px;border:2px solid var(--navy);font-weight:700}.skip-link:focus{top:20px}
.eyebrow{font-size:14px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--tomato);margin-bottom:16px}.eyebrow--light{color:#f7c45d}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.05;letter-spacing:-.025em;color:var(--navy)}
h1{font-size:clamp(3.4rem,7vw,6.4rem)}h2{font-size:clamp(2.6rem,5vw,4.5rem)}h3{font-size:1.35rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 25px;border:2px solid var(--tomato);background:var(--tomato);color:var(--white);font-weight:700;font-size:16px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.button:hover{background:var(--tomato-dark);border-color:var(--tomato-dark);transform:translateY(-2px)}.button--small{min-height:42px;padding:9px 18px}
.text-link{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:700;border-bottom:2px solid currentColor;padding-bottom:3px}.text-link span{color:var(--tomato)}
.topbar{background:var(--navy);color:var(--white);font-size:14px}.topbar__inner{min-height:38px;display:flex;justify-content:space-between;align-items:center}.topbar a{font-weight:700}.topbar p{font-size:14px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,240,229,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.site-header__inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:inline-flex;align-items:center;gap:12px}.brand__sun{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--tomato);color:var(--white);font-family:var(--serif);font-size:14px;font-weight:700}.brand span:last-child{display:flex;flex-direction:column}.brand strong{font-family:var(--serif);font-size:20px;line-height:1.1;color:var(--navy)}.brand small{font-size:14px;color:var(--muted);margin-top:2px}
.main-nav{display:flex;align-items:center;gap:25px}.main-nav>a:not(.button){font-weight:600;font-size:15px}.main-nav>a:not(.button):hover{color:var(--tomato)}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--navy);background:transparent;padding:10px;cursor:pointer}.menu-toggle>span:not(.sr-only){display:block;height:2px;background:var(--navy);margin:5px 0}
.hero{padding:58px 0 72px}.hero__grid{display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center}.hero h1{max-width:8.2ch}.hero__lead{max-width:570px;font-size:19px;color:#4e5357;margin:25px 0 30px}.hero__actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hours-card{display:grid;grid-template-columns:1.15fr 1fr .8fr;margin-top:45px;border-top:2px solid var(--navy);border-bottom:1px solid var(--line)}.hours-card>div{padding:18px 18px 18px 0}.hours-card>div+div{border-left:1px solid var(--line);padding-left:18px}.hours-card span,.hours-card strong{display:block}.hours-card span{font-size:14px;color:var(--muted);margin-bottom:5px}.hours-card strong{font-size:14px;line-height:1.45}.hours-card .open-status{color:var(--tomato)}
.hero__media{position:relative;margin:0}.hero__media::before{content:"";position:absolute;inset:20px -18px -18px 20px;background:var(--gold);z-index:-1}.hero__media img{width:100%;height:660px;object-fit:cover}.hero__media figcaption{position:absolute;left:-30px;bottom:24px;background:var(--navy);color:var(--white);padding:14px 20px;font-size:14px;font-weight:700}
.ticker{background:var(--tomato);color:var(--white)}.ticker__inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:700}.ticker i{font-style:normal;color:#ffd88c}
.section-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end;margin-bottom:56px}.section-heading>p{font-size:18px;color:var(--muted);max-width:45ch}
.menu-section{background:var(--paper)}.menu-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:72px}.menu-group+.menu-group{margin-top:44px}.menu-group__title{display:flex;justify-content:space-between;border-bottom:3px solid var(--navy);padding-bottom:10px;color:var(--navy);font-size:14px;text-transform:uppercase;letter-spacing:.11em;font-weight:700}.menu-group article{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.menu-group article h3{font-family:var(--sans);font-size:17px;letter-spacing:0}.menu-group article p{font-size:15px;color:var(--muted);margin-top:4px}.menu-group article>strong{font-family:var(--serif);font-size:18px;color:var(--tomato);white-space:nowrap}.menu-aside{align-self:start;position:sticky;top:115px}.menu-aside figure img{width:100%;height:350px;object-fit:cover}.lunch-card{background:var(--navy);color:var(--white);padding:32px}.lunch-card h3{color:var(--white);font-size:30px;margin-bottom:8px}.lunch-card>p:not(.eyebrow){font-size:16px}.lunch-card>div{border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);margin:22px 0;padding:18px 0}.lunch-card>div strong,.lunch-card>div span{display:block}.lunch-card>div strong{font:700 42px/1 var(--serif);color:#ffd277}.lunch-card>div span,.lunch-card small{font-size:14px}.menu-note{font-size:14px;color:var(--muted);margin-top:30px}
.story{background:var(--navy);color:var(--white);position:relative;overflow:hidden}.story::after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-110px;top:-120px}.story__grid{display:grid;grid-template-columns:.35fr 1fr;gap:80px;align-items:center}.story__stamp{width:210px;height:210px;border:2px solid #f7c45d;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(-6deg);color:#f7c45d}.story__stamp span{font-size:14px;text-transform:uppercase;letter-spacing:.12em}.story__stamp strong{font:700 52px/1.05 var(--serif)}.story h2{color:var(--white);max-width:13ch}.story__lead{font:600 24px/1.45 var(--serif);max-width:800px;margin:28px 0}.story__columns{display:grid;grid-template-columns:1fr 1fr;gap:35px;color:#d9e2eb}.story__columns p{font-size:16px}
.team-section{background:var(--cream)}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.team-photo{position:relative}.team-photo img{width:100%;height:580px;object-fit:cover}.team-photo figcaption{position:absolute;left:0;bottom:0;background:var(--tomato);color:white;padding:15px 20px;font-size:14px;font-weight:700}.team-copy>p:not(.eyebrow){font-size:18px;color:var(--muted);margin:24px 0 30px}.team-copy ul{list-style:none;border-top:2px solid var(--navy)}.team-copy li{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:150px 1fr;gap:20px}.team-copy li strong{color:var(--navy)}.team-copy li span{font-size:15px;color:var(--muted)}
.reviews{background:var(--tomato);color:var(--white)}.reviews h2{color:var(--white)}.reviews__head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:50px}.rating{text-align:right}.rating strong,.rating span,.rating small{display:block}.rating strong{font:700 40px/1 var(--serif)}.rating span{color:#ffd16e;letter-spacing:.12em}.rating small{font-size:14px}.reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.reviews blockquote{background:var(--paper);color:var(--ink);padding:30px;min-height:270px;display:flex;flex-direction:column;justify-content:space-between}.reviews blockquote p{font:600 20px/1.45 var(--serif)}.reviews blockquote footer{font-size:14px;color:var(--muted);margin-top:25px}
.practical{background:var(--paper)}.practical__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--navy);border-bottom:1px solid var(--line)}.practical article{padding:28px 25px 32px 0}.practical article+article{border-left:1px solid var(--line);padding-left:25px}.practical article>span{font-size:14px;font-weight:700;color:var(--tomato)}.practical h3{margin:12px 0}.practical p{font-size:15px;color:var(--muted)}.practical a{display:inline-block;margin-top:18px;font-weight:700;font-size:14px;color:var(--tomato);text-decoration:underline}
.booking{background:var(--cream)}.booking__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}.booking__intro{position:sticky;top:118px}.booking__intro>p:not(.eyebrow){font-size:18px;color:var(--muted);margin:24px 0}.booking__contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px;border-top:2px solid var(--navy);padding-top:22px}.booking__contact a{font-weight:700;color:var(--navy)}.booking__contact span{font-size:14px;color:var(--muted);margin-top:12px}
.booking-form{background:var(--white);border:1px solid var(--line);padding:38px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form label{display:block;font-size:14px;font-weight:700;color:var(--navy);margin-bottom:18px}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #bdb5a9;background:var(--paper);border-radius:0;padding:12px 13px;min-height:48px;color:var(--ink);font-size:16px}.booking-form textarea{resize:vertical}.booking-form .checkbox{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-weight:400;font-size:14px}.booking-form .checkbox input{width:18px;min-height:18px;margin-top:3px}.booking-form .button{width:100%}.form-status{min-height:26px;margin-top:14px;font-weight:700;color:var(--navy)}.form-status.is-success{padding:14px;border-left:4px solid var(--tomato);background:#f9eee9}
.site-footer{background:#0b1d30;color:#dbe3ea;padding:65px 0 25px}.site-footer__grid{display:grid;grid-template-columns:1.35fr .7fr 1fr 1.1fr;gap:45px}.brand--footer strong{color:var(--white)}.brand--footer small{color:#b8c5d0}.site-footer__grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.site-footer__grid>div:first-child>p{margin-top:15px}.site-footer h2{color:#f7c45d;font:700 14px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.site-footer p,.site-footer a{font-size:14px}.site-footer a:hover{text-decoration:underline}.site-footer__bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.15);margin-top:45px;padding-top:22px;font-size:14px;color:#9eafbd}
.legal-page{background:var(--paper)}.legal-header{border-bottom:1px solid var(--line);background:var(--cream)}.legal-header .container{min-height:86px;display:flex;align-items:center;justify-content:space-between}.back-link{font-weight:700;color:var(--tomato);font-size:15px}.legal-main{min-height:65vh}.legal-wrap{width:min(840px,calc(100% - 48px));margin:auto;padding:70px 0 90px}.legal-wrap>header{border-bottom:3px solid var(--navy);padding-bottom:26px;margin-bottom:30px}.legal-wrap>header p{color:var(--muted);margin-top:14px}.legal-article{padding:25px 0;border-bottom:1px solid var(--line)}.legal-article h2{font:700 23px/1.25 var(--serif);margin-bottom:12px}.legal-article p,.legal-article li,.legal-article dd,.legal-article dt{font-size:15px}.legal-article p+p{margin-top:12px}.legal-article ul{padding-left:22px}.legal-article a{text-decoration:underline;color:var(--tomato)}.legal-details{display:grid;grid-template-columns:210px 1fr;gap:8px 20px}.legal-details dt{color:var(--muted)}.legal-details dd{font-weight:600}.legal-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}.legal-nav a{border:1px solid var(--navy);padding:9px 14px;font-size:14px;font-weight:700}.legal-nav a[aria-current="page"]{background:var(--navy);color:var(--white)}
@media(max-width:980px){.main-nav{position:fixed;inset:123px 0 auto;background:var(--cream);padding:28px 24px 36px;display:none;flex-direction:column;align-items:stretch;border-bottom:2px solid var(--navy)}.main-nav.is-open{display:flex}.menu-toggle{display:block}.hero__grid,.menu-layout,.team-grid,.booking__grid{grid-template-columns:1fr}.hero__media{width:min(650px,90%);margin-inline:auto}.menu-aside,.booking__intro{position:static}.menu-aside{display:grid;grid-template-columns:1fr 1fr}.story__grid{grid-template-columns:1fr}.story__stamp{width:160px;height:160px}.reviews__grid{grid-template-columns:1fr}.reviews blockquote{min-height:0}.practical__grid{grid-template-columns:1fr 1fr}.practical article:nth-child(3){border-left:0}.site-footer__grid{grid-template-columns:1fr 1fr}.section-heading{gap:35px}.team-photo img{height:500px}}
@media(max-width:680px){.container,.legal-wrap{width:min(100% - 32px,1160px)}.section{padding:72px 0}.topbar__inner{min-height:44px}.topbar p{display:none}.site-header__inner{min-height:74px}.main-nav{inset:118px 0 auto}.brand strong{font-size:17px}.brand small{font-size:14px}.brand__sun{width:40px;height:40px}.hero{padding:38px 0 55px}.hero h1{font-size:clamp(3rem,15vw,4.7rem)}.hero__lead{font-size:17px}.hero__media{width:calc(100% - 14px)}.hero__media img{height:490px}.hero__media figcaption{left:-10px;bottom:16px}.hours-card{grid-template-columns:1fr 1fr}.hours-card>div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding-left:0}.ticker__inner{justify-content:center;flex-wrap:wrap;padding:15px 0}.ticker i:nth-of-type(2),.ticker i:nth-of-type(3),.ticker span:nth-of-type(3),.ticker span:nth-of-type(4){display:none}.section-heading{grid-template-columns:1fr;margin-bottom:38px}.section-heading>p{font-size:16px}.menu-aside{grid-template-columns:1fr}.menu-aside figure img{height:300px}.story__columns{grid-template-columns:1fr}.story__lead{font-size:21px}.team-photo img{height:400px}.team-copy li{grid-template-columns:1fr;gap:4px}.reviews__head{align-items:flex-start;flex-direction:column}.rating{text-align:left}.practical__grid{grid-template-columns:1fr}.practical article,.practical article+article{border-left:0;border-bottom:1px solid var(--line);padding:24px 0}.field-row{grid-template-columns:1fr;gap:0}.booking-form{padding:25px 20px}.site-footer__grid{grid-template-columns:1fr}.site-footer__bottom{flex-direction:column}.legal-details{grid-template-columns:1fr;gap:2px}.legal-details dd{margin-bottom:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
