:root {
    --identity-panel: var(--fc-charcoal);
    --identity-panel-soft: color-mix(in srgb, var(--fc-charcoal) 82%, var(--fc-black));
}

@font-face {
    font-family: "Anton";
    src: url("../fonts/Anton-Regular.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

* {
    box-sizing: border-box;
}

html,
body.identity-intake-page {
    min-height: 100%;
}

body.identity-intake-page {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 50% 2%, color-mix(in srgb, var(--brand-primary) 20%, transparent), transparent 34%),
        var(--fc-black);
    color: var(--fc-white);
    font-family: "Montserrat", Arial, sans-serif;
}

.identity-intake-shell {
    width: min(100%, 600px);
    min-height: 100vh;
    margin: 0 auto;
    padding: clamp(28px, 5vh, 54px) clamp(20px, 5vw, 34px) 34px;
}

.identity-intake-brand,
.identity-intake-intro {
    text-align: center;
}

.identity-intake-brand img {
    display: block;
    width: min(168px, 48vw);
    max-height: 104px;
    margin: 0 auto 18px;
    object-fit: contain;
}

.identity-intake-eyebrow {
    margin: 0 0 7px;
    color: var(--brand-primary);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.identity-intake-intro h1 {
    font-family: "Gloock", Georgia, serif;
}

.identity-intake-page--find-profile .identity-intake-intro h1,
.identity-intake-page--matched .identity-intake-intro h1,
.identity-intake-page--create-request .identity-intake-intro h1 {
    margin: 0;
    font-family: "Anton", Impact, sans-serif;
    font-size: clamp(2.45rem, 7vw, 3.35rem);
    font-weight: 400;
    letter-spacing: .035em;
    line-height: .98;
    text-transform: uppercase;
}

.identity-intake__title-accent {
    color: var(--brand-primary);
}

.identity-intake-intro > p:last-child {
    max-width: 470px;
    margin: 11px auto 22px;
    color: var(--fc-ivory);
    font-size: .96rem;
    line-height: 1.55;
}

.identity-intake-context-copy {
    max-width: 470px;
    margin: 11px auto 22px;
    color: var(--fc-ivory);
    font-size: .96rem;
    line-height: 1.55;
}

.identity-intake-progress {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 21px;
    padding: 0;
    list-style: none;
}

.identity-intake-progress__step {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 1 auto;
    color: color-mix(in srgb, var(--fc-ivory) 62%, var(--fc-charcoal));
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .065em;
    line-height: 1.25;
    text-transform: uppercase;
}

.identity-intake-progress__connector {
    display: block;
    min-width: 12px;
    flex: 1 1 20px;
    height: 1px;
    background: color-mix(in srgb, var(--fc-ivory) 30%, transparent);
}

.identity-intake-progress__step.is-active {
    color: var(--brand-primary);
}

.identity-intake-progress__step.is-complete {
    color: var(--fc-success);
}

.identity-intake-progress__connector.is-complete {
    background: var(--fc-success);
}

.identity-intake-progress__number {
    display: grid;
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: .75rem;
}

.identity-intake-card {
    padding: clamp(25px, 5vw, 42px);
    border: 1px solid color-mix(in srgb, var(--brand-primary) 70%, var(--fc-charcoal));
    border-radius: 14px;
    background: var(--identity-panel-soft);
    box-shadow: 0 24px 64px color-mix(in srgb, var(--fc-black) 72%, transparent);
}

.identity-intake-card--find-profile {
    padding: clamp(24px, 4vw, 31px);
}

.identity-intake-card__intro {
    display: grid;
    grid-template-columns: 50px 1fr;
    align-items: start;
    gap: 14px;
    margin: 0 0 23px;
}

.identity-intake-card__icon {
    display: grid;
    width: 50px;
    height: 50px;
    margin: 0 auto 19px;
    border: 1px solid var(--brand-primary);
    border-radius: 50%;
    color: var(--brand-primary);
    font-size: 1.2rem;
    place-items: center;
}

.identity-intake-card h2 {
    margin: 0;
    color: var(--fc-white);
    font-family: "Gloock", Georgia, serif;
    font-size: clamp(1.7rem, 5vw, 2.35rem);
    font-weight: 400;
    line-height: 1.16;
    text-align: center;
}

.identity-intake-card--find-profile .identity-intake-card__icon {
    margin: 0;
    border: 0;
    border-radius: 0;
    font-size: 2rem;
}

.identity-intake-profile-icon {
    position: relative;
    display: inline-grid;
    place-items: center;
}

.identity-intake-profile-icon .fa-magnifying-glass {
    position: absolute;
    right: -.35em;
    bottom: -.2em;
    padding: .13em;
    border-radius: 50%;
    background: var(--identity-panel-soft);
    font-size: .56em;
}

.identity-intake-card--find-profile h2 {
    font-size: clamp(1.42rem, 4vw, 1.82rem);
    font-weight: 700;
    line-height: 1.15;
    font-family: "Montserrat", Arial, sans-serif;
    text-align: left;
}

.identity-intake-card__copy {
    max-width: 440px;
    margin: 12px auto 28px;
    color: var(--fc-ivory);
    font-size: .96rem;
    line-height: 1.55;
    text-align: center;
}

.identity-intake-card--find-profile .identity-intake-card__copy {
    max-width: none;
    margin: 8px 0 0;
    font-size: .92rem;
    text-align: left;
}

.identity-intake-feedback {
    margin: 0 0 21px;
    padding: 12px 14px;
    border-left: 3px solid var(--brand-primary);
    background: color-mix(in srgb, var(--brand-primary) 11%, var(--fc-black));
    color: var(--fc-ivory);
    font-size: .9rem;
    line-height: 1.45;
}

.identity-intake-form {
    display: grid;
    gap: 10px;
}

.identity-intake-form label {
    color: var(--fc-white);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.identity-intake-input-wrap {
    position: relative;
}

.identity-intake-input-wrap > i {
    position: absolute;
    top: 50%;
    left: 17px;
    color: var(--brand-primary);
    transform: translateY(-50%);
}

.identity-intake-input-wrap input {
    width: 100%;
    min-height: 56px;
    padding: 0 17px 0 49px;
    border: 1px solid color-mix(in srgb, var(--fc-white) 30%, var(--fc-charcoal));
    border-radius: 5px;
    outline: 0;
    background: var(--fc-black);
    color: var(--fc-white);
    font: inherit;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.identity-intake-input-wrap input::placeholder {
    color: color-mix(in srgb, var(--fc-ivory) 52%, var(--fc-charcoal));
}

.identity-intake-input-wrap input:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-primary) 22%, transparent);
}

.identity-intake-input-wrap input.is-invalid {
    border-color: var(--brand-primary);
}

.identity-intake-error {
    margin: 0;
    color: var(--fc-error);
    font-size: .86rem;
}

.identity-intake-feedback--error {
    border-left-color: var(--fc-error);
    background: color-mix(in srgb, var(--fc-error) 13%, var(--fc-black));
}

.identity-intake-continue {
    width: 100%;
    min-height: 52px;
    margin-top: 13px;
    font-size: .88rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.identity-intake-login {
    margin: 19px 0 0;
    color: var(--fc-ivory);
    font-size: .92rem;
    text-align: center;
}

.identity-intake-login a {
    color: var(--brand-primary);
    font-weight: 700;
}

.identity-intake-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.identity-intake-benefits li {
    display: grid;
    justify-items: center;
    gap: 9px;
    min-width: 0;
    padding: 0 13px;
    color: var(--fc-ivory);
    font-size: .78rem;
    line-height: 1.4;
    text-align: center;
}

.identity-intake-benefits li + li {
    border-left: 1px solid color-mix(in srgb, var(--brand-primary) 42%, transparent);
}

.identity-intake-benefits i {
    color: var(--brand-primary);
    font-size: 1.42rem;
}

.identity-intake-contacts {
    display: grid;
    gap: 9px;
    margin: 0 0 23px;
    padding: 0;
    list-style: none;
}

.identity-intake-contacts li {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 12px;
    padding: 0 15px;
    border: 1px solid color-mix(in srgb, var(--fc-white) 20%, var(--fc-charcoal));
    border-radius: 5px;
    background: var(--fc-black);
    color: var(--fc-white);
    font-size: .94rem;
}

.identity-intake-contacts i {
    color: var(--brand-primary);
}

.identity-intake-state-note {
    margin: 14px 0 0;
    color: var(--fc-ivory);
    font-size: .83rem;
    line-height: 1.45;
    text-align: center;
}

.identity-intake-card--matched {
    padding: clamp(27px, 5vw, 34px);
}

.identity-intake-card--matched .identity-intake-card__icon {
    width: 53px;
    height: 53px;
    margin-bottom: 20px;
    border: 0;
    background: var(--fc-success);
    color: var(--fc-white);
    font-size: 2rem;
}

.identity-intake-card--matched h2 {
    font-family: "Montserrat", Arial, sans-serif;
    font-size: clamp(1.65rem, 5vw, 2rem);
    font-weight: 700;
}

.identity-intake-card--matched .identity-intake-card__copy {
    margin: 9px auto 21px;
}

.identity-intake-methods {
    display: grid;
    gap: 9px;
    margin: 0 0 20px;
    padding: 0;
    border: 0;
}

.identity-intake-methods > p,
.identity-intake-methods legend {
    margin: 0 0 2px;
    padding: 0;
    color: var(--fc-ivory);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-align: left;
    text-transform: uppercase;
}

.identity-intake-method {
    display: flex;
    min-height: 52px;
    align-items: center;
    gap: 12px;
    padding: 0 15px;
    border: 1px solid color-mix(in srgb, var(--fc-white) 20%, var(--fc-charcoal));
    border-radius: 5px;
    background: var(--fc-black);
    color: var(--fc-white);
    cursor: pointer;
    font-size: .94rem;
}

.identity-intake-method:has(input:checked) {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-primary) 18%, transparent);
}

