.floorplan-gallery{min-width:0}
.floorplan-stage{height:520px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f3f3f1}
.floorplan-stage img{width:100%;height:100%;object-fit:contain;background:transparent;transition:opacity .18s ease}
.floorplan-stage img.switching{opacity:.15}
.floorplan-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:12px;background:#d9d9d4}
.floorplan-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:58px;padding:10px 8px;border:0;background:#f3f3f1;color:var(--ink);cursor:pointer;font:inherit}
.floorplan-tabs button:hover,.floorplan-tabs button:focus-visible{background:#ebe5d9;outline:none}
.floorplan-tabs button.active{background:var(--forest);color:#fff}
.floorplan-tabs span{font:1.2rem Georgia,serif}
.floorplan-tabs small{font-size:.72rem;letter-spacing:.04em}
@media(max-width:800px){.floorplan-stage{height:460px}.floorplan-tabs small{display:none}.floorplan-tabs button{min-height:50px}}
@media(max-width:480px){.floorplan-stage{height:390px}}
+.tour{padding:9vw 6vw;background:#102019;color:#fff;opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease}
.tour.revealed{opacity:1;transform:none}
.tour-intro{max-width:760px;margin-bottom:44px}
.tour-intro h2{max-width:720px}
.tour-intro>p:last-child{color:#c7cec9;max-width:570px}
.tour-nav{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #ffffff2e;border-bottom:1px solid #ffffff2e;margin-bottom:48px}
.tour-nav button{min-width:0;padding:20px 14px;border:0;border-right:1px solid #ffffff20;background:transparent;color:#b8c0bb;text-align:left;cursor:pointer}
.tour-nav button:last-child{border-right:0}
.tour-nav button span{display:block;color:var(--gold);font:1rem Georgia,serif;margin-bottom:7px}
.tour-nav button b{display:block;font-size:.8rem;line-height:1.35}
.tour-nav button.active{background:var(--gold);color:#122019}
.tour-nav button.active span{color:#122019}
.tour-panel{display:none;grid-template-columns:minmax(250px,.72fr) minmax(0,1.55fr);gap:5vw;align-items:center}
.tour-panel.active{display:grid;animation:tourPanelIn .48s ease both}
@keyframes tourPanelIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
.tour-copy>span{color:var(--gold);font:2rem Georgia,serif}
.tour-copy h3{font:clamp(2rem,3.6vw,4rem)/1.05 Georgia,serif;font-weight:400;margin:.25em 0 .45em}
.tour-copy p{color:#d6dcd8;max-width:520px}
.tour-main{display:block;width:100%;height:560px;object-fit:cover;transition:opacity .18s ease}
.tour-main.switching{opacity:.18}
.tour-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:9px}
.tour-thumbs button{height:100px;padding:0;border:2px solid transparent;background:none;cursor:pointer;opacity:.55}
.tour-thumbs button.active{border-color:var(--gold);opacity:1}
.tour-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:980px){.tour-nav{grid-template-columns:1fr}.tour-nav button{border-right:0;border-bottom:1px solid #ffffff20;display:grid;grid-template-columns:44px 1fr;align-items:center;padding:12px 16px}.tour-nav button span{margin:0}.tour-panel{grid-template-columns:1fr}.tour-copy{max-width:720px}.tour-main{height:56vw;max-height:560px}}
@media(max-width:600px){.tour{padding:72px 24px}.tour-nav{margin-bottom:34px}.tour-main{height:62vw}.tour-thumbs button{height:72px}}
