.hero-rating-badge{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:24px;padding:4px 0;border:0;border-radius:0;background:transparent;color:#fff;box-shadow:none;font:400 13px/1.5 var(--sans);cursor:pointer}.hero-rating-badge>strong{font-size:20px;font-weight:600;line-height:1.2}.hero-rating-badge small{font-size:11px;font-weight:400;margin-left:2px}.rating-review-count{text-decoration:underline;text-underline-offset:3px}.hero-rating-badge:hover .rating-review-count{text-decoration-thickness:2px}.hero-rating-badge:focus-visible{outline:2px solid currentColor;outline-offset:6px}.rating-stars{position:relative;display:inline-block;width:90px;height:18px;flex:0 0 90px;text-align:left}.rating-stars-base,.rating-stars-fill{display:block;position:absolute;inset:0;overflow:hidden}.rating-stars-base{color:#ffffff50}.rating-stars-fill{color:#ffd76a}.rating-stars svg{display:block;width:90px;height:18px;max-width:none}.guest-reviews{padding:90px 0;background:var(--peach);overflow:hidden}.review-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}.review-heading>div:last-child{max-width:330px}.review-heading p{font-size:16px}.review-selection{font-size:12px;color:var(--muted);margin-bottom:22px}.review-platform-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-platform-links>a{display:flex;gap:15px;align-items:center;padding:22px;background:#fff;border:1px solid #143b591a;border-radius:16px;font-size:12px}.review-platform-links>a>span:last-child{margin-left:auto}.platform-icon{display:inline-flex;flex:0 0 40px;width:40px;height:40px;align-items:center;justify-content:center;border-radius:12px;font:700 18px/1 Arial,sans-serif;background:#eaf0f5;color:#143b59}.platform-google{background:#f0f4ff;color:#345dc3}.platform-booking{background:#003b95;color:#fff}.platform-tripadvisor{background:#d8f4e4;color:#164a33}.reviews-window{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:0 32px 18px;touch-action:pan-x pan-y;position:relative}.reviews-track{display:flex;gap:22px;width:max-content}.guest-review-card{flex:0 0 350px;width:350px;max-width:calc(100vw - 48px);border:1px solid #143b591a;border-radius:18px;background:#fff;padding:26px;color:var(--teal)}.review-card-top{display:flex;align-items:center;gap:12px;font-size:13px}.review-card-top>strong{margin-left:auto;font-size:20px}.review-card-top small{font-size:12px;font-weight:400}.review-exact-link{display:block}.guest-review-card blockquote{margin:24px 0;font-size:16px;line-height:1.8;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;min-height:144px}.review-author{display:grid;grid-template-columns:1fr auto;font-size:13px;gap:4px}.review-author time{grid-column:1;color:var(--muted);font-size:11px}.review-author>span{grid-column:2;grid-row:1/3;align-self:center}#ratings-dialog{width:min(680px,calc(100% - 48px));max-height:85dvh;overflow:auto;border:0;border-radius:24px;background:var(--ivory);padding:36px;color:var(--teal)}#ratings-dialog::backdrop{background:#051b28a8;backdrop-filter:blur(5px)}#ratings-dialog h2{font-size:48px;letter-spacing:-1px}#ratings-dialog>.eyebrow{margin-bottom:15px}.ratings-total{display:flex;align-items:center;gap:22px;margin-top:24px}.ratings-total>strong{font:600 44px/1 var(--sans)}.ratings-total small{font-size:18px;font-weight:400}.ratings-total>span{font-size:12px}.ratings-platforms{margin:24px 0}.ratings-platforms>.rating-platform-row{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid #143b5920}.rating-platform-name{flex:1;font-size:14px}.rating-platform-name small{display:block;font-size:11px;color:var(--muted)}.ratings-platforms>.rating-platform-row>strong{font-size:20px}.ratings-platforms>.rating-platform-row>strong small{font-size:12px;font-weight:400}.ratings-explanation{font-size:11px;color:var(--muted);line-height:1.7}#ratings-dialog>.button{width:auto;align-self:flex-start;font-size:14px}@media(max-width:760px){.hero-rating-badge{margin-top:20px;gap:8px}.guest-reviews{padding:64px 0}.review-heading{display:block}.review-heading>div:last-child{margin-top:24px}.review-platform-links{grid-template-columns:1fr}.reviews-window{padding-inline:24px}#ratings-dialog{padding:28px 24px}}

.review-avatar{position:relative;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;overflow:hidden;background:#e9eeec;color:var(--teal);font-size:20px}.review-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.review-guest{display:flex;flex-direction:column;gap:4px;min-width:0}.review-guest strong{font-size:15px;overflow-wrap:anywhere}.review-guest small{font-size:12px;color:var(--muted)}.review-score{white-space:nowrap}.guest-review-card{flex-basis:390px;width:390px;border-radius:24px;padding:26px}.guest-review-card blockquote{margin:22px 0;font-size:16px;line-height:1.7}.review-author time{grid-row:1}.review-author>span{grid-row:1}.review-exact-link:focus-visible{outline:2px solid var(--teal);outline-offset:8px;border-radius:8px}

.review-rating-star{display:inline-block;width:18px;height:18px;flex:0 0 18px;color:#eebc42;vertical-align:-2px;margin-right:5px}.rating-stars-empty{display:inline-flex;gap:1px;color:#ffd76a}.rating-stars-empty .review-rating-star{width:16px;height:16px;margin:0;color:inherit}.rating-pending-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.review-score{display:inline-flex;align-items:center;gap:2px}.ratings-platforms>.rating-platform-row>strong{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}

.reviews-window::-webkit-scrollbar{display:none;width:0;height:0}

.review-translation{font-size:11px;color:var(--muted);margin:-10px 0 16px}

#ratings-title{white-space:nowrap}
.ratings-total>span{white-space:nowrap}
@media(max-width:760px){
 #ratings-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0;padding:calc(56px + env(safe-area-inset-top)) 24px calc(28px + env(safe-area-inset-bottom));overscroll-behavior:contain}
 #ratings-dialog h2{font-size:clamp(28px,7.5vw,46px);letter-spacing:-1px}
 #ratings-dialog[id] .close-dialog{top:calc(12px + env(safe-area-inset-top));right:12px}
 .ratings-total{align-items:flex-start;flex-direction:column;gap:12px}
 .ratings-total>span{font-size:clamp(10px,2.9vw,12px)}
}

.guest-review-card{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;transform-origin:center}
.reviews-window{padding-top:10px;padding-bottom:24px}
@media(hover:hover){
 .guest-review-card:hover{transform:translateY(-4px) scale(1.015);background:#f5f5f5;box-shadow:0 10px 24px #143b591a;position:relative;z-index:1}
}
.guest-review-card:focus-within{background:#f5f5f5;box-shadow:0 10px 24px #143b591a}
@media(prefers-reduced-motion:reduce){
 .guest-review-card{transition:none}
 .guest-review-card:hover{transform:none}
}

.reviews-track{margin-inline:auto}

/* A soft entrance, with the summary leading into the platform details. */
@keyframes ratings-dialog-enter{
 from{opacity:0;transform:translateY(18px) scale(.98)}
 to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes ratings-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes ratings-detail-enter{
 from{opacity:0;transform:translateY(10px)}
 to{opacity:1;transform:translateY(0)}
}
#ratings-dialog[open]{animation:ratings-dialog-enter .32s cubic-bezier(.22,1,.36,1) both}
#ratings-dialog[open]::backdrop{animation:ratings-backdrop-enter .28s ease-out both}
#ratings-dialog[open]>.eyebrow,
#ratings-dialog[open]>h2,
#ratings-dialog[open]>.ratings-total,
#ratings-dialog[open]>.button,
#ratings-dialog[open] .ratings-platforms>.rating-platform-row{
 animation:ratings-detail-enter .3s cubic-bezier(.22,1,.36,1) both;
 animation-delay:.1s;
}
#ratings-dialog[open]>h2{animation-delay:.14s}
#ratings-dialog[open]>.ratings-total{animation-delay:.18s}
#ratings-dialog[open] .ratings-platforms>.rating-platform-row{animation-delay:.22s}
#ratings-dialog[open] .ratings-platforms>.rating-platform-row:nth-child(2){animation-delay:.26s}
#ratings-dialog[open] .ratings-platforms>.rating-platform-row:nth-child(3){animation-delay:.30s}
#ratings-dialog[open] .ratings-platforms>.rating-platform-row:nth-child(4){animation-delay:.34s}
#ratings-dialog[open] .ratings-platforms>.rating-platform-row:nth-child(5){animation-delay:.38s}
#ratings-dialog[open] .ratings-platforms>.rating-platform-row:nth-child(6){animation-delay:.42s}
#ratings-dialog[open] .ratings-platforms>.rating-platform-row:nth-child(n+7){animation-delay:.46s}
#ratings-dialog[open]>.button{animation-delay:.48s}
@media(prefers-reduced-motion:reduce){
 #ratings-dialog[open],#ratings-dialog[open]::backdrop,
 #ratings-dialog[open]>.eyebrow,#ratings-dialog[open]>h2,
 #ratings-dialog[open]>.ratings-total,#ratings-dialog[open]>.button,
 #ratings-dialog[open] .ratings-platforms>.rating-platform-row{animation:none}
}

#ratings-dialog .ratings-platforms>.rating-platform-row{padding-inline:12px;border-radius:10px;transition:background-color .18s ease}
@media(hover:hover){#ratings-dialog .ratings-platforms>.rating-platform-row:hover{background:#143b590a}}
#ratings-dialog .ratings-platforms>.rating-platform-row:focus-visible{background:#143b590a;outline:2px solid var(--teal);outline-offset:2px}
#ratings-dialog>.button{display:flex;width:fit-content;max-width:100%;margin-inline:auto}
@media(prefers-reduced-motion:reduce){#ratings-dialog .ratings-platforms>.rating-platform-row{transition:none}}

/* Keep the enquiry entrance in step with the guest ratings dialog. */
#enquiry-dialog[open]{animation:ratings-dialog-enter .32s cubic-bezier(.22,1,.36,1) both}
#enquiry-dialog[open]::backdrop{animation:ratings-backdrop-enter .28s ease-out both}
#enquiry-dialog[open] .dialog-header h2,
#enquiry-dialog[open] .dialog-body>.eyebrow,
#enquiry-dialog[open] .dialog-intro,
#enquiry-dialog[open] .notice,
#enquiry-dialog[open] #enquiry-form>fieldset,
#enquiry-dialog[open] #enquiry-form>label,
#enquiry-dialog[open] #enquiry-form>.button{
 animation:ratings-detail-enter .3s cubic-bezier(.22,1,.36,1) both;
 animation-delay:.1s;
}
#enquiry-dialog[open] .dialog-body>.eyebrow{animation-delay:.14s}
#enquiry-dialog[open] .dialog-intro{animation-delay:.18s}
#enquiry-dialog[open] .notice{animation-delay:.22s}
#enquiry-dialog[open] #enquiry-form>.date-range-field{animation-delay:.26s}
#enquiry-dialog[open] #enquiry-form>.guest-counts{animation-delay:.30s}
#enquiry-dialog[open] #enquiry-form>label{animation-delay:.34s}
#enquiry-dialog[open] #enquiry-form>label+label{animation-delay:.38s}
#enquiry-dialog[open] #enquiry-form>.button{animation-delay:.48s}
@media(prefers-reduced-motion:reduce){
 #enquiry-dialog[open],#enquiry-dialog[open]::backdrop,
 #enquiry-dialog[open] .dialog-header h2,
 #enquiry-dialog[open] .dialog-body>.eyebrow,
 #enquiry-dialog[open] .dialog-intro,#enquiry-dialog[open] .notice,
 #enquiry-dialog[open] #enquiry-form>fieldset,
 #enquiry-dialog[open] #enquiry-form>label,
 #enquiry-dialog[open] #enquiry-form>.button{animation:none}
}

/* Use the fullscreen menu's 48px circle and 24px crossed strokes everywhere. */
dialog[id] .close-dialog{
 display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;
 width:48px;height:48px;min-width:48px;min-height:48px;padding:12px;
 border:1px solid #143b5933;border-radius:50%;
 background:transparent;color:var(--teal);font-size:0;line-height:1;
 cursor:pointer;
}
dialog[id] .close-dialog::before,dialog[id] .close-dialog::after{
 content:'';position:absolute;left:50%;top:50%;display:block;width:24px;height:2px;background:currentColor;
 transform:translate(-50%,-50%) rotate(45deg);
}
dialog[id] .close-dialog::after{transform:translate(-50%,-50%) rotate(-45deg)}
dialog[id] .dialog-header .close-dialog{position:relative;top:auto;right:auto}
dialog[id] .close-dialog:focus-visible{outline:2px solid var(--teal);outline-offset:3px}

.hero-rating-badge{animation:ratings-detail-enter .65s cubic-bezier(.22,1,.36,1) .55s backwards}
.guest-review-card{cursor:default}
.guest-review-card[data-expandable="true"]{cursor:pointer}
.guest-review-card:not([data-expandable="true"]):hover{transform:none;background:#fff;box-shadow:none}
.review-read-more[hidden]{display:none}
.review-read-more{font-size:12px}
.guest-review-card[data-expandable="true"]:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
#review-detail-dialog{width:min(680px,calc(100% - 48px));border-radius:24px}
#review-detail-dialog .review-detail-author{font-size:15px;color:var(--teal);font-weight:600}
.review-detail-comment{margin:20px 0 0;font-size:17px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
#review-detail-dialog[open]{animation:ratings-dialog-enter .32s cubic-bezier(.22,1,.36,1) both}
#review-detail-dialog[open]::backdrop{animation:ratings-backdrop-enter .28s ease-out both}
#review-detail-dialog[open] .dialog-body{animation:ratings-detail-enter .3s cubic-bezier(.22,1,.36,1) .14s backwards}
@media(max-width:760px){#review-detail-dialog{width:100%;height:100dvh;max-height:100dvh;border-radius:0}}
@media(prefers-reduced-motion:reduce){.hero-rating-badge,#review-detail-dialog[open],#review-detail-dialog[open]::backdrop,#review-detail-dialog[open] .dialog-body{animation:none}}
#excursion-dialog{width:min(900px,calc(100vw - 48px))}
#excursion-dialog .dialog-body{padding:24px 28px}
#excursion-dialog .dialog-body>.eyebrow{margin:0 0 8px}
#excursion-dialog .dialog-intro{font-size:15px;line-height:1.6;margin:0 0 24px;color:var(--muted)}
#excursion-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 24px}
#excursion-form label{min-width:0}
#excursion-form input,#excursion-form select,#excursion-form textarea{box-sizing:border-box;min-width:0;width:100%;font-size:16px;border-radius:12px}
#excursion-form .excursion-notes,#excursion-form-error,#excursion-form>.button{grid-column:1/-1}
#excursion-form-error{color:#b3261e;font-size:14px;margin:0}
#excursion-form-error:empty{display:none}
#excursion-form>.button{justify-self:center;margin:0;width:fit-content}
.excursion-field-help{font-size:12px;color:var(--muted);line-height:1.5;margin-top:5px}
#excursion-dialog[open]{animation:ratings-dialog-enter .32s cubic-bezier(.22,1,.36,1) both}
#excursion-dialog[open]::backdrop{animation:ratings-backdrop-enter .28s ease-out both}
#excursion-dialog[open] .dialog-header h2,#excursion-dialog[open] .eyebrow,#excursion-dialog[open] #excursion-form>label,#excursion-dialog[open] #excursion-form>.button{animation:ratings-detail-enter .3s cubic-bezier(.22,1,.36,1) both;animation-delay:.14s}
#excursion-dialog[open] #excursion-form>label{animation-delay:.22s}
#excursion-dialog[open] #excursion-form>label:nth-child(n+3){animation-delay:.28s}
#excursion-dialog[open] #excursion-form>.button{animation-delay:.36s}
@media(max-width:760px){#excursion-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;border-radius:0}#excursion-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 16px}#excursion-form>label:nth-child(-n+2){grid-column:1/-1}#excursion-dialog .dialog-body{padding:24px}}
@media(prefers-reduced-motion:reduce){#excursion-dialog[open],#excursion-dialog[open]::backdrop,#excursion-dialog[open] .dialog-header h2,#excursion-dialog[open] .eyebrow,#excursion-dialog[open] #excursion-form>label,#excursion-dialog[open] #excursion-form>.button{animation:none}}



#excursion-form>label>input,#excursion-form>label>select,#excursion-form>label>textarea{display:block;margin-top:5px}
#excursion-form>label>select,#excursion-form input[type="date"]{height:52px;min-height:52px;padding:11px 14px;font-size:16px;box-sizing:border-box}
