.order-cta {
    --cta-blue: #124fdd;
    --cta-navy: #020d3b;
    --cta-mint: #9dfbe1;
    position: relative;
    overflow: hidden;
    min-height: 820px;
    color: #fff;
    background:
        radial-gradient(circle at 50% 50%, rgba(20, 84, 225, .68), transparent 46%),
        linear-gradient(125deg, #020a2d 0%, #06236f 46%, #01092e 100%);
}

.order-cta,
.order-cta * {
    box-sizing: border-box;
}

.order-cta::before,
.order-cta::after {
    position: absolute;
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.order-cta::before {
    top: -390px;
    left: 50%;
    width: 1050px;
    height: 850px;
    border: 1px solid rgba(65, 132, 255, .12);
    transform: translateX(-50%);
}

.order-cta::after {
    right: -230px;
    bottom: -490px;
    width: 850px;
    height: 850px;
    background: radial-gradient(circle, rgba(0, 52, 171, .24), transparent 65%);
}

.order-cta__inner {
    position: relative;
    display: grid;
    width: min(1540px, calc(100% - 64px));
    min-height: 820px;
    place-items: center;
    margin: 0 auto;
    padding: 84px 40px 78px;
}

.order-cta__section-no {
    position: absolute;
    top: 72px;
    left: 0;
    z-index: 3;
    padding-bottom: 9px;
    border-bottom: 3px solid var(--cta-mint);
    color: #fff;
    font-size: 20px;
    font-weight: 850;
    line-height: 1;
}

.order-cta__content {
    position: relative;
    z-index: 3;
    display: grid;
    width: min(1280px, 100%);
    grid-template-columns: minmax(0, 1.15fr) minmax(390px, .85fr);
    align-items: center;
    gap: clamp(50px, 6vw, 100px);
}

.order-cta__copy {
    text-align: left;
}

.order-cta h2 {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0;
    color: #fff;
    font-size: clamp(54px, 4.7vw, 78px);
    font-weight: 850;
    line-height: 1.15;
    letter-spacing: -5px;
    text-shadow: 0 7px 30px rgba(0, 0, 30, .22);
    word-break: keep-all;
}

.order-cta h2 strong {
    color: var(--cta-mint);
    font-size: 1.13em;
    font-weight: 900;
}

.order-cta__copy > p {
    margin: 32px 0 42px;
    color: rgba(255, 255, 255, .88);
    font-size: 20px;
    line-height: 1.7;
    letter-spacing: -.65px;
    word-break: keep-all;
}

.order-cta__button {
    display: grid;
    width: 100%;
    min-height: 68px;
    grid-template-columns: 1fr 46px;
    align-items: center;
    padding: 0 28px 0 62px;
    border: 1px solid rgba(116, 178, 255, .72);
    border-radius: 15px;
    color: #fff;
    background: linear-gradient(135deg, #0e5bff, #1739e8);
    box-shadow:
        0 18px 50px rgba(0, 20, 90, .38),
        inset 0 1px 0 rgba(255, 255, 255, .3);
    font-size: 20px;
    font-weight: 850;
    letter-spacing: -1px;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.order-cta__button:disabled {
    cursor: wait;
    opacity: .7;
    transform: none;
}

.order-contact {
    width: 100%;
    padding: 32px;
    border: 1px solid rgba(149, 190, 255, .34);
    border-radius: 24px;
    background: rgba(2, 18, 67, .72);
    box-shadow: 0 24px 60px rgba(0, 7, 38, .34);
}

.order-contact__heading {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 23px;
    text-align: left;
}

.order-contact__heading strong {
    color: #fff;
    font-size: 25px;
    font-weight: 900;
    letter-spacing: -.5px;
}

.order-contact__heading span {
    color: rgba(255, 255, 255, .7);
    font-size: 14px;
    line-height: 1.5;
}

.order-contact__fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.order-contact__fields label {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
    color: #dce9ff;
    font-size: 13px;
    font-weight: 750;
    text-align: left;
}

.order-contact__message {
    grid-column: 1 / -1;
}

.order-contact input,
.order-contact textarea {
    width: 100%;
    border: 1px solid rgba(171, 201, 255, .28);
    border-radius: 11px;
    outline: 0;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    font: inherit;
    font-size: 14px;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.order-contact input {
    height: 48px;
    padding: 0 14px;
}

.order-contact textarea {
    min-height: 118px;
    padding: 13px 14px;
    line-height: 1.6;
    resize: vertical;
}

.order-contact input::placeholder,
.order-contact textarea::placeholder {
    color: rgba(255, 255, 255, .45);
}

.order-contact input:focus,
.order-contact textarea:focus {
    border-color: #82e9c8;
    background: rgba(255, 255, 255, .12);
    box-shadow: 0 0 0 3px rgba(130, 233, 200, .13);
}

.order-contact .order-cta__button {
    margin-top: 18px;
}

.order-contact__status {
    min-height: 22px;
    margin: 12px 0 0;
    color: rgba(255, 255, 255, .75);
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
}

.order-contact__status.is-success {
    color: var(--cta-mint);
}

.order-contact__status.is-error {
    color: #ffb4b4;
}

.order-cta__button svg {
    width: 38px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
    transition: transform .2s ease;
}

.order-cta__button:hover,
.order-cta__button:focus-visible {
    color: #fff;
    background: linear-gradient(135deg, #2476ff, #1a47f1);
    box-shadow:
        0 22px 58px rgba(0, 20, 90, .46),
        0 0 32px rgba(79, 143, 255, .22);
    transform: translateY(-3px);
}

.order-cta__button:hover svg,
.order-cta__button:focus-visible svg {
    transform: translateX(6px);
}

.order-cta__button:focus-visible {
    outline: 3px solid var(--cta-mint);
    outline-offset: 5px;
}

.order-cta__orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: min(1390px, 94vw);
    height: 420px;
    border: 2px solid rgba(36, 120, 255, .58);
    border-right-color: #2696ff;
    border-bottom-color: #2696ff;
    border-radius: 50%;
    box-shadow:
        inset -6px -3px 16px rgba(34, 137, 255, .13),
        4px 4px 18px rgba(23, 120, 255, .2);
    transform: translate(-50%, -49%) rotate(-7deg);
    pointer-events: none;
}

.order-cta__orbit::before {
    position: absolute;
    top: 18px;
    right: 145px;
    width: 210px;
    border-top: 2px dotted rgba(66, 145, 255, .8);
    content: "";
}

.order-cta__orbit-dot {
    position: absolute;
    width: 13px;
    height: 13px;
    border: 3px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    background: #e8fff8;
    box-shadow: 0 0 18px #36a8ff;
}

.order-cta__orbit-dot--one {
    top: -2px;
    right: 180px;
}

.order-cta__orbit-dot--two {
    bottom: 33px;
    left: 88px;
}

.order-cta__scan-corner {
    position: absolute;
    z-index: 2;
    width: 30px;
    height: 30px;
    border-color: #2583ff;
    opacity: .9;
}

.order-cta__scan-corner--left {
    top: 286px;
    left: 7%;
    border-top: 4px solid #2583ff;
    border-left: 4px solid #2583ff;
    border-radius: 7px 0 0;
}

.order-cta__scan-corner--right {
    right: 7%;
    bottom: 165px;
    border-right: 4px solid #2583ff;
    border-bottom: 4px solid #2583ff;
    border-radius: 0 0 7px;
}

.order-cta__barcode {
    position: absolute;
    z-index: 2;
    width: 110px;
    height: 42px;
    opacity: .75;
    background: repeating-linear-gradient(
        90deg,
        #2992ff 0 3px,
        transparent 3px 7px,
        #2992ff 7px 9px,
        transparent 9px 13px
    );
}

.order-cta__barcode--left {
    bottom: 157px;
    left: 8%;
}

.order-cta__barcode--right {
    top: 210px;
    right: 6%;
}

@media (max-width: 900px) {
    .order-cta,
    .order-cta__inner {
        min-height: 980px;
    }

    .order-cta__inner {
        width: calc(100% - 48px);
        padding-right: 20px;
        padding-left: 20px;
    }

    .order-cta h2 {
        font-size: clamp(44px, 7vw, 60px);
        letter-spacing: -3.5px;
    }

    .order-cta__content {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .order-cta__copy {
        text-align: center;
    }

    .order-cta__copy > p {
        max-width: 700px;
        margin-right: auto;
        margin-left: auto;
        font-size: 17px;
    }

    .order-contact {
        max-width: 620px;
        margin: 0 auto;
    }

    .order-cta__orbit {
        width: 115vw;
        height: 360px;
    }

    .order-cta__barcode,
    .order-cta__scan-corner {
        opacity: .4;
    }
}

@media (max-width: 600px) {
    .order-cta,
    .order-cta__inner {
        min-height: 1040px;
    }

    .order-cta__inner {
        width: calc(100% - 36px);
        padding: 100px 0 70px;
    }

    .order-cta__section-no {
        top: 54px;
        font-size: 16px;
        border-bottom-width: 2px;
    }

    .order-cta h2 {
        gap: 8px;
        font-size: 36px;
        line-height: 1.22;
        letter-spacing: -2.3px;
    }

    .order-cta h2 strong {
        font-size: 1.05em;
    }

    .order-cta__copy > p {
        margin: 25px 0 34px;
        padding: 0 8px;
        font-size: 15px;
        line-height: 1.65;
    }

    .order-cta__button {
        min-height: 62px;
        grid-template-columns: 1fr 34px;
        padding: 0 20px 0 42px;
        border-radius: 16px;
        font-size: 18px;
    }

    .order-cta__button svg {
        width: 31px;
    }

    .order-cta__orbit {
        width: 145vw;
        height: 300px;
    }

    .order-cta__orbit::before,
    .order-cta__barcode,
    .order-cta__scan-corner {
        display: none;
    }

    .order-contact {
        padding: 25px 19px;
        border-radius: 19px;
    }

    .order-contact__heading strong {
        font-size: 22px;
    }

    .order-contact__fields {
        grid-template-columns: 1fr;
    }

    .order-contact__message {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .order-cta__button,
    .order-cta__button svg {
        transition: none;
    }
}
