.srp-contact {
    position: relative;
    content-visibility: auto;
    contain-intrinsic-size: 38rem;
    padding: clamp(4.8rem,7vw,7rem) 0;
    overflow: hidden;
    color: #17151e;
    background: linear-gradient(135deg,#aeb6ff 0%,#c7ccff 54%,#dde1ff 100%);
}

.srp-contact__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: end;
    gap: clamp(2rem,6vw,7rem);
}

.srp-contact__kicker {
    margin: 0 0 .85rem;
    color: #4b3470;
    font-family: var(--srp-font-display);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.srp-contact__copy h2 {
    margin: 0;
    font-family: var(--srp-font-heavy);
    font-size: clamp(3.25rem,6.8vw,6.8rem);
    font-weight: 900;
    letter-spacing: -.075em;
    line-height: .82;
    text-transform: uppercase;
}

.srp-contact__copy h2 span { display: block; }
.srp-contact__copy h2 span:last-child { color: #5b3df5; }

.srp-contact__actions {
    display: grid;
    min-width: min(100%,22rem);
    gap: .7rem;
    justify-items: end;
}

.srp-contact__actions > a {
    color: rgba(23,21,30,.72);
    font-size: .88rem;
}

.srp-contact__toggle {
    display: inline-flex;
    align-items: center;
    margin-top: .55rem;
    padding: .95rem 1.25rem;
    border: 1px solid rgba(23,21,30,.12);
    border-radius: 999px;
    color: #fff;
    background: #17151e;
    font-weight: 850;
    cursor: pointer;
}

.srp-contact__panel {
    grid-column: 1/-1;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 650ms cubic-bezier(.2,.75,.2,1),opacity 350ms ease,margin-top 650ms cubic-bezier(.2,.75,.2,1);
}

.srp-contact__panel.is-open {
    max-height: 38rem;
    margin-top: clamp(2rem,4vw,4rem);
    opacity: 1;
}

.srp-contact-form {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 1.1rem 1.4rem;
    padding-top: 1.7rem;
    border-top: 1px solid rgba(23,21,30,.14);
}

.srp-field { display: grid; gap: .45rem; }
.srp-field--message { grid-column: 1/-1; }

.srp-field label {
    color: rgba(23,21,30,.55);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.srp-field input,
.srp-field textarea {
    width: 100%;
    border: 0;
    border-bottom: 1px solid rgba(23,21,30,.25);
    border-radius: 0;
    outline: 0;
    color: #17151e;
    background: transparent;
    resize: vertical;
}

.srp-field input { min-height: 3.2rem; }
.srp-field textarea { min-height: 7rem; padding-block: .7rem; }
.srp-field input:focus,.srp-field textarea:focus { border-color: #5b3df5; }

.srp-contact-form__submit {
    width: fit-content;
    grid-column: 1/-1;
    justify-self: end;
}

.srp-honeypot { position: absolute; left: -9999px; }
.srp-form-notice { grid-column: 1/-1; margin: 0 0 1rem; padding: .85rem 1rem; border-radius: .8rem; }
.srp-form-notice--success { color: #17151e; background: rgba(255,255,255,.4); }
.srp-form-notice--error { color: #fff; background: #3b244e; }

@media (max-width:60rem) {
    .srp-contact__inner { grid-template-columns: 1fr; align-items: start; }
    .srp-contact__actions { justify-items: start; }
}

@media (max-width:39.9375rem) {
    .srp-contact { padding-block: 4.2rem; }
    .srp-contact__copy h2 {
        font-size: clamp(2.35rem,10.7vw,3.3rem);
        line-height: .84;
        letter-spacing: -.075em;
    }
    .srp-contact__copy h2 span { white-space: nowrap; }
    .srp-contact__actions { min-width: 0; }
    .srp-contact-form { grid-template-columns: 1fr; }
    .srp-field--message,.srp-contact-form__submit { grid-column: auto; }
    .srp-contact-form__submit { justify-self: stretch; width: 100%; }
}
