/* Touch layout and constrained-device refinements, loaded after the design system. */
@media(max-width:700px){
  html{scroll-padding-top:20px}
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom));overflow-wrap:break-word}
  header{height:80px;padding:0 18px;gap:12px}
  header .brand{font-size:15px;gap:7px}
  header .brand img{width:32px;height:32px}
  header>.button{font-size:13px;min-height:44px;padding:10px 15px;gap:10px}
  .hero{padding:36px 18px 0}
  .hero h1{font-size:clamp(48px,12.5vw,76px);line-height:1.05}
  .hero .intro{font-size:17px;line-height:1.65}
  .hero .micro{font-size:14px;line-height:1.55;padding:0 10px}
  .section,.av-section{padding-left:20px;padding-right:20px}
  .button,button,input,select,textarea{touch-action:manipulation}
  input,select,textarea{font-size:16px!important}
  .button,button,summary{min-height:44px}
  .field-grid>*{min-width:0}
  .field-grid input,.field-grid select,.field-grid textarea{width:100%;max-width:100%;box-sizing:border-box}
  .form-progress{flex-wrap:wrap;row-gap:12px}
  .form-progress span{font-size:13px;min-width:75px}
  .form-actions{gap:12px}.form-actions .button{flex:1 1 130px}
  .av-section h2{font-size:clamp(36px,10vw,54px)}
  .av-machine-top{letter-spacing:.02em;font-size:12px;gap:8px}
  .av-engine{max-width:100%}.av-engine i:nth-child(2){width:min(235px,95%)}
  .av-actions .button{width:100%;justify-content:center}
  .av-machine,.av-os-board,.glass{backdrop-filter:none}
  .av-machine,.av-os-board{box-shadow:inset 0 1px 0 #d8ecf822;background-color:#100e0df5}
  .av-feed-wall{max-height:none;overflow:visible;padding:16px 0}
  .av-feed-row .av-work,.av-feed-row:nth-child(1) .av-work,.av-feed-row:nth-child(3) .av-work{height:clamp(230px,66vw,340px)}
  .av-feed-pause{display:none}
  .av-feed-words{display:none}
  .av-case{max-height:calc(100dvh - 32px);width:calc(100vw - 28px);padding:18px}
  .av-case .button{width:100%}
  .av-os-module{min-width:0}.av-os-module strong{overflow-wrap:anywhere}
  .av-os-explanation{min-height:0}
  .journey-step{padding-left:48px}
  .journey-dot{width:34px;height:34px;font-size:15px}
  .journey-track:before,.journey-track:after{left:17px}
  .journey-card{padding:20px 16px}
  .journey-card h3{font-size:27px}
  .journey-card p{font-size:16px}
  .mobile-contact{bottom:calc(10px + env(safe-area-inset-bottom));left:16px;right:16px;transform:none;width:auto;min-height:50px;z-index:39}
  .assistant-launch{right:16px;bottom:calc(72px + env(safe-area-inset-bottom));min-height:44px;font-size:14px}
  .assistant-panel{left:16px;right:16px;width:auto;bottom:calc(128px + env(safe-area-inset-bottom));max-height:calc(100dvh - 160px);overflow-y:auto}
  body:has(#brand-brief:focus) .assistant-launch,
  body:has(#project-form input:focus) .assistant-launch,
  body:has(#project-form textarea:focus) .assistant-launch,
  body:has(input:focus)>.mobile-contact,
  body:has(textarea:focus)>.mobile-contact{visibility:hidden}
  .circuit-layer{opacity:.35}
}
@media(max-width:370px){
  header .brand{font-size:13px}header>.button{padding:9px 12px}
  .section,.av-section{padding-left:16px;padding-right:16px}
  .av-machine{padding:22px 14px}
  .alpha-node{font-size:11px;padding:12px 10px}
  .alpha-description p{font-size:15px}
}
@media(max-width:700px) and (max-height:520px){
  .alpha-experience{height:auto}.alpha-viewport{display:none}
  .alpha-static{display:block;padding:40px 20px;background:#0d0b09;line-height:1.7}
}
