/* =============================================================
   2027 NEI Spring Congress — Main Stylesheet (cngsp.css)
   Linked by all Spring Congress pages as ../cngsp.css
   Load order: nei-meetings.css → global style.css (CDN) → this file
   ============================================================= */


/* =============================================================
   Section A — Spring Congress custom properties
   (moved from global style.css :root block, lines 40–45)
   ============================================================= */

:root {
    --spring-congress-h1-size: 32px;
    --spring-congress-h2-size: 26px;
    --spring-congress-h3-size: 22px;
    --spring-congress-h4-size: 20px;
    --spring-congress-h1-size-mobile: 26px;
    --spring-congress-h2-size-mobile: 24px;
    --spring-congress-h3-size-mobile: 20px;
    --spring-congress-h4-size-mobile: 18px;
    --spring-congress-button-font-size: 16px !important;
}


/* =============================================================
   Section A (cont.) — Button font size
   (moved from global style.css lines 7196–7205)
   ============================================================= */

.nei-meetings a.btn,
.nei-meetings button.btn,
.nei-meetings a.syn_darkblue_btn,
.nei-meetings a.syn_pink_btn,
.nei-meetings a.syn_red_btn,
.nei-meetings a.syn_orange_btn,
.nei-meetings .general-footer a.general-footer--button {
    font-size: var(--spring-congress-button-font-size) !important;
    font-weight: 700;
}


/* =============================================================
   Section A (cont.) — Heading size overrides
   (moved from global style.css lines 5107–5131)
   ============================================================= */

.spring-congress-headings h1 {
    font-size: var(--spring-congress-h1-size) !important;
}

.spring-congress-headings h2 {
    font-size: var(--spring-congress-h2-size) !important;
}

.spring-congress-headings h3 {
    font-size: var(--spring-congress-h3-size) !important;
}

.spring-congress-headings h4 {
    font-size: var(--spring-congress-h4-size) !important;
}

@media (max-width: 540px) {
    .spring-congress-headings h1 {
        font-size: var(--spring-congress-h1-size-mobile) !important;
    }

    .spring-congress-headings h2 {
        font-size: var(--spring-congress-h2-size-mobile) !important;
    }

    .spring-congress-headings h3 {
        font-size: var(--spring-congress-h3-size-mobile) !important;
    }

    .spring-congress-headings h4 {
        font-size: var(--spring-congress-h4-size-mobile) !important;
    }
}


/* =============================================================
   Section A (cont.) — Footer theme
   (moved from global style.css lines 11317–11399)
   ============================================================= */

.general-footer.spring-congress-footer {
    background-color: #048E8D;
    margin-top: 0 !important;
}

.general-footer.spring-congress-footer a.general-footer--button {
    background-color: var(--syn-lightblue-2) !important;
    color: #fff !important;
}

.general-footer.spring-congress-footer a.general-footer--button:hover {
    background-color: color-mix(in srgb, var(--syn-lightblue-2) 88%, white 12%) !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(78, 132, 166, 0.22);
}

.nei-meetings .general-footer.spring-congress-footer,
.nei-meetings .general-footer.spring-congress-footer h1,
.nei-meetings .general-footer.spring-congress-footer h2,
.nei-meetings .general-footer.spring-congress-footer h3,
.nei-meetings .general-footer.spring-congress-footer h4,
.nei-meetings .general-footer.spring-congress-footer h5,
.nei-meetings .general-footer.spring-congress-footer h6,
.nei-meetings .general-footer.spring-congress-footer p,
.nei-meetings .general-footer.spring-congress-footer span,
.nei-meetings .general-footer.spring-congress-footer small,
.nei-meetings .general-footer.spring-congress-footer strong,
.nei-meetings .general-footer.spring-congress-footer em,
.nei-meetings .general-footer.spring-congress-footer a,
.nei-meetings .general-footer.spring-congress-footer .general-footer--headline,
.nei-meetings .general-footer.spring-congress-footer .general-footer--subheadline,
.nei-meetings .general-footer.spring-congress-footer .general-footer--button {
    color: #fff !important;
}


/* =============================================================
   CTA button pair (.cngsp-faq--buttons)
   (shared between FAQ and registration pages)
   ============================================================= */

.cngsp-faq--buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
    gap: 18px;
}

.cngsp-faq--buttons .faq-cta-button {
    flex: 1 1 280px;
    max-width: 360px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 30px !important;
    border-radius: 5px !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: var(--spring-congress-button-font-size) !important;
    font-weight: 700 !important;
    line-height: 1.2;
    color: #fff !important;
    background: var(--syn-lightblue-2);
    border: 1px solid var(--syn-lightblue-2);
    box-shadow: 0 10px 22px rgba(78, 132, 166, 0.14);
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
}

.cngsp-faq--buttons .faq-cta-button:hover,
.cngsp-faq--buttons .faq-cta-button:focus {
    color: #fff !important;
    transform: translateY(-2px);
    background-color: color-mix(in srgb, var(--syn-lightblue-2) 88%, white 12%);
    border-color: color-mix(in srgb, var(--syn-lightblue-2) 88%, white 12%);
    box-shadow: 0 10px 22px rgba(78, 132, 166, 0.22);
}


/* =============================================================
   Section C — Smooth scroll
   (was on inperson_rates + simulcast_rates only;
    now applies to all Spring pages — harmless UX enhancement)
   ============================================================= */

html {
    scroll-behavior: smooth;
}


/* =============================================================
   Registration rates table
   (shared between inperson_rates and simulcast_rates pages)
   ============================================================= */

.cng-flex_reg_table .table ul {
    list-style: none;
    width: 25%;
    font-size: 16px !important;
}

#cng_registration_table ul {
    width: 33.333%;
}

.cng-flex_reg_table .table {
    border-radius: 0 0 5px 5px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(61, 71, 77, 0.08);
}

.table-scroll-wrap {
    position: relative;
}

.table-scroll-button {
    display: none;
}

.mobile-attendee-cta {
    display: none;
}

.intro-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 20px;
    justify-content: center;
}

.intro-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 20px;
    border-radius: 999px;
    font-family: Avenir, Arial, Helvetica, sans-serif;
    font-size: 15px !important;
    font-weight: 800;
    text-decoration: none !important;
    transition: background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
    font-weight: bold !important;
}

.intro-cta.member {
    background: #fff;
    color: #5DA456 !important;
    border: 2px solid #5DA456;
}

.intro-cta.member:hover,
.intro-cta.member:focus {
    background: #5DA456;
    color: #fff !important;
    transform: translateY(-1px);
    font-weight: bold !important;
}

.intro-cta.congress {
    background: #008d8c;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(0, 141, 140, 0.2);
}

.intro-cta.congress:hover,
.intro-cta.congress:focus {
    background: #067978;
    color: #fff !important;
    transform: translateY(-1px);
}

.rates-heading {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.rates-heading img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    flex: 0 0 auto;
}

.rates-heading h4 {
    margin: 0;
}

.looking_for_industry {
    margin-left: auto;
}

.looking_for_industry a {
    margin-top: 5px;
    padding: 0;
    text-decoration: underline;
    border-radius: 0;
    border: 0 !important;
    display: inline;
    width: fit-content;
    font-size: 16px !important;
    font-weight: 700 !important;
    background-color: transparent !important;
    color: #e96c1e !important;
    transition: .3s;
    text-decoration: underline !important;
}

.looking_for_industry a:hover {
    color: #c95a14 !important;
    background-color: transparent !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

.cng-flex_reg_table .table_header a:hover {
    cursor: pointer;
}

.table_header.cngsp_table_header {
    background: linear-gradient(135deg, #0f8b8d 0%, #0a7d84 52%, #06656e 100%) !important;
    border-radius: 5px 5px 0 0 !important;
    overflow: hidden;
}

.table .cng_prices li {
    font-weight: normal;
    flex: 1 0 auto !important;
}

.member-cell {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    width: 100%;
    height: 100%;
}

.member-content {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 100%;
    height: 100%;
    padding: 14px 12px;
}

.member-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    text-align: center;
}

.member-content .small-text,
.member-content .small-text:hover {
    font-size: 12px !important;
}

.member-content .small-text {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 16px);
    margin: 0 8px;
    padding: 6px 12px;
    border-radius: 999px;
    background-color: #5DA456;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.15;
    text-transform: none;
    white-space: normal;
    text-decoration: none !important;
    transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.member-content .small-text:hover {
    color: #fff !important;
    background-color: #4f8d49;
    box-shadow: 0 8px 20px rgba(93, 164, 86, 0.2);
    transform: translateY(-1px);
    font-size: 12px !important;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.15;
    text-transform: none;
}

#cng_industry_table.industry_100 .cng_prices {
    width: 100%;
}

#cng_registration_table #cng_headers li {
    position: relative;
}

#cng_registration_table #cng_headers .member-col {
    background: linear-gradient(180deg, #f6fbf4 0%, #e8f4e5 100%);
    color: #5DA456;
    font-weight: 800;
    min-height: 150px;
    padding: 0;
    align-items: stretch;
}

.member-badge {
    grid-column: 1;
    transform: rotate(180deg);
    writing-mode: vertical-rl;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    width: 100%;
    padding: 10px 3px;
    height: 100%;
    border-radius: 0;
    background: #3f7f46;
    color: #fff;
    border-right: 1px solid rgba(0, 0, 0, 0.08);
    font-size: 11px !important;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

#cng_registration_table .cng_prices li {
    background-color: #fff;
}

#cng_registration_table .cng_prices li:first-child {
    font-weight: 700;
    color: #3d474d;
}

#cng_registration_table .cng_prices .ratename {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.current-rate-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 8px;
    border-radius: 6px;
    background: #f06a5a;
    color: #fff;
    font-size: 10px !important;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.ratename-label {
    display: block;
    width: 100%;
}

.ratename-date {
    display: block;
    margin-top: 4px;
    width: 100%;
    font-size: 0.82em !important;
    font-weight: 600;
    line-height: 1.3;
}

#cng_registration_table .cng_prices .member-price {
    background: linear-gradient(180deg, #f6fbf4 0%, #e8f4e5 100%);
    color: #5DA456;
    font-weight: 800;
    font-size: 22px !important;
    min-height: 150px;
    padding-top: 20px;
    padding-bottom: 20px;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.member-price-compare {
    display: block;
    font-size: 16px !important;
    font-weight: 700;
    color: #6d767b;
    text-decoration: line-through;
    text-decoration-thickness: 1.5px;
    opacity: 0.9;
}

.member-price-current {
    display: block;
    font-size: 1em !important;
    font-weight: 800;
}

#cng_registration_table .cng_prices li:last-child {
    font-size: 22px !important;
    font-weight: 800;
}

.special-rates-section {
    width: calc(100% - 100px);
    max-width: none;
    margin: 48px auto 0;
    padding: 0 !important;
    font-family: Avenir, Arial, Helvetica, sans-serif;
}

.special-rates-callout {
    width: calc(100% - 100px);
    margin: 22px auto 0;
    padding: 16px 20px;
    border-radius: 18px;
    text-align: center;
    font-family: Avenir, Arial, Helvetica, sans-serif;
}

.special-rates-callout p {
    margin: 0;
    color: #3d474d;
    line-height: 1.6;
}

.special-rates-callout a {
    color: #008d8c;
    text-decoration: underline;
}

