/* The suite establishes the language; each scene gives it a new composition. */
.section.home-tour{padding:0;background:#f8f5ed;color:#292c26}
.tour-chapter{--tour-brown:#68442f;--tour-sage:#a6aa98;--tour-limestone:#d7cbb8;position:relative}
.tour-track{position:relative}
.tour-stage{position:relative;overflow:clip;background:#f8f5ed}
.tour-canvas{position:relative;max-width:1720px;margin:auto}
.tour-scene{position:relative;height:min(100svh,1050px);min-height:650px;isolation:isolate}
.tour-copy{position:absolute;z-index:3}
.tour-eyebrow{display:flex;align-items:center;gap:15px;max-width:none;font:500 10px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#755633;margin:0 0 25px}
.tour-eyebrow::before{content:"";width:27px;height:1px;background:#a48b6b;flex:none}
.tour-copy h2{font:400 clamp(38px,min(5.1vw,8.8svh),78px)/.99 var(--serif);letter-spacing:-.035em;margin:0 0 25px;text-wrap:balance}
.tour-copy h2 em{font-weight:400;color:var(--tour-brown)}
.tour-copy h2:focus-visible{outline:1px solid #9c805a;outline-offset:7px}
.tour-copy .tour-body{max-width:43ch;font:400 clamp(14px,1.05vw,16px)/1.8 var(--sans);color:#55564f;text-wrap:pretty;margin:0}
.tour-copy .tour-body+.tour-body{margin-top:22px}
.tour-link{display:inline-flex;align-items:center;gap:24px;margin-top:30px;padding-bottom:8px;border-bottom:1px solid #bda381;text-decoration:none;color:var(--tour-brown);font:400 23px/1.2 var(--serif)}
.tour-link span{font:400 16px/1 var(--sans);transition:transform 180ms ease}
@media(hover:hover){.tour-link:hover span{transform:translate(2px,-2px)}}
.tour-photo{position:absolute;margin:0;z-index:1}
.tour-photo-window{height:100%;width:100%;overflow:hidden;position:relative;background:#ded6c8}
.tour-photo img{height:100%;width:100%;object-fit:cover;object-position:center}
.tour-photo::before,.tour-photo::after{content:"";position:absolute;pointer-events:none;z-index:-1}
.tour-photo::after{inset:20px 20px -20px -20px;background:var(--tour-limestone);opacity:.62}
.tour-photo figcaption{margin:16px 0 0;display:flex;align-items:center;gap:14px;color:#755633;font:400 9px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.16em}
.tour-photo figcaption::before{content:"";display:block;width:28px;height:1px;background:#a48b6b}
.tour-scene--suite .tour-copy{left:5%;top:25%;width:36%}
.tour-scene--suite .tour-photo--main{left:51%;top:10%;width:43%;height:79%}
.tour-scene--suite .tour-photo--main::before{inset:-10% -5% 9% -8%;background:var(--tour-sage);border-radius:50% 50% 0 0 / 27% 27% 0 0}
.tour-scene--suite .tour-photo img{object-position:38% center}
.tour-scene--private-patio .tour-copy{left:59%;top:34%;width:33%}
.tour-scene--private-patio .tour-photo--main{left:11%;top:7%;width:38%;height:78%}
.tour-scene--private-patio .tour-photo--main::before{inset:10% -12% -6% -6%;border:1px solid #a6aa9899;border-radius:50% 50% 0 0 / 28% 28% 0 0}
.tour-scene--private-patio .tour-photo--main::after{inset:24px -22px -20px 22px}
.tour-scene--covered-courtyard .tour-copy{left:66%;top:21%;width:29%}
.tour-scene--covered-courtyard .tour-copy h2{font-size:clamp(36px,min(4.2vw,8svh),66px)}
.tour-scene--covered-courtyard .tour-photo--main{left:5%;top:13%;width:56%;height:67%}
.tour-scene--covered-courtyard .tour-photo--main::before{inset:-12% 9% 10% -5%;border-radius:50% 50% 0 0 / 29% 29% 0 0;background:var(--tour-sage)}
.tour-scene--garden-walk .tour-copy{left:9%;top:6%;width:51%}
.tour-scene--garden-walk .tour-copy h2{font-size:clamp(38px,min(4.6vw,8svh),70px);margin-bottom:18px}
.tour-scene--garden-walk .tour-copy .tour-body{max-width:50ch}
.tour-scene--garden-walk .tour-photo--main{left:5%;top:43%;width:61%;height:43%}
.tour-scene--garden-walk .tour-photo--main img{object-position:center 48%}
.tour-scene--garden-walk .tour-photo--secondary{left:73%;top:13%;width:22%;height:51%}
.tour-scene--garden-walk .tour-photo--secondary::before{inset:-10% -8% 10% -8%;border:1px solid #a6aa98;border-radius:50% 50% 0 0 / 25% 25% 0 0}
.tour-scene--resident-garden .tour-copy{left:9%;top:10%;width:48%}
.tour-scene--resident-garden .tour-copy h2{font-size:clamp(36px,min(4.6vw,8svh),70px)}
.tour-scene--resident-garden .tour-copy .tour-body{max-width:46ch}
.tour-scene--resident-garden .tour-link{margin-top:22px}
.tour-scene--resident-garden .tour-photo--main{left:64%;top:15%;width:29%;height:71%}
.tour-scene--resident-garden .tour-photo--main::before{inset:-11% -11% 8% -6%;background:var(--tour-sage);border-radius:50% 50% 0 0 / 26% 26% 0 0}
.tour-scene--resident-garden .tour-photo--secondary{left:6%;top:56%;width:47%;height:32%}
.tour-scene--salon .tour-copy{left:59%;top:28%;width:33%}
.tour-scene--salon .tour-photo--main{left:10%;top:8%;width:37%;height:79%}
.tour-scene--salon .tour-photo--main::before{inset:-6% -9% 7% -9%;background:var(--tour-sage);border-radius:50% 50% 0 0 / 27% 27% 0 0}
.tour-scene--wellness .tour-copy{left:6%;top:10%;width:53%}
.tour-scene--wellness .tour-copy h2{font-size:clamp(34px,min(4.5vw,7.8svh),68px)}
.tour-scene--wellness .tour-copy .tour-body{max-width:48ch}
.tour-scene--wellness .tour-link{margin-top:22px}
.tour-scene--wellness .tour-photo--main{left:7%;top:51%;width:48%;height:39%}
.tour-scene--wellness .tour-photo--main img{object-position:center 25%}
.tour-scene--wellness .tour-photo--secondary{left:66%;top:12%;width:28%;height:72%}
.tour-scene--wellness .tour-photo--secondary::before{inset:-12% -10% 15% -5%;background:var(--tour-sage);border-radius:50% 50% 0 0 / 28% 28% 0 0}
.tour-disclosure{font:400 10px/1.5 var(--sans);color:#737268;max-width:none;text-align:right;padding:10px 5% 18px;letter-spacing:.04em;background:#f8f5ed}
.tour-controls[hidden]{display:none}
.tour-controls{position:absolute;bottom:0;left:5%;right:5%;min-height:63px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #d8cfbd;z-index:5;background:#f8f5ed}
.tour-stops{display:flex;gap:26px;align-items:center}
.tour-stops button{font:400 11px/1.5 var(--sans);border:0;border-bottom:1px solid transparent;background:none;padding:13px 0;color:#6e6f64;min-height:44px}
.tour-stops button[aria-current]{color:#62452e;border-bottom-color:#a28561}
.tour-stops button:active{transform:translateY(1px)}
.tour-onward{display:inline-flex;align-items:center;gap:14px;text-decoration:none;font:400 17px/1.3 var(--serif);color:#725335}
.tour-onward span{font-family:var(--sans);font-size:14px}
.tour-progress{position:absolute;top:-1px;left:0;right:0;height:1px;pointer-events:none}
.tour-progress i{display:block;width:100%;height:1px;background:#9e825d;transform:scaleX(0);transform-origin:left}
.tour-chapter--enhanced .tour-track{height:calc(100svh + (var(--tour-count) - 1) * 136svh + 64svh)}
.tour-chapter--enhanced .tour-stage{position:sticky;top:0;height:100svh}
.tour-chapter--enhanced .tour-canvas{height:calc(100% - 68px)}
.tour-chapter--enhanced .tour-scene{position:absolute;inset:0;height:100%;min-height:0;opacity:0;visibility:hidden;pointer-events:none}
.tour-chapter--enhanced .tour-scene[data-visible]{visibility:visible}
.tour-chapter--enhanced .tour-scene[data-active]{pointer-events:auto;z-index:2}
.tour-chapter--enhanced .tour-copy{opacity:1;transform:none}
.tour-chapter--enhanced .tour-photo{transform:none}
.tour-chapter--enhanced .tour-photo--secondary{transform:none}
/* Leave the review controls their own space, including an open comment bar. */
body[data-review-mode] .tour-onward,body.rv-embedded .tour-onward{position:absolute;right:0;bottom:78px}
@media(min-width:801px){
 body.rv-embedded .tour-chapter--enhanced .tour-canvas{top:68px;height:calc(100% - 136px)}
 body.rv-embedded .tour-copy h2{font-size:clamp(34px,min(4.6vw,7svh),66px)}
}
@media(min-width:801px) and (max-width:1050px){
 .tour-copy h2{font-size:clamp(36px,5.1vw,52px)}
 .tour-copy .tour-body{font-size:13px;line-height:1.7}
 .tour-copy .tour-body+.tour-body{margin-top:16px}
 .tour-eyebrow{font-size:9px;gap:10px;margin-bottom:18px}
 .tour-link{font-size:21px;margin-top:22px}
 .tour-scene--suite .tour-copy{left:5%;top:20%;width:38%}
 .tour-scene--garden-walk .tour-copy{top:7%;width:56%}
 .tour-scene--garden-walk .tour-copy h2,.tour-scene--resident-garden .tour-copy h2{font-size:43px}
 .tour-scene--wellness .tour-copy h2{font-size:41px}
 .tour-stops{gap:18px}
 .tour-stops button{font-size:10px}
 .tour-onward{font-size:15px}
}
@media(min-width:801px) and (max-height:700px){
 .tour-eyebrow{margin-bottom:15px}
 .tour-copy h2{margin-bottom:18px}
 .tour-copy .tour-body{font-size:13px;line-height:1.65}
 .tour-copy .tour-body+.tour-body{margin-top:15px}
 .tour-link{margin-top:18px;font-size:20px}
 .tour-scene--suite .tour-copy{top:17%}
 .tour-scene--resident-garden .tour-copy,.tour-scene--wellness .tour-copy{top:5%}
 body.rv-embedded .tour-scene--resident-garden .tour-copy,body.rv-embedded .tour-scene--wellness .tour-copy{top:3%}
 body.rv-embedded .tour-scene--resident-garden .tour-link,body.rv-embedded .tour-scene--wellness .tour-link{margin-top:16px}
 .tour-photo figcaption{margin-top:12px;font-size:8px}
}
@media(max-width:800px){
 .tour-scene{height:auto;min-height:0;display:flex;flex-direction:column;gap:35px;padding:56px 26px 62px}
 .tour-scene+.tour-scene{padding-top:30px}
 .tour-scene .tour-copy{position:relative;left:auto;top:auto;width:auto;order:0;margin:0 0 0 1%}
 .tour-scene .tour-copy h2{font-size:clamp(40px,7.9vw,60px);line-height:1.02;margin-bottom:22px}
 .tour-copy .tour-body{font-size:14px;line-height:1.8;max-width:48ch}
 .tour-copy .tour-body+.tour-body{margin-top:18px}
 .tour-eyebrow{font-size:9px;margin-bottom:20px}
 .tour-link{font-size:22px;margin-top:22px}
 .tour-scene .tour-photo--main{position:relative;top:auto;left:auto;width:calc(100% - 18px);height:auto;aspect-ratio:4/5;margin:10px 0 0 18px;order:1}
 .tour-scene .tour-photo--main::after{inset:12px 12px -12px -12px}
 .tour-scene .tour-photo--main::before{inset:-6% -3% 8% -5%}
 .tour-scene--covered-courtyard .tour-photo--main,.tour-scene--garden-walk .tour-photo--main,.tour-scene--wellness .tour-photo--main{aspect-ratio:4/3}
 .tour-scene--private-patio .tour-photo--main{margin-left:0}
 .tour-photo--secondary{display:none}
 .tour-photo figcaption{font-size:8px;margin-top:15px}
 .tour-disclosure{padding:8px 26px 26px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){.tour-link span{transition:none}}
@media print{.tour-scene{break-inside:avoid}.tour-controls,.tour-disclosure{display:none!important}}

.tour-chapter--enhanced.motion-near .tour-scene[data-visible]{will-change:opacity}
.tour-chapter--enhanced.motion-near .tour-scene[data-visible] .tour-copy{will-change:opacity,transform}
.tour-chapter--enhanced.motion-near .tour-scene[data-visible] .tour-photo{will-change:transform}