.identity-intake-method input {
    width: 16px;
    height: 16px;
    margin: 0 1px 0 0;
    accent-color: var(--brand-primary);
}

.identity-intake-method__icon {
    display: grid;
    width: 20px;
    place-items: center;
    color: var(--brand-primary);
}

.identity-intake-login-alternative {
    display: grid;
    justify-items: center;
    gap: 11px;
    margin-top: 19px;
    padding-top: 18px;
    border-top: 1px solid color-mix(in srgb, var(--fc-white) 16%, transparent);
}

.identity-intake-login-alternative p {
    margin: 0;
    color: var(--fc-ivory);
    font-size: .89rem;
    text-align: center;
}

.identity-intake-login-button {
    min-width: min(100%, 242px);
    min-height: 46px;
    font-size: .8rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.identity-intake-card--create-request {
    padding: clamp(24px, 4vw, 32px);
}

.identity-intake-card--create-request .identity-intake-card__icon {
    width: auto;
    height: auto;
    margin: 0;
    border: 0;
    border-radius: 0;
    color: var(--brand-primary);
    font-size: 1.85rem;
}

.identity-intake-card--create-request h2 {
    font-family: "Montserrat", Arial, sans-serif;
    font-size: clamp(1.42rem, 4vw, 1.82rem);
    font-weight: 700;
    text-align: left;
}

.identity-intake-card--create-request .identity-intake-card__copy {
    max-width: none;
    margin: 8px 0 0;
    font-size: .92rem;
    text-align: left;
}

.identity-intake-create-form {
    gap: 16px;
}

.identity-intake-create-form > div {
    display: grid;
    gap: 8px;
}

.identity-intake-form__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.identity-intake-form__grid > div {
    display: grid;
    gap: 8px;
}

.identity-intake-create-form input,
.identity-intake-create-form select,
.identity-intake-create-form textarea {
    width: 100%;
    min-height: 52px;
    padding: 0 15px;
    border: 1px solid color-mix(in srgb, var(--fc-white) 30%, var(--fc-charcoal));
    border-radius: 5px;
    outline: 0;
    background: var(--fc-black);
    color: var(--fc-white);
    font: inherit;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.identity-intake-create-form textarea {
    min-height: 116px;
    padding: 13px 15px;
    resize: vertical;
}

.identity-intake-create-form select {
    appearance: auto;
}

.identity-intake-create-form input:focus,
.identity-intake-create-form select:focus,
.identity-intake-create-form textarea:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-primary) 22%, transparent);
}

