.company-intro, .company-image, .company-process, .company-next, .contact-layout, .contact-map { max-width: var(--content-width); margin: 0 auto; padding: 48px 24px; }
.company-intro h1 { font-size: 3.5rem; max-width: 22ch; margin-top: 16px; }
.company-lead { font-size: 1.25rem; max-width: 64ch; color: var(--muted); margin: 24px 0 0; }
.company-image { padding-top: 0; padding-bottom: 24px; }
.company-image img { width: 100%; height: auto; aspect-ratio: 16 / 8; object-fit: cover; object-position: center 65%; }
.company-image figcaption { margin-top: 12px; color: var(--muted); font-size: .875rem; }
.company-process { padding-block: 64px; }
.company-process ol { list-style-position: inside; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 48px; padding: 0; margin: 32px 0 0; }
.company-process li { border-top: 1px solid var(--line); padding-top: 24px; }
.company-process h3 { display: inline; line-height: 1.3; }
.company-process p { color: var(--muted); }
.company-next { border-top: 1px solid var(--line); padding-block: 64px; }
.company-next p { max-width: 64ch; }
.company-next .cta-actions { margin-top: 28px; }
.contact-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 64px; padding-top: 8px; padding-bottom: 64px; align-items: start; }
.contact-details h2 { font-size: 2rem; line-height: 1.2; }
.contact-details dl { margin: 28px 0; }
.contact-details dl > div { padding: 16px 0; border-bottom: 1px solid var(--line); }
.contact-details dt { font-size: .875rem; color: var(--muted); }
.contact-details dd { margin: 4px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.contact-details dd a { min-height: 44px; display: inline-flex; align-items: center; }
.contact-details address { font-style: normal; }
.contact-help { margin-top: 36px; }
.contact-help h3 { line-height: 1.3; }
.contact-page .contact-quote-form { position: static; margin: 0; width: 100%; max-width: none; padding: 28px; gap: 10px; box-shadow: none; }
.contact-map { padding-block: 64px; border-top: 1px solid var(--line); }
.contact-map iframe { display: block; width: 100%; height: 360px; border: 0; margin-top: 28px; }
@media(max-width: 920px) { .contact-layout { gap: 32px; } .company-intro h1 { font-size: 3rem; } }
@media(max-width: 700px) {
 .company-intro, .company-image, .company-process, .company-next, .contact-layout, .contact-map { padding-inline: 18px; }
 .company-intro h1 { font-size: 2.5rem; }
 .company-lead { font-size: 1.125rem; }
 .contact-layout, .company-process ol { grid-template-columns: 1fr; }
 .company-image img { aspect-ratio: 4 / 3; }
 .contact-page .contact-quote-form { padding: 22px; }
 .contact-map iframe { height: 280px; }
}
