/* Larger mobile header treatment */
@media (max-width:820px){
  html{scroll-padding-top:88px!important}

  .nav{
    grid-template-columns:minmax(0,1fr) 50px!important;
    gap:12px!important;
    height:82px!important;
    min-height:82px!important;
    padding:0 14px 0 16px!important;
  }

  header.nav:has(> .navin)> .navin{
    height:82px!important;
    min-height:82px!important;
    padding:6px 0!important;
  }

  header.nav:has(> .navin) .logo,
  header.nav:has(> .navin) .logo img,
  header.nav:not(:has(.navin))>a:first-child,
  header.nav:not(:has(.navin))>a:first-child img{
    width:92px!important;
    height:69px!important;
    max-height:69px!important;
    object-fit:contain!important;
  }

  .mobile-menu-toggle{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    gap:6px!important;
    border-radius:13px!important;
  }

  .mobile-menu-toggle span{
    width:24px!important;
    height:2.5px!important;
  }

  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8.5px) rotate(45deg)!important}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)!important}

  /* Compact service-area callout */
  body#home .areas{
    padding:14px 12px 16px!important;
    background:#04111f!important;
  }

  body#home .area-inner{
    width:100%!important;
    max-width:520px!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:16px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    text-align:left!important;
    border:1px solid rgba(91,145,190,.28)!important;
    border-radius:16px!important;
    background:linear-gradient(145deg,#0b2035,#071827)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
  }

  body#home .area-copy{
    min-width:0!important;
  }

  body#home .area-copy b{
    display:flex!important;
    align-items:flex-start!important;
    gap:7px!important;
    margin:0!important;
    color:#fff!important;
    font-size:11.5px!important;
    line-height:1.28!important;
    letter-spacing:.035em!important;
  }

  body#home .area-copy b .ui-icon,
  body#home .area-copy b svg{
    width:14px!important;
    height:14px!important;
    min-width:14px!important;
    margin:0!important;
  }

  body#home .area-copy span{
    display:block!important;
    margin-top:8px!important;
    color:#b8c7d5!important;
    font-size:11.5px!important;
    font-weight:650!important;
    line-height:1.48!important;
  }

  body#home .area-btn{
    width:100%!important;
    min-height:46px!important;
    height:46px!important;
    margin:0!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:10px!important;
    font-size:11px!important;
    line-height:1!important;
    letter-spacing:.02em!important;
    box-shadow:none!important;
  }

  /* Mobile bottom-of-page cleanup */
  html body#home .cta{
    width:calc(100% - 28px)!important;
    max-width:520px!important;
    margin:24px auto 28px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:hidden!important;
    border:1px solid rgba(91,145,190,.28)!important;
    border-radius:18px!important;
    background:linear-gradient(145deg,#0b2035,#071827)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.24)!important;
  }

  html body#home .cta-img{
    width:100%!important;
    height:148px!important;
    min-height:148px!important;
    background-position:center 58%!important;
    border:0!important;
  }

  html body#home .cta-copy{
    padding:20px 18px 6px!important;
    text-align:center!important;
  }

  html body#home .cta-copy h2{
    margin:0 0 7px!important;
    font-size:25px!important;
    line-height:1.05!important;
    letter-spacing:-.025em!important;
  }

  html body#home .cta-copy p{
    margin:0!important;
    color:#b9c8d5!important;
    font-size:13px!important;
    line-height:1.45!important;
  }

  html body#home .cta-phone{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:3px!important;
    margin:0!important;
    padding:14px 18px 16px!important;
    border:0!important;
    color:#fff!important;
    font-size:15px!important;
    line-height:1.25!important;
    text-align:center!important;
  }

  html body#home .cta-phone .ui-icon,
  html body#home .cta-phone svg{
    width:17px!important;
    height:17px!important;
    margin-right:6px!important;
  }

  html body#home .cta-phone small{
    margin-top:3px!important;
    color:#c6d2dd!important;
    font-size:11px!important;
    line-height:1.3!important;
  }

  html body#home .cta-btn{
    width:auto!important;
    min-height:48px!important;
    height:48px!important;
    margin:0 16px 16px!important;
    padding:0 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:11px!important;
    font-size:12px!important;
    letter-spacing:.015em!important;
    box-shadow:0 10px 24px rgba(11,131,255,.20)!important;
  }

  html body#home .footer{
    margin-top:0!important;
    padding:28px 18px calc(24px + env(safe-area-inset-bottom))!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
  }

  html body#home .footer-grid{
    gap:18px!important;
  }

  html body#home .footer-grid>div:first-child{
    text-align:center!important;
  }

  html body#home .footer-grid>div:first-child p{
    max-width:320px!important;
    margin:8px auto 0!important;
  }

  html body#home .footer img{
    display:block!important;
    width:112px!important;
    height:auto!important;
    max-height:none!important;
    margin:0 auto!important;
    object-fit:contain!important;
  }
}

