:root {
    --rcmi-blue: #173d8f;
    --rcmi-navy: #081a4d;
    --rcmi-cyan: #0ea5c6;
    --rcmi-gold: #e2ab2d;
    --slate: #334155;
    --soft-bg: #f6f9fd;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: radial-gradient(circle at 10% 0%, rgba(14, 165, 198, .09), transparent 28rem),
        radial-gradient(circle at 100% 10%, rgba(226, 171, 45, .10), transparent 28rem),
        #f8fbff;
    color: #0f172a;
}

a {
    color: inherit;
}

.bg-grid {
    background-image: linear-gradient(rgba(23, 61, 143, 0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(23, 61, 143, 0.055) 1px, transparent 1px);
    background-size: 24px 24px;
}

.site-header {
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(148, 163, 184, .32);
}

.site-nav a[aria-current="page"] {
    color: var(--rcmi-blue);
    font-weight: 900;
}

.hero {
    position: relative;
    overflow: hidden;
    max-width: 80rem;
    margin: 1.5rem auto 0;
    background: #071942;
    box-shadow: 0 28px 80px rgba(8, 26, 77, .22);
}

.hero img {
    position: absolute;
    inset: 0;
    opacity: .92;
}

.hero::after {
    content: "";
    position: absolute;
    inset: 0;
}

.hero-content {
    position: relative;
    z-index: 2;
}

.hero-copy-panel {
    max-width: 46rem;
    padding: clamp(1.5rem, 3vw, 2.65rem);
}

.kicker {
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: .78rem;
    font-weight: 900;
    color: var(--rcmi-cyan);
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 3rem;
    padding: .85rem 1.25rem;
    border-radius: 999px;
    font-weight: 900;
    text-decoration: none;
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 3rem;
    padding: .85rem 1.25rem;
    border-radius: 999px;
    color: #0f172a;
    background: white;
    font-weight: 900;
    text-decoration: none;
    border: 1px solid rgba(148, 163, 184, .35);
}

.btn-gold {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 3rem;
    padding: .85rem 1.25rem;
    border-radius: 999px;
    font-weight: 900;
    text-decoration: none;
}

.card {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(148,163,184,.22);
    box-shadow: 0 18px 48px rgba(15,23,42,.07);
}

.card-soft {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,255,.98));
    border: 1px solid rgba(148,163,184,.18);
}

.glass {
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(12px);
}

.text-gradient {
    background: linear-gradient(135deg, var(--rcmi-blue), var(--rcmi-cyan));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.prose-custom p,
.prose-custom li {
    color: #334155;
    line-height: 1.82;
}

.prose-custom h2,
.prose-custom h3 {
    color: #0f172a;
    line-height: 1.2;
}

.badge {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .4rem .78rem;
    border-radius: 999px;
    background: rgba(14, 165, 198, .10);
    color: #075985;
    font-weight: 800;
    font-size: .82rem;
}

.badge-dark {
    background: rgba(255,255,255,.12);
    color: white;
    border: 1px solid rgba(255,255,255,.14);
}

.notice {
    border-left: 4px solid var(--rcmi-gold);
    background: linear-gradient(180deg, #fffbeb, #ffffff);
}

.timeline-line {
    position: absolute;
    left: 1.05rem;
    top: .25rem;
    bottom: .25rem;
    width: 2px;
    background: linear-gradient(180deg, rgba(23,61,143,.25), rgba(14,165,198,.45), rgba(226,171,45,.5));
}

.timeline-dot {
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    background: white;
    border: 3px solid var(--rcmi-cyan);
    box-shadow: 0 0 0 6px rgba(14,165,198,.12);
}

.footer {
    background: radial-gradient(circle at 0% 0%, rgba(14,165,198,.28), transparent 26rem),
        linear-gradient(135deg, #06163d, #081a4d);
    color: white;
}

.table-wrap {
    overflow-x: auto;
}

table {
    border-collapse: collapse;
    width: 100%;
}

th {
    text-align: left;
    font-size: .76rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #64748b;
    background: #f8fafc;
}

td, th {
    padding: 1rem 1.1rem;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: top;
}

@media (max-width: 1023px) {

.desktop-nav {
    display: none;
}

.hero {
    min-height: auto;
}


}

@media (min-width: 1024px) {

.mobile-menu-button {
    display: none;
}


}

@media (max-width: 640px) {

.hero {
    width: calc(100% - .75rem);
    margin-top: .5rem;
    border-radius: 1.25rem;
}

.hero-copy-panel {
    border-radius: 1.25rem;
}

.hero img {
    opacity: .38;
}

.hero::after {
    background: linear-gradient(180deg, rgba(5,18,54,.95), rgba(5,18,54,.82));
}


}

/* v3 production corrections */
.hero {
    width: 100%;
    min-height: 780px;
    border-radius: 0;
}

.hero img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
}

.hero::after {
    background: linear-gradient(90deg, rgba(5, 18, 54, .78) 0%, rgba(5, 18, 54, .44) 45%, rgba(5, 18, 54, .14) 100%),
        linear-gradient(0deg, rgba(5, 18, 54, .70) 0%, rgba(5, 18, 54, .08) 38%, rgba(5, 18, 54, .05) 100%);
}

.hero-copy-panel {
    background: linear-gradient(135deg, rgba(5, 18, 54, .70), rgba(5, 18, 54, .42));
    border: 1px solid rgba(255, 255, 255, .22);
    backdrop-filter: blur(8px);
    border-radius: 2rem;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .18);
}

.hero-copy-panel h1,
.hero-copy-panel p {
    text-shadow: 0 2px 18px rgba(0, 0, 0, .42);
}

.home-cta-card {
    min-height: 100%;
}

.home-quick-links-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-banner-visual {
    min-height: 260px;
    background-image: var(--page-image);
    background-size: cover;
    background-position: center;
    border-radius: 2rem;
    border: 1px solid rgba(255, 255, 255, .20);
    box-shadow: 0 22px 60px rgba(0, 0, 0, .22);
}

.public-note {
    display: none !important;
}

@media (max-width: 900px) {

.home-quick-links-row {
    grid-template-columns: 1fr;
}

.hero {
    min-height: auto;
}

.hero img {
    opacity: .78;
}

.hero-copy-panel {
    background: linear-gradient(135deg, rgba(5, 18, 54, .82), rgba(5, 18, 54, .62));
}


}

/* v4 layout corrections */

.home-hero-banner img {
    min-height: 380px;
}

.home-event-panel {
    position: relative;
    z-index: 3;
}

.home-event-card {
    border: 1px solid rgba(148, 163, 184, .28);
    backdrop-filter: blur(10px);
}

.home-quick-links-row {
    align-items: stretch;
}

.home-cta-card {
    height: 100%;
}

.home-cta-card .home-card-link {
    padding-top: 1.25rem;
}


@media (max-width: 640px) {

.home-hero-banner img {
    min-height: 260px;
}

.home-event-panel {
    margin-top: 0;
}


}

/* v5 requested corrections */

@media (min-width: 1024px) {

}

.site-footer-logo,
.footer img,
footer img {
    display: none !important;
}

/* v6 sketched banner integration */

@media (min-width: 1024px) {

}

.page-banner-visual {
    display: none !important;
}

/* v7 restore v5 logo/home banner and make page banners visible */

@media (min-width: 1024px) {

}

/* Force actual image visibility on inner-page banners. */
/* Disable older pseudo-layer system that was hiding the image. */
.page-banner::before,

.page-banner h1,
.page-banner p {
    text-shadow: 0 2px 18px rgba(0, 0, 0, .42) !important;
}

.page-banner .badge,

.page-banner-visual {
    display: none !important;
}

.home-cta-card {
    display: flex !important;
    flex-direction: column !important;
}

.home-cta-card .home-card-link {
    margin-top: auto !important;
}

/* v8: restore v4 home banner and make inner page banners explicitly visible */
.home-hero-banner {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow: hidden !important;
}

.home-hero-banner img {
    display: block !important;
}

.page-banner::before,

.page-banner-visual {
    display: none !important;
}

/* v14: Page banner CSS fixed.
   Do not set background or background-image here.
   Each page sets its own banner image through the inline style attribute. */
.page-banner {
    color: white;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-height: 330px;
    background-size: cover, cover, cover;
    background-position: center center, center center, center center;
    background-repeat: no-repeat;
}

.page-banner::before {
    display: none !important;
    content: none !important;
    background: none !important;
}

.page-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(6, 22, 61, .20), rgba(6, 22, 61, .08) 42%, rgba(6, 22, 61, .00) 100%),
        linear-gradient(0deg, rgba(6, 22, 61, .16), rgba(6, 22, 61, .00) 72%);
    z-index: 1;
    pointer-events: none;
}

.page-banner > div {
    position: relative;
    z-index: 2;
}

.page-banner h1,
.page-banner p,
.page-banner a,
.page-banner span {
    text-shadow: 0 2px 18px rgba(0, 0, 0, .36);
}

.page-banner .kicker {
    color: #d7effc;
}

.page-banner .badge-dark {
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.18);
    color: #ffffff;
}

@media (max-width: 900px) {

.page-banner {
    min-height: 260px;
    background-position: 68% center, 68% center, 68% center;
}


}

/* v16 fixes */
/* Header: remove extra Conference Info button if a stale copy exists */
header > div > .btn-primary[href="registration.html"] {
    display: none !important;
}

/* Mobile menu overlays content instead of pushing the page down */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
}

.mobile-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1001 !important;
    display: none;
    background: rgba(255,255,255,.98) !important;
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(148,163,184,.32);
    box-shadow: 0 22px 50px rgba(15,23,42,.16);
}

.mobile-menu.open {
    display: block !important;
}

@media (max-width: 1279px) {

.desktop-nav {
    display: none !important;
}

.mobile-menu-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}


}

@media (min-width: 1280px) {

.desktop-nav {
    display: flex !important;
}

.mobile-menu-button {
    display: none !important;
}


}

/* Condense the home banner image so the full image is visible without increasing banner height */
.home-hero-banner {
    background: #eef8ff !important;
}

.home-hero-banner img {
    width: 100% !important;
    height: clamp(280px, 31vw, 500px) !important;
    object-fit: fill !important;
    object-position: center center !important;
}

/* CTA buttons aligned with page banner colors */
.btn-gold {
    background: linear-gradient(135deg, #2b67b6, #69a9e0) !important;
    color: #ffffff !important;
    box-shadow: 0 18px 36px rgba(43,103,182,.22);
}

.btn-primary {
    background: linear-gradient(135deg, #2c7d3d, #53a65e) !important;
    color: #ffffff !important;
    box-shadow: 0 18px 36px rgba(44,125,61,.22);
}

.btn-abstract {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 3rem;
    padding: .85rem 1.25rem;
    border-radius: 999px;
    color: #ffffff;
    background: linear-gradient(135deg, #7f2f98, #a04cb5);
    font-weight: 900;
    box-shadow: 0 18px 36px rgba(127,47,152,.22);
}

/* Existing stacked home info cards enhanced, no duplicate stat row */
.home-stat-stack {
    align-items: stretch;
}

.home-stat-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    border-radius: 1.35rem;
    padding: 1.1rem;
    border: 1px solid rgba(148, 163, 184, .20);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
}

.home-stat-card.location {
    background: linear-gradient(135deg, #eaf5ff, #ffffff);
}

.home-stat-card.dates {
    background: linear-gradient(135deg, #edf9f1, #ffffff);
}

.home-stat-card.time {
    background: linear-gradient(135deg, #fff5dc, #ffffff);
}

.home-stat-icon {
    flex: 0 0 auto;
    width: 3.2rem;
    height: 3.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 1.1rem;
    background: white;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .09);
}

.home-stat-icon svg {
    width: 1.65rem;
    height: 1.65rem;
}

.home-stat-card.location .home-stat-icon {
    color: #2b67b6;
}

.home-stat-card.dates .home-stat-icon {
    color: #2c7d3d;
}

.home-stat-card.time .home-stat-icon {
    color: #c47a13;
}

.home-stat-card p {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .72rem;
    font-weight: 900;
    color: #64748b;
}

.home-stat-card h3 {
    margin: .2rem 0 0;
    font-size: clamp(1.25rem, 1.55vw, 1.55rem);
    line-height: 1.15;
    font-weight: 950;
    color: #0f172a;
}

/* Home CTA cards */
.home-cta-title {
    display: inline-block;
    padding-bottom: .35rem;
    border-bottom: 3px solid rgba(14, 165, 198, .35);
    letter-spacing: -.015em;
}

.home-cta-card:nth-child(1) .home-cta-title {
    color: #2c7d3d !important;
    border-color: rgba(44, 125, 61, .30);
}

.home-cta-card:nth-child(2) .home-cta-title {
    color: #2b67b6 !important;
    border-color: rgba(43, 103, 182, .30);
}

.home-cta-card:nth-child(3) .home-cta-title {
    color: #7f2f98 !important;
    border-color: rgba(127, 47, 152, .30);
}

/* Committee page */
.committee-intro {
    margin-bottom: 2rem;
}

.committee-group {
    margin-top: 3rem;
}

.committee-group-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, .28);
}

.committee-group-header h2 {
    margin: .25rem 0 0;
    font-size: clamp(1.75rem, 2vw, 2.5rem);
    line-height: 1.1;
    font-weight: 950;
    color: #0f172a;
}

.committee-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
}

.committee-grid-small {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.committee-card {
    overflow: hidden;
    border-radius: 1.5rem;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .20);
    box-shadow: 0 16px 40px rgba(15, 23, 42, .07);
}

.committee-photo {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center top;
    display: block;
    background: linear-gradient(135deg, #e8f2ff, #fff);
}

.committee-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    font-weight: 950;
    color: #173d8f;
}

.committee-card-body {
    padding: 1.1rem;
}

.committee-role {
    margin: 0 0 .55rem;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .13em;
    font-weight: 900;
    color: #0ea5c6;
}

.committee-card h3 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.32;
    color: #0f172a;
    font-weight: 900;
}

.committee-inst {
    margin: .55rem 0 0;
    color: #64748b;
    font-size: .9rem;
    line-height: 1.55;
}

@media (max-width: 1100px) {

.committee-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}


}

@media (max-width: 800px) {

.committee-grid,
    .committee-grid-small {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


}

@media (max-width: 560px) {

.committee-grid,
    .committee-grid-small {
    grid-template-columns: 1fr;
}


}

/* v18 home hero redesign */
.home-hero-v18 {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #eef4fa 0%, #ffffff 100%);
}

.home-hero-v18 .home-hero-bg img {
    width: 100%;
    height: clamp(340px, 36vw, 520px);
    object-fit: contain;
    object-position: center center;
    display: block;
}

.home-hero-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.home-hero-copy {
    max-width: 40rem;
    padding: 1.5rem 0 4.7rem 0;
}

.home-hero-copy h1 {
    margin: 0;
    font-size: clamp(2.2rem, 4.2vw, 4.7rem);
    line-height: 0.95;
    font-weight: 900;
    letter-spacing: -0.04em;
    color: #143a78;
}

.home-hero-copy h1 span {
    display: inline-block;
    margin-top: .35rem;
    font-size: .68em;
    line-height: 1.02;
    letter-spacing: -0.025em;
}

.home-hero-tagline {
    margin: 1rem 0 0;
    max-width: 28rem;
    font-size: clamp(1.15rem, 2vw, 1.8rem);
    line-height: 1.25;
    font-style: italic;
    color: #2e7b3f;
    font-weight: 500;
}

.home-hero-divider {
    width: 16rem;
    max-width: 75%;
    height: 3px;
    margin: 1.35rem 0 1rem;
    background: linear-gradient(90deg, #173d8f, #2c7d3d);
    border-radius: 999px;
}

.home-hero-subtext {
    max-width: 31rem;
    margin: 0;
    font-size: clamp(1rem, 1.45vw, 1.35rem);
    line-height: 1.35;
    color: #23344d;
    font-weight: 500;
}

.home-hero-meta-wrap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding-bottom: .9rem;
}

.home-hero-meta {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    min-height: 3.9rem;
    padding: .9rem 1.4rem;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(6,38,92,.96), rgba(13,51,111,.96));
    color: #fff;
    box-shadow: 0 20px 46px rgba(9,32,72,.26);
}

.hero-meta-item {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    font-weight: 900;
    letter-spacing: .01em;
    font-size: 1.05rem;
}

.hero-meta-item img {
    width: 1.55rem;
    height: 1.55rem;
    object-fit: contain;
    display: block;
}

.hero-meta-sep {
    width: 1px;
    height: 1.35rem;
    background: rgba(255,255,255,.35);
}

.home-event-panel {
    margin-top: 1.25rem;
}

.home-event-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.10);
}

@media (max-width: 1024px) {

.home-hero-copy {
    max-width: 32rem;
    padding-bottom: 5rem;
}

.home-hero-meta {
    width: 100%;
    border-radius: 1.3rem;
    justify-content: center;
}


}

@media (max-width: 768px) {

.home-hero-v18 .home-hero-bg img {
    height: 450px;
    object-position: 64% center;
}

.home-hero-overlay {
    align-items: flex-start;
}

.home-hero-copy {
    padding-top: 1.35rem;
    padding-bottom: 7.1rem;
    max-width: 21rem;
}

.home-hero-tagline {
    max-width: 20rem;
}

.home-hero-subtext {
    max-width: 18rem;
    background: rgba(255,255,255,.28);
    backdrop-filter: blur(2px);
    padding: .45rem .55rem;
    border-radius: .6rem;
}

.home-hero-meta-wrap {
    padding-bottom: .7rem;
}

.home-hero-meta {
    gap: .8rem;
    padding: .9rem 1rem;
}

.hero-meta-item {
    font-size: .95rem;
}


}

@media (max-width: 560px) {

.home-hero-v18 .home-hero-bg img {
    height: 480px;
    object-position: 67% center;
}

.home-hero-copy h1 {
    font-size: 2.15rem;
}

.home-hero-tagline {
    font-size: 1.05rem;
    max-width: 16rem;
}

.home-hero-subtext {
    font-size: .95rem;
    max-width: 15rem;
}

.home-hero-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-radius: 1rem;
}

.hero-meta-sep {
    display: none;
}


}

/* v21 homepage refinement */
.site-header {
    background: rgba(255,255,255,0.98) !important;
}


@media (min-width: 1024px) {

}

.home-hero-v21 {
    position: relative;
    overflow: hidden;
    background: #f3f7fa;
}

.home-hero-v21-media {
    position: relative;
}

.home-hero-v21-media img {
    display: block;
    width: 100%;
    height: clamp(350px, 31vw, 455px);
    object-fit: cover;
}

.home-hero-v21-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.home-hero-v21-copy {
    width: min(28rem, 37%);
    padding: 1rem 0 5rem;
}

.home-hero-v21-copy h1 {
    margin: 0;
    font-size: clamp(2rem, 3.2vw, 3.6rem);
    line-height: 1;
    letter-spacing: -0.04em;
    color: #122f6a;
    font-weight: 900;
    white-space: nowrap;
}

.home-hero-v21-tagline {
    margin: .65rem 0 0;
    font-size: clamp(1.12rem, 1.9vw, 1.9rem);
    line-height: 1.23;
    font-style: italic;
    font-weight: 500;
    color: #2b7a43;
    max-width: 25rem;
}

.home-hero-v21-divider {
    display: flex;
    align-items: center;
    gap: .6rem;
    width: min(17rem, 85%);
    margin: 1rem 0 .9rem;
}

.home-hero-v21-divider::before,
.home-hero-v21-divider::after {
    content: "";
    flex: 1;
    height: 3px;
    background: #49658f;
    border-radius: 999px;
}

.home-hero-v21-divider span {
    width: .58rem;
    height: .58rem;
    border-radius: 50%;
    background: #284f96;
}

.home-hero-v21-subtext {
    margin: 0;
    font-size: clamp(.98rem, 1.22vw, 1.18rem);
    line-height: 1.34;
    color: #2d3a4b;
    font-weight: 500;
    max-width: 23rem;
}

.home-hero-v21-meta-wrap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.home-hero-v21-meta {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .9rem;
    min-height: 4.25rem;
    padding: .95rem 1.35rem .9rem;
    color: #fff;
    background: #072b69 url("../images/hero-meta-wave-v21.svg") center top / 100% 100% no-repeat;
}

.hero-v21-meta-item {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    font-size: clamp(1rem, 1.25vw, 1.08rem);
    font-weight: 900;
    letter-spacing: .01em;
    line-height: 1;
}

.hero-v21-meta-item img {
    width: 1.9rem;
    height: 1.9rem;
    object-fit: contain;
}

.hero-v21-meta-sep {
    width: 2px;
    height: 1.7rem;
    background: rgba(255,255,255,.45);
}

.home-showcase-v21 {
    padding-bottom: .75rem;
}

.cta-grid-v21 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4rem;
}

.cta-card-v21 {
    position: relative;
    display: grid;
    grid-template-columns: 138px 1fr;
    align-items: center;
    gap: 1rem;
    min-height: 184px;
    padding: 1.15rem 1.2rem;
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #fdfefe 100%);
    border: 1px solid rgba(148,163,184,.28);
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(15,23,42,.04);
}

.cta-card-v21::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(110% 85% at 0% 100%, rgba(148,163,184,.18) 0, rgba(148,163,184,0) 50%),
        repeating-radial-gradient(circle at -15% 130%, rgba(148,163,184,.07) 0 2px, transparent 2px 13px);
    pointer-events: none;
    opacity: .9;
}

.cta-card-v21::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 4px;
}

.cta-green-v21::after {
    background: #248d48;
}

.cta-blue-v21::after {
    background: #2f68cb;
}

.cta-purple-v21::after {
    background: #8c34ad;
}

.cta-icon-v21 {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: .15rem;
}

.cta-icon-v21 img {
    width: 110px;
    height: 110px;
    object-fit: contain;
    object-position: center;
    display: block;
}

.cta-content-v21 {
    position: relative;
    z-index: 1;
}

.cta-content-v21 h3 {
    margin: 0 0 .35rem;
    font-size: clamp(1.2rem, 1.55vw, 1.5rem);
    line-height: 1.16;
    font-weight: 900;
    letter-spacing: .01em;
}

.cta-green-v21 h3 {
    color: #248d48;
}

.cta-blue-v21 h3 {
    color: #2f68cb;
}

.cta-purple-v21 h3 {
    color: #8c34ad;
}

.cta-content-v21 p {
    margin: 0;
    color: #24324a;
    font-size: 1rem;
    line-height: 1.45;
    max-width: 16rem;
}

.cta-btn-v21 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    padding: .7rem 1.15rem;
    margin-top: 1rem;
    border-radius: .55rem;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    font-size: .96rem;
}

.cta-btn-v21::after {
    content: "›";
    font-size: 1.3rem;
    line-height: 1;
    margin-left: .5rem;
}

.cta-green-v21 .cta-btn-v21 {
    background: #248d48;
}

.cta-blue-v21 .cta-btn-v21 {
    background: #2f68cb;
}

.cta-purple-v21 .cta-btn-v21 {
    background: #8c34ad;
}

.info-strips-v21 {
    display: grid;
}

.info-strip-v21 {
    display: grid;
    align-items: stretch;
    overflow: hidden;
    background-color: #fff;
    background-repeat: no-repeat;
    border: 1px solid rgba(148,163,184,.35);
}

.info-strip-square-v21 img {
    width: 100%;
    height: 100%;
    display: block;
}

.info-strip-content-v21 {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.info-strip-content-v21 h4 {
    font-weight: 900;
}

.info-strip-content-v21 p {
    color: #1f2e43;
}

.strip-green-v21 {
    border-color: rgba(60,154,114,.55);
}

.strip-blue-v21 {
    border-color: rgba(90,143,232,.55);
}

.strip-orange-v21 {
    border-color: rgba(238,157,56,.55);
}

@media (max-width: 1100px) {

.cta-grid-v21 {
    grid-template-columns: 1fr;
}

.home-hero-v21-copy {
    width: min(28rem, 42%);
}


}

@media (max-width: 780px) {

.home-hero-v21-media img {
    height: 400px;
}

.home-hero-v21-copy {
    width: 70%;
    padding-bottom: 5.2rem;
}

.home-hero-v21-copy h1 {
    white-space: normal;
}

.home-hero-v21-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
}

.hero-v21-meta-sep:last-of-type, .hero-v21-meta-item:last-child {
    display: none;
}

}

@media (max-width: 560px) {

.home-hero-v21-media img {
    height: 420px;
}

.home-hero-v21-copy {
    width: 82%;
}

.cta-card-v21 {
    grid-template-columns: 96px 1fr;
    padding: 1rem;
}

.cta-icon-v21 img {
    width: 78px;
    height: 78px;
}

.cta-content-v21 p {
    font-size: .95rem;
}


}

/* v22 layout refinement */
.max-w-7xl {
    max-width: 92rem !important;
}

.site-header img[alt="2026 RCMI Consortium National Conference"] {
    max-width: min(100%, 32rem);
}

@media (min-width: 1024px) {

.site-header img[alt="2026 RCMI Consortium National Conference"] {
    height: 6.35rem !important;
}


}

.home-hero-v21 {
    width: calc(100% - 2rem);
    max-width: 92rem;
    margin: 0 auto;
}

.home-hero-v21-media img {
    object-position: top center !important;
}

.home-showcase-v21 {
    max-width: 92rem !important;
}

.info-strips-v21 {
    gap: .6rem;
    margin-top: 1.05rem;
}

.info-strip-v21 {
    grid-template-columns: 162px 1fr;
    min-height: 96px;
    border-radius: .25rem;
    background-position: center center;
    background-size: 100% 100%;
    border-width: 1px;
}

.info-strip-square-v21 {
    width: 162px;
    min-height: 96px;
}

.info-strip-square-v21 img {
    object-fit: fill;
}

.info-strip-content-v21 {
    padding: 0 1.2rem 0 1.2rem;
}

.info-strip-content-v21 h4 {
    font-size: 1.15rem;
    line-height: 1.05;
    letter-spacing: 0;
    margin: 0 0 .35rem;
}

.info-strip-content-v21 p {
    font-size: 1rem;
    line-height: 1.18;
    margin: 0;
    font-weight: 500;
}

.strip-green-v21 h4 {
    color: #2b8960;
}

.strip-blue-v21 h4 {
    color: #3866cc;
}

.strip-orange-v21 h4 {
    color: #e68b29;
}

@media (max-width: 780px) {

.home-hero-v21 {
    width: 100%;
}

.info-strip-v21 {
    grid-template-columns: 120px 1fr;
    min-height: 86px;
    background-size: cover;
}

.info-strip-square-v21 {
    width: 120px;
    min-height: 86px;
}

.info-strip-content-v21 h4 {
    font-size: 1rem;
}

.info-strip-content-v21 p {
    font-size: .96rem;
}


}

/* v23 exact bottom strip matching */
.site-header img[alt="2026 RCMI Consortium National Conference"] {
    height: 6.45rem !important;
    width: auto !important;
    display: block;
}

.info-strips-v23 {
    display: grid;
    gap: .6rem;
    margin-top: 1.05rem;
}

.info-strip-v23 {
    min-height: 98px;
    border-radius: .28rem;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%;
    border: 0;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 780px) {

.info-strip-v23 {
    min-height: 82px;
    background-size: cover;
    background-position: left center;
}


}

/* v26 homepage template matching updates */
body[data-page="home"] {
    background: #f4f4f5;
}

body[data-page="home"].bg-grid {
    background-image: none;
}

.site-header-v26 {
    position: sticky;
    top: 0;
    z-index: 50;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(203, 213, 225, .9);
    backdrop-filter: none;
    box-shadow: none;
}


.site-header-v26 .site-nav {
    gap: 1.65rem;
    font-size: 1.02rem;
    font-weight: 500;
    color: #111827;
}

.site-header-v26 .site-nav a {
    position: relative;
    padding: .2rem 0;
}

.site-header-v26 .site-nav a[aria-current="page"] {
    color: #173d8f;
    font-weight: 700;
}

.site-header-v26 .site-nav a[aria-current="page"]::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1.15rem;
    height: 3px;
    border-radius: 999px;
    background: #1d56b5;
}

.home-hero-v26 {
    position: relative;
    max-width: none;
}

.home-hero-v26-media {
    position: relative;
}

.home-hero-v26-media img {
    display: block;
    object-fit: cover;
}

.home-hero-v26-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.home-hero-v26-inner,
.home-showcase-v26-inner {
    width: 100%;
    margin: 0 auto;
}

.home-hero-v26-copy {
    padding: 1rem 0 5.25rem;
}

.home-hero-v26-copy h1 {
    margin: 0;
    line-height: .98;
    letter-spacing: -0.04em;
    color: #102d69;
    font-weight: 900;
}

.home-hero-v26-tagline {
    margin: .7rem 0 0;
    font-size: clamp(1.18rem, 2vw, 2rem);
    line-height: 1.23;
    font-style: italic;
    font-weight: 500;
    color: #21753b;
}

.home-hero-v26-divider {
    display: flex;
    align-items: center;
    gap: .6rem;
    width: min(18rem, 82%);
    margin: 1rem 0 .9rem;
}

.home-hero-v26-divider::before,
.home-hero-v26-divider::after {
    content: "";
    flex: 1;
    height: 2px;
    background: #375b92;
    border-radius: 999px;
}

.home-hero-v26-divider span {
    width: .6rem;
    height: .6rem;
    border-radius: 50%;
    background: #284f96;
}

.home-hero-v26-subtext {
    margin: 0;
    color: #24344d;
    font-size: clamp(1rem, 1.24vw, 1.18rem);
    line-height: 1.34;
    font-weight: 500;
}

.home-hero-v26-meta-wrap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.home-hero-v26-meta {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    min-height: 4.15rem;
    padding: .9rem 1.5rem .85rem;
    color: #fff;
    background: linear-gradient(90deg, #061f56 0%, #072862 100%);
    background-image: linear-gradient(90deg, #061f56 0%, #072862 100%), url("../images/hero-meta-wave-v21.svg");
    background-size: cover, 100% 100%;
    background-repeat: no-repeat;
    box-shadow: 0 10px 28px rgba(8, 26, 77, .18);
}

.hero-v26-meta-item {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    font-size: clamp(1rem, 1.28vw, 1.15rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: .01em;
}

.hero-v26-meta-item img {
    width: 1.9rem;
    height: 1.9rem;
    object-fit: contain;
}

.hero-v26-meta-date span {
    color: #f0bd2f;
}

.hero-v26-meta-sep {
    width: 2px;
    height: 1.65rem;
    background: rgba(255,255,255,.42);
}

.home-showcase-v26 {
    padding: 1.35rem 0 .6rem;
}


.cta-card-v26 {
    position: relative;
    display: grid;
    gap: 1rem;
    background: #fff;
    border: 1px solid #d6dde7;
    overflow: hidden;
}

.cta-card-v26::before {
    content: "";
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    opacity: 1;
}

.cta-card-v26::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
}

.cta-card-v26 > * {
    position: relative;
    z-index: 1;
}

.cta-icon-v26 {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cta-icon-v26 img {
    object-fit: contain;
    display: block;
}

.cta-content-v26 h3 {
    margin: 0 0 .42rem;
    font-weight: 900;
}

.cta-content-v26 p {
    margin: 0;
    color: #1e2d43;
}

.cta-btn-v26 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    font-size: .97rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}

.cta-btn-v26::after {
    content: "›";
    margin-left: .55rem;
    font-size: 1.35rem;
    line-height: 1;
}

.info-strip-v26 {
    display: grid;
    border: 1.5px solid;
}

.info-strip-left-v26 {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.info-strip-left-v26::before,
.info-strip-left-v26::after {
    content: "";
    position: absolute;
    inset: -15% -10%;
    pointer-events: none;
}

.info-strip-left-v26::before {
    background: radial-gradient(circle at 25% 20%, rgba(255,255,255,.18) 0 3px, transparent 4px 100%),
        repeating-radial-gradient(circle at 0% 90%, rgba(255,255,255,.22) 0 2px, transparent 2px 12px);
    opacity: .9;
}

.info-strip-left-v26::after {
    background: linear-gradient(170deg, rgba(255,255,255,.18), transparent 45%),
        linear-gradient(transparent, rgba(0,0,0,.04));
}

.info-strip-left-v26 img {
    position: relative;
    z-index: 1;
}


.info-strip-content-v26 h4 {
    margin: 0 0 .25rem;
    font-weight: 900;
}

.strip-green-v26 {
    background: linear-gradient(90deg, #ffffff 0%, #fbfdfb 100%);
}

.strip-green-v26 .info-strip-left-v26 {
    background: linear-gradient(135deg, #2d8f59, #3f9f68);
}


.strip-blue-v26 {
    background: linear-gradient(90deg, #ffffff 0%, #fbfcff 100%);
}

.strip-blue-v26 .info-strip-left-v26 {
    background: linear-gradient(135deg, #5d91de, #7cabeb);
}


.strip-orange-v26 {
    background: linear-gradient(90deg, #ffffff 0%, #fffaf4 100%);
}

.strip-orange-v26 .info-strip-left-v26 {
    background: linear-gradient(135deg, #ea8a2c, #f4a047);
}


body[data-page="home"] .home-event-panel {
    margin-top: .25rem;
}

@media (max-width: 1180px) {

.site-header-v26 .site-nav {
    gap: 1.15rem;
    font-size: .96rem;
}

.home-hero-v26-copy {
    width: min(34rem, 40%);
}


}

@media (max-width: 1023px) {

.site-header-v26 .site-logo-v26 {
    height: 4.8rem;
    max-width: min(100%, 24rem);
}

.cta-grid-v26 {
    grid-template-columns: 1fr;
}


.info-strip-sketch-v26 {
    display: none;
}


}

@media (max-width: 780px) {

.home-hero-v26-inner,
    .home-showcase-v26-inner {
    padding-left: .75rem;
    padding-right: .75rem;
}

.home-hero-v26-media img {
    object-position: center;
}

.home-hero-v26-copy {
    padding-bottom: 5.5rem;
}


.home-hero-v26-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
}


}

@media (max-width: 640px) {


.home-hero-v26-media img {
    height: 430px;
}

.home-hero-v26-copy {
    width: 84%;
}

.home-hero-v26-tagline {
    max-width: 17rem;
}

.cta-card-v26 {
    padding: 1rem;
}

.info-strip-left-v26 img {
    width: 60px;
    height: 60px;
}

.site-header-v26 .site-nav a[aria-current="page"]::after {
    bottom: -0.85rem;
}


}

/* v27 refinements after user feedback */

@media (max-width: 640px) {

}

.home-hero-v26,
.home-hero-v26-media,
.home-hero-v26-media img {
    margin: 0;
    padding: 0;
}

.home-hero-v26 {
    box-shadow: none;
}

.home-hero-v26-media {
    line-height: 0;
}

.home-hero-v26-media img {
    width: 100%;
    max-width: none;
    height: clamp(360px, 31vw, 465px);
}

.cta-card-v26 {
    border-width: 1px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, .04);
}

.cta-card-v26::before {
    background-position: center center;
    background-size: 100% 100%;
}

.cta-green-v26 {
    border-color: #ccdcd0;
}

.cta-blue-v26 {
    border-color: #d5deee;
}

.cta-purple-v26 {
    border-color: #ddd2e4;
}

.cta-green-v26::before {
    background-image: url("../images/cta-wave-green-v27.svg");
}

.cta-blue-v26::before {
    background-image: url("../images/cta-wave-blue-v27.svg");
}

.cta-purple-v26::before {
    background-image: url("../images/cta-wave-purple-v27.svg");
}

.cta-green-v26::after {
    background: #118345;
}

.cta-blue-v26::after {
    background: #0f5fb8;
}

.cta-purple-v26::after {
    background: #8423a6;
}

.cta-green-v26 h3 {
    color: #14713e;
}

.cta-blue-v26 h3 {
    color: #1255a5;
}

.cta-purple-v26 h3 {
    color: #742293;
}


.cta-btn-v26 {
    min-width: 10.85rem;
    border-radius: .45rem;
}

.cta-green-v26 .cta-btn-v26 {
    background: linear-gradient(180deg, #118948, #0e773d);
}

.cta-blue-v26 .cta-btn-v26 {
    background: linear-gradient(180deg, #1566c5, #0f58ab);
}

.cta-purple-v26 .cta-btn-v26 {
    background: linear-gradient(180deg, #8b2ab0, #77229a);
}

.info-strip-left-v26 {
    background: transparent !important;
}

.info-strip-left-v26::before,
.info-strip-left-v26::after {
    display: none !important;
}


.strip-green-v26 {
    border-color: #2c8c56;
}

.strip-blue-v26 {
    border-color: #5b8fde;
}

.strip-orange-v26 {
    border-color: #ef9a4b;
}

.strip-green-v26 .info-strip-content-v26 h4 {
    color: #166a40;
}

.strip-blue-v26 .info-strip-content-v26 h4 {
    color: #1f5eb6;
}

.strip-orange-v26 .info-strip-content-v26 h4 {
    color: #e27716;
}

@media (max-width: 1023px) {

.info-strip-v26 {
    grid-template-columns: 155px 1fr;
}

.info-strip-left-v26 img {
    width: 100%;
    height: 100%;
}


}

@media (max-width: 640px) {


.cta-icon-v26 img {
    width: 82px;
    height: 82px;
}

.info-strip-v26 {
    min-height: 84px;
}


}

/* v31: final sketch artwork for the three lower vertical info boxes */

/* v33 updates: rebuilt package, transparent PNG logo, cropped hero banner, and cleaned unused image assets */

@media (max-width: 640px) {

.site-header-v26 .site-logo-v26 {
    height: 3.5rem;
    max-width: 20rem;
}


}

/* v35 updates: Bethesda/DC sketches, consistent page-linked button colors, wider left text area on home hero, and side-by-side stacked home boxes */

.home-hero-v26-media img {
    object-position: center center;
}


.cta-grid-v26,
.info-strips-v26 {
    margin-top: 0;
}

.cta-content-v26 p {
    max-width: none;
}

/* Home CTA colors mapped to destination pages */
.cta-registration-v35 {
    border-color: #d8e4f3;
}

.cta-registration-v35::after {
    background: #2b67b6;
}

.cta-registration-v35 h3 {
    color: #1f5fae;
}

.cta-registration-v35 .cta-btn-v26 {
    background: linear-gradient(180deg, #2f76ca, #245ea6);
}

.cta-agenda-v35 {
    border-color: #cfe3d2;
}

.cta-agenda-v35::after {
    background: #2c7d3d;
}

.cta-agenda-v35 h3 {
    color: #1f6c34;
}

.cta-agenda-v35 .cta-btn-v26 {
    background: linear-gradient(180deg, #329048, #276f39);
}

.btn-page-registration,
.btn-page-abstracts,
.btn-page-support,
.btn-page-fees {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 3rem;
    padding: .85rem 1.25rem;
    border-radius: 999px;
    color: #fff;
    font-weight: 900;
    text-decoration: none;
}

.btn-page-registration {
    background: linear-gradient(135deg, #2b67b6, #69a9e0);
    box-shadow: 0 18px 36px rgba(43,103,182,.22);
}

.btn-page-fees {
    background: linear-gradient(135deg, #7f3fa4, #a866c8);
    box-shadow: 0 18px 36px rgba(127,63,164,.22);
}

.btn-page-abstracts {
    background: linear-gradient(135deg, #7f2f98, #a04cb5);
    box-shadow: 0 18px 36px rgba(127,47,152,.22);
}

.btn-page-support {
    background: linear-gradient(135deg, #1d9db5, #57c7d6);
    box-shadow: 0 18px 36px rgba(29,157,181,.22);
}

.home-cta-card:nth-child(1) .home-cta-title,
.home-cta-card:nth-child(1) .home-card-link {
    color: #2c7d3d !important;
}

.home-cta-card:nth-child(2) .home-cta-title,
.home-cta-card:nth-child(2) .home-card-link {
    color: #2b67b6 !important;
}

.home-cta-card:nth-child(3) .home-cta-title,
.home-cta-card:nth-child(3) .home-card-link {
    color: #7f2f98 !important;
}

@media (max-width: 1100px) {


.cta-grid-v26,
    .info-strips-v26 {
    grid-template-columns: 1fr;
}


}

@media (max-width: 640px) {

.cta-card-v26 {
    grid-template-columns: 100px 1fr;
}

.info-strip-v26 {
    grid-template-columns: 118px 1fr;
}


}

.cta-card-v26 {
    border-radius: 1rem;
}


.cta-content-v26 h3 {
    line-height: 1.02;
    letter-spacing: -0.02em;
    margin-bottom: .55rem;
}


.info-strip-v26 {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(251,252,253,.98));
}

.info-strip-content-v26 h4 {
    line-height: 1;
    letter-spacing: -0.02em;
}

.info-strip-content-v26 p {
    margin: 0;
}


.home-hero-v26-copy {
    width: min(39rem, 42%);
    padding-left: .55rem;
}

.home-hero-v26-copy h1 {
    font-size: clamp(2.15rem, 3.15vw, 3.9rem);
    white-space: normal;
}

.home-hero-v26-tagline {
    max-width: 27rem;
}

.home-hero-v26-subtext {
    max-width: 24rem;
}

@media (max-width: 1100px) {

}

@media (max-width: 780px) {

.info-strip-content-v26 h4,
    .cta-content-v26 h3 {
    font-size: 1.28rem;
}

.info-strip-content-v26 p,
    .cta-content-v26 p {
    font-size: 1rem;
}


}

@media (max-width: 520px) {

.home-hero-v26-divider {
    width: min(12rem, 72%);
    margin: .75rem 0 .7rem;
}


}

/* v37 artwork background-image assignments removed in v121 because v41 supplies the final TIME/DATE/LOCATION artwork. */
/* Keep the two stacked columns aligned, but make all cards tall enough for their content. */
.home-showcase-v26-inner {
    align-items: stretch;
}

.cta-grid-v26,
.info-strips-v26 {
    display: flex;
    flex-direction: column;
    height: 100%;
}


.cta-card-v26 {
    align-items: center;
}

.info-strip-v26 {
    box-shadow: 0 8px 22px rgba(15, 23, 42, .07);
}

.cta-card-v26::after {
    height: 10px;
}

.cta-content-v26 h3,
.info-strip-content-v26 h4 {
    font-size: 1.65rem;
    line-height: 1.02;
    letter-spacing: -0.02em;
}

/* Mobile hero text scaling and safe width. */
@media (max-width: 1100px) {

}

@media (max-width: 780px) {

.home-hero-v26-media img {
    height: 390px;
}

.home-hero-v26-copy {
    padding: .85rem 0 5.25rem;
}

.home-hero-v26-copy h1 {
    line-height: .98;
    white-space: normal;
}

.home-hero-v26-tagline {
    font-size: clamp(1rem, 4.4vw, 1.4rem);
    max-width: 15rem;
    line-height: 1.2;
}

.home-hero-v26-subtext {
    font-size: clamp(.9rem, 3.7vw, 1.06rem);
    max-width: 14rem;
    line-height: 1.28;
}

.cta-content-v26 h3,
    .info-strip-content-v26 h4 {
    font-size: 1.28rem;
}


}

@media (max-width: 520px) {

.home-hero-v26-media img {
    height: 360px;
}

.home-hero-v26-copy {
    width: min(92%, 19rem);
    padding-top: .7rem;
    padding-bottom: 5rem;
}

.home-hero-v26-copy h1 {
    font-size: clamp(1.5rem, 7.3vw, 2rem);
}

.home-hero-v26-tagline {
    font-size: clamp(.92rem, 4.8vw, 1.18rem);
    max-width: 13rem;
}

.home-hero-v26-subtext {
    font-size: .88rem;
    max-width: 12.4rem;
}


}

/* v38 layout and spacing refinements */
/* Keep the home banner within the same centered page width as the other sections. */
.home-hero-v26,
.home-showcase-v26 {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
}

.home-hero-v26 {
    width: 100%;
}


/* Make left sketch panels properly rectangular and slightly reduce overall card height. */
.home-showcase-v26-inner {
    grid-template-columns: minmax(340px, 0.95fr) minmax(540px, 1.05fr);
    gap: 1.35rem;
}

.cta-grid-v26,
.info-strips-v26 {
    gap: .9rem;
}

.cta-card-v26 {
    min-height: 184px;
}

.info-strip-v26 {
    min-height: 184px;
    align-items: stretch;
    isolation: isolate;
}

.info-strip-left-v26 {
    padding: 0;
}


/* The right sketch image should act as the background for the whole right side, including behind the text. */

.info-strip-content-v26 p {
    max-width: 22rem;
}

/* Match outer centered containers used elsewhere on the site. */
.site-header-v26 > .mx-auto,
.site-header-v26 [data-mobile-menu] .mx-auto,
.home-event-panel.max-w-7xl,
section.mx-auto.max-w-7xl,
footer .mx-auto.max-w-7xl {
    max-width: 80rem !important;
}

@media (max-width: 1100px) {

.home-hero-v26,
    .home-showcase-v26 {
    max-width: 80rem;
}

.home-showcase-v26-inner {
    grid-template-columns: 1fr;
}

.cta-grid-v26,
    .info-strips-v26 {
    height: auto;
}

.cta-card-v26,
    .info-strip-v26 {
    flex: initial;
}


}

@media (max-width: 780px) {

.home-hero-v26,
    .home-showcase-v26 {
    padding-left: 1rem;
    padding-right: 1rem;
}

.info-strip-content-v26 {
    padding: 1rem 1rem 1rem 1.2rem;
}

.cta-card-v26 {
    min-height: 158px;
}


}

@media (max-width: 520px) {

.info-strip-v26 {
    grid-template-columns: 132px 1fr;
}

.cta-card-v26 {
    min-height: 150px;
}


}

/* v39: one outer content shell and two horizontal rows of home boxes */
:root {
    --site-shell-width: 96rem;
    --site-shell-pad: 1.25rem;
}

/* Use one main shell for the home page content instead of sizing each home section independently. */
.site-page-shell {
    width: min(100%, var(--site-shell-width));
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--site-shell-pad);
    padding-right: var(--site-shell-pad);
    box-sizing: border-box;
}

/* Keep header and footer aligned with the same page shell width. */
.site-header-v26 > .mx-auto,
.site-header-v26 [data-mobile-menu] .mx-auto,
footer .mx-auto.max-w-7xl {
    max-width: var(--site-shell-width) !important;
}

/* Inside the shell, top home sections should not add another outer width or side padding. */
body[data-page="home"] .site-page-shell > section,
body[data-page="home"] .site-page-shell .home-hero-v26,
body[data-page="home"] .site-page-shell .home-showcase-v26 {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
}

/* Neutralize nested Tailwind container spacing on direct home sections, so the shell controls the margins. */
body[data-page="home"] .site-page-shell > section.mx-auto,
body[data-page="home"] .site-page-shell > section.max-w-7xl {
    max-width: none !important;
}

/* Let each section's inner layout fill the single shell. */
.home-hero-v26-inner,
.home-showcase-v26-inner {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Homepage hero remains contained in the shell and does not stretch across the browser. */
.home-hero-v26 {
    border-radius: 0;
    overflow: hidden;
    background: transparent;
}

/* Row 1: the three call-to-action boxes horizontally. Row 2: the three info boxes horizontally. */
.home-showcase-v26 {
    padding-top: 1.3rem;
}

.home-showcase-v26-inner {
    display: block !important;
}

.cta-grid-v26 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
    height: auto !important;
}

.info-strips-v26 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
    height: auto !important;
    margin-top: 1.15rem;
}

/* Moderate heights, enough for content but not as tall as the prior aligned-column design. */
.cta-card-v26,
.info-strip-v26 {
    min-height: 178px !important;
    height: 100%;
    flex: initial !important;
}

/* CTA row tuning. */
.cta-card-v26 {
    grid-template-columns: 116px 1fr !important;
    padding: 1.15rem 1.1rem;
}

.cta-icon-v26 img {
    width: 92px;
    height: 92px;
}

.cta-content-v26 h3 {
    font-size: 1.38rem;
}

.cta-content-v26 p {
    font-size: 1rem;
    line-height: 1.42;
}

.cta-btn-v26 {
    min-height: 2.55rem;
    margin-top: .85rem;
    padding: .62rem 1rem;
}

/* Info row tuning. The right-side background covers everything to the right of the left sketch image. */
.info-strip-v26 {
    position: relative;
    overflow: hidden;
    grid-template-columns: 142px 1fr !important;
    border-width: 2px;
    border-radius: .6rem;
}

.info-strip-left-v26 {
    position: relative;
    z-index: 2;
}

.info-strip-left-v26 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    object-position: center center;
    display: block;
}

.info-strip-sketch-v26 {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 142px;
    z-index: 0;
    display: block !important;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.info-strip-content-v26 {
    position: relative;
    z-index: 2;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem 1.1rem;
    background: linear-gradient(90deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.84) 55%, rgba(255,255,255,.34) 100%);
}

.info-strip-content-v26 h4 {
    font-size: 1.42rem;
    margin-bottom: .45rem;
}

.info-strip-content-v26 p {
    font-size: 1.06rem;
    line-height: 1.42;
    font-weight: 800;
    color: #233147;
}

@media (max-width: 1180px) {

.cta-grid-v26,
    .info-strips-v26 {
    grid-template-columns: 1fr;
}

.cta-card-v26,
    .info-strip-v26 {
    min-height: 165px !important;
}

.info-strip-v26 {
    grid-template-columns: 160px 1fr !important;
}

.info-strip-sketch-v26 {
    left: 160px;
}


}

@media (max-width: 780px) {

:root {
    --site-shell-pad: 1rem;
}

.cta-card-v26 {
    grid-template-columns: 105px 1fr !important;
}

.info-strip-v26 {
    grid-template-columns: 132px 1fr !important;
    min-height: 150px !important;
}

.info-strip-sketch-v26 {
    display: none !important;
}

.info-strip-content-v26 {
    background: rgba(255,255,255,.98);
}


}

/* v40: shorter second row cards and wider left sketch panels */

@media (max-width: 1180px) {

}

@media (max-width: 780px) {


.info-strips-v26 .info-strip-left-v26 img {
    object-position: center center;
}


}

/* v41: shorter second-row info boxes, slightly narrower left sketches, larger stylish text, and stronger right-side sketch backgrounds */
.info-strips-v26 .info-strip-v26 {
    min-height: 92px !important;
    grid-template-columns: 162px 1fr !important;
    border-width: 2px;
}

.info-strips-v26 .info-strip-left-v26 {
    min-width: 0;
}

.info-strips-v26 .info-strip-left-v26 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    object-position: center center;
}

.info-strips-v26 .info-strip-sketch-v26 {
    left: 162px;
    background-size: cover;
    background-position: center center;
    opacity: 1;
    filter: saturate(1.08) contrast(1.05);
}

.info-strips-v26 .info-strip-content-v26 {
    padding: .7rem 1rem .7rem 1rem;
    background: linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.68) 46%, rgba(255,255,255,.14) 100%);
}

.info-strips-v26 .info-strip-content-v26 h4 {
    font-size: 1.72rem;
    line-height: 1;
    letter-spacing: .03em;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: .24rem;
    text-wrap: balance;
}

.info-strips-v26 .info-strip-content-v26 p {
    font-size: 1.16rem;
    line-height: 1.32;
    font-weight: 700;
    color: #1f2f45;
    text-shadow: 0 1px 0 rgba(255,255,255,.45);
    max-width: 22rem;
}

.strip-green-v26 .info-strip-sketch-v26 {
    background-image: url("../images/info-box-1-right-recreated-v41.png") !important;
}

.strip-blue-v26 .info-strip-sketch-v26 {
    background-image: url("../images/info-box-2-right-recreated-v41.png") !important;
}

.strip-orange-v26 .info-strip-sketch-v26 {
    background-image: url("../images/info-box-3-right-recreated-v41.png") !important;
}

@media (max-width: 1180px) {

.info-strips-v26 .info-strip-v26 {
    min-height: 96px !important;
    grid-template-columns: 154px 1fr !important;
}

.info-strips-v26 .info-strip-sketch-v26 {
    left: 154px;
}

.info-strips-v26 .info-strip-content-v26 h4 {
    font-size: 1.72rem;
}

.info-strips-v26 .info-strip-content-v26 p {
    font-size: 1.16rem;
}


}

@media (max-width: 780px) {

.info-strips-v26 .info-strip-v26 {
    min-height: 126px !important;
    grid-template-columns: 142px 1fr !important;
}

.info-strips-v26 .info-strip-content-v26 {
    padding: .82rem .95rem;
    background: rgba(255,255,255,.96);
}

.info-strips-v26 .info-strip-content-v26 h4 {
    font-size: 1.72rem;
}

.info-strips-v26 .info-strip-content-v26 p {
    font-size: 1.16rem;
    line-height: 1.32;
}


}

/* v42: auto-wrapping hero text and divider sized to text group */
.home-hero-v26-text-group {
    display: inline-block;
    width: fit-content;
}

.home-hero-v26-text-group .home-hero-v26-tagline,
.home-hero-v26-text-group .home-hero-v26-subtext {
    max-width: 100%;
}

.home-hero-v26-text-group .home-hero-v26-divider {
    max-width: none;
}

@media (max-width: 780px) {

}

@media (max-width: 520px) {

}

/* v43: allow hero subtext to use available line width instead of balanced breaking */
.home-hero-v26-text-group {
    max-width: min(100%, 36rem);
}

.home-hero-v26-text-group .home-hero-v26-tagline,
.home-hero-v26-text-group .home-hero-v26-subtext {
    text-wrap: normal;
    overflow-wrap: normal;
}


@media (max-width: 780px) {

.home-hero-v26-text-group {
    max-width: min(100%, 22rem);
}

.home-hero-v26-text-group .home-hero-v26-subtext {
    width: auto;
}


}

@media (max-width: 520px) {

.home-hero-v26-text-group {
    max-width: min(100%, 16rem);
}


}

/* v44: prevent the hero divider/text group from staying too wide on narrow screens */
.home-hero-v26-text-group {
    box-sizing: border-box;
}

/* Remove the max-content behavior that could keep the group wider than the available visual space. */
.home-hero-v26-text-group .home-hero-v26-subtext {
    width: auto;
    max-width: 100%;
}

/* Let the divider shrink with the text group instead of forcing an older minimum width. */
.home-hero-v26-text-group .home-hero-v26-divider {
    width: 100%;
    min-width: 0;
}

/* As the viewport narrows, explicitly reduce the hero text column so it stays inside the open-left part of the image. */
@media (max-width: 900px) {

.home-hero-v26-copy {
    width: min(58vw, 22rem);
    max-width: calc(100vw - 2rem);
}

.home-hero-v26-text-group {
    width: 100%;
    max-width: 100%;
}


}

@media (max-width: 700px) {

.home-hero-v26-copy {
    width: min(54vw, 18rem);
}

.home-hero-v26-text-group {
    width: 100%;
    max-width: 100%;
}


}

@media (max-width: 560px) {

.home-hero-v26-copy {
    width: min(50vw, 15.5rem);
}

.home-hero-v26-text-group {
    width: 100%;
    max-width: 100%;
}

.home-hero-v26-text-group .home-hero-v26-divider {
    width: 100%;
}


}

@media (max-width: 430px) {

.home-hero-v26-copy {
    width: min(48vw, 13rem);
}

.home-hero-v26-text-group .home-hero-v26-tagline {
    font-size: clamp(.82rem, 4.6vw, 1.02rem);
}

.home-hero-v26-text-group .home-hero-v26-subtext {
    font-size: .78rem;
}


}

/* v45: shrink the hero text/divider area more aggressively on tablet/mobile widths */
@media (max-width: 980px) {

.home-hero-v26-copy {
    width: min(44vw, 18rem) !important;
    max-width: min(44vw, 18rem) !important;
}

.home-hero-v26-text-group {
    width: 100% !important;
    max-width: 100% !important;
}


}

@media (max-width: 780px) {

.home-hero-v26-copy {
    width: min(42vw, 15.5rem) !important;
    max-width: min(42vw, 15.5rem) !important;
}

.home-hero-v26-copy h1 {
    font-size: clamp(1.55rem, 5.7vw, 2.15rem) !important;
}

.home-hero-v26-text-group .home-hero-v26-tagline {
    font-size: clamp(.92rem, 3.8vw, 1.22rem) !important;
}

.home-hero-v26-text-group .home-hero-v26-subtext {
    font-size: clamp(.82rem, 3.2vw, .98rem) !important;
}


}

@media (max-width: 620px) {

.home-hero-v26-copy {
    width: min(39vw, 12.75rem) !important;
    max-width: min(39vw, 12.75rem) !important;
}

.home-hero-v26-text-group .home-hero-v26-divider {
    margin-top: .62rem;
    margin-bottom: .62rem;
}


}

@media (max-width: 480px) {

.home-hero-v26-copy {
    width: min(36vw, 10.5rem) !important;
    max-width: min(36vw, 10.5rem) !important;
}

.home-hero-v26-copy h1 {
    font-size: clamp(1.28rem, 6vw, 1.72rem) !important;
    letter-spacing: -0.035em;
}

.home-hero-v26-text-group .home-hero-v26-tagline {
    font-size: clamp(.78rem, 4.1vw, .98rem) !important;
}

.home-hero-v26-text-group .home-hero-v26-subtext {
    font-size: .72rem !important;
    line-height: 1.24;
}


}

@media (max-width: 390px) {

.home-hero-v26-copy {
    width: min(34vw, 9rem) !important;
    max-width: min(34vw, 9rem) !important;
}

.home-hero-v26-text-group .home-hero-v26-divider {
    gap: .42rem;
}


}

/* v46: selected clearer 1-left LOCATION sketch image */
.strip-green-v26 .info-strip-left-v26 img {
    object-fit: contain;
    object-position: center center;
}

/* v47: selected clearer 3-left TIME sketch image */
.strip-orange-v26 .info-strip-left-v26 img {
    object-fit: contain;
    object-position: center center;
}

/* v48: updated conference logo */

@media (max-width: 768px) {

}

/* v49: recreated logo with added padding so subtitle is not cropped */
.site-header-v26 .site-logo-v26 {
    max-height: none;
}

.site-header-v26 .site-logo-v26 img {
    object-fit: contain;
}

@media (max-width: 768px) {

}

/* v50: apply updated recreated logo without cropping */
.site-header-v26 .site-logo-v26 {
    height: 5.6rem !important;
    width: auto;
    max-width: min(100%, 60rem) !important;
    object-fit: contain;
    display: block;
}

@media (max-width: 768px) {

.site-header-v26 .site-logo-v26 {
    height: 3.8rem !important;
    max-width: min(100%, 22rem) !important;
}


}

/* v51 agenda redesign: stylish daily tabs, timeline cards, and mobile-first layout */
.agenda-program-v51 {
    position: relative;
    padding: 4.5rem 0 5.5rem;
    overflow: hidden;
    background: radial-gradient(circle at 10% 0%, rgba(46, 118, 202, .14), transparent 30rem),
        radial-gradient(circle at 92% 12%, rgba(247, 113, 15, .10), transparent 30rem),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,249,252,.94));
}

.agenda-program-v51::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(rgba(71,78,156,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(71,78,156,.055) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(180deg, transparent 0%, black 14%, black 86%, transparent 100%);
}

.agenda-shell-v51 {
    position: relative;
    width: min(100% - 2rem, 96rem);
    margin: 0 auto;
}

.agenda-intro-card-v51 {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 1.5rem;
    align-items: stretch;
    padding: clamp(1.25rem, 3vw, 2.2rem);
    border: 1px solid rgba(71,78,156,.12);
    border-radius: 2rem;
    background: rgba(255,255,255,.82);
    box-shadow: 0 28px 80px rgba(15, 23, 42, .10);
    backdrop-filter: blur(16px);
}

.agenda-eyebrow-v51 {
    margin: 0;
    color: #1f6fbf;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.agenda-intro-copy-v51 h2,
.agenda-tabs-top-v51 h3 {
    margin: .5rem 0 0;
    color: #172447;
    font-weight: 950;
    letter-spacing: -0.04em;
}

.agenda-intro-copy-v51 h2 {
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: .95;
}

.agenda-intro-copy-v51 p:last-child {
    max-width: 68rem;
    margin-top: 1rem;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.75;
}

.agenda-intro-stats-v51 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .8rem;
}

.agenda-intro-stats-v51 div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 9rem;
    padding: 1rem;
    border-radius: 1.4rem;
    color: white;
    background: linear-gradient(135deg, #474e9c, #1f6fbf);
    box-shadow: 0 20px 45px rgba(71,78,156,.18);
}

.agenda-intro-stats-v51 div:nth-child(2) {
    background: linear-gradient(135deg, #0f8ca8, #36b8d6);
}

.agenda-intro-stats-v51 div:nth-child(3) {
    background: linear-gradient(135deg, #f7710f, #ffb11d);
}

.agenda-intro-stats-v51 span {
    display: block;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 950;
    line-height: 1;
}

.agenda-intro-stats-v51 small {
    margin-top: .55rem;
    color: rgba(255,255,255,.82);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.agenda-tabs-wrap-v51 {
    margin-top: 1.5rem;
    padding: clamp(1rem, 2.2vw, 1.6rem);
    border: 1px solid rgba(71,78,156,.12);
    border-radius: 2rem;
    background: rgba(255,255,255,.86);
    box-shadow: 0 25px 70px rgba(15,23,42,.09);
}

.agenda-tabs-top-v51 {
    margin-bottom: 1rem;
}

.agenda-tabs-top-v51 h3 {
    font-size: clamp(1.4rem, 3vw, 2.2rem);
}

.agenda-auto-note-v51 {
    margin: 0;
    padding: .65rem .9rem;
    border: 1px solid rgba(31,111,191,.16);
    border-radius: 999px;
    color: #1f4f82;
    background: rgba(31,111,191,.08);
    font-size: .86rem;
    font-weight: 800;
}

.agenda-tab-list-v51 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
    padding: .55rem;
    border: 1px solid rgba(71,78,156,.10);
    border-radius: 1.45rem;
    background: linear-gradient(135deg, rgba(71,78,156,.06), rgba(15,140,168,.06));
}

.agenda-day-tab-v51 {
    display: flex;
    align-items: center;
    gap: .95rem;
    width: 100%;
    min-height: 6rem;
    padding: 1rem;
    border: 0;
    border-radius: 1.1rem;
    text-align: left;
    color: #334155;
    background: rgba(255,255,255,.72);
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.agenda-day-tab-v51:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 35px rgba(15,23,42,.08);
}

.agenda-day-tab-v51.is-active {
    color: white;
    background: linear-gradient(135deg, #474e9c, #1f6fbf 58%, #0f8ca8);
    box-shadow: 0 18px 40px rgba(71,78,156,.28);
}

.agenda-tab-icon-v51 {
    display: grid;
    place-items: center;
    flex: 0 0 clamp(3rem, 4vw, 3.6rem);
    width: clamp(3rem, 4vw, 3.6rem);
    height: clamp(3rem, 4vw, 3.6rem);
    border-radius: .85rem;
    color: #474e9c;
    background: rgba(71,78,156,.10);
    font-weight: 950;
    font-size: clamp(1.05rem, 1.35vw, 1.25rem);
}

.agenda-day-tab-v51.is-active .agenda-tab-icon-v51 {
    color: #fff;
    background: rgba(255,255,255,.18);
}

.agenda-day-tab-v51 strong,
.agenda-day-tab-v51 small {
    display: block;
}

.agenda-day-tab-v51 strong {
    font-size: clamp(1.45rem, 2.2vw, 1.85rem);
    font-weight: 950;
    line-height: 1.05;
}

.agenda-day-tab-v51 small {
    margin-top: .16rem;
    font-size: clamp(1rem, 1.35vw, 1.16rem);
    font-weight: 800;
    opacity: .72;
    line-height: 1.15;
}

.agenda-panels-v51 {
    margin-top: 1.2rem;
}

.agenda-panel-v51[hidden] {
    display: none !important;
}

.agenda-day-hero-v51 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: clamp(1.2rem, 3vw, 2rem);
    border-radius: 1.6rem;
    color: white;
    overflow: hidden;
    position: relative;
    background: linear-gradient(135deg, #474e9c, #1f6fbf);
}

.agenda-day-hero-v51::after {
    content: "";
    position: absolute;
    inset: -30% -5% auto auto;
    width: 18rem;
    height: 18rem;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
}

.agenda-day-hero-v51 p {
    margin: 0 0 .3rem;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .18em;
    text-transform: uppercase;
    opacity: .78;
}

.agenda-day-hero-v51 h3 {
    margin: 0;
    font-size: clamp(1.6rem, 4vw, 3rem);
    font-weight: 950;
    letter-spacing: -0.04em;
}

.agenda-day-hero-v51 span {
    position: relative;
    z-index: 1;
    max-width: 24rem;
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.45;
    color: rgba(255,255,255,.82);
}

.sunday-theme-v51 {
    background: linear-gradient(135deg, #2c7d3d, #1f6fbf);
}

.monday-theme-v51 {
    background: linear-gradient(135deg, #474e9c, #0f8ca8);
}

.tuesday-theme-v51 {
    background: linear-gradient(135deg, #7f2f98, #474e9c);
}

.wednesday-theme-v51 {
    background: linear-gradient(135deg, #f7710f, #d14f08);
}

.agenda-timeline-v51 {
    position: relative;
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.agenda-timeline-v51::before {
    content: "";
    position: absolute;
    top: 1rem;
    bottom: 1rem;
    width: 2px;
    background: linear-gradient(180deg, rgba(71,78,156,.0), rgba(71,78,156,.20), rgba(247,113,15,.20), rgba(71,78,156,.0));
}

.agenda-session-card-v51 {
    position: relative;
    display: grid;
    grid-template-columns: 11.5rem minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
    padding: .85rem;
    border: 1px solid rgba(71,78,156,.12);
    border-radius: 1.35rem;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 50px rgba(15,23,42,.08);
}

.agenda-session-card-v51::before {
    content: "";
    position: absolute;
    left: 10.55rem;
    top: 1.8rem;
    border-radius: 999px;
    z-index: 1;
}

.agenda-time-v51 {
    display: flex;
    align-items: center;
    text-align: center;
}

.agenda-session-body-v51 {
    padding: .5rem .3rem .45rem;
}

.agenda-session-body-v51 h4 {
    margin: 0;
    color: #172447;
    font-size: clamp(1.25rem, 2.1vw, 1.65rem);
    font-weight: 950;
    letter-spacing: -.02em;
    line-height: 1.12;
}

.agenda-session-body-v51 p {
    margin: .55rem 0 0;
    color: #475569;
    line-height: 1.68;
}

.agenda-session-title-row-v51 {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
}

.agenda-chip-v51 {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: .32rem .62rem;
    border-radius: 999px;
    color: var(--agenda-accent, #474e9c);
    background: color-mix(in srgb, var(--agenda-accent, #474e9c) 12%, white);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.agenda-speakers-v51 {
    font-size: .96rem;
}

.agenda-details-v51 {
    margin-top: .85rem;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(248,250,252,.92), rgba(255,255,255,.72));
    overflow: hidden;
}

.agenda-details-v51 summary {
    padding: .85rem 1rem;
    color: #172447;
    font-weight: 950;
    cursor: pointer;
    font-size: 1.18rem;
    line-height: 1.28;
}

.agenda-details-v51 p,
.agenda-details-v51 ul {
    margin: 0;
    padding: 0 1rem 1rem;
}

.agenda-mini-list-v51 {
    list-style: none;
    display: grid;
    gap: .55rem;
}

.agenda-mini-list-v51 li {
    display: grid;
    grid-template-columns: 10rem minmax(0, 1fr);
    gap: .7rem;
    padding: .7rem;
    border-radius: .85rem;
    background: rgba(255,255,255,.75);
    color: #475569;
    line-height: 1.45;
}

.agenda-mini-list-v51 span {
    color: #172447;
    font-weight: 950;
}

.agenda-bullet-v51 {
    display: grid;
    gap: .45rem;
    color: #475569;
    line-height: 1.55;
}

.agenda-bullet-v51 li {
    margin-left: 1.15rem;
}

.agenda-concurrent-grid-v51 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.agenda-concurrent-grid-v51 .agenda-session-card-v51,
.agenda-quick-row-v51 article,
.agenda-session-card-v51.compact-v51 {
    grid-template-columns: 10rem minmax(0, 1fr);
}

.agenda-concurrent-grid-v51 .agenda-session-card-v51::before,
.agenda-session-card-v51.compact-v51::before {
    left: 9.55rem;
}

.workshops-v51 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.agenda-quick-row-v51 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.agenda-quick-row-v51 article {
    position: relative;
    min-height: 6.4rem;
    padding: 1.1rem 1.2rem;
    border: 1px solid rgba(71,78,156,.12);
    border-radius: 1.25rem;
    background: rgba(255,255,255,.92);
    box-shadow: 0 16px 45px rgba(15,23,42,.07);
}

.agenda-quick-row-v51 span,
.agenda-quick-row-v51 strong,
.agenda-quick-row-v51 em {
    display: block;
}

.agenda-quick-row-v51 span {
    color: #1f6fbf;
    font-size: .84rem;
    font-weight: 950;
}

.agenda-quick-row-v51 strong {
    margin-top: .35rem;
    color: #172447;
    font-size: clamp(1.2rem, 1.5vw, 1.45rem);
    line-height: 1.15;
}

.agenda-quick-row-v51 em {
    margin-top: .45rem;
    color: #f7710f;
    font-size: .78rem;
    font-weight: 950;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.accent-green-v51 {
    --agenda-accent: #2c7d3d;
}

.accent-blue-v51 {
    --agenda-accent: #1f6fbf;
}

.accent-purple-v51 {
    --agenda-accent: #7f2f98;
}

.accent-orange-v51 {
    --agenda-accent: #f7710f;
}

.accent-red-v51 {
    --agenda-accent: #df2334;
}

@supports not (background: color-mix(in srgb, red 10%, white)) {

.agenda-time-v51,
    .agenda-chip-v51 {
    background: #f1f5f9;
}


}

@media (max-width: 1180px) {

.workshops-v51 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


}

@media (max-width: 980px) {

.agenda-intro-card-v51 {
    grid-template-columns: 1fr;
}

.agenda-intro-stats-v51 div {
    min-height: 7rem;
}

.agenda-tab-list-v51 {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}

.agenda-day-tab-v51 {
    min-width: 13.5rem;
    scroll-snap-align: start;
    min-height: 6rem;
    padding: 1rem;
    gap: .95rem;
}

.agenda-tabs-top-v51 {
    align-items: start;
    flex-direction: column;
}

.agenda-timeline-v51::before {
    display: none;
}

.agenda-session-card-v51,
    .agenda-concurrent-grid-v51 .agenda-session-card-v51,
    .agenda-session-card-v51.compact-v51 {
    grid-template-columns: 1fr;
}

.agenda-session-card-v51::before,
    .agenda-concurrent-grid-v51 .agenda-session-card-v51::before,
    .agenda-session-card-v51.compact-v51::before {
    display: none;
}


.agenda-concurrent-grid-v51,
    .agenda-quick-row-v51 {
    grid-template-columns: 1fr;
}


}

@media (max-width: 640px) {

.agenda-program-v51 {
    padding: 2.5rem 0 3.5rem;
}

.agenda-shell-v51 {
    width: min(100% - 1rem, 96rem);
}

.agenda-intro-card-v51,
    .agenda-tabs-wrap-v51 {
    border-radius: 1.35rem;
}

.agenda-intro-stats-v51 {
    grid-template-columns: 1fr;
}

.agenda-intro-stats-v51 div {
    min-height: 5.5rem;
}

.agenda-day-hero-v51 {
    align-items: start;
    flex-direction: column;
    border-radius: 1.25rem;
}

.agenda-session-title-row-v51 {
    display: block;
}

.agenda-chip-v51 {
    margin-top: .65rem;
    white-space: normal;
}

.agenda-mini-list-v51 li {
    grid-template-columns: 1fr;
}

.agenda-session-card-v51 {
    border-radius: 1rem;
    padding: .72rem;
}

.agenda-session-body-v51 {
    padding: .2rem .15rem .25rem;
}


}

/* v52: agenda day tabs resize to fit one row on mobile */
.agenda-tabs,
.agenda-day-tabs,
.program-tabs,
.schedule-tabs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(.35rem, 1.2vw, .9rem) !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

.agenda-tabs button,
.agenda-tabs .agenda-tab,
.agenda-day-tabs button,
.agenda-day-tabs .agenda-tab,
.program-tabs button,
.program-tabs .agenda-tab,
.schedule-tabs button,
.schedule-tabs .agenda-tab {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: clamp(.52rem, 1.5vw, 1rem) clamp(.28rem, 1.1vw, 1rem) !important;
    white-space: normal !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
}

.agenda-tabs .tab-day,
.agenda-tabs .agenda-tab-day,
.agenda-day-tabs .tab-day,
.agenda-day-tabs .agenda-tab-day,
.program-tabs .tab-day,
.schedule-tabs .tab-day {
    font-size: clamp(.68rem, 2.2vw, 1.05rem) !important;
    line-height: 1.05 !important;
}

.agenda-tabs .tab-date,
.agenda-tabs .agenda-tab-date,
.agenda-day-tabs .tab-date,
.agenda-day-tabs .agenda-tab-date,
.program-tabs .tab-date,
.schedule-tabs .tab-date {
    font-size: clamp(.55rem, 1.75vw, .86rem) !important;
    line-height: 1.1 !important;
}

/* Target the v51 agenda tab markup even if the tab labels use generic spans. */
[data-agenda-tabs],
#agendaTabs,
.agenda-tabs-v51,
.agenda-day-tabs-v51 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(.35rem, 1.2vw, .9rem) !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

[data-agenda-tabs] button,
#agendaTabs button,
.agenda-tabs-v51 button,
.agenda-day-tabs-v51 button {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    padding: clamp(.5rem, 1.45vw, .95rem) clamp(.24rem, 1vw, .95rem) !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

[data-agenda-tabs] button *,
#agendaTabs button *,
.agenda-tabs-v51 button *,
.agenda-day-tabs-v51 button * {
    min-width: 0 !important;
    max-width: 100% !important;
}

@media (max-width: 640px) {

.agenda-tabs,
    .agenda-day-tabs,
    .program-tabs,
    .schedule-tabs,
    [data-agenda-tabs],
    #agendaTabs,
    .agenda-tabs-v51,
    .agenda-day-tabs-v51 {
    gap: .28rem !important;
}

.agenda-tabs button,
    .agenda-tabs .agenda-tab,
    .agenda-day-tabs button,
    .agenda-day-tabs .agenda-tab,
    .program-tabs button,
    .program-tabs .agenda-tab,
    .schedule-tabs button,
    .schedule-tabs .agenda-tab,
    [data-agenda-tabs] button,
    #agendaTabs button,
    .agenda-tabs-v51 button,
    .agenda-day-tabs-v51 button {
    border-radius: .85rem !important;
    padding: .48rem .18rem !important;
}

.agenda-tabs button,
    .agenda-day-tabs button,
    .program-tabs button,
    .schedule-tabs button,
    [data-agenda-tabs] button,
    #agendaTabs button,
    .agenda-tabs-v51 button,
    .agenda-day-tabs-v51 button {
    font-size: clamp(.58rem, 2.6vw, .8rem) !important;
}


}

@media (max-width: 420px) {

.agenda-tabs,
    .agenda-day-tabs,
    .program-tabs,
    .schedule-tabs,
    [data-agenda-tabs],
    #agendaTabs,
    .agenda-tabs-v51,
    .agenda-day-tabs-v51 {
    gap: .18rem !important;
}

.agenda-tabs button,
    .agenda-day-tabs button,
    .program-tabs button,
    .schedule-tabs button,
    [data-agenda-tabs] button,
    #agendaTabs button,
    .agenda-tabs-v51 button,
    .agenda-day-tabs-v51 button {
    border-radius: .65rem !important;
    padding: .42rem .12rem !important;
    font-size: clamp(.52rem, 2.8vw, .7rem) !important;
}


}

/* v53 agenda refinements: restore tab layout, production intro copy, consistent time column, and stronger time styling */
/* The v52 rule accidentally made the whole tab wrapper a grid. Restore the wrapper and header. */
.agenda-tabs-wrap-v51[data-agenda-tabs] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-tabs-top-v51 {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    width: 100% !important;
    margin-bottom: 1rem !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-tabs-top-v51 > * {
    min-width: 0;
}

/* Tabs should sit across the top of the schedule, all four fitting in one row. */
.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-tab-list-v51 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(.35rem, 1vw, .85rem) !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-day-tab-v51 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 5.25rem !important;
    padding: .8rem !important;
    white-space: normal !important;
    text-align: left !important;
    gap: .78rem !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-day-tab-v51 > span:last-child {
    min-width: 0 !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-day-tab-v51 strong {
    font-size: clamp(1.55rem, 1.75vw, 1.8rem) !important;
    line-height: 1.05 !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-day-tab-v51 small {
    font-size: clamp(.95rem, 1.1vw, 1.08rem) !important;
    line-height: 1.1 !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-tab-icon-v51 {
    flex: 0 0 2.6rem !important;
    width: 2.6rem !important;
    height: 2.6rem !important;
    border-radius: clamp(.55rem, 1vw, .85rem) !important;
    font-size: .95rem !important;
}

/* Production intro content from the agenda document. */
.agenda-intro-card-v53 {
    grid-template-columns: minmax(0, 1.18fr) minmax(260px, .52fr);
}

.agenda-theme-v53 {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    margin: .9rem 0 .25rem !important;
    padding: .42rem .72rem;
    border-radius: 999px;
    color: #474e9c !important;
    background: rgba(71,78,156,.08);
    font-size: .9rem !important;
    font-weight: 900;
    line-height: 1.25 !important;
}

.agenda-objective-card-v53 {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(71,78,156,.12);
    border-radius: 1.3rem;
    background: linear-gradient(135deg, rgba(71,78,156,.06), rgba(15,140,168,.06));
}

.agenda-objective-card-v53 h3 {
    margin: 0 0 .45rem;
    color: #172447;
    font-size: clamp(1.22rem, 1.45vw, 1.45rem);
    font-weight: 950;
    letter-spacing: -.01em;
    text-transform: uppercase;
    line-height: 1.15;
}

.agenda-objective-card-v53 p {
    margin: 0 !important;
    max-width: none !important;
}

.agenda-objective-card-v53 ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin: .85rem 0 0;
    padding: 0;
    list-style: none;
}

.agenda-objective-card-v53 li {
    position: relative;
    padding: .68rem .75rem .68rem 2.05rem;
    border-radius: .9rem;
    color: #334155;
    background: rgba(255,255,255,.76);
    font-size: .94rem;
    font-weight: 800;
    line-height: 1.35;
}

.agenda-objective-card-v53 li::before {
    content: "";
    position: absolute;
    left: .78rem;
    top: .88rem;
    width: .55rem;
    height: .55rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #f7710f, #ffb11d);
    box-shadow: 0 0 0 4px rgba(247,113,15,.12);
}

/* Consistent and more readable time columns on desktop. */
:root {
    --agenda-time-col-v53: 13.25rem;
}

.agenda-session-card-v51,
.agenda-concurrent-grid-v51 .agenda-session-card-v51,
.agenda-session-card-v51.compact-v51,
.agenda-quick-row-v51 article {
    grid-template-columns: var(--agenda-time-col-v53) minmax(0, 1fr) !important;
}

.agenda-timeline-v51::before {
    left: calc(var(--agenda-time-col-v53) - 4.1rem) !important;
}

.agenda-session-card-v51::before,
.agenda-concurrent-grid-v51 .agenda-session-card-v51::before,
.agenda-session-card-v51.compact-v51::before {
    left: calc(var(--agenda-time-col-v53) - 1.05rem) !important;
}

.agenda-time-v51 {
    width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    justify-content: center !important;
    min-height: 5.15rem;
    padding: .9rem .75rem !important;
    border: 1px solid color-mix(in srgb, var(--agenda-accent, #474e9c) 28%, white);
    border-radius: 1.05rem;
    color: white !important;
    background: linear-gradient(135deg,
            color-mix(in srgb, var(--agenda-accent, #474e9c) 88%, #111827 12%),
            color-mix(in srgb, var(--agenda-accent, #474e9c) 72%, white 28%)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.28),
        0 14px 30px color-mix(in srgb, var(--agenda-accent, #474e9c) 22%, transparent);
    font-size: clamp(1rem, 1.05vw, 1.16rem) !important;
    font-weight: 950 !important;
    letter-spacing: .02em;
    line-height: 1.12 !important;
    text-shadow: 0 1px 1px rgba(0,0,0,.14);
}

/* Avoid older generic v52 selectors affecting the actual v51 wrapper. */
.agenda-tabs-wrap-v51[data-agenda-tabs] button {
    overflow-wrap: normal !important;
}

@media (max-width: 980px) {

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-tabs-top-v51 {
    align-items: start !important;
    flex-direction: column !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-tab-list-v51 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-day-tab-v51 {
    min-width: 0 !important;
    scroll-snap-align: unset !important;
    min-height: 5.25rem !important;
    padding: .8rem !important;
    gap: .78rem !important;
}

.agenda-session-card-v51,
    .agenda-concurrent-grid-v51 .agenda-session-card-v51,
    .agenda-session-card-v51.compact-v51,
    .agenda-quick-row-v51 article {
    grid-template-columns: 1fr !important;
}

.agenda-time-v51 {
    width: fit-content !important;
    min-width: min(100%, 12rem) !important;
    max-width: 100% !important;
    min-height: auto !important;
    justify-content: flex-start !important;
    padding: .72rem .95rem !important;
    font-size: 1rem !important;
}

.agenda-objective-card-v53 ul {
    grid-template-columns: 1fr;
}


}

@media (max-width: 640px) {

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-tabs-top-v51 {
    margin-bottom: .75rem !important;
}

.agenda-auto-note-v51 {
    border-radius: .9rem;
    font-size: .76rem;
    line-height: 1.25;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-tab-list-v51 {
    gap: .25rem !important;
    padding: .35rem !important;
    border-radius: 1rem !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-day-tab-v51 {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .28rem !important;
    min-height: 4.35rem !important;
    padding: .42rem .16rem !important;
    border-radius: .78rem !important;
    text-align: center !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-day-tab-v51 strong {
    font-size: clamp(.78rem, 3.1vw, .98rem) !important;
    letter-spacing: -.01em;
    line-height: 1.05 !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-day-tab-v51 small {
    margin-top: .05rem !important;
    font-size: clamp(.56rem, 2.45vw, .72rem) !important;
    line-height: 1.05 !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-tab-icon-v51 {
    width: 1.55rem !important;
    height: 1.55rem !important;
    flex-basis: 1.55rem !important;
    border-radius: .45rem !important;
    font-size: .68rem !important;
    flex: 0 0 1.55rem !important;
}

.agenda-theme-v53 {
    border-radius: .9rem;
    font-size: .8rem !important;
}

.agenda-objective-card-v53 {
    padding: .85rem;
    border-radius: 1rem;
}

.agenda-objective-card-v53 li {
    font-size: .86rem;
}


}

@media (max-width: 420px) {

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-tab-list-v51 {
    gap: .18rem !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-day-tab-v51 {
    min-height: 3.85rem !important;
    padding: .35rem .08rem !important;
    gap: .18rem !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-day-tab-v51 strong {
    font-size: clamp(.64rem, 3vw, .82rem) !important;
    line-height: 1.05 !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-day-tab-v51 small {
    font-size: clamp(.48rem, 2.45vw, .62rem) !important;
    line-height: 1.05 !important;
}

.agenda-tabs-wrap-v51[data-agenda-tabs] .agenda-tab-icon-v51 {
    width: 1.28rem !important;
    height: 1.28rem !important;
    flex-basis: 1.28rem !important;
    font-size: .54rem !important;
    flex: 0 0 1.28rem !important;
}


}

/* v54 agenda refinements */
/* 1. Restore the white event-dot/ring inside the colored time boxes. */
.agenda-time-v51::before,
.agenda-time-v51 .agenda-time-dot-v51,
.agenda-time-v51 span::before {
    border-color: #ffffff !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(255,255,255,.28),
        0 8px 18px rgba(15,23,42,.16) !important;
}

/* 2. Prevent the three summary boxes from stretching vertically beside the longer intro text. */
.agenda-intro-card-v53 {
    align-items: start !important;
}

.agenda-intro-stats-v51 {
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
}

.agenda-intro-stats-v51 > div {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

/* 3. On mobile, make the three summary boxes compact and horizontal when space allows. */
@media (max-width: 760px) {

.venue-address-line-v66.venue-address-line-v88 {
    grid-template-columns: 1fr;
}


.agenda-intro-card-v53,
    .agenda-intro-card-v51 {
    grid-template-columns: 1fr !important;
}

.agenda-intro-stats-v51 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .5rem !important;
    width: 100% !important;
    margin-top: 1rem !important;
}

.agenda-intro-stats-v51 > div {
    padding: .72rem .42rem !important;
    border-radius: .95rem !important;
    text-align: center !important;
}

.agenda-intro-stats-v51 span {
    font-size: clamp(1.15rem, 7vw, 1.75rem) !important;
    line-height: 1 !important;
}

.agenda-intro-stats-v51 small {
    margin-top: .22rem !important;
    font-size: clamp(.58rem, 2.8vw, .74rem) !important;
    line-height: 1.1 !important;
}


}

@media (max-width: 420px) {

.agenda-intro-stats-v51 {
    gap: .32rem !important;
}

.agenda-intro-stats-v51 > div {
    padding: .58rem .28rem !important;
    border-radius: .75rem !important;
}

.agenda-intro-stats-v51 span {
    font-size: 1.2rem !important;
}

.agenda-intro-stats-v51 small {
    font-size: .56rem !important;
}


}

/* 4. In tight concurrent-session columns, move the time band to the top so the text has full width. */
.agenda-concurrent-grid-v51 .agenda-session-card-v51 {
    container-type: inline-size;
}

/* Force compact/concurrent cards to stack their time at the top on desktop too. */
.agenda-concurrent-grid-v51 .agenda-session-card-v51,
.agenda-session-card-v51.compact-v51 {
    grid-template-columns: 1fr !important;
}

.agenda-concurrent-grid-v51 .agenda-time-v51,
.agenda-session-card-v51.compact-v51 .agenda-time-v51 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: auto !important;
    justify-content: center !important;
    padding: .65rem .8rem !important;
    border-radius: .9rem !important;
    font-size: clamp(.88rem, 1.15vw, 1rem) !important;
    white-space: nowrap !important;
}

.agenda-concurrent-grid-v51 .agenda-session-card-v51::before,
.agenda-session-card-v51.compact-v51::before {
    display: none !important;
}

/* If a generic session card becomes narrow, also stack its time on top. */
@container (max-width: 390px) {

.agenda-session-card-v51 {
    grid-template-columns: 1fr !important;
}

.agenda-session-card-v51 .agenda-time-v51 {
    width: 100% !important;
    justify-content: center !important;
}

.agenda-session-card-v51::before {
    display: none !important;
}


}

/* v55: move agenda overview to home, compact agenda summary, and refine agenda time-card behavior */
/* Home page conference focus block moved from agenda intro */
.home-agenda-overview-v55 {
    width: min(100%, var(--site-shell-width, 96rem));
    margin: 1.4rem auto 0;
    padding-left: var(--site-shell-pad, 1.25rem);
    padding-right: var(--site-shell-pad, 1.25rem);
    box-sizing: border-box;
}

.home-agenda-overview-card-v55 {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
    gap: 1.25rem;
    padding: clamp(1.25rem, 2.5vw, 2rem);
    border: 1px solid rgba(71,78,156,.12);
    border-radius: 2rem;
    background: radial-gradient(circle at 8% 10%, rgba(15,140,168,.13), transparent 34%),
        radial-gradient(circle at 98% 10%, rgba(247,113,15,.12), transparent 28%),
        linear-gradient(135deg, rgba(255,255,255,.97), rgba(248,251,255,.94));
    box-shadow: 0 22px 60px rgba(15,23,42,.09);
}

.home-agenda-overview-card-v55::before {
    content: "";
    position: absolute;
    inset: auto -8rem -12rem auto;
    width: 22rem;
    height: 22rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(71,78,156,.16), rgba(247,113,15,.13));
    pointer-events: none;
}

.home-agenda-overview-copy-v55,
.home-agenda-objective-v55 {
    position: relative;
    z-index: 1;
}

.home-agenda-overview-copy-v55 h2 {
    max-width: 54rem;
    margin: .35rem 0 .75rem;
    color: #172447;
    font-size: clamp(1.75rem, 3vw, 3rem);
    line-height: 1.02;
    font-weight: 950;
    letter-spacing: -.045em;
}

.home-agenda-theme-v55 {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    margin: 0 0 .95rem;
    padding: .46rem .78rem;
    border-radius: 999px;
    color: #474e9c;
    background: rgba(71,78,156,.08);
    font-size: .92rem;
    font-weight: 950;
    line-height: 1.25;
}

.home-agenda-overview-copy-v55 p:not(.agenda-eyebrow-v51):not(.home-agenda-theme-v55),
.home-agenda-objective-v55 p {
    margin: 0;
    color: #475569;
    font-size: 1.03rem;
    line-height: 1.72;
}

.home-agenda-objective-v55 {
    padding: 1.15rem;
    border: 1px solid rgba(71,78,156,.13);
    border-radius: 1.45rem;
    background: rgba(255,255,255,.74);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.home-agenda-objective-v55 h3 {
    margin: 0 0 .5rem;
    color: #172447;
    font-size: 1.08rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.home-agenda-objective-v55 ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: .5rem;
    margin: .9rem 0 0;
    padding: 0;
    list-style: none;
}

.home-agenda-objective-v55 li {
    position: relative;
    padding: .66rem .72rem .66rem 2rem;
    border-radius: .95rem;
    color: #334155;
    background: rgba(248,250,252,.95);
    font-size: .93rem;
    font-weight: 800;
    line-height: 1.35;
}

.home-agenda-objective-v55 li::before {
    content: "";
    position: absolute;
    left: .78rem;
    top: .88rem;
    width: .52rem;
    height: .52rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #f7710f, #ffb11d);
    box-shadow: 0 0 0 4px rgba(247,113,15,.12);
}

/* Agenda page now keeps only the three summary boxes. */

.agenda-stats-only-v55 .agenda-intro-stats-v51 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 > div {
    min-height: 0 !important;
}

/* Restore the timeline dot/ring to a white center with accent outline. */
.agenda-session-card-v51::before {
    display: block !important;
    background: #ffffff !important;
    border: 3px solid var(--agenda-accent, #474e9c) !important;
}

/* Default desktop behavior: full-width and normal-width cards keep the time box on the left. */
.agenda-timeline-v51 > .agenda-session-card-v51,
.agenda-timeline-v51 > .agenda-session-card-v51.compact-v51,
.agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51,
.agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51.compact-v51 {
    grid-template-columns: var(--agenda-time-col-v53, 13.25rem) minmax(0, 1fr) !important;
}

.agenda-timeline-v51 > .agenda-session-card-v51::before,
.agenda-timeline-v51 > .agenda-session-card-v51.compact-v51::before,
.agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51::before,
.agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51.compact-v51::before {
    display: block !important;
}

.agenda-timeline-v51 > .agenda-session-card-v51 .agenda-time-v51,
.agenda-timeline-v51 > .agenda-session-card-v51.compact-v51 .agenda-time-v51,
.agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51 .agenda-time-v51 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 5.15rem !important;
    justify-content: center !important;
    padding: .9rem .75rem !important;
    border-radius: 1.05rem !important;
    white-space: nowrap !important;
}

/* True narrow concurrent workshop cards place the time band on top and keep it consistent. */
.workshops-v51 .agenda-session-card-v51 {
    grid-template-columns: 1fr !important;
    align-content: start;
}


.workshops-v51 .agenda-time-v51 {
    width: 100% !important;
    height: 4.55rem !important;
    min-height: 4.55rem !important;
    max-height: 4.55rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: .65rem .7rem !important;
    border-radius: .95rem !important;
    white-space: nowrap !important;
    text-align: center !important;
    font-size: clamp(.86rem, 1.1vw, 1rem) !important;
}

.workshops-v51 .agenda-session-body-v51 {
    padding-top: .8rem !important;
}

@media (max-width: 980px) {

.home-agenda-overview-card-v55 {
    grid-template-columns: 1fr;
}

.agenda-timeline-v51 > .agenda-session-card-v51,
    .agenda-timeline-v51 > .agenda-session-card-v51.compact-v51,
    .agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51,
    .agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51.compact-v51 {
    grid-template-columns: 1fr !important;
}

.agenda-timeline-v51 > .agenda-session-card-v51::before,
    .agenda-timeline-v51 > .agenda-session-card-v51.compact-v51::before,
    .agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51::before,
    .agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51.compact-v51::before {
    display: none !important;
}

.agenda-timeline-v51 > .agenda-session-card-v51 .agenda-time-v51,
    .agenda-timeline-v51 > .agenda-session-card-v51.compact-v51 .agenda-time-v51,
    .agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51 .agenda-time-v51 {
    width: fit-content !important;
    min-width: min(100%, 12rem) !important;
    min-height: auto !important;
    justify-content: flex-start !important;
    padding: .72rem .95rem !important;
    white-space: nowrap !important;
}


}

@media (max-width: 760px) {

.home-agenda-overview-v55 {
    margin-top: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
}

.home-agenda-overview-card-v55 {
    border-radius: 1.45rem;
    padding: 1rem;
}

.home-agenda-objective-v55 {
    border-radius: 1.15rem;
    padding: .9rem;
}

.home-agenda-overview-copy-v55 p:not(.agenda-eyebrow-v51):not(.home-agenda-theme-v55),
    .home-agenda-objective-v55 p {
    font-size: .94rem;
    line-height: 1.55;
}

.agenda-stats-only-v55 {
    padding: .75rem !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 {
    gap: .45rem !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 > div {
    padding: .7rem .38rem !important;
}


}

@media (max-width: 520px) {

.agenda-stats-only-v55 .agenda-intro-stats-v51 {
    gap: .28rem !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 span {
    font-size: 1.2rem !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 small {
    font-size: .55rem !important;
}


}

/* v56: refine agenda timeline circle so it does not touch the time text */
.agenda-session-card-v51::before {
    width: .72rem !important;
    height: .72rem !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 4px rgba(255,255,255,.9),
        0 8px 16px color-mix(in srgb, var(--agenda-accent, #474e9c) 20%, transparent) !important;
}

/* On regular left-side time cards, shift the circle slightly toward the divider/content side. */
.agenda-timeline-v51 > .agenda-session-card-v51::before,
.agenda-timeline-v51 > .agenda-session-card-v51.compact-v51::before,
.agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51::before,
.agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51.compact-v51::before {
    left: calc(var(--agenda-time-col-v53, 13.25rem) - .35rem) !important;
    top: 1.55rem !important;
}

/* Keep workshop cards clean, with no floating circle over the top time band. */
.workshops-v51 .agenda-session-card-v51::before {
    display: none !important;
}

/* v57: remove agenda status text and make the top summary boxes compact instead of full-width */
.agenda-auto-note-v51 {
    display: none !important;
}

.agenda-stats-only-v55 {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: .85rem 0 !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 {
    display: flex !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: clamp(.45rem, 1.3vw, .9rem) !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 > div {
    flex: 0 1 clamp(8rem, 18vw, 12.25rem) !important;
    width: clamp(8rem, 18vw, 12.25rem) !important;
    min-width: 0 !important;
    max-width: 12.25rem !important;
    padding: .9rem .8rem !important;
    border-radius: 1.15rem !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 span {
    font-size: clamp(1.35rem, 2.6vw, 2.05rem) !important;
    line-height: 1 !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 small {
    margin-top: .28rem !important;
    font-size: clamp(.64rem, 1.05vw, .8rem) !important;
    line-height: 1.12 !important;
    overflow-wrap: normal !important;
    text-wrap: balance;
}

@media (max-width: 640px) {

.agenda-stats-only-v55 {
    padding: .6rem 0 !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 {
    gap: .35rem !important;
    width: 100% !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 > div {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: .62rem .3rem !important;
    border-radius: .85rem !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 span {
    font-size: clamp(1.05rem, 6vw, 1.45rem) !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 small {
    font-size: clamp(.5rem, 2.55vw, .64rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -.01em;
}


}

@media (max-width: 390px) {

.agenda-stats-only-v55 .agenda-intro-stats-v51 {
    gap: .22rem !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 > div {
    padding: .52rem .18rem !important;
    border-radius: .7rem !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 span {
    font-size: 1.05rem !important;
}

.agenda-stats-only-v55 .agenda-intro-stats-v51 small {
    font-size: .48rem !important;
}


}

/* v58: enhanced conference purpose language, fees page, and sponsorship page */
.about-mission-v58 {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .56fr);
    gap: 1.2rem;
    align-items: stretch;
}

.about-mission-card-v58,
.about-objective-card-v58,
.about-audience-card-v58,
.about-challenges-v58 {
    border: 1px solid rgba(71,78,156,.12);
    border-radius: 2rem;
    background: rgba(255,255,255,.94);
    box-shadow: 0 20px 52px rgba(15,23,42,.08);
}

.about-mission-card-v58 {
    padding: clamp(1.35rem, 2.5vw, 2.25rem);
}

.about-mission-card-v58 h2,
.about-objective-card-v58 h2,
.about-challenges-v58 h2,
.fees-overview-v58 h2,
.sponsor-intro-v58 h2 {
    margin: .35rem 0 1rem;
    color: #172447;
    font-size: clamp(1.75rem, 3vw, 3rem);
    font-weight: 950;
    line-height: 1.02;
    letter-spacing: -.045em;
}

.about-mission-card-v58 p,
.about-objective-card-v58 p,
.about-theme-panel-v58 p,
.sponsor-intro-v58 p,
.fees-overview-v58 p {
    color: #475569;
    line-height: 1.72;
}

.about-theme-panel-v58 {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: end;
    min-height: 24rem;
    padding: 1.4rem;
    border-radius: 2rem;
    color: white;
    background: radial-gradient(circle at 20% 15%, rgba(255,255,255,.22), transparent 32%),
        linear-gradient(135deg, #474e9c, #0f8ca8);
    box-shadow: 0 22px 56px rgba(71,78,156,.25);
}

.about-theme-icon-v58 {
    position: absolute;
    right: -1rem;
    top: -.4rem;
    color: rgba(255,255,255,.16);
    font-size: 10rem;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.08em;
}

.about-theme-panel-v58 h3 {
    position: relative;
    z-index: 1;
    margin: 0;
    font-size: 1.5rem;
    font-weight: 950;
}

.about-theme-panel-v58 p {
    position: relative;
    z-index: 1;
    color: rgba(255,255,255,.82);
}

.about-objective-grid-v58 {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(380px, 1fr);
    gap: 1.2rem;
    margin-top: 1.2rem;
}

.about-objective-card-v58,
.about-audience-card-v58,
.about-challenges-v58 {
    padding: clamp(1.25rem, 2.2vw, 2rem);
}

.about-audience-card-v58 ul,
.about-challenge-list-v58 {
    margin: 1.2rem 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: .85rem;
}

.about-audience-card-v58 li {
    display: grid;
    gap: .25rem;
    padding: 1rem;
    border-radius: 1.15rem;
    background: linear-gradient(135deg, rgba(71,78,156,.07), rgba(15,140,168,.05));
}

.about-audience-card-v58 strong {
    color: #172447;
    font-weight: 950;
}

.about-audience-card-v58 span {
    color: #64748b;
    font-size: .92rem;
    line-height: 1.45;
}

.about-challenges-v58 {
    display: grid;
    grid-template-columns: minmax(240px, .34fr) 1fr;
    gap: 1.2rem;
    margin-top: 1.2rem;
}

.about-challenge-list-v58 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
}

.about-challenge-list-v58 article {
    padding: 1rem;
    border-radius: 1.2rem;
    background: #f8fafc;
}

.about-challenge-list-v58 span {
    color: #f7710f;
    font-size: 1.75rem;
    font-weight: 950;
    letter-spacing: .12em;
    line-height: .95;
}

.about-challenge-list-v58 h3 {
    margin: .45rem 0 .35rem;
    color: #172447;
    font-weight: 950;
    font-size: clamp(1.3rem, 1.65vw, 1.62rem);
    line-height: 1.12;
}

.about-challenge-list-v58 p {
    margin: 0;
    color: #64748b;
    font-size: .88rem;
    line-height: 1.45;
}

.fees-hero-v58 {
    background-image: linear-gradient(90deg, rgba(127, 63, 164, 0.88), rgba(168, 102, 200, 0.54) 44%, rgba(168, 102, 200, 0.18) 100%),
        linear-gradient(0deg, rgba(127, 63, 164, 0.26), rgba(168, 102, 200, 0.04) 72%),
        url("../images/page-fees-v10scheme.jpg");
    background-size: cover, cover, cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 330px;
}

.fees-overview-v58,
.sponsor-intro-v58 {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.2rem;
    margin-bottom: 1.25rem;
}

.fees-sponsor-link-v58 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: .8rem 1.2rem;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #1d9db5, #57c7d6);
    font-weight: 950;
    text-decoration: none;
    box-shadow: 0 16px 34px rgba(29,157,181,.22);
}

.fees-highlight-grid-v58,
.sponsor-tier-grid-v58 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.fees-feature-v58,
.sponsor-tier-card-v58 {
    position: relative;
    overflow: hidden;
    padding: 1.25rem;
    border: 1px solid rgba(71,78,156,.12);
    border-radius: 1.6rem;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 46px rgba(15,23,42,.08);
}

.fees-feature-v58::before,
.sponsor-tier-card-v58::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: .45rem;
    background: linear-gradient(90deg, #474e9c, #f7710f);
}

.fees-feature-v58 span,
.sponsor-tier-card-v58 .tier-label-v58 {
    color: #475569;
    font-size: 1.05rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .08em;
    line-height: 1.2;
}

.fees-feature-v58 strong,
.sponsor-tier-card-v58 strong {
    display: block;
    margin-top: .7rem;
    color: #172447;
    font-size: clamp(2rem, 4vw, 3.3rem);
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.05em;
}

.fees-feature-v58 small,
.sponsor-tier-card-v58 p {
    display: block;
    margin-top: .5rem;
    color: #64748b;
    line-height: 1.45;
}

.fees-feature-v58 em {
    display: inline-flex;
    margin-top: .85rem;
    padding: .36rem .6rem;
    border-radius: 999px;
    color: #7c2d12;
    background: rgba(247,113,15,.12);
    font-size: .78rem;
    font-style: normal;
    font-weight: 900;
}

.fees-rate-board-v58,
.sponsor-matrix-v58 {
    overflow: hidden;
    margin-top: 1.2rem;
    border: 1px solid rgba(71,78,156,.12);
    border-radius: 1.75rem;
    background: white;
    box-shadow: 0 22px 56px rgba(15,23,42,.08);
}

.fees-rate-board-head-v58,
.sponsor-matrix-head-v58 {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem;
    background: linear-gradient(135deg, rgba(71,78,156,.08), rgba(247,113,15,.06));
}

.fees-rate-board-head-v58 h3,
.sponsor-matrix-head-v58 h3 {
    margin: .2rem 0 0;
    color: #172447;
    font-size: 1.5rem;
    font-weight: 950;
}

.fees-rate-board-head-v58 span {
    color: #474e9c;
    font-weight: 900;
}

.fees-rate-table-v58,
.sponsor-matrix-grid-v58 {
    display: grid;
}

.fees-row-v58,
.matrix-row-v58 {
    display: grid;
    align-items: stretch;
    border-top: 1px solid rgba(15,23,42,.08);
}

.fees-row-v58 {
    grid-template-columns: minmax(250px, 1.2fr) repeat(2, minmax(130px, .45fr));
}

.matrix-row-v58 {
    grid-template-columns: minmax(300px, 1.3fr) repeat(3, minmax(125px, .42fr));
}

.fees-row-v58 > div,
.matrix-row-v58 > div {
    padding: 1rem;
    border-left: 1px solid rgba(15,23,42,.07);
}

.fees-row-v58 > div:first-child,
.matrix-row-v58 > div:first-child {
    border-left: 0;
}

.head-v58,
.matrix-head-v58 {
    color: #fff;
    background: #172447;
    font-weight: 950;
}

.fees-row-v58:not(.head-v58) > div:nth-child(n/**/+2),
.matrix-row-v58 > div:nth-child(n/**/+2) {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.fees-row-v58 strong {
    display: block;
    color: #172447;
    font-weight: 950;
}

.fees-row-v58 span {
    display: block;
    margin-top: .2rem;
    color: #64748b;
    font-size: .84rem;
}

.fees-row-v58:not(.head-v58) > div:nth-child(n/**/+2) {
    color: #172447;
    font-size: 1.18rem;
    font-weight: 950;
}

.fees-ad-grid-v58 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
    margin-top: 1rem;
}

.fees-ad-grid-v58 article {
    padding: 1rem;
    border-radius: 1.25rem;
    background: linear-gradient(135deg, rgba(127,63,164,.08), rgba(247,113,15,.06));
}

.fees-ad-grid-v58 span,
.fees-ad-grid-v58 small,
.fees-ad-grid-v58 em {
    display: block;
}

.fees-ad-grid-v58 span {
    color: #475569;
    font-weight: 950;
}

.fees-ad-grid-v58 strong {
    display: block;
    margin-top: .35rem;
    color: #172447;
    font-size: 1.6rem;
    font-weight: 950;
}

.fees-ad-grid-v58 em {
    margin-top: .35rem;
    color: #7c2d12;
    font-size: .8rem;
    font-style: normal;
    font-weight: 900;
}

.sponsorship-hero-v58 {
    background-image: linear-gradient(90deg, rgba(29, 157, 181, 0.88), rgba(87, 199, 214, 0.54) 42%, rgba(87, 199, 214, 0.18) 100%),
        linear-gradient(0deg, rgba(29, 157, 181, 0.24), rgba(87, 199, 214, 0.04) 72%),
        url("../images/page-support-v10scheme.jpg");
    background-size: cover, cover, cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 330px;
}

.sponsor-legend-v58 {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    align-items: center;
}

.sponsor-legend-v58 span {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem .75rem;
    border-radius: 999px;
    color: #334155;
    background: rgba(255,255,255,.9);
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.2;
}

.sponsor-tier-card-v58.sponsor-v58::before {
    background: linear-gradient(90deg, #474e9c, #7f2f98);
}

.sponsor-tier-card-v58.supporter-v58::before {
    background: linear-gradient(90deg, #0f8ca8, #57c7d6);
}

.sponsor-tier-card-v58.donor-v58::before {
    background: linear-gradient(90deg, #f7710f, #ffb11d);
}

.sponsor-tier-card-v58 ul {
    display: grid;
    gap: .5rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.sponsor-tier-card-v58 li {
    position: relative;
    padding-left: 1.45rem;
    color: #475569;
    font-size: .92rem;
    line-height: 1.35;
}

.sponsor-tier-card-v58 li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #2f6f3e;
    font-weight: 950;
}

.included-v58,
.choice-v58 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 999px;
    color: white;
    font-weight: 950;
    text-decoration: none;
}

.included-v58 {
    background: #2f6f3e;
}

.choice-v58 {
    background: #c92636;
}

.special-v58 {
    display: inline-flex;
    padding: .38rem .56rem;
    border-radius: 999px;
    color: #7c2d12;
    background: rgba(247,113,15,.12);
    font-size: .78rem;
    font-weight: 950;
}

.matrix-head-v58 span {
    color: rgba(255,255,255,.75);
    font-size: .78rem;
}

.matrix-row-v58:not(.matrix-head-v58):nth-child(odd) {
    background: rgba(248,250,252,.72);
}

.matrix-row-v58 > div:first-child {
    color: #334155;
    font-weight: 850;
    line-height: 1.45;
}

@media (max-width: 980px) {

.about-mission-v58,
    .about-objective-grid-v58,
    .about-challenges-v58,
    .home-agenda-overview-card-v55 {
    grid-template-columns: 1fr;
}

.about-challenge-list-v58,
    .fees-highlight-grid-v58,
    .fees-ad-grid-v58,
    .sponsor-tier-grid-v58 {
    grid-template-columns: 1fr;
}

.fees-overview-v58,
    .sponsor-intro-v58 {
    align-items: start;
    flex-direction: column;
}

.fees-rate-table-v58,
    .sponsor-matrix-grid-v58 {
    overflow-x: auto;
}

.fees-row-v58 {
    min-width: 620px;
}

.matrix-row-v58 {
    min-width: 760px;
}


}

@media (max-width: 640px) {

.about-theme-panel-v58 {
    min-height: 18rem;
}

.about-theme-icon-v58 {
    font-size: 7rem;
}

.about-audience-card-v58 li {
    padding: .85rem;
}


}

/* v61: place agenda summary boxes inside the Daily schedule header */
.agenda-tabs-top-v51 {
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
}

.agenda-tabs-title-v61 {
    min-width: 0;
    flex: 1 1 auto;
}

.agenda-tabs-top-v51 .agenda-auto-note-v51 {
    display: none !important;
}

.agenda-stats-inline-v61 {
    flex: 0 1 auto !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.agenda-stats-inline-v61 .agenda-intro-stats-v51 {
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    gap: clamp(.4rem, .9vw, .7rem) !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.agenda-stats-inline-v61 .agenda-intro-stats-v51 > div {
    width: clamp(7rem, 10vw, 9.75rem) !important;
    min-width: 0 !important;
    max-width: 9.75rem !important;
    min-height: 0 !important;
    height: auto !important;
    padding: .62rem .58rem !important;
    border-radius: .95rem !important;
}

.agenda-stats-inline-v61 .agenda-intro-stats-v51 span {
    font-size: clamp(1.08rem, 1.6vw, 1.5rem) !important;
    line-height: 1 !important;
}

.agenda-stats-inline-v61 .agenda-intro-stats-v51 small {
    margin-top: .22rem !important;
    font-size: clamp(.54rem, .8vw, .68rem) !important;
    line-height: 1.08 !important;
    text-wrap: balance;
}

@media (max-width: 900px) {

.agenda-tabs-top-v51 {
    align-items: stretch !important;
    flex-direction: column !important;
}

.agenda-stats-inline-v61 {
    width: 100% !important;
    margin-left: 0 !important;
}

.agenda-stats-inline-v61 .agenda-intro-stats-v51 {
    width: 100% !important;
    justify-content: stretch !important;
}

.agenda-stats-inline-v61 .agenda-intro-stats-v51 > div {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
}


}

@media (max-width: 520px) {

.agenda-stats-inline-v61 .agenda-intro-stats-v51 {
    gap: .25rem !important;
}

.agenda-stats-inline-v61 .agenda-intro-stats-v51 > div {
    padding: .52rem .22rem !important;
    border-radius: .72rem !important;
}

.agenda-stats-inline-v61 .agenda-intro-stats-v51 span {
    font-size: 1.08rem !important;
}

.agenda-stats-inline-v61 .agenda-intro-stats-v51 small {
    font-size: .5rem !important;
}


}

/* v62: Sponsorship matrix header readability fix */
.sponsor-matrix-v58 .matrix-head-v58 {
    background: #172447 !important;
}

.sponsor-matrix-v58 .matrix-head-v58 > div {
    color: #ffffff !important;
    background: transparent !important;
}

.sponsor-matrix-v58 .matrix-head-v58 .matrix-benefit-head-v62 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #ffffff !important;
    font-size: .94rem !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
}

.sponsor-matrix-v58 .matrix-head-v58 .matrix-tier-head-v62 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .32rem !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.05 !important;
    color: #ffffff !important;
}

.sponsor-matrix-v58 .matrix-head-v58 .matrix-tier-head-v62 strong {
    display: block !important;
    color: #ffffff !important;
    font-size: .92rem !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.sponsor-matrix-v58 .matrix-head-v58 .matrix-tier-head-v62 span {
    display: block !important;
    margin: 0 !important;
    padding: .2rem .52rem !important;
    border-radius: 999px !important;
    color: #172447 !important;
    background: rgba(255,255,255,.9) !important;
    font-size: .8rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

@media (max-width: 980px) {

.sponsor-matrix-v58 .matrix-head-v58 .matrix-tier-head-v62 strong {
    font-size: .82rem !important;
}

.sponsor-matrix-v58 .matrix-head-v58 .matrix-tier-head-v62 span {
    font-size: .74rem !important;
}


}

/* v63: new creative designs for Important Dates and Committee */
/* Important Dates: runway/calendar design, intentionally different from Agenda, Fees, and Sponsorship */
.dates-hero-v63,
.committee-hero-v63 {
    width: min(100%, var(--site-shell-width, 96rem));
    margin: 0 auto;
    padding: 1.25rem var(--site-shell-pad, 1.25rem) 0;
    box-sizing: border-box;
}

.dates-hero-panel-v63,
.committee-hero-panel-v63 {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr);
    gap: 1.25rem;
    align-items: stretch;
    min-height: 21rem;
    padding: clamp(1.35rem, 3vw, 2.5rem);
    border-radius: 2.2rem;
    color: white;
    background: radial-gradient(circle at 12% 16%, rgba(255,255,255,.22), transparent 26%),
        radial-gradient(circle at 88% 6%, rgba(247,113,15,.25), transparent 28%),
        linear-gradient(135deg, rgba(32,116,160,.96), rgba(71,78,156,.96));
    box-shadow: 0 26px 70px rgba(15,23,42,.18);
}

.dates-hero-panel-v63::before,
.committee-hero-panel-v63::before {
    content: "";
    position: absolute;
    inset: auto -8rem -14rem auto;
    width: 30rem;
    height: 30rem;
    border-radius: 999px;
    border: 3.5rem solid rgba(255,255,255,.08);
    pointer-events: none;
}

.dates-hero-copy-v63,
.committee-hero-copy-v63 {
    position: relative;
    z-index: 1;
    align-self: center;
}

.dates-hero-copy-v63 h1,
.committee-hero-copy-v63 h1 {
    max-width: 58rem;
    margin: .45rem 0 1rem;
    font-size: clamp(2.3rem, 5vw, 5.2rem);
    line-height: .9;
    font-weight: 950;
    letter-spacing: -.065em;
}

.dates-hero-copy-v63 p,
.committee-hero-copy-v63 p {
    max-width: 44rem;
    color: rgba(255,255,255,.84);
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.7;
}

.dates-hero-badges-v63,
.committee-hero-badges-v63 {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1.2rem;
}

.dates-hero-badges-v63 span,
.committee-hero-badges-v63 span {
    display: inline-flex;
    padding: .48rem .72rem;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    color: white;
    background: rgba(255,255,255,.12);
    font-size: .8rem;
    font-weight: 900;
}

.dates-calendar-card-v63 {
    position: relative;
    z-index: 1;
    align-self: center;
    justify-self: end;
    width: min(100%, 22rem);
    padding: 1.3rem;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 1.8rem;
    background: rgba(255,255,255,.14);
    backdrop-filter: blur(14px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
}

.dates-calendar-card-v63::before {
    content: "";
    display: block;
    height: .65rem;
    margin: -.15rem -.15rem 1.1rem;
    border-radius: 999px;
    background: linear-gradient(90deg, #f7710f, #ffd26c);
}

.dates-month-v63 {
    display: block;
    color: rgba(255,255,255,.78);
    font-size: 1.1rem;
    font-weight: 950;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.dates-calendar-card-v63 strong {
    display: block;
    margin-top: .35rem;
    color: white;
    font-size: clamp(3.3rem, 7vw, 5.5rem);
    line-height: .85;
    font-weight: 950;
    letter-spacing: -.08em;
}

.dates-calendar-card-v63 small {
    display: block;
    margin-top: .9rem;
    color: rgba(255,255,255,.8);
    font-weight: 850;
}

.dates-runway-v63 {
    position: relative;
    padding: clamp(1.2rem, 2.5vw, 2rem);
    border: 1px solid rgba(32,116,160,.14);
    border-radius: 2rem;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.96));
    box-shadow: 0 24px 64px rgba(15,23,42,.08);
}

.dates-runway-header-v63 {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.4rem;
}

.dates-runway-header-v63 h2,
.dates-week-intro-v63 h2,
.committee-leadership-map-v63 h2 {
    margin: .3rem 0 0;
    color: #172447;
    font-size: clamp(1.65rem, 3vw, 3rem);
    line-height: 1.02;
    font-weight: 950;
    letter-spacing: -.045em;
}

.dates-runway-header-v63 p,
.dates-week-intro-v63 p,
.committee-leadership-map-v63 p {
    max-width: 36rem;
    color: #64748b;
    line-height: 1.65;
}

.dates-path-v63 {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .85rem;
}

.dates-path-v63::before {
    content: "";
    position: absolute;
    left: 6%;
    right: 6%;
    top: 2.6rem;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #2074a0, #474e9c, #f7710f);
}

.dates-milestone-v63 {
    position: relative;
    z-index: 1;
    min-height: 15.5rem;
    padding: .95rem;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 1.4rem;
    background: white;
    box-shadow: 0 16px 40px rgba(15,23,42,.07);
}

.dates-milestone-v63.featured-v63 {
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,247,237,.96));
    border-color: rgba(247,113,15,.22);
}

.dates-step-v63 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.1rem;
    height: 3.1rem;
    border-radius: 1rem;
    color: white;
    background: linear-gradient(135deg, #2074a0, #474e9c);
    font-weight: 950;
    box-shadow: 0 12px 24px rgba(32,116,160,.2);
}

.featured-v63 .dates-step-v63 {
    background: linear-gradient(135deg, #f7710f, #ffb11d);
}

.dates-date-v63 {
    margin-top: 1rem;
}

.dates-date-v63 strong,
.dates-date-v63 small {
    display: block;
}

.dates-date-v63 strong {
    color: #172447;
    font-size: 1.65rem;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.04em;
}

.dates-date-v63 small {
    margin-top: .2rem;
    color: #64748b;
    font-weight: 850;
}

.dates-milestone-v63 h3 {
    margin: .85rem 0 .35rem;
    color: #172447;
    font-size: clamp(1.3rem, 1.55vw, 1.62rem);
    line-height: 1.16;
    font-weight: 950;
}

.dates-milestone-v63 p {
    margin: 0;
    color: #64748b;
    font-size: .9rem;
    line-height: 1.45;
}

.dates-week-v63 {
    display: grid;
    grid-template-columns: minmax(240px, .34fr) 1fr;
    gap: 1rem;
    margin-top: 1.1rem;
}

.dates-week-intro-v63 {
    padding: 1.3rem;
    border-radius: 1.6rem;
    color: white;
    background: linear-gradient(135deg, #172447, #474e9c);
}

.dates-week-intro-v63 h2,
.dates-week-intro-v63 p {
    color: white;
}

.dates-week-intro-v63 p {
    color: rgba(255,255,255,.78);
}

.dates-day-pass-grid-v63 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.dates-day-pass-grid-v63 article {
    position: relative;
    overflow: hidden;
    min-height: 11rem;
    padding: 1rem;
    border: 1px dashed rgba(71,78,156,.22);
    border-radius: 1.4rem;
    background: white;
    box-shadow: 0 16px 42px rgba(15,23,42,.06);
}

.dates-day-pass-grid-v63 article::after {
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    height: .35rem;
    border-radius: 999px;
    background: linear-gradient(90deg, #2074a0, #f7710f);
}

.dates-day-pass-grid-v63 span {
    color: #474e9c;
    font-size: .95rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1.2;
}

.dates-day-pass-grid-v63 strong {
    display: block;
    margin-top: .8rem;
    color: #172447;
    font-size: clamp(1.58rem, 2.2vw, 2rem);
    font-weight: 950;
    line-height: 1.05;
}

.dates-day-pass-grid-v63 p {
    color: #64748b;
    line-height: 1.45;
}

.dates-note-v63 {
    display: flex;
    gap: .8rem;
    align-items: flex-start;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 1.35rem;
    background: rgba(32,116,160,.07);
}

.dates-note-v63 span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    border-radius: 999px;
    color: white;
    background: #2074a0;
    font-weight: 950;
}

.dates-note-v63 p {
    margin: 0;
    color: #475569;
    line-height: 1.55;
}

/* Committee: constellation/role-map design, different from other pages */
.committee-hero-panel-v63 {
    background: radial-gradient(circle at 10% 16%, rgba(255,255,255,.22), transparent 26%),
        radial-gradient(circle at 86% 16%, rgba(255,255,255,.12), transparent 30%),
        linear-gradient(135deg, #a46d33, #474e9c);
}

.committee-orbit-v63 {
    position: relative;
    z-index: 1;
    align-self: center;
    justify-self: center;
    width: min(100%, 19rem);
    aspect-ratio: 1;
    border: 2px solid rgba(255,255,255,.24);
    border-radius: 999px;
}

.committee-orbit-v63::before,
.committee-orbit-v63::after {
    content: "";
    position: absolute;
    inset: 13%;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
}

.committee-orbit-v63::after {
    inset: 28%;
}

.committee-orbit-v63 strong {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 2.3rem;
    font-weight: 950;
    letter-spacing: -.04em;
}

.orbit-node-v63 {
    position: absolute;
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 999px;
    background: #f7710f;
    box-shadow: 0 0 0 .55rem rgba(255,255,255,.1);
}

.node-a-v63 {
    left: 16%;
    top: 18%;
    background: #57c7d6;
}

.node-b-v63 {
    right: 10%;
    top: 34%;
    background: #ffb11d;
}

.node-c-v63 {
    left: 30%;
    bottom: 8%;
    background: #94c53e;
}

.node-d-v63 {
    right: 30%;
    bottom: 20%;
    background: #e42128;
}

.committee-leadership-map-v63 {
    display: grid;
    margin-bottom: 1rem;
}

.committee-leadership-map-v63 > div,
.committee-role-nav-v63,
.committee-stats-ribbon-v63,
.committee-groups-shell-v63 {
    border: 1px solid rgba(164,109,51,.15);
    border-radius: 1.75rem;
    background: rgba(255,255,255,.95);
    box-shadow: 0 18px 48px rgba(15,23,42,.07);
}

.committee-leadership-map-v63 > div {
    padding: 1.3rem;
}

.committee-role-nav-v63 {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    gap: .6rem;
    padding: 1rem;
}

.committee-role-nav-v63 a {
    display: inline-flex;
    align-items: center;
    min-height: 3.25rem;
    padding: .72rem 1rem;
    border-radius: 999px;
    color: #633b18;
    background: rgba(164,109,51,.1);
    font-size: clamp(1.18rem, 1.75vw, 1.5rem);
    font-weight: 950;
    text-decoration: none;
    line-height: 1.35;
    text-align: center;
    white-space: normal;
}

.committee-role-nav-v63 a:hover {
    color: white;
    background: #a46d33;
}

.committee-stats-ribbon-v63 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
    margin-bottom: 1rem;
    padding: .9rem;
}

.committee-stats-ribbon-v63 div {
    padding: .9rem;
    border-radius: 1.15rem;
    color: white;
    background: linear-gradient(135deg, #a46d33, #f7710f);
}

.committee-stats-ribbon-v63 strong {
    display: block;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: 950;
}

.committee-stats-ribbon-v63 span {
    display: block;
    margin-top: .25rem;
    color: rgba(255,255,255,.8);
    font-size: .84rem;
    font-weight: 850;
}

.committee-groups-shell-v63 {
    padding: clamp(1rem, 2vw, 1.4rem);
}

.committee-groups-shell-v63 .committee-group {
    position: relative;
    margin: 0;
    padding: 1rem 0 1.25rem;
    border-bottom: 1px solid rgba(15,23,42,.08);
    scroll-margin-top: 7rem;
}

.committee-groups-shell-v63 .committee-group:last-child {
    border-bottom: 0;
}

.committee-groups-shell-v63 .committee-group-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 0 0 .2rem;
}

.committee-groups-shell-v63 .committee-group-header .kicker {
    color: #a46d33;
}

.committee-groups-shell-v63 .committee-group-header h2 {
    margin: .15rem 0 0;
    color: #172447;
    font-size: clamp(1.45rem, 2.6vw, 2.5rem);
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: -.04em;
}

.committee-groups-shell-v63 .committee-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .95rem;
}

.committee-groups-shell-v63 .committee-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(164,109,51,.14);
    border-radius: 1.45rem;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,245,.9));
    box-shadow: 0 14px 38px rgba(15,23,42,.07);
    transition: transform .2s ease, box-shadow .2s ease;
}

.committee-groups-shell-v63 .committee-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 48px rgba(15,23,42,.11);
}

.committee-groups-shell-v63 .committee-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: .38rem;
    background: linear-gradient(90deg, #a46d33, #f7710f, #474e9c);
}

.committee-groups-shell-v63 .committee-card-body {
    padding: .95rem 1rem 1.05rem;
}

.committee-groups-shell-v63 .committee-role {
    margin: 0 0 .35rem;
    color: #a46d33;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.committee-groups-shell-v63 .committee-card h3 {
    margin: 0;
    color: #172447;
    font-size: clamp(1.18rem, 1.4vw, 1.42rem);
    line-height: 1.12;
    font-weight: 950;
}

.committee-groups-shell-v63 .committee-inst {
    margin: .45rem 0 0;
    color: #64748b;
    font-size: .88rem;
    line-height: 1.35;
}

@media (max-width: 1120px) {

.dates-path-v63 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dates-path-v63::before {
    display: none;
}

.committee-groups-shell-v63 .committee-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}


}

@media (max-width: 900px) {

.dates-hero-panel-v63,
    .committee-hero-panel-v63,
    .dates-runway-header-v63,
    .dates-week-v63,
    .committee-leadership-map-v63 {
    grid-template-columns: 1fr;
}

.dates-runway-header-v63 {
    display: grid;
}

.dates-calendar-card-v63 {
    justify-self: stretch;
    width: 100%;
}

.dates-day-pass-grid-v63 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.committee-orbit-v63 {
    width: min(100%, 14rem);
}

.committee-groups-shell-v63 .committee-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


}

@media (max-width: 640px) {

.dates-hero-v63,
    .committee-hero-v63 {
    padding-left: 1rem;
    padding-right: 1rem;
}

.dates-hero-panel-v63,
    .committee-hero-panel-v63 {
    min-height: 0;
    border-radius: 1.55rem;
    padding: 1rem;
}

.dates-path-v63,
    .dates-day-pass-grid-v63,
    .committee-stats-ribbon-v63,
    .committee-groups-shell-v63 .committee-grid {
    grid-template-columns: 1fr;
}

.dates-milestone-v63 {
    min-height: 0;
}

.committee-role-nav-v63 {
    gap: .4rem;
}

.committee-role-nav-v63 a {
    min-height: 3.25rem;
    font-size: clamp(1.18rem, 1.75vw, 1.5rem);
    padding: .72rem 1rem;
    line-height: 1.35;
    text-align: center;
    white-space: normal;
}

.committee-groups-shell-v63 {
    padding: .75rem;
    border-radius: 1.3rem;
}

.committee-groups-shell-v63 .committee-group-header {
    align-items: start;
    flex-direction: column;
}


}

/* v64: restored v55 page banners for Important Dates, Fees, Sponsorship, and Committee */
body[data-page="dates"] .page-banner,
body[data-page="fees"] .page-banner,
body[data-page="sponsorship"] .page-banner,
body[data-page="committee"] .page-banner {
    min-height: 330px;
}

/* v65: restore the v63 top summary boxes below the restored v55 banners */
.restored-top-box-v65 {
    margin-top: 0 !important;
    padding-top: 1.25rem !important;
    padding-bottom: 0 !important;
}

.restored-top-box-v65 + .dates-page-v63,
.restored-top-box-v65 + .committee-page-v63 {
    padding-top: 1.25rem !important;
}

@media (max-width: 640px) {

.restored-top-box-v65 {
    padding-top: 1rem !important;
}

.restored-top-box-v65 + .dates-page-v63,
    .restored-top-box-v65 + .committee-page-v63 {
    padding-top: 1rem !important;
}


}

/* v66: creative redesign for Registration, Venue, and Contact while preserving original page banners */
/* Registration: pathway/ticket layout */
.registration-flow-header-v66,
.venue-orientation-grid-v66,
.contact-routing-header-v66 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr);
    gap: 1.25rem;
    align-items: stretch;
    margin-bottom: 1.1rem;
}

.registration-flow-header-v66 > div,
.venue-address-feature-v66,
.contact-routing-header-v66 > div:first-child {
    position: relative;
    overflow: hidden;
    padding: clamp(1.35rem, 2.5vw, 2.2rem);
    border: 1px solid rgba(71,78,156,.12);
    border-radius: 2rem;
    background: radial-gradient(circle at 5% 10%, rgba(15,140,168,.09), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.97), rgba(248,250,252,.96));
    box-shadow: 0 22px 58px rgba(15,23,42,.08);
}

.registration-flow-header-v66 h2,
.venue-address-feature-v66 h2,
.contact-routing-header-v66 h2 {
    margin: .35rem 0 .8rem;
    color: #172447;
    font-size: clamp(1.8rem, 3.2vw, 3.25rem);
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.05em;
}

.registration-flow-header-v66 p,
.venue-address-feature-v66 p,
.contact-routing-header-v66 p {
    color: #475569;
    line-height: 1.7;
}

.registration-rate-ticket-v66 {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 17rem;
    padding: 1.35rem;
    border-radius: 2rem;
    color: white;
    background: radial-gradient(circle at 18% 12%, rgba(255,255,255,.22), transparent 32%),
        linear-gradient(135deg, #474e9c, #2b67b6);
    box-shadow: 0 24px 56px rgba(43,103,182,.24);
}

.registration-rate-ticket-v66::before,
.registration-rate-ticket-v66::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: #f8fafc;
    transform: translateY(-50%);
}

.registration-rate-ticket-v66::before {
    left: -1rem;
}

.registration-rate-ticket-v66::after {
    right: -1rem;
}

.registration-rate-ticket-v66 span,
.registration-rate-ticket-v66 small,
.registration-rate-ticket-v66 em {
    color: rgba(255,255,255,.78);
    font-weight: 850;
    font-style: normal;
}

.registration-rate-ticket-v66 strong {
    display: block;
    margin: .45rem 0 .25rem;
    font-size: clamp(3.2rem, 6vw, 5rem);
    line-height: .88;
    font-weight: 950;
    letter-spacing: -.08em;
}

.registration-journey-v66 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .9rem;
    margin-bottom: 1.1rem;
}

.registration-journey-v66 article {
    position: relative;
    padding: 1.1rem;
    border-radius: 1.45rem;
    background: white;
    border: 1px solid rgba(43,103,182,.12);
    box-shadow: 0 16px 42px rgba(15,23,42,.07);
}

.journey-number-v66 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.85rem;
    height: 2.85rem;
    border-radius: 1rem;
    color: white;
    background: linear-gradient(135deg, #2b67b6, #69a9e0);
    font-weight: 950;
}

.registration-journey-v66 h3,
.registration-category-grid-v66 h3,
.venue-board-items-v66 h4,
.contact-route-card-v66 h3 {
    margin: .85rem 0 .4rem;
    color: #172447;
    font-size: clamp(1.55rem, 2vw, 1.9rem);
    font-weight: 950;
    line-height: 1.14;
}

.registration-journey-v66 p,
.registration-category-grid-v66 p,
.venue-board-items-v66 p,
.contact-route-card-v66 p {
    color: #64748b;
    line-height: 1.62;
    font-size: 1.08rem;
}

.registration-action-panel-v66 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.1rem;
    padding: 1rem;
    border-radius: 1.45rem;
    background: linear-gradient(135deg, rgba(43,103,182,.08), rgba(247,113,15,.06));
}

.registration-action-copy-v66 h3 {
    margin: 0 0 .2rem;
    color: #172447;
    font-size: clamp(1.38rem, 1.8vw, 1.72rem);
    font-weight: 950;
    line-height: 1.14;
}

.registration-action-copy-v66 p {
    margin: 0;
    color: #64748b;
    line-height: 1.45;
}

.registration-action-buttons-v66 {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.registration-category-grid-v66 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .9rem;
}

.registration-category-grid-v66 article {
    padding: 1rem;
    border-radius: 1.35rem;
    background: #fff;
    border: 1px solid rgba(43,103,182,.12);
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
}

.registration-category-grid-v66 span {
    font-size: 1.7rem;
}

/* Venue: orientation board and travel planning strip */
.venue-location-card-v66 {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: end;
    min-height: 18rem;
    padding: 1.35rem;
    border-radius: 2rem;
    color: white;
    background: linear-gradient(135deg, rgba(47,133,170,.94), rgba(97,184,210,.9)),
        radial-gradient(circle at 14% 12%, rgba(255,255,255,.2), transparent 28%);
    box-shadow: 0 24px 56px rgba(47,133,170,.25);
}

.venue-location-card-v66::before {
    content: "";
    position: absolute;
    right: -5rem;
    top: -4rem;
    width: 16rem;
    height: 16rem;
    border: 2.5rem solid rgba(255,255,255,.1);
    border-radius: 999px;
}

.venue-location-mark-v66 {
    display: inline-flex;
    width: fit-content;
    padding: .45rem .7rem;
    border-radius: 999px;
    color: white;
    background: rgba(255,255,255,.15);
    font-size: .82rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.venue-location-card-v66 strong {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: .55rem;
    font-size: clamp(2.5rem, 5vw, 4.3rem);
    line-height: .9;
    font-weight: 950;
    letter-spacing: -.065em;
}

.venue-location-card-v66 p {
    position: relative;
    z-index: 1;
    color: rgba(255,255,255,.78);
    font-weight: 850;
}

.venue-address-line-v66 {
    display: flex;
    gap: .9rem;
    align-items: flex-start;
    margin-top: 1.1rem;
    padding: 1rem;
    border-radius: 1.3rem;
    background: rgba(47,133,170,.08);
}

.venue-address-line-v66 > span:not(.venue-hotel-icon-v89) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    flex: 0 0 2.65rem;
    border-radius: .95rem;
    background: rgba(247,113,15,.14);
}

.venue-address-line-v66 strong {
    color: #172447;
    font-size: clamp(1.45rem, 1.9vw, 1.9rem);
    line-height: 1.08;
}

.venue-address-line-v66 p {
margin: .35rem 0 0;
    color: #475569;
    font-size: clamp(1.12rem, 1.35vw, 1.28rem);
    line-height: 1.45;
}

.venue-planning-board-v66 {
    display: grid;
    grid-template-columns: minmax(240px, .34fr) 1fr;
    gap: 1rem;
    margin-top: 1.1rem;
}

.venue-board-intro-v66,
.venue-board-items-v66 article,
.venue-info-strip-v66 {
    border: 1px solid rgba(47,133,170,.13);
    border-radius: 1.55rem;
    background: white;
    box-shadow: 0 16px 42px rgba(15,23,42,.06);
}

.venue-board-intro-v66 {
    padding: 1.2rem;
    background: linear-gradient(135deg, rgba(47,133,170,.1), rgba(247,113,15,.06));
}

.venue-board-intro-v66 h3 {
    margin: .35rem 0 .5rem;
    color: #172447;
    font-size: 1.45rem;
    font-weight: 950;
    line-height: 1.05;
}

.venue-board-intro-v66 p {
    color: #64748b;
    line-height: 1.55;
}

.venue-board-items-v66 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.venue-board-items-v66 article {
    padding: 1rem;
}

.venue-board-items-v66 span {
    color: #2f85aa;
    font-size: .95rem;
    font-weight: 950;
    letter-spacing: .14em;
    line-height: 1.2;
}

.venue-info-strip-v66 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
    margin-top: 1.1rem;
    padding: .85rem;
    background: #f8fafc;
}

.venue-info-strip-v66 div {
    padding: .9rem;
    border-radius: 1rem;
    background: white;
}

.venue-info-strip-v66 strong,
.venue-info-strip-v66 span {
    display: block;
}

.venue-info-strip-v66 strong {
    color: #172447;
    font-weight: 950;
    font-size: clamp(1.32rem, 1.7vw, 1.7rem);
    line-height: 1.1;
}

.venue-info-strip-v66 span {
    margin-top: .25rem;
    color: #64748b;
    font-size: 1.05rem;
    line-height: 1.2;
}

/* Contact: routing hub with unique emblem design */
.contact-routing-header-v66 {
    grid-template-columns: minmax(0, 1fr) minmax(220px, .32fr);
}

.contact-routing-emblem-v66 {
    position: relative;
    min-height: 17rem;
    border-radius: 2rem;
    background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.18), transparent 32%),
        linear-gradient(135deg, #3b72c6, #77afeb);
    box-shadow: 0 24px 56px rgba(59,114,198,.23);
}

.contact-routing-emblem-v66 strong {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 5rem;
    line-height: 1;
    font-weight: 950;
}

.contact-routing-emblem-v66 span {
    position: absolute;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 999px;
    background: #f7710f;
    box-shadow: 0 0 0 .5rem rgba(255,255,255,.14);
}

.contact-routing-emblem-v66 span:nth-child(1) {
    left: 20%;
    top: 24%;
}

.contact-routing-emblem-v66 span:nth-child(2) {
    right: 22%;
    top: 34%;
    background: #57c7d6;
}

.contact-routing-emblem-v66 span:nth-child(3) {
    left: 34%;
    bottom: 22%;
    background: #94c53e;
}

.contact-route-grid-v66 {
    display: grid;
    grid-template-columns: 1.05fr 1fr 1fr;
    gap: 1rem;
}

.contact-route-card-v66 {
    position: relative;
    overflow: hidden;
    padding: 1.15rem;
    border: 1px solid rgba(59,114,198,.13);
    border-radius: 1.6rem;
    background: white;
    box-shadow: 0 16px 42px rgba(15,23,42,.07);
}

.contact-route-card-v66::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: .42rem;
    background: linear-gradient(90deg, #3b72c6, #77afeb);
}

.contact-route-card-v66.primary-v66 {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.94));
}

.contact-route-icon-v66 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-top: .35rem;
    border-radius: 1rem;
    background: rgba(59,114,198,.1);
    font-size: 1.4rem;
}

.contact-route-card-v66 small {
    display: block;
    margin-top: .75rem;
    color: #3b72c6;
    font-size: .75rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.contact-route-card-v66 em {
    padding: .75rem;
    border-radius: 1rem;
    color: #334155;
    background: #f8fafc;
    font-size: 1.02rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1.55;
}

.contact-decision-strip-v66 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1rem;
    padding: .85rem;
    border-radius: 1.5rem;
    background: linear-gradient(135deg, rgba(59,114,198,.08), rgba(247,113,15,.05));
}

.contact-decision-strip-v66 article {
    padding: .9rem;
    border-radius: 1rem;
    background: white;
}

.contact-decision-strip-v66 span,
.contact-decision-strip-v66 a {
    display: block;
}

.contact-decision-strip-v66 span {
    color: #64748b;
    font-size: 1.18rem;
    font-weight: 850;
    line-height: 1.2;
}

.contact-decision-strip-v66 a {
    margin-top: .28rem;
    color: #3b72c6;
    font-weight: 950;
    text-decoration: none;
}

@media (max-width: 980px) {

.registration-flow-header-v66,
    .venue-orientation-grid-v66,
    .contact-routing-header-v66,
    .venue-planning-board-v66,
    .registration-journey-v66,
    .registration-category-grid-v66,
    .venue-board-items-v66,
    .venue-info-strip-v66,
    .contact-route-grid-v66,
    .contact-decision-strip-v66 {
    grid-template-columns: 1fr;
}

.registration-action-panel-v66 {
    align-items: stretch;
    flex-direction: column;
}


}

@media (max-width: 640px) {

.registration-rate-ticket-v66,
    .venue-location-card-v66,
    .contact-routing-emblem-v66 {
    min-height: 13rem;
    border-radius: 1.5rem;
}

.registration-flow-header-v66 > div,
    .venue-address-feature-v66,
    .contact-routing-header-v66 > div:first-child {
    border-radius: 1.5rem;
    padding: 1rem;
}

.venue-address-line-v66 {
    flex-direction: column;
}


}

/* v68: Abstracts page, integrated guidelines and categories */
.abstracts-command-panel-v68 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr);
    gap: 1.25rem;
    align-items: stretch;
    margin-bottom: 1.05rem;
}

.abstracts-command-copy-v68,
.abstracts-limit-card-v68,
.abstracts-guidelines-v68,
.abstracts-review-card-v68,
.abstracts-etiquette-v68,
.abstracts-categories-v68 {
    border: 1px solid rgba(127,47,152,.13);
    border-radius: 2rem;
    background: rgba(255,255,255,.96);
    box-shadow: 0 22px 58px rgba(15,23,42,.08);
}

.abstracts-command-copy-v68 {
    position: relative;
    overflow: hidden;
    padding: clamp(1.35rem, 2.7vw, 2.25rem);
}

.abstracts-command-copy-v68::after {
    content: "";
    position: absolute;
    right: -8rem;
    bottom: -10rem;
    width: 22rem;
    height: 22rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(127,47,152,.13), transparent 62%);
    pointer-events: none;
}

.abstracts-command-copy-v68 h2,
.abstracts-section-heading-v68 h2,
.abstracts-review-card-v68 h2,
.abstracts-etiquette-v68 h2 {
    margin: .35rem 0 .8rem;
    color: #172447;
    font-size: clamp(1.8rem, 3.2vw, 3.25rem);
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.05em;
}

.abstracts-command-copy-v68 p,
.abstracts-section-heading-v68 p,
.abstracts-review-card-v68 p,
.abstracts-etiquette-v68 li,
.abstract-category-grid-v68 p,
.abstracts-format-grid-v68 p,
.abstracts-score-grid-v68 p {
    color: #475569;
    line-height: 1.65;
}

.abstracts-action-row-v68 {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.25rem;
}

.abstracts-limit-card-v68 {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: end;
    min-height: 19rem;
    padding: 1.35rem;
    color: white;
    background: radial-gradient(circle at 20% 15%, rgba(255,255,255,.2), transparent 31%),
        linear-gradient(135deg, #7f2f98, #474e9c);
}

.abstracts-limit-card-v68::before {
    content: "";
    position: absolute;
    inset: auto -5rem -6rem auto;
    width: 17rem;
    height: 17rem;
    border: 2.25rem solid rgba(255,255,255,.1);
    border-radius: 999px;
}

.abstracts-limit-card-v68 span,
.abstracts-limit-card-v68 small,
.abstracts-limit-card-v68 em {
    position: relative;
    z-index: 1;
    color: rgba(255,255,255,.82);
    font-weight: 850;
    font-style: normal;
}

.abstracts-limit-card-v68 strong {
    position: relative;
    z-index: 1;
    display: block;
    margin: .25rem 0;
    color: white;
    font-size: clamp(4rem, 9vw, 7rem);
    line-height: .85;
    font-weight: 950;
    letter-spacing: -.08em;
}

.abstracts-limit-card-v68 em {
    display: block;
    margin-top: .9rem;
    padding: .75rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.13);
    line-height: 1.4;
}

.abstracts-quick-rules-v68 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
    margin-bottom: 1.05rem;
}

.abstracts-quick-rules-v68 article {
    padding: 1rem;
    border: 1px solid rgba(127,47,152,.12);
    border-radius: 1.35rem;
    background: white;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
}

.abstracts-quick-rules-v68 span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    height: 2.45rem;
    border-radius: .85rem;
    color: white;
    background: linear-gradient(135deg, #7f2f98, #f7710f);
    font-size: .82rem;
    font-weight: 950;
}

.abstract-category-grid-v68 span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 1.25rem;
    color: white;
    background: linear-gradient(135deg, #7f2f98, #f7710f);
    font-size: 2rem;
    line-height: 1;
    font-weight: 950;
}

.abstracts-quick-rules-v68 h3,
.abstract-category-grid-v68 h3,
.abstracts-score-grid-v68 span,
.abstracts-format-grid-v68 span {
    margin: .75rem 0 .35rem;
    color: #172447;
    font-size: clamp(1.1rem, 1.35vw, 1.3rem);
    font-weight: 950;
    line-height: 1.18;
}

.abstracts-quick-rules-v68 p {
    margin: 0;
    color: #64748b;
    line-height: 1.45;
    font-size: .92rem;
}

.abstracts-guidelines-v68,
.abstracts-categories-v68 {
    padding: clamp(1rem, 2vw, 1.35rem);
    margin-bottom: 1.05rem;
}

.abstracts-section-heading-v68 {
    display: grid;
    grid-template-columns: minmax(260px, .42fr) 1fr;
    gap: 1rem;
    align-items: end;
    margin-bottom: 1rem;
}

.abstracts-section-heading-v68 h2 {
    margin-bottom: 0;
}

.abstracts-section-heading-v68 p {
    margin: 0;
}

.abstracts-format-grid-v68 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.abstracts-format-grid-v68 article {
    position: relative;
    min-height: 12rem;
    padding: 1rem;
    border-radius: 1.2rem;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,245,255,.72));
    border: 1px solid rgba(127,47,152,.11);
}

.abstracts-format-grid-v68 span {
    display: inline-flex;
    margin: 0 0 .55rem;
    padding: .32rem .58rem;
    border-radius: 999px;
    color: #7f2f98;
    background: rgba(127,47,152,.1);
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.2;
}

.abstracts-review-v68 {
    display: grid;
    grid-template-columns: minmax(260px, .36fr) 1fr;
    gap: 1rem;
    margin-bottom: 1.05rem;
}

.abstracts-review-card-v68,
.abstracts-etiquette-v68 {
    padding: clamp(1.1rem, 2.2vw, 1.75rem);
}

.abstracts-score-grid-v68 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.abstracts-score-grid-v68 article {
    padding: 1rem;
    border-radius: 1.2rem;
    background: white;
    border: 1px solid rgba(71,78,156,.11);
    box-shadow: 0 14px 32px rgba(15,23,42,.05);
}

.abstracts-score-grid-v68 span {
    display: block;
    margin: 0 0 .35rem;
}

.abstracts-etiquette-v68 {
    display: grid;
    grid-template-columns: minmax(240px, .34fr) 1fr;
    gap: 1rem;
    margin-bottom: 1.05rem;
}

.abstracts-etiquette-v68 ul {
    display: grid;
    gap: .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.abstracts-etiquette-v68 li {
    position: relative;
    padding: .82rem .9rem .82rem 2.35rem;
    border-radius: 1rem;
    background: #f8fafc;
}

.abstracts-etiquette-v68 li::before {
    content: "✓";
    position: absolute;
    left: .85rem;
    top: .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 999px;
    color: white;
    background: #7f2f98;
    font-size: .72rem;
    font-weight: 950;
}

.abstracts-etiquette-v68 strong {
    color: #172447;
}

.abstract-category-grid-v68 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.abstract-category-grid-v68 article {
    position: relative;
    overflow: hidden;
    padding: 1rem;
    border-radius: 1.35rem;
    background: white;
    border: 1px solid rgba(127,47,152,.11);
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
}

.abstract-category-grid-v68 article:nth-child(4n + 2) span {
    background: linear-gradient(135deg, #474e9c, #57c7d6);
}

.abstract-category-grid-v68 article:nth-child(4n + 3) span {
    background: linear-gradient(135deg, #0f8ca8, #94c53e);
}

.abstract-category-grid-v68 article:nth-child(4n + 4) span {
    background: linear-gradient(135deg, #f7710f, #ffb11d);
}

.abstract-category-grid-v68 h3 {
    margin-top: .85rem;
}

@media (max-width: 1100px) {

.abstracts-quick-rules-v68,
    .abstracts-format-grid-v68 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.abstracts-review-v68,
    .abstracts-etiquette-v68,
    .abstracts-section-heading-v68 {
    grid-template-columns: 1fr;
}


}

@media (max-width: 760px) {

.abstracts-command-panel-v68,
    .abstracts-score-grid-v68,
    .abstract-category-grid-v68 {
    grid-template-columns: 1fr;
}

.abstracts-limit-card-v68 {
    min-height: 14rem;
}


}

@media (max-width: 520px) {

.abstracts-quick-rules-v68,
    .abstracts-format-grid-v68 {
    grid-template-columns: 1fr;
}

.abstracts-action-row-v68 a {
    width: 100%;
    justify-content: center;
}


}

/* v69: numbered and indented abstract subcategory lists */
.abstract-subcategory-list-v69 {
    list-style: none;
    counter-reset: abstract-subcategory;
    display: grid;
    gap: .42rem;
    margin: .8rem 0 0 1.15rem;
    padding: 0 0 0 .35rem;
}

.abstract-subcategory-list-v69 li {
    counter-increment: abstract-subcategory;
    position: relative;
    padding-left: 3rem;
    color: #475569;
    font-size: 1.08rem;
    line-height: 1.5;
}

.abstract-subcategory-list-v69 li::before {
    content: counter(abstract-subcategory, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: .02rem;
    width: 2.25rem;
    color: #7f2f98;
    font-size: 1rem;
    font-weight: 950;
    letter-spacing: .04em;
}

.abstract-category-grid-v68 article:nth-child(4n + 2) .abstract-subcategory-list-v69 li::before {
    color: #474e9c;
}

.abstract-category-grid-v68 article:nth-child(4n + 3) .abstract-subcategory-list-v69 li::before {
    color: #0f8ca8;
}

.abstract-category-grid-v68 article:nth-child(4n + 4) .abstract-subcategory-list-v69 li::before {
    color: #f7710f;
}

@media (max-width: 520px) {

.abstract-subcategory-list-v69 {
    margin-left: .65rem;
}

.abstract-subcategory-list-v69 li {
    padding-left: 3rem;
    font-size: 1.08rem;
}


}

/* v70: restructure committee page into grouped tree sections */
.committee-tree-section-v70 {
    padding-top: 1.15rem !important;
}

.committee-tree-v70 {
    position: relative;
    overflow: hidden;
    padding: 1rem;
    border: 1px solid rgba(164,109,51,.12);
    border-radius: 1.55rem;
    background: radial-gradient(circle at top center, rgba(247,113,15,.08), transparent 22%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,245,.92));
}

.committee-tree-root-v70 {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    margin: 0 auto 2.4rem;
}

.committee-tree-root-v70::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    width: 2px;
    height: 1.6rem;
    background: linear-gradient(180deg, rgba(164,109,51,.85), rgba(164,109,51,.25));
    transform: translateX(-50%);
}

.committee-card-featured-v70 {
    width: min(100%, 22rem);
    box-shadow: 0 24px 56px rgba(23,36,71,.12);
}

.committee-card-featured-v70::after {
    content: "";
    position: absolute;
    inset: auto auto .85rem .85rem;
    width: 4rem;
    height: 4rem;
    border-radius: 1rem;
    background: radial-gradient(circle, rgba(247,113,15,.18), transparent 70%);
    pointer-events: none;
}

.committee-tree-branch-v70 {
    position: relative;
    display: grid;
    gap: .95rem;
}

.committee-tree-branch-v70::before {
    content: "";
    position: absolute;
    top: -1.15rem;
    left: 10%;
    right: 10%;
    height: 2px;
    background: linear-gradient(90deg, rgba(164,109,51,0), rgba(164,109,51,.85), rgba(164,109,51,0));
}

.committee-tree-branch-v70 .committee-card::after {
    content: "";
    position: absolute;
    top: -1rem;
    left: 50%;
    width: 2px;
    height: 1rem;
    background: rgba(164,109,51,.55);
    transform: translateX(-50%);
}

.committee-tree-branch-planning-v70 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.committee-tree-branch-abstract-v70 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.committee-secondary-row-v70 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.committee-group-compact-v70 {
    margin: 0 !important;
    padding-top: 1.15rem !important;
    border-bottom: 0 !important;
}

.committee-group-compact-v70 .committee-grid {
    grid-template-columns: 1fr !important;
}

.committee-group-compact-v70 .committee-card {
    max-width: 100%;
}

@media (max-width: 1120px) {

.committee-tree-branch-planning-v70 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.committee-tree-branch-abstract-v70 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.committee-secondary-row-v70 {
    grid-template-columns: 1fr;
}


}

@media (max-width: 700px) {

.committee-tree-v70 {
    padding: .85rem;
}

.committee-tree-root-v70 {
    margin-bottom: 1.6rem;
}

.committee-tree-root-v70::after,
    .committee-tree-branch-v70::before,
    .committee-tree-branch-v70 .committee-card::after {
    display: none;
}

.committee-tree-branch-planning-v70,
    .committee-tree-branch-abstract-v70 {
    grid-template-columns: 1fr;
}

.committee-card-featured-v70 {
    width: 100%;
}


}

/* v71: refined committee tree layout with vertical group labels and cleaner connectors */
.committee-composite-v71 {
    padding-top: 1.15rem !important;
}

.committee-composite-layout-v71 {
    display: grid;
    grid-template-columns: 4.8rem minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}

.committee-composite-rail-v71 {
    display: grid;
    grid-template-rows: 13.75rem 1fr;
    gap: 1rem;
    align-items: stretch;
}

.committee-rail-label-v71 {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1.35rem;
    border: 1px solid rgba(164,109,51,.16);
    background: linear-gradient(180deg, rgba(247,113,15,.08), rgba(71,78,156,.08));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
    overflow: hidden;
}

.committee-rail-label-v71 span {
    display: inline-block;
    color: #172447;
    font-size: .86rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-align: center;
}

.committee-composite-content-v71 {
    min-width: 0;
}

.committee-tree-v71 {
    position: relative;
    overflow: hidden;
    padding: 1rem;
    border: 1px solid rgba(164,109,51,.12);
    border-radius: 1.55rem;
    background: radial-gradient(circle at top center, rgba(247,113,15,.08), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,245,.92));
}

.committee-tree-root-v71 {
    position: relative;
    display: flex;
    justify-content: center;
    margin: 0 auto 2.5rem;
    z-index: 2;
}

.committee-tree-root-v71::after {
    content: "";
    position: absolute;
    left: 50%;
    top: calc(100% + .1rem);
    width: 3px;
    height: 1.55rem;
    background: linear-gradient(180deg, #a46d33, rgba(164,109,51,.18));
    border-radius: 999px;
    transform: translateX(-50%);
}

.committee-tree-root-v71 .committee-card-featured-v70 {
    width: min(100%, 22rem);
    position: relative;
}

.committee-tree-branch-v71 {
    position: relative;
    display: grid;
    gap: .95rem;
    padding-top: 1.1rem;
}

.committee-tree-branch-v71::before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    top: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(164,109,51,.18), #a46d33, rgba(164,109,51,.18));
    box-shadow: 0 0 0 6px rgba(164,109,51,.04);
}

.committee-tree-branch-v71 .committee-card {
    position: relative;
}

.committee-tree-branch-v71 .committee-card::after {
    content: "";
    position: absolute;
    left: 50%;
    top: -1.15rem;
    width: 3px;
    height: 1.15rem;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(164,109,51,.95), rgba(164,109,51,.32));
    transform: translateX(-50%);
}

.committee-tree-branch-planning-v71 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.committee-tree-branch-abstract-v71 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.committee-group-compact-v70 .committee-group-header h2 {
    font-size: clamp(1.4rem, 2vw, 2rem);
}

.committee-group-compact-v70 .committee-grid {
    max-width: none;
}

@media (max-width: 1120px) {

.committee-composite-layout-v71 {
    grid-template-columns: 4.2rem minmax(0, 1fr);
}

.committee-tree-branch-planning-v71,
    .committee-tree-branch-abstract-v71 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


}

@media (max-width: 760px) {

.committee-composite-layout-v71 {
    grid-template-columns: 1fr;
}

.committee-composite-rail-v71 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
}

.committee-rail-label-v71 {
    min-height: 3.2rem;
    padding: .4rem .7rem;
}

.committee-rail-label-v71 span {
    writing-mode: horizontal-tb;
    transform: none;
    font-size: .78rem;
    letter-spacing: .06em;
}

.committee-tree-root-v71 {
    margin-bottom: 1.8rem;
}

.committee-tree-branch-planning-v71,
    .committee-tree-branch-abstract-v71 {
    grid-template-columns: 1fr;
}

.committee-tree-root-v71::after,
    .committee-tree-branch-v71::before,
    .committee-tree-branch-v71 .committee-card::after {
    display: none;
}


}

/* v72: align side labels directly with their matching committee-level panels */
.committee-composite-layout-v72 {
    display: grid;
    grid-template-columns: 4.7rem minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}

.committee-rail-label-v72 {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 0;
    border-radius: 1.35rem;
    border: 1px solid rgba(164,109,51,.16);
    background: linear-gradient(180deg, rgba(247,113,15,.08), rgba(71,78,156,.08));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
    padding: .6rem 0;
}

.committee-rail-label-v72 span {
    display: inline-block;
    color: #172447;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-align: center;
}

.committee-tree-panel-v72 {
    position: relative;
    overflow: visible;
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(164,109,51,.12);
    border-radius: 1.55rem;
    background: radial-gradient(circle at top center, rgba(247,113,15,.08), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,245,.92));
}

.committee-tree-panel-root-v72::after {
    content: "";
    position: absolute;
    left: 50%;
    border-radius: 999px;
    transform: translateX(-50%);
    pointer-events: none;
}

.committee-tree-root-v72 {
    display: flex;
    justify-content: center;
}

.committee-tree-root-v72 .committee-card-featured-v70 {
    width: min(100%, 22rem);
    position: relative;
}

.committee-tree-panel-branch-v72 {
    padding-top: 1.85rem;
}

.committee-tree-panel-branch-v72::before {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}

.committee-tree-branch-v72 {
    position: relative;
    display: grid;
    gap: .95rem;
}

.committee-tree-panel-branch-v72 .committee-card {
    position: relative;
}

.committee-tree-panel-branch-v72 .committee-card::after {
    content: "";
    position: absolute;
    left: 50%;
    border-radius: 999px;
    transform: translateX(-50%);
}

@media (max-width: 1120px) {

.committee-composite-layout-v72 {
    grid-template-columns: 4.2rem minmax(0, 1fr);
}


}

@media (max-width: 760px) {

.committee-composite-layout-v72 {
    grid-template-columns: 1fr;
}

.committee-rail-label-v72 {
    min-height: 3.2rem;
    padding: .45rem .75rem;
}

.committee-rail-label-v72 span {
    writing-mode: horizontal-tb;
    transform: none;
    letter-spacing: .06em;
}

.committee-tree-panel-root-v72::after,
    .committee-tree-panel-branch-v72::before,
    .committee-tree-panel-branch-v72 .committee-card::after {
    display: none;
}


}

/* v73: stronger committee tree connectors and larger side labels */
.committee-rail-label-v72 {
    position: relative !important;
    overflow: visible !important;
}

.committee-rail-label-v72 span {
    font-size: 1.2rem !important;
}

/* Connect each left vertical group title to the matching right-side panel. */
.committee-rail-label-v72::after {
    content: "";
    position: absolute;
    right: -1.05rem;
    top: 50%;
    width: 1.05rem;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(164,109,51,.9), rgba(164,109,51,.28));
    transform: translateY(-50%);
    box-shadow: 0 0 0 5px rgba(164,109,51,.06);
    z-index: 3;
}

/* Make the connection from the top member to the lower level more visible and continuous. */
.committee-tree-panel-root-v72::after {
    bottom: -1.82rem !important;
    height: 1.82rem !important;
    width: 5px !important;
    background: linear-gradient(180deg, #a46d33 0%, #f7710f 54%, rgba(164,109,51,.42) 100%) !important;
    box-shadow: 0 0 0 6px rgba(164,109,51,.08), 0 10px 20px rgba(164,109,51,.16) !important;
    z-index: 5 !important;
}

/* Make the horizontal branch line clearer and visually connected to the vertical line. */
.committee-tree-panel-branch-v72::before {
    top: .67rem !important;
    height: 5px !important;
    left: 6% !important;
    right: 6% !important;
    background: linear-gradient(90deg, rgba(164,109,51,.16), #a46d33 18%, #f7710f 50%, #a46d33 82%, rgba(164,109,51,.16)) !important;
    box-shadow: 0 0 0 6px rgba(164,109,51,.07), 0 8px 18px rgba(164,109,51,.12) !important;
    z-index: 4 !important;
}

/* Add a small central node where the vertical parent line meets the branch line. */
.committee-tree-panel-branch-v72::after {
    content: "";
    position: absolute;
    left: 50%;
    top: .43rem;
    width: .95rem;
    height: .95rem;
    border-radius: 999px;
    background: #ffffff;
    border: 4px solid #f7710f;
    box-shadow: 0 0 0 6px rgba(247,113,15,.12), 0 8px 18px rgba(164,109,51,.16);
    transform: translateX(-50%);
    z-index: 6;
    pointer-events: none;
}

/* Strengthen the connector from the branch line down to each lower committee card. */
.committee-tree-panel-branch-v72 .committee-card::after {
    top: -1.2rem !important;
    width: 4px !important;
    height: 1.2rem !important;
    background: linear-gradient(180deg, #a46d33, rgba(164,109,51,.35)) !important;
    box-shadow: 0 0 0 4px rgba(164,109,51,.05) !important;
    z-index: 3 !important;
}

@media (max-width: 760px) {

.committee-rail-label-v72 span {
    font-size: .95rem !important;
}

.committee-rail-label-v72::after,
    .committee-tree-panel-root-v72::after,
    .committee-tree-panel-branch-v72::before,
    .committee-tree-panel-branch-v72::after,
    .committee-tree-panel-branch-v72 .committee-card::after {
    display: none !important;
}


}

/* v75: Committee banner now contains the committee intro copy; removed duplicate intro box below banner */
body[data-page="committee"] .committee-page-v63 {
    padding-top: 2.25rem !important;
}

/* v76: use the same button-shaped Committee intro badges inside the banner */
.committee-banner-badges-v76 {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.committee-banner-badges-v76 span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.45rem;
    padding: .55rem .85rem;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(255,255,255,.14);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 10px 24px rgba(15,23,42,.14);
    backdrop-filter: blur(10px);
    font-size: .86rem;
    font-weight: 900;
    line-height: 1;
}

@media (max-width: 520px) {

.committee-banner-badges-v76 span {
    min-height: 2.15rem;
    padding: .48rem .68rem;
    font-size: .78rem;
}


}

/* v77: switch Committee stats boxes and group navigation positions */
.committee-leadership-map-v63 .committee-stats-in-map-v77 {
    margin: 0 !important;
}

.committee-leadership-map-v63 .committee-stats-in-map-v77 {
    display: grid !important;
}

.committee-leadership-map-v63 .committee-stats-in-map-v77 div {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.committee-role-nav-ribbon-v77 {
    margin-bottom: 1rem !important;
    padding: .9rem !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: .65rem !important;
}

.committee-role-nav-ribbon-v77 a {
    justify-content: center !important;
    min-height: 3.25rem !important;
    border-radius: 1.05rem !important;
    text-align: center !important;
    color: #633b18 !important;
    background: linear-gradient(135deg, rgba(164,109,51,.12), rgba(247,113,15,.08)) !important;
}

.committee-role-nav-ribbon-v77 a:hover {
    color: #ffffff !important;
    background: linear-gradient(135deg, #a46d33, #f7710f) !important;
}

@media (max-width: 980px) {

.committee-leadership-map-v63 .committee-stats-in-map-v77,
    .committee-role-nav-ribbon-v77 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}


}

@media (max-width: 560px) {

.committee-leadership-map-v63 .committee-stats-in-map-v77,
    .committee-role-nav-ribbon-v77 {
    grid-template-columns: 1fr !important;
}

.committee-leadership-map-v63 .committee-stats-in-map-v77 div {
    min-height: 4.4rem;
}


}

/* v78: make Leadership map panel dominant and stack the three stat boxes vertically on the left */
.committee-leadership-map-v63 {
    grid-template-columns: minmax(220px, 270px) minmax(0, 1.45fr) !important;
    gap: 1.15rem !important;
    align-items: stretch !important;
}

.committee-leadership-map-v63 > :first-child {
    order: 2;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.65rem 1.75rem !important;
}

.committee-leadership-map-v63 > :last-child {
    order: 1;
    align-self: stretch;
}

.committee-leadership-map-v63 .committee-stats-in-map-v77 {
    grid-template-columns: 1fr !important;
    gap: .75rem !important;
    padding: 1rem !important;
    align-content: stretch !important;
}

.committee-leadership-map-v63 .committee-stats-in-map-v77 div {
    min-height: 0 !important;
    padding: 1rem 1rem 1.05rem !important;
}

.committee-leadership-map-v63 .committee-stats-in-map-v77 strong {
    font-size: 2rem;
}

.committee-leadership-map-v63 .committee-stats-in-map-v77 span {
    font-size: .92rem;
}

@media (max-width: 900px) {

.committee-leadership-map-v63 {
    grid-template-columns: 1fr !important;
}

.committee-leadership-map-v63 > :first-child,
    .committee-leadership-map-v63 > :last-child {
    order: initial;
}

.committee-leadership-map-v63 .committee-stats-in-map-v77 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}


}

@media (max-width: 560px) {

.committee-leadership-map-v63 .committee-stats-in-map-v77 {
    grid-template-columns: 1fr !important;
}

.committee-leadership-map-v63 > :first-child {
    padding: 1.25rem 1.1rem !important;
}


}

/* v79: make the Committee page fully brown-themed instead of orange-accented */
body[data-page="committee"] .committee-stats-ribbon-v63 div {
    background: linear-gradient(135deg, #7b5230, #a46d33) !important;
}

body[data-page="committee"] .committee-role-nav-ribbon-v77 a {
    color: #5d3a1d !important;
    background: linear-gradient(135deg, rgba(123,82,48,.16), rgba(164,109,51,.12)) !important;
}

body[data-page="committee"] .committee-role-nav-ribbon-v77 a:hover {
    color: #ffffff !important;
    background: linear-gradient(135deg, #7b5230, #a46d33) !important;
}


body[data-page="committee"] .committee-tree-panel-root-v72::after {
    background: linear-gradient(180deg, #7b5230 0%, #a46d33 54%, rgba(123,82,48,.42) 100%) !important;
    box-shadow: 0 0 0 6px rgba(123,82,48,.08), 0 10px 20px rgba(123,82,48,.16) !important;
}

body[data-page="committee"] .committee-tree-panel-branch-v72::before {
    box-shadow: 0 0 0 6px rgba(123,82,48,.07), 0 8px 18px rgba(123,82,48,.12) !important;
}


body[data-page="committee"] .committee-tree-panel-branch-v72 .committee-card::after {
    background: linear-gradient(180deg, #7b5230, rgba(123,82,48,.35)) !important;
    box-shadow: 0 0 0 4px rgba(123,82,48,.05) !important;
}

body[data-page="committee"] .committee-rail-label-v72 {
    background: linear-gradient(180deg, rgba(164,109,51,.11), rgba(123,82,48,.08)) !important;
}

body[data-page="committee"] .committee-rail-label-v72::after {
    background: linear-gradient(90deg, rgba(123,82,48,.9), rgba(123,82,48,.28)) !important;
    box-shadow: 0 0 0 5px rgba(123,82,48,.06) !important;
}

body[data-page="committee"] .committee-card-featured-v70 {
    border-color: rgba(164,109,51,.24) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,241,.96)) !important;
}

body[data-page="committee"] .committee-card .committee-role,
body[data-page="committee"] .committee-card-featured-v70 .committee-role {
    color: #8a5a2f !important;
}

body[data-page="committee"] .committee-group-header::before {
    background: linear-gradient(90deg, #7b5230, #a46d33) !important;
}

body[data-page="committee"] .committee-leadership-map-v63 .kicker,
body[data-page="committee"] .committee-group .kicker {
    color: #8a5a2f !important;
}

body[data-page="committee"] .committee-stats-ribbon-v63 span {
    color: rgba(255,255,255,.86) !important;
}

/* v80: supplemental agenda detail text from the draft agenda file */
.agenda-detail-block-v80 {
    padding: 0 1rem 1rem;
    color: #475569;
    line-height: 1.58;
}

.agenda-detail-block-v80 h5 {
    margin: .7rem 0 .35rem;
    color: #172447;
    font-size: .88rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.agenda-detail-block-v80 h5:first-child {
    margin-top: 0;
}

.agenda-detail-block-v80 p {
    padding: 0 !important;
    margin: 0 0 .65rem !important;
}

.agenda-numbered-v80 {
    counter-reset: agenda-detail-item;
    display: grid;
    gap: .45rem;
    margin: 0 0 .75rem !important;
    padding: 0 !important;
    list-style: none;
}

.agenda-numbered-v80 li {
    counter-increment: agenda-detail-item;
    position: relative;
    padding-left: 2.2rem;
    color: #475569;
    line-height: 1.52;
}

.agenda-numbered-v80 li::before {
    content: counter(agenda-detail-item, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: .05rem;
    color: var(--agenda-accent, #474e9c);
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .04em;
}

.agenda-detail-block-v80 .agenda-bullet-v51 {
    padding: 0 !important;
    margin: 0 0 .75rem !important;
}

/* v81: allow separate detail panels to stack cleanly on agenda cards */
.agenda-session-body-v51 > .agenda-details-v51 + .agenda-details-v51 {
    margin-top: .7rem;
}

/* v82: horizontal detail tabs for agenda cards with multiple supplemental sections */
.agenda-detail-tabs-v82 {
    margin-top: .85rem;
}

.agenda-detail-tablist-v82 {
    flex-wrap: wrap;
}

.agenda-detail-tab-v82 {
    appearance: none;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(248,250,252,.92), rgba(255,255,255,.78));
    color: #172447;
    cursor: pointer;
    font-weight: 950;
    line-height: 1.15;
    padding: .85rem 1rem;
    text-align: center;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.agenda-detail-tab-v82:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(15,23,42,.08);
}

.agenda-detail-tab-v82.is-active {
    border-color: rgba(71,78,156,.18);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,245,249,.96));
    box-shadow: 0 12px 28px rgba(15,23,42,.08);
}

.agenda-detail-panels-v82 {
    margin-top: .75rem;
}

.agenda-detail-panel-v82 {
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(248,250,252,.92), rgba(255,255,255,.72));
    overflow: hidden;
}

.agenda-detail-panel-v82 > p,
.agenda-detail-panel-v82 > ul {
    margin: 0;
    padding: 0 1rem 1rem;
}

@media (max-width: 640px) {

.agenda-detail-tablist-v82 {
    flex-direction: column;
}

.agenda-detail-tab-v82 {
    width: 100%;
}


}

/* v83: detail tabs start closed and can be toggled open/closed */
.agenda-detail-panels-v82:empty,
.agenda-detail-panel-v82[hidden] {
    display: none !important;
}

.agenda-detail-tab-v82[aria-expanded="false"] {
    box-shadow: none;
}

/* v84: keep agenda detail tabs horizontal on desktop and stack only on mobile */
.agenda-detail-tabs-v82 {
    --agenda-detail-tab-count: 2;
}

.agenda-detail-tablist-v82 {
    display: grid !important;
    grid-template-columns: repeat(var(--agenda-detail-tab-count), minmax(0, 1fr)) !important;
    gap: .6rem !important;
    align-items: stretch !important;
}

.agenda-detail-tab-v82 {
    width: auto !important;
    min-width: 0 !important;
    white-space: normal !important;
}

/* v84: Tuesday concurrent workshops share one vertical time rail and use wider cards */
.agenda-concurrent-timegroup-v84 {
    display: grid;
    grid-template-columns: 4.85rem minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}

.agenda-shared-time-v84 {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    border-radius: 1.35rem;
    color: #ffffff;
    background: linear-gradient(180deg, #7f2f98, #3f6fbd);
    box-shadow: 0 18px 42px rgba(63,111,189,.18);
    overflow: hidden;
}

.agenda-shared-time-v84 span {
    display: inline-block;
    font-weight: 950;
    letter-spacing: .04em;
    line-height: 1.1;
    white-space: nowrap;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.workshops-v84 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch;
}

.workshops-v84 .agenda-session-card-v51.no-time-v84 {
    display: block !important;
    min-width: 0;
}

.workshops-v84 .agenda-session-card-v51.no-time-v84 .agenda-session-body-v51 {
    min-width: 0;
    height: 100%;
}

.workshops-v84 .agenda-mini-list-v51 li {
    grid-template-columns: minmax(7.5rem, 9rem) minmax(0, 1fr);
}

@media (max-width: 900px) {

.agenda-concurrent-timegroup-v84 {
    grid-template-columns: 1fr;
}

.agenda-shared-time-v84 {
    min-height: 3.25rem;
}

.agenda-shared-time-v84 span {
    writing-mode: horizontal-tb;
    transform: none;
}

.workshops-v84 {
    grid-template-columns: 1fr !important;
}


}

@media (max-width: 640px) {

.agenda-detail-tablist-v82 {
    grid-template-columns: 1fr !important;
}


}

/* v86: banner CTA buttons */
.page-banner .btn-page-registration,
.page-banner .btn-page-abstracts,
.page-banner .btn-page-fees,
.page-banner .banner-outline-v86 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: .78rem 1.1rem;
    border-radius: 999px;
    font-weight: 950;
    text-decoration: none;
}

.page-banner .banner-outline-v86 {
    color: #ffffff;
    border: 1px solid rgba(255,255,255,.38);
    background: rgba(255,255,255,.14);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
    backdrop-filter: blur(8px);
}

/* v86: creative Registration page redesign, preserving the existing page banner image */
.registration-gateway-grid-v86 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .44fr);
    gap: 1.2rem;
    align-items: stretch;
}

.registration-pass-v86 {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 24rem;
    padding: clamp(1.35rem, 2.8vw, 2.35rem);
    border: 1px solid rgba(43,103,182,.14);
    border-radius: 2.1rem;
    background: linear-gradient(115deg, rgba(255,255,255,.98), rgba(239,246,255,.92)),
        radial-gradient(circle at 92% 12%, rgba(105,169,224,.22), transparent 26%);
    box-shadow: 0 24px 64px rgba(15,23,42,.09);
}

.registration-pass-v86::before {
    content: "";
    position: absolute;
    inset: auto -4rem -6rem auto;
    width: 18rem;
    height: 18rem;
    border: 2.2rem solid rgba(43,103,182,.08);
    border-radius: 999px;
}

.registration-pass-v86 h2 {
    margin: .35rem 0 .8rem;
    color: #172447;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: .95;
    font-weight: 950;
    letter-spacing: -.06em;
}

.registration-pass-v86 p {
    position: relative;
    z-index: 1;
    max-width: 50rem;
    color: #475569;
    line-height: 1.7;
}

.registration-pass-actions-v86 {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.2rem;
}

.registration-rate-stack-v86 {
    display: grid;
    gap: 1rem;
}

.rate-ticket-v86 {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 11rem;
    padding: 1.25rem;
    border-radius: 1.7rem;
    color: white;
    background: linear-gradient(135deg, #2b67b6, #69a9e0);
    box-shadow: 0 20px 48px rgba(43,103,182,.2);
}

.rate-ticket-v86.main-v86 {
    min-height: 13rem;
    background: linear-gradient(135deg, #173d8f, #2b67b6);
}

.rate-ticket-v86::after {
    content: "";
    position: absolute;
    right: -2.5rem;
    top: -2.5rem;
    width: 8rem;
    height: 8rem;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
}

.rate-ticket-v86 span,
.rate-ticket-v86 small,
.rate-ticket-v86 em {
    position: relative;
    z-index: 1;
    color: rgba(255,255,255,.82);
    font-weight: 850;
    font-style: normal;
}

.rate-ticket-v86 strong {
    position: relative;
    z-index: 1;
    display: block;
    margin: .28rem 0;
    color: white;
    font-size: clamp(2.8rem, 5vw, 4.5rem);
    line-height: .9;
    font-weight: 950;
    letter-spacing: -.07em;
}

.registration-pathway-v86 {
    display: grid;
    grid-template-columns: minmax(240px, .34fr) minmax(0, 1fr);
    gap: 1rem;
    margin-top: 1.1rem;
}

.pathway-intro-v86,
.pathway-steps-v86 article,
.registration-support-band-v86 {
    border: 1px solid rgba(43,103,182,.13);
    border-radius: 1.55rem;
    background: white;
    box-shadow: 0 16px 42px rgba(15,23,42,.06);
}

.pathway-intro-v86 {
    padding: 1.2rem;
    background: linear-gradient(135deg, rgba(43,103,182,.1), rgba(105,169,224,.08));
}

.pathway-intro-v86 h3 {
    margin: .35rem 0 .5rem;
    color: #172447;
    font-size: 1.55rem;
    line-height: 1.05;
    font-weight: 950;
}

.pathway-intro-v86 p,
.pathway-steps-v86 p,
.registration-support-band-v86 p {
    color: #64748b;
    line-height: 1.55;
}

.pathway-steps-v86 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.pathway-steps-v86 article {
    padding: 1rem;
}

.pathway-steps-v86 span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    height: 2.45rem;
    border-radius: .85rem;
    color: white;
    background: linear-gradient(135deg, #2b67b6, #69a9e0);
    font-size: .82rem;
    font-weight: 950;
}

.pathway-steps-v86 h4 {
    margin: .85rem 0 .35rem;
    color: #172447;
    font-size: 1rem;
    line-height: 1.15;
    font-weight: 950;
}

.registration-support-band-v86 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.1rem;
    padding: 1.1rem;
    background: linear-gradient(135deg, rgba(43,103,182,.08), rgba(247,113,15,.05));
}

.registration-support-band-v86 h3 {
    margin: 0 0 .25rem;
    color: #172447;
    font-size: 1.2rem;
    font-weight: 950;
}

/* v86: restore Contact form while retaining the current contact routing design */
.contact-form-restored-v86 {
    margin-top: 1rem;
    padding: clamp(1.25rem, 2.4vw, 2rem);
    border: 1px solid rgba(59,114,198,.13);
    border-radius: 1.8rem;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 48px rgba(15,23,42,.07);
}

.contact-form-heading-v86 h2 {
    margin: .25rem 0 .55rem;
    color: #172447;
    font-size: clamp(1.7rem, 3vw, 2.8rem);
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.045em;
}

.contact-form-heading-v86 p {
    max-width: 54rem;
    color: #64748b;
    line-height: 1.6;
}

.contact-form-grid-v86 {
    display: grid;
    gap: 1rem;
    margin-top: 1.2rem;
}

@media (min-width: 640px) {

.contact-form-grid-v86 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


}

/* v86: mobile-friendly table cards for Fees and Sponsorship, keeping desktop table layout unchanged */
@media (max-width: 700px) {

.fees-rate-table-v58,
    .sponsor-matrix-grid-v58 {
    display: grid !important;
    gap: .85rem !important;
    padding: 1rem !important;
    overflow: visible !important;
}

.fees-row-v58.head-v58,
    .matrix-row-v58.matrix-head-v58 {
    display: none !important;
}

.fees-row-v58:not(.head-v58) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    min-width: 0 !important;
    border: 1px solid rgba(15,23,42,.08) !important;
    border-radius: 1.15rem !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.06);
}

.fees-row-v58:not(.head-v58) > div {
    border-left: 0 !important;
    padding: .9rem !important;
}

.fees-row-v58:not(.head-v58) > div:first-child {
    grid-column: 1 / -1;
    background: #f8fafc;
}

.fees-row-v58:not(.head-v58) > div:nth-child(2),
    .fees-row-v58:not(.head-v58) > div:nth-child(3) {
    display: block !important;
    text-align: left !important;
    font-size: 1.18rem !important;
    color: #172447;
    font-weight: 950;
}

.fees-row-v58:not(.head-v58) > div:nth-child(2)::before,
    .fees-row-v58:not(.head-v58) > div:nth-child(3)::before {
    display: block;
    margin-bottom: .25rem;
    color: #64748b;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.fees-row-v58:not(.head-v58) > div:nth-child(2)::before {
    content: "Standard";
}

.fees-row-v58:not(.head-v58) > div:nth-child(3)::before {
    content: "Late / Onsite";
}

.matrix-row-v58:not(.matrix-head-v58) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
    border: 1px solid rgba(15,23,42,.08) !important;
    border-radius: 1.15rem !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.06);
}

.matrix-row-v58:not(.matrix-head-v58) > div {
    border-left: 0 !important;
    padding: .85rem 1rem !important;
}

.matrix-row-v58:not(.matrix-head-v58) > div:first-child {
    background: #f8fafc;
    color: #172447;
    font-weight: 950;
}

.matrix-row-v58:not(.matrix-head-v58) > div:nth-child(n/**/+2) {
    display: grid !important;
    grid-template-columns: minmax(7.5rem, .48fr) minmax(0, 1fr);
    align-items: center !important;
    justify-content: initial !important;
    text-align: left !important;
    min-height: 3rem;
    border-top: 1px solid rgba(15,23,42,.06);
}

.matrix-row-v58:not(.matrix-head-v58) > div:nth-child(2)::before,
    .matrix-row-v58:not(.matrix-head-v58) > div:nth-child(3)::before,
    .matrix-row-v58:not(.matrix-head-v58) > div:nth-child(4)::before {
    color: #64748b;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.matrix-row-v58:not(.matrix-head-v58) > div:nth-child(2)::before {
    content: "Sponsor";
}

.matrix-row-v58:not(.matrix-head-v58) > div:nth-child(3)::before {
    content: "Supporter";
}

.matrix-row-v58:not(.matrix-head-v58) > div:nth-child(4)::before {
    content: "Donor";
}

.matrix-row-v58:not(.matrix-head-v58) > div:nth-child(n/**/+2):empty::after {
    content: "—";
    color: #94a3b8;
    font-weight: 900;
}


}

@media (max-width: 980px) {

.registration-gateway-grid-v86,
    .registration-pathway-v86,
    .pathway-steps-v86 {
    grid-template-columns: 1fr;
}

.registration-support-band-v86 {
    align-items: flex-start;
    flex-direction: column;
}


}

@media (max-width: 640px) {

.registration-pass-v86 {
    min-height: 0;
    border-radius: 1.5rem;
    padding: 1.1rem;
}

.registration-pass-actions-v86 a,
    .page-banner .btn-page-registration,
    .page-banner .btn-page-abstracts,
    .page-banner .btn-page-fees,
    .page-banner .banner-outline-v86 {
    width: 100%;
}

.rate-ticket-v86,
    .rate-ticket-v86.main-v86 {
    min-height: 10rem;
}


}

/* v87: page-level color consistency, scoped by each page banner theme.
   Exceptions are intentionally preserved for cross-page CTA buttons, Agenda multicolor time/session boxes,
   and the Abstracts submission-category numbering colors. */
body[data-page="about"] {
    --page-primary: #1f4c95;
    --page-secondary: #557fc2;
    --page-soft: rgba(31,76,149,.10);
    --page-rgb: 31,76,149;
}

body[data-page="agenda"] {
    --page-primary: #2c7d3d;
    --page-secondary: #53a65e;
    --page-soft: rgba(44,125,61,.10);
    --page-rgb: 44,125,61;
}

body[data-page="abstracts"] {
    --page-primary: #7f2f98;
    --page-secondary: #a04cb5;
    --page-soft: rgba(127,47,152,.10);
    --page-rgb: 127,47,152;
}

body[data-page="dates"] {
    --page-primary: #2074a0;
    --page-secondary: #4da2c8;
    --page-soft: rgba(32,116,160,.10);
    --page-rgb: 32,116,160;
}

body[data-page="venue"] {
    --page-primary: #2f85aa;
    --page-secondary: #61b8d2;
    --page-soft: rgba(47,133,170,.10);
    --page-rgb: 47,133,170;
}

body[data-page="registration"] {
    --page-primary: #2b67b6;
    --page-secondary: #69a9e0;
    --page-soft: rgba(43,103,182,.10);
    --page-rgb: 43,103,182;
}

body[data-page="fees"] {
    --page-primary: #7f3fa4;
    --page-secondary: #a866c8;
    --page-soft: rgba(127,63,164,.10);
    --page-rgb: 127,63,164;
}

body[data-page="sponsorship"] {
    --page-primary: #1d9db5;
    --page-secondary: #57c7d6;
    --page-soft: rgba(29,157,181,.10);
    --page-rgb: 29,157,181;
}

body[data-page="committee"] {
    --page-primary: #7b5230;
    --page-secondary: #a46d33;
    --page-soft: rgba(123,82,48,.10);
    --page-rgb: 123,82,48;
}

body[data-page="contact"] {
    --page-primary: #3b72c6;
    --page-secondary: #77afeb;
    --page-soft: rgba(59,114,198,.10);
    --page-rgb: 59,114,198;
}

body[data-page="proceedings"] {
    --page-primary: #2d58b5;
    --page-secondary: #5f87db;
    --page-soft: rgba(45,88,181,.10);
    --page-rgb: 45,88,181;
}

/* Shared page elements follow the current page theme. */
body[data-page]:not([data-page="home"]) section:not(.page-banner) .kicker {
    color: var(--page-primary) !important;
}

body[data-page]:not([data-page="home"]) section:not(.page-banner) .badge:not(.badge-dark) {
    color: var(--page-primary) !important;
    background: rgba(var(--page-rgb), .10) !important;
}

body[data-page]:not([data-page="home"]) section:not(.page-banner) .notice {
    border-left-color: var(--page-primary) !important;
    background: linear-gradient(180deg, rgba(var(--page-rgb), .08), #ffffff) !important;
}

body[data-page]:not([data-page="home"]) section:not(.page-banner) .card-soft {
    border-color: rgba(var(--page-rgb), .16) !important;
    background: linear-gradient(180deg, #ffffff, rgba(var(--page-rgb), .045)) !important;
}

body[data-page]:not([data-page="home"]) section:not(.page-banner) .text-gradient {
    background: linear-gradient(135deg, var(--page-primary), var(--page-secondary)) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
}

body[data-page]:not([data-page="home"]) section:not(.page-banner) .btn-primary {
    background: linear-gradient(135deg, var(--page-primary), var(--page-secondary)) !important;
    box-shadow: 0 18px 36px rgba(var(--page-rgb), .22) !important;
}

body[data-page]:not([data-page="home"]) section:not(.page-banner) .btn-secondary {
    color: var(--page-primary) !important;
    background: rgba(var(--page-rgb), .10) !important;
    border: 1px solid rgba(var(--page-rgb), .18) !important;
}

/* About page */
body[data-page="about"] .about-theme-panel-v58 {
    background: radial-gradient(circle at 18% 18%, rgba(255,255,255,.20), transparent 30%),
        linear-gradient(135deg, #1f4c95, #557fc2) !important;
}

body[data-page="about"] .about-objective-card-v58::before,
body[data-page="about"] .about-audience-card-v58::before {
    background: linear-gradient(90deg, #1f4c95, #557fc2) !important;
}

/* Important Dates page */
body[data-page="dates"] .dates-hero-panel-v63,
body[data-page="dates"] .dates-week-intro-v63 {
    background: radial-gradient(circle at 12% 16%, rgba(255,255,255,.20), transparent 26%),
        linear-gradient(135deg, #2074a0, #4da2c8) !important;
}

body[data-page="dates"] .dates-calendar-card-v63::before,
body[data-page="dates"] .dates-day-pass-grid-v63 article::after,
body[data-page="dates"] .dates-path-v63::before {
    background: linear-gradient(90deg, #2074a0, #4da2c8) !important;
}

body[data-page="dates"] .dates-step-v63,
body[data-page="dates"] .featured-v63 .dates-step-v63,
body[data-page="dates"] .dates-note-v63 span {
    background: linear-gradient(135deg, #2074a0, #4da2c8) !important;
}

body[data-page="dates"] .dates-milestone-v63.featured-v63 {
    border-color: rgba(32,116,160,.22) !important;
    background: linear-gradient(180deg, #ffffff, rgba(32,116,160,.06)) !important;
}

/* Venue page */
body[data-page="venue"] .venue-location-card-v66 {
    background: radial-gradient(circle at 14% 12%, rgba(255,255,255,.20), transparent 28%),
        linear-gradient(135deg, #2f85aa, #61b8d2) !important;
}

body[data-page="venue"] .venue-address-line-v66,
body[data-page="venue"] .venue-board-intro-v66 {
    background: rgba(47,133,170,.08) !important;
}

body[data-page="venue"] .venue-address-line-v66 > span,
body[data-page="venue"] .venue-board-items-v66 span {
    color: #2f85aa !important;
    background: rgba(47,133,170,.12) !important;
}

body[data-page="venue"] .venue-info-strip-v66 {
    border-color: rgba(47,133,170,.14) !important;
}

/* Registration page */
body[data-page="registration"] .registration-support-band-v86 {
    background: linear-gradient(135deg, rgba(43,103,182,.08), rgba(105,169,224,.08)) !important;
}

body[data-page="registration"] .pathway-steps-v86 span,
body[data-page="registration"] .rate-ticket-v86,
body[data-page="registration"] .rate-ticket-v86.main-v86 {
    background: linear-gradient(135deg, #2b67b6, #69a9e0) !important;
}

/* Fees page */
body[data-page="fees"] .fees-overview-v58,
body[data-page="fees"] .fees-rate-board-v58,
body[data-page="fees"] .fees-feature-v58,
body[data-page="fees"] .fees-ad-grid-v58 article {
    border-color: rgba(127,63,164,.14) !important;
}

body[data-page="fees"] .fees-rate-board-head-v58 {
    background: linear-gradient(135deg, rgba(127,63,164,.10), rgba(168,102,200,.09)) !important;
}

body[data-page="fees"] .fees-feature-v58.primary-v58,
body[data-page="fees"] .fees-feature-v58::before {
    background: linear-gradient(135deg, #7f3fa4, #a866c8) !important;
}

body[data-page="fees"] .fees-feature-v58 em,
body[data-page="fees"] .fees-ad-grid-v58 em {
    color: #5d2d78 !important;
    background: rgba(127,63,164,.11) !important;
}

body[data-page="fees"] .fees-ad-grid-v58 article {
    background: linear-gradient(135deg, rgba(127,63,164,.08), rgba(168,102,200,.06)) !important;
}

/* Sponsorship page */
body[data-page="sponsorship"] .sponsor-intro-v58,
body[data-page="sponsorship"] .sponsor-matrix-v58,
body[data-page="sponsorship"] .sponsor-tier-card-v58 {
    border-color: rgba(29,157,181,.15) !important;
}

body[data-page="sponsorship"] .sponsor-matrix-head-v58 {
    background: linear-gradient(135deg, rgba(29,157,181,.10), rgba(87,199,214,.09)) !important;
}

body[data-page="sponsorship"] .sponsor-tier-card-v58.sponsor-v58::before,
body[data-page="sponsorship"] .sponsor-tier-card-v58.supporter-v58::before,
body[data-page="sponsorship"] .sponsor-tier-card-v58.donor-v58::before {
    background: linear-gradient(90deg, #1d9db5, #57c7d6) !important;
}

body[data-page="sponsorship"] .choice-v58 {
    background: #1d9db5 !important;
}

body[data-page="sponsorship"] .special-v58 {
    color: #0f6775 !important;
    background: rgba(29,157,181,.12) !important;
}

/* Abstracts page. Keep submission-category number color variation. */
body[data-page="abstracts"] .abstracts-command-copy-v68,
body[data-page="abstracts"] .abstracts-limit-card-v68,
body[data-page="abstracts"] .abstracts-guidelines-v68,
body[data-page="abstracts"] .abstracts-review-card-v68,
body[data-page="abstracts"] .abstracts-etiquette-v68,
body[data-page="abstracts"] .abstracts-categories-v68,
body[data-page="abstracts"] .abstracts-quick-rules-v68 article,
body[data-page="abstracts"] .abstract-category-grid-v68 article {
    border-color: rgba(127,47,152,.14) !important;
}

body[data-page="abstracts"] .abstracts-limit-card-v68,
body[data-page="abstracts"] .abstracts-quick-rules-v68 span {
    background: linear-gradient(135deg, #7f2f98, #a04cb5) !important;
}

body[data-page="abstracts"] .abstracts-format-grid-v68 span,
body[data-page="abstracts"] .abstracts-etiquette-v68 li::before,
body[data-page="abstracts"] .abstract-subcategory-list-v69 li::before {
    color: #7f2f98 !important;
}

body[data-page="abstracts"] .abstracts-etiquette-v68 li::before {
    color: #ffffff !important;
    background: #7f2f98 !important;
}

/* Contact page */
body[data-page="contact"] .contact-routing-header-v66 > div:first-child,
body[data-page="contact"] .contact-route-card-v66,
body[data-page="contact"] .contact-form-restored-v86 {
    border-color: rgba(59,114,198,.14) !important;
}

body[data-page="contact"] .contact-routing-emblem-v66,
body[data-page="contact"] .contact-route-card-v66::before {
    background: linear-gradient(135deg, #3b72c6, #77afeb) !important;
}

body[data-page="contact"] .contact-decision-strip-v66 {
    background: linear-gradient(135deg, rgba(59,114,198,.08), rgba(119,175,235,.07)) !important;
}

body[data-page="contact"] .contact-route-icon-v66,
body[data-page="contact"] .contact-route-card-v66 em {
    background: rgba(59,114,198,.09) !important;
}

body[data-page="contact"] .contact-route-card-v66 small,
body[data-page="contact"] .contact-decision-strip-v66 a {
    color: #3b72c6 !important;
}

/* Proceedings page */
body[data-page="proceedings"] .timeline-dot {
    border-color: #2d58b5 !important;
    box-shadow: 0 0 0 6px rgba(45,88,181,.12) !important;
}

body[data-page="proceedings"] .timeline-line {
    background: linear-gradient(180deg, rgba(45,88,181,.25), rgba(95,135,219,.45), rgba(45,88,181,.25)) !important;
}

/* Committee page has a brown-only theme. */
body[data-page="committee"] .committee-stats-ribbon-v63 div,
body[data-page="committee"] .committee-role-nav-ribbon-v77 a:hover,
body[data-page="committee"] .committee-group-header::before {
    background: linear-gradient(135deg, #7b5230, #a46d33) !important;
}

body[data-page="committee"] .committee-role-nav-ribbon-v77 a,
body[data-page="committee"] .committee-rail-label-v72,
body[data-page="committee"] .committee-tree-panel-v72 {
    border-color: rgba(123,82,48,.16) !important;
}

/* v88: Committee page profile boxes match the brown tree connectors */
body[data-page="committee"] .committee-groups-shell-v63 .committee-card {
    border-color: rgba(123,82,48,.22) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,249,243,.97)) !important;
    box-shadow: 0 16px 38px rgba(75,46,22,.09) !important;
}

body[data-page="committee"] .committee-groups-shell-v63 .committee-card::before {
    height: .42rem !important;
    background: linear-gradient(90deg, rgba(123,82,48,.95), rgba(164,109,51,.86), rgba(123,82,48,.95)) !important;
}

body[data-page="committee"] .committee-card-featured-v70 {
    border-width: 2px !important;
    box-shadow: 0 22px 54px rgba(75,46,22,.14) !important;
}

body[data-page="committee"] .committee-card-featured-v70::after {
    background: radial-gradient(circle, rgba(164,109,51,.20), transparent 70%) !important;
}

body[data-page="committee"] .committee-tree-panel-v72 {
    border-color: rgba(123,82,48,.20) !important;
    background: radial-gradient(circle at top center, rgba(164,109,51,.12), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,250,245,.96)) !important;
}

body[data-page="committee"] .committee-tree-panel-branch-v72::before {
    height: 6px !important;
    background: linear-gradient(90deg, rgba(123,82,48,.10), #7b5230 17%, #a46d33 50%, #7b5230 83%, rgba(123,82,48,.10)) !important;
}

body[data-page="committee"] .committee-tree-panel-root-v72::after,
body[data-page="committee"] .committee-tree-panel-branch-v72 .committee-card::after {
    width: 5px !important;
    background: linear-gradient(180deg, #7b5230, #a46d33) !important;
}

body[data-page="committee"] .committee-tree-panel-branch-v72::after {
    border-color: #7b5230 !important;
    box-shadow: 0 0 0 7px rgba(123,82,48,.13), 0 8px 18px rgba(75,46,22,.18) !important;
}

/* v88: hide non-program sections below Conference focus on the home page, without removing them */
body[data-page="home"] .home-agenda-overview-v55 ~ .home-event-panel,
body[data-page="home"] .home-agenda-overview-v55 ~ section.mx-auto.max-w-7xl {
    display: none !important;
}

/* v88: Agenda summary boxes integrated into the green banner */
.agenda-banner-stats-v88 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 10.75rem));
    gap: .7rem;
    margin-top: 1.1rem;
}

.agenda-banner-stats-v88 div {
    padding: .8rem .9rem;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 1.05rem;
    background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.20), 0 12px 28px rgba(15,23,42,.14);
    backdrop-filter: blur(9px);
}

.agenda-banner-stats-v88 span,
.agenda-banner-stats-v88 small {
    display: block;
}

.agenda-banner-stats-v88 span {
    color: #ffffff;
    font-size: 1.65rem;
    line-height: 1;
    font-weight: 950;
}

.agenda-banner-stats-v88 small {
    margin-top: .22rem;
    color: rgba(255,255,255,.82);
    font-size: .76rem;
    font-weight: 900;
    line-height: 1.15;
}

.agenda-tabs-top-v51 {
    display: block !important;
}

.agenda-tabs-title-v61 {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    width: 100% !important;
}

.agenda-tabs-title-v61 .agenda-eyebrow-v51,
.agenda-tabs-title-v61 h3 {
    margin: 0 !important;
}

.agenda-tabs-title-v61 h3 {
    text-align: right;
}

/* v88: Abstracts page stronger small titles and category-colored subcategory text */
body[data-page="abstracts"] .abstracts-format-grid-v68 span {
    font-size: .98rem !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    padding: .42rem .7rem !important;
}

body[data-page="abstracts"] .abstracts-score-grid-v68 span {
    font-size: 1.08rem !important;
    font-weight: 950 !important;
    letter-spacing: .02em !important;
}

body[data-page="abstracts"] .abstract-category-grid-v68 h3 {
    font-size: clamp(1.65rem, 2.15vw, 2.05rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
}

body[data-page="abstracts"] .abstract-category-grid-v68 article:nth-child(4n + 1) .abstract-subcategory-list-v69 li {
    color: #7f2f98 !important;
}

body[data-page="abstracts"] .abstract-category-grid-v68 article:nth-child(4n + 2) .abstract-subcategory-list-v69 li {
    color: #474e9c !important;
}

body[data-page="abstracts"] .abstract-category-grid-v68 article:nth-child(4n + 3) .abstract-subcategory-list-v69 li {
    color: #0f8ca8 !important;
}

body[data-page="abstracts"] .abstract-category-grid-v68 article:nth-child(4n + 4) .abstract-subcategory-list-v69 li {
    color: #c05a0b !important;
}

/* v88: Venue page high-quality hotel/location icon */
.venue-address-line-v88 {
    align-items: stretch !important;
}

.venue-hotel-icon-v88 {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    align-self: stretch !important;
    width: clamp(5rem, 18vw, 8.5rem) !important;
    min-height: 100% !important;
    height: auto !important;
    flex: 0 0 clamp(5rem, 18vw, 8.5rem) !important;
    border-radius: 1.25rem !important;
    background: radial-gradient(circle at 30% 18%, rgba(255,255,255,.75), transparent 28%),
        linear-gradient(135deg, rgba(47,133,170,.14), rgba(97,184,210,.20)) !important;
    box-shadow: inset 0 0 0 1px rgba(47,133,170,.16);
}

.venue-hotel-icon-v88 svg {
    width: 100%;
    height: 100%;
    min-height: 8rem;
}

.venue-hotel-icon-v88 .pin-v88 {
    fill: url(#venueHotelGradV88);
    filter: drop-shadow(0 10px 16px rgba(47,133,170,.22));
}

.venue-hotel-icon-v88 .building-v88,
.venue-hotel-icon-v88 .roof-v88 {
    fill: #ffffff;
}

.venue-hotel-icon-v88 .door-v88 {
    fill: #2f85aa;
}

.venue-hotel-icon-v88 rect {
    fill: rgba(47,133,170,.22);
}

.venue-hotel-icon-v88 .spark-v88 {
    fill: #ffffff;
    opacity: .88;
}

/* v88: Sponsorship legend placed with the benefit table */
.sponsor-legend-table-v88 {
    justify-content: flex-end;
}

.sponsor-matrix-head-v58 {
    align-items: center !important;
}

/* v88: Contact page high-quality full-width icons and bottom-aligned purpose text */
.contact-route-card-v66 {
    display: flex !important;
    flex-direction: column !important;
}

.contact-route-icon-v88 {
    width: 100% !important;
    height: 7.75rem !important;
    min-height: 7.75rem !important;
    margin: .35rem 0 .9rem !important;
    border-radius: 1.25rem !important;
    background: linear-gradient(135deg, rgba(59,114,198,.10), rgba(119,175,235,.18)) !important;
    box-shadow: inset 0 0 0 1px rgba(59,114,198,.14);
}

.contact-route-icon-v88 svg {
    width: 100%;
    height: 100%;
}

.contact-route-icon-v88 .contact-icon-bg-v88 {
    fill: url(#contactHotelGradV88);
    opacity: .14;
}

.contact-icon-registrar-v88 .contact-icon-bg-v88 {
    fill: url(#contactRegistrarGradV88);
}

.contact-icon-institution-v88 .contact-icon-bg-v88 {
    fill: url(#contactInstitutionGradV88);
}

.contact-route-icon-v88 .contact-icon-line-v88,
.contact-route-icon-v88 .ticket-v88,
.contact-route-icon-v88 .check-v88 {
    fill: none;
    stroke: #3b72c6;
    stroke-width: 6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-route-icon-v88 .contact-icon-fill-v88 {
    fill: rgba(59,114,198,.20);
}

.contact-route-icon-v88 .contact-icon-dot-v88 {
    fill: #77afeb;
}

.contact-icon-registrar-v88 .ticket-v88 {
    fill: rgba(59,114,198,.09);
}

.contact-icon-registrar-v88 .check-v88 {
    stroke: #2f6f3e;
    stroke-width: 7;
}

.contact-route-card-v66 em {
    margin-top: auto !important;
    display: block !important;
}

@media (max-width: 760px) {


.agenda-tabs-title-v61 {
    align-items: flex-start !important;
    flex-direction: column !important;
}

.agenda-tabs-title-v61 h3 {
    text-align: left;
}

.venue-address-line-v88 {
    flex-direction: column !important;
}

.venue-hotel-icon-v88 {
    width: 100% !important;
    min-height: 9rem !important;
    flex-basis: auto !important;
}


}

/* v89: Abstract subcategory numbers match the subcategory text color */
body[data-page="abstracts"] .abstract-category-grid-v68 article:nth-child(4n + 1) .abstract-subcategory-list-v69 li::before {
    color: #7f2f98 !important;
}

body[data-page="abstracts"] .abstract-category-grid-v68 article:nth-child(4n + 2) .abstract-subcategory-list-v69 li::before {
    color: #474e9c !important;
}

body[data-page="abstracts"] .abstract-category-grid-v68 article:nth-child(4n + 3) .abstract-subcategory-list-v69 li::before {
    color: #0f8ca8 !important;
}

body[data-page="abstracts"] .abstract-category-grid-v68 article:nth-child(4n + 4) .abstract-subcategory-list-v69 li::before {
    color: #c05a0b !important;
}

/* v92: venue icon integrated tightly into the left side of the address container */
.venue-address-line-v66.venue-address-line-v88 {
    display: grid;
    grid-template-columns: clamp(7rem, 12vw, 9rem) minmax(0, 1fr);
    align-items: stretch !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

.venue-address-line-v66.venue-address-line-v88 > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: .55rem 1rem;
}

.venue-hotel-icon-v89 {
    display: flex;
    align-items: stretch;
    align-self: stretch;
    justify-content: stretch;
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 100%;
    flex: 0 0 auto;
    border-radius: 1.2rem 0 0 1.2rem;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(239,249,253,.98));
    box-shadow: inset -1px 0 0 rgba(47,133,170,.14);
}

.venue-hotel-icon-v89 img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* v89: replace contact line icons with detailed sketch illustrations */
.contact-route-icon-v89 {
    display: block !important;
    width: 100% !important;
    height: 8rem !important;
    min-height: 8rem !important;
    margin: 0 0 1rem !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(241,247,255,.96)) !important;
    box-shadow: inset 0 0 0 1px rgba(59,114,198,.12), 0 16px 32px rgba(59,114,198,.10) !important;
}

.contact-route-icon-v89 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* v93: make contact card images integrate flush with the card edges */
body[data-page="contact"] .contact-route-card-v66 {
    padding: 0 !important;
    overflow: hidden !important;
}
body[data-page="contact"] .contact-route-card-v66 > small,
body[data-page="contact"] .contact-route-card-v66 > h3,
body[data-page="contact"] .contact-route-card-v66 > p {
    margin-left: 1.15rem;
    margin-right: 1.15rem;
}

body[data-page="contact"] .contact-route-card-v66 > p strong {
font-size: inherit;
    line-height: inherit;
}

body[data-page="contact"] .contact-route-card-v66 > p a {
font-size: inherit;
    line-height: inherit;
}

body[data-page="contact"] .contact-route-card-v66 > p {
font-size: 1.22rem;
    line-height: 1.68;
    color: #475569;
}

body[data-page="contact"] .contact-route-card-v66 > small {
    margin-top: .05rem;
}

body[data-page="contact"] .contact-route-card-v66 em {
    margin: auto 1.15rem 1.15rem !important;
}

/* v94: remove rounded corners from contact page top images and fully enforce venue icon sizing */
@media (max-width: 760px) {
}

/* v89: Fees page improve contrast for the primary General Registration card */
body[data-page="fees"] .fees-feature-v58.primary-v58 {
    color: #f8fafc !important;
}

body[data-page="fees"] .fees-feature-v58.primary-v58 span,
body[data-page="fees"] .fees-feature-v58.primary-v58 strong,
body[data-page="fees"] .fees-feature-v58.primary-v58 small {
    color: #f8fafc !important;
}

body[data-page="fees"] .fees-feature-v58.primary-v58 em {
    color: #efe8ff !important;
    background: rgba(255,255,255,.16) !important;
    border: 1px solid rgba(255,255,255,.22);
}

@media (max-width: 760px) {

.venue-hotel-icon-v89 {
    width: 100%;
    min-width: 100%;
    flex-basis: auto;
    border-radius: 1.2rem 1.2rem 0 0;
    display: flex;
    align-items: stretch;
    align-self: stretch;
    justify-content: stretch;
    height: 100%;
    min-height: 100%;
    flex: 0 0 auto;
}

.venue-hotel-icon-v89 img {
    min-height: 100%;
    width: 100%;
    height: 100%;
    flex: 1 1 auto;
    align-self: stretch;
    object-fit: cover;
    object-position: center;
    display: block;
}

.venue-address-line-v66.venue-address-line-v88 > div {
    padding: .55rem 1rem;
}

}

/* v95: full committee page redesign with clearer hierarchy and cleaner connector lines */
body[data-page="committee"] .committee-groups-shell-v95 {
    display: flex;
    flex-direction: column;
    gap: 2.25rem;
}

body[data-page="committee"] .committee-groups-shell-v95 .committee-group {
    margin-top: 0;
}

body[data-page="committee"] .committee-orbit-shell-v95,
body[data-page="committee"] .committee-simple-shell-v95 {
    display: grid;
    grid-template-columns: 4.9rem minmax(0, 1fr);
    gap: 1.15rem;
    align-items: stretch;
}

body[data-page="committee"] .committee-orbit-rail-v95,
body[data-page="committee"] .committee-simple-rail-v95 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .8rem 0;
    border-radius: 1.45rem;
    border: 1px solid rgba(123,82,48,.18);
    background: linear-gradient(180deg, rgba(164,109,51,.16), rgba(123,82,48,.09));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.58);
    overflow: visible;
}

body[data-page="committee"] .committee-orbit-rail-v95 span,
body[data-page="committee"] .committee-simple-rail-v95 span {
    display: inline-block;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-align: center;
    color: #5b381d;
    font-size: 1rem;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}

body[data-page="committee"] .committee-orbit-rail-v95::after,
body[data-page="committee"] .committee-simple-rail-v95::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -1.15rem;
    width: 1.15rem;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(123,82,48,.88), rgba(123,82,48,.22));
    box-shadow: 0 0 0 6px rgba(123,82,48,.05);
    transform: translateY(-50%);
}

body[data-page="committee"] .committee-orbit-panel-v95,
body[data-page="committee"] .committee-simple-panel-v95 {
    min-width: 0;
    padding: 1.25rem 1.2rem 1.35rem;
    border-radius: 1.7rem;
    border: 1px solid rgba(123,82,48,.20);
    background: radial-gradient(circle at top center, rgba(164,109,51,.11), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,250,245,.96));
    box-shadow: 0 22px 54px rgba(75,46,22,.08);
}

body[data-page="committee"] .committee-orbit-panel-v95 .committee-group-header,
body[data-page="committee"] .committee-simple-panel-v95 .committee-group-header {
    margin-bottom: 1.1rem;
}

body[data-page="committee"] .committee-tier-row-v95 {
    position: relative;
}

body[data-page="committee"] .committee-tier-row-v95 + .committee-tier-row-v95 {
    margin-top: 1rem;
    padding-top: 0;
}

body[data-page="committee"] .committee-tier-label-v95 {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin: 0 0 .95rem;
    padding: .5rem .9rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(123,82,48,.12), rgba(164,109,51,.15));
    border: 1px solid rgba(123,82,48,.14);
    color: #6a4322;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

body[data-page="committee"] .committee-tier-label-v95::before {
    content: "";
    width: .72rem;
    height: .72rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #7b5230, #a46d33);
    box-shadow: 0 0 0 5px rgba(123,82,48,.08);
}

body[data-page="committee"] .committee-orbit-rootwrap-v95 {
    display: flex;
    justify-content: center;
}

body[data-page="committee"] .committee-card-root-v95 {
    width: min(100%, 23rem);
}

body[data-page="committee"] .committee-tier-branch-v95::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -.15rem;
    width: 6px;
    height: 3.5rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #7b5230, #a46d33);
    box-shadow: 0 0 0 4px rgba(123,82,48,.07), 0 10px 18px rgba(75,46,22,.10);
    transform: translateX(-50%);
}

body[data-page="committee"] .committee-orbit-grid-v95 {
    --orbit-gap: 1rem;
    --orbit-cols: 3;
    --orbit-line-top: 1.05rem;
    --orbit-line-height: 6px;
    position: relative;
    display: grid;
    gap: var(--orbit-gap);
    padding-top: 1.65rem;
}

body[data-page="committee"] .committee-orbit-grid-planning-v95 {
    --orbit-cols: 4;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page="committee"] .committee-orbit-grid-abstract-v95 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page="committee"] .committee-orbit-grid-v95::before {
    content: "";
    position: absolute;
    left: calc((100% - ((var(--orbit-cols) - 1) * var(--orbit-gap))) / (var(--orbit-cols) * 2));
    right: calc((100% - ((var(--orbit-cols) - 1) * var(--orbit-gap))) / (var(--orbit-cols) * 2));
    top: var(--orbit-line-top);
    height: var(--orbit-line-height);
    border-radius: 999px;
    background: linear-gradient(90deg, #7b5230, #a46d33 50%, #7b5230);
    box-shadow: 0 0 0 5px rgba(123,82,48,.05), 0 8px 20px rgba(75,46,22,.10);
}

body[data-page="committee"] .committee-orbit-grid-v95::after {
    content: "";
    position: absolute;
    left: 50%;
    top: calc(var(--orbit-line-top) + (var(--orbit-line-height) / 2) - .5rem);
    width: 1rem;
    height: 1rem;
    box-sizing: border-box;
    border-radius: 999px;
    background: #fffdf9;
    border: 4px solid #7b5230;
    box-shadow: 0 0 0 4px rgba(123,82,48,.08), 0 8px 18px rgba(75,46,22,.10);
    transform: translateX(-50%);
}

body[data-page="committee"] .committee-orbit-item-v95 {
    position: relative;
    padding-top: 1.45rem;
}

body[data-page="committee"] .committee-orbit-item-v95::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -0.6rem;
    width: 5px;
    height: 3.5rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #7b5230, rgba(164,109,51,.72));
    box-shadow: 0 0 0 3px rgba(123,82,48,.05);
    transform: translateX(-50%);
}

body[data-page="committee"] .committee-orbit-item-v95::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 1rem;
    width: .9rem;
    height: .9rem;
    box-sizing: border-box;
    border-radius: 999px;
    background: #fffdf9;
    border: 4px solid #7b5230;
    box-shadow: 0 0 0 3px rgba(123,82,48,.07), 0 6px 14px rgba(75,46,22,.08);
    transform: translateX(-50%);
}

body[data-page="committee"] .committee-ops-row-v95 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
}

body[data-page="committee"] .committee-simple-card-v95 {
    display: grid;
    grid-template-columns: minmax(7rem, 9rem) minmax(0, 1fr);
    align-items: stretch;
}

body[data-page="committee"] .committee-simple-card-v95 .committee-photo {
    height: 100%;
    min-height: 100%;
}

body[data-page="committee"] .committee-simple-card-v95 .committee-placeholder {
    background: linear-gradient(135deg, rgba(123,82,48,.15), rgba(164,109,51,.22));
    color: #6a4322;
    font-size: 2.7rem;
}

body[data-page="committee"] .committee-simple-panel-v95 .committee-group-header {
    border-bottom-color: rgba(123,82,48,.14);
}

body[data-page="committee"] .committee-orbit-panel-v95 .committee-card,
body[data-page="committee"] .committee-simple-panel-v95 .committee-card {
    border-color: rgba(123,82,48,.22) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,249,243,.97)) !important;
    box-shadow: 0 18px 42px rgba(75,46,22,.09) !important;
}

body[data-page="committee"] .committee-orbit-panel-v95 .committee-card::before,
body[data-page="committee"] .committee-simple-panel-v95 .committee-card::before {
    background: linear-gradient(90deg, rgba(123,82,48,.98), rgba(164,109,51,.9), rgba(123,82,48,.98)) !important;
}

body[data-page="committee"] .committee-orbit-panel-v95 .committee-role,
body[data-page="committee"] .committee-simple-panel-v95 .committee-role {
    color: #8a5a2f !important;
}

body[data-page="committee"] .committee-orbit-panel-v95 .committee-card h3,
body[data-page="committee"] .committee-simple-panel-v95 .committee-card h3 {
    color: #172447;
}

body[data-page="committee"] .committee-orbit-panel-v95 .committee-inst,
body[data-page="committee"] .committee-simple-panel-v95 .committee-inst {
    color: #5f6d84;
}

@media (max-width: 1180px) {

body[data-page="committee"] .committee-orbit-grid-planning-v95 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body[data-page="committee"] .committee-orbit-grid-abstract-v95 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


}

@media (max-width: 820px) {

body[data-page="committee"] .committee-orbit-shell-v95,
    body[data-page="committee"] .committee-simple-shell-v95,
    body[data-page="committee"] .committee-ops-row-v95,
    body[data-page="committee"] .committee-simple-card-v95 {
    grid-template-columns: 1fr;
}

body[data-page="committee"] .committee-orbit-rail-v95,
    body[data-page="committee"] .committee-simple-rail-v95 {
    min-height: 3.5rem;
    padding: .55rem .9rem;
}

body[data-page="committee"] .committee-orbit-rail-v95 span,
    body[data-page="committee"] .committee-simple-rail-v95 span {
    writing-mode: horizontal-tb;
    transform: none;
    font-size: .92rem;
}

body[data-page="committee"] .committee-orbit-rail-v95::after,
    body[data-page="committee"] .committee-simple-rail-v95::after,
    body[data-page="committee"] .committee-tier-branch-v95::before,
    body[data-page="committee"] .committee-orbit-grid-v95::before,
    body[data-page="committee"] .committee-orbit-grid-v95::after,
    body[data-page="committee"] .committee-orbit-item-v95::before,
    body[data-page="committee"] .committee-orbit-item-v95::after {
    display: none;
}

body[data-page="committee"] .committee-orbit-grid-planning-v95,
    body[data-page="committee"] .committee-orbit-grid-abstract-v95 {
    grid-template-columns: 1fr;
    padding-top: 0;
}

body[data-page="committee"] .committee-orbit-item-v95 {
    padding-top: 0;
}

body[data-page="committee"] .committee-tier-row-v95 + .committee-tier-row-v95 {
    padding-top: 0;
    margin-top: 1rem;
}


}

/* v96: align conference operations blocks and ensure equal box heights */
body[data-page="committee"] .committee-ops-row-v95 {
    align-items: stretch;
}

body[data-page="committee"] .committee-simple-group-v95,
body[data-page="committee"] .committee-simple-shell-v95,
body[data-page="committee"] .committee-simple-panel-v95 {
    height: 100%;
}

body[data-page="committee"] .committee-simple-shell-v95 {
    grid-template-columns: 5.3rem minmax(0, 1fr);
}

body[data-page="committee"] .committee-simple-rail-v95 {
    align-self: stretch;
    min-height: 100%;
}

body[data-page="committee"] .committee-simple-panel-v95 {
    display: flex;
    flex-direction: column;
}

body[data-page="committee"] .committee-simple-panel-v95 .committee-group-header {
    min-height: 7.8rem;
    display: flex;
    align-items: flex-start;
    margin-bottom: 1rem;
}

body[data-page="committee"] .committee-simple-card-v95 {
    margin-top: auto;
}

@media (max-width: 820px) {

body[data-page="committee"] .committee-simple-panel-v95 .committee-group-header {
    min-height: 0;
}

body[data-page="committee"] .committee-simple-shell-v95 {
    grid-template-columns: 1fr;
}


}

/* v99: requested abstract branch connector width adjustment */

/* v101: equalize Committee member card heights within each row */
body[data-page="committee"] .committee-orbit-grid-v95 {
    align-items: stretch !important;
}

body[data-page="committee"] .committee-orbit-item-v95 {
    display: flex !important;
    align-items: stretch !important;
    height: 100% !important;
}

body[data-page="committee"] .committee-orbit-item-v95 .committee-card {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

body[data-page="committee"] .committee-orbit-item-v95 .committee-card-body {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
}

body[data-page="committee"] .committee-orbit-item-v95 .committee-inst {
    margin-top: auto !important;
    padding-top: .55rem;
}

body[data-page="committee"] .committee-card-root-v95 {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

body[data-page="committee"] .committee-card-root-v95 .committee-card-body {
    flex: 1 1 auto !important;
}

/* v102: align Abstract Leadership connector math with the four-column abstract grid */
body[data-page="committee"] .committee-orbit-grid-abstract-v95 {
    --orbit-cols: 4 !important;
}

body[data-page="committee"] .committee-orbit-grid-abstract-v95::before {
    width: auto !important;
    left: calc((100% - ((var(--orbit-cols) - 1) * var(--orbit-gap))) / (var(--orbit-cols) * 2)) !important;
    right: calc((100% - ((var(--orbit-cols) - 1) * var(--orbit-gap))) / (var(--orbit-cols) * 2)) !important;
}

/* v103: temporarily hide unconfirmed Abstract Committee Co-Chair details without removing the original content */
body[data-page="committee"] .committee-pending-v103 .committee-hidden-original-v103 {
    display: none !important;
}

body[data-page="committee"] .committee-placeholder-profile-v103 {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 50% 38%, rgba(255,255,255,.85), rgba(255,255,255,.18) 34%, transparent 35%),
        radial-gradient(circle at 50% 72%, rgba(123,82,48,.22), rgba(123,82,48,.12) 32%, transparent 33%),
        linear-gradient(135deg, rgba(123,82,48,.13), rgba(164,109,51,.20)) !important;
    color: #6a4322;
}

body[data-page="committee"] .committee-placeholder-profile-v103::before {
    content: "";
    position: absolute;
    width: 31%;
    height: 31%;
    top: 24%;
    left: 50%;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(123,82,48,.24), rgba(164,109,51,.18));
    transform: translateX(-50%);
}

body[data-page="committee"] .committee-placeholder-profile-v103::after {
    content: "";
    position: absolute;
    width: 57%;
    height: 31%;
    bottom: 20%;
    left: 50%;
    border-radius: 999px 999px 1.4rem 1.4rem;
    background: linear-gradient(135deg, rgba(123,82,48,.20), rgba(164,109,51,.14));
    transform: translateX(-50%);
}

body[data-page="committee"] .committee-placeholder-silhouette-v103 {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.2rem;
    height: 4.2rem;
    border-radius: 999px;
    border: 1px solid rgba(123,82,48,.20);
    color: #6a4322;
    background: rgba(255,255,255,.55);
    font-size: 1rem;
    font-weight: 950;
    letter-spacing: .12em;
    box-shadow: 0 12px 28px rgba(75,46,22,.10);
}

body[data-page="committee"] .committee-placeholder-body-v103 {
    text-align: left;
}

body[data-page="committee"] .committee-placeholder-body-v103 h3 {
    color: #172447;
}

body[data-page="committee"] .committee-placeholder-body-v103 .committee-inst {
    color: #64748b;
}

/* v104: Home page spacing and consistent Program outline formatting */


body[data-page="home"] .home-program-outline-card-v104 {
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border: 1px solid rgba(44,125,61,.14);
    color: #172447;
    box-shadow: 0 18px 48px rgba(15,23,42,.07);
}

body[data-page="home"] .home-program-outline-card-v104 .kicker {
    color: #2c7d3d !important;
}

body[data-page="home"] .home-program-outline-card-v104 h2,
body[data-page="home"] .home-program-outline-card-v104 h3 {
    color: #172447 !important;
}

body[data-page="home"] .home-program-outline-card-v104 p {
    color: #475569 !important;
}

body[data-page="home"] .home-program-outline-card-v104 .glass {
    border: 1px solid rgba(44,125,61,.14);
    color: #172447;
    background: linear-gradient(180deg, #ffffff, rgba(44,125,61,.055));
    box-shadow: 0 14px 32px rgba(15,23,42,.06);
}

/* v104: Important Dates banner calendar card after removing duplicate box below banner */
.dates-banner-calendar-v104 {
    display: inline-grid;
    margin-top: 1rem;
    min-width: 12rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 1.25rem;
    color: #ffffff;
    background: rgba(255,255,255,.13);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 14px 34px rgba(15,23,42,.14);
    backdrop-filter: blur(8px);
}

.dates-banner-calendar-v104 span {
    color: rgba(255,255,255,.84);
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dates-banner-calendar-v104 strong {
    margin-top: .15rem;
    color: #ffffff;
    font-size: 2.15rem;
    line-height: .95;
    font-weight: 950;
    letter-spacing: -.04em;
}

.dates-banner-calendar-v104 small {
    margin-top: .2rem;
    color: rgba(255,255,255,.82);
    font-size: .82rem;
    font-weight: 850;
}

/* v104: hide Contact page question-mark emblem on mobile */
@media (max-width: 700px) {

body[data-page="contact"] .contact-routing-emblem-v66 {
    display: none !important;
}


}

/* v105: keep Program outline visible while preserving the hide rule for sections below it */
body[data-page="home"] .home-program-outline-v104 {
    display: block !important;
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
}

body[data-page="home"] .home-agenda-overview-v55 {
    margin-bottom: 2rem !important;
}

body[data-page="home"] .home-program-outline-v104,
body[data-page="home"] .home-agenda-overview-v55 {
    border-radius: 1.8rem !important;
}

body[data-page="home"] .home-program-outline-card-v104 {
    border-radius: 1.8rem !important;
    background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(245,250,246,.96)) !important;
}

/* keep only the sections after Program outline hidden */
body[data-page="home"] .home-program-outline-v104 ~ .home-event-panel,
body[data-page="home"] .home-program-outline-v104 ~ section.mx-auto.max-w-7xl {
    display: none !important;
}

/* v106: stronger override so Program outline is not hidden by the earlier "hide below Conference focus" rule */
body[data-page="home"] .home-agenda-overview-v55 ~ section.home-program-outline-v104.mx-auto.max-w-7xl,
body[data-page="home"] .site-page-shell > section.home-program-outline-v104.mx-auto.max-w-7xl {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* keep everything after Program outline hidden */
body[data-page="home"] section.home-program-outline-v104 ~ .home-event-panel,
body[data-page="home"] section.home-program-outline-v104 ~ section.mx-auto.max-w-7xl {
    display: none !important;
}

/* v107: keep Agenda banner summary boxes in one row on mobile with smaller sizing */
@media (max-width: 760px) {

.agenda-banner-stats-v88 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 100% !important;
    gap: .45rem !important;
}

.agenda-banner-stats-v88 div {
    min-width: 0 !important;
    padding: .58rem .42rem !important;
    border-radius: .85rem !important;
}

.agenda-banner-stats-v88 span {
    font-size: 1.12rem !important;
}

.agenda-banner-stats-v88 small {
    font-size: .62rem !important;
    line-height: 1.05 !important;
    letter-spacing: .01em !important;
}


}

/* v108: stronger Agenda mobile one-row banner summary sizing */
@media (max-width: 520px) {

.agenda-banner-stats-v88 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .32rem !important;
    width: 100% !important;
}

.agenda-banner-stats-v88 div {
    padding: .48rem .3rem !important;
    border-radius: .72rem !important;
}

.agenda-banner-stats-v88 span {
    font-size: .98rem !important;
}

.agenda-banner-stats-v88 small {
    font-size: .54rem !important;
    line-height: 1 !important;
    word-break: normal !important;
}


}

/* v113: prevent sponsorship button label from wrapping on Fees page */
.fees-sponsor-link-v58 {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

/* v113: Contact card bottom notes keep bottom alignment with added separation */

/* v113: form embed containers */
.embedded-form-shell-v113 {
    margin-top: -1rem;
}

.embedded-form-card-v113 {
    overflow: hidden;
    border: 1px solid rgba(var(--page-rgb), .15);
    border-radius: 1.8rem;
    background: linear-gradient(180deg, #ffffff, rgba(var(--page-rgb), .04));
    box-shadow: 0 18px 48px rgba(15,23,42,.07);
}

.embedded-form-card-v113 > div,
.embedded-form-card-v113 > script + div {
    min-height: 36rem;
}

.embedded-form-placeholder-v113 {
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.embedded-form-placeholder-v113 h2 {
    color: #172447;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: -.04em;
}

.embedded-form-placeholder-v113 p {
    margin-top: 1rem;
    max-width: 58rem;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.8;
}

/* v114: contact card footer note spacing while staying bottom-aligned */
body[data-page="contact"] .contact-route-card-v66 > p:last-of-type {
    margin-bottom: 0.85rem !important;
}

body[data-page="contact"] .contact-route-card-v66 em {
    margin-top: auto !important;
    padding-top: 0.9rem !important;
}

/* v121: final TIME/DATE/LOCATION image contrast.
   The actual files look stronger because they are viewed without the translucent white text panel.
   Keep the text readable, but reduce the washout over the right-side artwork. */
body[data-page="home"] .info-strips-v26 .info-strip-sketch-v26 {
    filter: saturate(1.18) contrast(1.18) brightness(1.03) !important;
}

body[data-page="home"] .info-strips-v26 .info-strip-content-v26 {
    background: linear-gradient(90deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.58) 44%, rgba(255,255,255,.04) 100%) !important;
}


/* v130: final Committee profile photo reset, kept minimal to avoid changing card layout. */
body[data-page="committee"] .committee-card img.committee-photo,
body[data-page="committee"] img.committee-photo {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
}


/* v145: static contact inquiry panel replacing non-functional form on static site. */
.contact-static-inquiry-v145 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: clamp(1rem, 2vw, 1.35rem);
}

.contact-static-inquiry-v145 .contact-form-heading-v86 p:last-child {
    max-width: 58rem;
    font-size: 1.08rem;
    line-height: 1.6;
}

@media (max-width: 760px) {
    .contact-static-inquiry-v145 {
        grid-template-columns: 1fr;
    }

    .contact-static-links-v145 {
        justify-content: flex-start;
    }
}


/* v147: email images on Contact cards to avoid exposing raw email text in the page source. */
.contact-email-image-v147 {
    display: inline-block;
    width: auto;
    height: 1.08em;
    max-width: 100%;
    margin-left: .18rem;
    vertical-align: -0.18em;
}


/* v148: light professional Conference focus redesign without the middle impact-map boxes. */
.home-focus-redesign-v148 {
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, .82fr);
    gap: clamp(1.15rem, 2.3vw, 1.7rem);
    background:
        radial-gradient(circle at 8% 10%, rgba(15,140,168,.12), transparent 34%),
        radial-gradient(circle at 96% 8%, rgba(247,113,15,.10), transparent 28%),
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,251,255,.96));
    border-color: rgba(71,78,156,.13);
    box-shadow: 0 24px 62px rgba(15,23,42,.10);
}

.home-focus-redesign-v148::before {
    inset: auto -8rem -12rem auto;
    width: 22rem;
    height: 22rem;
    background: linear-gradient(135deg, rgba(71,78,156,.12), rgba(247,113,15,.10));
}

.home-focus-pillars-v148 {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1.05rem;
}

.home-focus-pillars-v148 span {
    display: inline-flex;
    align-items: center;
    padding: .52rem .72rem;
    border: 1px solid rgba(71,78,156,.14);
    border-radius: 999px;
    color: #173d8f;
    background: rgba(255,255,255,.82);
    box-shadow: 0 10px 22px rgba(15,23,42,.06);
    font-size: .88rem;
    font-weight: 900;
}

.home-focus-objective-v148 {
    background:
        linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.72)),
        radial-gradient(circle at 100% 0%, rgba(15,140,168,.11), transparent 44%);
}

.home-focus-objective-v148 h3 {
    font-size: 1.18rem;
}

@media (max-width: 980px) {
    .home-focus-redesign-v148 {
        grid-template-columns: 1fr;
    }
}

/* v156: page-specific priority CTA emphasis. */
body[data-page="abstracts"] .btn-page-abstracts.cta-priority-v156,
body[data-page="registration"] .btn-page-registration.cta-priority-v156 {
    min-height: 3.65rem;
    padding: 1.05rem 1.75rem;
    font-size: 1.08rem;
    letter-spacing: .01em;
    transform: translateY(0);
    box-shadow: 0 22px 44px rgba(23,61,143,.18), 0 0 0 .22rem rgba(255,255,255,.92), 0 0 0 .36rem rgba(23,61,143,.12);
}

body[data-page="abstracts"] .hero-actions .btn-page-abstracts.cta-priority-v156,
body[data-page="registration"] .hero-actions .btn-page-registration.cta-priority-v156 {
    font-size: 1.14rem;
}

@media (max-width: 640px) {
    body[data-page="abstracts"] .btn-page-abstracts.cta-priority-v156,
    body[data-page="registration"] .btn-page-registration.cta-priority-v156 {
        width: 100%;
    }
}

/* v157: larger page CTA text without appended arrow icons. */
body[data-page="abstracts"] .btn-page-abstracts,
body[data-page="abstracts"] .btn-secondary,
body[data-page="registration"] .btn-page-registration,
body[data-page="registration"] .btn-secondary,
body[data-page="registration"] .btn-page-fees {
    min-height: 3.65rem;
    padding: 1.05rem 1.65rem;
    font-size: clamp(1.12rem, 1.45vw, 1.28rem);
    line-height: 1.18;
    font-weight: 950;
    text-align: center;
}

body[data-page="abstracts"] .hero-actions .btn-page-abstracts,
body[data-page="abstracts"] .hero-actions .btn-secondary,
body[data-page="registration"] .hero-actions .btn-page-registration,
body[data-page="registration"] .hero-actions .btn-secondary {
    font-size: clamp(1.16rem, 1.55vw, 1.34rem);
}

/* v157: keep multiple agenda detail tabs horizontal when possible, including on mobile. */
.agenda-details-row-v157 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: .65rem;
    margin-top: .85rem;
}

.agenda-details-row-v157 > .agenda-details-v51 {
    flex: 1 1 min(14rem, 100%);
    min-width: min(14rem, 100%);
    margin: 0;
}

.agenda-details-row-v157 > .agenda-details-v51[open] {
    flex-basis: 100%;
}

.agenda-details-row-v157 > .agenda-details-v51 > summary {
    min-height: 3rem;
    white-space: normal;
    text-align: center;
    line-height: 1.22;
}

@media (max-width: 760px) {
    .agenda-details-row-v157 {
        gap: .5rem;
    }

    .agenda-details-row-v157 > .agenda-details-v51 {
        flex: 1 1 calc(50% - .5rem);
        min-width: min(9.5rem, 100%);
    }

    .agenda-details-row-v157 > .agenda-details-v51[open] {
        flex-basis: 100%;
    }

    .agenda-details-row-v157 > .agenda-details-v51 > summary {
        padding: .8rem .65rem;
        font-size: .98rem;
    }
}

@media (max-width: 420px) {
    .agenda-details-row-v157 > .agenda-details-v51 {
        flex-basis: 100%;
        min-width: 100%;
    }
}

/* v159: Registration gateway layout - full-width intro with rate cards below. */
body[data-page="registration"] .registration-gateway-grid-v86 {
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

body[data-page="registration"] .registration-pass-v86 {
    min-height: 0;
}

body[data-page="registration"] .registration-rate-stack-v86 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
}

body[data-page="registration"] .registration-rate-stack-v86 .rate-ticket-v86,
body[data-page="registration"] .registration-rate-stack-v86 .rate-ticket-v86.main-v86 {
    min-height: 11rem;
}

body[data-page="registration"] .registration-rate-stack-v86 .rate-ticket-v86 strong {
    font-size: clamp(2.35rem, 3.4vw, 3.5rem);
}

@media (max-width: 980px) {
    body[data-page="registration"] .registration-rate-stack-v86 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    body[data-page="registration"] .registration-rate-stack-v86 {
        grid-template-columns: 1fr;
    }

    body[data-page="registration"] .registration-rate-stack-v86 .rate-ticket-v86,
    body[data-page="registration"] .registration-rate-stack-v86 .rate-ticket-v86.main-v86 {
        min-height: 9.5rem;
    }
}

/* v162: Agenda supplemental tabs stay horizontal on mobile while panels remain full-width below. */
body[data-page="agenda"] .agenda-detail-tablist-v82 {
    display: grid !important;
    grid-template-columns: repeat(var(--agenda-detail-tab-count, 2), minmax(0, 1fr)) !important;
    gap: .6rem !important;
    align-items: stretch !important;
}

body[data-page="agenda"] .agenda-detail-tab-v82 {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-width: 0 !important;
    min-height: 3.15rem;
    width: auto !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-align: center;
}

body[data-page="agenda"] .agenda-detail-panels-v82,
body[data-page="agenda"] .agenda-detail-panel-v82 {
    width: 100%;
}

@media (max-width: 640px) {
    body[data-page="agenda"] .agenda-detail-tablist-v82 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .45rem !important;
    }

    body[data-page="agenda"] .agenda-detail-tab-v82 {
        min-height: 3.35rem;
        padding: .72rem .46rem;
        font-size: clamp(.8rem, 2.75vw, .96rem);
        line-height: 1.13;
    }
}

@media (max-width: 340px) {
    body[data-page="agenda"] .agenda-detail-tab-v82 {
        min-height: 3.2rem;
        padding: .65rem .34rem;
        font-size: .74rem;
    }
}

/* v163: current Agenda event and PWA install controls. */
.pwa-install-nav-v163,
.pwa-install-mobile-v163 {
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #173d8f, #2b67b6);
    font-weight: 950;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(23,61,143,.18);
}

.pwa-install-nav-v163 {
    display: inline-flex;
    align-items: center;
    min-height: 2.35rem;
    padding: .55rem .9rem;
    font-size: .82rem;
}

.pwa-install-mobile-v163 {
    width: 100%;
    min-height: 3rem;
    padding: .8rem 1rem;
    text-align: left;
}

.pwa-install-nav-v163[hidden],
.pwa-install-mobile-v163[hidden] {
    display: none !important;
}

.agenda-now-jump-wrap-v163 {
    margin-bottom: 1rem;
}

.agenda-now-jump-wrap-v163[hidden] {
    display: none !important;
}

.agenda-now-jump-v163 {
    display: flex;
    align-items: center;
    gap: .85rem;
    width: 100%;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(34,197,94,.28);
    border-radius: 1.35rem;
    color: #12345f;
    background: linear-gradient(135deg, rgba(236,253,245,.98), rgba(240,253,250,.92));
    box-shadow: 0 18px 38px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.85);
    cursor: pointer;
    text-align: left;
}

.agenda-now-dot-v163 {
    width: .85rem;
    height: .85rem;
    border-radius: 999px;
    background: #22c55e;
    box-shadow: 0 0 0 .45rem rgba(34,197,94,.16);
    animation: agendaNowPulseV163 1.6s ease-in-out infinite;
}

.agenda-now-copy-v163 {
    display: grid;
    gap: .12rem;
    flex: 1 1 auto;
}

.agenda-now-copy-v163 strong {
    font-size: 1rem;
    font-weight: 950;
}

.agenda-now-copy-v163 small,
.agenda-now-jump-time-v163 {
    color: #475569;
    font-weight: 850;
}

.agenda-session-card-v51.is-current-v163 {
    position: relative;
    border-color: rgba(34,197,94,.45) !important;
    box-shadow: 0 24px 58px rgba(34,197,94,.18), 0 0 0 .25rem rgba(34,197,94,.08) !important;
    animation: agendaCurrentGlowV163 2.4s ease-in-out infinite;
}

.agenda-concurrent-timegroup-v84.is-current-v163 {
    border-radius: 1.6rem;
    box-shadow: 0 22px 52px rgba(34,197,94,.12);
}

.agenda-time-v51.is-current-time-v163,
.agenda-shared-time-v84.is-current-time-v163 {
    background: linear-gradient(135deg, #15803d, #22c55e) !important;
    color: #fff !important;
}

.agenda-now-badge-v163 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: .45rem;
    padding: .22rem .52rem;
    border-radius: 999px;
    color: #14532d;
    background: rgba(255,255,255,.88);
    font-size: .72rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.agenda-now-countdown-v163 {
    display: inline-flex;
    align-items: center;
    gap: .34rem;
    margin-top: .38rem;
    color: rgba(255,255,255,.94);
    font-size: .8rem;
    font-weight: 950;
    line-height: 1.15;
}

.agenda-now-ring-v163 {
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 999px;
    background: conic-gradient(#ffffff var(--agenda-progress, 0deg), rgba(255,255,255,.26) 0deg);
    box-shadow: inset 0 0 0 .22rem rgba(21,128,61,.55);
}

@keyframes agendaNowPulseV163 {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.18); opacity: .72; }
}

@keyframes agendaCurrentGlowV163 {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}

@media (prefers-reduced-motion: reduce) {
    .agenda-now-dot-v163,
    .agenda-session-card-v51.is-current-v163 {
        animation: none !important;
    }
}

@media (max-width: 640px) {
    .agenda-now-jump-v163 {
        align-items: flex-start;
        gap: .7rem;
        padding: .95rem;
    }

    .agenda-now-jump-time-v163 {
        margin-left: auto;
        white-space: nowrap;
    }
}

/* v164: hidden Agenda test mode toolbar, visible only with ?agendaTest=1 or #agenda-test. */
.agenda-test-tools-v164 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
    margin: .85rem 0 0;
    padding: .85rem;
    border: 1px dashed rgba(44,125,61,.28);
    border-radius: 1.2rem;
    background: rgba(44,125,61,.07);
}

.agenda-test-tools-v164[hidden] {
    display: none !important;
}

.agenda-test-button-v164,
.agenda-test-clear-v164 {
    appearance: none;
    border: 0;
    border-radius: 999px;
    padding: .7rem 1rem;
    font-weight: 950;
    cursor: pointer;
}

.agenda-test-button-v164 {
    color: #fff;
    background: linear-gradient(135deg, #2c7d3d, #53a65e);
    box-shadow: 0 12px 24px rgba(44,125,61,.18);
}

.agenda-test-clear-v164 {
    color: #172447;
    background: #fff;
    border: 1px solid rgba(15,23,42,.12);
}

.agenda-test-status-v164 {
    color: #475569;
    font-size: .92rem;
    font-weight: 850;
}

@media (max-width: 640px) {
    .agenda-test-button-v164,
    .agenda-test-clear-v164 {
        width: 100%;
        justify-content: center;
    }
}

/* v165: keep active-event Now badge and countdown on rows below the time period. */
.agenda-time-v51.is-current-time-v163,
.agenda-shared-time-v84.is-current-time-v163 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .38rem;
}

.agenda-time-v51.is-current-time-v163 .agenda-now-badge-v163,
.agenda-shared-time-v84.is-current-time-v163 .agenda-now-badge-v163,
.agenda-time-v51.is-current-time-v163 .agenda-now-countdown-v163,
.agenda-shared-time-v84.is-current-time-v163 .agenda-now-countdown-v163 {
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.agenda-time-v51.is-current-time-v163 .agenda-now-badge-v163,
.agenda-shared-time-v84.is-current-time-v163 .agenda-now-badge-v163 {
    margin-top: .35rem;
}

.agenda-time-v51.is-current-time-v163 .agenda-now-countdown-v163,
.agenda-shared-time-v84.is-current-time-v163 .agenda-now-countdown-v163 {
    margin-top: 0;
    flex-wrap: wrap;
    justify-content: center;
}

/* v166: larger active-event timer and full-width mobile time box. */
.agenda-time-v51.is-current-time-v163 .agenda-now-countdown-v163,
.agenda-shared-time-v84.is-current-time-v163 .agenda-now-countdown-v163 {
    gap: .46rem;
    font-size: 1rem;
    line-height: 1.1;
}

.agenda-time-v51.is-current-time-v163 .agenda-now-ring-v163,
.agenda-shared-time-v84.is-current-time-v163 .agenda-now-ring-v163 {
    width: 1.55rem;
    height: 1.55rem;
    box-shadow: inset 0 0 0 .28rem rgba(21,128,61,.55);
    flex: 0 0 auto;
}

.agenda-time-v51.is-current-time-v163 .agenda-now-badge-v163,
.agenda-shared-time-v84.is-current-time-v163 .agenda-now-badge-v163 {
    padding: .28rem .7rem;
    font-size: .78rem;
}

@media (max-width: 640px) {
    body[data-page="agenda"] .agenda-session-card-v51.is-current-v163 {
        grid-template-columns: 1fr !important;
    }

    body[data-page="agenda"] .agenda-session-card-v51.is-current-v163::before {
        display: none;
    }

    body[data-page="agenda"] .agenda-session-card-v51.is-current-v163 > .agenda-time-v51.is-current-time-v163 {
        width: 100%;
        min-width: 0;
        min-height: 6.75rem;
        align-self: stretch;
        border-radius: 1.15rem;
        padding: .95rem;
    }

    body[data-page="agenda"] .agenda-session-card-v51.is-current-v163 > .agenda-session-body-v51 {
        width: 100%;
        min-width: 0;
    }

    body[data-page="agenda"] .agenda-time-v51.is-current-time-v163 .agenda-now-countdown-v163,
    body[data-page="agenda"] .agenda-shared-time-v84.is-current-time-v163 .agenda-now-countdown-v163 {
        font-size: 1.05rem;
    }

    body[data-page="agenda"] .agenda-time-v51.is-current-time-v163 .agenda-now-ring-v163,
    body[data-page="agenda"] .agenda-shared-time-v84.is-current-time-v163 .agenda-now-ring-v163 {
        width: 1.7rem;
        height: 1.7rem;
    }
}

/* v167: stronger mobile full-width active time box and larger countdown visual. */
@media (max-width: 900px) {
    body[data-page="agenda"] .agenda-session-card-v51.is-current-v163 {
        grid-template-columns: 1fr !important;
    }

    body[data-page="agenda"] .agenda-session-card-v51.is-current-v163::before {
        display: none !important;
    }

    body[data-page="agenda"] .agenda-session-card-v51.is-current-v163 > .agenda-time-v51.is-current-time-v163 {
        grid-column: 1 / -1;
        width: 100% !important;
        max-width: none !important;
        min-width: 0;
        min-height: 7.35rem;
        align-self: stretch;
        justify-self: stretch;
        border-radius: 1.15rem;
        padding: 1rem;
        box-sizing: border-box;
    }

    body[data-page="agenda"] .agenda-concurrent-timegroup-v84.is-current-v163 {
        grid-template-columns: 1fr !important;
    }

    body[data-page="agenda"] .agenda-concurrent-timegroup-v84.is-current-v163 > .agenda-shared-time-v84.is-current-time-v163 {
        grid-column: 1 / -1;
        width: 100% !important;
        max-width: none !important;
        min-width: 0;
        min-height: 7.35rem;
        align-self: stretch;
        justify-self: stretch;
        border-radius: 1.15rem;
        padding: 1rem;
        box-sizing: border-box;
    }

    body[data-page="agenda"] .agenda-concurrent-timegroup-v84.is-current-v163 > .workshops-v84 {
        width: 100%;
        min-width: 0;
    }

    body[data-page="agenda"] .agenda-time-v51.is-current-time-v163 .agenda-now-countdown-v163,
    body[data-page="agenda"] .agenda-shared-time-v84.is-current-time-v163 .agenda-now-countdown-v163 {
        font-size: 1.12rem;
        gap: .55rem;
    }

    body[data-page="agenda"] .agenda-time-v51.is-current-time-v163 .agenda-now-ring-v163,
    body[data-page="agenda"] .agenda-shared-time-v84.is-current-time-v163 .agenda-now-ring-v163 {
        width: 2.05rem;
        height: 2.05rem;
        box-shadow: inset 0 0 0 .34rem rgba(21,128,61,.55);
    }

    body[data-page="agenda"] .agenda-time-v51.is-current-time-v163 .agenda-now-badge-v163,
    body[data-page="agenda"] .agenda-shared-time-v84.is-current-time-v163 .agenda-now-badge-v163 {
        font-size: .86rem;
        padding: .32rem .82rem;
    }
}

/* v168: make all Agenda time-period boxes full-width on mobile, not only active events. */
@media (max-width: 900px) {
    body[data-page="agenda"] .agenda-session-card-v51 {
        grid-template-columns: 1fr !important;
    }

    body[data-page="agenda"] .agenda-session-card-v51::before {
        display: none !important;
    }

    body[data-page="agenda"] .agenda-session-card-v51 > .agenda-time-v51 {
        grid-column: 1 / -1;
        width: 100% !important;
        max-width: none !important;
        min-width: 0;
        align-self: stretch;
        justify-self: stretch;
        box-sizing: border-box;
        border-radius: 1.15rem;
    }

    body[data-page="agenda"] .agenda-session-card-v51 > .agenda-session-body-v51 {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
    }

    body[data-page="agenda"] .agenda-concurrent-timegroup-v84 {
        grid-template-columns: 1fr !important;
    }

    body[data-page="agenda"] .agenda-concurrent-timegroup-v84 > .agenda-shared-time-v84 {
        grid-column: 1 / -1;
        width: 100% !important;
        max-width: none !important;
        min-width: 0;
        align-self: stretch;
        justify-self: stretch;
        box-sizing: border-box;
        border-radius: 1.15rem;
    }

    body[data-page="agenda"] .agenda-concurrent-timegroup-v84 > .agenda-shared-time-v84 span {
        writing-mode: horizontal-tb;
        transform: none;
    }

    body[data-page="agenda"] .agenda-concurrent-timegroup-v84 > .workshops-v84 {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
    }
}

/* v169: force every Agenda mobile time box to span the full card width. */
@media (max-width: 900px) {
    body[data-page="agenda"] .agenda-session-card-v51,
    body[data-page="agenda"] .agenda-timeline-v51 > .agenda-session-card-v51,
    body[data-page="agenda"] .agenda-timeline-v51 > .agenda-session-card-v51.compact-v51,
    body[data-page="agenda"] .agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51 {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        grid-template-columns: none !important;
        gap: .85rem !important;
    }

    body[data-page="agenda"] .agenda-session-card-v51::before,
    body[data-page="agenda"] .agenda-timeline-v51 > .agenda-session-card-v51::before,
    body[data-page="agenda"] .agenda-timeline-v51 > .agenda-session-card-v51.compact-v51::before,
    body[data-page="agenda"] .agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51::before {
        display: none !important;
    }

    body[data-page="agenda"] .agenda-session-card-v51 > .agenda-time-v51,
    body[data-page="agenda"] .agenda-timeline-v51 > .agenda-session-card-v51 > .agenda-time-v51,
    body[data-page="agenda"] .agenda-timeline-v51 > .agenda-session-card-v51.compact-v51 > .agenda-time-v51,
    body[data-page="agenda"] .agenda-concurrent-grid-v51:not(.workshops-v51) .agenda-session-card-v51 > .agenda-time-v51 {
        display: flex !important;
        width: 100% !important;
        inline-size: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        align-self: stretch !important;
        justify-self: stretch !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        border-radius: 1.15rem !important;
        margin: 0 !important;
    }

    body[data-page="agenda"] .agenda-session-card-v51 > .agenda-session-body-v51 {
        width: 100% !important;
        inline-size: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body[data-page="agenda"] .agenda-concurrent-timegroup-v84 {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        grid-template-columns: none !important;
        gap: 1rem !important;
    }

    body[data-page="agenda"] .agenda-concurrent-timegroup-v84 > .agenda-shared-time-v84 {
        display: flex !important;
        width: 100% !important;
        inline-size: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        align-self: stretch !important;
        justify-self: stretch !important;
        box-sizing: border-box !important;
        border-radius: 1.15rem !important;
        margin: 0 !important;
    }

    body[data-page="agenda"] .agenda-concurrent-timegroup-v84 > .workshops-v84 {
        width: 100% !important;
        inline-size: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

/* v170: mobile padding fix for the Happening now jump box. */
@media (max-width: 640px) {
    body[data-page="agenda"] .agenda-now-jump-v163 {
        padding: 1.05rem 1.15rem 1rem 1.45rem !important;
        gap: .95rem !important;
    }

    body[data-page="agenda"] .agenda-now-dot-v163 {
        flex: 0 0 auto;
        margin-left: .1rem;
    }

    body[data-page="agenda"] .agenda-now-jump-time-v163 {
        padding-right: .1rem;
    }
}

/* v171: upcoming Agenda event markers and current-day fallback behavior. */
.agenda-session-card-v51.is-upcoming-v171 {
    border-color: rgba(31,111,191,.28) !important;
    box-shadow: 0 18px 44px rgba(31,111,191,.10) !important;
}

.agenda-concurrent-timegroup-v84.is-upcoming-v171 {
    border-radius: 1.6rem;
    box-shadow: 0 18px 44px rgba(31,111,191,.08);
}

.agenda-time-v51.is-upcoming-time-v171,
.agenda-shared-time-v84.is-upcoming-time-v171 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .32rem;
    background: linear-gradient(135deg, #1f6fbf, #60a5fa) !important;
    color: #fff !important;
}

.agenda-upcoming-badge-v171 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: .35rem;
    padding: .25rem .62rem;
    border-radius: 999px;
    color: #0f3b70;
    background: rgba(255,255,255,.9);
    font-size: .74rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.agenda-upcoming-countdown-v171 {
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    color: rgba(255,255,255,.94);
    font-size: .86rem;
    font-weight: 950;
    line-height: 1.15;
    text-align: center;
}

@media (max-width: 900px) {
    body[data-page="agenda"] .agenda-time-v51.is-upcoming-time-v171,
    body[data-page="agenda"] .agenda-shared-time-v84.is-upcoming-time-v171 {
        min-height: 5.8rem;
    }

    body[data-page="agenda"] .agenda-upcoming-countdown-v171 {
        font-size: 1rem;
    }
}

/* v175: larger Happening now box and matching Up next jump box. */
body[data-page="agenda"] .agenda-now-jump-wrap-v163,
body[data-page="agenda"] .agenda-next-jump-wrap-v175 {
    margin-bottom: .75rem;
}

body[data-page="agenda"] .agenda-now-jump-v163,
body[data-page="agenda"] .agenda-next-jump-v175 {
    display: flex;
    align-items: center;
    gap: 1.15rem;
    width: 100%;
    padding: 1.2rem 1.35rem;
    border-radius: 1.45rem;
    cursor: pointer;
    text-align: left;
}

body[data-page="agenda"] .agenda-now-jump-v163 {
    border: 1px solid rgba(34,197,94,.32);
    color: #12345f;
    background: linear-gradient(135deg, rgba(236,253,245,.98), rgba(240,253,250,.94));
    box-shadow: 0 20px 42px rgba(15,23,42,.09), inset 0 1px 0 rgba(255,255,255,.9);
}

body[data-page="agenda"] .agenda-next-jump-v175 {
    border: 1px solid rgba(31,111,191,.32);
    color: #102f5f;
    background: linear-gradient(135deg, rgba(239,246,255,.98), rgba(219,234,254,.9));
    box-shadow: 0 20px 42px rgba(31,111,191,.10), inset 0 1px 0 rgba(255,255,255,.88);
}

body[data-page="agenda"] .agenda-now-dot-v163,
body[data-page="agenda"] .agenda-next-dot-v175 {
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 999px;
    flex: 0 0 auto;
    animation: agendaNowPulseV163 1.6s ease-in-out infinite;
}

body[data-page="agenda"] .agenda-now-dot-v163 {
    background: #22c55e;
    box-shadow: 0 0 0 .7rem rgba(34,197,94,.16), 0 0 22px rgba(34,197,94,.22);
}

body[data-page="agenda"] .agenda-next-dot-v175 {
    background: #1f6fbf;
    box-shadow: 0 0 0 .7rem rgba(31,111,191,.14), 0 0 22px rgba(31,111,191,.18);
}

body[data-page="agenda"] .agenda-now-copy-v163,
body[data-page="agenda"] .agenda-next-copy-v175 {
    display: grid;
    gap: .22rem;
    flex: 1 1 auto;
    min-width: 0;
}

body[data-page="agenda"] .agenda-now-copy-v163 strong,
body[data-page="agenda"] .agenda-next-copy-v175 strong {
    font-size: clamp(1.02rem, 1.25vw, 1.16rem);
    line-height: 1.1;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}

body[data-page="agenda"] .agenda-now-copy-v163 small,
body[data-page="agenda"] .agenda-next-copy-v175 small {
    color: #172447;
    font-size: clamp(1.28rem, 2vw, 1.7rem);
    line-height: 1.12;
    font-weight: 950;
}

body[data-page="agenda"] .agenda-now-jump-time-v163,
body[data-page="agenda"] .agenda-next-jump-time-v175 {
    flex: 0 0 auto;
    margin-left: auto;
    color: #334155;
    font-size: clamp(1.18rem, 1.7vw, 1.45rem);
    line-height: 1.1;
    font-weight: 950;
    white-space: nowrap;
}

body[data-page="agenda"] .agenda-next-copy-v175 strong,
body[data-page="agenda"] .agenda-next-jump-time-v175 {
    color: #1f6fbf;
}

@media (prefers-reduced-motion: reduce) {
    body[data-page="agenda"] .agenda-next-dot-v175 {
        animation: none !important;
    }
}

@media (max-width: 640px) {
    body[data-page="agenda"] .agenda-now-jump-v163,
    body[data-page="agenda"] .agenda-next-jump-v175 {
        align-items: flex-start;
        gap: 1rem;
        padding: 1.2rem 1.15rem 1.15rem 1.55rem !important;
    }

    body[data-page="agenda"] .agenda-now-dot-v163,
    body[data-page="agenda"] .agenda-next-dot-v175 {
        width: 1.35rem;
        height: 1.35rem;
        margin-top: .25rem;
    }

    body[data-page="agenda"] .agenda-now-copy-v163 small,
    body[data-page="agenda"] .agenda-next-copy-v175 small {
        font-size: clamp(1.2rem, 5vw, 1.45rem);
    }

    body[data-page="agenda"] .agenda-now-jump-time-v163,
    body[data-page="agenda"] .agenda-next-jump-time-v175 {
        padding-right: .1rem;
        font-size: clamp(1.08rem, 4.2vw, 1.32rem);
        white-space: normal;
        text-align: right;
    }
}

/* v176: mobile layout for Happening now and Up next boxes.
   Row 1: status label + time. Row 2: event title full width. */
@media (max-width: 640px) {
    body[data-page="agenda"] .agenda-now-jump-v163,
    body[data-page="agenda"] .agenda-next-jump-v175 {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        align-items: center !important;
        column-gap: .85rem;
        row-gap: .5rem;
    }

    body[data-page="agenda"] .agenda-now-dot-v163,
    body[data-page="agenda"] .agenda-next-dot-v175 {
        grid-column: 1;
        grid-row: 1;
        margin-top: 0 !important;
    }

    body[data-page="agenda"] .agenda-now-copy-v163,
    body[data-page="agenda"] .agenda-next-copy-v175 {
        display: contents;
    }

    body[data-page="agenda"] .agenda-now-copy-v163 strong,
    body[data-page="agenda"] .agenda-next-copy-v175 strong {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
        align-self: center;
    }

    body[data-page="agenda"] .agenda-now-jump-time-v163,
    body[data-page="agenda"] .agenda-next-jump-time-v175 {
        grid-column: 3;
        grid-row: 1;
        align-self: center;
        margin-left: 0 !important;
        white-space: nowrap !important;
        text-align: right;
    }

    body[data-page="agenda"] .agenda-now-copy-v163 small,
    body[data-page="agenda"] .agenda-next-copy-v175 small {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        min-width: 0;
        padding-top: .15rem;
    }
}

@media (max-width: 390px) {
    body[data-page="agenda"] .agenda-now-jump-v163,
    body[data-page="agenda"] .agenda-next-jump-v175 {
        grid-template-columns: auto minmax(0, 1fr);
    }

    body[data-page="agenda"] .agenda-now-jump-time-v163,
    body[data-page="agenda"] .agenda-next-jump-time-v175 {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: start;
        padding-top: .05rem;
        text-align: left;
    }

    body[data-page="agenda"] .agenda-now-copy-v163 small,
    body[data-page="agenda"] .agenda-next-copy-v175 small {
        grid-row: 3;
    }
}

/* v178: details added from registration/sponsorship PDF. */
.fees-artwork-note-v178,
.sponsor-details-note-v178 {
    margin-top: 1.25rem;
    padding: 1.2rem 1.3rem;
    border: 1px solid rgba(31,111,191,.14);
    border-radius: 1.25rem;
    background: linear-gradient(135deg, rgba(239,246,255,.95), rgba(255,255,255,.9));
    box-shadow: 0 16px 32px rgba(15,23,42,.06);
}

.fees-artwork-note-v178 h3,
.sponsor-details-note-v178 h3 {
    margin: 0 0 .45rem;
    color: #172447;
    font-size: 1.18rem;
    font-weight: 950;
}

.fees-artwork-note-v178 p,
.sponsor-details-note-v178 li {
    color: #475569;
    font-size: .98rem;
    line-height: 1.7;
}

.sponsor-details-note-v178 ul {
    margin: .45rem 0 0;
    padding-left: 1.15rem;
}

.sponsor-details-note-v178 li + li {
    margin-top: .45rem;
}

/* v179/v181: ESI Directory page. */
.esi-page-v179 {
    background:
        radial-gradient(circle at top left, rgba(31,111,191,.10), transparent 34rem),
        linear-gradient(180deg, #f8fafc, #ffffff);
}

.esi-lock-v179,
.esi-directory-shell-v179 {
    margin-top: 2rem;
}

.esi-lock-card-v179 {
    max-width: 46rem;
    padding: 2rem;
    border: 1px solid rgba(31,111,191,.14);
    border-radius: 1.75rem;
    background: rgba(255,255,255,.94);
    box-shadow: 0 24px 60px rgba(15,23,42,.10);
}

.esi-lock-card-v179 h2,
.esi-directory-heading-v179 h2 {
    margin: 0;
    color: #172447;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    font-weight: 950;
    line-height: 1.05;
}

.esi-lock-card-v179 p,
.esi-directory-heading-v179 p {
    margin-top: .8rem;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.75;
}

.esi-unlock-form-v179 {
    display: grid;
    gap: .75rem;
    margin-top: 1.3rem;
}

.esi-unlock-form-v179 label {
    color: #172447;
    font-weight: 900;
}

.esi-unlock-row-v179 {
    display: flex;
    gap: .7rem;
}

.esi-unlock-row-v179 input,
.esi-search-row-v179 input,
.esi-filter-grid-v179 select,
.esi-mobile-filter-dialog-v179 select {
    width: 100%;
    min-height: 3.2rem;
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 1rem;
    background: #fff;
    padding: .85rem 1rem;
    color: #172447;
    font-weight: 750;
    outline: none;
}

.esi-unlock-row-v179 input:focus,
.esi-search-row-v179 input:focus,
.esi-filter-grid-v179 select:focus,
.esi-mobile-filter-dialog-v179 select:focus {
    border-color: rgba(31,111,191,.45);
    box-shadow: 0 0 0 .25rem rgba(31,111,191,.12);
}

.esi-remember-device-v181 {
    display: inline-flex !important;
    align-items: center;
    gap: .55rem !important;
    color: #475569 !important;
    font-size: .96rem;
    font-weight: 850 !important;
}

.esi-remember-device-v181 input {
    width: 1.05rem;
    height: 1.05rem;
    accent-color: #1f6fbf;
}

.esi-unlock-row-v179 button,
.esi-add-button-v179,
.esi-filter-button-v179,
.esi-dialog-actions-v179 button,
.esi-dialog-actions-v181 button {
    appearance: none;
    border: 0;
    border-radius: 999px;
    padding: .85rem 1.1rem;
    color: #fff;
    background: linear-gradient(135deg, #173d8f, #1f6fbf);
    font-weight: 950;
    cursor: pointer;
    box-shadow: 0 14px 28px rgba(31,111,191,.18);
    white-space: nowrap;
}

.esi-unlock-error-v179 {
    min-height: 1.25rem;
    color: #b91c1c;
    font-weight: 800;
}

.esi-privacy-note-v179 {
    margin-top: 1rem;
    padding: .9rem 1rem;
    border-radius: 1rem;
    color: #475569;
    background: rgba(241,245,249,.9);
    font-size: .95rem;
    line-height: 1.65;
}

.esi-toolbar-v179 {
    display: grid;
    grid-template-columns: minmax(18rem, 1fr) minmax(13rem, .5fr) minmax(13rem, .5fr) auto;
    gap: .85rem;
    margin-top: 1.6rem;
    align-items: end;
}

.esi-toolbar-clear-v181 {
    min-height: 3.2rem;
    align-self: end;
}

.esi-search-row-v179 label,
.esi-filter-grid-v179 label,
.esi-mobile-filter-dialog-v179 label {
    display: grid;
    gap: .35rem;
    color: #334155;
    font-size: .9rem;
    font-weight: 950;
}

.esi-mobile-controls-v179 {
    display: none;
    gap: .65rem;
    margin-top: 1.2rem;
}

.esi-mobile-actions-v181 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
}

.esi-filter-button-v179.secondary-v181,
.esi-dialog-actions-v181 .secondary-v181 {
    color: #172447;
    background: #fff;
    border: 1px solid rgba(15,23,42,.12);
    box-shadow: none;
}

.esi-result-meta-v179 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    margin: 1rem 0;
    color: #475569;
    font-weight: 850;
}

.esi-table-wrap-v179 {
    overflow-x: auto;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 1.45rem;
    background: #fff;
    box-shadow: 0 22px 48px rgba(15,23,42,.08);
}

.esi-table-v179 {
    width: 100%;
    border-collapse: collapse;
    min-width: 920px;
}

.esi-table-v179 th,
.esi-table-v179 td {
    padding: 1rem;
    border-bottom: 1px solid rgba(15,23,42,.07);
    text-align: left;
    vertical-align: middle;
}

.esi-table-v179 th {
    color: #172447;
    background: linear-gradient(180deg, rgba(248,250,252,.98), rgba(241,245,249,.92));
    font-size: .82rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.esi-person-v179 {
    display: flex;
    align-items: center;
    gap: .8rem;
}

.esi-person-v179 strong,
.esi-card-main-v179 strong {
    display: block;
    color: #172447;
    font-size: 1.02rem;
    font-weight: 950;
}

.esi-person-v179 span,
.esi-card-main-v179 span,
.esi-card-main-v179 small {
    display: block;
    color: #64748b;
    font-weight: 750;
}

.esi-avatar-v179 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 1rem;
    color: #173d8f;
    background: linear-gradient(135deg, rgba(219,234,254,.95), rgba(255,255,255,.85));
    box-shadow: inset 0 0 0 1px rgba(31,111,191,.12);
    font-weight: 950;
    flex: 0 0 auto;
    overflow: hidden;
}

.esi-avatar-v179 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.esi-hidden-email-v179 {
    display: inline-flex;
    align-items: center;
    padding: .35rem .65rem;
    border-radius: 999px;
    color: #475569;
    background: rgba(241,245,249,.92);
    font-size: .86rem;
    font-weight: 850;
}

.esi-mobile-list-v179 {
    display: none;
    gap: .72rem;
}

.esi-card-v179 {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: .9rem;
    width: 100%;
    padding: 1rem;
    border: 1px solid rgba(31,111,191,.12);
    border-radius: 1.25rem;
    background:
        linear-gradient(90deg, rgba(31,111,191,.06), transparent 3.8rem),
        rgba(255,255,255,.98);
    text-align: left;
    box-shadow: 0 14px 30px rgba(15,23,42,.07);
}

.esi-card-v179:active {
    transform: translateY(1px);
}

.esi-card-main-v179 {
    display: grid;
    gap: .22rem;
    min-width: 0;
}

.esi-card-main-v179 strong {
    font-size: 1.08rem;
    line-height: 1.18;
}

.esi-card-main-v179 em {
    margin-top: .35rem;
    color: #1f6fbf;
    font-size: .86rem;
    font-style: normal;
    font-weight: 950;
}

.esi-card-chevron-v181 {
    align-self: center;
    color: #94a3b8;
    font-size: 1.9rem;
    font-weight: 300;
}

.esi-empty-v179 {
    padding: 2rem;
    border: 1px dashed rgba(15,23,42,.18);
    border-radius: 1.25rem;
    color: #64748b;
    background: #fff;
    font-weight: 850;
}

.esi-mobile-filter-dialog-v179,
.esi-contact-dialog-v181 {
    width: min(34rem, calc(100vw - 2rem));
    border: 0;
    border-radius: 1.5rem;
    padding: 1.2rem;
    box-shadow: 0 24px 80px rgba(15,23,42,.26);
}

.esi-mobile-filter-dialog-v179::backdrop,
.esi-contact-dialog-v181::backdrop {
    background: rgba(15,23,42,.42);
}

.esi-dialog-actions-v179,
.esi-dialog-actions-v181 {
    display: flex;
    justify-content: flex-end;
    gap: .6rem;
    margin-top: 1rem;
}

.esi-dialog-actions-v179 .secondary-v179 {
    color: #172447;
    background: #fff;
    border: 1px solid rgba(15,23,42,.12);
    box-shadow: none;
}

.esi-contact-dialog-card-v181 {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
}

.esi-contact-dialog-icon-v181 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.15rem;
    height: 3.15rem;
    border-radius: 1rem;
    color: #fff;
    background: linear-gradient(135deg, #173d8f, #1f6fbf);
    font-size: 1.8rem;
    font-weight: 950;
}

.esi-contact-dialog-card-v181 h3 {
    margin: .2rem 0 0;
    color: #172447;
    font-size: 1.35rem;
    font-weight: 950;
    line-height: 1.15;
}

.esi-contact-dialog-card-v181 p:not(.kicker) {
    margin-top: .45rem;
    color: #64748b;
    line-height: 1.55;
}

.esi-contact-dialog-card-v181 .esi-dialog-actions-v181 {
    grid-column: 1 / -1;
}

@media (max-width: 900px) {
    .esi-toolbar-v179 {
        display: none;
    }

    .esi-mobile-controls-v179 {
        position: sticky;
        top: 4.75rem;
        z-index: 40;
        display: grid;
        grid-template-columns: 1fr;
        padding: .75rem;
        margin-left: -.75rem;
        margin-right: -.75rem;
        border: 1px solid rgba(15,23,42,.08);
        border-radius: 1.25rem;
        background: rgba(248,250,252,.94);
        backdrop-filter: blur(14px);
        box-shadow: 0 14px 28px rgba(15,23,42,.08);
    }

    .esi-table-wrap-v179 {
        display: none;
    }

    .esi-mobile-list-v179 {
        display: grid;
    }
}

@media (max-width: 540px) {
    .esi-unlock-row-v179 {
        display: grid;
    }

    .esi-dialog-actions-v179,
    .esi-dialog-actions-v181 {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .esi-dialog-actions-v179 button,
    .esi-dialog-actions-v181 button {
        width: 100%;
    }
}

/* v182: ESI desktop contact popup, mobile sticky controls, and filter dialog refinements. */
.esi-contact-email-v182 {
    display: grid;
    gap: .25rem;
    margin-top: .85rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(31,111,191,.14);
    border-radius: 1rem;
    background: rgba(239,246,255,.82);
}

.esi-contact-email-v182[hidden] {
    display: none !important;
}

.esi-contact-email-v182 span {
    color: #64748b;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.esi-contact-email-v182 strong {
    color: #172447;
    font-size: 1.05rem;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.esi-mobile-filter-dialog-v179 label + label {
    margin-top: .9rem;
}

.esi-mobile-filter-dialog-v179 .esi-dialog-actions-v179 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

@media (max-width: 900px) {
    .esi-mobile-controls-v179 {
        top: calc(4.75rem + .6rem);
        margin-top: 1.05rem;
        margin-left: 0;
        margin-right: 0;
        padding: .85rem;
        border: 1px solid rgba(15,23,42,.10);
        border-radius: 1.25rem;
        background: rgba(248,250,252,.97);
        background-clip: padding-box;
    }

    .esi-mobile-actions-v181 {
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .esi-mobile-actions-v181 .esi-filter-button-v179 {
        width: 100%;
    }
}

@media (max-width: 540px) {
    .esi-mobile-filter-dialog-v179 .esi-dialog-actions-v179 {
        grid-template-columns: 1fr;
    }
}

/* v183: ESI mobile sticky container, scroll reset support, and native-style mobile list. */
@media (max-width: 900px) {
    .esi-mobile-controls-v179 {
        top: 8.85rem;
        z-index: 850;
        padding: 1rem;
        margin-top: 1.25rem;
        border: 1px solid rgba(31,111,191,.15);
        border-radius: 1.35rem;
        background: linear-gradient(180deg, rgba(255,255,255,.985), rgba(248,250,252,.955));
        background-clip: border-box;
        box-shadow:
            0 1px 0 rgba(255,255,255,.95) inset,
            0 16px 36px rgba(15,23,42,.13);
        outline: .55rem solid rgba(248,250,252,.96);
        overflow: visible;
    }

    .esi-mobile-controls-v179 .esi-search-row-v179 {
        display: grid;
        gap: .45rem;
    }

    .esi-mobile-controls-v179 .esi-search-row-v179::before {
        content: "Search and filters";
        color: #475569;
        font-size: .78rem;
        font-weight: 950;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .esi-mobile-controls-v179 .esi-search-row-v179 input {
        min-height: 3.35rem;
        border-radius: 1.05rem;
        box-shadow: 0 8px 18px rgba(15,23,42,.05);
    }

    .esi-mobile-list-v179 {
        display: none;
        gap: 0;
        overflow: hidden;
        border: 1px solid rgba(15,23,42,.08);
        border-radius: 1.45rem;
        background: #fff;
        box-shadow: 0 18px 42px rgba(15,23,42,.08);
    }

    .esi-mobile-list-v179:empty {
        display: none;
    }

    .esi-card-v179 {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: .95rem;
        width: 100%;
        padding: 1rem .95rem;
        border: 0;
        border-radius: 0;
        border-bottom: 1px solid rgba(15,23,42,.07);
        background: #fff;
        box-shadow: none;
    }

    .esi-card-v179:last-child {
        border-bottom: 0;
    }

    .esi-card-v179:active {
        background: #f1f5f9;
        transform: none;
    }

    .esi-card-v179 .esi-avatar-v179 {
        width: 3.45rem;
        height: 3.45rem;
        border-radius: 999px;
        color: #fff;
        background: linear-gradient(135deg, #173d8f, #1f6fbf);
        box-shadow: 0 8px 18px rgba(31,111,191,.20);
    }

    .esi-card-main-v179 {
        gap: .22rem;
    }

    .esi-card-main-v179 strong {
        color: #0f172a;
        font-size: 1.08rem;
        line-height: 1.18;
        letter-spacing: -.01em;
    }

    .esi-card-main-v179 span {
        color: #334155;
        font-size: .94rem;
        line-height: 1.25;
    }

    .esi-card-main-v179 small {
        color: #64748b;
        font-size: .87rem;
        line-height: 1.25;
    }

    .esi-card-main-v179 em {
        display: inline-flex;
        width: fit-content;
        margin-top: .42rem;
        padding: .28rem .58rem;
        border-radius: 999px;
        color: #1f6fbf;
        background: rgba(219,234,254,.72);
        font-size: .78rem;
        font-weight: 950;
        letter-spacing: .02em;
    }

    .esi-card-chevron-v181 {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.8rem;
        height: 1.8rem;
        border-radius: 999px;
        color: #64748b;
        background: rgba(241,245,249,.92);
        font-size: 1.45rem;
        line-height: 1;
    }
}

@media (max-width: 420px) {
    .esi-mobile-controls-v179 {
        top: 8.25rem;
        outline-width: .4rem;
    }

    .esi-card-v179 {
        padding: .95rem .85rem;
    }

    .esi-card-v179 .esi-avatar-v179 {
        width: 3.2rem;
        height: 3.2rem;
    }
}

/* v184: restore ESI mobile results list visibility and keep native grouped-list styling. */
@media (max-width: 900px) {
    .esi-mobile-list-v179 {
        display: block;
    }

    .esi-mobile-list-v179:empty {
        display: none;
    }
}

/* v185: full-bleed ESI mobile list and squared sticky search/filter container. */
@media (max-width: 900px) {
    .esi-mobile-list-v179 {
        margin-left: -1rem;
        margin-right: -1rem;
        border-left: 0;
        border-right: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .esi-card-v179 {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .esi-mobile-controls-v179 {
        transition: border-radius .16s ease, margin .16s ease, box-shadow .16s ease, outline-color .16s ease;
    }

    .esi-mobile-controls-v179.is-stuck-v185 {
        margin-left: -1rem;
        margin-right: -1rem;
        border-left: 0;
        border-right: 0;
        border-radius: 0;
        outline: 0;
        box-shadow: 0 12px 28px rgba(15,23,42,.16);
    }
}

@media (min-width: 640px) and (max-width: 900px) {
    .esi-mobile-list-v179,
    .esi-mobile-controls-v179.is-stuck-v185 {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
    }

    .esi-card-v179 {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .esi-mobile-controls-v179.is-stuck-v185 {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

/* v186: ESI mobile sticky controls full-width and result count inside sticky area. */
@media (max-width: 900px) {
    .esi-mobile-controls-v179 {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding: .85rem max(1rem, env(safe-area-inset-right)) .9rem max(1rem, env(safe-area-inset-left));
        border-left: 0;
        border-right: 0;
        border-radius: 0;
        outline: 0;
        background: rgba(248,250,252,.99);
        box-shadow: 0 12px 30px rgba(15,23,42,.14);
    }

    .esi-mobile-controls-v179.is-stuck-v185 {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
        border-left: 0;
        border-right: 0;
        border-radius: 0;
        outline: 0;
        background: rgba(248,250,252,.995);
        box-shadow: 0 14px 32px rgba(15,23,42,.18);
    }

    .esi-mobile-controls-v179 .esi-search-row-v179 input,
    .esi-mobile-controls-v179.is-stuck-v185 .esi-search-row-v179 input {
        border: 0;
        border-radius: .85rem;
        box-shadow: 0 8px 18px rgba(15,23,42,.06);
    }

    .esi-mobile-controls-v179.is-stuck-v185 .esi-search-row-v179 input {
        border-radius: 0;
    }

    .esi-mobile-controls-v179.is-stuck-v185 .esi-filter-button-v179 {
        border-radius: 0;
    }

    .esi-mobile-count-v186 {
        display: block;
        padding: .15rem .1rem 0;
        color: #475569;
        font-size: .88rem;
        font-weight: 950;
        letter-spacing: .01em;
    }

    .esi-result-meta-v179 {
        display: none;
    }

    .esi-mobile-list-v179 {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        width: 100vw;
        max-width: 100vw;
    }

    .esi-card-v179 {
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
    }
}

@media (min-width: 901px) {
    .esi-mobile-count-v186 {
        display: none;
    }
}

/* v187: dynamic ESI sticky top under the actual site header. */
@media (max-width: 900px) {
    .esi-mobile-controls-v179,
    .esi-mobile-controls-v179.is-stuck-v185 {
        top: var(--rcmi-esi-sticky-top, 0px);
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding: .85rem max(1rem, env(safe-area-inset-right)) .9rem max(1rem, env(safe-area-inset-left));
        border: 0;
        border-radius: 0;
        outline: 0;
        background: rgba(248,250,252,1);
        box-shadow: 0 10px 26px rgba(15,23,42,.13);
    }

    .esi-mobile-controls-v179 .esi-search-row-v179 input,
    .esi-mobile-controls-v179.is-stuck-v185 .esi-search-row-v179 input {
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow: 0 6px 16px rgba(15,23,42,.06);
    }

    .esi-mobile-controls-v179 .esi-filter-button-v179,
    .esi-mobile-controls-v179.is-stuck-v185 .esi-filter-button-v179 {
        border-radius: 0;
    }

    .esi-mobile-list-v179 {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        width: 100vw;
        max-width: 100vw;
    }
}

/* v188: compact ESI mobile search/filter controls. */
@media (max-width: 900px) {
    .esi-mobile-controls-v179,
    .esi-mobile-controls-v179.is-stuck-v185 {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "search actions"
            "count count";
        align-items: center;
        gap: .55rem;
        padding-top: .62rem;
        padding-bottom: .62rem;
    }

    .esi-mobile-controls-v179 .esi-search-row-v179 {
        grid-area: search;
        display: block;
        gap: 0;
        min-width: 0;
    }

    .esi-mobile-controls-v179 .esi-search-row-v179::before {
        content: none !important;
        display: none !important;
    }

    .esi-mobile-controls-v179 .esi-search-row-v179 input,
    .esi-mobile-controls-v179.is-stuck-v185 .esi-search-row-v179 input {
        min-height: 2.85rem;
        height: 2.85rem;
        padding: .72rem .9rem;
        font-size: .98rem;
    }

    .esi-mobile-actions-v181 {
        grid-area: actions;
        display: flex;
        gap: .45rem;
        width: auto;
    }

    .esi-mobile-actions-v181 .esi-icon-button-v188,
    .esi-mobile-controls-v179.is-stuck-v185 .esi-mobile-actions-v181 .esi-icon-button-v188 {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.85rem;
        height: 2.85rem;
        min-width: 2.85rem;
        padding: 0;
        border-radius: .85rem;
    }

    .esi-mobile-controls-v179.is-stuck-v185 .esi-mobile-actions-v181 .esi-icon-button-v188,
    .esi-mobile-controls-v179.is-stuck-v185 .esi-search-row-v179 input {
        border-radius: 0;
    }

    .esi-icon-button-v188 svg {
        width: 1.22rem;
        height: 1.22rem;
        stroke: currentColor;
        fill: none;
        stroke-width: 2.2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .esi-icon-button-v188 svg path:first-child:last-child {
        fill: currentColor;
        stroke: none;
    }

    .esi-mobile-count-v186 {
        grid-area: count;
        padding-top: .05rem;
        font-size: .82rem;
    }
}

/* v189: use a filter-with-X icon for Clear filters instead of a delete/trash symbol. */
.esi-clear-filter-button-v189 svg path:first-child {
    fill: currentColor;
    stroke: none;
}

.esi-clear-filter-button-v189 svg path:not(:first-child) {
    fill: none;
    stroke: currentColor;
}

/* v190: hide footer navigation links on mobile because the main mobile menu remains available. */
@media (max-width: 900px) {
    .footer nav[aria-label="Footer primary navigation"],
    .footer nav[aria-label="Footer secondary navigation"] {
        display: none;
    }

    .footer > div {
        grid-template-columns: 1fr;
    }
}

/* v192: site polish pass for ESI popup, contact icons, home sections, info boxes, and Fees buttons. */
.esi-dialog-mailto-v192 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.9rem;
    padding: .85rem 1.1rem;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #2f6f3e, #48a566);
    font-weight: 950;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 14px 28px rgba(47,111,62,.18);
}

.esi-dialog-mailto-v192[hidden] {
    display: none !important;
}

body[data-page="contact"] .contact-route-icon-v89 {
    height: 11rem !important;
    min-height: 11rem !important;
    background:
        radial-gradient(circle at 18% 20%, rgba(255,255,255,.72), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(232,242,255,.98)) !important;
}

body[data-page="contact"] .contact-route-icon-v89 img {
    object-fit: contain !important;
    object-position: center center !important;
    padding: .75rem !important;
    transform: scale(1.08);
    filter: contrast(1.06) saturate(1.08) drop-shadow(0 12px 18px rgba(31,111,191,.14));
}

body[data-page="contact"] .contact-route-card-v66 {
    box-shadow: 0 22px 50px rgba(15,23,42,.09) !important;
}

body[data-page="home"] .info-strips-v26 {
    gap: 1rem;
}

body[data-page="home"] .info-strip-v26 {
    border-color: rgba(23,36,71,.16) !important;
    background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
    box-shadow: 0 16px 36px rgba(15,23,42,.07);
}

body[data-page="home"] .strip-green-v26,
body[data-page="home"] .strip-blue-v26,
body[data-page="home"] .strip-orange-v26 {
    border-color: rgba(23,36,71,.16) !important;
}

body[data-page="home"] .strip-green-v26 .info-strip-content-v26 h4,
body[data-page="home"] .strip-blue-v26 .info-strip-content-v26 h4,
body[data-page="home"] .strip-orange-v26 .info-strip-content-v26 h4 {
    color: #172447 !important;
}

body[data-page="home"] .info-strip-content-v26 h4 {
    letter-spacing: .08em;
    font-size: clamp(1.05rem, 1.28vw, 1.3rem);
}

body[data-page="home"] .info-strip-content-v26 p {
    color: #334155;
    font-size: clamp(1.05rem, 1.3vw, 1.28rem);
    font-weight: 850;
}

body[data-page="home"] .info-strip-left-v26 {
    background: linear-gradient(135deg, #172447, #2b67b6) !important;
}

body[data-page="home"] .info-strip-left-v26 img {
    filter: drop-shadow(0 12px 16px rgba(15,23,42,.22));
}

body[data-page="home"] .home-program-outline-card-v104 {
    position: relative;
    overflow: hidden;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 2rem;
    background:
        radial-gradient(circle at 12% 15%, rgba(87,199,214,.22), transparent 27rem),
        radial-gradient(circle at 86% 14%, rgba(247,113,15,.18), transparent 22rem),
        linear-gradient(135deg, #101f4a 0%, #172447 48%, #0f355d 100%);
    box-shadow: 0 30px 80px rgba(15,23,42,.18);
}

body[data-page="home"] .home-program-outline-card-v104::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 44px 44px;
    opacity: .35;
    pointer-events: none;
}

body[data-page="home"] .home-program-outline-card-v104 > * {
    position: relative;
    z-index: 1;
}

body[data-page="home"] .home-program-outline-card-v104 h2 {
    font-size: clamp(2rem, 3.5vw, 3.45rem) !important;
    line-height: 1.02;
}

body[data-page="home"] .home-program-outline-card-v104 p {
    font-size: clamp(1.08rem, 1.35vw, 1.25rem);
}

body[data-page="home"] .home-program-outline-card-v104 .glass {
    position: relative;
    min-height: 14.5rem;
    padding: 1.45rem !important;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.10);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 18px 34px rgba(15,23,42,.16);
}

body[data-page="home"] .home-program-outline-card-v104 .glass::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    margin-bottom: .85rem;
    border-radius: .85rem;
    color: #172447;
    background: #f0bd2f;
    font-weight: 950;
    box-shadow: 0 14px 28px rgba(240,189,47,.22);
}

body[data-page="home"] .home-program-outline-card-v104 .glass:nth-child(1)::before {
    content: "01";
}

body[data-page="home"] .home-program-outline-card-v104 .glass:nth-child(2)::before {
    content: "02";
}

body[data-page="home"] .home-program-outline-card-v104 .glass:nth-child(3)::before {
    content: "03";
}

body[data-page="home"] .home-program-outline-card-v104 .glass:nth-child(4)::before {
    content: "04";
}

body[data-page="home"] .home-program-outline-card-v104 .glass h3 {
    font-size: clamp(1.35rem, 1.75vw, 1.7rem) !important;
    line-height: 1.08;
}

body[data-page="home"] .home-program-outline-card-v104 .glass p {
    font-size: 1.02rem !important;
    line-height: 1.68 !important;
}

.btn-page-support,
.fees-sponsor-link-v58 {
    white-space: nowrap;
}

/* v198: preserve selected non-Home fixes after restoring Home CSS to v192. */

/* Contact page: keep the later request that the three contact images cover the full container width without padding or added detail effects. */
body[data-page="contact"] .contact-route-icon-v89 {
    display: block !important;
    width: 100% !important;
    height: 11rem !important;
    min-height: 11rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: #f8fbff !important;
    box-shadow: inset 0 0 0 1px rgba(59,114,198,.12) !important;
}

body[data-page="contact"] .contact-route-icon-v89 img {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    filter: none !important;
}

/* ESI popup mobile action order retained from the later ESI update:
   row 1: Send Email, Add Contact. row 2: Copy Email, Close. */
@media (max-width: 540px) {
    .esi-contact-dialog-v181 .esi-dialog-actions-v181 {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }

    .esi-contact-dialog-v181 [data-esi-mailto] {
        order: 1;
    }

    .esi-contact-dialog-v181 [data-esi-contact-confirm] {
        order: 2;
    }

    .esi-contact-dialog-v181 [data-esi-copy-email] {
        order: 3;
    }

    .esi-contact-dialog-v181 [data-esi-contact-cancel] {
        order: 4;
    }
}

/* v199: User-approved home page six-box design. Keep the top three page colors and use softer neutral detail cards below. */
/* v201: Keep the approved artwork but make each card horizontal so the images keep their aspect ratio without stretching. */
/* v202: Remove the duplicated text from the artwork and make the horizontal cards shorter. */
/* v203: Rebuild the six card illustrations as standalone assets instead of cropped mockup slices. */
/* v204: Use the exact approved six-box reference artwork for the visual panels and preserve aspect ratio. */
/* v205: Replace cropped/reference artwork with the newly generated standalone six-box artwork files. */
body[data-page="home"] .home-six-boxes-v199 {
    max-width: 90rem;
}

body[data-page="home"] .home-action-card-grid-v199,
body[data-page="home"] .home-detail-card-grid-v199 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(.8rem, 1.35vw, 1.15rem);
}

body[data-page="home"] .home-detail-card-grid-v199 {
    margin-top: clamp(.8rem, 1.35vw, 1.15rem);
}

/* v276: Author display:grid rules override the browser's default [hidden] styling, so explicitly hide the retired home detail-card row. */
body[data-page="home"] .home-detail-card-grid-v199[hidden] {
    display: none !important;
}

body[data-page="home"] .home-action-card-v199,
body[data-page="home"] .home-detail-card-v199 {
    display: grid;
    grid-template-columns: minmax(7.25rem, 39%) minmax(0, 1fr);
    min-height: clamp(5.95rem, 6.6vw, 7.15rem);
    border-radius: 1.2rem;
    overflow: hidden;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease;
}

body[data-page="home"] .home-action-card-v199 {
    color: #ffffff;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .14);
}

body[data-page="home"] .home-detail-card-v199 {
    background: linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .09);
}

body[data-page="home"] .home-action-card-v199:hover,
body[data-page="home"] .home-detail-card-v199:hover,
body[data-page="home"] .home-action-card-v199:focus-visible,
body[data-page="home"] .home-detail-card-v199:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 20px 42px rgba(15, 23, 42, .16);
    outline: none;
}

body[data-page="home"] .home-card-visual-v201 {
    position: relative;
    overflow: hidden;
    min-height: 100%;
}

body[data-page="home"] .home-card-visual-v201 img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: clamp(5.95rem, 6.6vw, 7.15rem);
    object-fit: contain;
    object-position: center center;
}

body[data-page="home"] .home-card-content-v201 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(.58rem, .92vw, .82rem);
}

body[data-page="home"] .home-action-card-v199 .home-card-content-v201 {
    background: linear-gradient(135deg, rgba(11, 29, 62, .18), rgba(255, 255, 255, .06));
}

body[data-page="home"] .home-action-card-register-v199 {
    background: linear-gradient(135deg, #004a96 0%, #0b63b6 54%, #0a4f99 100%);
}

body[data-page="home"] .home-action-card-program-v199 {
    background: linear-gradient(135deg, #0c5c24 0%, #147a32 54%, #0f612a 100%);
}

body[data-page="home"] .home-action-card-abstract-v199 {
    background: linear-gradient(135deg, #3a2773 0%, #65429b 54%, #332264 100%);
}

body[data-page="home"] .home-detail-card-location-v199 {
    border: 1px solid rgba(95, 124, 77, .35);
}

body[data-page="home"] .home-detail-card-dates-v199 {
    border: 1px solid rgba(72, 99, 118, .32);
}

body[data-page="home"] .home-detail-card-time-v199 {
    border: 1px solid rgba(130, 113, 86, .35);
}

body[data-page="home"] .home-action-card-v199 h3,
body[data-page="home"] .home-detail-card-v199 h3 {
    margin: 0;
    font-weight: 900;
    letter-spacing: .055em;
    line-height: 1.08;
}

body[data-page="home"] .home-action-card-v199 h3 {
    color: #ffffff;
    font-size: clamp(1.08rem, 1.28vw, 1.42rem);
    text-shadow: 0 2px 6px rgba(0, 0, 0, .22);
}

body[data-page="home"] .home-detail-card-v199 h3 {
    font-size: clamp(1.12rem, 1.3vw, 1.4rem);
}

body[data-page="home"] .home-detail-card-location-v199 h3,
body[data-page="home"] .home-detail-card-location-v199 .home-card-small-icon-v201 {
    color: #547646;
}

body[data-page="home"] .home-detail-card-dates-v199 h3,
body[data-page="home"] .home-detail-card-dates-v199 .home-card-small-icon-v201 {
    color: #526a7a;
}

body[data-page="home"] .home-detail-card-time-v199 h3,
body[data-page="home"] .home-detail-card-time-v199 .home-card-small-icon-v201 {
    color: #7b6f5c;
}

body[data-page="home"] .home-action-card-v199 p,
body[data-page="home"] .home-detail-card-v199 p {
    margin: .35rem 0 0;
    line-height: 1.28;
}

body[data-page="home"] .home-action-card-v199 p {
    color: rgba(255, 255, 255, .92);
    font-size: clamp(.9rem, .98vw, 1.06rem);
    font-weight: 650;
}

body[data-page="home"] .home-detail-card-v199 p {
    color: #334155;
    font-size: clamp(.98rem, 1.08vw, 1.14rem);
    font-weight: 750;
}

body[data-page="home"] .home-card-arrow-v201 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    margin-top: .45rem;
    border: 2px solid rgba(255, 255, 255, .82);
    border-radius: 999px;
    color: #ffffff;
    font-size: 1.05rem;
    line-height: 1;
}

body[data-page="home"] .home-card-small-icon-v201 {
    display: none;
}

body[data-page="home"] .home-detail-card-v199 .home-card-content-v201::after {
    content: "";
    width: 3.4rem;
    height: 2px;
    margin-top: .5rem;
    background: currentColor;
    opacity: .55;
}

@media (max-width: 1180px) {
    body[data-page="home"] .home-action-card-v199,
    body[data-page="home"] .home-detail-card-v199 {
        grid-template-columns: 37% minmax(0, 1fr);
    }

    body[data-page="home"] .home-card-content-v201 {
        padding: .66rem;
    }
}

@media (max-width: 900px) {
    body[data-page="home"] .home-action-card-grid-v199,
    body[data-page="home"] .home-detail-card-grid-v199 {
        grid-template-columns: 1fr;
        max-width: 38rem;
        margin-left: auto;
        margin-right: auto;
    }

    body[data-page="home"] .home-action-card-v199,
    body[data-page="home"] .home-detail-card-v199 {
        grid-template-columns: minmax(8.5rem, 39%) minmax(0, 1fr);
        min-height: clamp(6.15rem, 18vw, 7.25rem);
    }

    body[data-page="home"] .home-card-visual-v201 img {
        min-height: clamp(6.15rem, 18vw, 7.25rem);
    }
}

@media (max-width: 520px) {
    body[data-page="home"] .home-action-card-v199,
    body[data-page="home"] .home-detail-card-v199 {
        grid-template-columns: 38% minmax(0, 1fr);
        min-height: 6.1rem;
    }

    body[data-page="home"] .home-card-visual-v201 img {
        min-height: 6.1rem;
    }

    body[data-page="home"] .home-card-content-v201 {
        padding: .58rem;
    }
}

/* v213: match public-site logo sizing to the attendee/admin app header. */
.site-header-v26 .site-logo-v26 {
    height: 4.4rem !important;
    max-width: min(100%, 28rem) !important;
    object-fit: contain;
}

@media (max-width: 768px) {
    .site-header-v26 .site-logo-v26 {
        height: 3.25rem !important;
        max-width: min(100%, 18rem) !important;
    }
}

/* v232: hide public abstract subcategory lists and keep only major abstract categories visible. */
body[data-page="abstracts"] .abstract-subcategory-list-v69 {
    display: none;
}


/* v233: requested static-site refinements for abstracts, registration modal, venue hotel rates, fees actions, and contact card alignment. */
body[data-page="abstracts"] .abstract-category-grid-v68 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem .9rem;
    padding: 1rem;
    border: 1px solid rgba(127,47,152,.13);
    border-radius: 1.45rem;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 46px rgba(15,23,42,.07);
}

body[data-page="abstracts"] .abstract-category-grid-v68 article {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: .7rem;
    min-height: 3.3rem;
    padding: .65rem .8rem;
    border-radius: 1rem;
    border-color: rgba(127,47,152,.10);
    background: linear-gradient(135deg, rgba(248,250,252,.95), rgba(255,255,255,.98));
    box-shadow: none;
}

body[data-page="abstracts"] .abstract-category-grid-v68 span {
    width: 2.35rem;
    height: 2.35rem;
    min-width: 2.35rem;
    border-radius: .75rem;
    font-size: .9rem;
    letter-spacing: .02em;
}

body[data-page="abstracts"] .abstract-category-grid-v68 h3 {
    margin: 0;
    font-size: .98rem;
    line-height: 1.25;
}

body[data-page="abstracts"] .abstract-subcategory-list-v69 {
    display: none !important;
}

@media (max-width: 760px) {
    body[data-page="abstracts"] .abstract-category-grid-v68 {
        grid-template-columns: 1fr;
    }
}

.registration-external-modal-v233 {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(15,23,42,.62);
    backdrop-filter: blur(4px);
}

.registration-external-modal-v233:target {
    display: flex;
}

.registration-external-card-v233 {
    position: relative;
    width: min(100%, 34rem);
    padding: clamp(1.2rem, 3vw, 2rem);
    border-radius: 1.4rem;
    border: 1px solid rgba(23,61,143,.16);
    background: #ffffff;
    box-shadow: 0 30px 90px rgba(15,23,42,.28);
}

.registration-external-card-v233 h2 {
    margin: .3rem 0 .75rem;
    color: #172447;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 950;
    line-height: 1.08;
}

.registration-external-card-v233 p:not(.kicker) {
    color: #475569;
    line-height: 1.7;
}

.registration-external-close-v233 {
    position: absolute;
    top: .75rem;
    right: .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 999px;
    color: #172447;
    background: #f1f5f9;
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
}

.registration-external-actions-v233 {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.15rem;
}

.fees-action-stack-v233 {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .65rem;
}

.fees-hotel-link-v233 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: .8rem 1.2rem;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 950;
}

body[data-page="fees"] .fees-row-v58.head-v58 span {
    display: inline;
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: .78rem;
    font-weight: 800;
}

.venue-hotel-rates-v233 {
    margin-top: 1.25rem;
    padding: clamp(1.2rem, 2.5vw, 2rem);
    border: 1px solid rgba(47,133,170,.16);
    border-radius: 1.6rem;
    background: rgba(255,255,255,.96);
    box-shadow: 0 22px 54px rgba(15,23,42,.08);
}

.venue-hotel-rates-head-v233 {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .95rem;
}

.venue-hotel-rates-head-v233 h3 {
    margin: .25rem 0 0;
    color: #172447;
    font-size: clamp(1.45rem, 2.5vw, 2.25rem);
    font-weight: 950;
    line-height: 1.1;
}

.venue-hotel-rates-v233 p {
    color: #475569;
    line-height: 1.75;
}

.venue-hotel-address-card-v233 {
    display: grid;
    gap: .2rem;
    margin: 1rem 0;
    padding: 1rem;
    border-radius: 1.1rem;
    background: linear-gradient(135deg, rgba(239,246,255,.95), rgba(255,255,255,.98));
    color: #475569;
}

.venue-hotel-address-card-v233 strong {
    color: #172447;
    font-size: 1.1rem;
    font-weight: 950;
}

.venue-hotel-rate-grid-v233 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1rem;
}

.venue-hotel-rate-grid-v233 article {
    padding: 1rem;
    border-radius: 1.05rem;
    background: linear-gradient(135deg, rgba(47,133,170,.10), rgba(87,199,214,.08));
    text-align: center;
}

.venue-hotel-rate-grid-v233 span,
.venue-hotel-policy-grid-v233 span {
    display: block;
    color: #64748b;
    font-size: .88rem;
    line-height: 1.45;
}

.venue-hotel-rate-grid-v233 strong {
    display: block;
    margin-top: .35rem;
    color: #172447;
    font-size: 1.85rem;
    font-weight: 950;
}

.venue-hotel-policy-grid-v233 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin-top: .9rem;
}

.venue-hotel-policy-grid-v233 article {
    padding: 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(15,23,42,.08);
    background: #f8fafc;
}

.venue-hotel-policy-grid-v233 strong {
    display: block;
    margin-bottom: .25rem;
    color: #172447;
    font-weight: 950;
}

@media (max-width: 860px) {
    .venue-hotel-rates-head-v233,
    .fees-overview-v58 {
        align-items: start;
        flex-direction: column;
    }

    .fees-action-stack-v233 {
        justify-content: flex-start;
    }

    .venue-hotel-rate-grid-v233,
    .venue-hotel-policy-grid-v233 {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 540px) {
    .venue-hotel-rate-grid-v233,
    .venue-hotel-policy-grid-v233 {
        grid-template-columns: 1fr;
    }
}

body[data-page="contact"] .contact-route-grid-v66 {
    align-items: stretch;
}

body[data-page="contact"] .contact-route-card-v66 {
    display: grid !important;
    grid-template-rows: auto auto minmax(6.2rem, auto) minmax(4.3rem, auto) minmax(5.2rem, auto);
    padding: 1.35rem !important;
    overflow: visible !important;
}

body[data-page="contact"] .contact-route-icon-v89,
body[data-page="contact"] .contact-route-icon-v66 {
    display: none !important;
}

body[data-page="contact"] .contact-route-card-v66 > small,
body[data-page="contact"] .contact-route-card-v66 > h3,
body[data-page="contact"] .contact-route-card-v66 > p {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body[data-page="contact"] .contact-route-card-v66 > small {
    min-height: 1.55rem;
    margin-top: 0 !important;
}

body[data-page="contact"] .contact-route-card-v66 > h3 {
    min-height: 3.2rem;
    margin-bottom: .55rem;
}

body[data-page="contact"] .contact-route-card-v66 > p:first-of-type {
    min-height: 6.2rem;
}

body[data-page="contact"] .contact-route-card-v66 > p:nth-of-type(2) {
    min-height: 4.3rem;
}

body[data-page="contact"] .contact-route-card-v66 em {
    display: flex;
    align-items: flex-start;
    min-height: 5.2rem;
    margin: 0 !important;
    padding-top: .9rem !important;
}

@media (max-width: 900px) {
    body[data-page="contact"] .contact-route-card-v66,
    body[data-page="contact"] .contact-route-card-v66 > small,
    body[data-page="contact"] .contact-route-card-v66 > h3,
    body[data-page="contact"] .contact-route-card-v66 > p:first-of-type,
    body[data-page="contact"] .contact-route-card-v66 > p:nth-of-type(2),
    body[data-page="contact"] .contact-route-card-v66 em {
        min-height: 0;
    }
}


/* v234: external abstract download link, smaller abstract category titles, and stricter contact-card row alignment. */
body[data-page="abstracts"] .abstract-category-grid-v68 h3 {
    font-size: .56rem;
    line-height: 1.18;
    font-weight: 700;
    letter-spacing: .01em;
}

@media (min-width: 901px) {
    body[data-page="contact"] .contact-route-card-v66 {
        display: grid !important;
        grid-template-rows: 1.55rem 5.15rem 6.55rem 4.65rem minmax(5.25rem, auto) !important;
        row-gap: .45rem;
        align-content: start;
    }

    body[data-page="contact"] .contact-route-card-v66 > small {
        grid-row: 1;
        min-height: 0 !important;
        margin: 0 !important;
        align-self: start;
    }

    body[data-page="contact"] .contact-route-card-v66 > h3 {
        grid-row: 2;
        min-height: 0 !important;
        margin: 0 !important;
        align-self: start;
    }

    body[data-page="contact"] .contact-route-card-v66 > p:first-of-type {
        grid-row: 3;
        min-height: 0 !important;
        margin: 0 !important;
        align-self: start;
    }

    body[data-page="contact"] .contact-route-card-v66 > p:nth-of-type(2) {
        grid-row: 4;
        min-height: 0 !important;
        margin: 0 !important;
        align-self: start;
    }

    body[data-page="contact"] .contact-route-card-v66 em {
        grid-row: 5;
        min-height: 0 !important;
        margin: 0 !important;
        align-self: stretch;
    }
}

/* v235: external abstract guideline link opens separately, smaller abstract category titles, and fully stretched contact purpose boxes. */
body[data-page="abstracts"] .abstract-category-grid-v68 h3 {
    font-size: .37rem !important;
    line-height: 1.12 !important;
    font-weight: 650 !important;
    letter-spacing: .005em !important;
}

@media (min-width: 901px) {
    body[data-page="contact"] .contact-route-grid-v66 {
        align-items: stretch !important;
    }

    body[data-page="contact"] .contact-route-card-v66 {
        height: 100% !important;
        display: grid !important;
        grid-template-rows: 1.55rem 5.35rem 6.7rem 4.9rem 1fr !important;
        row-gap: .45rem !important;
        align-content: stretch !important;
    }

    body[data-page="contact"] .contact-route-card-v66 > small {
        grid-row: 1 !important;
    }

    body[data-page="contact"] .contact-route-card-v66 > h3 {
        grid-row: 2 !important;
    }

    body[data-page="contact"] .contact-route-card-v66 > p:first-of-type {
        grid-row: 3 !important;
    }

    body[data-page="contact"] .contact-route-card-v66 > p:nth-of-type(2) {
        grid-row: 4 !important;
    }

    body[data-page="contact"] .contact-route-card-v66 em {
        grid-row: 5 !important;
        align-self: stretch !important;
        display: flex !important;
        align-items: flex-start !important;
        height: 100% !important;
        min-height: 100% !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: .9rem .75rem !important;
    }
}


/* v236: static-site menu and layout refinements. */
body[data-page="home"] .home-action-card-v199,
body[data-page="home"] .home-detail-card-v199 {
    min-height: clamp(4.75rem, 5.25vw, 5.65rem) !important;
    grid-template-columns: minmax(5.8rem, 34%) minmax(0, 1fr) !important;
}

body[data-page="home"] .home-card-visual-v201 img {
    min-height: clamp(4.75rem, 5.25vw, 5.65rem) !important;
    max-height: 5.9rem !important;
}

body[data-page="home"] .home-card-content-v201 {
    padding: clamp(.45rem, .75vw, .68rem) !important;
}

body[data-page="home"] .home-card-arrow-v201 {
    width: 1.45rem !important;
    height: 1.45rem !important;
    margin-top: .28rem !important;
    font-size: .9rem !important;
}

body[data-page="home"] .home-program-outline-intro-v236,
body[data-page="home"] .home-program-outline-card-v104 > .max-w-5xl {
    max-width: 68rem !important;
}

body[data-page="abstracts"] .abstract-category-grid-v68 h3 {
    font-size: .84rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: .005em !important;
}

body[data-page="fees"] .fees-page-header-card-v236,
body[data-page="esi"] .esi-page-header-card-v236 {
    border: 1px solid rgba(23,61,143,.14) !important;
    border-radius: 2rem !important;
    background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
    box-shadow: 0 20px 50px rgba(15,23,42,.08) !important;
    padding: clamp(1.25rem, 3vw, 2rem) !important;
}

body[data-page="fees"] .fees-page-header-card-v236 {
    display: grid !important;
    gap: 1.2rem !important;
}

body[data-page="fees"] .fees-page-header-card-v236 .fees-action-stack-v233,
body[data-page="esi"] .esi-header-actions-v236 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .75rem !important;
    justify-content: flex-start !important;
    margin-top: 1rem !important;
}

body[data-page="fees"] .fees-page-header-card-v236 .fees-action-stack-v233 a {
    min-width: 13rem;
}

body[data-page="esi"] .esi-hidden-banner-v236 {
    display: none !important;
}

body[data-page="esi"] .esi-page-v179 {
    background: transparent !important;
}

body[data-page="esi"] .esi-directory-heading-v179 h2 {
    max-width: 56rem;
}

body[data-page="contact"] .contact-route-grid-v66 {
    align-items: stretch !important;
}

@media (min-width: 901px) {
    body[data-page="contact"] .contact-route-card-v66 {
        display: grid !important;
        grid-template-rows: 1.55rem 5.85rem 7.1rem 4.85rem minmax(7rem, 1fr) !important;
        height: 100% !important;
    }
    body[data-page="contact"] .contact-route-card-v66 em {
        display: flex !important;
        min-height: 7rem !important;
        height: 100% !important;
        align-self: stretch !important;
        align-items: flex-start !important;
    }
}

@media (max-width: 900px) {
    body[data-page="home"] .home-action-card-v199,
    body[data-page="home"] .home-detail-card-v199,
    body[data-page="home"] .home-card-visual-v201 img {
        min-height: 5.35rem !important;
    }
    body[data-page="fees"] .fees-page-header-card-v236 .fees-action-stack-v233 a,
    body[data-page="fees"] .fees-page-header-card-v236 .fees-action-stack-v233 .app-btn {
        width: 100%;
    }
}

/* v237: final static-site refinements requested after v236 review. */
body[data-page="home"] .home-action-card-v199 .home-card-visual-v201 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: clamp(4.75rem, 5.25vw, 5.65rem) !important;
}

body[data-page="home"] .home-action-card-v199 .home-card-visual-v201 img {
    width: 92% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: clamp(4.15rem, 4.65vw, 5.1rem) !important;
    object-fit: contain !important;
    object-position: center center !important;
}

body[data-page="abstracts"] .abstract-category-grid-v68 h3 {
    font-size: .96rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: .004em !important;
}

.registration-external-modal-v233.registration-external-modal-hidden-v237 {
    display: none !important;
}

@media (max-width: 900px) {
    body[data-page="fees"] .fees-page-header-card-v236 .fees-action-stack-v233 a,
    body[data-page="fees"] .fees-page-header-card-v236 .fees-action-stack-v233 .app-btn,
    body[data-page="fees"] .fees-page-header-card-v236 .fees-action-stack-v233 .btn-page-registration,
    body[data-page="fees"] .fees-page-header-card-v236 .fees-action-stack-v233 .btn-secondary {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        text-align: center !important;
        line-height: 1.25 !important;
        font-size: clamp(.78rem, 3.5vw, .95rem) !important;
        padding-left: .85rem !important;
        padding-right: .85rem !important;
        box-sizing: border-box !important;
    }
}

@media (min-width: 901px) {
    body[data-page="contact"] .contact-route-grid-v66 {
        display: grid !important;
        grid-template-columns: 1.05fr 1fr 1fr !important;
        align-items: stretch !important;
    }

    body[data-page="contact"] .contact-route-card-v66 {
        display: grid !important;
        grid-template-rows: 1.4rem 5.6rem 6.5rem 4.9rem minmax(7.5rem, 1fr) !important;
        row-gap: .55rem !important;
        height: 100% !important;
        align-content: stretch !important;
    }

    body[data-page="contact"] .contact-route-card-v66 > small,
    body[data-page="contact"] .contact-route-card-v66 > h3,
    body[data-page="contact"] .contact-route-card-v66 > p,
    body[data-page="contact"] .contact-route-card-v66 > em {
        margin: 0 !important;
    }

    body[data-page="contact"] .contact-route-card-v66 > small {
        grid-row: 1 !important;
        align-self: start !important;
    }

    body[data-page="contact"] .contact-route-card-v66 > h3 {
        grid-row: 2 !important;
        align-self: start !important;
    }

    body[data-page="contact"] .contact-route-card-v66 > p:first-of-type {
        grid-row: 3 !important;
        align-self: start !important;
    }

    body[data-page="contact"] .contact-route-card-v66 > p:nth-of-type(2) {
        grid-row: 4 !important;
        align-self: start !important;
    }

    body[data-page="contact"] .contact-route-card-v66 > em {
        grid-row: 5 !important;
        display: flex !important;
        align-items: flex-start !important;
        height: 100% !important;
        min-height: 100% !important;
        align-self: stretch !important;
        box-sizing: border-box !important;
    }
}

/* v238: home card icon and abstract category readability refinements. */
body[data-page="home"] .home-action-card-v199 .home-card-visual-v201 img {
    width: 98% !important;
    max-height: clamp(4.55rem, 5.05vw, 5.55rem) !important;
}

body[data-page="abstracts"] .abstract-category-grid-v68 h3 {
    font-size: 1.08rem !important;
    line-height: 1.22 !important;
    font-weight: 700 !important;
    letter-spacing: .003em !important;
}

@media (max-width: 640px) {
    body[data-page="abstracts"] .abstract-category-grid-v68 h3 {
        font-size: 1rem !important;
    }
}

/* v239: home icon and abstract category readability refinements. */
body[data-page="home"] .home-action-card-v199 .home-card-visual-v201 img {
    width: 106% !important;
    max-height: clamp(4.85rem, 5.45vw, 5.95rem) !important;
}

body[data-page="abstracts"] .abstract-category-grid-v68 h3 {
    font-size: 1.24rem !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    letter-spacing: .002em !important;
}

@media (max-width: 640px) {
    body[data-page="abstracts"] .abstract-category-grid-v68 h3 {
        font-size: 1.12rem !important;
    }
}


/* v240: top home action icon and abstract category readability refinements. */
body[data-page="home"] .home-action-card-v199 .home-card-visual-v201 img {
    width: 112% !important;
    max-height: clamp(5.05rem, 5.75vw, 6.3rem) !important;
}

body[data-page="abstracts"] .abstract-category-grid-v68 h3 {
    font-size: 1.38rem !important;
    line-height: 1.16 !important;
    font-weight: 700 !important;
    letter-spacing: .001em !important;
}

@media (max-width: 640px) {
    body[data-page="abstracts"] .abstract-category-grid-v68 h3 {
        font-size: 1.22rem !important;
    }
}

/* v247: updated Commercial Exhibitor rates, static contact-card overflow fix, and muted static preview support. */
@media (min-width: 901px) {
    body[data-page="contact"] .contact-route-card-v66 {
        display: grid !important;
        grid-template-rows: 1.4rem 5.85rem 7.1rem 6.25rem minmax(7.5rem, 1fr) !important;
        row-gap: .55rem !important;
        min-height: 30rem !important;
        height: 100% !important;
        align-content: stretch !important;
        overflow: visible !important;
    }

    body[data-page="contact"] .contact-route-card-v66 > p:nth-of-type(2) {
        align-self: stretch !important;
        min-height: 6.25rem !important;
    }

    body[data-page="contact"] .contact-route-card-v66 em {
        min-height: 7.5rem !important;
    }
}

body[data-page="contact"] .contact-route-card-v66 > p a {
    overflow-wrap: anywhere;
}


/* v249: exact same-time agenda groups use one shared time slot on the left. */
.agenda-concurrent-timegroup-v84 .agenda-session-card-v51.no-time-v84 {
    grid-template-columns: minmax(0, 1fr) !important;
}

.agenda-concurrent-timegroup-v84 .agenda-session-card-v51.no-time-v84::before,
.agenda-concurrent-timegroup-v84 .agenda-session-card-v51.no-time-v84 .agenda-time-v51 {
    display: none !important;
}

.app-agenda2-timegroup-v249 .agenda-shared-time-v84 span {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

@media (max-width: 900px) {
    .app-agenda2-timegroup-v249 .agenda-shared-time-v84 span {
        writing-mode: horizontal-tb;
        transform: none;
    }
}

/* v252: agenda time slots use predictable day-based color sequence across static Agenda and Agenda 2. */
.agenda-timeline-v51 > :nth-child(6n+1) { --agenda-slot: #1f6fbf; --agenda-slot-soft: #eaf3fb; --agenda-slot-border: rgba(31,111,191,.24); }
.agenda-timeline-v51 > :nth-child(6n+2) { --agenda-slot: #2c7d3d; --agenda-slot-soft: #edf7ef; --agenda-slot-border: rgba(44,125,61,.24); }
.agenda-timeline-v51 > :nth-child(6n+3) { --agenda-slot: #7f2f98; --agenda-slot-soft: #f4eefa; --agenda-slot-border: rgba(127,47,152,.24); }
.agenda-timeline-v51 > :nth-child(6n+4) { --agenda-slot: #f7710f; --agenda-slot-soft: #fff1e7; --agenda-slot-border: rgba(247,113,15,.28); }
.agenda-timeline-v51 > :nth-child(6n+5) { --agenda-slot: #0f8ca8; --agenda-slot-soft: #e9f7fa; --agenda-slot-border: rgba(15,140,168,.24); }
.agenda-timeline-v51 > :nth-child(6n+6) { --agenda-slot: #df2334; --agenda-slot-soft: #fff0f1; --agenda-slot-border: rgba(223,35,52,.24); }

.agenda-timeline-v51 > .agenda-session-card-v51,
.agenda-timeline-v51 > .agenda-concurrent-timegroup-v84 .agenda-session-card-v51 {
    --agenda-accent: var(--agenda-slot) !important;
}

.agenda-timeline-v51 > .agenda-session-card-v51 > .agenda-time-v51,
.agenda-timeline-v51 > .agenda-concurrent-timegroup-v84 > .agenda-shared-time-v84 {
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--agenda-slot) 18%, transparent), transparent 45%),
        linear-gradient(135deg, var(--agenda-slot-soft), #ffffff) !important;
    color: #172447 !important;
    border: 1px solid var(--agenda-slot-border) !important;
    box-shadow: 0 14px 30px rgba(15,23,42,.06) !important;
}

.agenda-timeline-v51 > .agenda-session-card-v51 > .agenda-time-v51,
.agenda-timeline-v51 > .agenda-concurrent-timegroup-v84 > .agenda-shared-time-v84 span {
    color: var(--agenda-slot) !important;
}

@media (max-width: 900px) {
    .agenda-timeline-v51 > .agenda-session-card-v51 > .agenda-time-v51,
    .agenda-timeline-v51 > .agenda-concurrent-timegroup-v84 > .agenda-shared-time-v84 {
        border-radius: 1rem !important;
    }
}


/* v253: agenda day hero contrast and card footer alignment. */
.monday-theme-v51 {
    background: linear-gradient(135deg, #285f96, #2fa6b4) !important;
}

.agenda-session-card-v51 {
    align-items: stretch !important;
}

.agenda-session-card-v51 > .agenda-session-body-v51 {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
}

.agenda-session-card-v51 > .agenda-session-body-v51 .agenda-details-v51:first-of-type {
    margin-top: auto !important;
}

.agenda-session-card-v51 > .agenda-session-body-v51 .agenda-details-v51 + .agenda-details-v51 {
    margin-top: .65rem !important;
}

@media (max-width: 900px) {
    .agenda-session-card-v51 > .agenda-session-body-v51 .agenda-details-v51:first-of-type {
        margin-top: .85rem !important;
    }
}

/* v253 refinement: keep agenda tags directly above detail buttons on wide cards. */
@media (min-width: 901px) {
    .agenda-session-body-v51 > p:has(.agenda-chip-v51) {
        order: 20 !important;
        margin-top: auto !important;
        margin-bottom: .35rem !important;
    }

    .agenda-session-body-v51 > .agenda-details-v51 {
        order: 30 !important;
    }

    .agenda-session-body-v51:has(> p .agenda-chip-v51) > .agenda-details-v51:first-of-type {
        margin-top: .5rem !important;
    }
}

/* v254: make Monday day header distinct from the active tab and align agenda card tags/actions. */
.agenda-panel-v51 .agenda-day-hero-v51.monday-theme-v51,
.agenda-day-hero-v51.monday-theme-v51 {
    background: linear-gradient(135deg, #233f5f, #6f8798) !important;
}

.agenda-card-tags-v254 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    margin: .85rem 0 .45rem !important;
}

@media (min-width: 901px) {
    .agenda-session-card-v51 > .agenda-session-body-v51 .agenda-card-tags-v254 {
        order: 20 !important;
        margin-top: auto !important;
        margin-bottom: .4rem !important;
    }

    .agenda-session-card-v51 > .agenda-session-body-v51 .agenda-card-tags-v254 + .agenda-details-v51 {
        margin-top: .5rem !important;
    }

    .agenda-session-card-v51 > .agenda-session-body-v51 > .agenda-details-v51 {
        order: 30 !important;
    }
}

/* v255: keep static agenda tags above action buttons and keep multiple actions in a row on desktop. */
.agenda-session-body-v51 > .agenda-card-tags-v254,
.agenda-session-body-v51 > p.agenda-card-tags-v254 {
    order: 20 !important;
    margin-top: auto !important;
    margin-bottom: .45rem !important;
}

.agenda-session-body-v51 > .agenda-card-actions-v255 {
    order: 30 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: .65rem !important;
    margin-top: .3rem !important;
}

.agenda-session-body-v51 > .agenda-card-actions-v255 > .agenda-details-v51 {
    margin: 0 !important;
    flex: 0 1 auto !important;
    min-width: min(14rem, 100%) !important;
}

.agenda-session-body-v51 > .agenda-card-actions-v255 > .agenda-details-v51[open] {
    flex-basis: 100% !important;
}

@media (min-width: 901px) {
    .agenda-session-body-v51 > .agenda-card-actions-v255 > .agenda-details-v51 > summary {
        min-height: 3rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: normal !important;
    }
}

@media (max-width: 640px) {
    .agenda-session-body-v51 > .agenda-card-actions-v255 > .agenda-details-v51 {
        flex-basis: 100% !important;
        min-width: 100% !important;
    }
}

/* v255 refinement: prevent older bottom-alignment rules from forcing the first details button to a separate line. */
.agenda-session-card-v51 > .agenda-session-body-v51 > .agenda-card-actions-v255 > .agenda-details-v51:first-of-type {
    margin: 0 !important;
}

/* v256: smaller/lighter session-card detail controls and desktop tab-style supplemental sections. */
.agenda-card-actions-v255:empty {
    display: none !important;
}

.agenda-card-actions-v255 .agenda-details-v51 > summary,
.agenda-detail-tab-v82 {
    font-size: .86rem !important;
    font-weight: 720 !important;
    letter-spacing: .01em !important;
    line-height: 1.16 !important;
}

.agenda-detail-tab-v82 {
    padding: .52rem .75rem !important;
    border-radius: .82rem !important;
    min-height: 2.35rem !important;
}

@media (min-width: 901px) {
    .agenda-detail-tabs-v82 {
        width: 100% !important;
        margin-top: .35rem !important;
        order: 30 !important;
    }

    .agenda-detail-tablist-v82 {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        gap: .45rem !important;
    }

    .agenda-detail-tab-v82 {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        flex: 0 1 auto !important;
        min-width: min(11rem, 100%) !important;
    }

    .agenda-detail-panels-v82 {
        width: 100% !important;
        margin-top: .55rem !important;
    }

    .agenda-detail-panel-v82 {
        width: 100% !important;
    }
}

@media (max-width: 900px) {
    body[data-page="agenda"] .agenda-detail-tablist-v82,
    .agenda-detail-tablist-v82 {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .5rem !important;
    }

    body[data-page="agenda"] .agenda-detail-tab-v82,
    .agenda-detail-tab-v82 {
        width: 100% !important;
        min-height: 2.6rem !important;
        padding: .66rem .75rem !important;
        font-size: .84rem !important;
        line-height: 1.15 !important;
    }
}

/* v257: wider-responsive agenda controls and stable same-time card heights. */
@media (min-width: 901px) {
    body[data-page="agenda"] .agenda-concurrent-grid-v51,
    body[data-page="agenda"] .agenda-concurrent-timegroup-v84 .agenda-concurrent-grid-v51,
    body[data-page="agenda"] .workshops-v51 {
        align-items: start !important;
    }

    body[data-page="agenda"] .agenda-concurrent-grid-v51 > .agenda-session-card-v51,
    body[data-page="agenda"] .agenda-concurrent-timegroup-v84 .agenda-concurrent-grid-v51 > .agenda-session-card-v51 {
        align-self: start !important;
        height: auto !important;
    }

    body[data-page="agenda"] .agenda-session-card-v51 > .agenda-session-body-v51 {
        display: flex !important;
        flex-direction: column !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 {
        margin-top: auto !important;
        display: flex !important;
        flex-direction: column !important;
        gap: .55rem !important;
        width: 100% !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-tags-v254 {
        order: 10 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-actions-v255,
    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-detail-tabs-v82 {
        order: 20 !important;
        margin-top: 0 !important;
    }

    body[data-page="agenda"] .agenda-detail-tab-v82,
    body[data-page="agenda"] .agenda-card-actions-v255 .agenda-details-v51 > summary {
        font-size: clamp(.72rem, .64rem + .18vw, .88rem) !important;
        font-weight: 650 !important;
        min-height: 2.12rem !important;
        padding: .46rem .68rem !important;
    }
}

@media (max-width: 900px) {
    body[data-page="agenda"] .agenda-card-lower-v257 {
        display: flex !important;
        flex-direction: column !important;
        gap: .55rem !important;
        margin-top: .85rem !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-tags-v254,
    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-actions-v255,
    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-detail-tabs-v82 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}


/* v258: keep same-time agenda cards equal-height while controls stay visually stable, and make agenda controls scale with page width. */
@media (min-width: 901px) {
    body[data-page="agenda"] .agenda-concurrent-grid-v51,
    body[data-page="agenda"] .agenda-concurrent-timegroup-v84 .agenda-concurrent-grid-v51,
    body[data-page="agenda"] .workshops-v51 {
        align-items: stretch !important;
    }

    body[data-page="agenda"] .agenda-concurrent-grid-v51 > .agenda-session-card-v51,
    body[data-page="agenda"] .agenda-concurrent-timegroup-v84 .agenda-concurrent-grid-v51 > .agenda-session-card-v51 {
        align-self: stretch !important;
        height: 100% !important;
    }

    body[data-page="agenda"] .agenda-concurrent-grid-v51 > .agenda-session-card-v51 > .agenda-session-body-v51,
    body[data-page="agenda"] .agenda-concurrent-timegroup-v84 .agenda-concurrent-grid-v51 > .agenda-session-card-v51 > .agenda-session-body-v51 {
        height: 100% !important;
    }

    body[data-page="agenda"] .agenda-concurrent-grid-v51 .agenda-card-lower-v257,
    body[data-page="agenda"] .agenda-concurrent-timegroup-v84 .agenda-concurrent-grid-v51 .agenda-card-lower-v257 {
        margin-top: auto !important;
    }

    body[data-page="agenda"] .agenda-detail-tab-v82,
    body[data-page="agenda"] .agenda-card-actions-v255 .agenda-details-v51 > summary {
        font-size: clamp(.70rem, .48rem + .42vw, .92rem) !important;
        font-weight: 620 !important;
        line-height: 1.12 !important;
    }
}

/* v260: center agenda-card tags, keep same-time lower areas aligned, and use accordion-style controls when buttons stack. */
body[data-page="agenda"] .agenda-card-tags-v254,
body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-tags-v254 {
    justify-content: center !important;
    text-align: center !important;
}

body[data-page="agenda"] .agenda-card-lower-v257 {
    justify-content: flex-start !important;
}

@media (max-width: 900px) {
    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-actions-v255 {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .55rem !important;
        width: 100% !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-actions-v255 > .agenda-details-v51 {
        width: 100% !important;
        min-width: 0 !important;
        flex-basis: auto !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-actions-v255 > .agenda-details-v51 + .agenda-details-v51 {
        margin-top: 0 !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-actions-v255 > .agenda-details-v51 > summary {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }
}


/* v261: keep static agenda desktop controls in true tab-style rows and make converted tabs behave like accordions after mobile resizing. */
@media (min-width: 901px) {
    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-actions-v255 {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(min(11.5rem, 100%), 1fr)) !important;
        align-items: stretch !important;
        gap: .55rem !important;
        width: 100% !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-actions-v255 > .agenda-details-v51 {
        display: contents !important;
        flex: none !important;
        min-width: 0 !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-actions-v255 > .agenda-details-v51[open] {
        flex-basis: auto !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-actions-v255 > .agenda-details-v51 > summary {
        grid-row: 1 !important;
        height: 100% !important;
        min-height: 2.12rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        border: 1px solid rgba(15,23,42,.08) !important;
        border-radius: .82rem !important;
        background: linear-gradient(180deg, rgba(248,250,252,.92), rgba(255,255,255,.78)) !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-actions-v255 > .agenda-details-v51[open] > summary {
        border-color: rgba(71,78,156,.18) !important;
        background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,245,249,.96)) !important;
        box-shadow: 0 12px 28px rgba(15,23,42,.08) !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-card-actions-v255 > .agenda-details-v51 > :not(summary) {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        margin-top: 0 !important;
        border: 1px solid rgba(15,23,42,.08) !important;
        border-radius: 1rem !important;
        background: linear-gradient(180deg, rgba(248,250,252,.92), rgba(255,255,255,.72)) !important;
        overflow: hidden !important;
    }
}

@media (max-width: 900px) {
    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-detail-tabs-v82 {
        display: flex !important;
        flex-direction: column !important;
        gap: .55rem !important;
        width: 100% !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-detail-tabs-v82 > .agenda-detail-tablist-v82,
    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-detail-tabs-v82 > .agenda-detail-panels-v82 {
        display: contents !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-detail-tabs-v82 .agenda-detail-tab-v82,
    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-detail-tabs-v82 .agenda-detail-panel-v82 {
        order: var(--agenda-mobile-order, 0) !important;
        margin-top: 0 !important;
        width: 100% !important;
    }
}

/* v262: force static agenda desktop detail controls to use converted tab markup instead of native details layout. */
@media (min-width: 901px) {
    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-detail-tabs-v82 {
        display: flex !important;
        flex-direction: column !important;
        gap: .55rem !important;
        width: 100% !important;
        margin-top: 0 !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-detail-tabs-v82 > .agenda-detail-tablist-v82 {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(min(11.5rem, 100%), 1fr)) !important;
        align-items: stretch !important;
        gap: .55rem !important;
        width: 100% !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-detail-tabs-v82 .agenda-detail-tab-v82 {
        width: 100% !important;
        height: 100% !important;
        min-height: 2.12rem !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-detail-tabs-v82 > .agenda-detail-panels-v82 {
        width: 100% !important;
        margin-top: 0 !important;
    }

    body[data-page="agenda"] .agenda-card-lower-v257 > .agenda-detail-tabs-v82 .agenda-detail-panel-v82 {
        width: 100% !important;
    }
}

/* v272: keep the See more control tight against the measured three-line agenda card preview. */
body[data-page="agenda"] .agenda-session-body-v51 > .agenda-card-copy-v268 {
    margin-bottom: .45rem !important;
}

body[data-page="agenda"] .agenda-card-copy-preview-v270,
body[data-page="agenda"] .agenda-card-copy-full-v270 {
    display: inline;
}

body[data-page="agenda"] .agenda-card-copy-preview-v270[hidden],
body[data-page="agenda"] .agenda-card-copy-full-v270[hidden] {
    display: none !important;
}

body[data-page="agenda"] .agenda-card-copy-toggle-v268 {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    color: #1d4ed8;
    cursor: pointer;
    display: inline !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    flex: 0 0 auto !important;
    white-space: nowrap;
    vertical-align: baseline;
    font: inherit;
    font-size: .9em;
    font-weight: 700;
    line-height: inherit;
    margin: 0 0 0 .08em !important;
    padding: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-indent: 0 !important;
    text-decoration: underline;
    text-underline-offset: .18em;
}

body[data-page="agenda"] .agenda-card-copy-toggle-v268:hover,
body[data-page="agenda"] .agenda-card-copy-toggle-v268:focus-visible {
    color: #1e3a8a;
}

body[data-page="agenda"] .agenda-card-copy-toggle-v268:focus-visible {
    border-radius: .25rem;
    outline: 3px solid rgba(37, 99, 235, .22);
    outline-offset: 3px;
}

