/* Mobile layout hardening: every sales block must fit the physical viewport. */
@media(max-width:900px){
  html,body,#root,main{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:clip!important}
  main>*{max-width:100%!important;min-width:0!important}
  .fortune-section{order:3!important;margin:20px auto 36px!important}
  .application-section{order:4!important;margin:0 auto 20px!important}
  .requirements{order:5!important;padding-top:40px!important;padding-bottom:48px!important}
  .faq-section{order:6!important}
  .application-section,.application-section *,.fortune-section,.fortune-section *{box-sizing:border-box!important;min-width:0!important}
  .section-intro,.form-card,.form-card form,.form-heading,.field,.consent-row{width:100%!important;max-width:100%!important}
  .section-intro{padding:34px 18px!important;overflow:hidden!important}
  .section-intro h2{max-width:100%!important;margin-right:0!important;font-size:clamp(32px,9.2vw,40px)!important;line-height:.94!important;letter-spacing:-.035em!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .section-intro>p{max-width:100%!important;overflow-wrap:anywhere!important}
  .steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;gap:7px!important;overflow:hidden!important}
  .steps>div{width:auto!important;min-width:0!important;padding:11px 8px!important;overflow:hidden!important}
  .steps b,.steps small{display:block!important;max-width:100%!important;overflow-wrap:anywhere!important}
  .steps b{font-size:12px!important;line-height:1.25!important}
  .steps small{font-size:9px!important;line-height:1.3!important}
  .form-card{padding:28px 18px!important;overflow:hidden!important}
  .form-heading{overflow:hidden!important}
  .form-heading h3{max-width:100%!important;font-size:clamp(25px,7.2vw,32px)!important;line-height:1.05!important;overflow-wrap:anywhere!important}
  .form-heading p{max-width:100%!important;overflow-wrap:anywhere!important}
  .role-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;gap:7px!important;overflow:hidden!important}
  .role-option{width:auto!important;min-width:0!important;height:96px!important;padding:8px 4px!important;overflow:hidden!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:5px!important;text-align:center!important}
  .role-option span{min-width:0!important;max-width:100%!important;width:100%!important}
  .role-option span b{display:block!important;font-size:10px!important;line-height:1.12!important;white-space:nowrap!important;overflow-wrap:normal!important}
  .field input,.select-trigger{width:100%!important;max-width:100%!important;min-width:0!important}
  .consent-row{display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;align-items:start!important;gap:10px!important;overflow:visible!important}
  .consent-row input{grid-column:1!important;margin:3px 0 0!important}
  .consent-row label{grid-column:2!important;width:auto!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.35!important}
  .consent-row a{white-space:normal!important;overflow-wrap:anywhere!important}
  .submit-button{width:100%!important;max-width:100%!important;min-width:0!important;height:70px!important;padding:0 15px!important;font-size:14px!important;line-height:1.12!important;white-space:normal!important;overflow:hidden!important}
  .fortune-section{width:calc(100% - 28px)!important;max-width:calc(100% - 28px)!important;padding:24px 12px 30px!important;overflow:hidden!important}
  .wheel-wrap{width:100%!important;max-width:100%!important;padding:76px 18px 44px!important;overflow:visible!important}
  .wheel-wrap .wheel{width:min(100%,330px)!important;max-width:100%!important}
  .fortune-copy{width:100%!important;max-width:100%!important;padding:0 5px!important}
  .fortune-copy h2{max-width:100%!important;font-size:clamp(34px,10vw,42px)!important;overflow-wrap:anywhere!important}
  .fortune-copy>p{max-width:100%!important;overflow-wrap:anywhere!important}
  .spin-button{width:100%!important;max-width:100%!important;min-width:0!important;padding:0 14px!important;white-space:normal!important}
}
@media(max-width:380px){
  .section-intro{padding-left:15px!important;padding-right:15px!important}
  .section-intro h2{font-size:31px!important}
  .form-card{padding-left:14px!important;padding-right:14px!important}
  .role-option span b{font-size:9px!important}
  .submit-button{font-size:13px!important}
}
