

@media (max-width: 768px) {

    .quote-main {
        margin: 90px auto 32px !important;
        padding: 0 16px !important;
        max-width: 100% !important;
    }

    .stepper-container {
        margin-bottom: 24px !important;
    }

    .stepper {
        max-width: 100% !important;
        gap: 0 !important;
    }

    .stepper .line {
        margin: 0 6px !important;
    }

    .step .circle {
        width: 28px !important;
        height: 28px !important;
        font-size: 12px !important;
    }

    .step .label {
        font-size: 10px !important;
        white-space: nowrap !important;
    }

    .form-card {
        padding: 24px 16px !important;
        border-radius: 14px !important;
    }

    .form-card h2 {
        font-size: 18px !important;
    }

    .form-card .subtitle {
        font-size: 13px !important;
        margin-bottom: 24px !important;
    }

    .form-group {
        margin-bottom: 18px !important;
    }

    .form-group label {
        font-size: 12px !important;
        font-weight: 600 !important;
    }

    .form-group input,
    .form-group select {
        width: 100% !important;
        min-height: 48px !important;
        font-size: 16px !important; 
        border-radius: 10px !important;
        padding: 12px 16px !important;
        box-sizing: border-box !important;
    }

    .form-row-3 {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    .form-row-2 {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    .input-with-button {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .input-with-button input {
        width: 100% !important;
    }

    .btn-gray {
        width: 100% !important;
        min-height: 48px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 10px !important;
    }

    .radio-group-3 {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .radio-pill {
        padding: 14px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
    }

    .question-row {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }

    .toggle-pills {
        width: 100% !important;
    }

    .pill {
        flex: 1 !important;
        text-align: center !important;
        padding: 8px 12px !important;
    }

    .sub-question {
        flex-direction: column !important;
        gap: 10px !important;
        padding: 14px !important;
    }

    .step-actions {
        flex-direction: column-reverse !important;
        gap: 10px !important;
        margin-top: 24px !important;
    }

    .step-actions.split {
        flex-direction: column-reverse !important;
    }

    .btn-primary-action,
    .btn-outline {
        width: 100% !important;
        min-height: 50px !important;
        border-radius: 12px !important;
        font-size: 15px !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .step-actions-footer {
        margin: 24px -16px -24px -16px !important;
        padding: 20px 16px !important;
        flex-direction: column-reverse !important;
        gap: 10px !important;
    }

    .step-actions-footer .btn-primary-action,
    .step-actions-footer .btn-outline {
        width: 100% !important;
    }

    .success-card {
        padding: 32px 16px !important;
        border-radius: 14px !important;
    }

    .submission-summary {
        padding: 20px 16px !important;
    }

    .summary-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .timeline-item p {
        font-size: 13px !important;
    }

    .help-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .license-text {
        font-size: 11px !important;
        margin-top: 24px !important;
    }

    .footer {
        padding: 40px 15px 28px !important;
    }

    .footer-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 20px 16px !important;
    }

    .footer-brand { grid-column: 1 / -1 !important; }
    .footer-newsletter { grid-column: 1 / -1 !important; }

    .footer-links { width: 100% !important; }
    .footer-links h4 { font-size: 13px !important; font-weight: 700 !important; margin-bottom: 10px !important; }
    .footer-links a { font-size: 13px !important; line-height: 1.8 !important; }

    .footer-bottom {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
        text-align: center !important;
        margin-top: 28px !important;
        padding-top: 20px !important;
        font-size: 12px !important;
    }

    .newsletter-input { display: flex !important; width: 100% !important; }
    .newsletter-input input { flex: 1 !important; font-size: 14px !important; }
    .newsletter-input button { white-space: nowrap !important; font-size: 14px !important; }
}

@media (max-width: 390px) {
    .form-card {
        padding: 20px 14px !important;
    }

    .form-card h2 {
        font-size: 16px !important;
    }
}
