@media (max-width: 980px) {
        .nav {
          padding: 22px 22px 14px;
        }

        .brand-name {
          font-size: 28px;
        }

        .brand-tag {
          letter-spacing: 2px;
        }

        .nav-links {
          gap: 18px;
          font-size: 15px;
        }

        .hero {
          min-height: 620px;
        }

        .logo-grid,
        .benefit-grid,
        .article-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .service-strip {
          grid-template-columns: 1fr;
          border-radius: 10px;
        }

        .service-card {
          min-height: 360px;
          background-size: cover;
        }

        .service-card:nth-child(1) {
          background-position: left center;
        }

        .service-card:nth-child(2) {
          background-position: center center;
        }

        .service-card:nth-child(3) {
          background-position: right center;
        }

        .footer-main {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          row-gap: 30px;
        }

        .footer-column:nth-child(3) {
          border-left: 0;
          padding-left: 0;
        }
      }

@media (max-width: 720px) {
        body {
          font-size: 16px;
        }

        .site-header {
          background: rgba(68, 69, 69, 0.98);
        }

        .nav {
          align-items: flex-start;
          flex-direction: column;
          gap: 14px;
        }

        .nav-links {
          width: 100%;
          justify-content: space-between;
          gap: 10px;
          overflow-x: auto;
          padding-bottom: 4px;
          white-space: nowrap;
        }

        .hero {
          min-height: auto;
        }

        .hero-inner {
          padding-top: 148px;
          padding-bottom: 48px;
        }

        .hero h1 {
          font-size: clamp(34px, 10vw, 44px);
          line-height: 1.16;
        }

        .hero-copy {
          margin-top: 24px;
          margin-bottom: 24px;
          font-size: 16px;
        }

        .eyebrow {
          margin-bottom: 18px;
          font-size: 12px;
          letter-spacing: 3px;
        }

        .section-inner {
          padding-right: 20px;
          padding-left: 20px;
        }

        .logo-grid,
        .benefit-grid,
        .article-grid,
        .quote-grid,
        .footer-main {
          grid-template-columns: 1fr;
        }

        .benefit-card {
          min-height: auto;
        }

        .quote-card.wide {
          max-width: none;
        }

        .cta {
          background:
            linear-gradient(28deg, var(--charcoal) 0 68%, transparent 68%),
            linear-gradient(149deg, rgba(244, 120, 32, 0.9) 0 100%);
        }

        .footer-top,
        .footer-bottom {
          align-items: flex-start;
          flex-direction: column;
        }

        .footer-column {
          min-height: auto;
          padding: 0;
          border-left: 0;
        }

      }

@media (max-width: 480px) {
        .client-logo {
          min-height: 100px;
        }

        .client-logo strong {
          font-size: 18px;
        }

        .benefit-card {
          grid-template-columns: 1fr;
          padding: 28px 24px;
        }

        .article-body {
          min-height: auto;
        }
      }

@media(max-width:720px) { .alt-intro h2 { font-size:28px; } }

@media(max-width:1100px) {
        .service-layout { gap:32px; }
        .service-panels :is(h2,h3) { font-size:36px; }
        .service-lead { font-size:17px; }
      }

@media(max-width:800px) {
        .alt-services .section-inner { padding:36px 24px 44px; }
        .service-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-bottom:28px; }
        .service-tabs button { min-width:0; padding:12px 10px; font-size:14px; text-align:left; }
        .service-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
        .service-visual { padding-top:0; }
        .service-panels { min-height:0; }
        .service-panels :is(h2,h3) { font-size:30px; }
        .service-lead { font-size:16px; margin-bottom:28px; }
        .service-points li { font-size:15px; }
      }

@media(min-width:1051px) {
        .hero-inner { padding-top:186px; padding-bottom:86px; }
      }

@media(min-width:1051px) and (max-height:800px) {
        .hero-inner { padding-top:171px; padding-bottom:71px; }
      }

