/* =========================================================
   MOBILE / TABLET — compact, stable, no horizontal shake
   Loaded last on every page.
   ========================================================= */
@media (max-width:980px),(hover:none){
  body::after{display:none}                       /* no animated grain on touch devices */
  html.js [data-reveal="left"],html.js [data-reveal="right"]{transform:translateY(34px)}
  .chapter-bgword,.chapter-bgvid,.hero-grid-lines,.chapter-no,.svc-big{display:none}
  .section{padding-block:72px}
  .section-tight{padding-block:46px}
  .sec-head{margin-bottom:32px;gap:16px}
  .chapter{padding:74px 0 46px}
  .chapter-copy .eyebrow{margin-bottom:14px}
  .chapter-copy h2{margin-bottom:14px}
  .chapter-copy .lead{margin-bottom:16px}
  .tick-list{gap:8px;margin-bottom:22px}
  .tick-list li{font-size:.92rem}
  .stage{margin-top:22px}
  .band{min-height:68svh}
  .svc-nav{top:62px}
}
@media (max-width:640px){
  :root{--gut:18px}
  body{font-size:16px;line-height:1.55}
  h1{font-size:clamp(2.2rem,10vw,2.9rem)}
  h2{font-size:clamp(1.85rem,8.4vw,2.4rem)}
  .chapter-copy h2,.svc h2,.about-split h2{font-size:clamp(1.85rem,8.2vw,2.35rem)}
  .band h2{font-size:clamp(2rem,9.5vw,2.8rem)}
  .cta h2{font-size:clamp(2.2rem,11vw,3.2rem)}
  .page-hero h1{font-size:clamp(2.1rem,9.6vw,2.8rem)}
  .lead{font-size:1rem}
  .btn{padding:14px 22px;font-size:.88rem}
  .btn-lg{padding:16px 26px;font-size:.92rem}
  .site-header{padding:10px 0}
  .logo{font-size:.9rem;gap:9px}.logo img{width:38px;height:38px;border-radius:10px}
  .hamburger{width:44px;height:44px}.hamburger span{left:13px;right:13px}
  .hamburger span:nth-child(1){top:16px}.hamburger span:nth-child(2){top:26px}
  .hamburger.open span:nth-child(1),.hamburger.open span:nth-child(2){top:21px}
  .wa-float{width:52px;height:52px;font-size:1.6rem;right:14px;bottom:14px}
  .hero{min-height:auto;padding:92px 0 34px}
  .hero h1{margin:16px 0 18px}
  .hero-sub{margin-bottom:22px;font-size:.98rem}
  .hero-cta{gap:10px}.hero-cta .btn{flex:1 1 150px;justify-content:center;padding-inline:14px}
  .hero-chips{margin-top:26px}
  .chip-row{gap:6px}.chip{padding:7px 12px;font-size:.74rem}
  .marquee{padding-block:16px}.mq-item{font-size:1.9rem;gap:22px;padding-right:22px}.mq-sm.marquee{padding-block:16px}.mq-sm .mq-item{font-size:1rem}
  .statement{font-size:1.5rem}
  .intro-grid .lead{margin-top:24px}
  .stat{padding:18px 10px 18px 0}.stat-n{font-size:2.3rem}.stat-l{font-size:.8rem}
  .feature{padding:20px;min-height:0;gap:10px}
  .feature .ic{width:46px;height:46px;font-size:1.3rem;border-radius:14px}.feature h3{margin-top:6px;font-size:1.15rem}.feature p{font-size:.92rem}
  .svc-row{padding:16px 0}.svc-row h3{font-size:1.45rem}
  .process-pin{padding-block:60px}.process-track{margin-top:28px;gap:14px}
  .p-card{width:76vw;min-height:300px;padding:22px;border-radius:24px}.p-card .big{font-size:4.4rem}.p-card h3{margin:20px 0 8px;font-size:1.3rem}
  .p-panel{margin-top:26px}.p-sub{margin:38px 0 16px;font-size:1.25rem}
  .tab{padding:11px 18px;font-size:.84rem}
  .grid-web,.grid-apps,.grid-logos{gap:12px}
  .web-card{border-radius:20px}.web-card .meta{padding:14px 16px}.web-card .meta h3{font-size:1.15rem}.web-card .meta i{width:38px;height:38px}
  .grid-reels{grid-template-columns:1fr 1fr;gap:10px}
  .vcard{border-radius:18px}.vcard .info{padding:10px 12px 14px}.vcard h3{font-size:.9rem}.vcard .info span{font-size:.76rem}
  .vcard .play{width:52px;height:52px;margin:-26px 0 0 -26px;font-size:1.2rem;box-shadow:0 0 0 8px rgba(255,221,21,.16)}
  .store-card{min-height:200px;padding:20px;border-radius:22px}.store-card .ico{width:56px;height:56px;font-size:1.6rem;border-radius:16px}.store-card h3{font-size:1.3rem}
  .app-shot{padding:20px 20px 0;border-radius:22px}
  .logo-tile .info{padding:14px 16px}
  .faq summary{padding:18px 0;font-size:1.02rem;gap:14px}.faq summary i{width:34px;height:34px}.faq .ans p{padding-bottom:20px;font-size:.95rem}
  .cta{padding-block:76px}.cta p{margin-bottom:24px}.cta-row .btn{flex:1 1 100%;justify-content:center}
  .site-footer{padding-top:50px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:26px 18px;padding-bottom:30px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}
  .footer-grid h4{margin-bottom:14px}.footer-grid li{margin-bottom:9px}.footer-grid p{margin-top:14px}
  .footer-light{height:350px}.fl-sub{bottom:14px}
  .footer-bottom{padding-block:18px;font-size:.8rem}
  .page-hero{min-height:auto;padding:96px 0 40px}
  .page-hero h1{margin:14px 0 16px}
  .hero-meta{margin-top:24px;padding-top:18px;gap:14px 24px}.hero-meta div b{font-size:1.4rem}
  .about-split{gap:22px}.about-split+.about-split{margin-top:50px}
  .frame{aspect-ratio:16/11;border-radius:22px}
  .manifesto{padding-block:70px}
  .value{padding:20px;min-height:0}.value .vn{font-size:3.2rem}.value h3{margin:20px 0 6px;font-size:1.25rem}
  .stack{padding:18px}
  .cities{gap:8px}.cities span{padding:9px 15px;font-size:.88rem}
  .svc{padding-block:92px 52px}
  .svc-head{gap:24px;margin-bottom:32px}
  .svc .viz{aspect-ratio:1/.85;border-radius:24px}
  .svc-cols{gap:28px}.deliver li{padding:12px 14px;font-size:.9rem}
  .svc-foot{margin-top:30px}.svc-foot .btn{flex:1 1 100%;justify-content:center}
  .model{padding:22px;min-height:0}.model h3{margin:24px 0 8px;font-size:1.35rem}
  .info-card,.form-card{padding:22px;border-radius:22px}
  .info-card h3{font-size:1.5rem;margin-bottom:18px}.ci{padding:14px 0;gap:14px}.ci .ic{width:44px;height:44px;font-size:1.25rem;border-radius:13px}
  .fg input,.fg select,.fg textarea{padding:14px 16px;font-size:16px}  /* 16px stops iOS zoom-on-focus */
  .fgrid{gap:14px}.chips-pick button{padding:9px 14px;font-size:.8rem}
  .map-wrap{border-radius:22px}
  .seo-block h2{font-size:clamp(1.7rem,7.6vw,2.2rem)}
}
@media (max-width:380px){.hero-cta .btn{flex-basis:100%}.stats{grid-template-columns:1fr 1fr}.grid-reels{grid-template-columns:1fr 1fr}}
