/* Home 0.3.52 · all eight rooms, breakfast crosslink, aerial location, circular journal */
.terra-accom-home .terra-accom-explorer{display:grid;grid-template-columns:92px minmax(0,1fr);gap:clamp(18px,3vw,45px);align-items:start;max-width:1330px;margin:auto}
.terra-accom-home .terra-accom-rail{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:18px;color:#fff}
.terra-accom-home .terra-accom-rail-eyebrow{font-size:9px;letter-spacing:.18em;writing-mode:vertical-rl;transform:rotate(180deg);margin-bottom:8px;opacity:.76}
.terra-accom-home .terra-accom-rail button{border:1px solid rgba(246,243,235,.55)!important;background:transparent!important;color:#fff!important;border-radius:50%!important;width:64px;height:64px;display:grid;place-items:center;cursor:pointer;padding:0!important;box-shadow:none!important;transition:background .25s,border-color .25s}
.terra-accom-home .terra-accom-rail button:hover,.terra-accom-home .terra-accom-rail button:focus,.terra-accom-home .terra-accom-rail button:active{background:#dcb82f!important;border-color:#dcb82f!important;color:#243c30!important;box-shadow:none!important}
.terra-accom-home .terra-accom-rail button svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.terra-accom-home .terra-accom-count{font:600 12px/1.3 Inter,sans-serif;letter-spacing:.14em;margin-top:18px;font-variant-numeric:tabular-nums}
.terra-accom-home .terra-accom-viewport{overflow:hidden;min-width:0;outline-offset:6px;touch-action:pan-y;overscroll-behavior-inline:contain}
.terra-accom-home .terra-accom-grid-home{display:flex!important;gap:clamp(15px,2vw,24px)!important;align-items:stretch;width:max-content;will-change:transform;transition:transform .56s cubic-bezier(.22,.76,.18,1);transform:translate3d(0,0,0)}
.terra-accom-home .terra-accom-grid-home .terra-accom-card{width:clamp(275px,29vw,375px)!important;max-width:none!important;flex:0 0 clamp(275px,29vw,375px)!important;grid-column:auto!important;margin:0!important}
.terra-accom-home .terra-accom-grid-home .terra-accom-card-photo{aspect-ratio:5/4}
.terra-accom-home .terra-accom-grid-home .terra-accom-card-body{padding:clamp(19px,2vw,26px)}
.terra-accom-home .terra-accom-grid-home .terra-accom-card h3{font-size:clamp(27px,2.6vw,38px)}
.terra-accom-home .terra-accom-grid-home .terra-accom-teaser{min-height:0}
.terra-accom-home .terra-accom-grid-home .terra-accom-actions{gap:9px}
.terra-breakfast .terra-breakfast-outro a.terra-breakfast-discover,.terra-breakfast .terra-breakfast-outro a.terra-breakfast-discover:hover,.terra-breakfast .terra-breakfast-outro a.terra-breakfast-discover:focus{display:inline-flex;text-decoration:none!important;color:#fff!important;background:#2c4a3e!important;border:1px solid #698978!important;border-radius:100px!important;align-items:center;justify-content:center;text-align:center;min-height:54px;padding:15px 25px;max-width:100%;white-space:normal;line-height:1.45;box-shadow:none!important}
.terra-breakfast .terra-breakfast-outro a.terra-breakfast-discover:hover,.terra-breakfast .terra-breakfast-outro a.terra-breakfast-discover:focus{background:#3d6b52!important}
.terra-arrival{background:#f4f0e7!important;padding-block:clamp(65px,7vw,104px)!important}
.terra-arrival .terra-arrival-editorial{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(30px,5vw,85px);align-items:center}
.terra-arrival .terra-arrival-photo{min-width:0;margin:0;position:relative;background:#d7dbcd;overflow:hidden;border-radius:4px;aspect-ratio:1.45}
.terra-arrival .terra-arrival-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%}
.terra-arrival .terra-arrival-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:34px 18px 14px;background:linear-gradient(transparent,rgba(15,38,28,.72));color:#fff;font:600 10px/1.4 Inter,sans-serif;letter-spacing:.13em}
.terra-arrival .terra-arrival-story h2{font-size:clamp(48px,5.6vw,85px);margin:18px 0 22px;line-height:1.05}
.terra-arrival .terra-arrival-story .terra-prose{font-size:clamp(14px,1.2vw,17px);line-height:1.8;margin:0}
.terra-arrival .terra-arrival-points{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 28px}
.terra-arrival .terra-arrival-points span{border:1px solid #bfc9ba;border-radius:30px;padding:9px 13px;font-size:11px;color:#365c4a}
.terra-arrival a.terra-arrival-maplink,.terra-arrival a.terra-arrival-maplink:focus,.terra-arrival a.terra-arrival-maplink:hover{display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:90px!important;background:#2c4a3e!important;color:#fff!important;border:1px solid #2c4a3e!important;padding:15px 22px!important;text-decoration:none!important;font-weight:650;font-size:12px;transition:background .25s}
.terra-arrival a.terra-arrival-maplink:hover{background:#3d6b52!important}
/* Three-story center stage: the actual previous and next cards remain visible on opposite sides. */
.terra-journal-home .terra-journal-carousel{max-width:100%;overflow:visible;isolation:isolate}
.terra-journal-home .terra-journal-track{width:100%!important;height:clamp(440px,45vw,590px);position:relative;display:block;transform:none!important;transition:none!important;will-change:auto;overflow:visible}
.terra-journal-home .terra-journal-track .terra-journal-card{position:absolute!important;top:3%;left:50%;width:min(540px,55vw)!important;max-width:none;min-width:0;min-height:0;height:94%;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateX(0) scale(.75)!important;filter:blur(3px) saturate(.7);z-index:0;transition:transform .55s ease,opacity .55s ease,filter .55s ease,visibility .55s ease}
.terra-journal-home .terra-journal-track .terra-journal-card.is-current{visibility:visible;opacity:1;pointer-events:auto;filter:none;transform:translateX(-50%) translateX(0) scale(1)!important;z-index:5}
.terra-journal-home .terra-journal-track .terra-journal-card.is-previous{visibility:visible;opacity:.42;pointer-events:auto;filter:blur(1.7px) saturate(.66);transform:translateX(-50%) translateX(-86%) scale(.83)!important;z-index:2}
.terra-journal-home .terra-journal-track .terra-journal-card.is-next{visibility:visible;opacity:.42;pointer-events:auto;filter:blur(1.7px) saturate(.66);transform:translateX(-50%) translateX(86%) scale(.83)!important;z-index:2}
.terra-journal-home .terra-journal-track .terra-journal-card.is-aside{cursor:pointer}
.terra-journal-home .terra-journal-track .terra-journal-card.is-aside a{pointer-events:none}
.terra-journal-home .terra-journal-card-link{height:100%}
.terra-journal-home .terra-journal-image{aspect-ratio:1.5;flex:0 0 auto}
.terra-journal-home .terra-journal-card-copy{padding:clamp(17px,2.4vw,25px)}
.terra-journal-home .terra-journal-card-copy h3{font-size:clamp(1.42rem,2.4vw,2.15rem)}
.terra-journal-home .terra-journal-card-copy p{font-size:.87rem;line-height:1.52;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:13px}
.terra-journal-home .terra-journal-carousel-controls button,.terra-journal-home .terra-journal-carousel-controls button:hover,.terra-journal-home .terra-journal-carousel-controls button:focus{border-color:#2c4a3e!important;color:#2c4a3e!important;background:#fff!important;box-shadow:none!important}
.terra-journal-home .terra-journal-carousel-controls button:hover{background:#2c4a3e!important;color:#fff!important}
@media(max-width:850px){
 .terra-accom-home .terra-accom-explorer{grid-template-columns:65px minmax(0,1fr);gap:15px}
 .terra-accom-home .terra-accom-rail button{width:52px;height:52px}
 .terra-accom-home .terra-accom-rail-eyebrow{display:none}
 .terra-accom-home .terra-accom-grid-home .terra-accom-card{width:min(330px,66vw)!important;flex-basis:min(330px,66vw)!important}
 .terra-arrival .terra-arrival-editorial{grid-template-columns:1fr;gap:29px}
 .terra-arrival .terra-arrival-photo{aspect-ratio:1.65}
 .terra-arrival .terra-arrival-story h2{font-size:clamp(48px,7vw,68px)}
 .terra-journal-home .terra-journal-track .terra-journal-card{width:min(510px,70vw)!important}
 .terra-journal-home .terra-journal-track .terra-journal-card.is-previous{transform:translateX(-50%) translateX(-80%) scale(.78)!important}
 .terra-journal-home .terra-journal-track .terra-journal-card.is-next{transform:translateX(-50%) translateX(80%) scale(.78)!important}
}
@media(max-width:600px){
 .terra-accom-home .terra-accom-title{white-space:normal!important}
 .terra-accom-home .terra-accom-explorer{grid-template-columns:51px minmax(0,1fr);gap:10px}
 .terra-accom-home .terra-accom-rail{padding-top:40px;gap:15px}
 .terra-accom-home .terra-accom-rail button{width:43px;height:43px}
 .terra-accom-home .terra-accom-rail button svg{width:21px;height:21px}
 .terra-accom-home .terra-accom-count{font-size:9px;letter-spacing:0;white-space:nowrap}
 .terra-accom-home .terra-accom-grid-home .terra-accom-card{width:clamp(225px,66vw,300px)!important;flex-basis:clamp(225px,66vw,300px)!important}
 .terra-accom-home .terra-accom-grid-home .terra-accom-card-body{padding:18px}
 .terra-accom-home .terra-accom-grid-home .terra-accom-card h3{font-size:30px}
 .terra-accom-home .terra-accom-grid-home .terra-accom-actions{flex-direction:column;align-items:stretch}
 .terra-accom-home .terra-accom-grid-home .terra-accom-actions a{justify-content:center}
 .terra-breakfast .terra-breakfast-outro a.terra-breakfast-discover{width:100%;font-size:12px}
 .terra-arrival .terra-arrival-photo{aspect-ratio:1.2}
 .terra-arrival .terra-arrival-story h2{font-size:clamp(46px,11vw,63px)}
 .terra-journal-home .terra-journal-track{height:500px}
 .terra-journal-home .terra-journal-track .terra-journal-card{width:min(330px,82vw)!important}
 .terra-journal-home .terra-journal-track .terra-journal-card.is-previous{opacity:.33;transform:translateX(-50%) translateX(-81%) scale(.8)!important}
 .terra-journal-home .terra-journal-track .terra-journal-card.is-next{opacity:.33;transform:translateX(-50%) translateX(81%) scale(.8)!important}
 .terra-journal-home .terra-journal-image{aspect-ratio:1.25}
 .terra-journal-home .terra-journal-card-copy h3{font-size:1.6rem}
}
@media(prefers-reduced-motion:reduce){.terra-accom-home .terra-accom-grid-home,.terra-journal-home .terra-journal-track .terra-journal-card{transition:none!important}}
/* v0.3.53: new photographer-approved aerial, portrait preserved entirely. */
.terra-arrival .terra-arrival-editorial{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important}
.terra-arrival .terra-arrival-photo{width:min(100%,475px);aspect-ratio:3/4!important;justify-self:center;background:#2c4a3e!important;max-height:none!important}
.terra-arrival .terra-arrival-photo img{object-fit:contain!important;object-position:center!important;width:100%!important;height:100%!important}
@media(max-width:760px){
 .terra-arrival .terra-arrival-editorial{grid-template-columns:minmax(0,1fr)!important}
 .terra-arrival .terra-arrival-photo{max-width:min(100%,440px);aspect-ratio:3/4!important}
}

/* v0.3.55 | The entire white area of each Home accommodation card links to
   the room. Existing explicit links and the booking action remain independent. */
.terra-accom-home .terra-accom-card{position:relative}
.terra-accom-home .terra-accom-card-stretched-link{position:absolute!important;inset:0;z-index:1;display:block;background:transparent!important;border:0!important;border-radius:inherit;text-decoration:none!important}
.terra-accom-home .terra-accom-card-stretched-link:focus-visible{outline:3px solid #dcb82f!important;outline-offset:-4px}
.terra-accom-home .terra-accom-card-photo,.terra-accom-home .terra-accom-actions a,.terra-accom-home .terra-accom-card h3 a{position:relative;z-index:2}
/* Uniform three-column location badges on phones; no 2+1 orphan row. */
@media(max-width:700px){
 .terra-app .terra-arrival .terra-arrival-story{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center!important;min-width:0}
 .terra-app .terra-arrival .terra-arrival-story h2,.terra-app .terra-arrival .terra-arrival-story p,.terra-app .terra-arrival .terra-arrival-story .terra-kicker{text-align:center!important}
 .terra-app .terra-arrival .terra-arrival-story .terra-kicker{display:flex;align-items:center;justify-content:center;width:100%}
 .terra-app .terra-arrival .terra-arrival-story .terra-prose{max-width:52ch;margin-inline:auto!important}
 .terra-app .terra-arrival .terra-arrival-points{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px!important;align-items:stretch;justify-items:stretch;width:100%;margin:22px 0 28px!important}
 .terra-app .terra-arrival .terra-arrival-points span{display:flex!important;align-items:center;justify-content:center;min-width:0;min-height:59px;border-radius:20px;padding:8px 5px!important;text-align:center!important;font-size:clamp(9px,2.25vw,11px);line-height:1.3;overflow-wrap:break-word;hyphens:auto}
 .terra-app .terra-arrival a.terra-arrival-maplink{align-self:center;margin-inline:auto;text-align:center;max-width:100%;gap:10px;line-height:1.5}
 .terra-app .terra-journal-home-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:21px;text-align:center!important}
 .terra-app .terra-journal-home-heading>div,.terra-app .terra-journal-home-heading h2,.terra-app .terra-journal-home-heading p{text-align:center!important;margin-inline:auto}
 .terra-app .terra-journal-home-heading .terra-journal-more{align-self:center;margin-inline:auto;justify-content:center;white-space:normal;text-align:center}
 .terra-app .terra-journal-home .terra-journal-card-copy,.terra-app .terra-journal-home .terra-journal-card-copy h3,.terra-app .terra-journal-home .terra-journal-card-copy p,.terra-app .terra-journal-home .terra-journal-card-kicker{text-align:center!important}
 .terra-app .terra-journal-home .terra-journal-card-read{justify-content:center;text-align:center}
 /* Header already has a permanent calendar shortcut. This large fixed CTA
    obscured journal cards, text and the footer on iOS Safari. */
 .terra-app .terra-mobile-stay-cta,.terra-app .terra-mobile-stay-cta.is-visible{display:none!important}
}
/* Tablet stack: also avoid the last isolated location badge at 701–850px. */
@media(min-width:701px) and (max-width:850px){
 .terra-app .terra-arrival .terra-arrival-points{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:stretch}
 .terra-app .terra-arrival .terra-arrival-points span{display:flex!important;min-height:44px;align-items:center;justify-content:center;text-align:center;padding:8px 9px;line-height:1.35}
 .terra-app .terra-arrival .terra-arrival-story{text-align:center;display:flex;flex-direction:column;align-items:center}
 .terra-app .terra-arrival .terra-arrival-story .terra-kicker{justify-content:center}
 .terra-app .terra-journal-home-heading{align-items:center;text-align:center}
 .terra-app .terra-journal-home-heading>div,.terra-app .terra-journal-home-heading p,.terra-app .terra-journal-home-heading h2{text-align:center;margin-inline:auto}
 .terra-app .terra-journal-more{align-self:center}
}