@media(max-width:720px) {
        .site-header { background:#072A4A; }
        .site-header .nav { padding:8px 20px; gap:12px; }
        .alt-wordmark { min-width:0; width:189px; }
        .site-header.scrolled .alt-wordmark { width:135px; }
        .alt-wordmark-main { font-size:50px; }
        .alt-wordmark-sub { font-size:15px; }
        .site-header.scrolled .alt-wordmark-main { font-size:32px; }
        .site-header.scrolled .alt-wordmark-sub { font-size:12px; }
        .site-header .nav-links { font-size:14px; }
        .hero-inner { padding-top:176px; padding-bottom:40px; }
        .hero .eyebrow { font-size:17px; }
        .hero-signature { font-size:19px; }
        .hero-method { font-size:15px; }
        .hero h1 { font-size:38px; }
      }

@media(prefers-reduced-motion:reduce) {
       .site-header,.alt-wordmark { transition:none; }
      }

@media(max-width:1050px) {
        .site-header { background:#072A4A; }
        .site-header .nav { flex-direction:row; align-items:center; }
        .nav-toggle { display:flex; }
        .site-header .nav-links { display:none; position:absolute; top:100%; left:0; right:0; width:100%; background:#072A4A; padding:16px 24px 24px; white-space:normal; overflow:visible; box-shadow:0 10px 16px rgba(0,0,0,.12); }
        .site-header.menu-open .nav-links { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
        .nav-utilities { justify-content:flex-start; flex-wrap:wrap; padding:4px 0 12px; border-bottom:1px solid currentColor; }
        .nav-primary { flex-direction:column; align-items:stretch; gap:8px; }
        .nav-primary a { padding:10px 12px; }
        .site-header .nav-links > a { padding:10px 12px; }
        .site-header.scrolled .nav-links { background:#fff; }
        .site-header .nav-links .nav-cta { align-self:flex-start; margin-top:8px; }
      }

@media(max-width:1050px) {
        .site-header .nav-links { max-height:calc(100dvh - 100px); overflow-y:auto; overscroll-behavior:contain; }
        .services-toggle { width:100%; justify-content:space-between; padding:10px 12px; }
        .mega-panel { position:static; width:100%; max-height:none; margin:8px 0 12px; padding:22px 18px; box-shadow:none; }
        .mega-columns { grid-template-columns:minmax(0,1fr); gap:24px; }
        .mega-column { padding:0; }
        .mega-column + .mega-column { border-left:0; border-top:1px solid #e0e7ef; padding-top:24px; }
        .mega-column h2 { font-size:21px; margin-bottom:12px; }
      }

@media(prefers-reduced-motion:reduce) { .services-toggle svg { transition:none; } }

@media(max-width:800px) {
        .alt-intro .section-inner { padding-top:40px; padding-bottom:40px; }
        .alt-intro .intro-summary { font-size:18px; margin-bottom:32px; }
      }

@media(max-width:480px) {
        .service-tabs button { flex-direction:column; align-items:flex-start; gap:8px; min-height:92px; }
        .company-facts { gap:10px; }
        .company-facts svg { width:28px; height:28px; margin-bottom:10px; }
        .company-facts strong { font-size:15px; }
        .company-facts span { font-size:12px; }
      }

@media(min-width:1051px) {
        /* Reserve the previous text footprints without fixing the hero height. */
        .hero .eyebrow { min-height:32px; }
        .hero-signature { min-height:70.4px; }
        .hero-facts li { min-height:51.2px; }
        .hero .hero-inner { padding-top:221px; padding-bottom:66px; }
        .hero .hero-facts { margin-top:90px; }
      }

@media(min-width:1051px) and (max-height:800px) {
        .hero .hero-inner { padding-top:201px; }
      }

@media(max-width:720px) {
        .hero .hero-facts { grid-template-columns:1fr; gap:24px; margin-top:32px; }
        .hero-facts li { max-width:100%; }
        .hero { background-position:center, 65% center; }
      }

@media(max-width:480px) {
        .hero .hero-facts strong { font-size:14px; }
      }

@media(max-width:720px) {
        .blog .serif-title { font-size:26px; }
        .blog .article-grid { grid-template-columns:1fr; }
      }

@media(max-width:720px) {
        .faq .serif-title { font-size:26px; }
        .faq .faq-button { padding:18px 0; }
        .faq .faq-answer { padding:0 0 22px; }
      }

@media(max-width:1050px) {
        .site-header .nav-links,
        .site-header.scrolled .nav-links { background:#082E51; color:#FFFFFF; }
      }

@media(max-width:720px) {
        .site-header .alt-wordmark,
        .site-header.scrolled .alt-wordmark { width:189px; }
      }

@media(prefers-reduced-motion:reduce) {
        .site-header { transition:none; }
      }

@media(max-width:1000px) { .testimonials .quote-grid { grid-auto-columns:calc((100% - 20px) / 2); } }

@media(max-width:720px) {
        .testimonials .quote-grid { grid-template-columns:none; grid-auto-columns:100%; }
        .testimonials #quote-title { font-size:28px; }
        .testimonials .quote-card { padding:24px; }
        .testimonials .quote-card blockquote { font-size:18px; }
      }

@media(max-width:1000px) { .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); } }

@media(max-width:600px) {
        .footer-top { flex-direction:column; align-items:flex-start; }
        .footer-main { grid-template-columns:1fr; gap:28px; }
        .footer-bottom { flex-wrap:wrap; }
        .footer-legal { margin-left:0; }
        .footer-top-link { margin-left:auto; }
        .cta#contact h2 { font-size:26px; }
      }

@media(max-width:600px) { .footer-follow { margin-left:0; } }

@media(max-width:600px) { .contact-drawer { width:100%; padding:24px 20px; } .drawer-form { grid-template-columns:1fr; } .contact-drawer h2 { font-size:24px; } }

@media(prefers-reduced-motion:reduce) { .contact-drawer[open] { animation:none; } }

@media(max-width:1100px) { .alt-services .service-panels :is(h2,h3) { font-size:32px; } }

@media(max-width:800px) {
        .alt-services .service-tabs { margin-bottom:24px; }
        .alt-services .service-panels :is(h2,h3) { font-size:28px; }
      }

@media(min-width:1051px) { .hero h1 span { display:block; } .hero .hero-inner { padding-top:201px; } }

@media(min-width:1051px) and (max-height:800px) { .hero .hero-inner { padding-top:181px; } }

@media(max-width:1000px) { .method-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

@media(max-width:720px) { .alt-intro h2,.alt-method h2 { font-size:28px; } }

@media(max-width:600px) { .method-grid { grid-template-columns:1fr; gap:28px; } .alt-method .section-inner { padding:40px 24px; } }

@media(max-width:720px) {
        .blog::before { top:16px; bottom:16px; width:calc(100% - 24px); }
        .blog .section-inner { padding-top:48px; padding-bottom:48px; }
      }

@media(max-width:1000px) { .alt-method .method-grid article:nth-child(odd) { border-left:0; } }

@media(max-width:600px) { .alt-method .method-grid article { padding:0; } .alt-method .method-grid article + article { border-left:0; } }

@media(max-width:1000px) {
        .alt-services .service-tabs { justify-content:flex-start; overscroll-behavior-x:contain; scroll-padding-inline:4px; }
        .alt-services .service-tabs button:first-child { margin-left:auto; }
        .alt-services .service-tabs button:last-child { margin-right:auto; }
      }

@media(max-width:1050px) {
  .contact-hero { padding:128px 0 36px; }
  .contact-hero-layout { grid-template-columns:1fr; gap:28px; }
  .contact-hero-heading { display:flex; align-items:center; gap:18px; }
  .contact-hero-icon { margin-bottom:0; flex-shrink:0; }
  .contact-hero h1 { font-size:36px; }
  .contact-info-grid { gap:24px; }
  .contact-panel { grid-template-columns:230px minmax(0, 1fr); gap:32px; }
  .contact-content h2 { font-size:30px; }
  .contact-form { grid-template-columns:1fr; }
}

@media(max-width:760px) {
  .contact-hero { padding:132px 0 36px; }
  .contact-hero .section-inner,
  .contact-section .section-inner { width:min(100% - 32px, 1180px); }
  .contact-hero-layout { grid-template-columns:1fr; gap:28px; }
  .contact-hero-heading { display:block; }
  .contact-hero-icon { width:40px; height:40px; margin-bottom:12px; }
  .contact-hero h1 { font-size:34px; }
  .contact-info-grid { gap:20px; }
  .contact-info-item span { font-size:16px; }
  .contact-info-item a,
  .contact-info-item p { font-size:16px; }
  .contact-section { padding:38px 0 48px; }
  .contact-panel { grid-template-columns:1fr; gap:28px; }
  .contact-content h2 { font-size:28px; }
  .contact-form { grid-template-columns:1fr; gap:16px; }
  .contact-person { max-width:210px; }
  .contact-map iframe { height:320px; }
}

@media(max-width:440px) {
  .contact-info-grid { grid-template-columns:1fr; gap:18px; }
  .contact-hero h1 { font-size:32px; }
}

/* Compact header: keep the call action outside the mobile menu. */
@media(max-width:1050px) {
  .site-header { background:#082E51; }
  .site-header .nav { gap:12px; padding:8px 16px; }
  .site-header.scrolled .nav { padding-top:6px; padding-bottom:6px; }
  .site-header .alt-wordmark { width:189px; flex:0 1 189px; margin-right:auto; }
  .site-header.scrolled .alt-wordmark { width:162px; flex-basis:162px; }
  .nav-call-mobile { display:inline-flex; }
  .nav-toggle { flex:0 0 44px; }
  .site-header .nav-links,
  .site-header.scrolled .nav-links { transition:none; max-height:calc(100dvh - 88px); }
  .site-header .nav-utilities,
  .site-header.scrolled .nav-utilities { height:auto; min-height:44px; overflow:visible; opacity:1; visibility:visible; pointer-events:auto; transition:none; }
  .site-header .nav-utilities a { min-height:44px; }
  .site-header .nav-utilities .nav-phone { display:none; }
}

@media(prefers-reduced-motion:reduce) {
  .site-header,
  .site-header .nav,
  .site-header .alt-wordmark,
  .site-header .nav-links,
  .site-header .nav-utilities,
  .site-header.scrolled .nav-utilities { transition:none; }
}
