/* Scoped addition: no changes to existing theme sections, sliders or other pages. */
/* Oshine's body overflow creates a non-scrolling ancestor that prevents sticky. */
body.page-id-529{overflow-x:clip!important;overflow-y:visible!important}
.rhs-story{--rhs-bg:#191b19;--rhs-text:#f2eee4;--rhs-gold:#d1b671;background:var(--rhs-bg);color:var(--rhs-text);width:var(--rhs-width,100%);margin-inline:calc((100% - var(--rhs-width,100%))/2);position:relative;clear:both;isolation:isolate}
.rhs-story *{box-sizing:border-box}
.rhs-stage{padding:65px 0 35px;display:grid;gap:24px;background:var(--rhs-bg)}
.rhs-story .rhs-heading{padding-inline:6%;display:flex;align-items:baseline;justify-content:space-between;gap:24px}
.rhs-story h2{font-family:inherit;font-size:var(--rh-type-heading);font-weight:400;line-height:1.25;letter-spacing:0;text-transform:none;margin:0;color:var(--rhs-text)}
.rhs-story a{color:var(--rhs-text);text-decoration:none;border-bottom:1px solid var(--rhs-gold);padding-bottom:4px;font-size:15px;line-height:1.6}
.rhs-story a:hover{color:var(--rhs-gold)}
.rhs-story .rhs-skip{font-size:12px;border-color:#777b6e;white-space:nowrap}
.rhs-window{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--rhs-gold) #292c28;width:100%}
.rhs-track{display:flex;gap:32px;width:max-content;padding:0 6vw;align-items:stretch}
.rhs-intro{flex:0 0 clamp(240px,25vw,360px);align-self:center;padding-right:20px}
.rhs-story .rhs-intro p{font-family:inherit;font-size:var(--rh-type-title);font-weight:400;line-height:1.13;letter-spacing:-.02em;color:var(--rhs-text);margin:0 0 25px}
.rhs-intro>span{display:block;font-size:17px;line-height:1.7;color:#c6c5bc}
.rhs-intro .rhs-desktop-hint{display:none;margin-top:40px;color:var(--rhs-gold);font-size:13px}
.rhs-intro .rhs-mobile-hint{margin-top:30px;font-size:13px;color:var(--rhs-gold)}
.rhs-photo{flex:0 0 min(62vw,930px);margin:0;min-width:0}
.rhs-photo:nth-of-type(2){flex-basis:min(76vw,1140px)}
.rhs-photo:nth-of-type(3){flex-basis:min(46vw,690px)}
.rhs-photo:last-child{flex-basis:min(88vw,1320px)}
.rhs-image{height:clamp(260px,47vh,540px);overflow:hidden;background:#292c28}
.rhs-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;margin:0;border:0}
.rhs-story figcaption{padding:18px 0 0;white-space:normal}
.rhs-story h3{color:var(--rhs-text);font-family:inherit;font-size:var(--rh-type-topic);font-weight:400;line-height:1.25;letter-spacing:0;text-transform:none;margin:0 0 8px}
.rhs-story figcaption p{color:#c6c5bc;font-size:16px;line-height:1.6;max-width:60ch;margin:0}
.rhs-bottom{padding-inline:6%;display:flex;align-items:center;justify-content:space-between;gap:22px}
.rhs-navigation{display:none;align-items:center;gap:16px}
.rhs-story.has-controls .rhs-navigation{display:flex}
.rhs-navigation button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background:#292c28;border:1px solid #6c705f;border-radius:50%;color:var(--rhs-text);font:24px/1 Arial,sans-serif;cursor:pointer;box-shadow:none}
.rhs-navigation button:hover:not(:disabled){border-color:var(--rhs-gold);color:var(--rhs-gold)}
.rhs-navigation button:disabled{opacity:.3;cursor:default}
.rhs-progress{display:block;width:90px;height:2px;background:#55584e;overflow:hidden}
.rhs-progress>span{display:block;width:100%;height:100%;background:var(--rhs-gold);transform:scaleX(0);transform-origin:left}
.rhs-story :focus-visible{outline:2px solid var(--rhs-gold);outline-offset:5px}
.rhs-window:focus-visible{outline-offset:-4px}
#rhs-after{height:0;scroll-margin-top:120px}
@media(min-width:768px) and (min-height:600px){
 .rhs-story.is-pinned .rhs-stage{position:sticky;top:0;height:min(100svh,950px);min-height:600px;padding-top:105px;grid-template-rows:auto minmax(0,1fr) auto}
 .rhs-story.is-pinned .rhs-window{overflow:hidden}
 .rhs-story.is-pinned .rhs-track{height:100%;will-change:transform}
 .rhs-story.is-pinned .rhs-image{height:calc(100% - 86px)}
 .rhs-story.is-pinned .rhs-intro .rhs-desktop-hint{display:block}
 .rhs-story.is-pinned .rhs-intro .rhs-mobile-hint{display:none}
}
@media(max-width:767px){
 .rhs-stage{padding:42px 0 32px;gap:25px}
 .rhs-heading{align-items:flex-start!important;flex-direction:column;gap:10px!important}
 .rhs-story h2{font-size:var(--rh-type-heading)}
 .rhs-track{gap:20px;padding-inline:6vw}
 .rhs-intro{display:none}
 .rhs-story .rhs-intro p{font-size:var(--rh-type-title)}
 .rhs-intro>span{font-size:16px}
 .rhs-photo{flex-basis:84vw}
 .rhs-photo:nth-of-type(2){flex-basis:90vw}
 .rhs-photo:nth-of-type(3){flex-basis:72vw}
 .rhs-photo:last-child{flex-basis:88vw}
 .rhs-image{height:300px}
 /* Keep the sauna itself in the phone crop; the bedroom has its own photo. */
 .rhs-photo-sauna .rhs-image img{width:178%;max-width:none;object-position:left center}
 .rhs-story h3{font-size:var(--rh-type-topic)}
 .rhs-story figcaption p{font-size:15px}
 .rhs-bottom{flex-wrap:wrap;gap:25px}
 .rhs-bottom>a{font-size:14px}
 .rhs-navigation{width:100%;justify-content:flex-end}
 .rhs-progress{flex:1;max-width:150px}
}
@media(prefers-reduced-motion:reduce){.rhs-track{will-change:auto!important}.rhs-window{scroll-behavior:auto}}
/* The existing scroll story also fits portrait phones, without touch interception. */
@media(max-width:767px) and (min-height:600px){
 .rhs-story.is-pinned .rhs-stage{position:sticky;top:0;height:100svh;min-height:600px;padding:104px 0 20px;gap:16px;grid-template-rows:auto minmax(0,1fr) auto}
 .rhs-story.is-pinned .rhs-window{overflow:hidden}
 .rhs-story.is-pinned .rhs-track{height:100%;will-change:transform}
 .rhs-story.is-pinned .rhs-photo{height:100%;display:grid;grid-template-rows:minmax(0,1fr) var(--rhs-caption-height,110px)}
 .rhs-story.is-pinned .rhs-image{height:auto;min-height:0;flex:1}
 .rhs-story.is-pinned figcaption{flex-shrink:0;padding-top:14px}
 .rhs-story.is-pinned h3{font-size:22px;line-height:1.25}
 .rhs-story.is-pinned figcaption p{font-size:15px;line-height:1.5}
 .rhs-story.is-pinned .rhs-bottom{gap:12px}
}
/* Landscape story: use the real visible height, whole photos and captions below. */
@media(max-width:960px) and (orientation:landscape) and (min-height:300px) and (max-height:599px){
 .rhs-story.is-pinned .rhs-stage{position:sticky;top:0;height:var(--rhs-visible-height,100dvh);min-height:300px;padding:10px 0;gap:8px;grid-template-rows:auto minmax(0,1fr) auto}
 body.admin-bar .rhs-story.is-pinned .rhs-stage{padding-top:50px}
 .rhs-story .rhs-heading{flex-direction:row;align-items:center!important;gap:16px!important}
 .rhs-story h2{font-size:18px}
 .rhs-story.is-pinned .rhs-window{overflow:hidden;min-height:0}
 .rhs-story.is-pinned .rhs-track{height:100%;gap:24px;padding-inline:6vw;align-items:stretch;will-change:transform}
 .rhs-story .rhs-intro{display:none}
 .rhs-story.is-pinned .rhs-photo,.rhs-story.is-pinned .rhs-photo:nth-of-type(2),.rhs-story.is-pinned .rhs-photo:nth-of-type(3),.rhs-story.is-pinned .rhs-photo:last-child{flex-basis:var(--rhs-landscape-width,350px);height:100%;display:grid;grid-template-rows:minmax(0,1fr) var(--rhs-caption-height,85px);grid-template-columns:minmax(0,1fr)}
 .rhs-story.is-pinned .rhs-image{height:100%;min-height:0;background:transparent;aspect-ratio:auto}
 .rhs-story .rhs-image img,.rhs-story .rhs-photo-sauna .rhs-image img{width:100%;max-width:100%;height:100%;object-fit:contain;object-position:center}
 .rhs-story figcaption{padding:8px 0 0;display:block}
 .rhs-story h3{font-size:17px;line-height:1.25;margin-bottom:5px}
 .rhs-story figcaption p{font-size:13px;line-height:1.4}
 .rhs-story .rhs-bottom{flex-wrap:nowrap;gap:18px}
 .rhs-story .rhs-bottom>a{font-size:13px}
 .rhs-story .rhs-navigation{width:auto;gap:12px}
 .rhs-story .rhs-navigation button{width:40px;height:40px}
 .rhs-story .rhs-progress{width:90px;flex:none}
}