.special-rates-kicker {
    margin: 0 0 16px;
    padding: 16px 22px;
    border: 1px solid rgba(61, 71, 77, 0.08);
    border-radius: 18px;
    background: linear-gradient(180deg, #fdfefe 0%, #f6f9fb 100%);
    box-shadow: 0 10px 24px rgba(61, 71, 77, 0.05);
    text-align: center;
    font-size: var(--spring-congress-h2-size) !important;
    font-weight: 800;
    line-height: 1.2;
    color: #3d474d;
}

.special-rates-panel {
    border-radius: 24px;
    background: linear-gradient(180deg, #fbfcfd 0%, #f3f6f9 100%);
    box-shadow: 0 18px 40px rgba(61, 71, 77, 0.08);
    overflow: hidden;
}

.special-rates-header {
    padding: 28px 32px 22px;
    background: linear-gradient(135deg, #f2f7fb 0%, #eaf3f7 100%);
    border-bottom: 1px solid rgba(61, 71, 77, 0.08);
}

.special-rates-header h2 {
    margin: 0 0 10px;
    font-size: var(--spring-congress-h2-size) !important;
    color: #3d474d;
}

.special-rates-header p {
    margin: 0;
    max-width: 900px;
    line-height: 1.7;
}

.special-rates-body {
    padding: 32px;
}

.special-rates-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 28px;
}

.special-rates-step {
    padding: 22px 24px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(61, 71, 77, 0.08);
}

.special-rates-step h3 {
    margin: 0 0 10px;
    font-size: var(--spring-congress-h3-size) !important;
    color: #3d474d;
}

.special-rates-step p {
    margin: 0;
    line-height: 1.7;
}

.submission-card {
    margin-bottom: 28px;
    padding: 24px;
    border-radius: 18px;
    background: linear-gradient(135deg, #f2f7fb 0%, #eaf3f7 100%);
    border: 1px solid rgba(61, 71, 77, 0.08);
}

.submission-card h3 {
    margin: 0 0 14px;
    font-size: var(--spring-congress-h3-size) !important;
    color: #3d474d;
}

.submission-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.submission-item {
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.78);
}

.submission-item strong {
    display: block;
    margin-bottom: 6px;
    color: #3d474d;
}

.submission-item p {
    margin: 0;
    line-height: 1.65;
}

.requirements-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.requirement-card {
    padding: 22px 22px 18px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(61, 71, 77, 0.08);
    text-align: left;
}

.requirement-card h3 {
    margin: 0 0 12px;
    font-size: var(--spring-congress-h3-size) !important;
    color: #3d474d;
    text-align: left;
}

.requirement-card p {
    margin: 0 0 12px;
    line-height: 1.7;
    text-align: left;
}

.requirement-card ul {
    margin: 0;
    padding-left: 18px;
}

.requirement-card li {
    margin-bottom: 10px;
    line-height: 1.6;
}

.requirements-footnote {
    margin-top: 14px;
    font-size: 12px !important;
    line-height: 1.6;
    color: #5a656b;
    text-align: left;
}

.requirement-rates {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0 16px;
}

.requirement-rate {
    padding: 14px 12px;
    border-radius: 14px;
    background: #f7fafc;
    border: 1px solid rgba(61, 71, 77, 0.08);
}

.requirement-rate-label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px !important;
    font-weight: 800;
    line-height: 1.35;
    color: #5a656b;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.requirement-rate-date {
    display: block;
    margin-bottom: 8px;
    font-size: 12px !important;
    line-height: 1.4;
    color: #6d767b;
}

.requirement-rate-value {
    display: block;
    font-size: 24px !important;
    font-weight: 800;
    color: #3d474d;
    line-height: 1.1;
}

.requirement-rate-single {
    margin: 14px 0 16px;
    display: inline-block;
    min-width: 220px;
    max-width: 280px;
    padding: 16px 18px;
    border-radius: 14px;
    background: #f7fafc;
    border: 1px solid rgba(61, 71, 77, 0.08);
}

.special-rates-contact {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid rgba(61, 71, 77, 0.08);
    text-align: center;
}

.special-rates-contact p {
    margin: 0;
    font-weight: 700;
}

@media (max-width: 640px) {
    .submission-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 800px) {
    .header {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 10px;
    }

    .intro-cta-row {
        flex-direction: column;
        align-items: stretch;
    }

    .intro-cta {
        width: 100%;
    }

    .looking_for_industry {
        margin: auto;
    }

    .table {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .table-scroll-wrap::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 68px;
        background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.9) 24%, rgba(255, 255, 255, 0) 100%);
        pointer-events: none;
        z-index: 2;
    }

    .table-scroll-button {
        display: flex;
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        padding: 0;
        border: 0;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.88);
        color: rgba(61, 71, 77, 0.6);
        font-size: 26px !important;
        font-weight: 700;
        line-height: 0.9;
        text-align: center;
        box-shadow: 0 8px 18px rgba(61, 71, 77, 0.12);
        z-index: 3;
        cursor: pointer;
    }

    .table-scroll-button:hover,
    .table-scroll-button:focus {
        color: rgba(61, 71, 77, 0.8);
        background: rgba(255, 255, 255, 0.96);
    }

    #cng_headers,
    .cng_prices {
        display: flex;
        flex-wrap: nowrap;
    }

    #cng_headers {
        min-width: 165px;
    }

    #cng_headers li,
    .cng_prices li {
        flex: 1 0 auto;
        white-space: nowrap;
        padding: 8px;
        text-align: center;
        font-size: 14px !important;
    }

    #cng_registration_table #cng_headers,
    #cng_registration_table .cng_prices {
        align-items: stretch;
    }

    #cng_registration_table #cng_headers li,
    #cng_registration_table .cng_prices li {
        flex: 0 0 128px;
        height: 124px !important;
        min-height: 124px;
    }

    #cng_registration_table #cng_headers li:nth-child(2),
    #cng_registration_table .cng_prices li:nth-child(2) {
        flex-basis: 128px;
    }

    #cng_registration_table #cng_headers li {
        height: 150px !important;
        min-height: 150px;
    }

    .cng-flex_reg_table .table ul {
        list-style: none;
        width: 50%;
        font-size: 14px !important;
    }

    .ratename {
        opacity: 1 !important;
    }

    .ratename-date {
        font-size: 0.75em !important;
    }

    #cng_registration_table #cng_headers .member-col {
        font-size: 1.05em !important;
        height: 150px !important;
        min-height: 150px;
    }

    .member-badge {
        font-size: 9px !important;
    }

    .member-content {
        padding: 10px 6px;
    }

    .member-content .small-text,
    .member-content .small-text:hover {
        font-size: 9px !important;
    }

    .member-content .small-text {
        width: calc(100% - 8px);
        min-width: 0;
        margin: 0 4px;
        padding: 6px 8px;
        line-height: 1.1;
    }

    #cng_registration_table .cng_prices .member-price {
        font-size: 1.45em !important;
        height: 124px !important;
        min-height: 124px;
    }

    .member-price-compare {
        font-size: 0.72em !important;
    }

    #cng_onsite {
        display: flex !important;
    }

    .table .cng_past_dates {
        order: 9999;
    }

    .special-rates-section {
        padding: 0 16px 24px;
        margin-top: 32px;
    }

    .special-rates-callout {
        width: auto;
        margin: 18px 16px 0;
        padding: 14px 16px;
    }

    .special-rates-kicker {
        margin-bottom: 14px;
        padding: 14px 16px;
        font-size: var(--spring-congress-h2-size-mobile) !important;
    }

    .special-rates-header,
    .special-rates-body {
        padding: 22px 18px;
    }

    .special-rates-header h2 {
        font-size: var(--spring-congress-h2-size-mobile) !important;
    }

    .special-rates-steps,
    .requirements-grid,
    .requirement-rates {
        grid-template-columns: 1fr;
    }

    .requirement-rate-single {
        min-width: 100%;
        width: 100%;
    }

    .mobile-attendee-cta {
        display: flex;
        position: fixed;
        left: 16px;
        right: 16px;
        bottom: 16px;
        z-index: 30;
        align-items: center;
        justify-content: center;
        min-height: 54px;
        padding: 12px 18px;
        border: 1px solid rgba(255, 255, 255, 0.72);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.68);
        color: #056b6b;
        font-family: Avenir, Arial, Helvetica, sans-serif;
        font-size: var(--spring-congress-button-font-size) !important;
        font-weight: 800;
        text-align: center;
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        box-shadow: 0 18px 38px rgba(22, 42, 52, 0.18), 0 4px 12px rgba(255, 255, 255, 0.18) inset;
        cursor: pointer;
        transition: transform .2s ease, opacity .2s ease, box-shadow .2s ease, background-color .2s ease;
    }

    .mobile-attendee-cta:hover,
    .mobile-attendee-cta:focus {
        color: #045a5a;
        transform: translateY(-1px);
        background: rgba(255, 255, 255, 0.78);
        box-shadow: 0 22px 42px rgba(22, 42, 52, 0.22), 0 4px 14px rgba(255, 255, 255, 0.22) inset;
    }

    .mobile-attendee-cta.is-hidden {
        opacity: 0;
        pointer-events: none;
        transform: translateY(12px);
    }
}

@media (min-width: 801px) {
    .table::after {
        display: none;
    }
}

.cng_inactive_dates {
    opacity: 0.35;
    pointer-events: none;
    filter: grayscale(0.4);
}

#cng_registration_table .cng_active_dates li:not(.member-price) {
    background: #f2f7f8;
}

#cng_registration_table .cng_active_dates .ratename {
    color: #355c60;
}

#cng_registration_table .cng_active_dates .ratename-label {
    font-size: 1.02em !important;
}

#cng_registration_table .cng_active_dates .ratename-date {
    color: #607478;
}

#cng_registration_table .cng_active_dates li:last-child {
    color: #355c60;
}


/* =============================================================
   Spring Congress — Logo header
   (duplicate of .syn-header from global style.css lines 7208–7227;
    replaces .syn-header on all 11 Spring pages)
   ============================================================= */

.spring-congress-header {
    text-align: center;
    background-color: var(--white-2);
    margin-bottom: 50px;
}

.spring-congress-header img {
    width: 90%;
    max-width: 600px;
    margin: 0 auto;
    padding: 40px;
    height: auto;
}

@media (max-width: 540px) {
    .spring-congress-header img {
        width: 90%;
        max-width: 600px;
        margin: 0 auto;
        padding: 30px 10px;
    }
}


/* =============================================================
   Accommodations page styles
   (moved from accomodations/27cngsp_accommodations_001.html)
   ============================================================= */

