/* Roofless conceptual view; the image remains intact at every breakpoint. */
.plan3d-panel.program-panel{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);background:#f6f4ee}
.plan3d-panel .program-main{min-width:0;padding:30px;border-right:1px solid var(--line)}
.plan3d-panel .program-heading{align-items:center;gap:18px;flex-wrap:wrap}
.plan3d-panel .program-heading .eyebrow{max-width:285px;font-size:10px;line-height:1.7;letter-spacing:.11em}
.plan3d-panel .measure-toggle{font-size:12px;gap:8px;flex-shrink:0}
.plan3d-panel .measure-toggle input{width:16px;height:16px;margin:0}
.plan3d-figure{position:relative;min-width:0;margin:23px 0 17px;background:#ebe7de;border:1px solid #ded9ce;overflow:hidden}
.plan3d-figure>img{display:block;width:100%;height:380px;max-height:430px;object-fit:contain;object-position:center}
.plan3d-open{position:absolute;right:13px;top:13px;display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:9px 12px;background:#f6f4eee8;border:1px solid #c9c4b7;color:var(--ink);font-size:11px;line-height:1.4;backdrop-filter:blur(8px);transition:background 240ms,border-color 240ms}
.plan3d-open>span{font-size:18px;line-height:1}
.plan3d-open:hover{background:#fffef8;border-color:var(--olive)}
.plan3d-open:disabled{display:none}
.plan3d-measures{display:flex;flex-wrap:wrap;gap:8px 15px;min-height:0;margin:0}
.plan3d-measures .dimension{position:static;inset:auto;display:block;flex:1 1 180px;border:0;padding:0 0 14px;text-align:left;color:#656d55;font-size:11px;line-height:1.6;letter-spacing:.015em}
.plan3d-rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 20px}
.plan3d-panel .plan3d-room.room{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;min-height:75px;min-width:0;padding:12px 13px;background:#ece8de;color:var(--ink);border:1px solid #cfc9bc;text-align:left;overflow:visible;transition:background 260ms,color 260ms,border-color 260ms}
.plan3d-panel .plan3d-room .room-index{font-size:9px;line-height:1;letter-spacing:.08em;opacity:.7}
.plan3d-panel .plan3d-room .room-title{font-size:14px;line-height:1.3;letter-spacing:-.025em;overflow-wrap:normal}
.plan3d-panel .plan3d-room.room.selected{background:var(--olive);border-color:var(--olive);color:var(--paper)}
.plan3d-panel .plan3d-room.room:hover{box-shadow:none;border-color:var(--olive)}
.plan3d-panel .plan3d-room:focus-visible,.plan3d-open:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
.plan3d-panel .diagram-caption{font-size:11px;line-height:1.7;max-width:600px;color:#777165;margin:0}
.plan3d-panel .program-main>.text-link{font-size:12px;margin-top:7px}
.plan3d-panel .room-description{min-width:0;padding:40px 34px;justify-content:flex-start;background:#f8f6f0}
.plan3d-panel .room-description .eyebrow{font-size:10px;line-height:1.6;letter-spacing:.12em}
.plan3d-panel .room-description h3{font-size:30px;line-height:1.15;margin:24px 0 20px}
.plan3d-panel .room-description>p{font-size:15px;line-height:1.85}
.plan3d-panel .room-description .program-total{font-size:10px;line-height:1.6;letter-spacing:.04em;margin-top:28px;padding-top:18px;gap:15px}
.plan3d-panel .program-total strong{font-size:27px;line-height:1.1}
@media(max-width:1100px){.plan3d-panel.program-panel{grid-template-columns:minmax(0,1.45fr) minmax(250px,1fr)}.plan3d-panel .program-main{padding:24px}.plan3d-panel .program-heading{gap:13px}.plan3d-panel .program-heading .eyebrow{max-width:250px}.plan3d-panel .room-description{padding:30px 27px}.plan3d-panel .plan3d-room.room{padding:12px 10px}.plan3d-panel .plan3d-room .room-title{font-size:13px}}
@media(max-width:820px){.plan3d-panel.program-panel{grid-template-columns:1fr}.plan3d-panel .program-main{border-right:0;border-bottom:1px solid var(--line);padding:26px}.plan3d-panel .program-heading{flex-direction:row;align-items:center}.plan3d-panel .program-heading .eyebrow{max-width:none}.plan3d-figure>img{height:clamp(300px,51vw,410px);max-height:410px}.plan3d-panel .room-description{padding:30px}.plan3d-panel .room-description h3{margin-block:17px}.plan3d-panel .room-description .program-total{margin-top:23px}.plan3d-panel .plan3d-room .room-title{font-size:15px}}
@media(max-width:520px){.plan3d-panel .program-main{padding:21px}.plan3d-panel .program-heading{gap:13px;align-items:flex-start;flex-direction:column}.plan3d-figure{margin-top:19px;margin-bottom:14px}.plan3d-figure>img{height:260px;max-height:none}.plan3d-open{right:9px;top:9px;min-height:36px;padding:7px 9px;font-size:10px;gap:8px}.plan3d-rooms{gap:6px;margin-bottom:18px}.plan3d-panel .plan3d-room.room{min-height:78px;padding:11px 9px;gap:8px}.plan3d-panel .plan3d-room .room-title{font-size:13px;line-height:1.35}.plan3d-panel .room-description{padding:27px 24px}.plan3d-panel .room-description h3{font-size:28px}.plan3d-panel .room-description>p{font-size:15px}.plan3d-measures .dimension{flex-basis:100%;padding-bottom:9px;font-size:10px}.plan3d-panel .diagram-caption{font-size:10px}.plan3d-panel .program-main>.text-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){.plan3d-open,.plan3d-panel .plan3d-room.room{transition:none}}
.plan3d-panel.program-panel{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}
.plan3d-panel .plan3d-figure>img{height:auto;max-height:none;aspect-ratio:2/1;object-fit:contain}
.plan3d-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 12px;border-top:1px solid var(--line);background:var(--paper);font-size:10px;line-height:1.5;color:#777165}
.plan3d-caption .plan3d-open{position:static;min-height:34px;padding:6px 10px;font-size:10px}
.plan3d-dialog{background:var(--paper);color:var(--ink);width:min(94vw,1250px);max-width:94vw;max-height:94svh;border:1px solid var(--line);padding:24px;overflow:auto}
.plan3d-dialog::backdrop{background:#181b15d9;backdrop-filter:blur(6px)}
.plan3d-dialog-header{display:flex;justify-content:space-between;align-items:start;gap:25px;margin-bottom:20px}
.plan3d-dialog h2{font-size:28px;font-weight:400;margin-top:8px;line-height:1.2}
.plan3d-dialog-close{background:transparent;color:var(--ink);border:1px solid #aca99d;min-height:43px;padding:8px 17px;font-size:13px;cursor:pointer}
.plan3d-dialog>img{width:100%;height:auto;max-height:68svh;object-fit:contain;background:#f6f1e7}
.plan3d-dialog>p{font-size:11px;line-height:1.7;color:#686458;margin-top:16px}
@media(max-width:820px){.plan3d-panel.program-panel{grid-template-columns:1fr}}
@media(max-width:520px){.plan3d-caption{padding:7px 9px;font-size:9px;gap:8px}.plan3d-caption .plan3d-open{min-height:32px;padding:5px 8px;font-size:9px}.plan3d-dialog{padding:17px}.plan3d-dialog h2{font-size:23px}.plan3d-dialog-header{gap:12px;margin-bottom:15px}.plan3d-dialog .eyebrow{font-size:9px}.plan3d-dialog-close{min-height:39px;padding:7px 11px}.plan3d-dialog>p{font-size:10px}}
@media(prefers-reduced-motion:no-preference){.plan3d-dialog[open]{animation:niva-dialog-in 280ms var(--niva-ease) both}.plan3d-dialog[open]::backdrop{animation:niva-backdrop-in 220ms ease-out both}}

/* On the home page the render leads, with a narrow supporting description. */
.home-model-showcase{padding-block:80px 75px}
.home-model-showcase>.section-shell{max-width:1500px}
.home-model-showcase .section-heading{margin-bottom:30px}
.home-model-showcase .plan3d-panel.program-panel{grid-template-columns:minmax(0,3fr) minmax(225px,.85fr)}
.home-model-showcase .plan3d-panel .program-main{padding:28px}
.home-model-showcase .plan3d-panel .room-description{padding:37px 23px}
.home-model-showcase .plan3d-panel .room-description h3{font-size:26px;line-height:1.2}
.home-model-showcase .plan3d-panel .room-description>p{font-size:14px;line-height:1.85}
.home-model-showcase .plan3d-panel .room-description .program-total{font-size:9px;gap:12px}
.home-model-showcase .plan3d-panel .program-total strong{font-size:25px}
@media(max-width:1000px){.home-model-showcase .plan3d-panel.program-panel{grid-template-columns:minmax(0,2.5fr) minmax(210px,.9fr)}.home-model-showcase .plan3d-panel .program-main{padding:23px}.home-model-showcase .plan3d-panel .room-description{padding:30px 21px}}
@media(max-width:820px){.home-model-showcase .plan3d-panel.program-panel{grid-template-columns:1fr}.home-model-showcase .plan3d-panel .room-description{padding:26px}.home-model-showcase .plan3d-panel .room-description>p{font-size:15px}}
@media(max-width:520px){.home-model-showcase{padding-block:57px}.home-model-showcase .plan3d-panel .program-main{padding:20px}.home-model-showcase .plan3d-panel .room-description{padding:25px 23px}}

/* Local interaction motion for the NIVA 27 explorer. */
.product-explorer .explorer-tabs{position:relative}
.product-explorer .model-tab-indicator{position:absolute;left:0;bottom:-1px;width:0;height:3px;background:#c6ceae;pointer-events:none;z-index:2;transform-origin:left center}
.product-explorer .explorer-tabs button:focus-visible{outline:2px solid var(--terra);outline-offset:-5px;z-index:1}
.plan3d-panel .plan3d-room.room:focus-visible,.plan3d-open:focus-visible{outline-offset:4px}
@media(prefers-reduced-motion:no-preference){
  .product-explorer .model-tab-indicator{transition:transform 480ms var(--niva-ease),width 480ms var(--niva-ease)}
  .plan3d-panel .plan3d-room.room{transition:background 280ms,color 280ms,border-color 280ms,translate 360ms var(--niva-ease),box-shadow 360ms var(--niva-ease)}
  .plan3d-panel .plan3d-room.room:focus-visible{translate:0 -3px;box-shadow:0 6px 18px #282b2010}
  .plan3d-panel .plan3d-room.room:active{translate:0 0;box-shadow:none}
  .plan3d-open{transition:background 240ms,border-color 240ms,box-shadow 340ms var(--niva-ease),translate 340ms var(--niva-ease)}
  .plan3d-open>span{display:inline-block;transition:transform 340ms var(--niva-ease)}
  .plan3d-open:focus-visible{translate:0 -2px;box-shadow:0 4px 14px #282b2010}
  .plan3d-open:focus-visible>span{transform:translate(2px,-2px)}
  .plan3d-open:active{translate:0 0;box-shadow:none}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
  .plan3d-panel .plan3d-room.room:hover{translate:0 -3px;box-shadow:0 6px 18px #282b2010}
  .plan3d-panel .plan3d-room.room:active{translate:0 0;box-shadow:none}
  .plan3d-open:hover{translate:0 -2px;box-shadow:0 4px 14px #282b2010}
  .plan3d-open:hover>span{transform:translate(2px,-2px)}
  .plan3d-open:active{translate:0 0;box-shadow:none}
}
@media(prefers-reduced-motion:reduce){
  .product-explorer .model-tab-indicator,.plan3d-panel .plan3d-room.room,.plan3d-open,.plan3d-open>span{transition:none;animation:none}
  .plan3d-panel .plan3d-room.room,.plan3d-open{translate:none;scale:none}
  .plan3d-open>span{transform:none}
}
