.house-blueprint-section{padding-block:var(--space-12);background:var(--surface);border-bottom:1px solid var(--border)}.house-diagram-wrap{gap:var(--space-12);grid-template-columns:1.3fr 1fr;align-items:center;display:grid}@media (width<=900px){.house-diagram-wrap{gap:var(--space-8);grid-template-columns:1fr}}.house-blueprint{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.house-blueprint img{border:1px solid var(--border);border-radius:var(--radius-lg);background:#f4ecd8;width:100%;height:auto}.house-blueprint figcaption{font-family:var(--font-mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;text-align:center;padding-top:var(--space-2);font-size:12px}.house-diagram-caption h2{max-width:22ch;margin:var(--space-2) 0 var(--space-4);font-size:clamp(22px,2.4vw,30px);font-weight:600;line-height:1.2}.house-diagram-caption p{color:var(--muted);font-size:16px}.house-diagram-caption ul{margin:var(--space-5) 0;gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.house-diagram-caption li{padding-left:20px;font-size:15px;position:relative}.house-diagram-caption li:before{content:"→";color:var(--accent);font-weight:600;position:absolute;left:0}.house-diagram-caption li strong{color:var(--fg);font-weight:600}.house-diagram-caption .note{color:var(--muted);border-top:1px solid var(--border);padding-top:var(--space-4);margin-top:var(--space-5);font-size:14px}.calc-wrap{gap:var(--space-12);padding-block:var(--space-12);grid-template-columns:1fr 1.3fr;align-items:start;display:grid}@media (width<=920px){.calc-wrap{gap:var(--space-8);grid-template-columns:1fr}}.calc-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8)}.calc-form h2{margin-bottom:var(--space-2);font-size:22px;font-weight:600}.calc-form .hint{color:var(--muted);margin-bottom:var(--space-6);font-size:14px}.preset-row{gap:var(--space-2);margin-bottom:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=480px){.preset-row{grid-template-columns:repeat(2,1fr)}}.preset-row button{border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font:inherit;padding:10px 12px;font-size:13px;font-weight:500}.preset-row button:hover{border-color:var(--accent);color:var(--accent)}.preset-row button.active{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 8%, var(--surface));color:var(--accent)}.house-info{gap:var(--space-3);padding:var(--space-4);background:var(--bg);border-radius:var(--radius-md);margin-bottom:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}.house-info .stat .num{font-family:var(--font-mono);color:var(--fg);font-size:20px;font-weight:600}.house-info .stat .lbl{color:var(--muted);font-size:11px}.calc-output{gap:var(--space-4);flex-direction:column;display:flex}.result-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.result-card .head{align-items:center;gap:var(--space-3);display:flex}.result-card .head .icon{background:var(--bg);border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.result-card .head h3{margin:0;font-size:18px;font-weight:600}.result-card .head .sub{color:var(--muted);font-size:12px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.result-row{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);grid-template-columns:1fr 1fr 1fr;display:grid}@media (width<=480px){.result-row{grid-template-columns:1fr}}.result-row .stat{flex-direction:column;gap:2px;display:flex}.result-row .stat .num{font-family:var(--font-mono);color:var(--fg);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.result-row .stat .num .unit{color:var(--muted);margin-left:4px;font-size:13px;font-weight:500}.result-row .stat .lbl{color:var(--muted);font-size:11px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.price-total{background:var(--fg);color:var(--surface);padding:var(--space-8);border-radius:var(--radius-lg);gap:var(--space-3);flex-direction:column;display:flex}.price-total .label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in oklab, var(--surface) 65%, transparent);font-size:12px}.price-total .num{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(36px,4.5vw,52px);font-weight:600;line-height:1}.price-total .num .small{color:color-mix(in oklab, var(--surface) 70%, transparent);margin-left:6px;font-size:.5em;font-weight:500}.price-total .small-line{color:color-mix(in oklab, var(--surface) 70%, transparent);font-size:13px}.price-total .actions{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.price-total .btn-primary{background:var(--accent);color:var(--accent-on)}.price-total .btn-secondary{color:var(--surface);border-color:color-mix(in oklab, var(--surface) 40%, transparent);background:0 0}.price-total .btn-secondary:hover{border-color:var(--surface)}.footnote{color:var(--muted);padding:var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-md);font-size:12px}.footnote strong{color:var(--fg)}