.spring-congress-reservations-wrapper {
    background: rgb(243, 244, 247);
    background: -moz-linear-gradient(0deg, rgba(243, 244, 247, 1) 0%, rgba(243, 244, 247, 0) 75%);
    background: -webkit-linear-gradient(0deg, rgba(243, 244, 247, 1) 0%, rgba(243, 244, 247, 0) 75%);
    background: linear-gradient(0deg, rgba(243, 244, 247, 1) 0%, rgba(243, 244, 247, 0) 75%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f3f4f7", endColorstr="#f3f4f7", GradientType=1);
    width: 100%;
    padding-bottom: 35px;
}

.spring-congress-reservations {
    display: flex;
    align-items: flex-start;
    overflow: hidden;
    max-width: 1430px;
    margin: 0 auto;

}

.spring-congress-reservations .spring-congress-reservations--img {
    width: 50%;
    max-width: 750px;
    margin-left: auto;
    padding: 1%;
}

.spring-congress-reservations .spring-congress-reservations--img img {
    width: 100%;
}

.spring-congress-reservations .spring-congress-reservations--info {
    width: 50%;
    min-width: 640px;
    padding: 0 50px 50px 50px;
}


.spring-congress-reservations--rates {
    display: flex;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.spring-congress-reservations--rate {
    width: 100%;
    background-color: #fff;
    border: 1px solid #3d484d;
    padding: 20px;
    text-align: center;
    border-radius: 5px;
}

.spring-congress-reservations--cta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 20px;
}

.spring-congress-reservations--cta .btn {
    display: inline-block;
    font-size: var(--spring-congress-button-font-size) !important;
    font-weight: 600;
    margin-bottom: 0;
    text-decoration: none;
}

.spring-congress-reservations--cta .btn:hover {
    text-decoration: none;
}

.spring-congress-reservations--rate span {
    font-family: "Avenir", Avenir LT Pro, "Nunito", Nunito Sans, Arial, Helvetica, sans-serif;
    font-size: 16px !important;
    font-weight: 800;
    color: #3d484d;
}

.spring-congress-reservations--rate p {
    font-family: "Avenir", Avenir LT Pro, "Nunito", Nunito Sans, Arial, Helvetica, sans-serif;
    font-size: 16px !important;
}

.cngsp-img--wrapper {
    text-align: right;
    font-weight: 500;
    font-family: "Avenir", Avenir LT Pro, "Nunito", Nunito Sans, Arial, Helvetica, sans-serif;
}

@media (max-width: 1080px) {
    .spring-congress-reservations {
        display: flex;
        flex-direction: column;
        text-align: center;
    }

    .spring-congress-reservations .spring-congress-reservations--img {
        width: 100%;
        margin: 0 auto;

    }

    .spring-congress-reservations .spring-congress-reservations--img img {
        width: 100%;

    }

    .spring-congress-reservations .spring-congress-reservations--info {
        width: 100%;
        min-width: unset;
        padding: 0 32px 50px;
    }

    .spring-congress-reservations--cta {
        justify-content: center;
    }
}

@media (max-width: 640px) {
    .spring-congress-reservations .spring-congress-reservations--info {
        padding: 0 20px 40px;
    }

    .spring-congress-reservations--rates {
        flex-direction: column;
    }

    .spring-congress-reservations--rate {
        width: 100%;
        margin-bottom: 10px;
    }

    .spring-congress-reservations--cta {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .spring-congress-reservations--cta .btn {
        width: 100%;
        max-width: 320px;
        text-align: center;
    }
}

.spring-congress-accommodations-info {
    width: calc(100% - 100px);
    max-width: none;
    margin: 48px auto 0;
    font-family: Avenir, Arial, Helvetica, sans-serif;
    text-align: left;
}

.spring-congress-accommodations-info-panel {
    border-radius: 24px;
    background: linear-gradient(180deg, #fbfcfd 0%, #f3f6f9 100%);
    box-shadow: 0 18px 40px rgba(61, 71, 77, 0.08);
    overflow: hidden;
}

.spring-congress-accommodations-info-body {
    padding: 32px;
}

.spring-congress-accommodations-info-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.spring-congress-accommodations-info-card {
    padding: 22px 24px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(61, 71, 77, 0.08);
    text-align: left;
}

.spring-congress-accommodations-info-card h3 {
    margin: 0 0 12px;
    color: #3d474d;
    text-align: left;
}

.spring-congress-accommodations-info-card p,
.spring-congress-accommodations-info-card a {
    text-align: left;
    line-height: 1.75;
}

.spring-congress-accommodations-info-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 16px 0;
}

.spring-congress-accommodations-intro {
    width: calc(100% - 100px);
    max-width: none;
    margin: 0 auto;
    margin-bottom: 40px !important;
    font-family: Avenir, Arial, Helvetica, sans-serif;
}

.spring-congress-accommodations-intro-panel {
    padding: 32px;
    border-radius: 24px;
    background: linear-gradient(180deg, #fbfcfd 0%, #f3f6f9 100%);
    box-shadow: 0 18px 40px rgba(61, 71, 77, 0.08);
    border: 1px solid rgba(61, 71, 77, 0.08);
    text-align: center;
}

.spring-congress-accommodations-intro-panel h1,
.spring-congress-accommodations-intro-panel h2,
.spring-congress-accommodations-intro-panel p {
    text-align: center;
}

.spring-congress-accommodations-intro-panel h2 {
    margin-top: 20px;
}

@media (max-width: 950px) {
    .spring-congress-accommodations-intro,
    .spring-congress-accommodations-info {
        width: auto;
        margin: 32px 16px 0;
    }

    .spring-congress-accommodations-intro-panel,
    .spring-congress-accommodations-info-body {
        padding: 22px 18px;
    }
}

@media (max-width: 600px) {
    .spring-congress-accommodations-intro,
    .spring-congress-accommodations-info {
        margin: 24px 12px 0;
    }

    .spring-congress-accommodations-intro-panel,
    .spring-congress-accommodations-info-card {
        padding: 18px 16px;
    }
}


/* =============================================================
   Agenda page styles
   (moved from agenda/27cngsp_agenda_001.html)
   * { margin: 0 } scoped to .nei-meetings .agenda *
   .btn selectors scoped to .agenda_filter_container .btn
   ============================================================= */

    .nei-meetings .agenda * {
      margin: 0;
    }

    .nei-meetings .agenda {
        max-width: 1080px;
        width: 100%;
    }

    .nei-meetings .agenda h1,
    .nei-meetings .agenda h2,
    .nei-meetings .agenda h3,
    .nei-meetings .agenda h4,
    .nei-meetings .agenda p,
    .nei-meetings .agenda ul,
    .nei-meetings .agenda ol,
    .nei-meetings .agenda a,
    .nei-meetings .agenda span,
    .nei-meetings .agenda mark,
    .nei-meetings .agenda th,
    .nei-meetings .agenda td,
    .nei-meetings .agenda tr,
    .nei-meetings .agenda thead {
      font-family: Avenir LT Pro, Avenir, 'Nunito Sans', Arial, Helvetica, sans-serif;
      color: #3D474D;
      line-height: normal;
      box-sizing: border-box;
    }

    .nei-meetings .agenda p,
    .nei-meetings .agenda ul,
    .nei-meetings .agenda ol,
    .nei-meetings .agenda a,
    .nei-meetings .agenda span {
      font-size: 14px !important;
    }

    .nei-meetings .agenda ul {
      padding: 10px 0px 0px 20px;
    }

    .nei-meetings .agenda hr {
      border: 1px #e2e5e7 solid;
      color: unset;
      height: unset;
      clear: none;
      margin: 0;
    }

    .nei-meetings .agenda h4 {
      font-size: 16px !important;
    }

    .nei-meetings .agenda p {
      padding: 0;
    }

    .nei-meetings .agenda {
      width: 100%;
      position: relative;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;


    }

    .agenda_container {
      max-width: 1080px;
      margin: 0 auto 30px !important;
      padding: 34px 50px;
      background: linear-gradient(180deg, #ffffff 0%, #fbfcfc 100%);
      border: 1px solid #e2e8ea;
      border-radius: 22px;
      box-shadow: 0 20px 44px rgba(61, 71, 77, 0.08);

    }

    .agenda_event {
      display: flex;
      flex-wrap: nowrap;
      align-items: flex-start;
      background: linear-gradient(180deg, #f9fbfb 0%, #f4f7f8 100%);
      border: 1px solid #e1e7e9;
      border-radius: 16px;
      margin: 14px 0px !important;
      padding: 0px 22px;
      box-shadow: 0 10px 24px rgba(61, 71, 77, 0.05);
      transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    }

    .agenda_event:hover {
      transform: translateY(-2px);
      box-shadow: 0 16px 30px rgba(61, 71, 77, 0.08);
      border-color: #d3dddf;
    }

    .agenda_title {
      width: 100%;
    }

    .nei-meetings .agenda_title h3 {
      font-size: var(--spring-congress-h3-size) !important;
      line-height: 1.15;
      color: #22313a;
      margin-bottom: 0;
    }

    .agenda_day_rule {
      position: relative;
      width: 100%;
      height: 18px;
      margin: 10px 0 2px;
    }

    .agenda_day_rule::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      height: 1px;
      background: linear-gradient(90deg, rgba(78, 132, 166, 0.32) 0%, rgba(78, 132, 166, 0.12) 58%, rgba(78, 132, 166, 0) 100%);
      transform: translateY(-50%);
    }

    span.agenda_subtitle_cred {
      position: absolute;
      top: 10px;
      right: 10px;
      color: #FFF;

    }

    .agenda_subtitle_ca_academy {
      position: relative;
      background-color: #4e84a6;
      padding: 10px;
      border-radius: 5px;
      width: 100%;
      margin: 10px 0px;
    }

    .agenda_subtitle_f_academy {
      position: relative;
      background-color: #9c5a51;
      padding: 10px;
      border-radius: 5px;
      width: 100%;
      margin: 10px 0px;
    }

    .agenda_subtitle_precon {
      position: relative;
      background-color: #c08f5f;
      padding: 10px;
      border-radius: 5px;
      width: 100%;
      margin: 10px 0px;
    }

    .agenda_subtitle_congress {
      position: relative;
      background-color: var(--syn-lightblue-2);;
      padding: 10px;
      border-radius: 5px;
      width: 100%;
      margin: 10px 0px;
    }

    .nei-meetings .agenda_subtitle_ca_academy h4,
    .nei-meetings .agenda_subtitle_ca_academy p,
    .nei-meetings .agenda_subtitle_ca_academy span,
    .nei-meetings .agenda_subtitle_f_academy h4,
    .nei-meetings .agenda_subtitle_f_academy p,
    .nei-meetings .agenda_subtitle_f_academy span,
    .nei-meetings .agenda_subtitle_precon h4,
    .nei-meetings .agenda_subtitle_precon p,
    .nei-meetings .agenda_subtitle_precon span,
    .nei-meetings .agenda_subtitle_congress h4,
    .nei-meetings .agenda_subtitle_congress p,
    .nei-meetings .agenda_subtitle_congress span {
      color: #fff;
      margin-bottom: 0px;
    }

    .agenda_time,
    .agenda_description {
      padding: 22px 30px 22px 0px;
    }

    .agenda_time {
      width: 210px;
      flex-shrink: 0;
    }

    .agenda_description {
      width: 100%;

    }

    .nei-meetings .agenda_time p {
      font-size: 13px !important;
      font-weight: 900;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: #6f7f88;
    }

    .nei-meetings .agenda_description h4 {
      font-size: 19px !important;
      line-height: 1.3;
      color: #22313a;
      margin-bottom: 8px;
    }

    a.agenda_presenter_link {
      color: #687688;
      text-decoration: none;
    }

    .tag_cme_ce,
    .tag_industry_symp,
    .tag_special,
    .tag_check_in_hours_symp {
      display: inline-block;
      font-family: Avenir, 'Nunito Sans', Arial, Helvetica, sans-serif;
      line-height: normal;
      color: white;
      width: fit-content;
      padding: 8px 14px;
      font-size: 12px !important;
      border-radius: 999px;
      font-weight: 900;
      margin: 10px 10px 0px 0px;
      letter-spacing: 0.03em;
    }

    .tag_cme_ce {
      background-color: #4995d4;

    }

    .tag_cme_ce::after {
      content: 'CME/CE Session';
    }

    .tag_industry_symp {
      background-color: #df9744;
    }

    .tag_industry_symp::after {
      content: 'Industry-Sponsored (non-CME/CE)';
    }

    .tag_check_in_hours_symp {
      background-color: #048E8D;
    }

    .tag_check_in_hours_symp::after {
      content: 'Check-In Hours';
    }

    .tag_special {
      background-color: #aed453
    }

    .tag_special::after {
      content: 'Special Event';
    }

    .agenda_filter_container {
      padding: 10px 50px 18px 50px;
      max-width: 1080px;
      margin: 0 auto;
      overflow: hidden;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    .agendaFilterDiv {
      display: none;
    }

    .agendaShow {
      display: flex;
    }

    .agenda_filter_container .btn {
      font-family: Avenir, 'Nunito Sans', Arial, Helvetica, sans-serif;
      font-size: 11px !important;
      font-weight: 900;
      border: 1px solid transparent;
      outline: none;
      padding: 8px 14px;
      background-color: #f3f7f8;
      cursor: pointer;
      border-radius: 999px;
      color: #51616a;
      box-shadow: inset 0 0 0 1px rgba(142, 160, 168, 0.18), 0 4px 12px rgba(61, 71, 77, 0.04);
      transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    }

    .agenda_filter_container .btn:hover {
      background-color: #edf4f6;
      box-shadow: inset 0 0 0 1px rgba(120, 146, 156, 0.22), 0 8px 18px rgba(61, 71, 77, 0.06);
      transform: translateY(-1px);
    }

    .agenda_filter_container .btn:focus-visible,
    .agenda_intro_panel a.general-footer--button:focus-visible,
    .general-footer a.general-footer--button:focus-visible {
      outline: 3px solid rgba(36, 74, 101, 0.28);
      outline-offset: 3px;
    }

    .agenda_filter_container .btn.selected {
      background-color: #22313a;
      color: white;
      box-shadow: 0 10px 22px rgba(34, 49, 58, 0.16);
    }

    .cme_ce.btn.selected {
      background-color: #4995d4;
      color: white;
    }

    .industry.btn.selected {
      background-color: #df9744;
      color: white;
    }

    .check_in_hours.btn.selected {
      background-color: #048E8D;
      color: white;
    }

    .special.btn.selected {
      background-color: #aed453;
      color: white;
    }

    .agenda_header {
      margin: 50px 0px 0px 0px;
      text-align: center;
    }

    .agenda_day_btns {
      margin: 0px 0px 40px 0px;
      display: flex;
      justify-content: center;
    }

    .nei-meetings .agenda_day_btns a {
      text-decoration: none;
    }

    .nei-meetings .agenda_day_btns a:hover {
      text-decoration: none;
    }

    .agenda_day_btn {
      font-family: Avenir, 'Nunito Sans', Arial, Helvetica, sans-serif;
      font-size: 12px !important;
      color: #FFF;
      text-align: center;
      margin: 10px;
      padding: 10px;
      background-color: #729fb9;
      border-radius: 5px;
      width: 100px;
    }

    .agenda_day_btn:hover {
      background-color: #5d89a3;
    }

    .agenda_paragraph {
      padding: 0px 50px;
      max-width: 1080px;
      margin: 0 auto !important;
    }

    .nei-meetings .agenda_intro {
      max-width: 1080px;
      margin: 0 auto;
      padding: 24px 50px 12px !important;
    }

    .agenda_intro_panel {
      font-family: Avenir LT Pro, Avenir, 'Nunito Sans', Arial, Helvetica, sans-serif;
      padding: 32px 36px;
      border-radius: 20px;
      background: linear-gradient(135deg, #f4f8fb 0%, #ffffff 58%, #edf4ef 100%);
      border: 1px solid #d9e4e5;
      box-shadow: 0 18px 42px rgba(61, 71, 77, 0.08);
      text-align: center;
      margin-bottom: 40px;
    }

    .nei-meetings .agenda_intro h1 {
      font-size: var(--spring-congress-h1-size) !important;
      line-height: 1.05;
      color: #22313a;
      margin-bottom: 16px;
    }

    .agenda_intro_lead {
      max-width: 760px;
      font-size: 18px !important;
      line-height: 1.65;
      color: #43525b;
      margin: 0 auto 20px !important;
      width: 100%;
    }

    .agenda_intro_panel a.general-footer--button {
      margin: 0px auto !important;
      font-family: Avenir, Avenir LT Pro, Nunito Sans, Arial, Helvetica, sans-serif !important;
      background: var(--syn-lightblue-2);
      color: #fff;
      font-weight: bold !important;
      display: block !important;
      padding: 14px 30px !important;
      font-size: var(--spring-congress-button-font-size) !important;
      border-radius: 5px !important;
      text-decoration: none !important;
      text-align: center !important;
      width: fit-content !important;
      min-width: 120px !important;
      transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
      will-change: transform;
    }

    .agenda_intro_panel a.general-footer--button:hover {
      background-color: color-mix(in srgb, var(--syn-lightblue-2) 88%, white 12%) !important;
      color: #fff !important;
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(78, 132, 166, 0.22);
    }

    .agenda_overview_grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 20px;
      margin-top: 28px;
    }

    .agenda_overview_card {
      padding: 24px 26px;
      border-radius: 16px;
      background-color: rgba(255, 255, 255, 0.88);
      border: 1px solid #e1e7e9;
      text-align: left;
    }

    .agenda_section_label {
      display: block;
      margin-bottom: 10px;
      font-size: 11px !important;
      font-weight: 900;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--syn-lightblue-2);;
    }

    .nei-meetings .agenda_overview_card h4,
    .nei-meetings .agenda_agenda_heading h4 {
      font-size: 22px !important;
      line-height: 1.2;
      color: #22313a;
      margin-bottom: 12px;
    }

    .nei-meetings .agenda_overview_card p,
    .nei-meetings .agenda_agenda_heading p {
      font-size: 15px !important;
      line-height: 1.7;
      color: #4d5d66;
    }

    .nei-meetings .agenda_overview_card ul {
      list-style: none;
      padding: 6px 0 0 0;
    }

    .nei-meetings .agenda_overview_card li {
      display: grid;
      grid-template-columns: 18px 1fr;
      column-gap: 10px;
      align-items: start;
      margin-bottom: 10px;
      line-height: 1.6;
      color: #4d5d66;
    }

    .nei-meetings .agenda_overview_card li::before {
      content: '\2713';
      display: flex;
      align-items: center;
      justify-content: center;
      width: 18px;
      line-height: 1;
      margin-top: 2px;
      color: var(--syn-lightblue-2);
      font-weight: 900;
      font-size: 16px !important;
    }

    .agenda_agenda_heading {
      max-width: 1080px;
      margin: 8px auto 0;
      padding: 0 50px 8px;
    }

    .agenda_agenda_heading_inner {
      padding: 0 4px;
      margin: 40px 0;
    }


    .to_top_btn {
      height: 50px;
      width: 50px;
      background-color: #dadbdb;
      border: none;
      border-radius: 5px;
      right: 0;
      bottom: 0;
      margin: 50px;
      z-index: 100;
      opacity: 1;
      transition: all .5s ease
    }

    .to_top_btn img {
      height: 20px;
      width: 18px;
    }

    .to_top_btn:hover {
      background-color: #bebebe;
    }

    @media (max-width: 540px) {

      .nei-meetings .agenda p,
      .nei-meetings .agenda ul,
      .nei-meetings .agenda ol,
      .nei-meetings .agenda a,
      .nei-meetings .agenda span {
        font-size: 14px !important;
      }

      .nei-meetings .agenda h4 {
        font-size: 16px !important;
      }

      .agenda_container {

        padding: 20px;
        width: 100%;
        border-radius: 18px;

      }

      .agenda_day_btns {
        flex-wrap: wrap;
        padding: 0px 20px;
        width: 100%;
        max-width: 300px;
        margin: 10px auto;
        margin-bottom: 10px;
      }

      .agenda_day_btns a {
        display: block;
        width: 100%;
        margin-bottom: 10px;
      }

      .agenda_day_btn {
        width: 100%;
        margin: 0;
      }

      .agenda_filter_container .btn {
        margin-right: 10px;
      }

      .agenda_filter_container .btn:last-child {
        margin-right: 0px;
      }

      .agenda_filter_container {
        padding: 10px 20px 10px 20px;
        max-width: 1080px;
        margin: 0 auto;
        overflow: hidden;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .agenda_intro {
        padding: 20px 20px 8px !important;
      }

      .agenda_intro_panel {
        padding: 24px 20px;
        border-radius: 16px;
      }

      .agenda_intro_lead {
        font-size: 15px !important;
        line-height: 1.6;
      }

      .agenda_intro_panel a.general-footer--button {
        width: fit-content;
        text-align: center;
        font-size: var(--spring-congress-button-font-size) !important;
      }

      .nei-meetings .agenda_intro h1 {
        font-size: var(--spring-congress-h1-size-mobile) !important;
      }

      .agenda_overview_grid {
        grid-template-columns: 1fr;
        gap: 16px;
      }

      .agenda_overview_card {
        padding: 20px;
      }

      .agenda_agenda_heading {
        padding: 0 20px 8px;
      }

      .agenda_subtitle_ca_academy {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
      }

      span.agenda_subtitle_cred {
        position: relative;
        top: unset;
        right: unset;
        padding-top: 15px;
      }

      .agenda_event {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        border-radius: 14px;
        margin: 10px 0px !important;
        padding: 0px 18px !important;
      }

      .agenda_time,
      .agenda_description {
        padding: 16px 0 0 0;
      }

      .agenda_time {
        width: 100%;
      }

      .agenda_description {
        width: 100%;
        padding: 10px 0 18px 0;
      }

      .nei-meetings .agenda_time p {
        font-size: 12px !important;
      }

      .tag_cme_ce,
      .tag_industry_symp,
      .tag_special,
      .tag_check_in_hours_symp {
        font-size: 11px !important;
        padding: 7px 12px;
      }

      .agendaFilterDiv:not(.agendaShow) {
        display: none;
      }
    }


/* =============================================================
   CME/CE page styles
   (moved from cme_ce/27cngsp_cme_ce_001.html)
   syn-credit_types → spring-congress-credit-types
   syn-cert_instructions → spring-congress-cert-instructions
   ============================================================= */


    .cme-ce-page {
        overflow-wrap: anywhere;
    }

    .cme-ce-page .cme-ce-intro {
        text-align: center;
    }

    .cme-ce-page .lead-section {
        max-width: 1080px;
        margin: 0 auto 48px;
        padding: 0 24px;
    }

    .cme-ce-page .lead-panel {
        padding: 32px 34px;
        border-radius: 24px;
        background: linear-gradient(180deg, #f2f8f8 0%, #fcfefe 100%);
        border: 1px solid rgba(0, 142, 141, 0.14);
        box-shadow: 0 18px 40px rgba(0, 142, 141, 0.08);
    }

    .cme-ce-page .lead-panel p,
    .cme-ce-page .lead-panel h2,
    .cme-ce-page .lead-panel li {
        text-align: left;
    }

    .cme-ce-page .lead-panel > p {
        margin-bottom: 24px;
        line-height: 1.75;
    }

    .cme-ce-page .lead-panel h2 {
        margin-bottom: 12px;
    }

    .cme-ce-page .cme-ce-content {
        text-align: left;
    }

    .cme-ce-page .content-panel {
        padding: 28px 30px;
        border-radius: 20px;
        background: linear-gradient(180deg, #ffffff 0%, #f9fbfc 100%);
        border: 1px solid rgba(61, 72, 77, 0.08);
        box-shadow: 0 16px 36px rgba(61, 71, 77, 0.05);
        margin-bottom: 28px;
    }

    .cme-ce-page .cme-ce-content h2,
    .cme-ce-page .cme-ce-content h3,
    .cme-ce-page .cme-ce-content p,
    .cme-ce-page .cme-ce-content ul,
    .cme-ce-page .cme-ce-content li {
        text-align: left;
    }

    .cme-ce-page .section-spacer {
        height: 40px;
    }

    .cme-ce-page .joint-accreditation-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 240px;
        gap: 28px;
        align-items: start;
    }

    .cme-ce-page .joint-accreditation-copy p {
        margin: 0;
        line-height: 1.75;
    }

    .cme-ce-page .joint-accreditation-logo {
        width: min(240px, 100%);
        height: auto;
        margin: 0;
        display: block;
    }

    .cme-ce-page .benefits-list,
    .cme-ce-page .credit-types-list {
        text-align: left;
    }

    .cme-ce-page .benefits-list {
        display: inline-block;
        margin: 8px auto 0;
        padding-left: 24px;
        line-height: 1.75;
    }

    .cme-ce-page .credit-types-section {
        max-width: 1080px;
        margin: 0 auto;
        padding: 0 24px;
    }

    .cme-ce-page .credit-types-intro {
        margin-bottom: 8px;
    }

    .cme-ce-page .credit-types-list {
        columns: 2;
        column-gap: 40px;
        padding-left: 24px;
        line-height: 1.75;
    }

    .cme-ce-page .benefits-list li,
    .cme-ce-page .credit-types-list li {
        margin-bottom: 10px;
        break-inside: avoid;
    }

    .cme-ce-page .support-questions {
        max-width: 1080px;
        margin: 40px auto 0;
        padding: 0 24px 60px;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    .cme-ce-page .support-card {
        padding: 28px;
        border-radius: 20px;
        background: linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%);
        border: 1px solid rgba(61, 72, 77, 0.08);
        box-shadow: 0 16px 36px rgba(61, 71, 77, 0.06);
    }

    .cme-ce-page .support-card h2 {
        margin-bottom: 12px;
    }

    .cme-ce-page .support-card p {
        margin: 0;
    }

    .spring-congress-credit-types {
        width: 100%;

        text-align: center;
        background-color: var(--nei-white-1);
        padding: 50px;
        margin-top: 100px;
    }

    .spring-congress-credit-types div {
        display: flex;
        text-align: left;
        max-width: 1080px;
        margin: 0 auto;
    }

    .spring-congress-credit-types div ul {
        width: 50%;
        padding: 20px;
        list-style: none;

        color: var(--syn-darkblue-1);
    }

    .spring-congress-credit-types div ul li {
        padding: 10px;
    }


    .spring-congress-cert-instructions {
        width: 100%;
        text-align: center;
        background-color: #fafafb;
        padding: 50px 0px;

    }

    .spring-congress-cert-instructions h2,
    .spring-congress-cert-instructions h4,
    .spring-congress-cert-instructions p {
        color: #3d484d;
    }


    .spring-congress-cert-instructions h4 {
        margin-bottom: 30px;
    }

    .spring-congress-cert-instructions p {
        margin-top: 20px;
    }

    .spring-congress-cert-instructions .instructions {
        width: 100%;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 20px;
        margin-top: 20px;
        margin-bottom: 40px;
        max-width: 1080px;
        margin: 20px auto 0 !important;
    }

    .spring-congress-cert-instructions .instructions p {
        margin-top: 20px;
    }

    .spring-congress-cert-instructions .instructions div {
        width: 30%;
        padding: 24px 20px;
        border-radius: 18px;
        background: #fff;
        border: 1px solid rgba(61, 72, 77, 0.08);
        box-shadow: 0 14px 32px rgba(61, 71, 77, 0.05);
    }

    .spring-congress-cert-instructions .instructions div span {
        color: #3d484d;
        font-family: Avenir, Avenir LT Pro, Nunito Sans, Arial, Helvetica, sans-serif;
        font-size: 52px !important;
        font-weight: 900;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 96px;
        height: 96px;
        border-radius: 24px;
    }


    .spring-congress-cert-instructions .instructions div:nth-child(1) span {
        background-color: color-mix(in srgb, #048E8D 12%, white 88%);
    }

    .spring-congress-cert-instructions .instructions div:nth-child(2) span {
        background-color: color-mix(in srgb, #048E8D 12%, white 88%);
    }

    .spring-congress-cert-instructions .instructions div:nth-child(3) span {
        background-color: color-mix(in srgb, #048E8D 12%, white 88%);
    }

    @media (max-width: 768px) {
        .cme-ce-page .joint-accreditation-layout {
            grid-template-columns: 1fr;
            gap: 20px;
            justify-items: center;
        }

        .cme-ce-page .joint-accreditation-logo {
            order: -1;
        }

        .cme-ce-page .joint-accreditation-copy,
        .cme-ce-page .joint-accreditation-copy p,
        .cme-ce-page .content-panel .joint-accreditation-copy {
            text-align: center;
        }

        .cme-ce-page .content-panel .joint-accreditation-heading {
            text-align: center;
        }

        .cme-ce-page .content-panel {
            padding: 22px 20px;
            border-radius: 16px;
            margin-bottom: 20px;
        }

        .cme-ce-page .lead-section,
        .cme-ce-page .benefits-list,
        .cme-ce-page .credit-types-section {
            padding-left: 20px;
            padding-right: 20px;
        }

        .cme-ce-page .credit-types-list {
            columns: 1;
            column-gap: 0;
        }

        .cme-ce-page .support-questions {
            grid-template-columns: 1fr;
            gap: 18px;
            padding: 0 20px 40px;
        }

        .cme-ce-page .support-card {
            padding: 22px 20px;
        }

        .cme-ce-page .lead-panel {
            padding: 24px 20px;
            border-radius: 18px;
        }

        .spring-congress-credit-types {
            padding: 40px 20px;
            margin-top: 50px;
        }

        .spring-congress-credit-types div {
            flex-wrap: wrap;

        }

        .spring-congress-credit-types div ul {
            width: 100%;
            padding: 0px 20px 0px 20px;
        }


        .spring-congress-cert-instructions {
            padding: 20px 20px;

        }

        .spring-congress-cert-instructions .instructions {
            width: 100%;
            margin-top: 0px;
            gap: 16px;
        }

        .spring-congress-cert-instructions .instructions div {
            width: 100%;
            padding: 20px 18px;
        }

    }

    .sml-accred * {
        font-family: "Avenir", Avenir LT Pro, "Nunito", Nunito Sans, Arial, Helvetica, sans-serif;
        font-size: 16px !important;
    }

    .sml-accred {
        padding: 20px;
    }

    .sml-accred .ind {
        padding-left: 40px;
    }

    .sml-accred a {
        text-decoration: underline;
    }

    .sml-accred .n-ls ul,
    .sml-accred ul.n-ls {
        list-style: none;
    }

    .sml-accred .n-ls li {
        padding-bottom: 10px;
    }

    .sml-accred .lgo {
        display: flex;
        align-items: center;
    }

    .sml-accred .lgo img {
        min-width: 50px;
        max-width: 50px;
        padding-right: 10px;

    }

    .sml-accred .lgo img.big {
        min-width: 150px;
        max-width: 150px;
        padding-right: 10px;

    }


/* =============================================================
   Exhibitors & Sponsors page styles
   (moved from exhibitors/27cngsp_exhibitors_sponsors_001.html)
   syn-* classes renamed to spring-congress-*
   ============================================================= */


        .spring-congress-exhibit-host-sponsor {
            display: flex;
            width: 100%;
            justify-content: center;
            background-color: #F2F4F7;
            text-align: center;
            margin: 0px 0px 75px 0px;
            padding: 100px 50px;
        }

        @media (max-width:1080px) {
            .spring-congress-exhibit-host-sponsor {
                padding: 50px 0px;
            }
        }

        @media (max-width:720px) {
            .spring-congress-exhibit-host-sponsor {
                flex-wrap: wrap;
            }
        }

        .spring-congress-exhibit-host-sponsor strong {
            color: #008e8e;
        }

        .spring-congress-exhibit-host-sponsor div {
            width: 30%;
            padding: 0px 20px;
        }

        .spring-congress-exhibit-host-sponsor div img {
            width: 30%;
            min-width: 100px;
            max-width: 200px;
            padding-bottom: 20px;
        }

        @media (max-width:720px) {
            .spring-congress-exhibit-host-sponsor div {
                width: 100%;
            }
        }


        .spring-congress-chart-photos-container {
            background: rgb(213, 222, 224);
            background: -moz-linear-gradient(63deg, rgba(213, 222, 224, 1) 0%, rgba(242, 249, 249, 0) 75%);
            background: -webkit-linear-gradient(63deg, rgba(213, 222, 224, 1) 0%, rgba(242, 249, 249, 0) 75%);
            background: linear-gradient(63deg, rgba(213, 222, 224, 1) 0%, rgba(242, 249, 249, 0) 75%);
            filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#d5dee0", endColorstr="#f2f9f9", GradientType=1);
        }

        .spring-congress-chart-photos {
            display: flex;
        }

        .spring-congress-chart-photos div {
            width: 50%;
        }

        .spring-congress-chart-photos div img {
            width: 100%;
        }

        .nei-meetings .spring-congress-exhibitor-buttons {
            display: flex;
            flex-direction: column;
        }

        .nei-meetings .spring-congress-exhibitor-buttons a {
            margin: 10px;
            font-size: 24px !important;
            font-weight: 800;
            color: #f06a5a;
        }

        .nei-meetings .spring-congress-exhibitor-buttons a:hover {
            margin: 10px;
            font-size: 24px !important;
            font-weight: 800;
            color: #e65e4f;
        }

        .nei-meetings .spring-congress-exhibitor-buttons a::after {
            content: ' \f35d';
            font-family: 'Font Awesome 6 Pro';
        }

        .nei-meetings .spring-congress-exhibitor-links a {
            color: #e65e4f;
        }

        .nei-meetings .spring-congress-exhibitor-links a:hover {
            color: #e65e4f;
        }


        .spring-congress-exhibitor-contacts {
            background-color: #F2F4F7;
            width: 100%;
        }

        .spring-congress-exhibitor-contacts-container {
            max-width: 1080px;
            margin: 0 auto;

            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            text-align: center;
            width: 100%;
            padding: 100px 0px;
        }

        .spring-congress-exhibitor-contacts-container h3 {
            width: 100%;
            /* padding-bottom: 20px; */
        }

        .spring-congress-exhibitor-contacts-container div {
            width: 30%;
            padding-bottom: 20px;
        }

        .spring-congress-exhibitor-contacts-container p {
            width: 100%;
            margin: 0 auto;
        }

        .spring-congress-event-details {
            max-width: 1080px;
            margin: 0 auto 40px;
            padding: 0 24px;
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 24px;
        }

        .spring-congress-event-card {
            padding: 28px 30px;
            border-radius: 20px;
            background: linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%);
            border: 1px solid rgba(61, 72, 77, 0.08);
            box-shadow: 0 16px 36px rgba(61, 71, 77, 0.06);
            text-align: left;
        }

        .spring-congress-event-card h3 {
            margin-bottom: 12px;
            text-align: center;
        }

        .spring-congress-event-card p {
            margin: 0;
            line-height: 1.75;
        }

        .spring-congress-event-card a {
            font-weight: 700;
        }

        .spring-congress-event-card a:hover {
            color: inherit;
            text-decoration: none;
        }

        .spring-congress-event-details #spring-congress-event-card__bold:hover {
            font-weight: bold !important;
            text-decoration: underline !important;
        }

        @media (max-width: 600px) {
            .spring-congress-exhibitor-contacts-container div {
                width: 100%;
                padding-bottom: 20px;
            }

            .spring-congress-exhibitor-contacts-container {
                padding: 60px 20px;
            }

            .spring-congress-event-details {
                grid-template-columns: 1fr;
                gap: 18px;
                padding: 0 20px;
            }

            .spring-congress-event-card {
                padding: 22px 20px;
                border-radius: 16px;
            }

            #hubspot-form {
                padding: 0 !important;
            }

            .glide__arrows a {
                width: 40px;
                height: 40px;
                font-size: 1.2rem !important;
            }

            .lightbox-prev {
                left: 16px;
            }

            .lightbox-next {
                right: 16px;
            }

            .lightbox-close {
                top: 16px;
                right: 20px;
            }

            .spring-congress-chart-photos {
                flex-direction: column;
            }


            .spring-congress-chart-photos div {
                width: 100%;
            }
        }

        #nei-carousel {
            position: relative;
            width: 100%;
            margin: 5rem auto 2rem;
            overflow: hidden;
        }

        .glide__slide {
            filter: grayscale(100%);
            opacity: 0.8;
            transition: 0.2s linear;
            cursor: pointer;
            aspect-ratio: 3 / 2;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .glide__slide--active {
            opacity: 1;
            filter: none;
            transform: scale(1.1);
        }

        .glide__slide img {
            width: 100%;
        }

        .glide__arrows {
            position: absolute;
            top: 50%;
            left: 0;
            width: 100%;
            transform: translateY(-50%);
            display: flex;
            justify-content: space-between;
            pointer-events: none;
            z-index: 5;
        }

        .glide__arrows a {
            pointer-events: all;
            background: rgba(255, 255, 255, 0.7);
            color: #008e8e !important;
            border: none;
            width: 46px;
            height: 46px;
            border-radius: 50%;
            cursor: pointer;
            font-size: 1.5rem !important;
            line-height: 1;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
            backdrop-filter: blur(6px);
            transition: all 0.3s ease;
            text-decoration: none !important;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .glide__arrow:hover {
            background: #008e8e !important;
            color: #fff !important;
        }

        .lightbox {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.85);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 999;
        }

        .lightbox.show {
            display: flex !important;
            animation: fadeIn 0.3s ease;
        }

        .lightbox img {
            max-width: 90%;
            max-height: 90vh;
            border-radius: 10px;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
            transition: transform 0.3s ease;
        }

        .lightbox-close {
            position: absolute;
            top: 25px;
            right: 40px;
            color: #fff !important;
            font-size: 2rem !important;
            cursor: pointer;
            font-weight: bold;
            z-index: 1001;
            text-decoration: none !important;
        }

        .lightbox-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            color: #fff !important;
            background: rgba(0, 0, 0, 0.5);
            border: none;
            font-size: 2rem !important;
            padding: 0.5rem 1rem;
            cursor: pointer;
            z-index: 1000;
            border-radius: 50%;
            transition: background 0.3s ease;
            text-decoration: none !important;
        }

        .lightbox-arrow:hover {
            background: #008e8e;
        }

        .lightbox-prev {
            left: 40px;
        }

        .lightbox-next {
            right: 40px;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
            }

            to {
                opacity: 1;
            }
        }

        #hubspot-form {
            text-align: left;
        }

        #hubspot-form * {
            font-family: "Avenir", Avenir LT Pro, "Nunito", Nunito Sans, Arial, Helvetica, sans-serif !important;
        }

        #hubspot-form li {
            list-style: none;
        }

        #hsForm_2e8ee710-40e0-4262-9877-0d968b611bf9>fieldset.form-columns-0 {
            max-width: 100% !important;
            text-align: center;
        }

        #hsForm_2e8ee710-40e0-4262-9877-0d968b611bf9>fieldset.form-columns-0 h1 {
            font-size: var(--spring-congress-h1-size) !important;
            font-weight: 600 !important;
            text-transform: capitalize !important;
        }

        #hubspot-form span {
            font-size: 18px !important;
        }

        #hsForm_2e8ee710-40e0-4262-9877-0d968b611bf9>fieldset:nth-child(2),
        #hsForm_2e8ee710-40e0-4262-9877-0d968b611bf9>fieldset:nth-child(3) {
            max-width: 100% !important;
            width: 100%;
        }

        #hubspot-form .field {
            margin: 15px 0;
        }

        #hubspot-form input[type="checkbox"] {
            margin-right: 10px;
            transform: translateY(1px);
        }

        #hsForm_2e8ee710-40e0-4262-9877-0d968b611bf9>div>div.actions>input {
            font-size: 16px !important;
            text-transform: capitalize !important;
            margin-bottom: 25px;
        }

        #hubspot-form .input input:not([type="checkbox"]),
        #hubspot-form .input select,
        #hubspot-form .input textarea {
            -webkit-appearance: none;
            appearance: none;
            width: 100%;
            max-width: 100% !important;
            padding: 12px 14px;
            border: 1px solid #D6D6D6;
            border-radius: 10px;
            background: #FFFFFF;
            font-size: 16px !important;
            line-height: 1.3;
            color: #222;
            transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
        }

        #hubspot-form .input input::placeholder,
        #hubspot-form .input textarea::placeholder {
            color: #8A8A8A;
        }

        #hubspot-form .input input:not([type="checkbox"]):focus,
        #hubspot-form .input select:focus,
        #hubspot-form .input textarea:focus {
            outline: none;
            border-color: #008D8C;
            box-shadow: 0 0 0 3px rgba(0, 141, 140, 0.18);
        }

        #hubspot-form .field.error .input input,
        #hubspot-form .field.error .input select,
        #hubspot-form .field.error .input textarea {
            border-color: #E52B50 !important;
            box-shadow: 0 0 0 3px rgba(229, 43, 80, 0.14);
        }

        #hubspot-form .hs_submit.hs-submit .hs-button {
            background: #008e8e !important;
            color: #fff;
            border: none;
            border-radius: 999px;
            padding: 14px 28px;
            font-size: var(--spring-congress-button-font-size) !important;
            font-weight: 600;
            letter-spacing: 0.2px;
            cursor: pointer;
            box-shadow: 0 6px 16px rgba(0, 142, 142, 0.28);
            transition: background-color .2s ease, box-shadow .2s ease, transform .15s ease;
        }

        #hubspot-form .hs_submit.hs-submit .hs-button:hover {
            background: #0a7373 !important;
            transform: translateY(-1px);
            box-shadow: 0 10px 24px rgba(0, 142, 142, 0.35);
        }

        #hubspot-form .hs_submit.hs-submit .hs-button:active {
            transform: translateY(0);
            box-shadow: 0 4px 10px rgba(0, 142, 142, 0.25);
        }

        #hubspot-form .hs_submit.hs-submit .hs-button:focus-visible {
            outline: none;
            box-shadow: 0 0 0 3px rgba(0, 142, 142, 0.35), 0 6px 16px rgba(0, 142, 142, 0.28);
        }

        @media (max-width: 540px) {
            #hsForm_2e8ee710-40e0-4262-9877-0d968b611bf9>fieldset.form-columns-0 h1 {
                font-size: var(--spring-congress-h1-size-mobile) !important;
            }

            #hubspot-form span {
                font-size: 16px !important;
            }
        }

        #hubspot-form .inputs-list.multi-container li.hs-form-checkbox {
            margin-bottom: 10px;
        }

        #hubspot-form .hs-form-checkbox-display {
            display: flex;
            align-items: flex-start;
            gap: 0;
            cursor: pointer;
        }

        #hubspot-form .hs-form-checkbox-display input[type="checkbox"] {
            flex: 0 0 auto;
            margin-top: 3px;
        }

        #hubspot-form .hs-form-checkbox-display span {
            flex: 1;
            line-height: 1.4;
        }

        #hubspot-form ul,
        #hubspot-form .inputs-list {
            padding-left: 0 !important;
        }

    

