/* Consistent, readable classical type and restrained Italian accents. */
:root{--italian-green:#326747;--italian-white:#fffaf0;--italian-red:#a34737;--tricolore:linear-gradient(90deg,var(--italian-green) 0%,var(--italian-green) 33.333%,var(--italian-white) 33.333%,var(--italian-white) 66.666%,var(--italian-red) 66.666%,var(--italian-red) 100%)}
body{font-family:var(--action-font);font-size:17px;line-height:1.75}
body :is(p,a,button,input,select,textarea,span,dt,dd,h1,h2,h3,h4,label,figcaption,div,strong,em,small){font-family:var(--action-font)!important}
body:before{content:"";display:block;height:6px;background:var(--tricolore);position:relative;z-index:3;box-shadow:0 1px 3px #0003}
.intro,.hero .intro{font-size:17px;line-height:1.8}
.welcome-text p,.moments-copy p:not(.eyebrow){font-size:17px;line-height:1.85}
.welcome-text p:first-child{font-size:22px;line-height:1.65}
.food-list p{font-size:16px;line-height:1.75}
.visit p,.visit dl{font-size:16px;line-height:1.75}
.amenities{font-size:15px;line-height:1.6}
.contact-links>a:not(.contact-phone){font-size:15px}
.reservation-box p{font-size:16px;line-height:1.75}
.eyebrow{font-size:11px;letter-spacing:1.7px}
.hero .eyebrow{font-size:10px;letter-spacing:1.5px}
.hero-phone span,.nav-phone span{font-size:12px;letter-spacing:.3px}
.brand-wordmark .brand-top{font-size:9px;letter-spacing:1.8px;line-height:2}
footer .footer-brand .brand-top{font-size:8px;letter-spacing:1.3px}
.hero-foot{font-size:10px;letter-spacing:1.4px}
.kitchen-gallery figcaption span{font-size:11px;line-height:1.5}
.fine{font-size:12px!important}
.reservation-box .phone span{font-size:13px}
.social-bar>div .social-button{font-size:15px}
footer>div{font-size:12px}
dialog{font-size:16px;line-height:1.8}
/* Replace grey category rules with a fine tricolore separator. */
.menu-category-heading{position:relative;border-bottom:0;padding-bottom:23px}
.menu-category-heading:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--tricolore);box-shadow:0 1px 0 #a68b5b44}
.food-list{border-top:0;position:relative}
.food-list:before{content:"";display:block;height:3px;background:var(--tricolore);box-shadow:0 1px 0 #a68b5b44}
.food-list article{border-bottom:0;position:relative}
.food-list article:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--tricolore);opacity:.85}
.section h2:after{border:0;height:3px;width:72px;background:var(--tricolore)}
.menu-intro p:not(.eyebrow){font-size:17px;line-height:1.8}
.menu-breadcrumb{font-size:13px}
.menu-controls label{font-size:15px;line-height:1.5}
.menu-controls input,.menu-controls select{font-size:16px}
.category-filter{font-size:16px}.category-filter span{font-size:12px}
#menu-result-count{font-size:14px}
.menu-category-heading .eyebrow{font-size:11px;line-height:1.5}
.category-count{font-size:13px}
.category-description,.dish p{font-size:15px;line-height:1.75}
.dish h3{font-size:23px;line-height:1.4}
.dish-price{font-size:20px}
.dish-number{font-size:12px}
.dish-allergens{font-size:12px;line-height:1.6}
.category-empty{font-size:16px;line-height:1.8}
.menu-information p{font-size:14px;line-height:1.8}
@media(max-width:750px){body{font-size:16px}.intro,.hero .intro,.welcome-text p,.moments-copy p:not(.eyebrow),.food-list p,.visit p,.visit dl,.reservation-box p{font-size:16px;line-height:1.75}.welcome-text p:first-child{font-size:21px}.hero .eyebrow{font-size:9px;letter-spacing:1px}.eyebrow{font-size:10px;line-height:1.6}.brand-wordmark .brand-top{font-size:8px;letter-spacing:1.2px}.hero-foot{font-size:9px;letter-spacing:1px}.amenities{font-size:15px}.menu-intro p:not(.eyebrow){font-size:16px}.dish h3{font-size:21px}.dish-price{font-size:19px}.dish p,.category-description{font-size:15px}.menu-category-heading .eyebrow{font-size:10px}.category-count{font-size:12px}.menu-information p{font-size:14px}.mobile-actions a{font-size:12px}.menu-controls input,.menu-controls select{font-size:16px}}
@media(max-width:390px){.brand-wordmark .brand-top{font-size:7px;letter-spacing:1px}}

/* Clear route-finding action beside the restaurant address. */
.button.route-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:190px;min-height:52px;padding:14px 26px;background:#326747;color:#fffaf0;border:1px solid #29553b;box-shadow:0 3px 10px #24442b28;font-size:17px;font-weight:700;letter-spacing:.2px;margin:7px 0 8px;text-decoration:none}
.button.route-button svg{display:block;width:22px;height:24px;flex-shrink:0}
.button.route-button:hover{background:#254e35;border-color:#254e35;box-shadow:0 5px 14px #24442b35}
.button.route-button:focus-visible{outline:3px solid #a98245;outline-offset:4px}
.menu-information .route-button{margin-top:20px}
@media(max-width:750px){.button.route-button{min-width:220px;min-height:54px;font-size:18px}.menu-information .route-button{width:100%;min-width:0}}
/* Tricolore belongs at the transitions between the main sections. */
.food-list{border-top:1px solid var(--line)}
.food-list:before,.food-list article:after{content:none;display:none}
.food-list article{border-bottom:1px solid var(--line)}
.section h2:after{height:1px;width:56px;background:var(--line)}
.menu-category-heading:after{height:1px;background:var(--line);box-shadow:none}
main>.kitchen,main>.moments,main>.visit{position:relative;border-top:0}
main>.kitchen:before,main>.moments:before,main>.visit:before{content:"";display:block;position:absolute;top:0;left:0;right:0;height:3px;background:var(--tricolore);z-index:1;pointer-events:none}
