.uoph-contact-page,
.uoph-contact-not-found {
    margin: 0;
    color: #fff;
    background: #090909;
}

.uoph-contact-page *,
.uoph-contact-page *::before,
.uoph-contact-page *::after,
.uoph-contact *,
.uoph-contact *::before,
.uoph-contact *::after {
    box-sizing: border-box;
}

.uoph-contact [hidden] {
    display: none !important;
}

.uoph-contact-page__skip-link {
    position: absolute;
    inset-inline-start: -9999px;
}

.uoph-contact-page__skip-link:focus {
    inset: 1rem auto auto 1rem;
    z-index: 100002;
    padding: 0.75rem 1rem;
    color: #090909;
    background: #fff;
}

.uoph-contact-page__masthead {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-block-size: calc(56.4px + max(2rem, env(safe-area-inset-top)));
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) 1rem max(1rem, env(safe-area-inset-left));
}

.uoph-contact-page__brand {
    grid-column: 2;
}

.uoph-contact-page__brand img {
    display: block;
    inline-size: clamp(7rem, 11vw, 10rem);
    block-size: auto;
    filter: brightness(0) invert(1);
}

.uoph-contact-page__close {
    grid-column: 3;
    justify-self: end;
}

.uoph-contact-page__main {
    inline-size: min(100%, 90rem);
    min-block-size: calc(100vh - 90px);
    margin-inline: auto;
    padding: clamp(2.25rem, 5vw, 5rem) max(1.25rem, 7vw) clamp(6rem, 10vw, 10rem);
}

.uoph-contact-overlay__scene.uoph-editorial-content__scene {
    display: block;
    inline-size: min(90rem, 100%);
    min-block-size: calc(100vh - 88px);
    padding: clamp(2.25rem, 5vw, 5rem) max(1.25rem, 7vw) clamp(6rem, 10vw, 10rem);
}

.uoph-contact {
    inline-size: min(46rem, 100%);
    margin-inline: auto;
    color: #fff;
    font-family: "UOPH Gilroy", "UOPH Gilroy Fallback", Arial, Helvetica, sans-serif;
}

.uoph-contact__intro {
    text-align: center;
}

.uoph-contact__intro h1,
.uoph-contact__intro h2 {
    max-inline-size: 100%;
    margin: 0;
    color: #fff;
    font-family: inherit;
    font-size: clamp(3.625rem, 8vw, 7rem);
    font-weight: 800;
    letter-spacing: -0.055em;
    line-height: 0.84;
}

.uoph-contact__intro h1:focus,
.uoph-contact__intro h2:focus,
.uoph-contact__code-step h3:focus,
.uoph-contact__success:focus {
    outline: none;
}

.uoph-contact__intro p {
    max-inline-size: 42rem;
    margin: clamp(1.5rem, 3vw, 2.25rem) auto 0;
    color: rgb(255 255 255 / 68%);
    font-size: clamp(1.25rem, 2.1vw, 1.75rem);
    font-weight: 400;
    line-height: 1.25;
}

.uoph-contact__form,
.uoph-contact__success {
    margin-block-start: clamp(2.5rem, 5vw, 4.5rem);
}

.uoph-contact__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem 1.25rem;
}

.uoph-contact__field {
    min-inline-size: 0;
}

.uoph-contact__field--wide {
    grid-column: 1 / -1;
}

.uoph-contact__field label {
    display: block;
    margin-block-end: 0.55rem;
    color: rgb(255 255 255 / 88%);
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.25;
}

html body .uoph-contact input:not([type="checkbox"]),
html body .uoph-contact select,
html body .uoph-contact textarea {
    display: block;
    inline-size: 100%;
    min-inline-size: 0;
    min-block-size: 3rem;
    margin: 0;
    padding: 0.75rem 0.875rem;
    border: 1px solid rgb(255 255 255 / 48%);
    border-radius: 0;
    color: #fff;
    background: transparent;
    box-shadow: none;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
}

html body .uoph-contact select {
    padding-inline-end: 0.875rem;
    color-scheme: dark;
    appearance: auto;
}

html body .uoph-contact select option {
    color: #090909;
    background: #fff;
}

html body .uoph-contact textarea {
    min-block-size: 12rem;
    resize: vertical;
}

html body .uoph-contact input:not([type="checkbox"]):focus,
html body .uoph-contact select:focus,
html body .uoph-contact textarea:focus {
    border-color: #fff;
    outline: 2px solid #fff;
    outline-offset: 3px;
}

html body .uoph-contact input[readonly] {
    color: rgb(255 255 255 / 68%);
    border-style: dashed;
}

.uoph-contact [aria-invalid="true"] {
    border-color: #ffb7b7 !important;
}

.uoph-contact__field-error {
    display: block;
    margin-block-start: 0.5rem;
    color: #ffb7b7;
    font-size: 0.875rem;
    line-height: 1.35;
}

.uoph-contact__privacy-information {
    margin-block-start: 1.75rem;
    color: rgb(255 255 255 / 54%);
    font-size: 0.875rem;
    line-height: 1.5;
}

.uoph-contact__privacy {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.7rem;
    align-items: start;
    margin-block-start: 1.25rem;
}

