/* All seven user-approved CSS viewport categories, mobile-first. */
/* 1. 320–359: base. Allow natural scroll. No artificial fixed viewport height. */
@media (max-width:359px){.viewport{padding:4px}.lead-card{padding:12px 10px;min-height:calc(100dvh - 8px)}.intro{font-size:13.5px}.option{padding:8px}.phone-field{--iti-spacer-horizontal:4px;--iti-flag-width:15px}.phone-field .iti__selected-country-primary{padding-inline:4px}.phone-field .iti__selected-dial-code{font-size:11px}}
/* 2. 360–383 */
@media (min-width:360px){.viewport{padding:8px}.lead-card{padding:15px 13px;min-height:calc(100dvh - 16px)}}
/* 3. 384–399: reference form */
@media (min-width:384px){.lead-card{padding:16px 14px}.option{min-height:46px}.question-hint{font-size:13px}}
/* 4. 400–429 */
@media (min-width:400px){.lead-card{padding:17px 15px}.title{font-size:21px}.intro{font-size:14.5px}}
/* 5. 430–599 */
@media (min-width:430px){.viewport{max-width:510px;padding:12px}.lead-card{padding:18px 18px;min-height:calc(100dvh - 24px)}}
/* 6. tablet 600–1023 */
@media (min-width:600px){.viewport{max-width:510px;padding:32px 16px}.lead-card{min-height:min(760px,calc(100dvh - 64px));padding:22px;border:1px solid #e0e5ec;box-shadow:0 9px 28px #20345214}.title{font-size:22px}}
/* 7. desktop 1024+ */
@media (min-width:1024px){.viewport{max-width:520px;padding:42px 16px}.lead-card{min-height:730px;padding:25px 23px}}
/* Keyboard/small heights: keep fields and navigation scrollable, never cover the inputs. */
@media (max-height:630px){.lead-card{min-height:calc(100dvh - 8px)}.form-footer{position:static}}
@supports (padding-bottom:env(safe-area-inset-bottom)){.lead-card{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
