:root{--green:#174b38;--red:#c63e32;--ink:#183e30;--muted:#68716b;--line:#e4e8e2;--cream:#f7f7f0}html{scroll-behavior:smooth}body{color:var(--ink);background:white;font-family:Arial,Helvetica,sans-serif;font-size:15px}a,button,summary{touch-action:manipulation}a{color:inherit}a:hover{color:var(--red)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{max-width:100%}.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;background:white;padding:14px}.skip-link:focus{top:12px}.announcement{background:var(--green);color:white;text-align:center;font-size:11px;letter-spacing:.7px;padding:10px 24px}.announcement span{margin-left:35px;opacity:.75}.site-header{max-width:1440px;margin:auto;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:35px;background:white}.brand img{width:137px;max-height:80px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:600}.site-nav>a:not(.button){padding:13px 0}.site-nav a[aria-current]{color:var(--red)}.menu-dropdown{position:relative}.menu-dropdown summary{cursor:pointer;list-style:none;white-space:nowrap}.menu-dropdown summary::-webkit-details-marker{display:none}.menu-dropdown summary span{margin-left:5px}.menu-popover{position:absolute;top:33px;left:-20px;width:210px;background:white;border:1px solid var(--line);padding:10px;box-shadow:0 12px 30px #173b3018;z-index:30}.menu-popover a{display:flex;justify-content:space-between;padding:10px}.menu-popover a:hover{background:var(--cream)}.button{display:inline-flex;justify-content:center;align-items:center;gap:35px;border:1px solid transparent;padding:17px 23px;font-size:12px;font-weight:600;border-radius:3px;line-height:1.3;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);color:white}.button-red{background:var(--red);color:white}.button-red:hover{background:#a92e24}.button-green{background:var(--green);color:white}.button-green:hover{background:#0c3525}.nav-order{padding:14px 20px;gap:20px}.nav-toggle{display:none}.modern-home h1,.modern-home h2,.modern-home h3{font-family:Georgia,'Times New Roman',serif;color:var(--green);font-weight:400;text-transform:none;letter-spacing:-1.8px}.modern-home p{font-family:Arial,Helvetica,sans-serif;color:var(--muted);line-height:1.85}.home-hero{max-width:1440px;margin:12px auto 0;display:grid;grid-template-columns:1.02fr 1fr;padding:24px 5% 60px;gap:50px;align-items:center}.eyebrow,.modern-home .eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;line-height:1.6;color:var(--green);margin:0 0 22px}.eyebrow>span{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:8px}.modern-home h1{font-size:clamp(48px,4.6vw,72px);line-height:1.09;margin:0 0 25px}.modern-home em{color:var(--red);font-weight:400}.hero-description{max-width:420px;font-size:14px;margin-bottom:27px}.hero-actions{display:flex;align-items:center;gap:25px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:12px;font-weight:600;padding:10px 0;border-bottom:1px solid #b8c6bd}.hero-note{display:flex;gap:14px;align-items:center;margin-top:34px;font-size:11px;line-height:1.6;color:var(--muted)}.hero-note strong{font-weight:400;color:var(--green)}.little-star{font-size:36px;color:var(--green)}.hero-visual{position:relative;align-self:stretch;min-height:490px;margin:0 0 0 10px}.hero-food{width:100%;height:100%;position:absolute;object-fit:cover;border-radius:180px 180px 6px 6px;object-position:51% center}.photo-label{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:18px 20px;color:white;font-size:8px;letter-spacing:1.2px;background:linear-gradient(transparent,#112c2680);border-radius:0 0 6px 6px}.heritage-badge{position:absolute;right:-21px;top:26px;width:112px;height:112px;border-radius:50%;background:var(--green);border:5px solid white;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(12deg);box-shadow:0 0 0 1px var(--green)}.heritage-badge span{font-size:7px;letter-spacing:1px}.heritage-badge strong{font:40px Georgia;line-height:1.2}.tradition-strip{border-block:1px solid var(--line);display:flex;align-items:center;justify-content:space-evenly;gap:20px;padding:22px 5%;font-size:10px;letter-spacing:2px;font-weight:600}.tradition-strip i{color:var(--red);font-size:24px;font-style:normal}.menus-section{max-width:1440px;margin:auto;padding:72px 5% 55px;scroll-margin-top:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px;gap:25px}.modern-home h2{font-size:43px;line-height:1.18;margin:0}.section-heading .eyebrow{margin-bottom:12px}.section-heading>p{font-size:12px;margin:0}.menu-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.menu-card{min-height:266px;padding:26px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:5px;transition:transform .2s}.menu-card:hover{transform:translateY(-5px)}.dinner-card{background:var(--green);color:white;border-color:var(--green)}.lunch-card{background:var(--cream)}.dessert-card{background:#fcf1ee;border-color:#f2dfd9}.card-number{font-size:8px;letter-spacing:1.7px;position:relative;z-index:1}.modern-home .menu-card h3{font-size:29px;letter-spacing:-1px;margin:0 0 10px}.modern-home .menu-card p{font-size:11px;margin-bottom:18px}.modern-home .dinner-card h3,.modern-home .dinner-card p{color:white}.dinner-card p{opacity:.8}.card-link{display:flex;align-items:center;justify-content:space-between;font-size:11px;border-top:1px solid #b4c4b34d;padding-top:15px}.card-link b{font-size:20px;font-weight:400}.card-decoration{position:absolute;right:22px;top:15px;font-size:80px;line-height:1;color:#7e9e8245}.dessert-card .card-decoration{color:#c63e3240}.more-menus{display:flex;justify-content:center;flex-wrap:wrap;gap:28px;padding-top:26px;font-size:11px}.more-menus>span{color:var(--muted)}.more-menus a{text-decoration:underline;text-underline-offset:4px}.story-section{max-width:1440px;margin:auto;padding:35px 5% 85px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.story-photo{position:relative}.story-photo img{height:375px;width:100%;object-fit:cover;border-radius:5px}.story-photo>span{position:absolute;left:20px;bottom:20px;color:white;font:italic 20px Georgia}.story-copy h2{margin-bottom:23px}.story-copy>p:not(.eyebrow){font-size:13px}.story-copy .text-link{margin-top:10px}.visit-banner{background:var(--cream);padding:45px max(5%,calc((100vw - 1296px)/2));display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line)}.visit-banner .eyebrow{margin-bottom:10px}.visit-banner h2{font-size:36px}.visit-banner p:last-child{font-size:13px;margin:12px 0 0}.site-footer{background:var(--green);color:#e8eee8;padding:55px max(5%,calc((100vw - 1296px)/2)) 0}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:45px;padding-bottom:40px}.footer-main h3{color:white;font:600 12px Arial;margin:5px 0 22px;text-transform:none}.footer-main p,.footer-main a{font-size:11px;line-height:1.9;color:#d1ded5}.footer-main>div>a{display:block;margin-bottom:8px}.footer-main .footer-brand>a{font:italic 36px Georgia;color:white}.footer-brand>a span{display:block;font:8px Arial;letter-spacing:2.1px;margin-top:8px}.footer-brand p{margin-top:18px}.italian-stripe{display:flex;width:65px;height:4px;margin-top:18px}.italian-stripe i{flex:1;background:#4b9b6e}.italian-stripe i:nth-child(2){background:white}.italian-stripe i:nth-child(3){background:var(--red)}.footer-bottom{border-top:1px solid #ffffff25;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.3px;color:#c0d0c3;padding:20px 0}.breadcrubs{background-color:var(--green)}.breadcrubs .breadcurbs-inner{padding:65px 0}.breadcrubs-title{font-family:Georgia,serif;font-weight:400}.about-resta-details h2,.about-title h2{color:var(--green);font-family:Georgia,serif}.contact-form input,.contact-form textarea{color:white}.preloader{display:none!important}
@media(min-width:1500px){.home-hero{padding-top:35px;padding-bottom:70px}.hero-visual{min-height:560px}}
@media(max-width:1100px){.site-nav{gap:18px}.site-header{gap:20px}.brand img{width:110px}.hero-actions{gap:16px}.button{gap:20px;padding:16px 19px}.home-hero{gap:30px}.hero-visual{min-height:460px}.heritage-badge{right:-12px}.story-section{gap:40px}.modern-home h1{font-size:53px}.footer-main{gap:22px}}
@media(max-width:850px){.nav-toggle{display:block;background:white;border:1px solid var(--line);padding:10px 15px;border-radius:3px;font-size:12px;color:var(--green)}.nav-toggle span{margin-left:12px}.site-header{position:relative;padding-block:14px}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 5% 25px;z-index:50;box-shadow:0 18px 20px #173b3015;align-items:stretch;gap:6px}.site-nav.is-open{display:flex;flex-direction:column}.site-nav>a:not(.button){padding:10px 0}.menu-dropdown summary{padding:10px 0}.menu-popover{position:static;box-shadow:none;width:100%;margin-block:6px}.announcement span{display:none}.home-hero{gap:25px}.modern-home h1{font-size:43px}.hero-visual{min-height:435px}.hero-actions{align-items:start;flex-direction:column;gap:10px}.hero-note{margin-top:20px}.hero-description{font-size:12px}.hero-copy .eyebrow{font-size:8px}.tradition-strip{font-size:8px;letter-spacing:1px;gap:12px}.menu-card{padding:20px;min-height:250px}.modern-home .menu-card h3{font-size:25px}.section-heading>p{max-width:260px}.story-copy h2{font-size:34px}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.visit-banner h2{font-size:30px}}
@media(max-width:700px){.announcement{font-size:9px}.brand img{width:105px;max-height:62px}.home-hero{grid-template-columns:1fr;padding-top:25px;padding-bottom:30px;gap:30px}.modern-home h1{font-size:49px;letter-spacing:-2px}.hero-description{font-size:14px;max-width:100%}.hero-actions{flex-direction:row;align-items:center;gap:20px}.hero-actions .text-link{font-size:11px;gap:9px}.hero-actions .button{font-size:11px;padding:16px}.hero-note{margin-top:22px}.hero-visual{margin:0;min-height:390px}.hero-food{border-radius:150px 150px 5px 5px}.heritage-badge{right:6px;top:18px;width:100px;height:100px}.tradition-strip{display:grid;grid-template-columns:1fr auto 1fr;text-align:center;gap:10px;padding-block:15px}.tradition-strip i:nth-of-type(2){display:none}.tradition-strip i{font-size:18px}.menus-section{padding-top:44px}.section-heading{display:block}.modern-home h2{font-size:38px}.section-heading>p{margin-top:18px;max-width:none}.menu-cards{grid-template-columns:1fr}.menu-card{min-height:240px;padding:25px}.modern-home .menu-card h3{font-size:31px}.card-number{font-size:9px}.modern-home .menu-card p{font-size:12px}.more-menus{gap:18px}.story-section{grid-template-columns:1fr;gap:30px;padding-top:0;padding-bottom:45px}.story-photo img{height:300px}.story-copy h2{font-size:36px}.visit-banner{align-items:start;flex-direction:column;padding-block:35px}.visit-banner h2{font-size:32px}.footer-main{grid-template-columns:1fr 1fr;gap:30px 22px}.footer-main a{overflow-wrap:anywhere}.footer-bottom{flex-direction:column;gap:8px}.site-footer{padding-top:35px}.photo-label{font-size:7px;padding:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

a.button{display:inline-flex;text-transform:none;transition:background .2s,transform .2s}a.button.button-green{background:var(--green);color:white}a.button.button-green:hover{background:#0c3525;color:white}a.button.button-red{background:var(--red);color:white}a.button.button-red:hover{background:#a92e24;color:white}

/* Larger, more readable type and a more distinctive restaurant header. */
body { font-size: 18px; }
.announcement { font-size: 13px; padding: 12px 24px; }
.site-header {
    max-width: none;
    padding: 20px max(4%, calc((100vw - 1370px) / 2));
    gap: 30px;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 5px 20px #174b3805;
    position: relative;
    z-index: 60;
}
.brand { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.brand img { width: 78px; height: 78px; max-height: none; object-fit: contain; }
.brand-wordmark { font: 38px Georgia, serif; color: var(--green); letter-spacing: -1.5px; }
.brand-wordmark small { display: block; margin-top: 9px; font: 10px Arial, sans-serif; letter-spacing: 2px; }
.site-nav { gap: 24px; font-size: 16px; font-weight: 600; }
.site-nav > a:not(.button), .menu-dropdown summary { padding: 15px 0; position: relative; }
.site-nav > a:not(.button)::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: 6px;
    height: 2px; background: var(--red); transform: scaleX(0); transition: transform .2s;
}
.site-nav > a:hover::after, .site-nav > a[aria-current]::after { transform: scaleX(1); }
.site-nav > a[aria-current] { color: var(--green); }
.site-nav .nav-order { padding: 17px 23px; margin-left: 8px; border-radius: 6px; font-size: 16px; white-space: nowrap; }
.menu-popover { top: 53px; width: 255px; border-radius: 8px; padding: 10px; }
.menu-popover a { padding: 12px 14px; font-size: 16px; border-radius: 5px; }
.menu-dropdown[open] summary { color: var(--red); }
.hero-description { font-size: 18px; max-width: 500px; }
.modern-home .eyebrow, .hero-copy .eyebrow { font-size: 12px; letter-spacing: 1.4px; }
.button, .hero-actions .button, .text-link, .hero-actions .text-link { font-size: 16px; }
.hero-actions { flex-wrap: wrap; gap: 18px 24px; }
.hero-note { font-size: 15px; }
.tradition-strip { font-size: 13px; letter-spacing: 1.3px; }
.section-heading > p { font-size: 17px; max-width: 420px; }
.menu-card { min-height: 310px; padding: 28px; }
.card-number { font-size: 12px; letter-spacing: 1.2px; }
.modern-home .menu-card h3 { font-size: 34px; }
.modern-home .menu-card p { font-size: 16px; line-height: 1.65; }
.card-link, .more-menus { font-size: 16px; }
.story-copy > p:not(.eyebrow), .visit-banner p:last-child { font-size: 18px; }
.photo-label { font-size: 10px; }
.footer-main h3 { font-size: 17px; }
.footer-main p, .footer-main a { font-size: 16px; }
.footer-brand > a span { font-size: 11px; }
.footer-bottom { font-size: 13px; line-height: 1.7; }
.about-description p, .contact-information p, .about-resta-details p { font-size: 18px; line-height: 1.85; }
@media (min-width: 1101px) and (max-width: 1250px) {
    .site-nav { gap: 17px; }
    .brand-wordmark { font-size: 32px; }
    .brand img { width: 64px; height: 64px; }
    .site-header { gap: 22px; padding-inline: 3%; }
    .site-nav .nav-order { padding: 16px; margin-left: 0; }
}
@media (max-width: 1100px) {
    .site-header { padding: 16px 5%; }
    .nav-toggle { display: flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 600; color: var(--green); background: #f5f7f3; border: 1px solid #d7e1d8; border-radius: 6px; padding: 13px 18px; }
    .nav-toggle span { margin: 0; font-size: 20px; }
    .nav-toggle[aria-expanded="true"] { background: var(--green); color: white; }
    .site-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 16px 5% 24px; background: white; box-shadow: 0 14px 24px #174b3818; border-bottom: 3px solid var(--green); max-height: 75vh; overflow-y: auto; gap: 0; align-items: stretch; font-size: 18px; }
    .site-nav.is-open { display: flex; flex-direction: column; }
    .site-nav > a:not(.button), .menu-dropdown summary { padding: 15px 10px; border-bottom: 1px solid var(--line); }
    .site-nav > a:not(.button)::after { display: none; }
    .site-nav > a[aria-current] { background: var(--cream); border-left: 3px solid var(--red); }
    .site-nav .nav-order { margin: 18px 0 0; font-size: 17px; }
    .menu-popover { position: static; width: 100%; box-shadow: none; margin: 8px 0; background: var(--cream); }
    .hero-actions { flex-direction: row; align-items: center; }
    .menu-cards { gap: 16px; }
    .menu-card { padding: 22px; }
    .modern-home .menu-card h3 { font-size: 29px; }
}
@media (max-width: 700px) {
    .announcement { font-size: 12px; padding: 10px 15px; letter-spacing: .3px; }
    .brand img { width: 63px; height: 63px; }
    .brand { gap: 10px; }
    .brand-wordmark { font-size: 32px; }
    .brand-wordmark small { font-size: 9px; letter-spacing: 1.2px; margin-top: 6px; }
    .nav-toggle { padding: 11px 14px; }
    .hero-description { font-size: 18px; }
    .modern-home .eyebrow, .hero-copy .eyebrow { font-size: 12px; }
    .hero-actions .button { padding: 17px 20px; }
    .hero-actions .text-link { font-size: 16px; }
    .hero-note { font-size: 15px; }
    .tradition-strip { font-size: 11px; letter-spacing: .8px; }
    .section-heading > p { font-size: 17px; }
    .menu-card { min-height: 280px; padding: 26px; }
    .modern-home .menu-card h3 { font-size: 34px; }
    .modern-home .menu-card p { font-size: 17px; }
    .story-copy > p:not(.eyebrow), .visit-banner p:last-child { font-size: 18px; }
    .footer-main { grid-template-columns: 1fr; gap: 28px; }
    .footer-main h3 { margin-bottom: 12px; font-size: 18px; }
    .footer-main p, .footer-main a { font-size: 17px; }
}
@media (max-width: 380px) {
    .brand img { width: 48px; height: 48px; }
    .brand-wordmark { font-size: 27px; }
    .brand-wordmark small { font-size: 8px; }
    .nav-toggle { padding: 10px; gap: 8px; }
}

/* Photo cards give every menu its own place in the menu section. */
.image-menu-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.image-menu-card { padding: 0; min-height: 0; display: flex; flex-direction: column; justify-content: flex-start; background: white; border: 1px solid #dce3db; border-radius: 10px; overflow: hidden; }
.image-menu-card:hover { border-color: var(--green); box-shadow: 0 12px 28px #174b3810; }
.menu-card-photo { position: relative; aspect-ratio: 1.6; overflow: hidden; background: var(--cream); }
.menu-card-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.image-menu-card:hover .menu-card-photo img { transform: scale(1.04); }
.image-menu-card[href="dessert.pdf"] img { object-position: center 73%; }
.menu-photo-arrow { position: absolute; right: 16px; bottom: 16px; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; color: var(--green); background: white; font-size: 24px; box-shadow: 0 2px 10px #0001; }
.menu-card-content { padding: 26px; display: flex; flex: 1; flex-direction: column; }
.modern-home .image-menu-card h3 { font-size: 34px; margin: 0 0 12px; }
.modern-home .image-menu-card p { font-size: 17px; line-height: 1.65; margin: 0 0 23px; }
.image-menu-card .card-link { margin-top: auto; border-top: 1px solid var(--line); color: var(--green); font-size: 16px; font-weight: 600; }
.image-menu-card:nth-child(3n + 2) .menu-card-content { background: #f7f8f3; }
.image-menu-card:nth-child(3n) .menu-card-content { background: #fdf4f1; }
@media (max-width: 1000px) { .image-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; } }
@media (max-width: 600px) { .image-menu-grid { grid-template-columns: 1fr; gap: 24px; } .menu-card-photo { aspect-ratio: 1.65; } .menu-card-content { padding: 24px; } }

.hero-order { margin-bottom: 20px; }
.hero-order .button { font-size: 18px; min-height: 54px; padding: 15px 25px; }
