/* STONIQ mobile-first stabilisation layer — load after all page styles. */
html{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:clip}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
main,section,.wrap,.site-nav,.sec-head,.prod-grid{min-width:0}
button,a,input,select,textarea{touch-action:manipulation}
input,select,textarea{max-width:100%}

@media(max-width:900px){
  section{padding-block:clamp(52px,9vw,72px)!important}
  .page-hero,.hero{padding-block:clamp(54px,10vw,78px)!important}
  .sec-head{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;gap:18px!important;margin-bottom:34px!important}
  .sec-note,.intro-text,.hero p,.page-hero p{max-width:62ch!important}
  .prod-grid,.range,.tech-grid,.contact-grid,.form-row,.two,.founders-grid,.sustain-grid,.khub{grid-template-columns:1fr!important}
  footer .foot-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:30px 22px!important}
}

@media(max-width:700px){
  :root{--mobile-gutter:18px}
  .wrap{padding-left:var(--mobile-gutter)!important;padding-right:var(--mobile-gutter)!important}
  section{padding-block:48px!important}
  .page-hero,.hero{padding-block:52px!important}
  h1,.hero h1,.page-hero h1{font-size:clamp(36px,11vw,48px)!important;line-height:.98!important;letter-spacing:-.025em!important;overflow-wrap:anywhere}
  h2{font-size:clamp(27px,8vw,35px)!important;line-height:1.02!important;letter-spacing:-.018em!important;overflow-wrap:anywhere}
  h3{overflow-wrap:anywhere}
  p,li{line-height:1.62}
  .kicker{font-size:11px!important;line-height:1.35!important;letter-spacing:.12em!important}
  .prod-card,.tech-card,.sustain-card,.job-card,.fact,.card{padding:24px 20px!important}
  .cta,.ghost,button[type=submit]{min-height:48px!important;white-space:normal!important;text-align:center!important;justify-content:center}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;min-height:48px}
  textarea{min-height:112px}
  .apps-tabs,.tabs{overflow-x:auto!important;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .apps-tabs button,.tabs button{min-width:max-content!important;min-height:48px!important;scroll-snap-align:start}
  table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .subform{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .subform>*{width:100%!important;min-width:0!important}
  footer{padding-block:48px 28px!important}
  footer .foot-links{grid-template-columns:1fr!important;gap:26px!important}
  #toTop{right:14px!important;bottom:14px!important;width:44px!important;height:44px!important}
}

@media(max-width:390px){
  :root{--mobile-gutter:16px}
  h1,.hero h1,.page-hero h1{font-size:clamp(32px,10.5vw,41px)!important}
  h2{font-size:clamp(25px,7.7vw,31px)!important}
  .prod-card,.tech-card,.sustain-card,.job-card,.card{padding:22px 16px!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Management dashboard: retain data density without breaking the viewport. */
@media(max-width:700px){
  .dashboard-page header .wrap{height:60px;padding-inline:14px!important}
  .dashboard-page .dashboard-lockup{height:25px!important;max-width:124px!important}
  .dashboard-page .logo span{display:none}
  .dashboard-page #lastSync{display:none}
  .dashboard-page .hdr-right{gap:6px}
  .dashboard-page .hdr-right button{min-width:44px;min-height:42px;padding:7px 9px;font-size:11px}
  .dashboard-page #lock{margin-top:11vh}
  .dashboard-page #app{padding-top:16px}
  .dashboard-page .tabs{position:sticky;top:60px;z-index:30;margin:0 -18px 18px;padding-inline:18px;background:var(--cast);border-left:0;border-right:0}
  .dashboard-page .tabs button{padding:12px 15px}
  .dashboard-page .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}
  .dashboard-page .kpi{padding:15px 13px}
  .dashboard-page .kpi .v{font-size:26px}
  .dashboard-page .charts{grid-template-columns:1fr;gap:14px}
  .dashboard-page .chart{padding:17px 14px}
  .dashboard-page .bar .lbl{width:112px}
  .dashboard-page .taskform{grid-template-columns:1fr!important}
  .dashboard-page .bar-tools{display:grid;grid-template-columns:1fr}
  .dashboard-page .bar-tools>*{width:100%;min-width:0!important}
  .dashboard-page .tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line)}
  .dashboard-page .tablewrap table{min-width:760px!important;border:0}
  .dashboard-page .mng{display:grid!important;grid-template-columns:1fr!important}
  .dashboard-page .mng>*{width:100%!important;max-width:none!important}
  .dashboard-page .dgrid{grid-template-columns:1fr!important}
  .dashboard-page .alert-panel{position:fixed;top:60px;left:10px;right:10px;width:auto;max-height:70vh}
}