.identity-intake-create-form .is-invalid {
    border-color: var(--fc-error);
}

.identity-intake-phone-control {
    display: flex;
    min-width: 0;
}

.identity-intake-create-form .iti {
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
}

.identity-intake-create-form .iti input {
    padding-left: 54px;
    min-width: 0;
    border-radius: 5px 0 0 5px;
}

.identity-intake-create-form .iti__country-list {
    border-color: color-mix(in srgb, var(--fc-white) 28%, var(--fc-charcoal));
    background: var(--fc-charcoal);
    color: var(--fc-white);
    box-shadow: 0 16px 36px color-mix(in srgb, var(--fc-black) 72%, transparent);
}

.identity-intake-create-form .iti__country.iti__highlight {
    background: color-mix(in srgb, var(--brand-primary) 18%, var(--fc-charcoal));
}

.identity-intake-phone-status {
    display: inline-flex;
    min-width: 0;
    flex: 0 0 11.5rem;
    align-items: center;
    min-height: 52px;
    margin-left: -1px;
    padding: 0 .75rem;
    border: 1px solid color-mix(in srgb, var(--fc-white) 30%, var(--fc-charcoal));
    border-radius: 0 5px 5px 0;
    background: var(--fc-black);
    color: transparent;
    font-size: .86rem;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
}

