@media (max-width: 800px){
  #startNewFormSection{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:10px 8px 18px!important;
  }

  #startNewFormSection .entry-card{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:14px 12px 16px!important;
    border:1px solid #e2eaf4!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 10px 28px rgba(18,60,105,.07)!important;
  }

  #startNewFormSection .entry-header{
    margin:0 0 10px!important;
    padding:0!important;
  }

  #startNewFormSection .entry-header h2{
    margin:0 0 2px!important;
    font-size:23px!important;
    line-height:1.15!important;
    letter-spacing:-.25px!important;
    color:#103d70!important;
  }

  #startNewFormSection .entry-header p{
    margin:0!important;
    font-size:13px!important;
    line-height:1.35!important;
    color:#6a7f96!important;
  }

  #startNewFormSection .ru-entry-step-progress{
    margin:10px 0 14px!important;
    padding:0 2px!important;
  }

  #startNewFormSection .ru-entry-step-head{
    margin:0 0 10px!important;
    padding:0!important;
  }

  #startNewFormSection .ru-entry-step-head h3{
    margin:0 0 3px!important;
    font-size:21px!important;
    line-height:1.18!important;
    letter-spacing:-.18px!important;
    color:#103d70!important;
  }

  #startNewFormSection .ru-entry-step-head p{
    margin:0!important;
    font-size:13px!important;
    line-height:1.4!important;
    color:#6a7f96!important;
  }

  #startNewFormSection .ru-v5-block,
  #startNewFormSection #ruGoogleRooftopSelector,
  #startNewFormSection #ruMultiRoofSiteIdentityBox,
  #startNewFormSection #rooftopGpsPhotoProofBox{
    margin:10px 0!important;
    padding:12px!important;
    border:1px solid #dce6f2!important;
    border-radius:13px!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  #startNewFormSection .ru-v5-title{
    margin:0 0 8px!important;
    font-size:14px!important;
    line-height:1.25!important;
    color:#163f6d!important;
  }

  #startNewFormSection .ru-v5-help,
  #startNewFormSection .helper-text{
    font-size:12px!important;
    line-height:1.4!important;
    color:#6a7f96!important;
  }

  #startNewFormSection .ru-v5-row,
  #startNewFormSection #ruV5ConsumerTypeButtons,
  #startNewFormSection #ruV5ProjectModeRow{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  #startNewFormSection #ruV5SubsidyStateButtons{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  #startNewFormSection .ru-v5-btn,
  #startNewFormSection button,
  #startNewFormSection input,
  #startNewFormSection select,
  #startNewFormSection textarea{
    border-radius:10px!important;
  }

  #startNewFormSection .ru-v5-btn{
    width:100%!important;
    min-height:46px!important;
    padding:10px 9px!important;
    border:1px solid #c8d7e9!important;
    background:#fff!important;
    color:#173f6b!important;
    font-size:14px!important;
    font-weight:800!important;
    line-height:1.2!important;
  }

  #startNewFormSection .ru-v5-btn.is-active,
  #startNewFormSection .primary-btn{
    background:#0b63da!important;
    border-color:#0b63da!important;
    color:#fff!important;
  }

  #startNewFormSection input,
  #startNewFormSection select,
  #startNewFormSection textarea{
    width:100%!important;
    min-height:46px!important;
    padding:11px 12px!important;
    border:1px solid #cad8e8!important;
    background:#fff!important;
    color:#17324f!important;
    font-size:16px!important;
    line-height:1.3!important;
  }

  #startNewFormSection textarea{
    min-height:88px!important;
  }

  #startNewFormSection input:focus,
  #startNewFormSection select:focus,
  #startNewFormSection textarea:focus,
  #startNewFormSection .ru-v5-btn:focus{
    outline:none!important;
    border-color:#0b63da!important;
    box-shadow:0 0 0 3px rgba(11,99,218,.10)!important;
  }

  #startNewFormSection .form-grid,
  #startNewFormSection .ru-entry-step{
    gap:10px!important;
  }

  #startNewFormSection .form-group{
    margin:0!important;
  }

  #startNewFormSection .form-group>label{
    display:block!important;
    margin:0 0 5px!important;
    font-size:13px!important;
    font-weight:800!important;
    color:#244b76!important;
  }

  #startNewFormSection .form-group>.helper-text{
    position:static!important;
    opacity:1!important;
    transform:none!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:4px 0 0!important;
    max-width:none!important;
  }

  #startNewFormSection #ruGoogleMapWrap{
    width:100%!important;
    height:315px!important;
    min-height:280px!important;
    margin:8px 0!important;
    border-radius:11px!important;
    overflow:hidden!important;
  }

  #startNewFormSection .ruRoofFacts{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    margin-top:8px!important;
  }

  #startNewFormSection .ruRoofFact{
    min-width:0!important;
    padding:9px!important;
    border-radius:9px!important;
    background:#f7faff!important;
  }

  #startNewFormSection .ruRoofFact:nth-child(n+3){
    display:none!important;
  }

  #startNewFormSection #rooftopGpsPhotoProofBox input[type="file"]{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    overflow:hidden!important;
  }

  #startNewFormSection #rooftopGpsPhotoProofBox label[for="rooftopProofPhoto"]{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:50px!important;
    margin:9px 0 7px!important;
    padding:11px 12px!important;
    border-radius:10px!important;
    background:#0b63da!important;
    color:#fff!important;
    font-size:15px!important;
    font-weight:900!important;
    text-align:center!important;
    cursor:pointer!important;
  }

  #startNewFormSection .ru-entry-step-actions{
    position:sticky!important;
    bottom:0!important;
    z-index:60!important;
    display:grid!important;
    grid-template-columns:minmax(86px,.65fr) minmax(0,1.35fr)!important;
    gap:8px!important;
    margin:10px -4px -4px!important;
    padding:9px 4px calc(9px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(8px)!important;
    box-shadow:0 -10px 22px rgba(18,60,105,.06)!important;
  }

  /* Step 2 rooftop verification contains live GPS status updates and map/camera
     content. Keep its action row in normal document flow on mobile to avoid
     compositor jitter while the user scrolls. */
  #startNewFormSection #ruV5RoofStep .ru-entry-step-actions{
    position:static!important;
    bottom:auto!important;
    z-index:auto!important;
    background:#fff!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:none!important;
  }

  #startNewFormSection .ru-entry-back,
  #startNewFormSection .ru-entry-next{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    padding:10px 9px!important;
    border-radius:11px!important;
    font-size:14px!important;
    font-weight:900!important;
  }

  #startNewFormSection .ru-entry-next{
    background:#0b63da!important;
    color:#fff!important;
    border:1px solid #0b63da!important;
  }

  #startNewFormSection .ru-entry-next:disabled{
    background:#d9e5f4!important;
    border-color:#d9e5f4!important;
    color:#7890ab!important;
    opacity:1!important;
  }

  #startNewFormSection .ru-v5-deferred{
    margin:10px 0!important;
    padding:13px!important;
    border-radius:13px!important;
    border:1px solid #dce6f2!important;
    background:#f8fbff!important;
  }

  #startNewFormSection .ru-v5-deferred h3{
    margin:0 0 6px!important;
    font-size:19px!important;
    line-height:1.2!important;
  }

  #startNewFormSection details>summary{
    font-size:13px!important;
    line-height:1.35!important;
  }
}

