:root { --sans: 'TT Norms Pro', 'Noto Sans Fallback', 'Segoe UI', Arial, sans-serif; --serif: 'TT Norms Pro', 'Noto Sans Fallback', 'Segoe UI', Arial, sans-serif; }
em { font-style: italic; }
.service-list > a { grid-template-columns: minmax(0, 1fr) 30px; }
.strengths h2, .process-grid h3 { margin-top: 0; }
.strengths article, .process-grid > li { display: block; }
.strengths p, .process-grid p { margin-top: 12px; }
.home-company-aside img { width: 100%; aspect-ratio: 4 / 5; max-height: 390px; object-fit: cover; }
.selected-summary { display: flex; justify-content: space-between; align-items: center; gap: 35px; padding-top: 35px; margin-top: 35px; border-top: 1px solid var(--line); }
.selected-summary p { font-size: 18px; line-height: 1.7; max-width: 620px; }
.selected-summary .text-link { flex-shrink: 0; }
.direct-contact { background: var(--soft); border: 1px solid var(--line); padding: clamp(28px, 4vw, 60px); align-self: start; }
.direct-contact > p { margin-block: 24px; max-width: 550px; }
.contact-actions { display: grid; gap: 14px; margin-block: 32px; }
.contact-actions .button { justify-content: space-between; gap: 20px; }
.contact-actions .sms-button { background: transparent; color: var(--ink); border: 1px solid var(--line); }
.contact-actions .sms-button:hover { border-color: var(--accent); background: var(--hover); }
.direct-contact .contact-number { display: block; font-size: clamp(24px, 3vw, 40px); color: var(--accent); font-variant-numeric: tabular-nums; }
.contact-map { padding-bottom: 90px; }
.contact-map iframe { display: block; width: 100%; height: 440px; border: 1px solid var(--line); background: var(--soft); color-scheme: light; }
.contact-map .small-note { margin-top: 14px; }
.video-section { padding-bottom: 70px; scroll-margin-top: 120px; }
.video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; align-items: start; }
.video-card { margin: 0; border: 1px solid var(--line); background: var(--soft); }
.video-card video { display: block; width: 100%; height: min(68vh, 620px); object-fit: contain; background: #111; }
.video-card figcaption { padding: 18px 22px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 20px; font-size: 14px; }
.video-card .text-link { font-size: 12px; }
.video-jump { margin-top: 22px; }
@media (min-width: 1281px) { .main-nav { gap: 18px; } .site-header { gap: 20px; } }
@media (max-width: 900px) { .home-company-aside img { max-height: 280px; aspect-ratio: 16 / 9; } }
@media (max-width: 600px) {
  .contact-map { padding-bottom: 55px; }
  .contact-map iframe { height: 340px; }
  .selected-summary { display: grid; gap: 18px; margin-top: 25px; padding-top: 25px; }
  .selected-summary p { font-size: 16px; }
  .selected-summary .text-link { justify-self: start; }
  .video-grid { grid-template-columns: 1fr; gap: 22px; }
  .video-section { padding-bottom: 45px; }
  .video-card video { height: min(65svh, 560px); }
}
