@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--navy:#172c3b;--cream:#f5f1e8;--ink:#263943;--gold:#e2bc75;--muted:#6d787a;--line:#d7d4ca;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img,video{display:block;width:100%;object-fit:cover}button{color:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,video:focus-visible{outline:3px solid #a17a3f;outline-offset:5px}h1,h2,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.035em}h2{font-size:clamp(46px,5.1vw,76px)}em{font-weight:400;font-style:italic}p{max-width:65ch}.eyebrow{font:600 11px/1.5 var(--sans);letter-spacing:.19em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:55px;padding:15px 24px;border:1px solid transparent;font-size:13px;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}.button span{font-size:20px;line-height:1}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:var(--navy)}.button-gold:hover{background:#efd1a0}.button-outline{border-color:#9ca7ad;color:var(--cream)}.button-outline:hover{background:#ffffff12}.button-small{min-height:43px;padding:12px 18px;gap:24px}.text-link{display:inline-flex;gap:28px;align-items:center;border-bottom:1px solid #859095;padding-bottom:6px;font-size:13px;font-weight:500;line-height:1.5}.text-link span{font-size:20px}.text-link:hover{border-color:var(--ink)}.light{color:var(--cream);border-color:#8e9a9e}.light:hover{border-color:var(--cream)}.header{min-height:100px;display:flex;align-items:center;justify-content:space-between;padding:17px 5.6%;background:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{width:155px;text-align:center;display:flex;flex-direction:column;align-items:center;line-height:1}.brand>span{font:27px/1 var(--serif);letter-spacing:.13em}.brand svg{width:86px;height:10px;margin:6px 0;fill:none;stroke:#6a95b5;stroke-width:2}.brand small{font-family:Georgia,serif;font-size:10px;letter-spacing:.26em}.header nav{display:flex;gap:34px;align-items:center;font-size:12px;font-weight:500}.header nav>a{padding:10px 0}.header nav>a:hover{color:#84602f}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:51% 49%;background:var(--navy);color:var(--cream);min-height:690px}.hero-copy{padding:78px 6vw 44px;display:flex;flex-direction:column;align-items:flex-start}.hero .eyebrow{display:flex;align-items:center;gap:13px;color:#c7cdd0}.little-line{width:25px;height:1px;background:var(--gold)}h1{font-size:clamp(58px,6.2vw,94px);margin:30px 0 25px}h1 em{color:var(--gold);white-space:nowrap;font-size:.87em}.hero-description{font-size:15px;line-height:1.8;color:#cdd3d5;max-width:350px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin:32px 0 38px}.hero-actions .text-link{font-size:12px;gap:13px}.hero-note{margin-top:auto;display:flex;align-items:center;gap:17px}.hero-note p{font-size:12px;line-height:1.65}.hero-note p span{color:#9baab2}.sun{color:var(--gold);font-size:43px;line-height:1}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo>img{height:100%;position:absolute;object-position:50% 50%}.hero-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#112631ad);pointer-events:none}.photo-label{position:absolute;bottom:29px;left:32px;right:32px;z-index:1;display:flex;justify-content:space-between;gap:20px;align-items:center;color:white;font-size:10px;letter-spacing:.12em}.photo-label>span+span{letter-spacing:.03em}.welcome-strip{display:flex;align-items:center;gap:40px;padding:25px 6vw;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.15em;font-weight:500}.strip-dot{font-size:20px;color:#9c9c90}.welcome-strip a{margin-left:auto;font-size:24px;line-height:1}.section-pad{padding:105px 7vw}.about{display:grid;grid-template-columns:1fr 1fr;gap:11vw;align-items:center}.about-images{position:relative;min-width:0;margin-bottom:30px;padding-right:50px}.terrace-photo{height:540px}.detail-photo{position:absolute;width:42%;height:235px;bottom:40px;right:0;border:9px solid var(--cream)}.image-caption{position:absolute;bottom:-34px;left:0;font-size:11px;letter-spacing:.05em;color:var(--muted)}.about-copy h2{margin:22px 0 29px}.about-copy p:not(.eyebrow){font-size:14px;line-height:1.9;color:#6a7476;margin-bottom:18px}.about-copy .text-link{margin-top:10px}.about-location{display:flex;gap:16px;align-items:center;border-top:1px solid var(--line);padding-top:25px;margin-top:40px}.about-location svg{width:27px;height:30px;fill:none;stroke:var(--ink);stroke-width:1.25}.about-location strong,.about-location span{display:block;font-size:12px;line-height:1.8}.about-location strong{font-weight:500}.about-location span{font-size:11px;color:var(--muted)}.food{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:var(--cream)}.food-photo{position:relative;min-width:0}.food-photo>img{position:absolute;height:100%;object-position:50% 56%}.food-copy{padding:70px 7vw}.food-copy>.eyebrow{color:var(--gold)}.food-copy h2{margin:23px 0 25px}.food-copy>p:not(.eyebrow){font-size:14px;color:#c4ccd0;line-height:1.9;margin-bottom:16px}.food-copy .button{margin-top:17px}.dessert-note{display:flex;align-items:center;gap:26px;margin-top:42px;border-top:1px solid #ffffff22;padding-top:30px}.dessert-note img{width:94px;height:110px}.dessert-note .eyebrow{font-size:9px;letter-spacing:.16em;color:#b4c0c6}.dessert-note p{font-family:var(--serif);font-size:26px;line-height:1.25;margin-top:7px}.gallery .section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end}.section-heading h2{margin-top:21px;font-size:clamp(43px,4.6vw,64px)}.section-heading>p{font-size:12px;line-height:1.9;color:var(--muted);padding-bottom:6px}.gallery-filters{display:flex;gap:9px;margin:38px 0 26px}.filter{background:transparent;border:1px solid var(--line);padding:10px 20px;font-size:11px;transition:background .2s}.filter:hover{background:#e8e4db}.filter.active{background:var(--navy);border-color:var(--navy);color:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-item{position:relative;padding:0;background:none;border:0;text-align:left;overflow:hidden}.gallery-item img{height:320px;transition:transform .45s;object-position:center 55%}.gallery-item:hover img{transform:scale(1.025)}.gallery-item>span,.gallery-video>span{display:flex;align-items:center;justify-content:space-between;font-size:11px;line-height:1.5;padding-top:13px}.gallery-item b,.gallery-video b{font-weight:400;font-size:19px}.gallery-video video{height:320px;background:var(--navy);object-fit:cover}.gallery-grid>[hidden]{display:none}.visit{background:var(--navy);color:var(--cream);display:grid;grid-template-columns:58% 42%}.visit-copy{padding:80px 7vw}.visit-copy>.eyebrow{color:var(--gold)}.visit-copy h2{margin:24px 0}.visit-copy>p:not(.eyebrow){font-size:13px;color:#c4cdd1;line-height:1.9}.phone-link{font-family:var(--serif);font-size:39px;display:flex;gap:25px;align-items:center;margin:25px 0 40px;width:fit-content;border-bottom:1px solid #9dabb0}.phone-link span{font:24px var(--sans);color:var(--gold)}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid #ffffff25;padding-top:30px}.contact-details h3{font-size:12px;font-weight:500;margin:0 0 11px}.contact-details p,.contact-details address{font-size:12px;color:#b6c3ca;line-height:1.8;font-style:normal;margin:0}.contact-details .text-link{font-size:10px;margin-top:18px;gap:10px}.contact-details .text-link span{font-size:17px}.visit-photo{position:relative;overflow:hidden}.visit-photo>img{position:absolute;height:100%;object-position:center}.visit-badge{position:absolute;left:28px;bottom:28px;background:var(--cream);border-radius:50%;width:158px;height:158px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--navy);font:34px/1.03 var(--serif);transform:rotate(-9deg);box-shadow:0 2px 8px #0001}.visit-badge svg{width:62px;height:12px;fill:none;stroke:#7194ad;stroke-width:2;margin-top:11px}footer{padding:34px 6vw;display:flex;gap:30px;align-items:center;font-size:11px}footer .footer-brand{font:24px var(--serif)}footer p{color:var(--muted);font-size:10px}footer>a:nth-last-child(2){margin-left:auto}footer a:hover{text-decoration:underline}.back-top{color:var(--muted)}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--gold);padding:10px 20px}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dialog-open{overflow:hidden}dialog{border:0;padding:0}dialog::backdrop{background:#10232edf;backdrop-filter:blur(5px)}.booking-dialog{background:var(--cream);color:var(--ink);padding:54px;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}.dialog-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:inherit;font-size:30px;line-height:1;min-width:44px;min-height:44px;z-index:3}.booking-dialog h2{margin:20px 0 22px;font-size:61px}.booking-dialog>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-bottom:26px}.booking-dialog small{display:block;font-size:10px;color:var(--muted);margin-top:22px;text-align:center}.booking-dialog .button{width:100%}.image-dialog{background:transparent;color:white;width:calc(100% - 28px);max-width:1100px;max-height:calc(100dvh - 32px);overflow:hidden}.image-dialog .dialog-close{background:var(--navy);border-radius:50%;top:5px;right:5px}.image-dialog figure{padding:12px 70px 40px;text-align:center}.image-dialog figure img{width:auto;max-width:100%;height:calc(100dvh - 150px);max-height:850px;object-fit:contain;margin:0 auto}.image-dialog figcaption{font-size:13px;padding-top:14px}.image-prev,.image-next{position:absolute;top:45%;border:1px solid #ffffff55;background:var(--navy);color:white;width:46px;height:46px;border-radius:50%;font-size:21px}.image-prev{left:4px}.image-next{right:4px}.image-counter{position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:11px;color:#c5ced3}
@media(min-width:1600px){.header,.hero-copy,.welcome-strip,.section-pad,.food-copy,.visit-copy,footer{padding-left:max(7vw,calc((100vw - 1400px)/2));padding-right:7vw}.hero{min-height:780px}}
@media(max-width:1100px){.header nav{gap:22px}.hero{min-height:630px;grid-template-columns:53% 47%}.hero-copy{padding:60px 5vw 35px}h1{font-size:65px}.hero-actions{gap:21px}.hero-actions .button{gap:25px}.section-pad{padding:80px 6vw}.about{gap:6vw}.about-images{padding-right:30px}.terrace-photo{height:490px}.detail-photo{height:210px;width:46%;right:-5px}.food-copy{padding:55px 6vw}.gallery-item img,.gallery-video video{height:280px}.visit-copy{padding:65px 6vw}.contact-details{gap:18px}.visit{grid-template-columns:61% 39%}.contact-details .text-link{font-size:9px}.welcome-strip{gap:26px}}
@media(max-width:760px){html{scroll-padding-top:82px}.header{min-height:82px;padding:14px 6%}.brand{width:128px}.brand>span{font-size:23px}.brand small{font-size:8px}.brand svg{width:75px;margin:4px 0}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:10px;width:44px;height:44px;border:1px solid var(--line);background:transparent}.menu-toggle span{display:block;width:22px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:16px 6% 24px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #172c3b15}.header nav.open{display:flex;align-items:stretch;gap:5px;flex-direction:column}.header nav>a{padding:12px;font-size:14px}.header nav .button{margin-top:10px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:48px 7vw 40px}h1{font-size:clamp(55px,10.8vw,80px);margin:24px 0}h1 em{font-size:.9em}.hero-description{max-width:420px}.hero-actions{margin:26px 0;gap:22px}.hero-note{margin-top:12px}.hero-photo{height:460px}.hero-photo>img{object-position:center 51%}.photo-label{left:24px;right:24px;bottom:24px}.welcome-strip{padding:22px 7vw;gap:14px;font-size:8px;letter-spacing:.09em}.strip-dot{font-size:16px}.welcome-strip a{font-size:22px}.section-pad{padding:66px 7vw}.about{grid-template-columns:1fr;gap:48px}.about-images{padding-right:45px;max-width:520px;width:100%}.terrace-photo{height:480px}.detail-photo{height:230px;width:43%;right:0;bottom:32px;border-width:7px}.about-copy h2{margin:18px 0 22px;font-size:57px}.about-location{margin-top:30px}.food{grid-template-columns:1fr}.food-photo{height:440px}.food-photo>img{object-position:center 60%}.food-copy{padding:50px 7vw}.food-copy h2{font-size:61px}.dessert-note{margin-top:32px}.gallery .section-heading{display:block}.section-heading h2{font-size:49px}.section-heading>p{margin-top:20px}.gallery-filters{gap:7px;margin:27px 0 22px}.filter{padding:10px 14px;font-size:10px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:22px 15px}.gallery-item img,.gallery-video video{height:260px}.gallery-item>span,.gallery-video>span{font-size:10px;padding-top:9px}.visit{grid-template-columns:1fr}.visit-copy{padding:58px 7vw}.visit-copy h2{font-size:67px}.visit-photo{height:450px}.visit-photo>img{object-position:center 40%}.visit-badge{width:140px;height:140px;font-size:31px}.contact-details .text-link{font-size:10px}footer{flex-wrap:wrap;padding:30px 7vw;gap:18px 28px}footer .footer-brand{width:100%}footer p{width:100%}footer>a:nth-last-child(2){margin-left:0}.back-top{margin-left:auto}.booking-dialog{padding:45px 27px 33px}.booking-dialog h2{font-size:55px}.image-dialog figure{padding:15px 0 45px}.image-dialog figure img{height:calc(100dvh - 155px)}.image-prev,.image-next{top:auto;bottom:3px;width:42px;height:42px;z-index:2}.image-dialog figcaption{padding:13px 40px 0;font-size:11px}}
@media(max-width:420px){.hero-photo{height:380px}.hero-actions{gap:23px 16px}.hero-actions .text-link{font-size:11px}.hero .eyebrow{font-size:9px}.welcome-strip{gap:10px;font-size:7px}.welcome-strip a{display:none}.terrace-photo{height:400px}.detail-photo{height:195px}.gallery-item img,.gallery-video video{height:210px}.gallery-item>span,.gallery-video>span{font-size:9px}.contact-details{grid-template-columns:1fr;gap:30px}.phone-link{font-size:35px}.visit-photo{height:390px}.section-heading h2{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.restaurant-menu{border-bottom:1px solid var(--line);background:#faf7f0}.restaurant-menu .section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.menu-filters{display:flex;flex-wrap:wrap;gap:8px;margin:36px 0 45px}.menu-filter{border:1px solid var(--line);background:transparent;padding:10px 17px;font-size:11px;line-height:1.5;white-space:nowrap;transition:background .2s}.menu-filter:hover{background:#e8e4db}.menu-filter.active{background:var(--navy);border-color:var(--navy);color:var(--cream)}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:7vw;row-gap:42px;align-items:start}.menu-category[hidden]{display:none}.menu-category h3{margin:0 0 16px;font:37px/1.2 var(--serif);letter-spacing:-.02em;display:flex;align-items:center;gap:17px;border-bottom:1px solid var(--line);padding-bottom:14px}.menu-category h3>span{font:10px/1.5 var(--sans);color:#977a48;letter-spacing:.09em}.dish-list{list-style:none;margin:0;padding:0}.dish-list li{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #dedbcf80;align-items:flex-start}.dish-list li:last-child{border-bottom:none}.dish-list li>div{min-width:0}.dish-list h4{font-size:13px;font-weight:500;line-height:1.6;margin:0}.dish-list p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:3px}.dish-price{font-size:13px;line-height:1.6;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.menu-extra{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:14px;display:flex;justify-content:space-between;gap:16px}.menu-extra strong{font-weight:500;color:var(--ink)}.menu-bottom{margin-top:44px;padding-top:28px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:28px}.menu-bottom>p{font-size:11px;color:var(--muted)}.menu-bottom>p>a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px;color:var(--ink)}.menu-bottom .button{flex-shrink:0}.original-menu{margin-top:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.original-menu summary{padding:17px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:12px}.original-menu summary::-webkit-details-marker{display:none}.original-menu summary:focus-visible{outline:3px solid #a17a3f;outline-offset:5px}.original-menu summary span{font-size:23px;font-weight:400;transition:transform .2s}.original-menu[open] summary span{transform:rotate(45deg)}.original-menu>div{padding:7px 0 26px;text-align:center}.original-menu img{width:min(100%,900px);height:auto;object-fit:contain;margin:0 auto 20px}.original-menu .text-link{font-size:11px}.restaurant-menu .section-heading h2{margin-top:21px}
@media(max-width:760px){.restaurant-menu .section-heading{display:block}.menu-filters{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:12px;margin:25px 0 22px;scrollbar-width:thin;scrollbar-color:#b2b9b8 transparent;overscroll-behavior-inline:contain}.menu-filter{padding:10px 14px;flex-shrink:0;font-size:10px}.menu-grid{grid-template-columns:1fr;gap:30px}.menu-category h3{font-size:33px}.dish-list li{padding:12px 0}.dish-list h4{font-size:13px}.dish-list p{font-size:11px}.menu-bottom{align-items:flex-start;flex-direction:column;gap:20px;margin-top:32px}.menu-bottom>p{font-size:11px}.original-menu{margin-top:28px}}
.icon{display:inline-block;width:1em;height:1em;vertical-align:-.15em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.icon-sun{width:44px;height:44px;stroke-width:1.35;vertical-align:middle}.dialog-close,.image-prev,.image-next{display:inline-grid;place-items:center}.dialog-close .icon{width:23px;height:23px}.image-prev .icon,.image-next .icon{width:20px;height:20px}.photo-label>span+span{display:inline-flex;align-items:center;gap:8px}.photo-label .icon{width:13px;height:13px}footer a .icon{width:13px;height:13px;margin-left:4px}.sun{display:flex;align-items:center}
.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:8vw;background:#eae7de;border-top:1px solid var(--line);align-items:start}.faq-intro h2{font-size:clamp(44px,4vw,61px);margin:21px 0 24px}.faq-intro>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:29ch;line-height:1.9}.faq-list{border-top:1px solid #c7c9c1}.faq-item{border-bottom:1px solid #c7c9c1}.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:23px 0;font-size:14px;font-weight:500;line-height:1.6}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:focus-visible{outline:3px solid #a17a3f;outline-offset:5px}.faq-item summary .icon{width:20px;height:20px;transition:transform .2s}.faq-item[open] summary .icon{transform:rotate(45deg)}.faq-answer{padding:0 38px 25px 0}.faq-answer p{font-size:13px;line-height:1.9;color:#5d6b70}.faq-answer a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.faq-answer a:hover{color:#84602f}@media(max-width:760px){.faq{grid-template-columns:1fr;gap:30px}.faq-intro h2{font-size:51px}.faq-intro>p:not(.eyebrow){max-width:40ch}.faq-item summary{font-size:13px;padding:20px 0}.faq-answer{padding:0 24px 23px 0}.faq-answer p{font-size:12px}}@media(prefers-reduced-motion:reduce){.faq-item summary .icon{transition:none}}

/* Compact guest quote, matching the restaurant palette. */
.guest-review{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:32px;align-items:center;padding:36px 7vw;border-top:1px solid var(--line);background:var(--cream)}
.guest-review h2{font:600 10px/1.5 var(--sans);letter-spacing:.16em;color:var(--muted)}
.review-stars{display:flex;gap:3px;margin-top:12px;color:#947137}.review-stars svg{fill:currentColor;flex:none}
.guest-review blockquote{margin:0}.guest-review blockquote p{font:400 clamp(20px,2vw,27px)/1.4 var(--serif);max-width:42ch;letter-spacing:-.01em}
.guest-review figcaption{margin-top:12px;font:500 11px/1.6 var(--sans)}.guest-review figcaption span{font-weight:400;color:var(--muted)}
.review-source{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-size:11px;border-bottom:1px solid var(--line);padding-bottom:5px}.review-source:hover{border-color:var(--ink)}
@media(max-width:1000px){.guest-review{grid-template-columns:140px minmax(0,1fr);gap:20px}.review-source{grid-column:2;justify-self:start}}
@media(max-width:600px){.guest-review{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:30px 7vw}.review-intro{display:flex;align-items:center;gap:20px}.review-stars{margin-top:0}.guest-review blockquote p{font-size:23px}.guest-review figcaption span{display:block}.review-source{font-size:11px}}

.hero-ratings{display:grid;grid-template-columns:auto auto;gap:0 24px;margin-top:auto;border-top:1px solid #ffffff26;padding-top:19px;width:100%;max-width:410px}.hero-rating{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}.hero-rating+.hero-rating{border-left:1px solid #ffffff26;padding-left:24px}.rating-platform{font-size:11px;font-weight:500;color:var(--cream)}.rating-value{display:flex;align-items:center;gap:7px;color:var(--gold);line-height:1.2}.rating-value strong{font:400 28px/1.2 var(--serif)}.rating-value>span{font-size:11px;color:#c7cdd0}.rating-value svg{fill:currentColor;flex-shrink:0}.hero-rating+.hero-rating svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.rating-detail{font-size:10px;line-height:1.5;color:#c7cdd0}.hero-rating:hover .rating-platform{text-decoration:underline;text-underline-offset:3px}.hero-rating-date{grid-column:1/-1;font-size:9px;color:#a9b5bb;margin-top:12px}
@media(max-width:400px){.hero-ratings{gap:0 16px}.hero-rating+.hero-rating{padding-left:16px}.rating-detail{font-size:9px}.rating-value strong{font-size:26px}}

/* A compact call shortcut for mobile visitors. */
.mobile-call{display:none}
@media(max-width:760px){
 body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
 .mobile-call{position:fixed;z-index:25;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;max-width:calc(100% - 32px);padding:13px 23px;border:1px solid #ffffff30;border-radius:999px;background:var(--navy);color:var(--cream);box-shadow:0 4px 18px #10232e26;font:500 13px/1.4 var(--sans);white-space:nowrap}
 .mobile-call .icon{width:18px;height:18px;color:var(--gold)}
 .mobile-call:active{background:#243f50}
 body.dialog-open .mobile-call,body:has(dialog[open]) .mobile-call,body:has(#navigation.open) .mobile-call{display:none}
}
@media print{.mobile-call{display:none!important}body{padding-bottom:0}}

/* Seasonal julbord invitation */
.christmas-bubble{position:fixed;right:24px;bottom:24px;z-index:25;display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:12px 19px;border:1px solid #ffffff30;border-radius:999px;background:#653b36;color:var(--cream);box-shadow:0 4px 18px #10232e26;font:500 13px/1.4 var(--sans)}
.christmas-bubble .icon{width:21px;height:21px;color:var(--gold)}.christmas-bubble:hover{background:#794b43}
body.dialog-open .christmas-bubble,body:has(dialog[open]) .christmas-bubble,body:has(#navigation.open) .christmas-bubble{display:none}
.christmas-dialog{width:min(680px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow:auto;background:var(--cream);color:var(--ink);overscroll-behavior:contain}
.christmas-top{position:sticky;top:0;z-index:4;display:flex;align-items:center;min-height:64px;padding:16px 32px;background:var(--cream);border-bottom:1px solid var(--line);color:#653b36}.christmas-top .eyebrow{font-size:10px}.christmas-top .dialog-close{top:10px;right:14px}
.christmas-intro{display:grid;grid-template-columns:1fr 43%;gap:22px;padding:28px 32px 30px;align-items:center}.christmas-intro h2{font-size:60px;margin-bottom:17px}.christmas-intro h2 em{color:#653b36}.christmas-intro p{font-size:13px}.christmas-price{display:block;margin-top:12px;font:32px/1.3 var(--serif)}.christmas-intro img{height:210px;object-position:center 36%}.christmas-intro figcaption{font-size:9px;color:var(--muted);margin-top:7px}
.christmas-content{padding:0 32px 25px}.christmas-content h3{font:29px/1.2 var(--serif);margin:0 0 16px}.christmas-content section+section{margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}.christmas-times p{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.christmas-available,.christmas-full{font-size:11px;white-space:nowrap}.christmas-available{color:#365342}.christmas-full{color:#795f58}.christmas-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:14px}.christmas-menu{display:grid;grid-template-columns:1fr 1fr;gap:9px 26px;list-style:none;padding:0;margin:0;font-size:13px;line-height:1.65}.christmas-treat{margin-top:23px;background:#eae6dc;padding:16px 19px;font-size:12px}.christmas-treat strong{font-weight:600}.christmas-book{position:sticky;bottom:0;padding:14px 32px 20px;background:var(--cream);border-top:1px solid var(--line)}.christmas-book .button{width:100%;gap:10px;font-size:13px}
@media(max-width:760px){.mobile-call{left:calc(50% - 80px);padding:12px 15px;gap:7px;font-size:12px}.christmas-bubble{left:calc(50% + 2px);right:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));padding:12px 14px;font-size:12px;gap:7px;white-space:nowrap}.christmas-bubble .icon{width:18px;height:18px}.christmas-top{padding-left:22px}.christmas-intro{padding:20px 22px 25px;gap:15px}.christmas-intro h2{font-size:46px}.christmas-intro p{font-size:11px}.christmas-intro img{height:180px}.christmas-price{font-size:28px}.christmas-content{padding:0 22px 22px}.christmas-book{padding:12px 22px 16px}.christmas-menu{grid-template-columns:1fr;gap:7px}.christmas-times p{font-size:12px}.christmas-available,.christmas-full{font-size:10px}}
@media print{.christmas-bubble{display:none!important}}
