/* Domaine de Lartel guest reviews — original site typography and palette preserved. */
.guest-reviews{background:#eeece3}
.guest-reviews-heading{max-width:760px;margin:0 auto 38px;text-align:center}
.guest-reviews-heading>p:last-child{color:var(--muted);max-width:620px;margin:20px auto 0}
.guest-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1200px;margin:0 auto}
.guest-review-card{padding:25px 27px;background:#faf9f5;border-top:1px solid rgba(75,86,62,.28);min-width:0}
.guest-review-stars{color:#a58b58;letter-spacing:.12em;margin-bottom:14px}
.guest-review-text{color:#626558;line-height:1.85;margin:0;white-space:pre-line}
.guest-review-name{margin:18px 0 0;color:var(--olive);letter-spacing:.04em}
.guest-reviews-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:24px}

.review-page{min-height:100vh;padding:clamp(24px,5vw,68px) 18px;background:linear-gradient(135deg,#f6f3ec 0%,#eeece3 100%);display:flex;align-items:center;justify-content:center}
.review-shell{position:relative;isolation:isolate;overflow:hidden;width:min(100%,760px);margin:auto;padding:clamp(30px,6vw,76px);background:var(--white);border:1px solid rgba(75,86,62,.17);box-shadow:0 24px 80px rgba(41,44,35,.09)}
.review-shell:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--olive),var(--sand),var(--olive))}
.review-shell:after{content:"✳";position:absolute;z-index:-1;right:clamp(22px,5vw,62px);top:clamp(76px,10vw,112px);font:400 clamp(76px,12vw,132px)/1 var(--serif);color:rgba(194,167,122,.11);pointer-events:none}
.review-wordmark{display:inline-flex;align-items:center;gap:10px;margin-bottom:clamp(38px,6vw,62px);color:var(--olive);font-size:10px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--sand);padding-bottom:7px}
.review-wordmark:before{content:"←";font-size:15px;transition:transform .2s}
.review-wordmark:hover:before{transform:translateX(-4px)}
.review-shell>.eyebrow{margin-bottom:15px;letter-spacing:.24em}
.review-title{position:relative;max-width:590px;font-family:var(--serif);font-size:clamp(42px,7vw,76px);font-weight:400;letter-spacing:-.045em;line-height:1.02;margin:0 0 22px;color:var(--ink)}
.review-intro{position:relative;max-width:535px;color:var(--muted);font-size:14px;line-height:1.9;margin:0}
.review-invite-name{position:relative;margin:24px 0 0;padding:13px 16px;background:#f3f1e9;border-left:2px solid var(--sand);color:var(--muted);font-size:12px;letter-spacing:.02em}
.review-invite-name strong{color:var(--ink);font-weight:600}
.review-form{position:relative;margin-top:38px;padding-top:30px;border-top:1px solid var(--line)}
.review-rating{border:0;padding:0;margin:0 0 30px}
.review-rating legend,.review-text-label{display:block;color:var(--ink);font-family:var(--serif);font-size:22px;font-weight:400;margin-bottom:13px}
.review-stars{display:flex;align-items:center;gap:7px;min-height:48px}
.review-star{appearance:none;border:0;background:transparent;padding:0 2px;color:#d7d2c5;font-size:37px;line-height:1;cursor:pointer;transition:color .16s ease,transform .16s ease,filter .16s ease}
.review-star:hover{transform:translateY(-3px) scale(1.08)}
.review-star.is-lit{color:#b2955f;text-shadow:0 2px 9px rgba(178,149,95,.16)}
.review-star:focus-visible{outline:1px solid var(--olive);outline-offset:5px;border-radius:2px}
.review-rating-caption{min-height:22px;margin:10px 0 0;color:var(--muted);font-size:11px;letter-spacing:.025em}
.review-text-label{margin-bottom:13px}
.review-form textarea{display:block;width:100%;min-height:190px;padding:18px 19px;border:1px solid #dedbd0;border-radius:0;background:#fbfaf6;color:var(--ink);font:400 13px/1.9 var(--sans);resize:vertical;transition:border-color .2s,box-shadow .2s}
.review-form textarea::placeholder{color:#a1a194;font-style:italic}
.review-form textarea:focus{outline:0;border-color:var(--olive);box-shadow:0 0 0 3px rgba(75,86,62,.08)}
.review-hint{color:var(--muted);font-size:10px;letter-spacing:.025em;margin:10px 0 25px}
.review-submit{min-width:220px;justify-content:space-between;gap:34px;padding:16px 20px;background:var(--olive);color:var(--white);border:1px solid var(--olive);font-size:10px;letter-spacing:.11em;text-transform:uppercase;transition:background .2s,border-color .2s,transform .2s}
.review-submit span{font-size:17px;transition:transform .2s}
.review-submit:hover{background:var(--olive-dark);border-color:var(--olive-dark);transform:translateY(-2px)}
.review-submit:hover span{transform:translate(2px,-2px)}
.review-feedback{position:relative;margin:28px 0 0;padding:18px 20px;background:#eef0e8;border-left:3px solid var(--olive);color:var(--ink);font-size:13px;line-height:1.85}
@media(max-width:760px){.guest-reviews-grid{grid-template-columns:1fr 1fr;gap:12px}.guest-review-card{padding:20px}.review-page{padding:24px 14px}.review-shell{padding:34px 27px}.review-shell:after{top:90px;right:20px}.review-wordmark{margin-bottom:40px}}
@media(max-width:520px){.guest-reviews-grid{grid-template-columns:1fr}.guest-review-card{padding:19px}.review-shell{padding:30px 22px}.review-title{font-size:43px}.review-form{margin-top:30px;padding-top:25px}.review-star{font-size:34px}.review-submit{width:100%}}
@media(prefers-reduced-motion:reduce){.review-star,.review-wordmark:before,.review-submit,.review-submit span{transition:none}}


/* Guest experiences: full-screen editorial overlay, following the Region guide. */
.experiences-dialog{background:#f6f3ec}
.experiences-dialog-scroll{background:#f6f3ec}
.experiences-dialog-hero{height:min(420px,46vh);min-height:330px;position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.experiences-dialog-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,30,23,.72),rgba(25,30,23,.18)),linear-gradient(0deg,rgba(25,30,23,.55),transparent 72%)}
.experiences-dialog-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.experiences-dialog-hero>div{position:relative;z-index:1;max-width:900px;padding:clamp(30px,6vw,78px)}
.experiences-dialog-hero h2{font:500 clamp(38px,5vw,66px)/1.1 'Playfair Display',Georgia,serif;margin:14px 0 15px;color:#fff}
.experiences-dialog-hero h2 em{font-weight:400;color:#e0dfc9}
.experiences-dialog-hero>div>p:last-child{max-width:650px;color:rgba(255,255,255,.9);font-size:13px;line-height:1.8;margin:0}
.experiences-dialog-content{max-width:1240px;margin:0 auto;padding:clamp(35px,5vw,70px) clamp(18px,5vw,65px)}
.experience-language-section{padding:0 0 clamp(38px,5vw,65px);margin:0 0 clamp(38px,5vw,65px);border-bottom:1px solid rgba(75,86,62,.16)}
.experience-language-section:last-child{margin-bottom:0;border-bottom:0}
.experience-language-heading{display:flex;align-items:center;gap:18px;margin-bottom:25px}
.experience-language-heading>span{font:400 29px/1 'Playfair Display',Georgia,serif;color:#b6a57d}
.experience-language-heading .eyebrow{margin:0 0 7px;font-size:9px;letter-spacing:.18em}
.experience-language-heading h3{font:400 clamp(25px,3vw,36px)/1.15 'Playfair Display',Georgia,serif;color:#34372d;margin:0}
.experiences-dialog .guest-reviews-grid{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.experiences-dialog .guest-review-card{background:#fffdfa;border:1px solid rgba(75,86,62,.12);border-top:2px solid #c5b58e;padding:25px 27px;box-shadow:0 8px 25px rgba(41,44,35,.035)}
.experiences-dialog .guest-review-text{font-size:13px;line-height:1.85}
.experiences-dialog .guest-review-name{font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.experiences-dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px clamp(18px,5vw,65px);border-top:1px solid rgba(75,86,62,.14);background:#efede5}
.experiences-dialog-footer p{margin:0;color:#858675;font-size:9px;letter-spacing:.14em}
.experiences-dialog-footer .underlined-link{border:0;background:none;cursor:pointer}
@media(max-width:850px){.experiences-dialog-hero{min-height:360px}.experiences-dialog .guest-reviews-grid{grid-template-columns:1fr 1fr}.experience-language-section{padding-bottom:35px;margin-bottom:35px}}
@media(max-width:560px){.experiences-dialog-hero{min-height:390px}.experiences-dialog-hero>div{padding:25px 22px}.experiences-dialog-hero h2{font-size:39px}.experiences-dialog .guest-reviews-grid{grid-template-columns:1fr}.experiences-dialog .guest-review-card{padding:20px}.experiences-dialog-footer{align-items:flex-start;flex-direction:column}}
