/* Visual explanation: original scenes, one readable diagram, no decorative cards. */
.visual-story{padding-top:65px;padding-bottom:65px}
.visual-story>h2{max-width:850px}
.story-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:45px}
.story-scenes figure{margin:0;min-width:0}
.story-scenes picture{display:block;overflow:hidden;background:#e6e7dc}
.story-scenes img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .7s ease}
.story-scenes figure:hover img{transform:scale(1.025)}
.story-scenes figcaption{padding-top:20px}
.story-scenes h3{font-size:clamp(30px,3vw,43px);margin:0 0 12px}
.story-scenes p{font-size:13px;line-height:1.8;max-width:320px;margin:0;color:var(--muted)}
.visual-note{font-size:10px;color:var(--muted);margin:28px 0 0;line-height:1.7}
.home-tour{background:linear-gradient(135deg,#eef1e6 0%,#f5f3ea 70%,#e6eee5 100%);max-width:none;margin-top:20px;padding:80px max(6vw,calc((100vw - 1200px)/2))}
.home-tour>.tour-heading{max-width:760px}
.tour-heading p{color:var(--muted);font-size:14px;max-width:570px}
.tour-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:55px;align-items:center}
.house-figure{margin:0;min-width:0}
.house-stage{position:relative;isolation:isolate}
.house-stage>svg{display:block;width:100%;height:auto;overflow:visible}
.house-stage g[data-room]{transition:opacity .35s ease}
.home-tour[data-active-zone]:not([data-active-zone=""]) g[data-room]{opacity:.5}
.home-tour[data-active-zone="windows"] g[data-room="windows"],.home-tour[data-active-zone="arrival"] g[data-room="arrival"],.home-tour[data-active-zone="water"] g[data-room="water"],.home-tour[data-active-zone="equipment"] g[data-room="equipment"]{opacity:1}
.zone-marker{position:absolute;display:grid;place-items:center;width:44px;height:44px;transform:translate(-50%,-50%);border:1px solid #7e9283;background:#f8f8ee;color:#273b3d;border-radius:50%;font-size:13px;box-shadow:0 0 0 5px #f8f8ee77;transition:background .25s,box-shadow .25s,color .25s}
.zone-marker[aria-current="true"]{background:#273b3d;color:#fafaf7;box-shadow:0 0 0 7px #7e92832b}
.zone-marker[data-zone-link="windows"]{left:34%;top:48%}
.zone-marker[data-zone-link="arrival"]{left:65%;top:49%}
.zone-marker[data-zone-link="water"]{left:34%;top:73%}
.zone-marker[data-zone-link="equipment"]{left:67%;top:73%}
.house-figure>figcaption{font-size:10px;line-height:1.6;text-align:center;color:var(--muted)}
.tour-points{border-top:1px solid #b7c4b4}
.tour-points details{padding:12px 0;border-color:#b7c4b4;scroll-margin-top:30px}
.tour-points summary{align-items:baseline;justify-content:flex-start;gap:16px;font-family:var(--display);font-size:30px;line-height:1.2}
.tour-points summary>span{font:12px var(--text);color:var(--muted)}
.tour-points summary:after{margin-left:auto;font:20px var(--text)}
.tour-points details p{margin:10px 0 8px 33px;font-size:13px;line-height:1.8;color:var(--ink)}
.tour-points details[open]>summary{color:#273b3d}
.home-tour>.visual-note{max-width:760px}
.home-tour .tour-link{display:inline-block;margin-top:20px;font-size:13px;text-decoration:underline;text-underline-offset:6px;padding:12px 0}
.is-visible.story-scenes figure,.visual-story figure.is-visible,.home-tour.is-visible .house-stage{animation:story-arrive .8s ease-out both}
@keyframes story-arrive{from{opacity:.5;translate:0 16px}to{opacity:1;translate:0 0}}
@media(max-width:950px){.story-scenes{gap:20px}.tour-layout{gap:25px;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr)}.tour-points summary{font-size:27px}}
@media(max-width:650px){.story-scenes{grid-template-columns:1fr;gap:38px;margin-top:30px}.story-scenes img{aspect-ratio:3/2}.story-scenes figcaption{padding-top:16px}.story-scenes h3{font-size:35px;margin-bottom:8px}.story-scenes p{max-width:none;font-size:14px}.visual-story{padding-top:45px;padding-bottom:45px}.home-tour{padding:50px 6vw}.tour-layout{grid-template-columns:1fr;gap:26px}.house-figure{margin:0 -4vw}.tour-points summary{font-size:29px}.tour-points details p{font-size:14px}.tour-heading p{font-size:14px}.home-tour h2{font-size:42px}.visual-note{font-size:11px}.zone-marker{width:44px;height:44px}.house-figure>figcaption{padding:0 4vw}}
@media(prefers-reduced-motion:reduce){.story-scenes img,.house-stage g[data-room],.zone-marker{transition:none}.story-scenes figure:hover img{transform:none}.visual-story figure.is-visible,.home-tour.is-visible .house-stage{animation:none}}
