/* ============================================================
   Seqto — responsive + language switcher layer
   Loaded last. Overrides only what is needed for mobile.
   ============================================================ */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:clip}
img,svg,video,canvas,iframe{max-width:100%}
img,video{height:auto}

/* decorative overflow guards */
.hero,.hero-pipeline,.ticker,.stats-band{overflow:hidden}

/* ---------- fluid typography (was 64px / 40px minimum) ---------- */
.hero-title{font-size:clamp(2.7rem,12vw,7.5rem)!important;letter-spacing:.02em;word-break:break-word}
.section-title,.sq-h2{font-size:clamp(1.9rem,6.4vw,4.5rem)!important;letter-spacing:.01em;overflow-wrap:break-word}
.cta-inner .section-title{font-size:clamp(2.1rem,8vw,5.5rem)!important}
.hero-desc,.sq-lead,.services-intro{font-size:clamp(.95rem,3.4vw,1.125rem)!important;line-height:1.7}
.section-label,.sq-eyebrow{letter-spacing:.22em;font-size:clamp(.65rem,2.4vw,.75rem)}
h3,.sq-h3,.service-card-title{overflow-wrap:break-word}

/* ---------- language switcher ---------- */
.sq-lang{display:inline-flex;align-items:center;gap:.15rem;border:1px solid rgba(200,151,42,.45);border-radius:999px;padding:.15rem .35rem;line-height:1}
.sq-lang__btn{background:none;border:0;cursor:pointer;font:600 .72rem/1 var(--font-condensed,'Barlow Condensed',sans-serif);letter-spacing:.12em;color:var(--steel,#8b93a7);padding:.35rem .45rem;border-radius:999px;text-transform:uppercase;transition:color .2s,background .2s}
.sq-lang__btn:hover{color:var(--white,#fff)}
.sq-lang__btn.is-active{color:var(--black,#060608);background:var(--gold,#c8972a)}
.sq-lang__sep{color:rgba(255,255,255,.2);font-size:.7rem}
.sq-mobile .sq-lang{margin-top:.5rem}

/* ---------- tablet ---------- */
@media(max-width:1024px){
  main>section,main>div>section,.sq-section{padding-left:clamp(1.1rem,4vw,3rem)!important;padding-right:clamp(1.1rem,4vw,3rem)!important}
  [style*="grid-template-columns:repeat(4"],[style*="grid-template-columns: repeat(4"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .sq-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ---------- mobile ---------- */
@media(max-width:820px){
  main>section,main>div>section,.sq-section,footer.sq-footer{padding-left:1.15rem!important;padding-right:1.15rem!important}
  main>section,main>div>section,.sq-section{padding-top:3.4rem!important;padding-bottom:3.4rem!important}
  section#home,.hero{padding-top:5.5rem!important;padding-bottom:3.5rem!important}

  /* every multi-column grid collapses to one column */
  [style*="grid-template-columns"]:not(.keep-cols){grid-template-columns:minmax(0,1fr)!important}
  .sq-grid,.sq-grid--4,.services-grid,.whyus-grid,.process-grid,.industries-grid{grid-template-columns:minmax(0,1fr)!important}

  /* inner card padding */
  [style*="padding:2.5rem"]{padding:1.4rem!important}
  [style*="padding:2rem"]{padding:1.3rem!important}
  .sq-card,.service-card{padding:1.4rem!important}

  /* centred blocks should not stay locked to desktop widths */
  [style*="max-width:1100px"],[style*="max-width:1200px"],[style*="max-width:700px"],[style*="max-width:900px"]{max-width:100%!important}

  .hero-actions,.sq-btn-row{flex-wrap:wrap;gap:.75rem}
  .btn-primary,.btn-secondary,.sq-btn{min-height:46px;width:auto}
  .hero-actions .btn-primary,.hero-actions .btn-secondary{flex:1 1 100%;justify-content:center}

  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  pre,code{white-space:pre-wrap;word-break:break-word}
}

/* ---------- small phones ---------- */
@media(max-width:430px){
  .sq-header__inner{padding-left:.85rem!important;padding-right:.85rem!important}
  .sq-header__actions .sq-btn--ghost{display:none}
  .sq-lang__btn{padding:.3rem .35rem;font-size:.68rem}
  .sq-logo img{width:120px;height:auto}
  #sq-chat-launcher{width:50px!important;height:50px!important;bottom:16px!important;right:14px!important}
  #sq-chat-panel{width:calc(100vw - 24px)!important;right:12px!important;bottom:76px!important;height:min(70vh,460px)!important}
  .sq-float{right:12px!important}
  #cookie-banner{left:10px!important;right:10px!important;width:auto!important;max-width:none!important}
}

/* the custom cursor is meaningless on touch devices */
@media(hover:none),(pointer:coarse){
  #cursor,#cursorRing{display:none!important}
  *{cursor:auto!important}
}

/* ---------- large desktop: keep content from stretching ---------- */
@media(min-width:1600px){
  .sq-container,.hero-content,.services-header,.whyus-inner{max-width:1320px;margin-left:auto;margin-right:auto}
}

/* ---------- accessibility / performance ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
.reveal,.sq-reveal{will-change:auto}
:where(a,button):focus-visible{outline:2px solid var(--gold,#c8972a);outline-offset:2px}
/* ---------- targeted fixes found in mobile QA ---------- */
@media(max-width:1024px){
  .stats-band{padding:3rem 1.5rem!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .whyus-inner{grid-template-columns:minmax(0,1fr)!important;gap:2rem!important}
  .whyus-inner>*,.services-grid>*,.sq-grid>*{min-width:0!important;max-width:100%!important}
  .whyus-visual{width:100%!important}
  .hex-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;padding:1rem!important;gap:.75rem!important}
  .hex-item{width:auto!important;min-width:0!important;padding:1rem!important}
  .stats-band{padding:2.6rem 1.15rem!important;gap:1.5rem!important}
  main>div{max-width:100%}
  .cta-section{padding:4.5rem 1.15rem!important}
}
@media(max-width:430px){
  .hex-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stats-band{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .sq-btn,.btn-primary,.btn-secondary,button.sq-btn{white-space:normal!important;text-align:center;max-width:100%!important;height:auto!important;line-height:1.35}
  .sq-btn-row{flex-wrap:wrap!important}
}