/* v55 — application form responsive scaling and zoom resilience. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;min-width:0;overflow-x:hidden}
.application-shell,.app-header{width:100%;max-width:none!important;box-sizing:border-box}
.application-shell{padding-left:clamp(14px,3vw,42px);padding-right:clamp(14px,3vw,42px)}
.form-card,.application-hero,.page-heading,.personal-layout,.form-grid,.education-card,.work-section,.review-grid{min-width:0;max-width:100%}
input,select,textarea,button{font-size:max(16px,1em)}
img,video,canvas{max-width:100%}
@media(max-width:1100px){
  .app-header{padding-inline:18px;gap:12px}.header-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}
  .personal-layout{grid-template-columns:minmax(220px,.38fr) minmax(0,1fr)}
}
@media(max-width:820px){
  .app-header{align-items:flex-start;flex-wrap:wrap}.header-actions{width:100%;justify-content:space-between}
  .personal-layout{grid-template-columns:1fr}.photo-column{max-width:420px;margin-inline:auto;width:100%}
  .form-grid.two-cols,.education-grid,.work-grid,.review-grid{grid-template-columns:1fr!important}
  .form-card{padding:clamp(16px,4vw,28px)}
  .application-hero h1{font-size:clamp(2.2rem,9.5vw,4rem)}
  .stepper{overflow-x:auto;scrollbar-width:thin;padding-bottom:6px}.step-dot{min-width:max-content}
}
@media(max-width:520px){
  .application-shell{padding-inline:10px}.app-header{padding:10px 12px}.app-brand img{width:46px;height:46px}.app-brand small{display:none}
  .header-actions{display:grid;grid-template-columns:1fr;align-items:stretch}.language-control,.language-control select,.back-link{width:100%}
  .page-actions,.address-map-actions,.camera-review-actions{display:grid!important;grid-template-columns:1fr!important}.page-actions button,.address-map-actions button,.camera-review-actions button{width:100%}
  .choice-row{gap:8px}.choice-row label{min-height:46px}
  .date-entry{grid-template-columns:1fr 1fr!important}.date-entry [data-date-part="year"]{grid-column:1/-1}
}

/* v57 validation navigation */
.validation-summary{scroll-margin-top:110px}
.validation-summary.validation-attention{animation:hah-validation-pulse .55s ease-out 1}
.validation-summary button{min-height:32px;display:inline-block;touch-action:manipulation}
@keyframes hah-validation-pulse{0%{box-shadow:0 0 0 0 rgba(178,48,22,.35)}100%{box-shadow:0 0 0 10px rgba(178,48,22,0)}}
@media(prefers-reduced-motion:reduce){.validation-summary.validation-attention{animation:none}}
