.lead-section {
    background: linear-gradient(145deg, #fff 0%, #fff 57.5%, var(--paper-blue) 57.5%, var(--paper-blue) 100%)
}

.lead-section__grid {
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
    gap: var(--space-7);
    align-items: start
}

.lead-aside {
    padding: 2.5rem 0;
    color: var(--ink);
}

.lead-aside h2 {
    color: #03050d
}

.lead-aside>p:not(.eyebrow) {
    font-size: var(--step-1);
    color: var(--ink-soft);
}

.eyebrow--light {
    color: #79d4f2
}

.check-list {
    display: grid;
    gap: .75rem;
    margin: 2rem 0;
    padding: 0;
    list-style: none
}

.check-list li {
    position: relative;
    color: var(--ink-soft);
    padding-left: 1.7rem
}

.check-list li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--navy);
    font-weight: 900
}

.lead-aside__contact {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, .2)
}

.lead-aside__contact a {
    color: var(--ink);
    font-size: 1.3rem;
    font-weight: 850;
    text-decoration: none
}

.form-shell {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--white);
}

.form-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: .5rem;
    background: var(--line);
}

.form-tab {
    min-height: 54px;
    padding: .75rem 1rem;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--ink-soft);
    font-weight: 850
}

.form-tab.is-active {
    border-color: #03050d;
    background: #03050d;
    color: #fff;
    box-shadow: 0 5px 18px rgba(38, 58, 139, .1)
}

.form-panel {
    padding: 2rem
}

.form-panel__heading {
    margin-bottom: 1.5rem
}

.form-panel__heading h3 {
    margin: 0;
    font-size: var(--step-2)
}

.form-panel__heading p {
    margin: .35rem 0 0;
    color: var(--ink-soft);
    font-size: .92rem
}

.form-grid {
    display: grid;
    gap: 1rem
}

.form-grid--2 {
    grid-template-columns: 1fr 1fr
}

.field--wide {
    grid-column: 1/-1
}

.field label,
.address-fields legend {
    display: block;
    margin-bottom: .35rem;
    color: var(--ink);
    font-size: .84rem;
    font-weight: 800
}

.field input,
.field select,
.field textarea {
    width: 100%;
    min-height: 48px;
    padding: .72rem .8rem;
    border: 1px solid #bcc8d7;
    border-radius: 8px;
    background: var(--white);
    color: var(--ink)
}

.field textarea {
    min-height: 128px;
    resize: vertical
}

.field input:hover,
.field select:hover,
.field textarea:hover {
    border-color: #889bb3
}

.field input[aria-invalid=true],
.field select[aria-invalid=true],
.field textarea[aria-invalid=true] {
    border-color: var(--danger);
    box-shadow: 0 0 0 2px rgba(180, 35, 24, .1)
}

.field-error {
    min-height: 1.1em;
    display: block;
    margin-top: .28rem;
    color: var(--danger);
    font-size: .78rem;
    font-weight: 700
}

.address-fields {
    margin: 1.4rem 0 1rem;
    padding: 1.2rem;
    border: 1px solid var(--line);
    border-radius: 12px
}

.address-fields legend {
    padding: 0 .35rem
}

.consent {
    display: flex;
    gap: .65rem;
    align-items: flex-start;
    margin-top: 1.1rem;
    font-size: .88rem
}

.consent input {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    margin-top: .15rem;
    accent-color: var(--navy)
}

.form-status {
    min-height: 1.4rem;
    margin: .8rem 0;
    padding: 0;
    font-size: .9rem
}

.form-status.is-error,
.form-status.is-success {
    padding: .8rem 1rem;
    border-radius: 8px
}

.form-status.is-error {
    background: #fef3f2;
    color: var(--danger)
}

.form-status.is-success {
    background: #ecfdf3;
    color: var(--success)
}

.form-actions {
    display: flex;
    gap: 1rem;
    margin-top: 20px;
    align-items: center
}

.form-actions small {
    max-width: 310px;
    color: var(--ink-soft);
    line-height: 1.35
}

.form-fallback {
    display: grid;
    gap: .25rem;
    margin: 0 2rem 2rem;
    padding: 1rem;
    border-left: 4px solid var(--sky);
    background: var(--paper-blue);
    color: var(--ink-soft);
    font-size: .88rem
}

.form-fallback strong {
    color: var(--ink)
}

.form-fallback a {
    color: var(--navy);
    font-weight: 800
}

@media(max-width:980px) {
    .lead-section {
        background: var(--paper-blue);
    }

    .lead-section__grid {
        grid-template-columns: 1fr
    }

    .form-shell {
        margin-bottom: 1rem;
        border-radius: 15px;
    }
}

@media(max-width:600px) {
    .form-panel {
        padding: 1.2rem
    }

    .form-grid--2 {
        grid-template-columns: 1fr
    }

    .field--wide {
        grid-column: auto
    }

    .address-fields {
        padding: .9rem
    }

    .form-tabs {
        grid-template-columns: 1fr 1fr;
        padding: 0;
    }

    .form-tab {
        padding: 0;
        border-radius: 0;
        font-weight: 500;
    }

    .form-actions {
        align-items: stretch;
        flex-direction: column
    }

    .form-fallback {
        margin: 0 1.2rem 1.2rem
    }
}

/* Compact Gravity Forms-aligned presentation. */
.form-panel {
    padding: 1.45rem;
    background: var(--paper);
}

.form-panel__heading {
    margin-bottom: 1rem
}

.form-grid {
    gap: .68rem .85rem
}

.field input,
.field select,
.field textarea {
    min-height: 44px;
    padding: .58rem .72rem
}

.field textarea {
    min-height: 94px
}

.field-error {
    min-height: 0;
    margin-top: .18rem
}

.field-error:empty,
.form-status:empty {
    display: none
}

.address-fields {
    margin: .85rem 0 .65rem;
    padding: .85rem
}

.consent {
    margin-top: .65rem
}

.form-status {
    min-height: 0;
    margin: .55rem 0
}