.visit-notice{font-size:13px;line-height:1.8;color:#795647}.hero-visit-notice{max-width:365px;margin-top:12px!important;padding-left:12px;border-left:2px solid var(--orange)}.experience-notice{margin:-8px 0 30px;padding:13px 18px;background:#fff4e9;border-radius:8px}.time-slots .slot-notice{font-size:13px;font-weight:400;margin-top:16px;line-height:1.8;color:#795647}.closing-note{max-width:480px}.reviews-section{background:#f7ecdf;padding:92px 0 64px;overflow:hidden;scroll-margin-top:90px}.reviews-heading,.reviews-controls,.reviews-footnote{width:min(1180px,calc(100% - 96px));margin-left:auto;margin-right:auto}.reviews-heading{display:flex;justify-content:space-between;gap:48px;align-items:flex-end}.reviews-heading h2{font-size:clamp(30px,3.3vw,46px);line-height:1.55;letter-spacing:.02em;margin-top:12px}.reviews-intro{font-size:14px;line-height:2;color:var(--muted);padding-bottom:7px}.reviews-all{display:inline-block;color:var(--orange);font-weight:600;border-bottom:1px solid #cf987e;margin-top:18px}.reviews-all span{margin-left:20px}.reviews-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:34px;margin-bottom:20px}.reviews-controls p{font-size:12px;color:#726357}.reviews-controls>div{display:flex;gap:8px}.reviews-controls button{font:inherit;cursor:pointer;border:1px solid #d4bdab;background:transparent;color:#6b3d29;min-width:42px;height:42px;border-radius:99px;display:grid;place-items:center}.reviews-controls #reviews-pause{font-size:12px;min-width:88px;padding:0 15px}.reviews-controls button:hover{background:#fffaf5}.reviews-controls button:focus-visible,.reviews-viewport:focus-visible{outline:3px solid #185e79;outline-offset:4px}.reviews-viewport{overflow-x:auto;scrollbar-width:none;padding:4px max(24px,calc((100vw - 1180px)/2)) 15px;overscroll-behavior-x:contain}.reviews-viewport::-webkit-scrollbar{display:none}.reviews-track{display:flex;gap:20px;width:max-content}.review-card{display:flex;flex-direction:column;flex:0 0 346px;width:346px;min-height:292px;background:var(--paper);border:1px solid #e4d4c4;border-radius:15px;padding:27px 26px;box-shadow:0 5px 12px #70523805}.review-card-top{display:flex;align-items:center;gap:10px}.review-avatar{display:grid;place-items:center;flex-shrink:0;width:37px;height:37px;border-radius:50%;background:#eddfcc;color:#765336;font-size:15px}.review-author{font-size:14px;font-weight:700;line-height:1.5}.review-author small{font-size:11px;font-weight:400}.review-origin{font-size:10px;color:#80766a;line-height:1.6}.review-stars{font-size:11px;letter-spacing:1px;color:#b37618;margin-left:auto;white-space:nowrap}.review-card h3{font-size:16px;font-weight:700;margin-top:24px;line-height:1.65}.review-card blockquote{font-size:14px;line-height:1.95;color:#5a5148;margin:12px 0 24px}.review-source{font-size:11px;color:#966043;margin-top:auto;align-self:flex-start;border-bottom:1px solid #d5b8a0}.review-source span{margin-left:10px}.reviews-footnote{font-size:11px;line-height:1.9;color:#7c6c5e;margin-top:22px}.nav{gap:22px}
@media(max-width:900px){.reviews-heading{align-items:flex-start;flex-direction:column;gap:22px}.reviews-heading,.reviews-controls,.reviews-footnote{width:calc(100% - 48px)}.reviews-section{padding:64px 0 44px}.review-card{width:320px;flex-basis:320px}.reviews-controls{margin-top:24px}.nav{gap:14px}}
@media(max-width:560px){.hero-visit-notice{font-size:11px;line-height:1.7;max-width:100%;margin-top:10px!important}.reviews-heading h2{font-size:29px}.reviews-heading,.reviews-controls,.reviews-footnote{width:calc(100% - 40px)}.reviews-heading{gap:20px}.reviews-intro{font-size:13px}.reviews-intro br{display:none}.reviews-controls{gap:8px}.reviews-controls p{font-size:10px;max-width:118px;line-height:1.7}.reviews-controls button{min-width:36px;height:36px}.reviews-controls #reviews-pause{min-width:76px;font-size:11px}.reviews-viewport{padding-left:20px;padding-right:20px}.review-card{width:290px;flex-basis:290px;min-height:285px;padding:23px 21px}.reviews-track{gap:14px}.review-card h3{font-size:15px}.review-stars{font-size:10px}.experience-notice{font-size:12px;margin-top:4px}.reviews-footnote{font-size:10px}.closing-note{line-height:1.9}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Floating opening announcement. */
.opening-pop{position:absolute;z-index:3;right:-16px;top:16px;width:174px;animation:opening-arrive .7s ease-out both}
.opening-pop[hidden]{display:none}
.opening-pop-bubble{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:174px;padding:24px 18px 23px;background:#ffde8d;color:#793b20;border:4px solid #fffdf8;border-radius:48% 51% 45% 49%;box-shadow:0 8px 22px #63331824;transform:rotate(8deg);animation:opening-float 4.5s ease-in-out .7s infinite}
.opening-pop-bubble:after{content:"";position:absolute;bottom:-12px;left:34px;width:24px;height:25px;background:#ffde8d;clip-path:polygon(0 0,100% 0,10% 100%);transform:rotate(8deg)}
.opening-pop-date{font-size:13px;font-weight:800;letter-spacing:.06em;line-height:1.5}
.opening-pop strong{font-family:Arial,Helvetica,sans-serif;font-size:34px;line-height:1.04;font-weight:800;letter-spacing:-.03em;text-align:center;margin-top:5px}
.opening-pop-line{width:56px;height:3px;background:#c94924;border-radius:50%;margin-top:9px;transform:rotate(-4deg)}
.opening-pop-spark{position:absolute;left:13px;top:54px;color:#c94924;font-size:20px}
.opening-pop-close{position:absolute;right:0;top:0;width:30px;height:30px;display:grid;place-items:center;border:1px solid #e6c7a5;background:#fffdf8;color:#895338;border-radius:50%;font:20px/1 Arial,sans-serif;cursor:pointer}
.opening-pop-close:focus-visible{outline:3px solid #185e79;outline-offset:3px}
.opening-pop:hover .opening-pop-bubble,.opening-pop:focus-within .opening-pop-bubble{animation-play-state:paused}
@keyframes opening-arrive{from{opacity:0;scale:.8;translate:0 14px}to{opacity:1;scale:1;translate:0 0}}
@keyframes opening-float{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-10px) rotate(4deg)}}
@media(max-width:768px){.opening-pop{right:8px;top:-104px;width:126px}.opening-pop-bubble{min-height:126px;padding:18px 12px 16px;border-width:3px}.opening-pop-date{font-size:10px}.opening-pop strong{font-size:25px;margin-top:3px}.opening-pop-line{width:42px;margin-top:6px;height:2px}.opening-pop-spark{font-size:14px;left:10px;top:40px}.opening-pop-close{width:27px;height:27px;font-size:18px}.opening-pop-bubble:after{left:25px;bottom:-10px;width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.opening-pop,.opening-pop-bubble{animation:none}}

/* Photo-led reviews with enough room for each visitor's story. */
.review-story{width:410px;flex-basis:410px;min-height:0;padding:0;overflow:hidden;border-radius:18px}.review-photo{position:relative;margin:0;height:232px;overflow:hidden;background:#e8dfd5}.review-photo img{width:100%;height:100%;object-fit:cover}.review-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);padding:28px 18px 10px;color:#fff;font-size:10px;line-height:1.5}.review-story-body{padding:25px 27px 27px;display:flex;flex-direction:column;flex:1}.review-story h3{font-size:18px;line-height:1.65;margin-top:22px}.review-story blockquote{font-size:14px;line-height:1.9;margin:16px 0 20px;color:#9c4224;font-weight:600;padding-left:12px;border-left:2px solid #c96a46}.review-summary-label{font-size:10px;letter-spacing:.04em;color:#8b7969;margin-bottom:8px}.review-summary{font-size:13px;line-height:1.95;color:#5a5148;margin-bottom:24px}.review-summary p+p{margin-top:12px}.review-story .review-source{margin-top:auto;font-size:11px}.reviews-track{align-items:stretch}.review-story:focus-within{outline:2px solid #c94924;outline-offset:-2px}
@media(max-width:560px){.review-story{width:320px;flex-basis:320px}.review-photo{height:212px}.review-story-body{padding:22px 22px 25px}.review-story h3{font-size:17px;margin-top:20px}.review-story blockquote{font-size:13px}.review-summary{font-size:12px;line-height:1.95}.review-story .review-source{font-size:10px}.review-photo figcaption{font-size:9px}.reviews-footnote{font-size:10px}}

@media(max-width:359px){.opening-pop{width:110px;right:4px;top:-96px}.opening-pop-bubble{min-height:110px;padding:14px 10px}.opening-pop strong{font-size:22px}.opening-pop-date{font-size:9px}}

/* Weekday and weekend booking hours. */
.experience-notice p+p{margin-top:5px}
.experience-notice a{display:inline-block;margin-top:8px;color:var(--orange);text-decoration:underline;text-underline-offset:4px}
.opening-hours-day{display:inline-block;font-weight:600;margin-right:10px}
.reservation-schedule{grid-column:1/-1;width:100%;scroll-margin-top:100px}
.schedule-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:20px}
.schedule-heading h3{font-family:var(--serif);font-size:1.5rem;font-weight:600}
.schedule-heading p{font-size:.875rem;line-height:1.8;color:#67574b}
.schedule-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.schedule-day{padding:25px;background:#fff8ee;border:1px solid #e6d9c9;border-radius:12px}
.schedule-day h4{font-size:1rem;font-weight:600;line-height:1.7;margin:0 0 18px;color:#6b3d29}
.schedule-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.schedule-slot{padding:9px 3px;background:#fffdf8;border:1px solid #e9e0d5;border-radius:5px;text-align:center;white-space:nowrap;font-size:.875rem;font-variant-numeric:tabular-nums;line-height:1.5}
.schedule-rest{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0;padding:12px;background:#f1e3d2;border-radius:6px;color:#704b33;font-size:.8125rem;line-height:1.6}
.schedule-rest strong{white-space:nowrap;font-size:.9375rem;font-variant-numeric:tabular-nums}
.schedule-notice{margin-top:20px;font-size:.875rem;line-height:1.9;color:#67574b}
.schedule-notice strong{font-weight:600}
@media(max-width:1000px){.schedule-day{padding:20px}.schedule-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-heading{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:768px){.schedule-days{grid-template-columns:1fr;gap:16px}.reservation-schedule{margin-top:6px}.schedule-heading{margin-bottom:16px}.schedule-heading h3{font-size:1.35rem}.schedule-heading p{font-size:.8125rem}.schedule-day{padding:20px}.schedule-slot{font-size:.875rem;padding:9px 5px}.schedule-rest{flex-wrap:wrap;font-size:.8125rem}.schedule-notice{font-size:.8125rem;line-height:1.9}.opening-hours-day{margin-right:8px}}

/* Stay duration is limited only when busy. */
.schedule-stay-note{margin:-4px 0 22px;padding-left:14px;border-left:2px solid #c96a46;font-size:.875rem;line-height:1.9;color:#67574b}
.schedule-stay-note strong{font-weight:600}
@media(max-width:768px){.schedule-stay-note{font-size:.8125rem;padding-left:12px;margin-bottom:20px}}
