/* Ground plan and film explorer on the services page. */
.plan-story{max-width:1200px;margin:0 auto;padding:70px 5% 65px;border-top:1px solid var(--line);scroll-margin-top:105px}
.plan-intro .eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:.8125rem}
.plan-intro h2{font-size:clamp(2rem,3.7vw,4rem);margin:14px 0 16px;line-height:1.1}
.plan-intro>p:last-child{font-size:1.125rem;color:var(--muted)}
.plan-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:30px 0}
.plan-tab{display:flex;align-items:center;gap:17px;text-align:left;background:none;border:0;border-bottom:1px solid #b8b0a1;padding:0 0 15px;min-width:0;font-size:1rem;line-height:1.4}
.plan-tab>span:last-child{min-width:0}
.plan-tab small{font-size:.9375rem;color:var(--accent);margin-right:8px}
.plan-tab[aria-selected=true]{border-bottom:3px solid var(--accent);padding-bottom:13px}
.plan-thumb{display:block;position:relative;width:100px;aspect-ratio:3/2;overflow:hidden;flex:none;border-radius:2px;background:var(--soft)}
.plan-thumb>img{width:100%;height:100%;object-fit:cover}
.plan-thumb>svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;color:white;border:1px solid white;border-radius:50%;padding:5px;background:#292b282b}
.plan-scan{position:relative;overflow:hidden;aspect-ratio:707/594}
.plan-scan>img{position:absolute;left:0;top:-79.63%;width:100%;height:auto;max-width:none}
.plan-thumb.plan-scan{aspect-ratio:3/2}
.plan-thumb.plan-scan>img{top:-100.35%}
.plan-layout{display:block}
.plan-main{min-width:0}
.plan-panel:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.plan-panel figure{margin:0}
.plan-panel figcaption{font-size:.8125rem;color:var(--muted);margin-top:12px;line-height:1.5}
.plan-concept{position:relative;aspect-ratio:3/2}
.plan-concept>img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.plan-room-markers{position:absolute;inset:0;pointer-events:none}
.plan-room-marker{position:absolute;left:var(--room-x);top:var(--room-y);width:var(--room-w);height:var(--room-h);border:2px solid transparent;background:transparent;pointer-events:auto;padding:0;border-radius:2px}
.plan-room-marker:hover{border-color:#977247b3;background:#a5783012}
.plan-room-marker[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px #fff9; background:#a5783009}
.plan-room-marker:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.plan-room-marker>span{display:none;position:absolute;left:50%;top:66%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid white;border-radius:50%;background:var(--accent);box-shadow:0 1px 8px #44321d33}
.plan-room-marker>span::after{content:"";position:absolute;inset:5px;border-radius:50%;background:white}
.plan-room-marker[aria-pressed=true]>span{display:block}
.plan-original{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;background:#f2efe7}
.plan-original>.plan-scan{width:78%;max-height:100%}
.plan-panel video{display:block;width:100%;height:auto;aspect-ratio:4/3;background:#272620;border-radius:2px}
.plan-room-choices{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:17px}
.plan-room-choices button{border:0;border-bottom:1px solid transparent;background:none;padding:10px 0;min-height:44px;font-size:.875rem;color:var(--muted);line-height:1.4}
.plan-room-choices button[aria-pressed=true]{border-color:var(--accent);color:var(--ink)}
.plan-video-error{font-size:.9375rem;margin-top:12px;padding:12px;background:var(--soft)}
.plan-video-error a,.plan-story noscript a{text-decoration:underline}
.plan-story button:disabled{opacity:1;cursor:default}
@media(max-width:1100px){.plan-tabs{gap:18px}.plan-tab{gap:12px}.plan-thumb{width:75px}}
@media(max-width:850px){.plan-story{padding:50px 6%}.plan-tabs{gap:12px}.plan-tab{flex-direction:column;align-items:flex-start;font-size:.875rem}.plan-thumb{width:100%;max-width:150px}.plan-tab small{display:block;margin-bottom:4px}.plan-intro>p:last-child{font-size:1rem}}
@media(max-width:500px){.plan-tabs{gap:10px;margin:24px 0}.plan-tab{font-size:.8125rem;line-height:1.35;gap:9px}.plan-tab small{font-size:.8125rem}.plan-room-choices{gap:0 15px}.plan-room-marker{border-width:1px}.plan-room-marker[aria-pressed=true]{box-shadow:none}.plan-room-marker>span{width:16px;height:16px}.plan-room-marker>span::after{inset:4px}}