/* =============================================================
   Faculty page styles
   (moved from faculty/27cngsp_faculty_001.html)
   ============================================================= */


        .faculty-page {
            max-width: 1180px;
            margin: 0 auto;
            padding: 0 24px 64px;
        }

        .faculty-intro-image {
            width: 100%;
            max-width: 860px;
            display: block;
            margin: 0 auto 40px;
            border-radius: 16px;
            box-shadow: rgba(50, 50, 93, 0.18) 0 28px 60px -24px, rgba(0, 0, 0, 0.18) 0 18px 36px -24px;
        }

        .faculty-page .faculty-intro {
            max-width: 860px;
            margin: 0 auto 48px;
        }

        .faculty-chair-letter {
            display: grid;
            grid-template-columns: 220px minmax(0, 1fr);
            gap: 32px;
            align-items: start;
            background: #ffffff;
            border: 1px solid #dde6ea;
            border-radius: 24px;
            padding: 34px;
            margin-bottom: 40px;
            box-shadow: 0 18px 40px -34px rgba(17, 24, 39, 0.32);
        }

        .faculty-chair-letter img,
        .faculty-card img {
            width: min(100%, 200px);
            margin: 0 auto;
            aspect-ratio: 1 / 1;
            object-fit: cover;
            display: block;
        }

        .faculty-chair-letter .faculty-name,
        .faculty-card .faculty-name {
            margin: 0 0 12px;
            line-height: 1.2;
            font-size: 18px !important;
            font-weight: 700;
        }

        .faculty-chair-letter p,
        .faculty-card p {
            margin: 0;
            line-height: 1.55;
        }

        .faculty-chair-letter .faculty-letter-photo {
            text-align: center;
        }

        .faculty-chair-letter .faculty-letter-photo img {
            box-shadow: none;
        }

        .faculty-chair-letter .faculty-letter-photo p {
            margin-top: 14px;
            font-size: 14px !important;
        }

        .faculty-chair-label {
            display: inline-block;
            margin-bottom: 12px;
            color: #008e8e;
            font-size: 13px !important;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .faculty-chair-letter .faculty-letter-body {
            position: relative;
            background: #ffffff;
            /* border: 1px solid #e7eef1; */
            border-radius: 20px;
            padding: 28px;
            text-align: left;;
        }

        .faculty-chair-letter .faculty-letter-body > * {
            position: relative;
            z-index: 1;
        }

        .faculty-chair-letter .faculty-letter-eyebrow {
            color: #008e8e;
            font-size: 13px !important;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            margin-bottom: 10px;
        }

        .faculty-chair-letter .faculty-letter-body .faculty-name {
            margin-bottom: 6px;
            font-size: 28px !important;
        }

        .faculty-chair-letter .faculty-letter-title {
            margin-bottom: 20px;
            font-size: 15px !important;
        }

        .faculty-chair-letter .faculty-letter-copy {
            font-style: italic;
        }

        .faculty-chair-letter .faculty-letter-signoff {
            margin-top: 20px;
        }

        /* Faculty grid */
        .faculty-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 24px;
        }

        .faculty-card {
            background-color: #ffffff;
            border: 1px solid #dde6ea;
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 14px 28px -26px rgba(17, 24, 39, 0.45);
            display: flex;
            flex-direction: column;
            gap: 18px;
        }

        .faculty-card .faculty-image-wrap {
            border-radius: 18px;
            margin: 0 auto;
        }

        .faculty-card .faculty-text {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .faculty-card .faculty-text em,
        .faculty-chair-card em {
            display: block;
            font-size: 14px !important;
        }

        .faculty-footer {
            margin-top: 40px;
            text-align: center;
        }

        .faculty-note {
            font-size: 13px !important;
        }

        @media (max-width: 960px) {
            .faculty-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .faculty-chair-letter {
                grid-template-columns: 1fr;
                text-align: center;
            }

            .faculty-chair-letter img {
                max-width: 240px;
                margin: 0 auto;
            }
        }

        @media (max-width: 640px) {
            .faculty-page {
                padding: 0 18px 48px;
            }

            .faculty-grid {
                grid-template-columns: 1fr;
            }

            .faculty-chair-letter,
            .faculty-card {
                padding: 22px;
                border-radius: 16px;
            }

            .faculty-chair-letter .faculty-name,
            .faculty-card .faculty-name {
                font-size: 18px !important;
            }

            .faculty-chair-letter img,
            .faculty-card img {
                width: min(100%, 150px);
            }

            .faculty-chair-letter .faculty-letter-body .faculty-name {
                font-size: 22px !important;
            }

            .faculty-chair-letter .faculty-letter-title,
            .faculty-card .faculty-text em,
            .faculty-letter-photo p em {
                font-size: 13px !important;
            }
        }
    

/* =============================================================
   FAQ page styles
   (moved from faq/27cngsp_faq_001.html)
   ============================================================= */


        .nei-faq-container {
            margin: 0 auto;
            padding: 2rem 4rem;
            max-width: 75rem;
            width: 100%;
            font-family: "Avenir", Avenir LT Pro, "Nunito", Nunito Sans, Arial, Helvetica, sans-serif;
        }

        .nei-faq-container > p:first-child {
            margin-bottom: 2rem;
        }

        .accordion {
            margin-bottom: 2rem;
        }

        .nei-faq-container h2 {
            color: #048E8D;
        }

        .accordion .accordion-item {
            border-bottom: 1px solid #e5e5e5;
        }

        .accordion .accordion-item button[aria-expanded='true'] {
            border-bottom: 1px solid #048E8D;
        }

        .accordion button {
            position: relative;
            display: block;
            text-align: left;
            width: 100%;
            padding: 1em 0;
            color: #3d484d;
            font-family: inherit;
            font-size: 1.15rem !important;
            font-weight: 400;
            border: none;
            background: none;
            outline: none;
        }

        .accordion button:hover,
        .accordion button:focus {
            cursor: pointer;
            color: #048E8D;
        }

        .accordion button:hover::after,
        .accordion button:focus::after {
            cursor: pointer;
            color: #048E8D;
            border: 1px solid #048E8D;
        }

        .accordion button .accordion-title {
            padding: 1em 1.5em 1em 0;
        }

        .accordion button .icon {
            display: inline-block;
            position: absolute;
            top: 18px;
            right: 0;
            width: 22px;
            height: 22px;
            border: 1px solid;
            border-radius: 22px;
        }

        .accordion button .icon::before {
            display: block;
            position: absolute;
            content: '';
            top: 9px;
            left: 5px;
            width: 10px;
            height: 2px;
            background: currentColor;
        }

        .accordion button .icon::after {
            display: block;
            position: absolute;
            content: '';
            top: 5px;
            left: 9px;
            width: 2px;
            height: 10px;
            background: currentColor;
        }

        .accordion button[aria-expanded='true'] {
            color: #048E8D;
        }

        .accordion button[aria-expanded='true'] .icon::after {
            width: 0;
        }

        .accordion button[aria-expanded='true']+.accordion-content {
            opacity: 1;
            transition: all 200ms linear;
            will-change: opacity, max-height;
        }

        .accordion .accordion-content {
            opacity: 0;
            max-height: 0;
            overflow: hidden;
            transition: opacity 200ms linear, max-height 200ms linear;
            will-change: opacity, max-height;
        }

        .accordion .accordion-content p {
            font-family: inherit;
            font-size: 1rem !important;
            font-weight: 300;
            margin: 1.5em 0;
        }

        .accordion .accordion-content ul {
            font-family: inherit;
            margin: 0.5em 0 1.5em 1.25em;
        }

        .accordion .accordion-content li {
            margin-bottom: 0.75em;
        }

        .cngsp-faq--buttons {
            gap: 1.5rem;
            max-width: 820px;
        }

        .cngsp-faq--buttons .faq-cta-button {
            margin-bottom: 50px;
            width: 100%;
        }

        .cngsp-faq--buttons .faq-cta-button:hover,
        .cngsp-faq--buttons .faq-cta-button:focus {
            text-decoration: none;
        }

        .cngsp-faq--footer {
            position: relative;
            overflow: hidden;
            margin: 0 !important;
            padding: 3.5rem 3rem !important;
            width: 100%;
            max-width: 100% !important;
            background:
                radial-gradient(circle at center, #FFF7F6 0%, #FBE7E5 42%, #F3CFCB 72%, #EAB6B1 100%) !important;
        }

        .cngsp-faq--footer::before,
        .cngsp-faq--footer::after {
            content: "";
            position: absolute;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.12);
            pointer-events: none;
        }

        .cngsp-faq--footer::before {
            width: 240px;
            height: 240px;
            top: -120px;
            right: -60px;
        }

        .cngsp-faq--footer::after {
            width: 180px;
            height: 180px;
            bottom: -90px;
            left: -50px;
        }

        .cngsp-faq--footer .cngsp-faq--footer-inner {
            position: relative;
            z-index: 1;
            max-width: 980px;
            margin: 0 auto;
            padding: 2.25rem;
            border: 1px solid rgba(255, 255, 255, 0.24);
            border-radius: 28px;
            background: rgba(8, 57, 63, 0.18);
            backdrop-filter: blur(6px);
            box-shadow: 0 24px 48px rgba(6, 49, 54, 0.18);
            background-color: var(--syn-pink-2);
        }

        .cngsp-faq--footer .cngsp-faq--eyebrow {
            margin: 0 0 0.75rem;
            text-align: center;
            font-size: 0.82rem !important;
            font-weight: 800;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.88);
        }

        .cngsp-faq--footer .footer-socials {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 1rem;
            margin: 2rem auto;
        }

        .cngsp-faq--footer .footer-socials a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 72px;
            height: 72px;
            border-radius: 20px;
            background: rgba(255, 255, 255, 0.14);
            border: 1px solid rgba(255, 255, 255, 0.22);
            text-decoration: none;
            transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
        }

        .cngsp-faq--footer .footer-socials a:hover,
        .cngsp-faq--footer .footer-socials a:focus {
            transform: translateY(-3px);
            background: rgba(255, 255, 255, 0.22);
            border-color: rgba(255, 255, 255, 0.4);
        }

        .cngsp-faq--footer h4 {
            text-align: center;
            font-size: 18px !important;
            color: #fff;
            max-width: 780px;
            width: 100%;
            margin: 0 auto;
        }

        .cngsp-faq--footer p {
            text-align: center;
            margin-top: 15px;
        }

        .cngsp-faq--footer p {
            color: #fff;
        }

        .cngsp-faq--footer .footer-socials img {
            display: block;
            width: 32px;
            height: 32px;
        }

        .cngsp-faq--footer .footer-socials a[aria-label="YouTube"] img {
            width: 36px;
            height: 36px;
        }

        .cngsp-faq--footer .lower-footer-border {
            max-width: 760px;
            width: 100%;
            margin: 0 auto;
            margin-top: 0;
        }

        .cngsp-faq--footer .lower-footer-border__bottom {
            display: flex;
            justify-content: center;
        }

        @media (max-width: 400px) {
            .cngsp-faq--footer .lower-footer-border__bottom {
                display: none;
            }
        }

        .cngsp-faq--footer .lower-footer-border hr {
            width: 100%;
            border: 0;
            border-top: 1px solid rgba(255, 255, 255, 0.45);
        }

        .nei-meetings .cngsp-faq--footer h3 {
            font-size: var(--spring-congress-h3-size) !important;
            color: #fff;
            max-width: 840px;
            width: 100%;
            margin: 0 auto;
            text-align: center;
            line-height: 1.4;
        }

        .nei-meetings .cngsp-faq--footer h4 {
            font-size: 22px !important;
            color: #fff;
            margin: 0 auto;
            line-height: 1.45;
        }

        @media (max-width: 950px) {
            .cngsp-faq--buttons {
                flex-direction: column;
                gap: 20px;
            }

            .cngsp-faq--buttons .faq-cta-button {
                flex: 0 0 auto;
                width: 100%;
                max-width: 420px;
                margin-bottom: 0;
            }

            .cngsp-faq--buttons .faq-cta-button:last-child {
                margin-bottom: 50px;
            }
        }

        @media (max-width: 800px) {
            .cngsp-faq--footer {
                padding: 2.75rem 1rem;
            }

            .cngsp-faq--footer .cngsp-faq--footer-inner {
                padding: 1.75rem 1.25rem;
                border-radius: 22px;
            }

            .nei-meetings .cngsp-faq--footer h3 {
                font-size: var(--spring-congress-h3-size-mobile) !important;
            }

            .nei-meetings .cngsp-faq--footer h4 {
                font-size: 18px !important;
            }

            .cngsp-faq--footer .footer-socials a {
                width: 60px;
                height: 60px;
                border-radius: 16px;
            }

        }

        @media (max-width: 700px) {
            .nei-faq-container {
                width: 100%;
                padding: 1rem;
            }

            .nei-faq-container > p:first-child,
            .accordion {
                margin-bottom: 1.5rem;
            }

            .cngsp-faq--buttons {
                gap: 14px;
            }

            .cngsp-faq--buttons .faq-cta-button {
                max-width: 100%;
                flex: 0 0 auto;
                padding: 12px 20px !important;
                min-height: auto;
                font-size: var(--spring-congress-button-font-size) !important;
            }

            .accordion button {
                padding-right: 3rem;
                line-height: 1.3;
            }

            .accordion button .accordion-title {
                display: block;
            }

            .accordion button .icon {
                right: .25rem;
                top: 50%;
                transform: translateY(-50%);
            }
        }

        :root {
            --cngsp-blue: #5FBFC0;
        }
    