html body .uoph-contact__privacy input[type="checkbox"],
html body .uoph-contact__privacy input[type="checkbox"]:hover,
html body .uoph-contact__privacy input[type="checkbox"]:focus,
html body .uoph-contact__privacy input[type="checkbox"]:active {
    display: grid;
    appearance: none;
    -webkit-appearance: none;
    inline-size: 1.125rem;
    block-size: 1.125rem;
    min-inline-size: 1.125rem;
    min-block-size: 1.125rem;
    margin: 0.15rem 0 0;
    padding: 0;
    border: 1px solid #fff !important;
    border-radius: 0;
    color: #090909 !important;
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    outline: 0;
    place-content: center;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

html body .uoph-contact__privacy input[type="checkbox"]::before {
    content: "";
    inline-size: 0.55rem;
    block-size: 0.3rem;
    border-block-end: 0.125rem solid currentColor;
    border-inline-start: 0.125rem solid currentColor;
    opacity: 0;
    transform: translateY(-0.05rem) rotate(-45deg);
}

html body .uoph-contact__privacy input[type="checkbox"]:checked::before {
    opacity: 1;
}

html body .uoph-contact__privacy input[type="checkbox"]:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px;
}

.uoph-contact__privacy label {
    color: rgb(255 255 255 / 78%);
    font-size: 0.9375rem;
    line-height: 1.45;
}

.uoph-contact__privacy a {
    color: #fff;
    text-underline-offset: 0.2em;
}

.uoph-contact__privacy .uoph-contact__field-error {
    grid-column: 2;
}

.uoph-contact__actions {
    display: flex;
    justify-content: center;
    margin-block-start: 2rem;
}

html body .uoph-contact button.uoph-pill-action,
html body .uoph-contact button.uoph-pill-action:hover,
html body .uoph-contact button.uoph-pill-action:focus,
html body .uoph-contact button.uoph-pill-action:focus-visible,
html body .uoph-contact button.uoph-pill-action:active {
    min-inline-size: 9rem;
    border-color: #fff !important;
    color: #fff !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
}

html body .uoph-contact button.uoph-pill-action[disabled] {
    opacity: 0.5;
    cursor: wait;
}

.uoph-contact__status,
.uoph-contact__alert {
    inline-size: min(42rem, 100%);
    margin: 1.5rem auto 0;
    text-align: center;
    font-size: 0.9375rem;
    line-height: 1.45;
}

.uoph-contact__status:empty {
    display: none;
}

.uoph-contact__status {
    color: rgb(255 255 255 / 62%);
}

.uoph-contact__alert {
    padding: 0.875rem 1rem;
    border: 1px solid #ffb7b7;
    color: #fff;
}

.uoph-contact__code-step {
    inline-size: min(28rem, 100%);
    margin-inline: auto;
    text-align: center;
}

.uoph-contact__code-step h3,
.uoph-contact__success h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 400;
    letter-spacing: -0.045em;
    line-height: 1;
}

.uoph-contact__code-step > p,
.uoph-contact__success p {
    margin: 1.25rem auto 0;
    color: rgb(255 255 255 / 68%);
    font-size: 1.0625rem;
    line-height: 1.5;
}

.uoph-contact__code-step .uoph-contact__field {
    margin-block-start: 2rem;
    text-align: start;
}

.uoph-contact__code-step input[name="code"] {
    text-align: center;
    font-size: 1.5rem;
    letter-spacing: 0.3em;
}

.uoph-contact__secondary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.5rem;
    justify-content: center;
    margin-block-start: 1.5rem;
}

html body .uoph-contact__secondary-actions button,
html body .uoph-contact__secondary-actions button:hover,
html body .uoph-contact__secondary-actions button:focus,
html body .uoph-contact__secondary-actions button:active {
    all: unset;
    color: #fff !important;
    background: transparent !important;
    font: inherit;
    text-decoration: underline;
    text-underline-offset: 0.25em;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

html body .uoph-contact__secondary-actions button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px;
}

html body .uoph-contact__secondary-actions button[disabled] {
    color: rgb(255 255 255 / 42%) !important;
    cursor: default;
}

.uoph-contact__resend-wait {
    min-block-size: 1.4em;
    font-size: 0.875rem !important;
}

.uoph-contact__success {
    text-align: center;
}

.uoph-contact__honeypot {
    position: absolute !important;
    inset-inline-start: -10000px !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    overflow: hidden !important;
}

.uoph-contact-not-found main {
    display: grid;
    min-block-size: 100vh;
    padding: 2rem;
    place-items: center;
}

.uoph-contact-not-found h1 {
    font-family: "UOPH Gilroy", "UOPH Gilroy Fallback", Arial, Helvetica, sans-serif;
    font-size: clamp(2.5rem, 7vw, 6rem);
}

@media (max-width: 47.99rem) {
    .uoph-contact-page__main,
    .uoph-contact-overlay__scene.uoph-editorial-content__scene {
        padding: 2.25rem max(1rem, 5vw) max(5rem, env(safe-area-inset-bottom));
    }

    .uoph-contact__intro h1,
    .uoph-contact__intro h2 {
        font-size: clamp(3rem, 16vw, 4.75rem);
        line-height: 0.88;
    }

    .uoph-contact__intro p {
        margin-block-start: 1.5rem;
        font-size: 1.25rem;
    }

    .uoph-contact__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.25rem;
    }

    .uoph-contact__field--wide {
        grid-column: auto;
    }

    html body .uoph-contact input:not([type="checkbox"]),
    html body .uoph-contact select,
    html body .uoph-contact textarea {
        min-block-size: 3rem;
        font-size: 1rem;
    }

    .uoph-contact__actions {
        align-items: stretch;
    }

    html body .uoph-contact button.uoph-pill-action {
        inline-size: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .uoph-contact-overlay,
    .uoph-contact-overlay__scene {
        transition: none !important;
    }
}
