/* Shared interaction fixes; app-screen source canvases keep their own fixed dimensions. */
a,button,select{touch-action:manipulation}
.skip-link{top:12px;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{top:12px;width:auto;height:auto;padding:12px;clip-path:none}
.mobile-nav{top:100%;max-height:calc(100vh - 98px);max-height:calc(100dvh - 98px);overflow-y:auto;overscroll-behavior:contain}
.dialog-close{width:44px;height:44px;flex-shrink:0}
.access-dialog{--dialog-block:38px;--dialog-inline:38px;padding:var(--dialog-block) var(--dialog-inline)}
.access-dialog-toolbar{position:sticky;top:calc(-1 * var(--dialog-block));min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:5;margin:calc(-1 * var(--dialog-block)) calc(-1 * var(--dialog-inline)) 24px;padding:10px 20px;background:#fff;border-bottom:1px solid var(--line)}
.access-dialog-toolbar>span{font-size:13px;font-weight:550;line-height:1.7}
.access-dialog-toolbar .dialog-close{position:static}
.access-dialog>.dialog-spark{display:none}
.access-dialog,.screen-dialog{max-height:90vh;max-height:90dvh;overscroll-behavior:contain;scroll-padding-block:72px 24px}
.screen-dialog-bar{min-height:70px;padding-right:74px;display:flex;align-items:center}
.screen-dialog-bar .dialog-close{top:12px;right:12px}
.access-dialog :is(input,select){scroll-margin-block:75px 24px}
@media(max-width:1100px){
  .site-header .desktop-nav{display:none}
  .menu-toggle{display:block}
}
@media(max-width:1100px),(pointer:coarse){
  .motion-toggle,.menu-toggle{width:44px;height:44px;flex-shrink:0}
  .brand{min-height:44px}
  .language-select{min-height:44px;font-size:16px;max-width:94px}
  .voice-language-options button{min-height:44px;min-width:66px}
  .text-button,.scroll-cue,.feature-link{min-height:44px}
  .site-footer>a:not(.brand){min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .mobile-nav a{min-height:48px;display:flex;align-items:center}
  .desktop-nav a{min-height:44px;display:inline-flex;align-items:center}
  html[lang] .access-dialog :is(input,select),html[lang] .flow-copy select{font-size:16px;min-height:48px}
}
@media(max-width:800px){
  .site-header{height:88px;padding-top:16px;padding-bottom:16px;gap:10px}
  .mobile-nav{max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);padding:16px 6% 20px}
  .header-actions,html[lang] .header-actions{gap:6px}
  html[lang] .section-heading>p,html[lang] .flow-copy>p,html[lang] .setup-intro p{font-size:16px;line-height:1.85}
  .setup-step p,.connected-benefits p,.business-support p,.business-scale p{font-size:15px;line-height:1.85}
  html[lang] .story-hero .hero-notes{font-size:11px;white-space:normal;flex-wrap:wrap;gap:8px 14px;line-height:1.8}
  .hero-notes>span{display:inline-flex;align-items:baseline;gap:3px}
  .demo-disclosure{font-size:12px;line-height:1.75}
  .voice-language-options>[role="group"]{gap:8px}
  .voice-language-options button{min-height:44px}
  html[lang] .flow-tabs button{font-size:12px;line-height:1.75;min-height:68px;padding:12px 14px}
  .flow-tabs button>span{font-size:10px}
  .screen-caption{font-size:13px;line-height:1.7;letter-spacing:0}
  .story-businesses .business-panel{display:flex;align-items:flex-end;padding:90px 30px 30px}
  .story-businesses .business-panel-copy{position:relative;inset:auto;width:100%;z-index:2}
  .devices-bottom{flex-wrap:wrap;gap:12px;font-size:10px;line-height:1.8;letter-spacing:0}
  .devices-bottom>span:last-child{white-space:normal}
  .site-footer p{font-size:12px;flex-basis:100%;order:1}
  .site-footer .local-badge{order:2;font-size:9px}
}
@media(max-width:480px){
  .flow-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow-tabs button:nth-child(2){border-right:0}
  .flow-tabs button:nth-child(n+3){border-bottom:1px solid #ffffff12}
  .flow-tabs button{display:flex;align-items:center;gap:10px}
  .flow-tabs button>span{margin:0;flex-shrink:0}
  html[lang] .flow-tabs button{padding:13px 14px;min-height:62px}
  .hero-actions{align-items:center}
  .hero-actions .text-button{min-height:48px}
  .story-businesses .business-panel{padding:88px 24px 26px}
  .access-dialog{--dialog-block:25px;--dialog-inline:22px}
  .access-dialog .eyebrow{padding-right:35px}
  .access-dialog-toolbar{padding-inline:16px}
  .site-footer{gap:10px 17px}
  .site-footer .local-badge{margin-left:0}
  .setup-step p,.business-support p{font-size:15px}
}
@media(max-width:380px){
  .site-header{gap:6px}
  .header-actions,html[lang] .header-actions{gap:4px}
  .language-control svg{display:none}
  .language-control{padding-inline:5px;gap:0}
  .language-select{max-width:82px}
  .hero-actions{gap:10px}
  .app-gallery{gap:18px}
  .screen-caption{font-size:12px}
}
@media(max-height:500px) and (orientation:landscape){
  .access-dialog,.screen-dialog{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px)}
  .access-dialog{--dialog-block:24px}
  .access-dialog .dialog-spark{margin-bottom:14px}
  html[lang] .access-dialog h2{font-size:28px}
}
