/* Guest reviews are ordinary, editable site content. */
.reviews-opening{max-width:950px;padding:70px 7% 42px;margin:auto;text-align:center}
.visitor-page .reviews-opening h1{font:400 clamp(43px,5.7vw,74px)/1.12 var(--display);color:#4d303d;margin:20px 0 25px;letter-spacing:-.025em}
.reviews-opening>p:not(.contact-eyebrow){font:400 18px/1.8 var(--text);color:#6a5c50;max-width:620px;margin:0 auto 28px}
.google-review-link{display:inline-block;padding:13px 25px;border:1px solid #8d6d70;border-radius:2px;font:400 16px/1.5 var(--text);color:#673747;transition:background-color .25s,color .25s}
.google-review-link:hover{background:#542536;color:#fff8ee}
.reviews-collection{max-width:1160px;padding:0 5% 70px;margin:auto}
.review-filters{display:flex;justify-content:center;gap:12px 27px;flex-wrap:wrap;border-top:1px solid #d7cabe;border-bottom:1px solid #d7cabe;padding:17px 0}
.review-filters button{background:none;border:0;color:#8a7767;padding:6px 0;font:400 15px/1.5 var(--text)}
.review-filters button[aria-pressed=true]{color:#632f40}
.review-results{min-height:22px;margin:17px 0;color:#867264;font:400 13px/1.5 var(--text);text-align:center}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 38px}
.guest-review{min-width:0;border-top:1px solid #cbb9ac;padding:25px 0 18px;align-self:start}
.guest-review[hidden]{display:none!important}
.guest-review header{display:flex;justify-content:space-between;align-items:start;gap:14px;margin:0 0 19px}
.review-author{font:500 16px/1.5 var(--text);color:#4f4038}
.review-source{font:400 12px/1.5 var(--text);color:#897566;margin-left:13px}
.review-rating{font:400 13px/1.8 Arial,sans-serif;letter-spacing:2px;white-space:nowrap;color:#713648}
.visitor-page .guest-review h2{font:400 29px/1.25 var(--display);color:#50343e;margin:0 0 18px;letter-spacing:-.01em}
.review-copy p{font:400 17px/1.85 var(--text);color:#5f5449;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.reviews-enhanced .review-copy:not(.is-expanded) p{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.review-expand{display:block;border:0;background:none;border-bottom:1px solid #c1aaa1;padding:3px 0;margin-top:15px;color:#794856;font:400 14px/1.6 var(--text)}
.review-date{display:block;margin-top:19px;font:400 12px/1.6 var(--text);color:#927e6b}
.review-reply{border-top:1px solid #e0d4c8;margin-top:17px;padding-top:12px;color:#736052;font:400 14px/1.8 var(--text)}
.review-reply>summary{cursor:pointer;list-style:none}.review-reply>summary::-webkit-details-marker{display:none}.review-reply>summary::after{content:' +';float:right}.review-reply[open]>summary::after{content:' −'}.review-reply p{margin:14px 0 0;white-space:pre-line;font-size:15px;line-height:1.8}
/* Original FAQ questions and answers, styled in the site's established type. */
.visitor-page .lh-faq{background:#f8f5ef;font-family:var(--text);color:#4f463d}
.visitor-page .lh-faq h1,.visitor-page .lh-faq h2{font-family:var(--display);font-weight:400}
.visitor-page .lh-faq .lh-num{display:none}
/* A real modal form; no external site or nested booking widget. */
.contact-form-invitation{text-align:center;padding:36px 7% 54px}.open-contact-dialog{background:none;border:0;border-bottom:1px solid #9e7a7b;color:#693647;padding:5px 0;font:400 29px/1.4 var(--display)}
.contact-form-invitation p{font:400 15px/1.8 var(--text);color:#8a7664;margin-top:17px}
#contact-dialog{box-sizing:border-box;width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 36px);margin:auto;padding:32px 38px 36px;inset:0;border:1px solid #dfd1c2;background:#f8f5ef;color:#59493d;overflow-y:auto;overscroll-behavior:contain;border-radius:2px;box-shadow:0 25px 85px #21131933}
#contact-dialog::backdrop{background:#24192070;backdrop-filter:blur(3px)}
.contact-dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:27px}
.visitor-page .contact-dialog-heading h2{font:400 42px/1.2 var(--display);margin:0;color:#583240}
.contact-dialog-close{width:40px;height:40px;padding:0;display:grid;place-items:center;border:0;background:none;color:#755e52;font:300 31px/1 Arial,sans-serif}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
#contact-form label{display:flex;flex-direction:column;gap:7px;font:400 14px/1.5 var(--text);color:#6c594c;min-width:0}
#contact-form input,#contact-form select,#contact-form textarea{box-sizing:border-box;min-width:0;width:100%;padding:11px 12px;min-height:46px;border:1px solid #d5c6b7;border-radius:2px;background:#fffdf9;color:#45382f;font:400 16px/1.5 var(--text);box-shadow:none;color-scheme:light}
#contact-form select{appearance:auto}#contact-form textarea{resize:vertical;min-height:130px}
#contact-form input:focus,#contact-form select:focus,#contact-form textarea:focus{outline:1px solid #845664;outline-offset:2px;border-color:#845664}
.contact-message{margin-top:20px}.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-privacy-note{font:400 12px/1.7 var(--text);color:#8b7666;margin:17px 0}
.contact-privacy-note a{border-bottom:1px solid #bba699;color:#79535a}
.contact-form-status{font:400 14px/1.75 var(--text);color:#6e3f4c;margin:0 0 18px;white-space:pre-line}
.contact-form-status:empty{display:none}
.contact-submit{display:block;width:100%;border:0;border-radius:2px;background:#562638;color:#fff8ef;padding:15px 25px;font:400 16px/1.5 var(--text)}
.contact-submit:disabled{opacity:.6;cursor:wait}
.contact-submit:focus-visible,.open-contact-dialog:focus-visible,.contact-dialog-close:focus-visible{outline:2px solid #865364;outline-offset:4px}
@media(max-width:760px){.reviews-opening{padding:45px 7% 30px}.visitor-page .reviews-opening h1{font-size:43px}.reviews-opening>p:not(.contact-eyebrow){font-size:17px}.reviews-collection{padding:0 7% 45px}.review-grid{grid-template-columns:1fr;gap:10px}.review-filters{gap:10px 20px}.guest-review{padding:23px 0}.visitor-page .guest-review h2{font-size:29px}.review-copy p{font-size:17px}.contact-form-invitation{padding:28px 7% 40px}#contact-dialog{max-height:calc(100dvh - 24px);width:calc(100vw - 24px);padding:23px 22px 28px}.visitor-page .contact-dialog-heading h2{font-size:35px}.contact-form-grid{grid-template-columns:1fr;gap:16px}.contact-dialog-heading{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.google-review-link{transition:none}}

.contact-form-grid>label:first-child{grid-column:1/-1}
.contact-dialog-heading{position:sticky;top:0;z-index:2;background:#f8f5ef}

.reviews-translation-note{font:400 14px/1.7 var(--text);color:#76685d;max-width:650px;margin:20px auto 0;}
.review-original,.review-original-response{font:400 14px/1.7 var(--text);color:#76685d;margin-top:16px;}
.review-original>summary,.review-original-response>summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:4px;}
.review-original>summary::-webkit-details-marker,.review-original-response>summary::-webkit-details-marker{display:none;}
.review-original p,.review-original-response p{font-size:15px;line-height:1.8;white-space:pre-line;margin-top:14px;}
[data-privacy-update="readiness"]{max-width:1000px;margin:30px auto 65px;padding:45px 5%;border-top:1px solid #d9cfc1;}
[data-privacy-update="readiness"] h2{font-size:clamp(29px,3vw,40px);margin:0 0 25px;}
[data-privacy-update="readiness"] p{font:400 17px/1.85 var(--text);margin:0 0 22px;}
