/* formulatux - mobile / tablet polish (loaded after the other stylesheets) */

/* never allow sideways page scroll */
html,body{overflow-x:clip}
img,svg,video,iframe{max-width:100%}
.foot>*,.grid-2>*,.grid-3>*,.grid-4>*,.split>*,.contact-grid>*,.hero-grid>*{min-width:0}
h1,h2,h3,p,li,a{overflow-wrap:anywhere}

@media (max-width:960px){
  .nav{gap:10px;height:76px}
  .logo{margin-right:auto}
  .menu{inset:76px 0 auto 0;max-height:calc(100vh - 76px)}
  .foot{grid-template-columns:repeat(3,minmax(0,1fr))}
  .table-wrap table{min-width:560px}
}

@media (max-width:640px){
  .wrap,.narrow{width:calc(100% - 40px)}
  .section{padding:64px 0}
  .section.tight{padding:48px 0}
  .section-head{margin-bottom:36px}
  .section-head h2{font-size:clamp(1.65rem,7vw,2.1rem)}
  .logo{font-size:1.4rem}

  /* hero */
  .hero{padding:112px 0 60px}
  .hero h1{font-size:clamp(2rem,9vw,2.6rem);max-width:none}
  .page-hero{padding:108px 0 52px}
  .page-hero h1{font-size:clamp(1.9rem,8.4vw,2.5rem)}
  .hero .lead,.page-hero .lead{font-size:1.02rem}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{width:100%}
  .hero-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px;padding-top:24px}
  .hero-facts .fact{flex:none}
  .hero-facts .fact:last-child:nth-child(odd){grid-column:1/-1}
  .hero-art{max-width:100%}

  /* cards / grids */
  .card,.step{padding:24px}
  .grid-2,.grid-3,.grid-4{gap:18px}
  .stats{gap:28px 16px;grid-template-columns:1fr 1fr}
  .facts-box{padding:22px;gap:16px;grid-template-columns:1fr 1fr}
  .job{padding:20px}
  .job .btn{width:100%}
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px}
  .tab{white-space:nowrap}
  .cta{padding:56px 0}
  .cta-in{flex-direction:column;align-items:stretch;text-align:center}
  .cta-in .btn{width:100%}
  .acc button{padding:18px 20px}
  .acc .panel{padding:0 20px 20px}
  .timeline{padding-left:26px}
  .t-item::before{left:-35px}
  .form{padding:22px;border-radius:20px}
  .map-box{min-height:260px}

  /* footer: brand full width, link columns in pairs, contact full width */
  .site-footer{padding:56px 0 26px}
  .foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}
  .foot>div:first-child,.foot>div:last-child{grid-column:1/-1}
  .copy{flex-direction:column;align-items:flex-start;margin-top:36px}

  /* comfortable tap targets */
  .btn{padding:14px 24px}
  .site-footer ul{gap:4px}
  .site-footer ul a{display:inline-block;padding:6px 0}
  .to-top{right:16px;bottom:16px}
}

@media (max-width:380px){
  .stats,.facts-box,.hero-facts{grid-template-columns:1fr}
}

/* home.css re-declares the hero columns after the base breakpoint - win it back */
@media (max-width:960px){
  .hero .hero-grid{grid-template-columns:minmax(0,1fr);gap:44px}
  .hero-art{max-width:560px;margin-inline:auto}
}
