/* Review pages only: no choice is applied to the public home page. */
.hero-review{padding-top:22px;padding-bottom:23px}
.hero-review-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.hero-review-label{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.hero-review-choices{display:flex;gap:28px;align-items:center}
.hero-review-choices>a{display:block;padding:8px 0 9px;border-bottom:2px solid transparent;border-radius:0;font-size:.875rem;line-height:1.3;color:var(--muted);transition:color .2s,border-color .2s}
.hero-review-choices>a:hover,.hero-review-choices>a[aria-current]{border-color:var(--ink);color:var(--ink)}
.hero-review-choices>a[aria-current]{font-weight:500}
.hero-review-description{margin-top:8px;color:var(--muted);font-size:.8125rem;line-height:1.5}
.hero-review-top{flex-wrap:wrap;justify-content:flex-start;column-gap:40px;row-gap:8px}
.hero-review-previous{margin-left:auto;border:0;position:relative;z-index:4}
.hero-review-previous>summary{font-size:.75rem;color:var(--muted);padding:10px 0;gap:10px}
.hero-review-previous>summary>span{transition:transform .2s}
.hero-review-previous[open]>summary>span{transform:rotate(180deg)}
.hero-review-previous>.hero-review-choices{position:absolute;right:0;top:100%;padding:14px 22px;gap:24px;min-width:300px;background:white;border:1px solid var(--line);box-shadow:0 10px 24px #31394012}

.hero-proposal{padding-top:0}
.hero-proposal .proposal-scene{position:relative;min-width:0}
.hero-proposal .proposal-main-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 57%}
.hero-proposal .proposal-main-photo>img{width:100%;height:100%;object-fit:inherit;object-position:inherit}
.hero-proposal .proposal-card-position{position:relative;z-index:1}
.hero-proposal .welcome-card{margin:0;aspect-ratio:85/50;min-height:0;width:100%;transform:none}
.hero-proposal .welcome-card h1{margin:0;max-width:none;font-family:var(--serif);font-weight:400;font-size:clamp(2.5rem,4vw,3.8rem);letter-spacing:0;line-height:1.16;text-align:center}
.hero-proposal .welcome-card h1>span{display:block;white-space:nowrap}
.hero-proposal .hero-booking{position:relative;margin-top:32px;padding-inline:0;z-index:3}
.hero-proposal .hero-booking>p{margin-top:14px}

/* 1. The photograph fills the scene; a crisp welcome card sits on the lawn. */
.hero-proposal[data-variant="immersion"] .proposal-scene{height:clamp(500px,45vw,650px);isolation:isolate}
.hero-proposal[data-variant="immersion"] .proposal-main-photo{position:absolute;inset:0}
.hero-proposal[data-variant="immersion"] .proposal-card-position{position:absolute;left:40px;bottom:40px;width:min(43%,470px)}
.hero-proposal[data-variant="immersion"] .welcome-card{filter:drop-shadow(0 8px 20px #18201720)}

/* 2. Two balanced editorial columns, with a second detail from the property. */
.hero-proposal[data-variant="diptyque"] .proposal-scene{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);align-items:stretch;gap:48px}
.hero-proposal[data-variant="diptyque"] .proposal-editorial{display:flex;flex-direction:column;justify-content:center;gap:22px;padding-block:16px;min-width:0}
.hero-proposal[data-variant="diptyque"] .proposal-main-photo{height:clamp(490px,42vw,620px);min-height:0;object-position:54% 50%}
.hero-proposal[data-variant="diptyque"] .welcome-card h1{font-size:clamp(2.1rem,3.65vw,3.7rem)}
.hero-proposal[data-variant="diptyque"] .proposal-editorial-link{text-align:center}
.hero-proposal[data-variant="diptyque"] .proposal-editorial-link .text-link{font-size:.8125rem;padding-block:4px;gap:16px}
.hero-proposal[data-variant="diptyque"] .proposal-detail{width:74%;height:154px;align-self:center;object-position:center 80%}

/* 3. A horizontal garden view with a centered card crossing the lower edge. */
.hero-proposal[data-variant="panorama"] .proposal-scene{display:grid;grid-template-columns:1fr;grid-template-rows:clamp(290px,30vw,410px) auto}
.hero-proposal[data-variant="panorama"] .proposal-main-photo{grid-column:1;grid-row:1/3;height:clamp(410px,38vw,530px);object-position:50% 60%}
.hero-proposal[data-variant="panorama"] .proposal-card-position{grid-column:1;grid-row:2;justify-self:center;width:min(48%,500px)}
.hero-proposal[data-variant="panorama"] .welcome-card h1{font-size:clamp(2.5rem,4.1vw,3.8rem)}
.hero-proposal[data-variant="panorama"] .hero-booking{margin-top:30px}

@media(max-width:1100px){
  .hero-proposal[data-variant="immersion"] .proposal-card-position{left:28px;bottom:28px;width:47%}
  .hero-proposal[data-variant="immersion"] .welcome-card h1{font-size:clamp(2rem,4.2vw,3rem)}
  .hero-proposal[data-variant="diptyque"] .proposal-scene{gap:28px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .hero-proposal[data-variant="diptyque"] .proposal-main-photo{min-height:500px}
  .hero-proposal[data-variant="diptyque"] .proposal-detail{width:82%;height:140px}
  .hero-proposal[data-variant="panorama"] .proposal-card-position{width:52%}
}

@media(max-width:760px){
  .hero-review{padding-top:16px;padding-bottom:20px}
  .hero-review-top{display:block}
  .hero-review-label{display:block;font-size:.75rem;letter-spacing:.11em;margin-bottom:6px}
  .hero-review-choices{justify-content:space-between;gap:18px}
  .hero-review-choices>a{font-size:.8125rem;padding-block:8px}
  .hero-review-description{font-size:.75rem;margin-top:12px;max-width:420px}
  .hero-review-previous{margin:3px 0 0}
  .hero-review-previous>summary{justify-content:flex-start;padding:4px 0}
  .hero-review-previous>.hero-review-choices{position:static;min-width:0;margin-top:6px;padding:4px 0;border:0;border-top:1px solid var(--line);box-shadow:none}
  .hero-proposal .hero-booking{margin-top:24px}
  .hero-proposal .welcome-card{--card-rule:6px}
  .hero-proposal[data-variant="immersion"] .proposal-scene{height:510px}
  .hero-proposal[data-variant="immersion"] .proposal-main-photo{object-position:59% center}
  .hero-proposal[data-variant="immersion"] .proposal-card-position{left:20px;bottom:20px;width:min(80%,360px)}
  .hero-proposal[data-variant="immersion"] .welcome-card h1{font-size:clamp(1.75rem,6.7vw,2.6rem)}
  .hero-proposal[data-variant="diptyque"] .proposal-scene{grid-template-columns:minmax(0,1fr);gap:26px}
  .hero-proposal[data-variant="diptyque"] .proposal-editorial{padding-block:0;gap:19px}
  .hero-proposal[data-variant="diptyque"] .welcome-card{max-width:500px;align-self:center}
  .hero-proposal[data-variant="diptyque"] .welcome-card h1{font-size:clamp(2rem,8vw,3.4rem)}
  .hero-proposal[data-variant="diptyque"] .proposal-detail{display:none}
  .hero-proposal[data-variant="diptyque"] .proposal-main-photo{height:390px;min-height:0;object-position:54% 50%}
  .hero-proposal[data-variant="panorama"] .proposal-scene{grid-template-rows:300px auto}
  .hero-proposal[data-variant="panorama"] .proposal-main-photo{height:380px;object-position:54% 50%}
  .hero-proposal[data-variant="panorama"] .proposal-card-position{width:min(calc(100% - 32px),440px)}
  .hero-proposal[data-variant="panorama"] .welcome-card h1{font-size:clamp(1.85rem,7.4vw,3rem)}
  .hero-proposal[data-variant="panorama"] .hero-booking{margin-top:24px}
}

@media(max-width:390px){
  .hero-proposal[data-variant="immersion"] .proposal-scene{height:470px}
  .hero-proposal[data-variant="immersion"] .proposal-card-position{left:16px;bottom:18px;width:calc(100% - 40px)}
  .hero-proposal[data-variant="immersion"] .welcome-card h1{font-size:clamp(1.6rem,6.8vw,1.9rem)}
  .hero-proposal[data-variant="panorama"] .proposal-card-position{width:calc(100% - 24px)}
  .hero-proposal[data-variant="panorama"] .welcome-card h1{font-size:clamp(1.6rem,7.5vw,1.9rem)}
}

@media(prefers-reduced-motion:reduce){
  .hero-review-choices>a{transition:none}
}