.identity-intake-phone-status--valid {
    color: var(--fc-success);
}

.identity-intake-phone-status--invalid {
    color: var(--fc-error);
}

.identity-intake-phone-status--not-mobile {
    color: var(--fc-error);
}

.identity-intake-phone-status--unavailable,
.identity-intake-phone-status--checking {
    color: var(--fc-ivory);
}

.identity-intake-optional {
    color: var(--fc-ivory);
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

@media (max-width: 480px) {
    .identity-intake-shell {
        padding-top: 34px;
    }

    .identity-intake-card {
        padding: 25px 20px;
    }

    .identity-intake-progress {
        gap: 8px;
    }

    .identity-intake-progress__step {
        gap: 6px;
        font-size: .62rem;
        letter-spacing: .045em;
    }

    .identity-intake-progress__connector {
        min-width: 8px;
        flex-basis: 10px;
    }

    .identity-intake-card__intro {
        grid-template-columns: 1fr;
        justify-items: start;
        gap: 7px;
    }

    .identity-intake-card__icon {
        margin: 0 auto 19px;
    }

    .identity-intake-card--find-profile .identity-intake-card__icon {
        width: auto;
        height: auto;
        margin: 0;
        font-size: 1.8rem;
    }

    .identity-intake-form__grid {
        grid-template-columns: 1fr;
    }

    .identity-intake-phone-control {
        display: block;
    }

    .identity-intake-create-form .iti input {
        border-radius: 5px;
    }

    .identity-intake-phone-status {
        width: 100%;
        min-height: 0;
        margin: 7px 0 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .identity-intake-benefits {
        grid-template-columns: 1fr;
        gap: 17px;
    }

    .identity-intake-benefits li {
        grid-template-columns: 28px 1fr;
        justify-items: start;
        align-items: center;
        gap: 11px;
        padding: 0;
        text-align: left;
    }

    .identity-intake-benefits li + li {
        border-top: 1px solid color-mix(in srgb, var(--brand-primary) 42%, transparent);
        border-left: 0;
        padding-top: 17px;
    }

    .identity-intake-benefits i {
        font-size: 1.18rem;
    }
}
