/* Mobile layout and touch controls. Loaded after the desktop and film styles. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:960px){
 .header{height:calc(76px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));gap:12px}
 .header .brand{font-size:14px;gap:8px}.header .brand-icon{font-size:32px}.header .brand small{font-size:6px;letter-spacing:1.2px}
 .header .header-cta{display:none}.header-account{margin-left:auto;min-height:44px;display:inline-flex;align-items:center;font-size:12px;padding:10px 12px}
 .header .menu{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;font-size:25px;padding:0;margin:0;color:#e5fff5;border:1px solid #9affeb40;border-radius:8px;background:#071b1b88}
 .header nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:12px max(20px,env(safe-area-inset-left,0px)) 20px;background:#071514fa;border-bottom:1px solid #9affeb30;max-height:calc(100svh - 90px);overflow-y:auto;overscroll-behavior:contain}
 .header nav.open{display:flex;flex-direction:column;gap:0}.header nav a{display:flex;align-items:center;min-height:48px;padding:10px 0;font-size:16px}
 .hero{min-height:0;height:100svh;max-height:none}.hero .hero-content{left:max(20px,env(safe-area-inset-left,0px));right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));max-width:none}
 .hero .hero-content .hero-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
 .hero .hero-actions .button{font-size:13px;min-height:48px;padding:14px 18px;gap:12px}.hero .hero-actions .text-link{font-size:13px;min-height:44px;gap:8px}
 .ambient-orbit,#ambient-network{display:none}.ambient-scene:before{animation:none;will-change:auto}
 .section,.service-content,.case,.contact-panel{min-width:0}.section{padding:60px 20px}.section-head{display:block;margin-bottom:30px}
 .section h2{font-size:clamp(30px,7.5vw,48px);line-height:1.16;overflow-wrap:break-word}.section .eyebrow{font-size:10px;letter-spacing:1px}
 .section-head>p:last-child,.body-copy,.service p,.case>p,.process p,.contact-copy>p:not(.eyebrow),.zn-process-intro{font-size:15px;line-height:1.65}
 .service{padding:24px 0;gap:16px}.service:hover{padding-inline:0}.service h3{font-size:22px;line-height:1.25}.tags{font-size:10px;letter-spacing:.4px;gap:8px 14px}
 .case-grid,.process-grid,.infrastructure,.contact{grid-template-columns:minmax(0,1fr)}.case-grid{gap:32px}.case-picture{height:250px}.case-title h3{font-size:21px}
 .process-grid{gap:24px}.process h3{font-size:23px;margin:16px 0 10px}.process p{max-width:none}
 .demo-actions{align-items:stretch;flex-direction:column;gap:16px}.demo-actions .button{min-height:48px;font-size:14px}.demo-actions p{font-size:14px}
 .contact{gap:32px}.contact-wordmark{display:none}.zn-contact-form-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .zn-contact-field{font-size:13px}.zn-contact-field input,.zn-contact-field textarea{font-size:16px;line-height:1.5;min-height:48px;padding:12px 0}.zn-contact-field textarea{min-height:120px}
 .zn-contact-upload b{font-size:14px}.zn-contact-upload small{font-size:11px;overflow-wrap:anywhere}.zn-contact-consent{font-size:13px;line-height:1.6;align-items:center;min-height:44px}.zn-contact-consent input{width:20px;height:20px;flex-shrink:0}
 .zn-contact-submit{font-size:15px;min-height:50px}.form-legal{font-size:12px;line-height:1.8}.form-legal a{display:inline-block;padding-block:6px}
 footer{padding:24px 20px;font-size:11px;flex-wrap:wrap;gap:16px}footer>div{width:100%;flex-wrap:wrap;gap:8px 20px}footer a{min-height:44px;display:inline-flex;align-items:center}
 .discipline-bar{font-size:10px;white-space:normal;flex-wrap:wrap;gap:12px;padding:20px}.discipline-bar b{display:none}
 html.menu-open{overflow:hidden}
}
@media(max-width:360px){.header{gap:8px}.header .brand{font-size:12px}.header .brand small{display:none}.header-account{font-size:11px;padding-inline:8px}.hero .hero-content .hero-actions{gap:4px}.hero .hero-actions .button{font-size:12px;padding-inline:12px}.hero .hero-actions .text-link{font-size:12px}}
@media(max-width:960px) and (orientation:landscape) and (max-height:500px){.header{height:60px}.header .brand small{display:none}.hero .hero-content{bottom:12px}.hero .hero-actions .button{min-height:44px;padding-block:10px}}
