:root{--paper:#f5f0e8;--paper-deep:#ece5d8;--ink:#252820;--muted:#77776c;--green:#45583f;--green-dark:#34432f;--tomato:#bf573c;--line:#ded8cc;--white:#fffdf8;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.site-header{height:86px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid rgba(37,40,32,.1)}
.brand{display:inline-flex;align-items:center;gap:10px;font:600 23px var(--serif);white-space:nowrap}
.brand-logo{display:block;width:72px;height:72px;object-fit:contain}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--tomato);color:var(--white);border-radius:50%;font:italic 22px var(--serif)}
.brand-period{color:var(--tomato)}
.main-nav{display:flex;align-items:center;gap:37px;color:#67685e;font-size:13px}
.main-nav a,.staff-header nav a{transition:color .2s}
.main-nav a:hover,.main-nav a.active{color:var(--tomato)}
.header-actions{display:flex;align-items:center;gap:18px}
.login-link,.logout-link{font-size:12px;color:var(--green);font-weight:600}
.logout-link{border:0;background:none;padding:5px;cursor:pointer}
.button{min-height:49px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:13px;border:1px solid var(--green);border-radius:2px;background:var(--green);color:#fff;font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.button:hover{background:var(--green-dark);transform:translateY(-1px)}
.button:disabled{opacity:.6;cursor:wait;transform:none}
.button-small{min-height:40px;padding:0 15px;font-size:11px}
.button-outline{background:transparent;color:var(--green)}
.button-outline:hover{color:white}
.button-light{background:var(--paper);border-color:var(--paper);color:var(--green-dark)}
.button-light:hover{background:white;color:var(--green-dark)}
.cart-count{min-width:19px;height:19px;display:inline-grid;place-items:center;padding:0 5px;background:rgba(255,255,255,.18);border-radius:50%;font-size:10px}
.menu-toggle{display:none;border:0;background:none;font-size:22px;color:var(--ink)}
.hero{position:relative;min-height:610px;padding:78px 8vw 85px;display:grid;grid-template-columns:1fr 1.02fr;align-items:center;gap:5vw;overflow:hidden}
.hero-copy{position:relative;z-index:1;max-width:540px}
.eyebrow{margin:0 0 20px;color:var(--tomato);font-size:10px;font-weight:700;letter-spacing:.17em}
.eyebrow-line{display:inline-block;width:26px;height:1px;margin:0 8px 3px 0;background:var(--tomato)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;line-height:1.13}
h1{margin-bottom:20px;font-size:clamp(56px,7vw,96px)}
h1 em,h2 em{color:var(--tomato);font-weight:500}
.hero-intro{max-width:380px;margin-bottom:27px;color:#6d6d63;font-size:15px;line-height:1.8}
.hero-actions{display:flex;align-items:center;gap:27px}
.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--green);font-size:12px;font-weight:700}
.text-link:hover{color:var(--tomato)}
.hero-note{margin-top:54px;color:#7d7b70;font-size:9px;letter-spacing:.14em}
.note-dot{display:inline-block;width:7px;height:7px;margin-right:7px;background:var(--green);border-radius:50%}
.hero-image{height:450px;position:relative}
.hero-image-inner{position:absolute;inset:0 0 25px 4%;overflow:hidden;background:linear-gradient(140deg,rgba(28,37,26,.1),rgba(27,37,25,.44)),radial-gradient(ellipse at 54% 45%,#d4a45e 0 7%,transparent 7.5%),radial-gradient(ellipse at 46% 52%,#e8d6ac 0 22%,transparent 22.5%),radial-gradient(ellipse at 51% 48%,#899566 0 36%,transparent 36.5%),linear-gradient(135deg,#68704f,#28362d 66%,#b2784d);background-size:cover;border-radius:48% 48% 2px 2px}
.hero-image-inner:before,.hero-image-inner:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.35);border-radius:50%;transform:rotate(-24deg)}
.hero-image-inner:before{width:61%;height:53%;left:20%;top:25%}
.hero-image-inner:after{width:48%;height:41%;left:26%;top:30%}
.sun-stamp{position:absolute;right:7%;bottom:13%;display:grid;place-content:center;width:81px;height:81px;border:1px solid rgba(255,255,255,.8);border-radius:50%;color:white;text-align:center;font:italic 14px/1.15 var(--serif);letter-spacing:.1em;transform:rotate(12deg)}
.hero-caption{position:absolute;right:8%;bottom:27px;color:#828075;font-size:9px;letter-spacing:.14em}
.hero-caption span{color:var(--tomato)}
.ticker{overflow:hidden;padding:17px 0;background:var(--green);color:var(--paper);white-space:nowrap}
.ticker div{text-align:center;font-size:10px;font-weight:600;letter-spacing:.14em}
.ticker span{padding:0 30px;color:#d4a078}
.section{padding:95px 9vw}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}
.section-heading .eyebrow{margin-bottom:10px}
h2{margin-bottom:0;font-size:clamp(38px,4.2vw,58px)}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.menu-card{position:relative;min-height:300px;padding:0 23px 21px;background:var(--white);border:1px solid rgba(37,40,32,.08)}
.dish-mark{height:118px;margin:0 -23px 19px;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,#e4c9a2 0 23%,#87916d 24% 33%,#ece6d8 34% 45%,#c6a875 46% 48%,#efebe2 49%);color:rgba(70,80,53,.7);font-size:40px}
.dish-mark-croquettes{background:radial-gradient(circle at 38% 48%,#b77f43 0 10%,transparent 11%),radial-gradient(circle at 58% 52%,#d2a267 0 12%,transparent 13%),radial-gradient(circle at 50% 50%,#71815e 0 27%,#e8dfcd 28% 45%,#f5f0e8 46%)}
.dish-mark-gnocchi{background:radial-gradient(circle at 50% 50%,#d7bb8e 0 22%,#8f9c72 23% 35%,#e8dfcd 36% 45%,#f5f0e8 46%)}
.dish-mark-poulet{background:radial-gradient(ellipse at 50% 50%,#b66b42 0 21%,#849269 22% 33%,#e8dfcd 34% 45%,#f5f0e8 46%)}
.dish-mark-tarte{background:radial-gradient(circle at 50% 50%,#c6864c 0 23%,#ead09b 24% 31%,#e8dfcd 32% 45%,#f5f0e8 46%)}
.dish-mark-cocktail{background:radial-gradient(ellipse at 50% 50%,#c0a64f 0 8%,transparent 9%),linear-gradient(135deg,#ccd3b7,#76815c 55%,#e7ddcb)}
.dish-category{margin-bottom:6px;color:var(--tomato);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.menu-card h3{margin-bottom:8px;font:500 21px var(--serif)}
.dish-description{min-height:43px;margin-bottom:17px;color:var(--muted);font-size:12px;line-height:1.6}
.dish-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line)}
.dish-footer strong{font:500 15px var(--serif)}
.add-button{padding:6px 10px;border:1px solid var(--line);background:transparent;color:var(--green);font-size:10px;font-weight:600;cursor:pointer}
.add-button:hover{border-color:var(--green);background:var(--green);color:white}
.house-section{display:grid;grid-template-columns:1fr 1fr;min-height:500px;background:#eae3d6}
.house-art{position:relative;min-height:430px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 53%,#c9c0a7 0 33%,#ddcfb6 34% 47%,#b6aa91 48% 50%,#e1d8c8 51%);background-color:#d3cbbb}
.plate-art{width:min(46vw,300px);aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(69,88,63,.4);border-radius:50%;box-shadow:0 0 0 12px rgba(255,255,255,.23),0 0 0 13px rgba(69,88,63,.21);color:var(--green);text-align:center;font:italic 26px/1.1 var(--serif);letter-spacing:.09em;transform:rotate(-10deg)}
.art-caption{position:absolute;bottom:22px;left:50%;color:#5d6150;font-size:9px;letter-spacing:.16em;transform:translateX(-50%);white-space:nowrap}
.house-copy{align-self:center;max-width:560px;padding:75px 10vw 75px 7vw}
.house-copy h2{margin-bottom:24px}
.house-copy>p:not(.eyebrow){color:#6d6d63;font-size:13px;line-height:1.9}
.house-copy .text-link{margin-top:12px}
.bar-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;background:var(--green);color:var(--paper)}
.bar-copy{max-width:490px}
.bar-copy h2{margin-bottom:22px}
.bar-copy h2 em{color:#ddaa83}
.bar-copy>p:not(.eyebrow){max-width:400px;margin-bottom:28px;color:#d2d0c4;font-size:13px;line-height:1.9}
.bar-graphic{height:270px;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse at center,rgba(226,195,138,.2),transparent 65%)}
.glass{display:grid;place-items:center;width:180px;height:180px;border:1px solid rgba(245,240,232,.6);border-radius:50%;color:#d7ba82;font-size:84px}
.bar-sticker{position:absolute;right:10%;bottom:16%;display:grid;place-content:center;width:92px;height:92px;border-radius:50%;background:#c36446;color:white;text-align:center;font:italic 19px/1.05 var(--serif);transform:rotate(13deg)}
.visit-section{padding:84px 10vw;display:flex;justify-content:space-between;gap:50px;background:#eae3d6}
.visit-section h2{font-size:54px}
.visit-details{width:44%;display:grid;grid-template-columns:1fr 1fr;gap:13px 28px}
.visit-details p{margin:0;color:#5f6158;font-size:12px}
.visit-details p:last-child{grid-column:1/-1}
.visit-details span{display:block;margin-bottom:6px;color:var(--tomato);font-size:9px;font-weight:700;letter-spacing:.14em}
.site-footer{min-height:94px;padding:22px 8vw;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#77776c;font-size:10px}
.brand-footer{color:var(--ink);font-size:19px}
.brand-footer .brand-mark{width:29px;height:29px;font-size:18px}
.site-footer>a:not(.brand){color:var(--green);font-weight:600}
.page-intro{padding:76px 9vw 55px;text-align:center}
.page-intro .eyebrow{margin-bottom:13px}
.page-intro h1{margin-bottom:15px;font-size:clamp(48px,6vw,76px)}
.page-intro>p:last-child{max-width:510px;margin:0 auto;color:var(--muted);font-size:14px}
.full-menu{padding-top:25px}
.menu-filters{display:flex;justify-content:center;gap:10px;margin-bottom:38px;flex-wrap:wrap}
.filter-button{padding:9px 17px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:11px;cursor:pointer}
.filter-button.active,.filter-button:hover{border-color:var(--green);background:var(--green);color:white}
.menu-grid-full{row-gap:24px}
.menu-footnote{margin:32px 0 0;color:var(--muted);text-align:center;font-size:11px}
.order-banner{padding:46px 9vw;display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--green);color:white}
.order-banner .eyebrow{margin-bottom:7px;color:#dda080}
.order-banner h2{font-size:39px}
.order-layout{max-width:1100px;margin:0 auto 90px;padding:0 6vw;display:grid;grid-template-columns:1.05fr .95fr;gap:70px}
.menu-empty-notice{grid-column:1/-1;margin:0;padding:28px;background:var(--white);border:1px solid var(--line);color:var(--muted);text-align:center}
.order-account{align-self:start}
.order-note-summary{margin-bottom:25px;color:var(--muted);font-size:12px}
.notes-layout{max-width:700px;margin:0 auto 90px;padding:0 6vw}
.notes-form .text-link{margin-top:12px}
.order-form,.cart-panel{padding:34px;background:var(--white);border:1px solid rgba(37,40,32,.08)}
.order-form h2,.cart-panel h2{margin-bottom:24px;font-size:27px}
.order-form label{display:block;margin-bottom:17px;color:var(--green);font-size:11px;font-weight:600}
.order-form input,.order-form textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid var(--line);border-radius:0;background:#fffefa;color:var(--ink);font-size:13px;outline:none}
.order-form input:focus,.order-form textarea:focus{border-color:var(--green)}
.order-form textarea{resize:vertical}
.optional{color:var(--muted);font-weight:400}
.form-message{min-height:24px;margin:13px 0 0;font-size:12px}
.form-message.is-error,.is-error{color:#a33c2b}
.form-message.is-success{color:var(--green)}
.small-print{font-size:10px}
.cart-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cart-panel-heading h2{margin-bottom:24px}
.cart-line{padding:13px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.cart-line strong,.cart-line span{display:block}
.cart-line strong{font:500 15px var(--serif)}
.cart-line span{color:var(--muted);font-size:11px}
.remove-item{width:29px;height:29px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--tomato);font-size:17px;cursor:pointer}
.cart-total{margin-top:22px;padding-top:17px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:12px}
.cart-total strong{font:600 16px var(--serif)}
.auth-notice{position:relative;z-index:2;margin:16px auto;padding:11px 20px;max-width:600px;border:1px solid #e5b6a1;background:#fff7ed;color:#8d3d2b;text-align:center;font-size:13px}
.staff-page{min-height:100vh;background:#f7f5ef}
.staff-header{height:76px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--white);border-bottom:1px solid var(--line)}
.staff-header nav,.staff-header>div{display:flex;align-items:center;gap:22px}
.staff-header nav{font-size:12px;color:var(--muted)}
.staff-header nav a.active{color:var(--tomato)}
.staff-header>div{font-size:11px}
.staff-main{max-width:1200px;margin:0 auto;padding:52px 5vw 90px}
.staff-title{margin-bottom:32px;display:flex;align-items:end;justify-content:space-between;gap:25px}
.staff-title .eyebrow{margin-bottom:9px}
.staff-title h1{margin:0;font-size:clamp(40px,5vw,59px)}
.staff-title .muted{margin:10px 0 0;font-size:12px}
.staff-message{min-height:22px;color:var(--green);font-size:12px}
.order-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.order-card{padding:21px;background:white;border:1px solid var(--line)}
.order-card-top,.order-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}
.order-id{font-size:11px;color:var(--green)}
.status-pill{padding:4px 8px;border-radius:30px;background:#f1eadc;color:#795d33;font-size:9px}
.order-customer{margin:17px 0 8px;font-weight:600;font-size:13px}
.order-items{margin:0 0 14px;padding-left:19px;color:var(--muted);font-size:11px}
.order-notes{padding:9px;background:#f7f3eb;color:#67665a;font-size:10px}
.order-card-bottom{padding-top:14px;border-top:1px solid var(--line)}
.order-card-bottom strong{font:600 16px var(--serif)}
.status-select{padding:7px;border:1px solid var(--line);background:white;font-size:10px}
.empty-state{grid-column:1/-1;padding:34px;background:white;border:1px solid var(--line);color:var(--muted);text-align:center;font-size:13px}
.staff-menu-list{display:grid;gap:10px}
.staff-menu-row{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:white;border:1px solid var(--line)}
.manager-section{margin:28px 0;padding:25px;background:var(--white);border:1px solid var(--line)}
.manager-section>h2{margin-bottom:20px;font-size:25px}
.manager-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:14px}
.manager-form label{display:block;color:var(--green);font-size:11px;font-weight:600}
.manager-form input,.manager-form select,.manager-form textarea{width:100%;margin-top:6px;padding:10px 11px;border:1px solid var(--line);background:#fffefa;color:var(--ink);font:400 12px var(--sans)}
.manager-form textarea{resize:vertical}
.manager-form [type=submit]{justify-self:start}
.staff-category-list{display:grid;gap:9px;margin-top:17px}
.staff-category-row{padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:white}
.manager-inline-form{display:flex;align-items:center;gap:10px;flex:1}
.manager-inline-form input{max-width:300px;margin:0;padding:8px 10px;border:1px solid var(--line);background:#fffefa;font:400 12px var(--sans)}
.menu-edit{min-width:95px}
.menu-edit summary{color:var(--green);font-size:11px;font-weight:600;cursor:pointer}
.menu-edit[open]{flex:1}
.menu-edit-form{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-top:13px}
.button-danger{border-color:#a33c2b;background:transparent;color:#a33c2b}
.button-danger:hover{background:#a33c2b;color:white}
.staff-menu-row>.button{flex-shrink:0}
.staff-menu-row strong,.staff-menu-row span{display:block}
.staff-menu-row strong{font:500 17px var(--serif)}
.staff-menu-row .muted{margin-top:4px;font-size:10px}
.staff-shortcuts{display:flex;gap:13px}
.access-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(ellipse at top right,#e9e2d3,transparent 60%),var(--paper)}
.access-card{width:min(100%,520px);padding:50px;background:var(--white);border:1px solid var(--line)}
.access-card .brand{margin-bottom:44px}
.access-card .eyebrow{margin-bottom:13px}
.access-card h1{font-size:48px}
.access-card>p:not(.eyebrow){margin:20px 0 25px;color:var(--muted);font-size:13px}
.access-card>.text-link{display:flex;margin-top:20px}
.access-card [data-staff-login][hidden]{display:none}
.muted{color:var(--muted)}

@media(max-width:900px){
  .site-header{padding:0 5vw}.main-nav{gap:18px}.header-actions{gap:12px}
  .hero{min-height:540px;padding:65px 6vw;gap:3vw}.hero-image{height:390px}
  .section{padding:75px 6vw}.house-copy{padding:55px 6vw}.visit-section{padding:70px 7vw}
  .order-layout{gap:28px}.staff-header{padding:0 4vw}
}
@media(max-width:650px){
  .site-header{height:69px;padding:0 5vw}.brand{font-size:20px}.brand-mark{width:30px;height:30px;font-size:19px}.brand-logo{width:58px;height:58px}
  .menu-toggle{display:block}.header-actions{gap:10px}.header-actions>.button{min-height:36px;padding:0 10px;font-size:10px}.login-link{font-size:10px}
  .main-nav{position:absolute;z-index:5;top:69px;left:0;right:0;padding:16px 6vw;display:none;align-items:flex-start;flex-direction:column;gap:13px;background:var(--paper);border-bottom:1px solid var(--line)}
  .main-nav.nav-open{display:flex}
  .hero{padding:48px 7vw 37px;grid-template-columns:1fr;gap:26px}.hero-copy{order:1}.hero-image{order:2;height:280px;margin:0 3%}.hero-image-inner{inset:0 0 12px}.hero h1{font-size:61px}.hero-note{margin-top:28px}.hero-caption{right:7%;bottom:10px;font-size:8px}
  .ticker{padding:13px 0}.ticker div{font-size:8px}
  .section{padding:61px 6vw}.section-heading{align-items:start;gap:15px}.section-heading h2{font-size:36px}.section-heading>.text-link{margin-top:29px;font-size:10px;white-space:nowrap}
  .menu-grid{grid-template-columns:1fr;gap:13px}.menu-card{min-height:unset;padding-bottom:16px}.dish-mark{height:155px}.dish-description{min-height:unset}
  .house-section{grid-template-columns:1fr}.house-art{min-height:310px}.plate-art{width:210px;font-size:22px}.house-copy{padding:48px 8vw 57px}.house-copy h2{font-size:40px}
  .bar-section{grid-template-columns:1fr;gap:20px}.bar-copy h2{font-size:39px}.bar-graphic{height:190px}.glass{width:140px;height:140px;font-size:66px}
  .visit-section{padding:55px 8vw;display:block}.visit-section h2{font-size:47px}.visit-details{width:100%;margin-top:30px;gap:20px}
  .site-footer{padding:25px 7vw;flex-wrap:wrap;justify-content:space-between}.site-footer>span:nth-child(2){display:none}
  .page-intro{padding:56px 7vw 37px}.page-intro h1{font-size:48px}.full-menu{padding-top:16px}.menu-filters{gap:7px;margin-bottom:24px}.filter-button{padding:8px 11px;font-size:10px}
  .order-banner{padding:37px 7vw;align-items:flex-start;flex-direction:column}.order-banner h2{font-size:34px}
  .order-layout{margin-bottom:55px;padding:0 5vw;grid-template-columns:1fr;gap:16px}.order-form,.cart-panel{padding:23px}.cart-panel{order:-1}
  .staff-header{height:auto;min-height:72px;padding:12px 5vw;flex-wrap:wrap;gap:10px}.staff-header nav{order:3;width:100%;justify-content:flex-start;padding:7px 0 2px}.staff-header>div{gap:9px}.staff-header>div>span{display:none}
  .staff-main{padding:37px 5vw}.staff-title{align-items:flex-start}.staff-title h1{font-size:39px}.staff-title .button{white-space:nowrap}.order-board{grid-template-columns:1fr}
  .staff-menu-row{padding:14px;gap:10px;flex-wrap:wrap}.staff-menu-row strong{font-size:15px}.staff-menu-row .button{padding:0 10px}
  .manager-section{padding:17px 13px}.staff-category-row{align-items:flex-start}.manager-inline-form{flex-wrap:wrap}.manager-inline-form input{width:100%;min-width:130px}.menu-edit[open]{flex-basis:100%}
  .access-card{padding:32px 25px}.access-card h1{font-size:38px}
}