/* Each projected plan lives within its own frame, so floors never overlap. */
.house-layout { grid-template-columns:minmax(0,1fr) 270px; gap:36px; margin-top:24px; }
.house-title,.house-key .key-title { font:600 18px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; letter-spacing:0; margin:0; }
.house-stage { padding:24px; overflow:visible; }
.stage-heading { gap:16px; align-items:baseline; }
.stage-heading .eyebrow { margin:0; }
.stage-help { font-size:12px; color:var(--muted); margin:12px 0 20px; }
.floor-stack { padding:0; display:grid; gap:8px; }
.floor-plate { display:grid; grid-template-columns:105px minmax(0,1fr); height:auto; border-radius:0; padding:8px 0; border:0; border-top:1px solid #253b3714; background:transparent; }
.floor-caption { width:auto; padding:10px 0 10px 14px; border-left:3px solid transparent; border-radius:0; background:transparent; }
.floor-caption strong { font-size:20px; }
.floor-caption small { font:11px/1.5 sans-serif; }
.floor-caption::after { content:'Velg etasje'; display:block; font:10px/1.5 sans-serif; color:var(--muted); margin-top:9px; }
.floor-plate[aria-pressed=true] .floor-caption { border-left-color:var(--ink); }
.floor-plate[aria-pressed=true] .floor-caption::after { content:'● Valgt etasje'; color:var(--ink); font-weight:600; }
.plate-frame { display:flex; align-items:center; justify-content:center; aspect-ratio:2.4; min-width:0; }
.floor-plate .plate-drawing,.floor-plate[aria-pressed=true] .plate-drawing { display:block; width:75%; height:auto; border:0; transform:rotate(-12deg) skewX(20deg) scaleY(.7); box-shadow:-4px 6px 0 #bac3b9,-7px 13px 16px #253b3712; transition:filter .15s; }
.floor-plate:hover .plate-drawing { filter:brightness(1.025); }
.floor-plate:focus-visible { outline:none; }
.floor-plate:focus-visible .floor-caption { outline:2px solid var(--ink); outline-offset:4px; border-radius:3px; }
.floor-plate .attic { aspect-ratio:2.5; display:flex; align-items:center; justify-content:center; font-size:10px; }
.stage-note { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.unit-key i.wet-swatch,.plan-legend i.wet-swatch { background:repeating-linear-gradient(135deg,transparent 0 6px,#79a9c299 6px 7px,transparent 7px 13px),#fffdf8; }
.house-key { position:sticky; top:24px; }
.selected-floor-link { display:block; border-bottom:1px solid var(--ink); padding:12px 0; font-size:14px; }
.floor-plan-sheet { max-height:none; }
.floor-plan-sheet.is-zoomed { max-height:75vh; }
.existing-comparison { border-top:1px solid var(--line); padding-top:32px; }
.existing-comparison h3 { font-size:17px; margin:0 0 12px; }
.comparison-points { padding-left:22px; max-width:85ch; margin:0 0 28px; }
.comparison-points li { padding:0 0 8px 4px; }
.existing-sheet { margin:0; padding:20px; background:#fff; border:1px solid var(--line); }
.existing-sheet img { display:block; width:100%; height:auto; }
.existing-sheet figcaption { border-top:1px solid var(--line); margin-top:16px; padding-top:12px; font-size:12px; color:var(--muted); }
@media(max-width:1000px) {
  .house-layout { grid-template-columns:1fr; }
  .house-key { position:static; }
  .floor-plate { grid-template-columns:125px minmax(0,1fr); }
}
@media(max-width:600px) {
  .house-stage { padding:16px 10px; }
  .stage-heading { padding:0 6px; }
  .stage-help { padding:0 6px; }
  .floor-plate { grid-template-columns:80px minmax(0,1fr); }
  .floor-caption { padding-left:8px; }
  .floor-caption strong { font-size:17px; }
  .floor-caption small { font-size:10px; }
  .plate-frame { aspect-ratio:1.75; }
  .floor-plate .plate-drawing { width:78%; }
  .floor-plate .attic { font-size:7px; }
}
@media(prefers-reduced-motion:reduce) { .floor-plate .plate-drawing { transition:none; } }
@media print { .house-key { position:static; } .floor-plate { display:grid!important; } .floor-plan-sheet.is-zoomed { max-height:none; } }
