/* Keep the service summary in normal flow at every width. */
.service-card { display:flex; flex-direction:column; }
.service-output { position:relative; inset:auto; margin-top:auto; }
.service-card li svg, .qualification-card li svg { flex-shrink:0; }

@media (max-width:780px) {
  .problem-section,.services-section,.case-section,.method-section,
  .qualification-section,.analysis-section,.faq-section { padding:56px 0; }
  .weekend-section { padding:60px 0 56px; }
  .hero { padding-top:30px; }
  .hero h1 { font-size:clamp(2rem,9.4vw,2.65rem); line-height:1; letter-spacing:-.05em; }
  .hero-tagline { font-size:clamp(.85rem,3.7vw,1rem); line-height:1.5; }
  .hero-actions { margin-top:20px; }
  .signal-strip { margin-top:30px; }
  .signal-strip article { min-height:74px; }
  .section-heading h2,.section-heading.compact h2,.problem-copy h2,
  .services-heading h2,.case-copy h2,.method-heading h2,
  .analysis-copy h2,.faq-heading h2 {
    font-size:clamp(2rem,8.3vw,2.65rem); line-height:1.04; letter-spacing:-.05em;
    margin:14px 0 18px; overflow-wrap:break-word;
  }
  .service-card { min-height:0; padding:24px 20px; }
  .service-card h3 { font-size:clamp(1.6rem,6.7vw,2.1rem); line-height:1.08; margin-top:24px; }
  .service-card>p { min-height:0; }
  .service-card ul { margin:20px 0; }
  .service-top { gap:10px; }
  .service-top b { font-size:16px; }
  .service-top small,.service-output span { font-size:11px; color:#9aa7b9; }
  .service-card li,.qualification-card li { font-size:14px; line-height:1.5; }
  .service-output { padding-top:16px; }
  .service-output b { font-size:12px; line-height:1.5; }
  .service-clarity { padding:16px; }
  .service-clarity p { font-size:14px; }
  .case-stats { margin-top:22px; }
  .case-stats article { min-height:88px; padding:15px; }
  .case-stats small,.case-stats span { font-size:12px; color:#9aa7b9; }
  .case-insight b { font-size:14px; }
  .case-insight span { font-size:13px; color:#9aa7b9; }
  .case-controls button { font-size:12px; color:#a6b2c4; min-width:0; }
  .case-controls button span { font-size:11px; }
  .case-controls button.is-active { color:#15130b; }
  .case-viewer-top,.case-caption small { font-size:11px; }
  .method-steps { margin-top:26px; }
  .method-steps article { min-height:0; padding:22px; }
  .step-number { margin-bottom:16px; }
  .method-steps small,.qualification-title small { font-size:11px; color:#9aa7b9; }
  .method-steps p { font-size:14px; color:#9aa7b9; }
  .method-report { gap:24px; }
  .qualification-grid { margin-top:26px; }
  .qualification-title h3 { font-size:24px; }
  .analysis-points { margin-top:24px; }
  .analysis-points i { font-size:13px; line-height:1.5; }
  .analysis-points strong { font-size:14px; }
  .analysis-reassurance span { font-size:13px; color:#a6b2c4; }
  .lead-form input,.lead-form select,.lead-form textarea { font-size:16px; min-width:0; }
  .lead-form input::placeholder,.lead-form textarea::placeholder { color:#8d9aad; }
  .lead-form label>span { font-size:11px; letter-spacing:.05em; }
  .lead-form .consent-row { font-size:13px; line-height:1.55; color:#a6b2c4; }
  .lead-form .consent-row input { width:20px; height:20px; min-height:20px; padding:0; margin-top:1px; }
  .form-heading small,.form-footnote { font-size:12px; line-height:1.5; color:#9aa7b9; }
  .faq-list summary { font-size:14px; gap:12px; }
  .faq-list details p { font-size:14px; }
  .scenario-note { font-size:12px; line-height:1.6; color:#9aa7b9; }
  .kpi-grid span { font-size:10px; }
  .kpi-grid small { font-size:11px; }
  .chart-empty span { font-size:12px; }
  .footer-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .footer-grid a,.footer-grid button,.footer-grid>div>span,.footer-brand p {
    font-size:13px; color:#9aa7b9; overflow-wrap:anywhere;
  }
  .footer-grid h3 { font-size:11px; }
  .footer-grid button,.footer-grid a { min-height:32px; display:inline-flex; align-items:center; }
  .footer-bottom { font-size:12px; line-height:1.5; color:#9aa7b9; margin-top:28px; }
}
