.duplex-section{padding-block:78px 88px;scroll-margin-top:24px}
.duplex-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}
.duplex-heading .eyebrow{color:var(--accent);margin-bottom:20px}
.duplex-heading h2{font-size:clamp(46px,5.3vw,76px);line-height:1.02;letter-spacing:-.025em}
.duplex-heading>p{max-width:405px;font-size:17px;color:var(--muted);margin:0 0 4px}
.duplex-explorer{background:#f0f1eb;border:1px solid #d4d9d0;--duplex-green:#49695d;--duplex-clay:#a6654b}
.duplex-explorer [hidden]{display:none!important}
.duplex-topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 24px;border-bottom:1px solid #d4d9d0;background:#fafaf5}
.duplex-units{display:flex;gap:4px;flex-wrap:wrap}
.duplex-units button,.duplex-view-toggle button{border:1px solid transparent;background:transparent;color:#506059;padding:11px 16px;min-height:44px;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer}
.duplex-units button[aria-pressed=true]{background:#253a32;color:#fff;border-color:#253a32}
.duplex-units button[data-duplex-unit=upper][aria-pressed=true]{background:var(--duplex-clay);border-color:var(--duplex-clay)}
.duplex-units button[data-duplex-unit=lower][aria-pressed=true]{background:var(--duplex-green);border-color:var(--duplex-green)}
.duplex-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--duplex-green);margin-right:8px}
.duplex-dot-upper{background:var(--duplex-clay)}
.duplex-units button[aria-pressed=true] .duplex-dot{background:#fff}
.duplex-view-toggle{display:flex;flex-shrink:0;border:1px solid #c6d0c7;padding:3px}
.duplex-view-toggle button{padding:8px 12px;font-size:13px}
.duplex-view-toggle button[aria-pressed=true]{background:white;border-color:#d5dbd4;color:#20352d}
.duplex-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:stretch}
.duplex-visual{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 44% 42%,#fafbf7 5%,#eef0e8 80%)}
.duplex-stage-head{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:24px 28px 0;font-size:12px;color:#63736b;letter-spacing:.04em}
.duplex-stage-head strong{color:#30483d;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.duplex-scene{min-width:0;min-height:525px;display:flex;align-items:center;justify-content:center;width:100%;flex:1}
.duplex-scene>.duplex-model,.duplex-scene>.duplex-fallback{width:100%;height:auto;display:block}
.duplex-model{font-family:var(--sans)}
.duplex-model-floor,.duplex-model-label{cursor:pointer;outline:none}
.duplex-model-floor:hover>polygon,.duplex-model-label:hover rect,.duplex-model-label:focus rect{stroke:#182e22;stroke-width:3}
.duplex-model-label:focus rect{fill:#e1eadf}
.duplex-model-controls{border-top:1px solid #d7ddd3;padding:19px 26px 22px;display:flex;gap:22px;align-items:center}
.duplex-spread{flex:1;min-width:0}
.duplex-spread label{font-size:13px;font-weight:600;display:flex;justify-content:space-between;gap:10px;color:#314b3e;margin-bottom:8px}
.duplex-spread label span{font-size:11px;font-weight:400;color:#64766a}
.duplex-spread input{width:100%;accent-color:#49695d;cursor:ew-resize;min-height:28px;margin:0;display:block}
.duplex-spread-ends{display:flex;justify-content:space-between;font-size:11px;color:#607365;margin-top:1px}
.duplex-camera{display:flex;gap:5px;align-items:center}
.duplex-camera button{border:1px solid #b8c7bc;background:#f8faf5;color:#355343;min-width:43px;min-height:44px;font-size:21px;cursor:pointer}
.duplex-camera .duplex-reset{font-size:12px;padding-inline:11px}
.duplex-panel{padding:29px 26px;background:#fffefa;border-left:1px solid #d4d9d0;min-width:0}
.duplex-small-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#6b796f;font-weight:600;margin:0 0 14px;line-height:1.6}
.duplex-panel h3{font-size:36px;line-height:1.04;letter-spacing:-.02em;margin:0 0 18px;outline:none}
.duplex-panel h3:focus-visible{outline:2px solid #49695d;outline-offset:5px}
.duplex-panel-copy{font-size:14px;line-height:1.7;color:#59695f;margin:0 0 22px}
.duplex-unit-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #d9ded5;border-bottom:1px solid #d9ded5;padding:16px 0;margin:22px 0 28px}
.duplex-unit-summary strong{display:block;font-size:26px;font-family:var(--serif);font-weight:400;color:#314d3c;line-height:1.2}
.duplex-unit-summary span{display:block;font-size:11px;color:#657466;line-height:1.6;margin-top:5px}
.duplex-floor-list{display:flex;flex-direction:column;gap:5px;margin-top:24px}
.duplex-floor-list .duplex-small-label{margin-bottom:6px}
.duplex-floor-button{background:#f6f7f0;border:1px solid #e1e5db;color:#243c2d;display:flex;align-items:center;gap:12px;padding:10px 11px;text-align:left;min-height:55px;cursor:pointer;width:100%}
.duplex-floor-button:hover{border-color:#758f7c;background:#edf2e8}
.duplex-floor-button[aria-pressed=true]{border-color:#49695d;background:#e7eee3}
.duplex-floor-button[data-unit=upper][aria-pressed=true]{border-color:#a6654b;background:#f3e8df}
.duplex-floor-index{display:grid;place-items:center;width:31px;height:31px;background:#dce7df;color:#3c6150;font-size:12px;font-weight:700;flex-shrink:0}
.duplex-floor-button[data-unit=upper] .duplex-floor-index{background:#efddd1;color:#925639}
.duplex-floor-button strong{display:block;font-size:13px;line-height:1.4;font-weight:600}
.duplex-floor-button small{display:block;font-size:11px;color:#647265;line-height:1.5}
.duplex-floor-arrow{margin-left:auto;color:#647265;font-size:18px}
.duplex-plan{padding:25px 20px 20px;margin:0;width:100%}
.duplex-plan-map{position:relative;width:min(100%,388px);margin-inline:auto}
.duplex-plan-map img{width:100%;height:auto;mix-blend-mode:multiply;user-select:none}
.duplex-pin{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;padding:0;cursor:pointer}
.duplex-pin span{display:grid;place-items:center;width:29px;height:29px;border:2px solid white;background:var(--unit-color);color:white;border-radius:50%;font-size:12px;font-weight:700;box-shadow:0 2px 6px #19222533;transition:transform .2s}
.duplex-pin:hover span,.duplex-pin[aria-pressed=true] span{transform:scale(1.18);background:#192c22}
.duplex-pin .duplex-pin-label{display:none;position:absolute;bottom:44px;left:50%;transform:translateX(-50%);width:max-content;max-width:170px;height:auto;border:1px solid #ccd6c5;border-radius:2px;background:#fffefa;color:#29462f;padding:7px 10px;font-size:12px;line-height:1.4;font-weight:600;box-shadow:0 3px 10px #1828201a;pointer-events:none}
.duplex-pin[aria-pressed=true]{z-index:2}
.duplex-pin[aria-pressed=true] .duplex-pin-label,.duplex-pin:focus-visible .duplex-pin-label{display:block;transform:translateX(-50%);background:#fffefa}
.duplex-pin-right .duplex-pin-label,.duplex-pin-right[aria-pressed=true] .duplex-pin-label,.duplex-pin-right:focus-visible .duplex-pin-label{left:auto;right:0;transform:none}
.duplex-plan figcaption{font-size:11px;color:#657569;line-height:1.6;text-align:center;margin-top:18px}
.duplex-plan figcaption span{display:block;margin-top:2px;font-size:10px;letter-spacing:.04em}
.duplex-room-buttons{display:flex;flex-wrap:wrap;gap:5px}
.duplex-room-buttons button{display:flex;align-items:center;gap:7px;text-align:left;border:1px solid #d9e0d3;background:#f7f9f2;color:#314e3d;font-size:12px;padding:7px 9px;min-height:40px;cursor:pointer}
.duplex-room-buttons button span{font-size:10px;min-width:16px;color:#74806f}
.duplex-room-buttons button[aria-pressed=true]{background:#e0eadb;border-color:#456c51;color:#203823}
.duplex-room-detail{margin-top:15px;border-left:3px solid #49695d;padding:10px 0 9px 14px}
.duplex-room-detail h4{font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.4;margin:0 0 6px;color:#2b4735}
.duplex-room-detail p{font-size:13px;color:#596b5c;line-height:1.65;margin:0}
.duplex-tour{border-top:1px solid #d4d9d0;background:#e8ece2;padding:22px 26px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:35px;align-items:center}
.duplex-tour-copy strong{display:block;font-size:14px;font-weight:600;color:#2b4235;margin-bottom:6px}
.duplex-tour-copy p{font-size:13px;color:#546656;line-height:1.65;max-width:750px;margin:0}
.duplex-tour-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.duplex-tour-controls button{min-height:44px;border:1px solid #aebead;background:#fafcf4;color:#294730;padding:9px 12px;font-size:13px;cursor:pointer}
.duplex-tour-controls button[data-duplex-play]{background:#2b4936;border-color:#2b4936;color:#fff;min-width:153px}
.duplex-tour-controls button[data-duplex-tour-prev],.duplex-tour-controls button[data-duplex-tour-next]{font-size:19px;min-width:40px;padding-inline:9px}
.duplex-tour-count{font-size:11px;color:#4d634f;min-width:35px;text-align:center;font-variant-numeric:tabular-nums}
.duplex-source-note{font-size:12px;color:var(--muted);line-height:1.7;margin:18px 0 0;max-width:1040px}
.duplex-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.duplex-explorer button:focus-visible,.duplex-explorer input:focus-visible{outline:2px solid #264d31;outline-offset:3px}
@media(max-width:1150px){.duplex-body{grid-template-columns:minmax(0,1fr) 300px}.duplex-panel{padding:25px 20px}.duplex-tour{grid-template-columns:1fr;gap:17px}.duplex-scene{min-height:480px}.duplex-stage-head{padding-inline:20px}.duplex-model-controls{padding-inline:18px;gap:15px}}
@media(max-width:850px){.duplex-heading{display:block}.duplex-heading>p{max-width:620px;margin-top:23px}.duplex-body{grid-template-columns:1fr}.duplex-panel{border-left:0;border-top:1px solid #d4d9d0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;padding:27px}.duplex-panel-intro{min-width:0}.duplex-floor-list{margin-top:0}.duplex-panel .duplex-unit-summary{margin-bottom:0}.duplex-room-detail{grid-column:1/-1}.duplex-room-list{grid-column:1}.duplex-stage-head{padding-top:20px}.duplex-scene{min-height:0}.duplex-model{max-height:680px}.duplex-plan-map{width:min(100%,388px)}.duplex-plan{padding-block:25px}.duplex-topbar{padding:16px;flex-wrap:wrap}.duplex-units button{padding-inline:12px}.duplex-section{padding-block:56px 62px}.duplex-source-note{font-size:11px}}
@media(max-width:600px){.duplex-heading h2{font-size:50px}.duplex-heading>p{font-size:16px}.duplex-topbar{gap:11px}.duplex-units{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.duplex-units button{font-size:12px;padding:9px 4px}.duplex-units .duplex-dot{width:6px;height:6px;margin-right:4px}.duplex-view-toggle{margin-left:auto}.duplex-view-toggle button{min-height:36px;padding:6px 12px;font-size:12px}.duplex-stage-head{padding:18px 15px 0;gap:8px}.duplex-stage-head strong{font-size:10px}.duplex-stage-head>span{font-size:10px}.duplex-model-controls{flex-wrap:wrap;padding:14px 16px 18px;gap:12px}.duplex-spread{flex-basis:100%}.duplex-camera{margin-left:auto}.duplex-panel{display:block;padding:24px 19px}.duplex-panel h3{font-size:35px;max-width:330px}.duplex-floor-list{margin-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.duplex-floor-list .duplex-small-label{grid-column:1/-1}.duplex-floor-button{gap:7px;padding:9px 7px;align-items:start}.duplex-floor-index{width:25px;height:25px;font-size:10px}.duplex-floor-button strong{font-size:12px}.duplex-floor-button small{font-size:10px}.duplex-floor-arrow{display:none}.duplex-room-list{margin-top:21px}.duplex-room-buttons button{min-height:44px}.duplex-tour{padding:19px;gap:19px}.duplex-tour-controls{gap:5px}.duplex-tour-controls button[data-duplex-play]{min-width:140px;font-size:12px}.duplex-plan{padding-inline:13px}.duplex-source-note{line-height:1.6}}
@media(prefers-reduced-motion:reduce){.duplex-explorer *{animation:none!important;transition:none!important}}
@media(min-width:601px) and (max-width:850px){.duplex-floor-list{grid-column:2;grid-row:1 / span 3}.duplex-room-detail{grid-column:1}}