@media (max-width: 420px){
  #startNewFormSection{
    padding-left:6px!important;
    padding-right:6px!important;
  }

  #startNewFormSection .entry-card{
    padding:12px 10px 14px!important;
    border-radius:14px!important;
  }

  #startNewFormSection #ruV5ConsumerTypeButtons{
    grid-template-columns:1fr 1fr!important;
  }

  #startNewFormSection .ru-v5-btn{
    font-size:13px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }

  #startNewFormSection #ruGoogleMapWrap{
    height:290px!important;
  }
}


@media (max-width: 800px){
  #startNewFormSection .ru-entry-step-actions.ru-entry-actions-single{
    grid-template-columns:1fr!important;
  }
  #startNewFormSection .ru-entry-step-actions.ru-entry-actions-single .ru-entry-next{
    width:100%!important;
    min-height:50px!important;
    font-size:15px!important;
    letter-spacing:.1px!important;
  }
  #startNewFormSection .ru-v5-roof-count{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    padding:8px 10px!important;
    margin:8px 0 10px!important;
    border:1px solid #e2eaf4!important;
    border-radius:10px!important;
    background:#f8fbff!important;
    font-size:12px!important;
  }
  #startNewFormSection .ru-v5-link-btn{
    border:0!important;
    background:transparent!important;
    color:#0b63da!important;
    font-weight:800!important;
    padding:4px 0!important;
    min-height:auto!important;
  }
}
