/*
 * Sousa Murray desktop scale refinement
 *
 * The site intentionally keeps normal browser zoom and accessible mobile text.
 * These overrides make the desktop presentation feel closer to the JA Group
 * Services corporate site: a wider canvas, slightly smaller type and controls,
 * and less oversized vertical spacing.
 */

@media (min-width: 1001px) {
  body {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  .wrap,
  .footer-grid,
  .footer-registration-row,
  .footer-disclosure,
  .footer-social-row {
    width: min(1280px, calc(100% - 64px)) !important;
  }

  h1 {
    font-size: clamp(2.35rem, 4.5vw, 4.65rem) !important;
  }

  h2 {
    font-size: clamp(1.75rem, 3vw, 2.7rem) !important;
  }

  h3 {
    font-size: 1.15rem !important;
  }

  /* Header */
  .header-inner {
    height: 68px !important;
    width: min(1500px, calc(100% - 56px)) !important;
    gap: 14px !important;
  }

  .plain-wordmark {
    font-size: 1.18rem !important;
  }

  .desktop-nav > a,
  .nav-dropdown > a {
    padding: 8px 9px !important;
    font-size: .82rem !important;
  }

  .header-actions {
    gap: 7px !important;
  }

  .header-square-action {
    width: 38px !important;
    height: 38px !important;
    border-radius: 11px !important;
  }

  .websites-trigger {
    min-height: 40px !important;
    padding: 8px 13px !important;
    font-size: .9rem !important;
  }

  .dropdown-panel,
  .websites-panel {
    width: 320px !important;
  }

  /* Homepage hero */
  .hero {
    padding: 70px 0 76px !important;
  }

  .hero-grid {
    grid-template-columns: 1.08fr .92fr !important;
    gap: 46px !important;
  }

  .hero h1 {
    max-width: 790px !important;
    font-size: clamp(2.65rem, 4.55vw, 4.65rem) !important;
  }

  .hero-copy {
    max-width: 700px !important;
    margin-top: 20px !important;
    font-size: 1.02rem !important;
  }

  .pill {
    margin-bottom: 18px !important;
    padding: 7px 12px !important;
    font-size: .78rem !important;
  }

  .cta-row {
    margin-top: 25px !important;
    gap: 10px !important;
  }

  .button {
    min-height: 42px !important;
    padding: 9px 16px !important;
    border-radius: 10px !important;
    font-size: .9rem !important;
  }

  .hero-panel {
    padding: 24px !important;
    border-radius: 23px !important;
  }

  .hero-panel h2 {
    margin: 7px 0 13px !important;
    font-size: 1.5rem !important;
  }

  .fact {
    grid-template-columns: 62px 1fr !important;
    padding: 13px 0 !important;
  }

  .fact strong {
    font-size: 1.45rem !important;
  }

  .fact span {
    font-size: .86rem !important;
  }

  /* Main content */
  .intro,
  .info-section,
  .service-section,
  .trust {
    padding: 58px 0 !important;
  }

  .band {
    padding: 58px 0 !important;
  }

  .section-heading {
    max-width: 780px !important;
    margin-bottom: 28px !important;
  }

  .section-heading > p:last-child,
  .split p,
  .service-copy p {
    font-size: .96rem !important;
  }

  .eyebrow {
    margin-bottom: 8px !important;
    font-size: .7rem !important;
  }

  .service-grid {
    gap: 17px !important;
  }

  .service-card {
    min-height: 330px !important;
    padding: 20px !important;
    border-radius: 18px !important;
  }

  .service-icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 11px !important;
  }

  .service-icon.large {
    width: 52px !important;
    height: 52px !important;
    border-radius: 15px !important;
  }

  .service-card .eyebrow {
    margin-top: 18px !important;
  }

  .service-card-actions {
    font-size: .78rem !important;
  }

  .mini-card,
  .info-card,
  .journey-card,
  .price-card,
  .service-summary-card {
    padding: 20px !important;
    border-radius: 18px !important;
  }

  .split {
    gap: 48px !important;
  }

  .four-grid,
  .three-grid {
    gap: 16px !important;
  }

  .check-list {
    gap: 10px !important;
  }

  .check-list div,
  .capability-item,
  .fact-panel > div {
    padding: 12px 14px !important;
    border-radius: 12px !important;
  }

  .trust-card {
    gap: 20px !important;
    padding: 22px !important;
    border-radius: 20px !important;
  }

  .final-cta {
    padding: 54px 0 !important;
  }

  /* Internal and service pages */
  .page-hero {
    padding: 56px 0 !important;
  }

  .page-hero h1 {
    max-width: 900px !important;
    font-size: clamp(2.2rem, 4vw, 3.8rem) !important;
  }

  .page-hero p:last-child {
    max-width: 740px !important;
    font-size: .98rem !important;
  }

  .content-grid {
    gap: 30px !important;
    padding: 58px 0 !important;
  }

  .detail-row {
    grid-template-columns: 190px 1fr !important;
    gap: 20px !important;
    padding: 16px 19px !important;
  }

  .service-detail-hero {
    padding: 56px 0 46px !important;
  }

  .service-detail-hero-grid {
    gap: 42px !important;
  }

  .service-title-row h1 {
    font-size: clamp(2.25rem, 4vw, 3.9rem) !important;
  }

  .service-lead {
    max-width: 760px !important;
    margin-top: 18px !important;
    font-size: 1rem !important;
  }

  .journey-grid {
    gap: 15px !important;
  }

  .journey-card > span {
    margin-bottom: 14px !important;
    font-size: 2.2rem !important;
  }

  .pricing-grid {
    gap: 14px !important;
  }

  .price-card strong {
    margin-top: 10px !important;
    font-size: 1.3rem !important;
  }

  .support-action {
    padding: 15px 18px !important;
  }

  /* Footer */
  .footer-grid {
    padding: 36px 0 27px !important;
    gap: 29px !important;
  }

  .footer-wordmark {
    margin-bottom: 14px !important;
  }

  .footer-grid a.plain-wordmark {
    font-size: 1.14rem !important;
  }

  .footer-registration-row {
    padding: 15px 0 18px !important;
  }

  .footer-disclosure {
    padding: 15px 0 17px !important;
  }

  .footer-social-row {
    padding: 3px 0 18px !important;
  }

  .legal-bar {
    padding: 15px max(32px, calc((100% - 1280px) / 2)) !important;
    font-size: .77rem !important;
  }
}