/* =============================================================
   Overview page styles
   (moved from overview/27cngsp_overview_001.html)
   syn-* classes renamed to spring-congress-*
   'section' selector scoped to .spring-congress-overview section
   ============================================================= */


        .spring-congress-overview-large-header {
            width: 100%;
            text-align: center;
            position: relative;
        }
        .spring-congress-overview-large-header img {
            width: 100%;
            padding: 20px 0;
            max-width: 400px;
        }
        .spring-congress-overview-large-header--background {
            width: 100%;
            position: absolute;
            height: 100%;
            z-index: -1;
            background-image: url("https://cdn.neiglobal.com/content/website/images/27cngsp/27spcng-living-textbook-overview_banner.webp");
            background-size: cover;
            background-repeat: no-repeat;
        }
        .spring-congress-overview-large-header--content .container {
            background-color: #F2F4F7;
            width: 100%;
            margin: 0 auto;
            border-radius: 0;
            padding: 20px;
            display: block;
        }
        @media (max-width: 1200px) {
            .spring-congress-overview-large-header--background {
                background-position: left center;
            }
        }
        @media (min-width: 840px) {
            .spring-congress-overview-large-header--content .container {
                max-width: 440px;
            }
            .spring-congress-overview-large-header--content {
                padding: 30px;
            }
        }
        .nei-meetings.spring-congress-overview .spring-congress-overview-large-header .spring-congress-overview-large-header--content h1 {
            font-size: var(--spring-congress-h1-size) !important;
            line-height: 1.15;
            margin-bottom: 10px;
        }
        .nei-meetings.spring-congress-overview .spring-congress-overview-large-header .spring-congress-overview-large-header--content p {
            font-size: 20px !important;
            margin-top: 0;
        }
        @media (max-width: 767px) {
            .nei-meetings.spring-congress-overview .spring-congress-overview-large-header .spring-congress-overview-large-header--content h1 {
                font-size: var(--spring-congress-h1-size-mobile) !important;
            }
            .nei-meetings.spring-congress-overview .spring-congress-overview-large-header .spring-congress-overview-large-header--content p {
                font-size: 18px !important;
            }
        }
        @media (min-width: 1080px) {
            .spring-congress-overview-large-header--content .container {
                max-width: 540px;
            }
            .spring-congress-overview-large-header--content {
                padding: 30px;
            }
        }
        @media (min-width: 1280px) {
            .spring-congress-overview-large-header--content .container {
                max-width: 640px;
            }
            .spring-congress-overview-large-header--content {
                padding: 40px;
            }
        }
        @media (min-width: 1430px) {
            .spring-congress-overview-large-header--content {
                padding: 50px;
            }
        }
        @media (min-width: 1920px) {
            .spring-congress-overview-large-header--content {
                padding: 80px;
            }
        }
        @media (min-width: 2720px) {
            .spring-congress-overview-large-header--content {
                padding: 160px;
            }
        }
        @media (min-width: 3420px) {
            .spring-congress-overview-large-header--content {
                padding: 240px;
            }
        }

        .spring-congress-overview-countdown {
            display: flex;
            width: 100%;
            background-color: #E5E8ED;
            justify-content: space-around;
            padding: 40px 0 20px 0;
            border-radius: 5px;
        }
        .spring-congress-overview-countdown div {
            width: 20%;
        }
        .spring-congress-overview-countdown div p {
            margin: 0;
            padding: 0;
        }
        .spring-congress-overview-countdown div span {
            font-family: Avenir, Avenir LT Pro, Nunito Sans, Arial, Helvetica, sans-serif;
            font-size: 48px !important;
            font-weight: 800;
            color: #008e8e;
        }
        @media (max-width: 540px) {
            .spring-congress-overview-countdown {
                /* flex-wrap: wrap; */
                gap: 16px 8px;
                padding: 24px 12px 16px;
            }
            .spring-congress-overview-countdown div {
                width: 45%;
            }
            .spring-congress-overview-countdown div span {
                font-family: Avenir, Avenir LT Pro, Nunito Sans, Arial, Helvetica, sans-serif;
                font-size: 24px !important;
                font-weight: 800;
                color: #008e8e;
            }
            .spring-congress-overview-countdown div p {
                font-size: 12px !important;
            }
        }

        .spring-congress-who-should-attend {
            width: 100%;
            text-align: center;
            padding: 60px;
        }
        .spring-congress-who-should-attend h2 {
            margin-bottom: 1.25rem;
        }
        .spring-congress-who-should-attend h3 {
            margin: 1.75rem 0 1rem;
        }
        .spring-congress-who-should-attend > p {
            line-height: 1.8;
        }
        .spring-congress-who-should-attend--container {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            margin-top: 30px;
        }
        .spring-congress-who-should-attend--container div {
            width: 20%;
            padding: 20px;
            margin: 10px;
            background-color: #F2F4F7;
            border-radius: 5px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .spring-congress-who-should-attend--container div i {
            font-size: 36px !important;
            padding-bottom: 20px;
            color: #ca5a5f;
        }
        .spring-congress-who-should-attend--container div p {
            font-size: 14px !important;
            padding: 0;
            margin: 0;
            font-weight: 800;
            color: #5f4b59;
        }
        @media (max-width: 840px) {
            .spring-congress-who-should-attend--container div {
                width: 45%;
            }
        }
        @media (max-width: 600px) {
            .spring-congress-who-should-attend {
                width: 100%;
                text-align: center;
                padding: 20px;
            }
            .spring-congress-who-should-attend h2 {
                margin-bottom: 1rem;
            }
            .spring-congress-who-should-attend h3 {
                margin: 1.5rem 0 0.85rem;
            }
            .spring-congress-who-should-attend--container div {
                width: 100%;
            }
        }

        .spring-congress-conference-highlights {
            width: 100%;
            padding: 40px;
            text-align: center;
            background-color: #F2F4F7;
        }
        .spring-congress-conference-highlights h4,
        .spring-congress-conference-highlights p {
            color: #5f4b59;
        }
        .spring-congress-conference-highlights--container {
            display: flex;
            justify-content: space-evenly;
            padding-top: 10px;
        }
        .spring-congress-conference-highlights--container div {
            width: 30%;
            display: flex;
            flex-direction: column;
            filter: drop-shadow(0 12px 0.75rem #4d656b0a);
            border-radius: 5px;
            padding: 20px;
            background: #fff;
        }
        .spring-congress-conference-highlights--container div img {
            width: 100%;
            padding-bottom: 20px;
            max-width: 125px;
            margin: 0 auto;
        }
        @media (max-width: 840px) {
            .spring-congress-conference-highlights--container {
                flex-wrap: wrap;
            }
            .spring-congress-conference-highlights--container div {
                width: 100%;
                margin-bottom: 20px;
            }
        }
        @media (max-width: 600px) {
            .spring-congress-conference-highlights {
                padding: 20px;
            }
        }

        .spring-congress-what-makes-nei-different {
            width: 100%;
            padding: 72px 40px;
            background: linear-gradient(135deg, #f5f8fa 0%, #e7eff2 100%);
        }
        .spring-congress-what-makes-nei-different--panel {
            max-width: 980px;
            margin: 0 auto;
            padding: 40px;
            border-radius: 24px;
            background: linear-gradient(135deg, rgba(0, 142, 142, 0.08) 0%, rgba(202, 90, 95, 0.08) 100%), #ffffff;
            box-shadow: 0 24px 48px rgba(61, 71, 77, 0.08);
            border: 1px solid rgba(0, 142, 142, 0.12);
            text-align: left;
        }
        .spring-congress-what-makes-nei-different h2 {
            margin: 0 0 18px;
            font-size: var(--spring-congress-h2-size) !important;
            line-height: 1.1;
            color: #3d474d;
        }
        .spring-congress-what-makes-nei-different h3 {
            margin: 0 0 18px;
            font-size: var(--spring-congress-h3-size) !important;
            line-height: 1.1;
            color: #3d474d;
        }
        .spring-congress-what-makes-nei-different--body {
            margin: 0;
            font-size: 18px !important;
            line-height: 1.8;
            color: #4f5b61;
        }
        .spring-congress-what-makes-nei-different--cta {
            margin-top: 24px;
        }
        @media (max-width: 600px) {
            .spring-congress-what-makes-nei-different {
                padding: 36px 20px;
            }
            .spring-congress-what-makes-nei-different--panel {
                padding: 28px 22px;
                border-radius: 20px;
            }
            .spring-congress-what-makes-nei-different h2 {
                font-size: var(--spring-congress-h2-size-mobile) !important;
            }
            .spring-congress-what-makes-nei-different h3 {
                font-size: var(--spring-congress-h3-size-mobile) !important;
            }
            .spring-congress-what-makes-nei-different--body {
                font-size: 16px !important;
            }
        }

        .spring-congress-attendee-feedback-slider {
            width: 100%;
            background-color: #c6dbdc;
            background-image: url(https://cdn.neiglobal.com/content/website/images/24syn/24syn-backdrop.png);
            background-repeat: no-repeat;
            background-size: cover;
            padding: 50px;
            text-align: center;
        }

        .spring-congress-attendee-feedback-slide {
            min-height: 300px;
            display: none;
            flex-direction: column;
            justify-content: space-between;
        }

        .spring-congress-attendee-feedback-slider-container {
            background-color: #FFF;
            filter: drop-shadow(0 12px 0.75rem #04495e17);
            padding: 50px;
            max-width: 640px;
            margin: 0 auto;
            text-align: left;
            border-radius: 5px;
        }

        .spring-congress-attendee-feedback-slider h4 {
            font-size: 26px !important;
            font-weight: 800;
            color: #008e8e;
        }

        .spring-congress-attendee-feedback-slider p {
            font-size: 14px !important;
            font-weight: 400;
            margin: 0;
            color: var(--darkgrey-1);
        }

        .spring-congress-attendee-feedback-slider .attendee_icon {
            display: flex;
            align-items: center;
        }

        .spring-congress-attendee-feedback-slider .attendee_icon img {
            width: 50px;
            margin-right: 10px;
        }

        .spring-congress-attendee-feedback-slider .testimonialsControls {
            margin: 20px 0 0 0;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .spring-congress-attendee-feedback-slider .testimonialsPrev,
        .spring-congress-attendee-feedback-slider .testimonialsNext {
            cursor: pointer;
            padding: 10px;
            color: #77a9a4;
            font-size: 18px !important;
            transition: .3s ease;
        }

        .spring-congress-attendee-feedback-slider .testimonialsPrev:hover,
        .spring-congress-attendee-feedback-slider .testimonialsNext:hover {
            color: #008e8e;
        }

        .spring-congress-attendee-feedback-slider .testimonialDot {
            cursor: pointer;
            margin: 0 5px;
            color: #77a9a4;
            border-radius: 50%;
            transition: color .3s ease;
        }

        .spring-congress-attendee-feedback-slider .testimonialActive,
        .spring-congress-attendee-feedback-slider .testimonialDot:hover {
            color: #008e8e;
        }

        .spring-congress-overview section {
            padding: 40px 0;
        }

        .spring-congress-social-links {
            margin: 2rem auto;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 1rem;
        }

        .spring-congress-social-links a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 72px;
            height: 72px;
            border-radius: 20px;
            background: rgba(255, 255, 255, 0.14);
            border: 1px solid rgba(255, 255, 255, 0.22);
            text-decoration: none;
            transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
        }

        .spring-congress-social-links a:hover,
        .spring-congress-social-links a:focus {
            transform: translateY(-3px);
            background: rgba(255, 255, 255, 0.22);
            border-color: rgba(255, 255, 255, 0.4);
        }

        .spring-congress-social-links img {
            display: block;
            width: 32px;
            height: 32px;
        }

        .spring-congress-social-links a[aria-label="YouTube"] img {
            width: 36px;
            height: 36px;
        }

        @media (max-width: 840px) {
            #spring-congress-conference-top-section {
                padding: 40px 24px;
            }
            .spring-congress-attendee-feedback-slider {
                width: 100%;
                padding: 30px 10px;
                text-align: center;
            }
            .spring-congress-attendee-feedback-slider-container {
                background-color: #FFF;
                padding: 40px;
                max-width: 640px;
                margin: 0 auto;
                text-align: left;
            }
            .spring-congress-attendee-feedback-slider h4 {
                font-size: 22px !important;
            }
            .spring-congress-attendee-feedback-slide {
                min-height: 200px;
                display: none;
                flex-direction: column;
                justify-content: space-between;
            }
        }

        @media (max-width: 680px) {
            .spring-congress-overview-large-header--content .container {
                padding: 18px;
            }
            #spring-congress-conference-top-section {
                padding: 32px 20px;
            }
            .spring-congress-attendee-feedback-slider {
                width: 100%;
                padding: 30px 10px;
                text-align: center;
            }
            .spring-congress-attendee-feedback-slider-container {
                background-color: #FFF;
                padding: 25px;
                max-width: 640px;
                margin: 0 auto;
                text-align: left;
            }
            .spring-congress-attendee-feedback-slider h4 {
                font-size: 19px !important;
            }
            .spring-congress-attendee-feedback-slide {
                min-height: 200px;
                display: none;
                flex-direction: column;
                justify-content: space-between;
            }
        }

        @media (max-width: 480px) {
            .spring-congress-social-links a {
                width: 60px;
                height: 60px;
            }
            .spring-congress-attendee-feedback-slide {
                min-height: 250px;
            }
            .spring-congress-attendee-feedback-slider h4 {
                font-size: 16px !important;
            }
        }

        #what-makes-nei-different {
            max-width: 100%;
            padding: 50px 0;
        }

        #what-makes-nei-different .spring-congress-what-makes-nei-different--panel {
            text-align: center;
        }

        #spring-congress-conference-top-section {
            padding: 56px 48px;
        }

        #spring-congress-conference-top-section h2 {
            margin-bottom: 1.25rem;
        }

        #spring-congress-conference-top-section .spring-congress-conference-top-section__content {
            max-width: 980px;
            margin: 0 auto 2rem;
            line-height: 1.85;
        }

        #spring-congress-conference-top-section .spring-congress-conference-top-section__actions {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            justify-content: center;
        }

        #spring-congress-conference-top-section .spring-congress-conference-top-section__actions .btn {
            margin-bottom: 0 !important;
        }

        #spring-congress-social-links-container {
            text-align: center;
            padding: 3.5rem 1.5rem;
            position: relative;
            overflow: hidden;
            background: radial-gradient(circle at center, #FFF7F6 0%, #FBE7E5 42%, #F3CFCB 72%, #EAB6B1 100%);
            width: 100%;
            max-width: 100%;
        }

        #spring-congress-social-links-container::before,
        #spring-congress-social-links-container::after {
            content: "";
            position: absolute;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.12);
            pointer-events: none;
        }

        #spring-congress-social-links-container::before {
            width: 240px;
            height: 240px;
            top: -120px;
            right: -60px;
        }

        #spring-congress-social-links-container::after {
            width: 180px;
            height: 180px;
            bottom: -90px;
            left: -50px;
        }

        #spring-congress-social-links-container .spring-congress-social-links-inner {
            position: relative;
            z-index: 1;
            max-width: 980px;
            margin: 0 auto;
            padding: 2.25rem;
            border: 1px solid rgba(255, 255, 255, 0.24);
            border-radius: 28px;
            background: rgba(8, 57, 63, 0.18);
            backdrop-filter: blur(6px);
            box-shadow: 0 24px 48px rgba(6, 49, 54, 0.18);
            background-color: var(--syn-pink-2);
        }

        #spring-congress-social-links-container .spring-congress-social-links-eyebrow {
            display: block;
            width: 100%;
            max-width: 100%;
            margin: 0 auto 0.75rem !important;
            text-align: center !important;
            font-size: 0.82rem !important;
            font-weight: 800;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.88);
        }

        #spring-congress-social-links-container h2 {
            color: #fff;
            max-width: 780px;
            margin: 0 auto;
        }

        #spring-congress-social-links-container p {
            color: #fff;
            max-width: 780px;
            margin: 1rem auto 0;
        }

        @media (max-width: 800px) {
            #spring-congress-social-links-container {
                padding: 2.75rem 1rem;
            }

            #spring-congress-social-links-container .spring-congress-social-links-inner {
                padding: 1.75rem 1.25rem;
                border-radius: 22px;
            }
        }
    

