/* IntelliLine mobile layer -------------------------------------------------
   Loaded after each page's component styles so the public site shares one
   predictable phone layout, including older inline-style pages. */

html{-webkit-text-size-adjust:100%}
body{min-width:0}
img,svg,video,canvas,iframe{max-width:100%}
input,select,textarea,button{max-width:100%}
table{max-width:100%}

@media (max-width:760px){
  html{scroll-padding-top:76px}
  body{font-size:16px;line-height:1.58}
  h1,h2,h3,h4,p,a,li,summary{overflow-wrap:anywhere}

  /* Shared legacy marketing shell */
  .wrap{padding-left:20px;padding-right:20px}
  .hdr-in{height:64px;gap:10px}
  .brand img{height:22px;max-width:118px}
  .hdr-cta{gap:8px;margin-left:auto}
  .hdr-cta .btn{width:auto;min-height:40px;height:40px;padding:0 12px;font-size:.82rem;white-space:nowrap}
  .burger{width:42px;height:42px;flex:0 0 42px}
  .mob{max-height:calc(100dvh - 64px);overflow-y:auto;padding-bottom:max(24px,env(safe-area-inset-bottom))}
  .mob a:not(.btn){padding:13px 0;font-size:1rem}

  .hero,.hero[style]{min-height:0;padding:56px 0 60px!important}
  .hero-head{gap:22px}
  .hero h1,.hero-head h1{font-size:clamp(2.25rem,11vw,3rem);line-height:1.03}
  .hero .lead{font-size:1.08rem;line-height:1.55}
  .stamp{display:inline-flex;max-width:100%;margin-bottom:24px;line-height:1.45}

  .sec{padding:56px 0}
  .sec-sm{padding:48px 0}
  .split{gap:28px}
  .shead{gap:18px;padding-bottom:26px}
  .shead::after{margin-top:6px}
  h2,.hdg-wide{font-size:clamp(1.85rem,9vw,2.45rem);line-height:1.08;max-width:none}
  .lead{font-size:1.08rem;line-height:1.55}
  .eyebrow{margin-bottom:16px}
  .mt-28{margin-top:20px}.mt-40{margin-top:28px}.mt-56,.mt-72{margin-top:32px}

  .grid,.g2,.g3,.g4,.fw{gap:16px}
  .grid>.card,.g2>.card,.g3>.card,.g4>.card,.card{padding:20px}
  .card h3{margin-top:18px}
  .card p{margin-top:10px}
  .cols2{columns:1}
  .ticks{margin-top:22px}
  .ticks li{padding:11px 0 11px 26px;line-height:1.5}
  .scope{padding:18px 20px;line-height:1.55}

  .btns{gap:12px;align-items:stretch}
  .btns .btn,.cta-band .btn{width:100%;min-height:50px;height:auto;padding:13px 18px;white-space:normal;text-align:center;line-height:1.3}
  .cta-band{padding:56px 0}
  .cta-band h2{max-width:12ch;margin-left:auto;margin-right:auto}

  .tiers{margin-top:32px}
  .tier{padding:24px 20px}
  .tier .ticks{margin:20px 0}
  .price .amt{font-size:1.55rem}
  .faq summary{padding:20px 42px 20px 0;font-size:1rem;line-height:1.4}
  .faq .a{padding:0 0 20px;line-height:1.6}

  .ftr{padding-top:56px;padding-bottom:max(28px,env(safe-area-inset-bottom))}
  .ftr-g{gap:32px}
  .ftr .bm{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:38px}
  .ftr .bm nav{display:flex;flex-wrap:wrap;gap:10px 18px}

  /* Forms and embedded booking surfaces */
  input,select,textarea{font-size:16px!important}
  .calembed,.calembed[style]{min-height:620px!important}
  .calembed iframe,.blog-lead-form{width:100%!important;min-width:0!important}
  .blog-signup-grid,.blog-lead-grid,.feat,.phead{grid-template-columns:1fr!important;gap:28px!important}
  .blog-signup-form{grid-template-columns:1fr!important}
  .blog-field,.blog-field.email,.blog-submit{grid-column:1!important}
  .blog-lead-shell{padding:12px!important}

  /* How It Works: compact, readable, continuous phone flow */
  .ops-flow,.handoff-flow{padding:16px 12px}
  .ops-flow__sequence{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ops-flow__sequence>.flow-arrow{display:none}
  .flow-card,.route-card{padding:16px 14px}
  .flow-card span,.handoff-flow__steps>li>span{margin-bottom:8px}
  .flow-card h3,.route-card h3,.handoff-flow h3{font-size:1rem;margin-bottom:5px}
  .flow-card p,.route-card p,.handoff-flow p{font-size:.93rem;line-height:1.42}
  .ops-flow__route{padding-top:18px}
  .ops-flow__choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ops-flow__outcome{margin-top:14px;padding:14px 12px}
  .handoff-flow__steps{gap:22px}
  .handoff-flow__steps>li{padding:17px 15px;min-height:0}
  .handoff-flow__steps>li:not(:last-child)::after{top:calc(100% + 3px);height:13px}
  .handoff-flow__steps>li:not(:last-child)::before{top:calc(100% + 15px)}
  .handoff-flow__continuity{align-items:flex-start;justify-content:flex-start;gap:9px;margin-top:20px;padding:14px;font-size:.88rem}
  .handoff-flow__continuity b{width:100%;margin:0 0 4px}

  /* Repeated capability and framework layouts */
  .eng,.govgrid,.promise{grid-template-columns:1fr;gap:18px}
  .om-layers{gap:28px;padding:28px 0}
  .om-manage{margin-left:-20px;margin-right:-20px;padding:32px 20px}
  .hl-when{gap:24px;margin-top:32px}

  /* New homepage shell, if served by a page using home.css. */
  .il-wrap{padding-left:20px;padding-right:20px}
  .il-hdr__in{height:64px}
  .il-hdr__brand img{height:23px;max-width:124px}
  .il-hero{padding:56px 0 64px}
  .il-hero h1{font-size:clamp(2.55rem,13vw,3.7rem);line-height:.96}
  .il-sec{padding:56px 0}
  .il-sec--sm{padding:48px 0}
  .il-btns{gap:12px}
  .il-btns .il-btn{width:100%;white-space:normal}
  .il-card,.il-trio>li{padding:22px 20px}
  .il-ftr__grid{gap:34px}
  .il-ftr__bm{align-items:flex-start;flex-direction:column;gap:18px}
}

@media (max-width:360px){
  .wrap,.il-wrap{padding-left:16px;padding-right:16px}
  .brand img{max-width:106px}
  .hdr-cta .btn{padding:0 10px;font-size:.78rem}
  .ops-flow__choices{grid-template-columns:1fr}
}

@media (max-width:330px){
  .hdr-cta .btn{display:none}
}
