/* Native, reversible motion. Every paragraph remains readable without animation. */
.voyage-page{--voyage-paper:#f7f3eb;--voyage-wine:#6a3445}
.voyage-reading-line{position:fixed;inset:0 0 auto;height:2px;z-index:90;pointer-events:none;background:#6a3445;transform:scaleX(var(--voyage-reading,0));transform-origin:left}
.voyage-page .voyage-heading{transform-origin:left center}
.voyage-page .voyage-quote{transform-origin:center}
.voyage-page .voyage-photo-frame{position:relative;isolation:isolate;overflow:hidden;transform-origin:center}
.voyage-page .lh-band.voyage-photo-frame{width:88%;max-width:1440px;height:clamp(420px,68vh,760px);margin:55px auto 95px;padding:0}
.voyage-page[data-voyage-page="history"] .lh-band.voyage-photo-frame{max-width:1150px;height:auto;aspect-ratio:932/595}
.voyage-page .stay-opening-photo.voyage-photo-frame{aspect-ratio:var(--voyage-native-ratio,1.3333);height:auto;max-height:520px}
.voyage-page .voyage-camera{position:absolute;inset:0;overflow:hidden}
.voyage-page .voyage-camera>img{display:block!important;position:static!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:var(--voyage-focus,50% 50%);margin:0}
.voyage-page .voyage-film{overflow:hidden;isolation:isolate}
.voyage-page .voyage-archive{transform-origin:center;position:relative}
.voyage-page .voyage-archive img{object-fit:contain!important}
/* The destination drawings trace themselves, while the cards keep a common text axis. */
.voyage-page .lh-dest-grid{gap:60px 24px;align-items:start;padding-block:14px 25px}
.voyage-page .city-stop{position:relative;overflow:visible;border:0;background:#eee5d9;isolation:isolate}
.voyage-page .city-stop::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#f8f2e7,#eadbce);opacity:var(--voyage-wash,0);pointer-events:none}
.voyage-page .city-stop .city-sketch{transform-origin:center;overflow:visible;flex-shrink:0}
.voyage-page .city-stop[open]{z-index:2}
.voyage-page .city-stop>summary{min-height:140px}
.voyage-page .city-stop :is(h3,.city-copy){position:relative}
/* A journey drawn on the page rather than another boxed table. */
.voyage-page .journey-ribbon.voyage-route{position:relative;isolation:isolate;padding-bottom:30px}
.voyage-page .journey-ribbon.voyage-route::after{content:'';position:absolute;left:5%;right:5%;bottom:11px;height:1px;background:currentColor;opacity:.35;transform:scaleX(var(--voyage-route,1));transform-origin:left;pointer-events:none}
.voyage-page .voyage-equipment{position:relative;isolation:isolate}
.voyage-page .voyage-equipment::after{content:'';position:absolute;left:0;bottom:0;width:50px;height:1px;background:#946978;transform:scaleX(var(--voyage-accent,1));transform-origin:left;opacity:.55}
.voyage-page .voyage-row>summary{background-image:linear-gradient(90deg,#795160,#b9a68e);background-size:calc(var(--voyage-accent,1)*100%) 1px;background-repeat:no-repeat;background-position:left bottom}
/* Reviews become a book of voices, with different measures and generous space. */
.voyage-page[data-voyage-page="reviews"] .reviews-collection{max-width:1380px;padding-inline:6%}
.voyage-page[data-voyage-page="reviews"] .review-filters{border:0;padding:12px 0 16px}
.voyage-page[data-voyage-page="reviews"] .review-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:80px 28px;align-items:start;padding-top:20px}
.voyage-page[data-voyage-page="reviews"] .guest-review{position:relative;border:0;padding:30px 0 20px;min-width:0;background:none;isolation:isolate}
.voyage-page[data-voyage-page="reviews"] .guest-review::before{content:'“';position:absolute;top:-28px;left:-10px;z-index:-1;font:400 150px/1 MadeMirage,Georgia,serif;color:#e4d4c7;pointer-events:none;opacity:.7}
.voyage-page[data-voyage-page="reviews"] .guest-review[data-voyage-review="0"]{grid-column:1/span 7;margin-top:0;padding:35px 5% 30px;background:#eee5d8}
.voyage-page[data-voyage-page="reviews"] .guest-review[data-voyage-review="1"]{grid-column:9/span 4;margin-top:115px}
.voyage-page[data-voyage-page="reviews"] .guest-review[data-voyage-review="2"]{grid-column:2/span 5;margin-top:0}
.voyage-page[data-voyage-page="reviews"] .guest-review[data-voyage-review="3"]{grid-column:8/span 5;margin-top:90px}
.voyage-page[data-voyage-page="reviews"] .guest-review[data-voyage-review="4"]{grid-column:3/span 8;margin-top:5px;padding:38px 5%;background:#f0e8df}
.voyage-page[data-voyage-page="reviews"] .guest-review[data-voyage-review="5"]{grid-column:1/span 5;margin-top:0}
.voyage-page[data-voyage-page="reviews"] .guest-review[data-voyage-review="6"]{grid-column:8/span 5;margin-top:100px}
.voyage-page[data-voyage-page="reviews"] .guest-review h2{font-size:31px;line-height:1.18;text-wrap:pretty}
.voyage-page[data-voyage-page="reviews"] .guest-review:is([data-voyage-review="0"],[data-voyage-review="4"]) h2{font-size:clamp(32px,3.3vw,45px);line-height:1.12}
.voyage-page[data-voyage-page="reviews"] .guest-review header{gap:12px;flex-wrap:wrap}
.voyage-page[data-voyage-page="reviews"] .guest-review .review-copy p{font-size:17px;line-height:1.85}
.voyage-page[data-voyage-page="reviews"] .guest-review[hidden]{display:none!important}
.voyage-page[data-voyage-page="reviews"] .guest-review .review-reply{border-color:#d8c9bb}
/* Utility pages: quiet details, while all controls and fields remain steady. */
.voyage-page[data-voyage-page="contact"] .contact-channels>a{position:relative;overflow:hidden;transition:background-color .5s,color .4s}
.voyage-page[data-voyage-page="contact"] .contact-channels>a::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;opacity:.45;transform:scaleX(var(--voyage-accent,0));transform-origin:left}
.voyage-page[data-voyage-page="contact"] .contact-channels>a:hover{background:#e8ddd1;color:#4e2434}
.voyage-page[data-voyage-page="privacy"] .lh-accordion>details{position:relative;border-left:1px solid #d9cabb;padding-left:22px}
.voyage-page[data-voyage-page="privacy"] .lh-accordion>details[open]{border-left-color:#805466}
.voyage-page[data-voyage-page="privacy"] .lh-accordion>details>summary{background-image:linear-gradient(90deg,#795160,#b9a68e);background-size:calc(var(--voyage-accent,1)*100%) 1px;background-repeat:no-repeat;background-position:left bottom}
.voyage-page .stay-prices>article{position:relative;overflow:visible}
.voyage-page .stay-prices>article>p{transform-origin:left center}
@media(prefers-reduced-motion:no-preference){
 .voyage-page .voyage-heading,.voyage-page .voyage-lede{transform:translate3d(0,var(--voyage-y,0px),0)}
 .voyage-page .voyage-quote{transform:translate3d(0,var(--voyage-y,0px),0) scale(var(--voyage-scale,1))}
 .voyage-page .voyage-photo-frame{transform:translate3d(0,var(--voyage-y,0px),0) scale(var(--voyage-scale,1));will-change:transform}
 .voyage-page .voyage-camera>img{transform:translate3d(0,var(--voyage-photo-y,0px),0) scale(var(--voyage-photo-scale,1.14));will-change:transform;transition:none!important}
 .voyage-page .voyage-film video{transform:translate3d(0,var(--voyage-photo-y,0px),0) scale(var(--voyage-photo-scale,1.035));transform-origin:center}
 .voyage-page .voyage-archive{transform:translate3d(0,var(--voyage-y,0px),0) rotate(var(--voyage-turn,0deg)) scale(var(--voyage-scale,1));transition:none}
 .voyage-page .city-stop{transform:translate3d(0,var(--voyage-y,0px),0)}
 .voyage-page .city-stop .city-sketch{transform:translate3d(0,var(--voyage-sketch-y,0px),0) rotate(var(--voyage-turn,0deg))}
 .voyage-page .voyage-route>.journey-stop{transform:translate3d(0,var(--voyage-y,0px),0)}
 .voyage-page .voyage-review>h2{transform:translate3d(0,var(--voyage-y,0px),0)}
 .voyage-page .stay-prices>article>p{transform:translate3d(0,var(--voyage-y,0px),0) scale(var(--voyage-scale,1))}
 .voyage-page .contact-dialog[open]::backdrop{animation:voyage-backdrop .3s ease both}
 @keyframes voyage-backdrop{from{opacity:.65}to{opacity:1}}
}
@media(max-width:1050px) and (min-width:761px){
 .voyage-page[data-voyage-page="reviews"] .review-grid{gap:65px 25px}
 .voyage-page[data-voyage-page="reviews"] .guest-review[data-voyage-review]{grid-column:span 6;margin-top:0}
 .voyage-page[data-voyage-page="reviews"] .guest-review[data-voyage-review="4"]{grid-column:2/span 10}
 .voyage-page[data-voyage-page="reviews"] .guest-review[data-voyage-review="1"],.voyage-page[data-voyage-page="reviews"] .guest-review[data-voyage-review="3"]{margin-top:90px}
}
@media(max-width:760px){
 .voyage-page .lh-band.voyage-photo-frame{width:100%;height:360px;margin:35px auto 55px}
 .voyage-page .stay-opening-photo.voyage-photo-frame{height:auto;max-height:400px}
 .voyage-page .lh-dest-grid{gap:20px 16px;padding-block:5px 12px}
 .voyage-page .city-stop>summary{min-height:125px}
 .voyage-page[data-voyage-page="reviews"] .reviews-collection{padding-inline:7%}
 .voyage-page[data-voyage-page="reviews"] .review-grid{display:block;padding-top:30px}
 .voyage-page[data-voyage-page="reviews"] .guest-review[data-voyage-review]{width:100%;margin:0 0 46px;padding:27px 0 20px}
 .voyage-page[data-voyage-page="reviews"] .guest-review:is([data-voyage-review="0"],[data-voyage-review="4"]){padding:30px 22px}
 .voyage-page[data-voyage-page="reviews"] .guest-review[data-voyage-review="2"]{width:94%;margin-left:auto}
 .voyage-page[data-voyage-page="reviews"] .guest-review h2{font-size:29px}
 .voyage-page[data-voyage-page="reviews"] .guest-review:is([data-voyage-review="0"],[data-voyage-review="4"]) h2{font-size:34px}
 .voyage-page[data-voyage-page="privacy"] .lh-accordion>details{padding-left:14px}
}
@media(prefers-reduced-motion:reduce){
 .voyage-page :is(.voyage-heading,.voyage-lede,.voyage-quote,.voyage-photo-frame,.voyage-camera>img,.voyage-film video,.voyage-archive,.city-stop,.city-sketch,.voyage-review>h2,.journey-stop,.stay-prices>article>p){transform:none!important;will-change:auto;transition:none!important}
 .voyage-page .city-sketch :is(path,line,polyline,polygon,rect,circle,ellipse){stroke-dashoffset:0!important}
 .voyage-page .contact-dialog[open]::backdrop{animation:none}
}

.voyage-page .review-expand[hidden]{display:none!important}

/* S’évader: the opening bedroom photograph reaches the desktop edges. */
@media(min-width:1001px){
 .voyage-page[data-voyage-page="escape"] .bretagne-content>.lh-band.voyage-photo-frame:first-of-type{width:100%;max-width:none;margin-inline:0}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 .voyage-page .city-stop{transform:translate3d(0,var(--voyage-y,0px),0) scale(var(--voyage-city-scale,1));transform-origin:center}
}

/* Give the original brochure room below the booking strip. */
.voyage-page[data-voyage-page="experience"] #reservation+.archive-sheet{margin-top:72px}
@media(max-width:760px){
 .voyage-page[data-voyage-page="experience"] #reservation+.archive-sheet{margin-top:46px}
}

/* Our history: retain the mobile crop, expand the portrait on desktop. */
@media(min-width:1001px){
 .voyage-page[data-voyage-page="history"] .lh-band.voyage-photo-frame{width:100%;max-width:none;margin-inline:0}
}

/* History manifesto: visible opening of the wine-coloured band on mobile. */
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 .voyage-page[data-voyage-page="history"] .lh-manifesto{clip-path:inset(0 var(--voyage-inset,0%));will-change:clip-path}
}
