/* JETpred v10.24.5 — responsive layout and professional composition layer.
   Additive only. Preserves content, SEO, routes, tracking and conversion flows. */

html,body{max-width:100%;overflow-x:clip}
img,svg,video{max-width:100%}
.hero h1,.vision h2,.solution-story h2,.execution-copy h2,.company-signature-copy h2,.final-cta h2,.press-preview h2,.section-head h2,.local-hero h1,.hero-page h1{ text-wrap:balance; }
.hero-lead,.hero-support,.vision-lead,.solution-intro,.section-intro,.lead,.press-preview-head>p{ text-wrap:pretty; }

/* Header: explicit grid states prevent the 24h client CTA from ever being clipped. */
@media (min-width:1360px){
  .site-header .container.nav-row{
    display:grid!important;
    grid-template-columns:158px minmax(430px,1fr) auto minmax(300px,322px);
    column-gap:18px!important;
    align-items:center;
    min-height:112px!important;
  }
  .site-header .brand{justify-self:start;min-width:0}
  .site-header .desktop-nav{justify-self:center;margin-left:0!important;gap:clamp(18px,1.25vw,24px)!important;min-width:0}
  .site-header .desktop-nav a{font-size:clamp(14px,.78vw,15px)!important}
  .site-header .header-cta{justify-self:end;display:flex!important;white-space:nowrap}
  .site-header .header-client{justify-self:end;width:100%;min-width:300px!important;max-width:322px;box-sizing:border-box}
}
@media (min-width:1081px) and (max-width:1359px){
  .site-header .container.nav-row{
    display:grid!important;
    grid-template-columns:158px minmax(0,1fr) minmax(278px,300px);
    column-gap:18px!important;
    align-items:center;
    min-height:108px!important;
  }
  .site-header .desktop-nav{justify-self:center;margin-left:0!important;gap:clamp(14px,1.35vw,19px)!important;min-width:0}
  .site-header .desktop-nav a{font-size:clamp(13.5px,1.1vw,14.6px)!important}
  .site-header .header-cta{display:none!important}
  .site-header .header-client{justify-self:end;width:100%;min-width:278px!important;max-width:300px!important;box-sizing:border-box}
  .site-header .header-client-copy strong{font-size:13px!important}
  .site-header .header-client-copy small{font-size:7.2px!important}
}
@media (min-width:961px) and (max-width:1080px){
  .site-header .container.nav-row{
    display:grid!important;
    grid-template-columns:140px minmax(0,1fr) auto minmax(270px,292px);
    column-gap:14px!important;
    align-items:center;
    min-height:100px!important;
  }
  .site-header .brand{grid-column:1;grid-row:1}
  .site-header .desktop-nav,.site-header .header-cta{display:none!important}
  .site-header .menu-button{display:inline-flex!important;grid-column:3;grid-row:1;order:initial!important;margin-left:0!important;justify-self:end}
  .site-header .header-client{grid-column:4;grid-row:1;order:initial!important;justify-self:end;width:100%;min-width:270px!important;max-width:292px!important;box-sizing:border-box}
  .site-header .header-client-copy strong{font-size:12.3px!important}
  .site-header .header-client-copy small{font-size:6.9px!important}
  .site-header .header-client-hours strong{font-size:13px!important}
}
@media (min-width:621px) and (max-width:960px){
  .site-header .nav-row{min-height:106px!important}
  .site-header .brand img{width:126px!important;height:auto!important;max-height:96px;object-fit:contain}
  .site-header .header-client{width:min(39vw,300px);min-width:270px!important;max-width:300px!important;box-sizing:border-box}
}
@media (max-width:620px){
  .site-header .nav-row{align-items:center!important}
  .site-header .brand,.site-header .menu-button,.site-header .header-client{flex:0 0 auto}
  .site-header .header-client{overflow:hidden}
}
@media (max-width:380px){
  .site-header .header-client{min-width:148px!important;max-width:148px!important;padding-left:8px!important;padding-right:10px!important}
  .site-header .header-client-copy strong{font-size:8.5px!important}
  .site-header .header-client-hours{padding-left:6px!important}
}

/* Rhythm and line-length — professional editorial balance without changing copy. */
@media (min-width:1181px){
  .vision-lead,.method-heading>p,.execution-copy>p,.company-signature-copy>p,.final-cta-heading>p{max-width:68ch}
  .solution-intro{max-width:64ch}
  .solution-lead-grid{align-items:stretch}
  .solution-visual{height:100%;min-height:250px}
}
@media (min-width:1440px){
  .solution-lead-grid{grid-template-columns:minmax(0,1fr) 350px!important;gap:42px!important}
}

/* Central service pages: preserve the client CTA and keep navigation breathing room. */
@media (min-width:881px) and (max-width:1180px){
  .site-head .head-row{gap:18px}
  .site-head .main-nav{gap:clamp(13px,1.45vw,19px)}
  .site-head .main-nav a{font-size:clamp(12.8px,1.15vw,13.7px)}
  .site-head .client{flex:0 0 auto;white-space:nowrap;padding:12px 15px}
}
@media (max-width:880px){
  .site-head .brand,.site-head .client{flex:0 0 auto}
  .site-head .client{white-space:nowrap}
}

/* Press navigation and cards: exact alignment at intermediate widths. */
.press-nav,.press-links{min-width:0}
@media (min-width:721px) and (max-width:980px){
  .press-nav{gap:18px}
  .press-links{gap:15px}
  .press-links a{font-size:12.5px}
}

/* Footer: version, institutional links and TakeWeb credit remain readable and aligned. */
.site-footer .footer-bottom{align-items:center}
.site-footer .footer-bottom>span{line-height:1.55}
@media (min-width:961px){
  .site-footer .footer-bottom{column-gap:26px;row-gap:10px}
}