/* =============================================
   Spring Congress — Poster Session
   (moved from poster session/27cngsp_postersession_001.html)
   ============================================= */

.poster-intro {
     margin-bottom: 32px;
}

.poster-intro-panel {
     padding: 32px;
     border-radius: 24px;
     background: linear-gradient(180deg, #fbfcfd 0%, #f3f6f9 100%);
     box-shadow: 0 18px 40px rgba(61, 71, 77, 0.08);
     border: 1px solid rgba(61, 71, 77, 0.08);
     text-align: center;
}

.poster-kicker {
     margin: 0;
     color: #008e8e;
     font-size: 0.95rem !important;
     font-weight: 800;
     letter-spacing: 0.06em;
     text-transform: uppercase;
}

.poster-benefits {
     display: grid;
     grid-template-columns: minmax(0, 1fr) minmax(280px, 460px);
     align-items: start;
     column-gap: 32px;
     text-align: left;
     margin: 40px 0;
}

.poster-benefits_media img {
     display: block;
     width: 100%;
     height: auto;
     border-radius: 10px;
     box-shadow: rgba(50, 50, 93, 0.2) 0px 18px 36px -18px, rgba(0, 0, 0, 0.2) 0px 12px 24px -18px;
}

.spring-congress-buttons-container {
     display: flex !important;
     align-items: center;
     justify-content: center;
     gap: 20px;
     max-width: 760px;
     margin: 0 auto;
     flex-wrap: nowrap;
}

.spring-congress-buttons-container .btn {
     margin: 0 !important;
     font-size: var(--spring-congress-button-font-size) !important;
     display: inline-block;
     width: 280px;
     text-align: center;
}

.nei-meetings .spring-congress-poster-submit {
     background-color: color-mix(in srgb, var(--syn-lightblue-1) 25%, white 100%);
     margin: 30px 0;
     padding: 40px;
     border-radius: 8px;
     box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 50px;
}

.spring-congress-buttons-container .is-disabled {
     background: #c8ced7 !important;
     border-color: #c8ced7 !important;
     color: #5f6773 !important;
     box-shadow: none !important;
     cursor: default;
     pointer-events: none;
     opacity: 1;
     filter: grayscale(1);
}

@media (max-width: 850px) {
     .poster-benefits {
          grid-template-columns: 1fr;
          gap: 20px;
          margin: 28px 0;
     }

     .poster-benefits_media img {
          width: 100%;
          max-width: 100%;
          object-fit: cover;
          object-position: center;
     }

     .spring-congress-buttons-container {
          flex-direction: column;
          gap: 10px;
          flex-wrap: wrap;
     }

     .spring-congress-buttons-container .btn {
          margin: 5px 0 !important;
          width: 200px !important;
     }
}


/* =============================================
   Spring Congress — Registration
   (moved from registration/27cngsp_registration_001.html)
   ============================================= */

.registration-intro {
    text-align: center;
}

.syn_view-reg-box .text,
.syn_view-reg-box .text h4,
.syn_view-reg-box .text p {
    text-align: left;
}

.registration-intro h3 {
    margin: 0 0 10px;
    font-family: Avenir, Arial, Helvetica, sans-serif;
    font-size: var(--spring-congress-h3-size) !important;
    font-weight: 600;
    line-height: 1.25;
    color: #3d474d;
}

.registration-intro p {
    margin: 0;
    font-family: Avenir, Arial, Helvetica, sans-serif;
    font-size: 18px !important;
    font-weight: 400;
    line-height: 1.6;
    color: #5a656b;
    text-align: center;
}

.registration-info-section {
    width: calc(100% - 100px);
    max-width: none;
    margin: 42px auto 0;
    font-family: Avenir, Arial, Helvetica, sans-serif;
    text-align: left;
}

.registration-info-panel {
    border-radius: 24px;
    background: linear-gradient(180deg, #fbfcfd 0%, #f3f6f9 100%);
    box-shadow: 0 18px 40px rgba(61, 71, 77, 0.08);
    overflow: hidden;
}

.registration-info-header {
    padding: 28px 32px 22px;
    background: linear-gradient(135deg, #f2f7fb 0%, #eaf3f7 100%);
    border-bottom: 1px solid rgba(61, 71, 77, 0.08);
}

.registration-info-section .registration-info-header h4 {
    margin: 0;
    font-size: 28px !important;
    color: #3d474d;
    text-align: center !important;
}

.registration-info-section h4,
.registration-info-section h5,
.registration-info-section h6,
.registration-info-section p,
.registration-info-section ul,
.registration-info-section li,
.registration-info-section article,
.registration-info-section div {
    text-align: left;
}

.registration-info-body {
    padding: 32px;
}

.registration-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.registration-card {
    padding: 22px 24px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(61, 71, 77, 0.08);
    text-align: left;
}

.registration-card h5 {
    margin: 0 0 10px;
    font-size: 18px !important;
    color: #3d474d;
}

.registration-card p {
    margin: 0;
    line-height: 1.7;
    text-align: left;
}

.registration-card p+p {
    margin-top: 14px;
}

.registration-policy-panel {
    margin-top: 22px;
    padding: 24px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(61, 71, 77, 0.08);
}

.registration-policy-panel h5 {
    margin: 0 0 18px;
    font-size: 20px !important;
    color: #3d474d;
    text-align: center;
}

.policy-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.policy-card {
    padding: 20px 22px;
    border-radius: 16px;
    background: #f7fafc;
    border: 1px solid rgba(61, 71, 77, 0.08);
}

.policy-card h6 {
    margin: 0 0 10px;
    font-size: 17px !important;
    color: #3d474d;
    text-align: left;
}

.policy-card p {
    margin: 0;
    line-height: 1.7;
    text-align: left;
}

.policy-card p+p {
    margin-top: 12px;
}

.policy-cancel-list {
    margin: 12px 0 0;
    padding-left: 20px;
}

.policy-cancel-list li {
    margin-bottom: 8px;
    line-height: 1.6;
}

.registration-info-section .cngsp-faq--buttons {
    margin-top: 28px;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
}

.registration-info-section .cngsp-faq--buttons a {
    margin: 0 !important;
}

@media (max-width: 950px) {
    .registration-intro h3 {
        font-size: var(--spring-congress-h3-size) !important;
    }

    .registration-intro p {
        font-size: 17px !important;
    }

    .registration-info-section {
        width: auto;
        margin: 32px 16px 0;
    }

    .registration-info-header,
    .registration-info-body {
        padding: 22px 18px;
    }

    .registration-info-header h4 {
        font-size: 24px !important;
    }

    .cngsp-faq--buttons {
        flex-direction: column;
        gap: 20px;
    }
}

@media (max-width: 600px) {
    .registration-intro {
        padding: 0 16px;
    }

    .registration-intro h3 {
        font-size: var(--spring-congress-h3-size-mobile) !important;
    }

    .registration-intro p {
        font-size: 16px !important;
    }

    .registration-info-section {
        margin: 24px 12px 0;
    }

    .registration-card,
    .policy-card,
    .registration-policy-panel {
        padding: 18px 16px;
    }

    .registration-info-header h4 {
        font-size: 22px !important;
    }

    .cngsp-faq--buttons .faq-cta-button {
        max-width: 100%;
        width: 100%;
        flex: 0 0 auto;
        padding: 12px 20px !important;
        min-height: auto;
        font-size: var(--spring-congress-button-font-size) !important;
    }

    .syn_view-reg-box .image img {
        max-width: 80px;
        height: auto;
    }

    .syn_view-reg-box .text {
        padding-top: 8px;
    }

    .syn_view-reg-box .text h4 {
        margin-top: 0;
    }
}

.nei-meetings .general-footer.spring-congress-footer h1,
.nei-meetings .general-footer.spring-congress-footer h2,
.nei-meetings .general-footer.spring-congress-footer h3,
.nei-meetings .general-footer.spring-congress-footer h4,
.nei-meetings .general-footer.spring-congress-footer h5,
.nei-meetings .general-footer.spring-congress-footer h6,
.nei-meetings .general-footer.spring-congress-footer .general-footer--headline,
.nei-meetings .general-footer.spring-congress-footer .general-footer--subheadline {
    color: #fff !important;
}

.nei-meetings .general-footer.spring-congress-footer .general-footer--headline {
    font-size: var(--spring-congress-h2-size) !important;
}

.nei-meetings .general-footer.spring-congress-footer .general-footer--subheadline {
    font-size: var(--spring-congress-h4-size) !important;
}

@media (max-width: 540px) {
    .nei-meetings .general-footer.spring-congress-footer .general-footer--headline {
        font-size: var(--spring-congress-h2-size-mobile) !important;
    }

    .nei-meetings .general-footer.spring-congress-footer .general-footer--subheadline {
        font-size: var(--spring-congress-h4-size-mobile) !important;
    }
}
