/* Shared readability corrections. Keep decorative artwork away from reading surfaces. */
body{--muted:#465365}
body main :is(h2,h3,legend),body main :is(label,button,.button,strong){font-weight:700!important}
body .button,body .text-link{font-weight:700!important}
body .button:not(.button-outline):not(.button-cream):not(.parties-hero-button):not(.button-gold){background:#ac0924;color:#fff}
body .button:not(.button-outline):not(.button-cream):not(.parties-hero-button):not(.button-gold):hover{background:#82051b}
body :is(input,textarea)::placeholder{color:#526072;opacity:1}
body :is(button,a,input,select,textarea):focus-visible{outline:3px solid #1769c2;outline-offset:3px}
body :is(.menu-section,.about-section,.reservation-content,.application-section,.contact-content){background-color:#f3f5f7;background-image:none}
body :is(.menu-section,.about-section,.contact-content)::before{background-image:none}
body :is(.card-content,.story-copy,.gathering,.reasons>div,.little-details p){background:#fff;color:#192a3e}
body .story-copy{padding:22px;border:1px solid #c9d1db;border-radius:9px}
body :is(.story-copy>p:not(.eyebrow),.gathering p:not(.eyebrow),.card-description){color:#344258;font-size:16px;line-height:1.6}
body :is(.story-copy .eyebrow,.gathering .eyebrow,.gallery-heading .eyebrow){color:#664620;font-size:13px}
body :is(.reasons small,.little-details small,.services small){color:#465365;font-size:14px;line-height:1.5}
body :is(.reasons strong,.services strong){color:#18283d;font-size:17px}
body .little-details span{color:#765024}
body :is(.menu-tools>p,.menu-fineprint,.menu-notes,.menu-good-to-know span,.card-subtitle,.price small){color:#485567;font-size:14px;line-height:1.5}
body .menu-card .card-content h3{font-size:22px;line-height:1.25}
body .card-footer .button{font-size:15px;min-height:42px}
body .menu-tabs button{font-weight:700!important}
body .search-box{background:#fff;border:1px solid #8291a4}
body .search-box input{font-size:16px;color:#18283d;min-height:30px}
body :is(.home-page .hero-copy,.careers-hero-copy,.contact-hero-copy,.menu-hero-copy){background:#420815f2;border:1px solid #edc58e60;border-radius:12px;padding:24px;color:#fff}
body .hero-copy h1{color:#ffe4a9;text-shadow:none}
body :is(.hero-description,.hero-subtitle,.hero-welcome,.hero-invitation,.contact-hero-quote,.menu-hero-tagline){color:#fff;font-size:17px;line-height:1.5}
body :is(.hero-welcome,.careers-hero .careers-eyebrow,.contact-eyebrow,.menu-eyebrow){color:#ffe0a3;font-size:13px}
body .careers-hero-copy{max-width:610px}
body .hero-copy h1,body .careers-hero h1{white-space:normal}
body .hero-note{background:#420815ed;padding:10px 14px;border-radius:8px;color:#fff1d5}
body :is(.aloha-banner,.careers-cta){background:#730f22;color:#fff}
body :is(.aloha-banner h2,.careers-cta h2){color:#fff}
body :is(.aloha-banner p,.careers-cta p){color:#ffe0a3;font-size:16px;letter-spacing:1px}
body :is(.menu-aloha,.contact-aloha){background:#f0e6d4}
body :is(.menu-aloha p,.contact-aloha p){color:#4e3523;font-size:15px;text-shadow:none}
body .menu-footer{background-color:#730f22;background-image:none;color:#fff}
body .footer-wave{fill:#730f22}
body .footer-contact{font-size:16px;color:#fff}
body :is(.menu-footer-bottom,.menu-footer-bottom small,.footer-identity>p){font-size:14px;color:#fff;line-height:1.6}
body .footer-identity>p{white-space:normal}
body .menu-footer .socials #footer-facebook{background:#1059b3}
body .footer-follow>p{font-size:16px}
body .visit-details{background:#730f22;color:#fff}
body .visit-details :is(address,.contact-email){font-size:17px;line-height:1.5}
body .visit-details .eyebrow{font-size:13px}
body #open-status{font-size:13px}
/* Public forms and help text. */
body :is(.application-card,.contact-form-card,.reservation-card){background:#fff;border:1px solid #b9c4d2;box-shadow:0 8px 26px #172b4612}
body :is(.contact-field label,.career-field>label,.booking-fields label,.food-filters label){font-size:16px;color:#192a3e;line-height:1.5}
body :is(.contact-field label small,.career-field>label>small,.booking-fields label small){font-size:14px;color:#485567;position:static}
body :is(.contact-field input,.contact-field textarea,.career-field input:not([type=file]),.career-field select,.career-field textarea,.reservation-page input,.reservation-page select,.reservation-page textarea){background:#fff;border:1px solid #8291a4;color:#172337;min-height:46px;font-size:16px;line-height:1.5}
body :is(.contact-field input,.contact-field textarea,.career-field input,.career-field textarea)::placeholder{color:#526072;font-size:16px}
body :is(.contact-privacy,.application-privacy,.application-intro,.application-consent,.field-note,.section-intro,.secure-note,.contact-form-intro,.contact-service-list small,.contact-map-caption p,.resume-drop>small,.resume-drop>span){font-size:14px;color:#465365;line-height:1.6}
body :is(.careers-eyebrow,.reservation-eyebrow,.intro-note){color:#67471d}
body .reservation-hero .reservation-eyebrow{color:#ffe0a3}
body .resume-drop{background:#f1f5fa;border:1px dashed #73849b}
body .form-flower{opacity:.12}
body .careers-benefits{background:#eaf0f7;border:1px solid #c5d0df}
body .careers-benefits::before{display:none}
body .benefits-copy>ul{width:100%}
body .benefits-copy :is(h3,p){color:#25354b;font-size:16px;line-height:1.5}
body .benefits-note{color:#6e1427}
body .job-card{background:#fff;border-color:#bbc7d5}
body .job-card :is(li,.job-heading p){font-size:15px;line-height:1.5;color:#344258}
body .job-corner{opacity:.2}
body .contact-ambience>figcaption{background:#172b46f5;padding:12px;border-radius:7px;color:#fff;font-size:21px;left:12px;right:12px;bottom:12px;text-shadow:none}
body .contact-ambience figcaption>small{color:#fff1d5;font-size:13px}
body .contact-detail :is(p,a){overflow-wrap:anywhere}
body .contact-layout{grid-template-columns:minmax(0,1.28fr) minmax(0,1.04fr) minmax(0,.9fr)}
/* Reservation calendar and pre-order controls. */
body.reservation-page{background:#f3f5f7}
body .reservation-welcome p,body .reservation-hours{color:#465365}
body .reservation-welcome .welcome-script{color:#725026}
body .booking-calendar{background:#f2f5f9;border-color:#8b9bb0;padding:14px}
body .calendar-heading{background:#172b46;color:#fff;border-radius:6px;padding:10px;font-size:20px}
body .calendar-heading button{background:#fff;border-color:#fff;color:#172b46;min-width:36px;min-height:36px}
body .calendar-weekdays{font-size:14px;color:#314158}
body .calendar-days button{background:#fff;border:1px solid #8393a8;color:#15233a;font-size:17px;min-height:45px;font-weight:700!important}
body .calendar-days small{color:#4e5969;font-size:12px}
body .calendar-days button:disabled{background:#e1e6ed;color:#566274;border-color:#e1e6ed;opacity:1}
body .calendar-days button.selected{background:#ad0827;border-color:#ad0827;color:#fff;box-shadow:inset 0 0 0 2px #fff}
body .calendar-days button.selected small{color:#fff}
body .calendar-days button:not(:disabled):hover{outline:2px solid #145ab5;outline-offset:-2px}
body :is(.booking-summary,.preorder-dish p,.cart-item small,.dining-room-photo figcaption){font-size:15px;color:#465365}
body .optional-badge{background:#e8f0fb;color:#15395f;font-size:13px;padding:5px 9px}
body .food-tabs button{font-size:16px;font-weight:700!important}
/* Dialogs: food choices, basket, printed menu and confirmation messages. */
body dialog:not(.gallery-dialog):not(.mobile-navigation){background:#fff;color:#18283d;border-color:#8b9bb0}
body dialog :is(.cart-item-info,.cart-notice,.dish-subtitle,.dish-spice-note,.dialog-header .eyebrow){color:#465365!important;font-size:14px!important}
body dialog :is(h2,h3,legend,strong){font-weight:700!important}
body .quantity-control{background:#fff;border-color:#8291a4;color:#18283d}
body .dish-modal-copy :is(p,.dish-options li){color:#344258;font-size:16px;line-height:1.6}
body .dish-modal-copy .category-label,body .dish-options h3 small{color:#624322;font-size:13px}
/* Override compact page themes for secondary information as well. */
body.home-page :is(.menu-tools>p,.menu-fineprint,.price small),body.menu-page :is(.menu-fineprint,.card-subtitle,.price small){font-size:14px;color:#465365;line-height:1.6}
body.home-page .visit-details,body.home-page .aloha-banner{background:#730f22}
body.home-page .visit-details address{font-size:17px}
body.home-page .aloha-banner p{font-size:16px;letter-spacing:1px;color:#ffe0a3}
body.home-page .aloha-banner h2{color:#fff;text-shadow:none}
body.home-page #open-printed-menu,body.home-page #visit-map-link{font-size:14px}
body .careers-intro-copy p,body .careers-benefits .careers-eyebrow,body .application-card .careers-eyebrow{font-size:13px}
@media(max-width:1000px){body .contact-layout{grid-template-columns:repeat(2,minmax(0,1fr))}body .contact-services{grid-column:1/-1}body .footer-contact{padding-inline:16px}}
@media(max-width:760px){body .application-fields{grid-template-columns:1fr 1fr}body .contact-layout{grid-template-columns:1fr}body .contact-services{grid-column:auto}body .hero-note{display:none}body .footer-contact{padding-inline:0}body .contact-aloha>.container{padding-left:0}body .hero-copy h1{font-size:clamp(46px,11vw,70px)}}
@media(max-width:560px){body .menu-card .card-content h3{font-size:20px}body .card-description{font-size:14px;line-height:1.5}body .card-footer .button{font-size:14px;padding-inline:8px;white-space:normal}body .hero-copy,body .careers-hero-copy,body .contact-hero-copy,body .menu-hero-copy{padding:20px 16px}body .reasons>div{gap:10px;padding:14px 10px}body .reasons strong{font-size:16px}body .reasons small{font-size:13px}body .contact-details-grid{grid-template-columns:1fr}body .application-fields{grid-template-columns:1fr}body .motivation-field,body .resume-field{grid-column:auto}body .booking-schedule{grid-template-columns:1fr}body .calendar-weekdays{font-size:12px}body .calendar-days button{font-size:16px}body .calendar-days small{font-size:11px}}
