.partner-construction { max-width: 1200px; margin: 0 auto; padding: 24px 16px; line-height: 1.55; }
.partner-construction *, .construction-pricing * { box-sizing: border-box; }
.partner-construction h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.3; }
.partner-construction h2 { font-size: 1.4rem; }
.partner-construction h3 { font-size: 1.15rem; }
.partner-construction .wrap { padding: 0; }
.partner-construction section, .partner-construction .hero { padding: 24px 0; }
.partner-construction .models { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.partner-construction .model-card { border: 1px solid #87929e; border-radius: 6px; padding: 16px; min-width: 0; }
.partner-construction .hint { font-size: .9rem; }
.partner-construction .note-box, .partner-construction .partner-review { border: 1px solid #ad7400; border-radius: 4px; padding: 14px; }
.partner-construction .note-box strong { display: block; }
.partner-construction p, .partner-construction li { overflow-wrap: anywhere; }
.partner-construction .partner-cta { display: inline-block; padding: 12px 20px; color: #fff; background: #0b3d2e; border-radius: 4px; text-decoration: none; }
.partner-construction .partner-cta:focus-visible, .construction-table-scroll:focus-visible { outline: 3px solid #d98c00; outline-offset: 3px; }
.construction-pricing { min-width: 0; max-width: 100%; padding: 24px 0; }
.construction-table-scroll { overflow-x: auto; max-width: 100%; }
.construction-price-table { border-collapse: collapse; width: 100%; margin: 16px 0; }
.construction-price-table caption { text-align: left; font-weight: bold; }
.construction-price-table th, .construction-price-table td { border: 1px solid #87929e; padding: 10px; text-align: left; }
@media (min-width: 720px) { .partner-construction .models { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
