
/* V104 – ausschließlich Hausidee Mehrfamilienhaus 01. Andere Seiten unverändert. */
.v104-mfh .v042-detail-head { padding-bottom: clamp(44px, 5vw, 75px); }
.v104-mfh .v104-floor-section { background: #f8f9f6; padding: clamp(54px, 6vw, 82px) 0; }
.v104-mfh .v043-section-intro { margin-bottom: 30px; }
.v104-mfh .v104-floor-block { border-top: 1px solid #d9ded8; padding: 36px 0 58px; }
.v104-mfh .v104-floor-block+.v104-floor-block { padding-top: 51px; }
.v104-mfh .v104-floor-heading { margin-bottom: 22px; max-width: 800px; }
.v104-mfh .v104-floor-heading .kicker { font-size: 11px; margin-bottom: 10px; }
.v104-mfh .v104-floor-heading h3 { font-size: clamp(27px, 2.8vw, 36px); line-height: 1.18; margin: 0 0 10px; letter-spacing: -.027em; color: #222e26; }
.v104-mfh .v104-floor-heading p:not(.kicker) { margin: 0; font-size: 15px; line-height: 1.65; color: #4e5b51; }
.v104-mfh .v104-plan-media { width: 100%; max-width: 1110px; margin: 0 auto 26px; }
.v104-mfh .v104-plan-media a { display: block; text-decoration: none; color: #aa1221; }
.v104-mfh .v104-plan-media a:focus-visible { outline: 3px solid #b10e20; outline-offset: 4px; }
.v104-mfh .v104-plan-media img { display: block; width: 100%; height: auto; max-height: 870px; object-fit: contain; background: #fff; border: 1px solid #dfe4de; box-sizing: border-box; }
.v104-mfh .v104-plan-media a span { display: block; margin-top: 9px; font-size: 13px; font-weight: 700; text-align: right; text-decoration: underline; text-underline-offset: 3px; }
.v104-mfh .v104-unit-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(17px, 2.7vw, 34px); align-items: stretch; }
.v104-mfh .v104-unit-card { min-width: 0; padding: clamp(18px, 2.5vw, 28px); background: #fff; border: 1px solid #e0e5df; }
.v104-mfh .v104-unit-card-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.v104-mfh .v104-unit-label { font-size: 10px; font-weight: 800; letter-spacing: .09em; color: #a8192a; }
.v104-mfh .v104-unit-card h3 { font-size: clamp(19px, 2vw, 24px); line-height: 1.25; letter-spacing: -.02em; color: #253429; margin: 4px 0 0; }
.v104-mfh .v104-unit-area { white-space: nowrap; font-size: 20px; font-weight: 800; color: #233128; }
.v104-mfh .v104-unit-card>p { margin: 0 0 17px; font-size: 14px; line-height: 1.68; color: #445247; }
.v104-mfh .v104-unit-card .v044-floor-areas { margin-top: 17px; }
.v104-mfh .v104-unit-card .v044-floor-areas h4 { font-size: 16px; }
.v104-mfh .v104-unit-card .v044-floor-areas table { font-size: 13px; }
.v104-mfh .v104-unit-card .v044-floor-areas td:last-child { white-space: nowrap; }
.v104-mfh .v104-plan-note { font-size: 13px; color: #58665b; line-height: 1.6; margin: 16px 0 0; }
.v104-mfh .v042-floor-note { max-width: 1100px; }
.v104-mfh .v044-feature strong { font-size: 12px; }
.v104-mfh .v044-feature span { font-size: 10px; }
.v104-mfh .v042-stage img { object-fit: contain; }
@media(max-width: 760px) {
 .v104-mfh .v104-unit-grid { grid-template-columns: 1fr; }
 .v104-mfh .v104-floor-block { padding: 27px 0 41px; }
 .v104-mfh .v104-floor-block+.v104-floor-block { padding-top: 37px; }
 .v104-mfh .v104-plan-media { margin-bottom: 18px; }
 .v104-mfh .v104-unit-card { padding: 19px; }
}
@media(max-width: 480px) {
 .v104-mfh .v104-unit-card-head { flex-wrap: wrap; gap: 8px; }
 .v104-mfh .v104-unit-area { font-size: 18px; }
 .v104-mfh .v104-unit-card .v044-floor-areas table { font-size: 12px; }
 .v104-mfh .v104-unit-card .v044-floor-areas th,
 .v104-mfh .v104-unit-card .v044-floor-areas td { padding: 9px 3px; }
}