@media (max-width:390px){
  .nav{
    grid-template-columns:minmax(0,1fr) 48px!important;
    height:76px!important;
    min-height:76px!important;
    padding-left:13px!important;
    padding-right:11px!important;
  }

  header.nav:has(> .navin)> .navin{
    height:76px!important;
    min-height:76px!important;
  }

  header.nav:has(> .navin) .logo,
  header.nav:has(> .navin) .logo img,
  header.nav:not(:has(.navin))>a:first-child,
  header.nav:not(:has(.navin))>a:first-child img{
    width:84px!important;
    height:63px!important;
    max-height:63px!important;
  }

  .mobile-menu-toggle{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
  }

  body#home .areas{padding:12px 10px 14px!important}
  body#home .area-inner{padding:14px!important;border-radius:14px!important}
  body#home .area-copy b{font-size:10.8px!important}
  body#home .area-copy span{font-size:10.8px!important}
  body#home .area-btn{height:44px!important;min-height:44px!important;font-size:10.5px!important}

  html body#home .cta{width:calc(100% - 20px)!important;margin:18px auto 24px!important;border-radius:16px!important}
  html body#home .cta-img{height:134px!important;min-height:134px!important}
  html body#home .cta-copy{padding:18px 15px 5px!important}
  html body#home .cta-copy h2{font-size:23px!important}
  html body#home .cta-btn{margin:0 14px 14px!important}
  html body#home .footer{padding-left:15px!important;padding-right:15px!important}
  html body#home .footer img{width:104px!important}
}

/* Sitewide dark-card contrast fix. Text only: no layout, spacing, images, or component sizing. */
html body .callout,
html body .area-callout,
html body .contact-card,
html body .hero-aside,
html body .content.alt,
html body .content.alt .feature,
html body .service-section.dark,
html body .service-page .final-cta,
html body .faq-bottom,
html body .faq-sidebar,
html body .area-facts,
html body .area-checklist{opacity:1!important}

html body .callout h1,
html body .callout h2,
html body .callout h3,
html body .callout h4,
html body .area-callout h1,
html body .area-callout h2,
html body .area-callout h3,
html body .area-callout h4,
html body .contact-card h1,
html body .contact-card h2,
html body .contact-card h3,
html body .contact-card h4,
html body .hero-aside h1,
html body .hero-aside h2,
html body .hero-aside h3,
html body .hero-aside h4,
html body .content.alt h1,
html body .content.alt h2,
html body .content.alt h3,
html body .content.alt h4,
html body .service-section.dark h1,
html body .service-section.dark h2,
html body .service-section.dark h3,
html body .service-section.dark h4,
html body .service-page .final-cta h1,
html body .service-page .final-cta h2,
html body .service-page .final-cta h3,
html body .faq-bottom h1,
html body .faq-bottom h2,
html body .faq-bottom h3,
html body .faq-sidebar h1,
html body .faq-sidebar h2,
html body .faq-sidebar h3,
html body .area-facts h1,
html body .area-facts h2,
html body .area-facts h3,
html body .area-checklist h1,
html body .area-checklist h2,
html body .area-checklist h3{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important;opacity:1!important}

html body .callout p,
html body .callout li,
html body .callout span,
html body .area-callout p,
html body .area-callout li,
html body .area-callout span,
html body .contact-card p,
html body .contact-card li,
html body .contact-card span,
html body .hero-aside p,
html body .hero-aside li,
html body .hero-aside span,
html body .content.alt p,
html body .content.alt li,
html body .content.alt span,
html body .service-section.dark p,
html body .service-section.dark li,
html body .service-section.dark span,
html body .service-page .final-cta p,
html body .service-page .final-cta li,
html body .service-page .final-cta span,
html body .faq-bottom p,
html body .faq-bottom li,
html body .faq-bottom span,
html body .faq-sidebar p,
html body .faq-sidebar li,
html body .faq-sidebar span,
html body .area-facts p,
html body .area-facts li,
html body .area-facts span,
html body .area-checklist p,
html body .area-checklist li,
html body .area-checklist span{color:#c9d8e5!important;-webkit-text-fill-color:#c9d8e5!important;text-shadow:none!important;opacity:1!important}

html body .content.alt .eyebrow,
html body .content.alt .feature .num,
html body .hero-aside .aside-label,
html body .service-section.dark .section-label,
html body .area-facts-head small{color:#8fd1ff!important;-webkit-text-fill-color:#8fd1ff!important}

html body .callout .button,
html body .callout a.button,
html body .area-callout .button,
html body .area-callout a.button,
html body .service-page .final-cta .button,
html body .service-page .final-cta a.button,
html body .faq-bottom .button,
html body .faq-bottom a.button{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
