/* Responsive layout below the approved desktop header and navigation. */

@media (max-width: 1000px) {
    .page-shell {
        min-height: 0;
    }

    .launch-page {
        width: min(92%, 684px);
    }

    .featured-project {
        width: min(92%, 684px);
        margin-top: -35.872969px;
    }

    .panel-gap-separator {
        width: min(calc(92% + 120px), 804px, calc(100vw - 16px));
    }

    .what-we-create {
        width: min(92%, 684px);
        padding: 23px;
    }

    .what-we-create-title {
        padding: 18px 20px 16px;
    }

    .what-we-create-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quote-button {
        width: min(88%, 680px);
    }

    .expansion-copy {
        padding: 0 20px;
    }

    .expansion-copy h2 {
        font-size: clamp(22px, 4vw, 30px);
    }

    .expansion-copy p {
        font-size: clamp(20px, 4vw, 30px);
    }

    footer {
        margin-right: 18px;
        margin-left: 18px;
        font-size: clamp(18px, 4vw, 34px);
    }

    .footer-details {
        flex-wrap: wrap;
        font-size: 17px;
    }

    footer::before,
    footer::after {
        display: none;
    }
}

@media (max-width: 700px) {
    .quote-modal {
        align-items: flex-start;
        padding: 12px;
    }

    .quote-modal-panel {
        width: 100%;
        max-height: calc(100dvh - 24px);
        border: 2px solid var(--electric-blue);
        border-radius: 16px;
    }

    .quote-modal-close {
        top: 12px;
        right: 12px;
    }

    .experience-modal-panel {
        width: min(60.75%, 504.225px);
        border: 0;
        border-radius: 0;
    }

    .things-modal-panel {
        width: min(88%, 483px);
        min-width: 0;
        max-width: calc(100vw - 24px);
    }

    .experience-modal {
        align-items: center;
    }

    .quote-form-canvas {
        width: 100%;
        aspect-ratio: auto;
        padding: 66px 18px 24px;
    }

    .quote-form-artwork {
        display: none;
    }

    .quote-request-form {
        position: static;
        display: grid;
        gap: 16px;
    }

    .quote-dialog-heading,
    .quote-field-label,
    .quote-choice-group legend,
    .quote-contact-method label span,
    .quote-artwork-status label span,
    .quote-consent-text {
        position: static;
        width: auto;
        height: auto;
        padding: 0;
        margin: 0;
        overflow: visible;
        clip: auto;
        white-space: normal;
        border: 0;
    }

    .quote-dialog-heading {
        padding-right: 48px;
        color: var(--blue);
        font-family: "Amaranth", sans-serif;
        font-size: 30px;
        line-height: 1.1;
        text-align: center;
    }

    .quote-field,
    .quote-choice-group,
    .quote-upload-field,
    .quote-consent-field,
    .quote-submit-button {
        position: static;
        width: 100%;
        height: auto;
    }

    .quote-field {
        display: grid;
        gap: 6px;
    }

    .quote-field-label,
    .quote-choice-group legend {
        color: #fff;
        font-size: 17px;
        font-weight: 700;
    }

    .quote-field input,
    .quote-field select {
        min-height: 48px;
        border: 2px solid var(--electric-blue);
        border-radius: 10px;
        background: var(--page-gray);
        color: #050505;
        font-size: 16px;
    }

    .quote-choice-group {
        display: grid;
        gap: 10px;
    }

    .quote-contact-method {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quote-choice-group label {
        display: flex;
        gap: 9px;
        align-items: center;
        min-height: 32px;
        color: #fff;
        font-size: 16px;
    }

    .quote-contact-method input,
    .quote-artwork-status input,
    .quote-consent-field input {
        flex: 0 0 auto;
        width: 22px;
        height: 22px;
    }

    .quote-upload-field {
        display: grid;
        gap: 8px;
        text-align: left;
    }

    .quote-upload-button {
        width: max-content;
        min-height: 44px;
        padding: 8px 20px;
        border: 2px solid var(--electric-blue);
        background: #00ffff;
        font-size: 17px;
    }

    .quote-upload-filename {
        position: static;
        width: 100%;
        color: #fff;
        font-size: 14px;
        white-space: normal;
    }

    .quote-consent-field > label {
        display: flex;
        gap: 10px;
        align-items: flex-start;
        min-height: 0;
        color: #fff;
        font-size: 15px;
        line-height: 1.4;
    }

    .quote-inline-error {
        margin-top: 8px;
        font-size: 15px;
    }

    .quote-submit-button {
        min-height: 48px;
        border: 2px solid var(--electric-blue);
        background: #050505;
        color: #fff;
        font-size: 18px;
        font-weight: 700;
    }

    .quote-submit-button:disabled {
        background: #242424;
        color: #9b9b9b;
    }

    .quote-sent-confirmation {
        position: static;
        margin: 0 auto;
        transform: none;
    }
}

@media (max-width: 743px) {
    .featured-project {
        margin-top: -4.822747vw;
    }
}

@media (max-width: 560px) {
    #quote-dialog .quote-modal-panel {
        width: 92%;
        transform: scale(.8);
        transform-origin: top center;
    }

    #experience-dialog .experience-modal-panel {
        width: 100%;
    }

    .launch-page {
        width: calc(100% - 16px);
    }

    .what-we-create {
        padding: 22px 18px;
    }

    .what-we-create-title {
        padding: 16px 14px 14px;
    }

    .what-we-create h2 {
        font-size: 32px;
    }

    .what-we-create-intro {
        font-size: 16px;
    }

    .what-we-create-grid {
        grid-template-columns: 1fr;
    }

    .creation-card {
        min-height: 0;
    }

    .quote-section {
        margin-top: 20px;
        padding-top: 24px;
    }

    footer {
        min-height: 88px;
        height: auto;
        padding: 12px;
        text-align: center;
    }

    .footer-content {
        gap: 8px;
    }

    .footer-details {
        gap: 6px 9px;
    }

}
