/* AccelaBrand mobile responsiveness hotfix v01 — 2026-09-16
   Mobile-only overrides. Desktop/tablet widths above 820px are intentionally untouched. */

@media (max-width:820px){
  /* Shared mobile rhythm */
  body.ab-system-page{overflow-x:hidden}
  .scene-shell{width:calc(100% - 32px)!important}

  /* Connected-by-design scene: replace absolute desktop choreography with a clean mobile grid. */
  .assembly-scene{min-height:auto!important;padding:76px 0 84px!important}
  .assembly-sticky{
    position:relative!important;
    top:auto!important;
    min-height:0!important;
    padding:0!important;
    display:block!important;
  }
  .assembly-copy{display:block!important}
  .assembly-copy .scene-title{font-size:clamp(34px,9.4vw,46px)!important;line-height:1.04!important}
  .assembly-copy .scene-intro{margin-top:20px!important}
  .assembly-copy .inline-cta{margin-top:20px!important}
  .assembly-stage{
    position:relative!important;
    width:calc(100% - 32px)!important;
    height:auto!important;
    min-height:0!important;
    margin:30px auto 0!important;
    padding:18px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    align-items:stretch!important;
    overflow:hidden!important;
    border-radius:20px!important;
  }
  .assembly-stage:before{inset:-8%!important}
  .assembly-phase,.assembly-lines,.assembly-signal{display:none!important}
  .activity-node{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:112px!important;
    padding:14px!important;
    border-radius:14px!important;
    transform:none!important;
    opacity:1!important;
    box-shadow:0 10px 26px rgba(37,45,42,.055)!important;
  }
  .activity-node span{
    margin-bottom:8px!important;
    font-size:9px!important;
    line-height:1.3!important;
    letter-spacing:.08em!important;
  }
  .activity-node b{
    font-size:12.5px!important;
    line-height:1.38!important;
    overflow-wrap:anywhere;
  }
  .assembly-outcome{
    position:relative!important;
    grid-column:1/-1!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    margin:4px 0 0!important;
    padding:18px 16px!important;
    border-radius:16px!important;
    opacity:1!important;
    transform:none!important;
  }
  .assembly-outcome span{font-size:9px!important}
  .assembly-outcome strong{margin-top:6px!important;font-size:clamp(20px,6.5vw,27px)!important;line-height:1.12!important}

  /* Vertical mobile stories: cards grow with their content; CTAs participate in flow. */
  .horizontal-story{height:auto!important;padding:74px 0 80px!important;overflow:hidden!important}
  .horizontal-story-sticky{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;padding:0!important;display:block!important;overflow:visible!important}
  .horizontal-story-viewport{display:block!important;overflow:visible!important;padding:28px 16px 0!important}
  .horizontal-story-track{display:grid!important;width:100%!important;gap:14px!important;transform:none!important}
  .horizontal-story-track>[data-scroll-item]{opacity:1!important;transform:none!important}

  .service-slide,.priority-slide,.industry-slide{
    width:100%!important;
    height:auto!important;
    flex-basis:auto!important;
  }
  .service-slide{padding:28px 22px!important;gap:22px!important}
  .service-slide h3{font-size:clamp(30px,8.5vw,40px)!important;line-height:1.06!important}
  .service-slide p{line-height:1.62!important}
  .service-slide-capabilities{grid-template-columns:1fr!important}

  .priority-slide{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    padding:28px 22px 24px!important;
    overflow:hidden!important;
  }
  .priority-slide h3{
    margin:18px 0 14px!important;
    font-size:clamp(30px,8.4vw,40px)!important;
    line-height:1.07!important;
  }
  .priority-slide p{margin:0!important;line-height:1.62!important}
  .priority-slide a{
    position:static!important;
    left:auto!important;
    bottom:auto!important;
    align-self:flex-start!important;
    margin-top:22px!important;
    line-height:1.35!important;
  }

  .industry-slide{min-height:540px!important}
  .industry-slide-copy{left:22px!important;right:22px!important;bottom:24px!important;width:auto!important}
  .industry-slide h3{font-size:clamp(30px,8.5vw,41px)!important;line-height:1.07!important}
  .industry-slide p{line-height:1.58!important}

  /* Insight cards have the same mobile content-flow rule as priority cards. */
  .insight-card,.insight-card:last-child{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    padding:28px 22px 24px!important;
  }
  .insight-card h3{margin:38px 0 14px!important;font-size:clamp(29px,8vw,39px)!important;line-height:1.08!important}
  .insight-card a{
    position:static!important;
    left:auto!important;
    bottom:auto!important;
    align-self:flex-start!important;
    margin-top:22px!important;
  }

  /* Capability ticker preview: simple readable stack instead of squeezed columns. */
  .marquee-preview{
    grid-template-columns:1fr!important;
    gap:7px!important;
    min-height:0!important;
    padding:18px 0 20px!important;
  }
  .marquee-preview>span,.marquee-preview>strong,.marquee-preview p,.marquee-preview small{grid-column:1!important}
  .marquee-preview>strong{font-size:22px!important}
  .marquee-preview p{font-size:13px!important;line-height:1.58!important}

  /* Persistent 3-action dock stays usable without covering the card copy. */
  .conversion-dock{
    width:calc(100% - 20px)!important;
    max-width:none!important;
    bottom:10px!important;
    gap:5px!important;
    padding:5px!important;
  }
  .conversion-dock>a.dock-action{
    min-width:0!important;
    flex:1 1 0!important;
    padding:11px 5px!important;
    font-size:8.5px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
}

@media (max-width:760px){
  /* Hero controls: preserve the cinematic scene but give the timeline a true mobile control surface. */
  .story-controls{
    left:12px!important;
    right:12px!important;
    bottom:10px!important;
    width:auto!important;
    gap:9px!important;
    padding:9px 9px 8px!important;
    border:1px solid rgba(255,255,255,.14)!important;
    border-radius:15px!important;
    background:rgba(4,18,25,.72)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }
  .pause{
    width:36px!important;
    height:36px!important;
    flex:0 0 36px!important;
    font-size:15px!important;
  }
  .timeline{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:2px!important;
  }
  .timeline-track,.timeline-fill{top:6px!important}
  .timeline-item{
    width:100%!important;
    min-width:0!important;
    gap:6px!important;
    font-size:7px!important;
    line-height:1!important;
    letter-spacing:0!important;
    text-align:center!important;
  }
  .timeline-item span{width:7px!important;height:7px!important}
  .timeline-item b{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 1px!important;
    overflow:visible!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    font-size:7px!important;
    line-height:1.08!important;
    letter-spacing:-.01em!important;
    text-align:center!important;
  }
  .swipe-hint{
    bottom:72px!important;
    font-size:7px!important;
    letter-spacing:.06em!important;
  }
}

@media (max-width:380px){
  .scene-shell{width:calc(100% - 28px)!important}
  .assembly-stage{width:calc(100% - 24px)!important;padding:14px!important;gap:9px!important}
  .activity-node{min-height:108px!important;padding:12px!important}
  .activity-node b{font-size:11.5px!important}
  .priority-slide,.service-slide{padding-left:19px!important;padding-right:19px!important}
  .story-controls{left:8px!important;right:8px!important;padding-left:7px!important;padding-right:7px!important;gap:6px!important}
  .pause{width:34px!important;height:34px!important;flex-basis:34px!important}
  .timeline-item b{font-size:6.4px!important}
  .conversion-dock>a.dock-action{font-size:8px!important;padding-left:4px!important;padding-right:4px!important}
}
