:root{--wine:#701e28;--wine-dark:#4e1420;--paper:#faf7f0;--ink:#352521;--muted:#70615a;--gold:#e7bc82;--line:#d9cfc1;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;object-fit:cover}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #bf7929;outline-offset:6px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:400}h1,h2,h3{font-family:var(--serif)}h2{font-size:clamp(2.5rem,4vw,4.4rem);line-height:1.1;letter-spacing:-.045em}em{font-weight:400;color:var(--wine)}.skip{position:fixed;z-index:20;left:12px;top:-100px;padding:10px 20px;background:#fff}.skip:focus{top:12px}.site-header{height:104px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:5;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;align-items:center;line-height:1}.brand-name{font:italic 2.7rem/.85 var(--serif);letter-spacing:-.06em;color:var(--wine)}.brand-dot{color:var(--wine)}.brand-sub{font-size:.75rem;letter-spacing:.18em;margin-top:12px;font-weight:bold}.site-header nav{display:flex;align-items:center;gap:32px;font-size:.875rem}.site-header nav>a:not(.nav-book){position:relative}.site-header nav>a:not(.nav-book):after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--wine);transition:width .2s}.site-header nav>a:hover:after{width:100%}.nav-book{border:1px solid var(--wine);padding:12px 19px;color:var(--wine);display:flex;gap:22px;align-items:center;transition:background .2s,color .2s}.nav-book:hover{background:var(--wine);color:var(--paper)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:51% 49%;min-height:690px;background:var(--wine);color:var(--paper)}.hero-copy{padding:66px 9.8% 26px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:.75rem;font-weight:bold;letter-spacing:.16em;line-height:1.6;color:var(--wine);margin-bottom:25px}.eyebrow.light{color:var(--gold)}h1{font-size:clamp(4.15rem,6.4vw,6.6rem);line-height:.99;letter-spacing:-.055em;margin:0 0 28px}h1 em{color:var(--gold);}.hero-description{max-width:340px;color:#f0dcd6;font-size:1rem;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:15px 22px;font-size:.875rem;font-weight:bold;transition:background .2s,transform .2s;line-height:1.4;min-height:52px}.button:hover{transform:translateY(-2px)}.button.cream{background:var(--paper);color:var(--wine)}.button.cream:hover{background:#fff}.button.wine{background:var(--wine);color:var(--paper)}.button.wine:hover{background:var(--wine-dark)}.hero-phone{font-size:.875rem;border-bottom:1px solid #b47074;padding-bottom:3px;white-space:nowrap}.hero-foot{padding-top:44px;width:100%;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#e1b7b2}.hero-foot>span{font-size:.75rem;letter-spacing:.13em;line-height:1.5;max-width:250px}.hero-foot>a{font-size:1.6rem;border:1px solid #a45b62;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.hero-image{position:relative;overflow:hidden;min-height:650px}.hero-image img{height:100%;position:absolute;inset:0;object-position:center}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#24160f88,transparent 45%)}.image-caption{position:absolute;z-index:1;bottom:28px;right:34px;font:italic 1.05rem var(--serif);letter-spacing:.09em;color:white}.welcome-strip{display:flex;align-items:center;justify-content:center;gap:6%;min-height:82px;border-bottom:1px solid var(--line);padding:20px 5%;font-family:var(--serif);font-size:1.12rem;color:var(--wine)}.welcome-strip i{font-style:normal;color:var(--wine);font-size:1.8rem;line-height:1}.section-pad{padding:110px 7.5%}.story{display:grid;grid-template-columns:46% 43%;gap:11%;align-items:center}.story-image-wrap{position:relative}.story-image{height:540px;object-position:center;border-radius:48% 48% 0 0}.image-label{display:block;position:absolute;bottom:0;left:0;right:0;font-size:.75rem;letter-spacing:.18em;text-align:center}.story-copy h2{margin-bottom:30px}.story-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:18px;max-width:450px;line-height:1.8}.text-link{display:inline-flex;align-items:center;gap:26px;font-size:.875rem;font-weight:bold;border-bottom:1px solid var(--wine);padding-bottom:7px;color:var(--wine);margin-top:20px}.text-link:hover{gap:33px}.menu-section{background:#f0eadd;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:65px}.section-heading .eyebrow{margin-bottom:15px}.section-heading>p{color:var(--muted);font-size:.9rem;padding-bottom:5px}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.category-top{display:flex;align-items:baseline;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--wine);color:var(--wine)}.category-top>span{font-size:.75rem}.category-top h3{font-size:2rem;letter-spacing:-.025em}.dish{padding:25px 0 22px;border-bottom:1px solid var(--line)}.dish>div{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.dish h4{font-size:.95rem;font-weight:bold;line-height:1.45}.price{font-size:.875rem;white-space:nowrap;color:var(--wine);font-weight:bold}.dish p{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:9px;max-width:260px}.menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:40px}.menu-bottom>p{font-size:.75rem;color:var(--muted);text-align:right}.celebrate{background:var(--wine);color:var(--paper);text-align:center;padding:90px 24px 95px}.celebrate h2{font-size:clamp(2.65rem,4.5vw,4.6rem)}.celebrate h2 em{color:var(--gold)}.celebrate>p:not(.eyebrow){max-width:550px;margin:26px auto 3px;color:#f0dcd6}.text-link.light{color:var(--paper);border-color:#ca9397}.visit{display:grid;grid-template-columns:1fr 1fr;gap:12%}.visit-intro>p:not(.eyebrow){margin-top:27px;max-width:320px;color:var(--muted)}.call-number{display:inline-flex;align-items:center;gap:35px;font-family:var(--serif);font-size:2.1rem;color:var(--wine);margin-top:30px;line-height:1.3}.call-number>span{font-family:var(--sans);font-size:1.5rem}.visit-info h3{font-family:var(--sans);font-weight:bold;font-size:1rem;margin-bottom:25px}.hours{border-top:1px solid var(--line);padding-top:25px}.hours dl{margin:0}.hours dl>div{display:flex;justify-content:space-between;gap:25px;padding:0 0 20px;font-size:.9rem}.hours dd{margin:0;text-align:right}.address{margin-top:20px;padding-top:26px;border-top:1px solid var(--line)}address{font-style:normal;font-size:.9rem;color:var(--muted)}.address .text-link{margin-top:18px}.delivery-note{color:var(--muted);font-size:.75rem;margin-top:15px}footer{background:var(--wine-dark);color:var(--paper);padding:44px 5% 28px;overflow:hidden}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-label{font-size:.75rem;letter-spacing:.1em;line-height:1.8}.back-top{font-size:.875rem}.footer-wordmark{font-family:var(--serif);font-size:clamp(6rem,23vw,26rem);line-height:1.1;letter-spacing:-.07em;text-align:center;font-style:italic;margin:0 0 30px}.footer-wordmark span{color:var(--gold)}.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:23px;border-top:1px solid #82474d;font-size:.75rem;color:#e1b7b2}.footer-bottom>div{display:flex;gap:26px}.mobile-bar{display:none}@media(min-width:1600px){.hero-copy{padding-top:90px}.hero{min-height:780px}}@media(max-width:1100px){.site-header nav{gap:20px}.hero-copy{padding-top:55px}.hero{min-height:650px}h1{font-size:clamp(3.8rem,6.8vw,5.4rem)}.hero-actions{gap:14px}.hero-phone{font-size:.8rem}.section-pad{padding:85px 5%}.story{gap:7%;grid-template-columns:46% 47%}.story-image{height:490px}.menu-grid{gap:24px}.dish>div{flex-wrap:wrap;gap:4px 12px}.visit{gap:8%}}@media(max-width:760px){html{scroll-padding-top:20px}.site-header{height:86px;padding:0 6%}.brand-name{font-size:2.35rem}.brand-sub{font-size:.75rem}.menu-toggle{display:flex;border:1px solid var(--line);padding:9px 12px;background:transparent;color:var(--wine);font-size:.875rem;gap:12px;align-items:center;cursor:pointer}.menu-toggle span{font-size:1.05rem}.site-header nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--paper);padding:18px 6% 28px;border-bottom:1px solid var(--line);align-items:stretch;gap:0;box-shadow:0 15px 20px #00000014}.site-header nav.open{display:flex;flex-direction:column}.site-header nav>a{padding:13px 5px}.site-header nav .nav-book{padding:12px 15px;margin-top:10px;justify-content:space-between}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:45px 7% 26px}.eyebrow{font-size:.75rem;margin-bottom:22px}h1{font-size:clamp(3.4rem,13vw,5.5rem);margin-bottom:23px}.hero-description{max-width:360px}.hero-actions{margin-top:24px;gap:24px}.hero-foot{padding-top:30px}.hero-foot>span{font-size:.75rem;max-width:240px}.hero-image{min-height:340px;height:65vw;max-height:480px}.hero-image img{object-position:center 60%}.image-caption{bottom:20px;right:25px}.welcome-strip{gap:20px;padding:18px 6%;min-height:70px;flex-wrap:wrap;font-size:.9rem}.welcome-strip i{font-size:1.3rem}.welcome-strip>span:last-child,.welcome-strip>i:nth-child(4){display:none}.section-pad{padding:66px 7%}.story{grid-template-columns:1fr;gap:36px}.story-image-wrap{max-width:480px;width:100%;margin:auto}.story-image{height:105vw;max-height:490px}.story-copy h2{font-size:clamp(2.7rem,9vw,4rem);margin-bottom:23px}.story-copy>p:not(.eyebrow){max-width:none}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:23px}.menu-grid{grid-template-columns:1fr;gap:36px}.category-top{padding-bottom:14px}.dish>div{flex-wrap:nowrap}.dish p{max-width:none}.dish{padding:20px 0}.menu-bottom{flex-direction:column;align-items:flex-start;margin-top:32px;gap:20px}.menu-bottom>p{text-align:left}.celebrate{padding:65px 7%}.celebrate h2{font-size:clamp(2.4rem,8vw,3.5rem)}.celebrate>p:not(.eyebrow){font-size:.95rem}.visit{grid-template-columns:1fr;gap:42px}.visit h2{font-size:3.5rem}.visit-intro>p:not(.eyebrow){max-width:350px}.call-number{font-size:2rem}.hours dl>div{font-size:.875rem}footer{padding:33px 7% 98px}.footer-wordmark{font-size:23vw;margin:26px 0;line-height:1.15}.footer-label{font-size:.75rem}.back-top{font-size:.75rem}.footer-bottom{flex-direction:column;gap:17px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:6;background:var(--paper);border-top:1px solid var(--line);padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:8px}.mobile-bar a{display:flex;align-items:center;justify-content:center;font-size:.8rem;min-height:44px;flex:1;border:1px solid var(--wine);color:var(--wine);font-weight:bold}.mobile-bar a:last-child{background:var(--wine);color:var(--paper);flex:1.5}}@media(max-width:370px){h1{font-size:3.15rem}.hero-actions{gap:15px}.hero-phone{font-size:.75rem}.button{font-size:.8rem;padding:14px 16px;gap:18px}.welcome-strip{gap:12px;font-size:.8rem}.dish>div{flex-wrap:wrap}.call-number{font-size:1.8rem;gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(min-width:761px){.hero-copy{min-width:0}.hero-copy h1{font-size:clamp(3.25rem,5.8vw,6rem)}}
@media(min-width:761px) and (max-width:900px){.site-header nav{gap:15px}.site-header{padding:0 3%}.nav-book{padding:11px 13px}}

/* Original Artuso logo supplied by the restaurant. */
.brand-logo{display:block;width:166px;height:auto;object-fit:contain}.footer-logo{display:flex;justify-content:center;margin:26px 0 34px}.footer-logo img{width:min(640px,80%);height:auto;object-fit:contain}@media(max-width:760px){.brand-logo{width:128px}.footer-logo{margin:30px 0}.footer-logo img{width:94%;max-width:480px}}

/* Match the original logo silhouette to the site palette. */
.logo-color-filters{position:absolute;pointer-events:none;overflow:hidden}.brand-logo{filter:url(#logo-bordeaux)}.footer-logo img{filter:url(#logo-cream)}

/* Independent menu and legal pages. */
.delivery-note{display:inline-block;margin-top:28px;padding:6px 0 6px 18px;border:0;border-left:3px solid var(--wine);background:transparent;color:var(--wine);font-size:1.125rem;line-height:1.5;letter-spacing:.015em}
.delivery-note strong{font-weight:700}
.site-header nav a[aria-current="page"]{color:var(--wine);font-weight:700}
.page-intro{padding:44px 7.5% 48px;border-bottom:1px solid var(--line)}
.back-link{display:inline-block;font-size:.875rem;color:var(--muted);margin-bottom:36px}
.back-link:hover{color:var(--wine)}
.page-intro .eyebrow{margin-bottom:14px}
.page-intro h1{color:var(--ink);font-size:clamp(2.8rem,5.7vw,5.2rem);line-height:1.1;margin-bottom:22px;letter-spacing:-.045em}
.page-intro h1 em{color:var(--wine);white-space:normal}
.page-intro>p:not(.eyebrow):not(.delivery-note){max-width:760px;color:var(--muted)}
.page-intro .menu-intro-note{font-size:.875rem;margin-top:12px}
.menu-document{display:grid;grid-template-columns:200px minmax(0,1fr);gap:55px;padding:50px 7.5% 80px}
.menu-side nav{position:sticky;top:30px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.menu-side nav>p{font-size:.75rem;letter-spacing:.15em;font-weight:bold;color:var(--wine);margin-bottom:14px}
.menu-side a{font-size:.9rem;color:var(--muted);padding:7px 0;line-height:1.4}
.menu-side a:hover,.menu-side a:focus-visible{color:var(--wine);text-decoration:underline;text-underline-offset:5px}
.menu-chapter{scroll-margin-top:35px;margin-bottom:60px}
.menu-chapter:last-child{margin-bottom:0}
.menu-chapter-heading{display:flex;gap:18px;align-items:center;border-bottom:2px solid var(--wine);padding-bottom:20px}
.menu-chapter-heading>span{font-family:var(--serif);font-size:1.15rem;color:var(--wine)}
.menu-chapter-heading .eyebrow{font-size:.75rem;margin-bottom:5px;text-transform:uppercase}
.menu-chapter-heading h2{font-size:2.35rem;line-height:1.15;letter-spacing:-.035em}
.category-note{font-size:.875rem;color:var(--muted);margin:19px 0 4px;max-width:720px}
.full-menu-list{list-style:none;padding:0;margin:0}
.full-dish{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:14px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}
.dish-number{font-size:.75rem;color:var(--muted)}
.full-dish h3{font-family:var(--sans);font-size:1rem;font-weight:700;line-height:1.5;letter-spacing:0}
.full-dish p{font-size:.9rem;color:var(--muted);line-height:1.6;margin-top:5px}
.full-price{white-space:nowrap;font-size:1rem;color:var(--wine);font-weight:700;font-variant-numeric:tabular-nums}
.spicy{display:inline-block;font-size:.75rem;font-weight:400;color:var(--wine);border:1px solid #bca193;padding:0 6px;margin-left:5px;vertical-align:middle}
.menu-extra{display:block;margin-top:7px;color:var(--wine)}
.menu-visit{background:#f0eadd;padding:55px 7.5% 65px;text-align:center}
.menu-visit h2{font-size:2.5rem;margin-bottom:26px}
.menu-visit .text-link{display:flex;width:fit-content;margin:25px auto 0}
.legal-intro{padding-bottom:30px}
.legal-content{max-width:900px;margin:0 auto;padding:50px 40px 85px}
.legal-content section{margin:36px 0}
.legal-content h2{font-family:var(--serif);font-size:1.75rem;line-height:1.25;letter-spacing:-.025em;margin-bottom:18px;color:var(--wine)}
.legal-content p{margin-bottom:16px;color:var(--muted);overflow-wrap:anywhere}
.legal-content a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}
.legal-status{border-left:4px solid var(--wine);background:#f0eadd;padding:20px 24px;margin-bottom:35px}
.legal-status>strong{color:var(--wine)}
.legal-status>p{font-size:.9rem;margin:8px 0 0}
.legal-date{font-size:.875rem;border-top:1px solid var(--line);padding-top:22px}
@media(max-width:1000px){.menu-document{gap:30px;grid-template-columns:170px minmax(0,1fr);padding-left:5%;padding-right:5%}}
@media(max-width:760px){.page-intro{padding:28px 7% 36px}.page-intro h1{font-size:clamp(2.5rem,10vw,4rem)}.back-link{margin-bottom:30px}.menu-document{display:block;padding:0 7% 55px}.menu-side{position:sticky;top:0;z-index:4;margin:0 -8.15% 35px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 5px 12px #3525210a}.menu-side nav{position:static;display:flex;flex-direction:row;overflow-x:auto;align-items:center;gap:8px;padding:12px 7%;scrollbar-width:thin}.menu-side nav>p{display:none}.menu-side a{white-space:nowrap;font-size:.875rem;padding:8px 12px;border:1px solid var(--line);color:var(--wine)}.menu-chapter{scroll-margin-top:85px;margin-bottom:45px}.menu-chapter-heading h2{font-size:2rem}.full-dish{grid-template-columns:26px minmax(0,1fr) auto;gap:9px;padding:20px 0}.full-dish h3{font-size:.95rem}.full-dish p{font-size:.875rem}.full-price{font-size:.95rem}.menu-visit{padding:45px 7% 55px}.menu-visit h2{font-size:2.2rem}.legal-content{padding:30px 7% 60px}.legal-content h2{font-size:1.5rem}.legal-status{padding:17px 18px}}
@media(max-width:370px){.full-dish{grid-template-columns:24px minmax(0,1fr)}.full-price{grid-column:2}.menu-chapter-heading h2{font-size:1.8rem}}

.reservation-open{overflow:hidden}
.legal-content li+li{margin-top:16px}
.reservation-dialog{box-sizing:border-box;width:min(500px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:28px 38px 40px;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-align:center;overflow:auto;box-shadow:0 25px 100px #24160f40}
.reservation-dialog::backdrop{background:#251116b8}
.reservation-close{display:block;margin:0 0 24px auto;padding:8px 0 8px 12px;border:0;background:transparent;color:var(--wine);font-size:.875rem;cursor:pointer;min-height:44px}
.reservation-close span{font-size:1.2rem;margin-left:8px}
.reservation-dialog .eyebrow{margin-bottom:14px}
.reservation-dialog h2{font-size:2.5rem;margin-bottom:20px}
.reservation-dialog .reservation-description{color:var(--muted);max-width:330px;margin:0 auto}
.reservation-number{font-family:var(--serif);font-size:clamp(2rem,8vw,3rem);line-height:1.25;color:var(--wine);margin:25px 0;white-space:nowrap;letter-spacing:-.02em}
.reservation-dialog .button{justify-content:center;min-width:180px}
.reservation-email{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.reservation-email-address{display:block;margin:14px 0;color:var(--wine);text-decoration:underline;overflow-wrap:anywhere}
.reservation-email p{font-size:.875rem;line-height:1.6;color:var(--muted)}
.reservation-email .reservation-email-notice{margin:0 0 20px;padding:14px 16px;background:#701e280a;border-left:3px solid var(--wine);color:var(--ink);font-size:1rem;text-align:left}
.reservation-email-notice strong{color:var(--wine)}
@media(max-width:370px){.reservation-dialog{padding:20px 22px 30px}.reservation-dialog h2{font-size:2.1rem}}
