:root {
    --icmsc-red: #b5121b;
    --icmsc-blue: #2a2586;
    --icmsc-cream: #fffaf4;
    --icmsc-ink: #172033
}

.icmsc-top-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    color: #fff;
    font-size: 13px;
    font-weight: 600
}

.icmsc-top-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px
}

.icmsc-top-meta .mode-pill {
    padding: 4px 10px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;
    background: rgba(255,255,255,.08)
}

.icmsc-hero .hero-single {
    min-height: 620px;
    display: flex;
    align-items: center;
    position: relative
}

.icmsc-hero .hero-single:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,rgba(14,12,60,.91),rgba(43,31,118,.72),rgba(156,10,32,.46))
}

.icmsc-hero .hero-content {
    position: relative;
    z-index: 2;
    color: #fff
}

.icmsc-hero .hero-kicker {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    padding: 8px 15px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    font-weight: 700;
    margin-bottom: 18px
}

.icmsc-hero .hero-title {
    font-size: 58px;
    line-height: 1.08;
    margin-bottom: 20px
}

.icmsc-hero .hero-title span {
    color: #ffcb42
}

.icmsc-hero .hero-subtitle {
    font-size: 20px;
    line-height: 1.65;
    max-width: 800px;
    margin-bottom: 25px
}

.hero-highlight-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 28px
}

.hero-highlight {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: #fff;
    color: #18153d;
    border-radius: 9px;
    box-shadow: 0 8px 24px rgba(0,0,0,.15)
}

.hero-highlight i {
    color: var(--theme-color)
}

.hero-highlight strong {
    display: block
}

.hero-highlight small {
    display: block;
    color: #333;
}

.hero-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.hero-btns .theme-btn2 {
    background: #fff;
    color: var(--theme-color2)
}

.countdown-strip {
    margin-top: -55px;
    position: relative;
    z-index: 5
}

.countdown-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(23,32,51,.12);
    padding: 26px 30px
}

.countdown-card .title h3 {
    margin: 0
}

.countdown-card .title p {
    margin: 4px 0 0;
    color: #333;
}

.conference-countdown {
    display: grid;
    grid-template-columns: repeat(4,minmax(59px,1fr));
    gap: 4px;
}

.conference-countdown .unit {
    text-align: center;
    padding: 12px 8px;
    border-radius: 12px;
    background: #f7f7fc;
    border: 1px solid #e8e8f4
}

.conference-countdown strong {
    display: block;
    font-size: 28px;
    color: var(--theme-color2);
    font-family: var(--heading-font)
}

.conference-countdown span {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #70778a;
    font-weight: 700
}

.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--theme-color);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 12px
}

.icmsc-section-title {
    font-size: 38px;
    margin: 8px 0 14px
}

.info-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}

.info-chip {
    padding: 8px 12px;
    border-radius: 999px;
    background: #f4f2ff;
    color: var(--theme-color2);
    font-weight: 700;
    font-size: 13px
}

.brochure-panel {
    padding: 34px;
    border-radius: 18px;
    background: linear-gradient(135deg,#fff5ef,#f5f2ff);
    border: 1px solid #ece8f8
}

.brochure-panel img {
    max-width: 100%;
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(23,32,51,.09)
}

.date-card {
    height: 100%;
    padding: 24px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #ececf2;
    box-shadow: 0 8px 24px rgba(18,26,50,.05);
    position: relative;
    overflow: hidden
}

.date-card:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(var(--theme-color),var(--theme-color2))
}

.date-card small {
    display: block;
    color: #8a91a2;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 800
}

.date-card strong {
    display: block;
    margin-top: 7px;
    color: var(--theme-color2);
    font-size: 23px
}

.date-card.highlight {
    background: linear-gradient(135deg,#261f73,#ad1222);
    color: #fff
}

.date-card.highlight small,.date-card.highlight strong,.date-card.highlight p {
    color: #fff
}

.date-card.highlight:before {
    background: #ffc94d
}

.theme-card {
    /* height: 100%; */
    padding: 28px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #ececf2;
    box-shadow: 0 10px 26px rgba(18,26,50,.05)
}

.theme-card .icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #f4f2ff;
    color: var(--theme-color2);
    font-size: 22px;
    margin-bottom: 16px
}

.theme-card h3 {
    font-size: 21px;
    margin-bottom: 10px
}

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

.theme-card li {
    margin-bottom: 6px;
    color: #606879
}

.speaker-card {
    height: 100%;
    background: #fff;
    border: 1px solid #e9eaf1;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(18,26,50,.06)
}

.speaker-card .photo {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden
}

.speaker-card .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.speaker-card .placeholder-badge {
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(16,19,42,.78);
    color: #fff;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .06em
}

.speaker-card .body {
    padding: 18px
}

.speaker-card .role {
    display: inline-block;
    color: var(--theme-color);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 800;
    margin-bottom: 6px
}

.speaker-card h4 {
    font-size: 18px;
    margin: 0 0 7px
}

.speaker-card p {
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
    color: #333;
}

.committee-role-card {
    height: 100%;
    padding: 22px;
    border: 1px solid #e8e9ef;
    border-radius: 14px;
    background: #fff
}

.committee-role-card strong {
    display: block;
    color: var(--theme-color);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .07em
}

.committee-role-card h4 {
    font-size: 18px;
    margin: 7px 0 4px
}

.committee-list {
    columns: 2;
    column-gap: 32px
}

.committee-list li {
    break-inside: avoid;
    margin-bottom: 7px;
    color: #596273
}

.advisory-list {
    columns: 2;
    column-gap: 34px
}

.advisory-list li {
    break-inside: avoid;
    margin-bottom: 11px
}

.partner-strip {
    padding: 28px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #ececf2;
    text-align: center
}

.partner-strip img {
    max-width: 720px;
    width: 100%;
    height: auto
}

.partner-icon-row {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 24px;
    align-items: center
}

.partner-icon-row img {
    max-height: 60px;
    max-width: 100%;
    margin: auto;
    filter: grayscale(.1)
}

.venue-highlight {
    background: linear-gradient(135deg,#241d72,#b4131e);
    color: #fff;
    border-radius: 20px;
    padding: 35px
}

.venue-highlight h2,.venue-highlight p,.venue-highlight li {
    color: #fff
}

.venue-highlight ul {
    margin: 0;
    padding-left: 20px
}

.contact-card {
    height: 100%;
    padding: 26px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #ebecf2;
    box-shadow: 0 9px 26px rgba(18,26,50,.05)
}

.contact-card .icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #f4f2ff;
    color: var(--theme-color2);
    font-size: 20px;
    margin-bottom: 15px
}

.callout-gradient {
    padding: 36px;
    border-radius: 20px;
    background: linear-gradient(135deg,#a90f1f,#2b2586);
    color: #fff
}

.callout-gradient h2,.callout-gradient p {
    color: #fff
}

.footer-conference-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.footer-conference-badges span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 12px
}

.icmsc-footer-logo img {
    max-width: 220px
}

.site-breadcrumb:before {
    background: rgba(14,13,55,.66)
}

@media(max-width: 1199px) {
    .main-navigation .navbar .navbar-nav .nav-item .nav-link {
        font-size:13px;
        padding-left: 8px;
        padding-right: 8px
    }

    .icmsc-hero .hero-title {
        font-size: 49px
    }
}

@media(max-width: 991px) {
    .icmsc-top-meta {
        display:none
    }

    .align-self-center {
    text-align: center !important;
}
    .icmsc-hero .hero-single {
        min-height: 680px
    }

    .icmsc-hero .hero-title {
        font-size: 42px
    }

    .countdown-strip {
        margin-top: -35px
    }

    .conference-countdown {
        margin-top: 18px
    }

    .conference-countdown {
    display: grid;
    grid-template-columns: repeat(4, minmax(59px, 1fr));
    gap: 4px;
}
    .committee-list,.advisory-list {
        columns: 1
    }

    .partner-icon-row {
        grid-template-columns: repeat(3,1fr)
    }
}

@media(max-width: 767px) {
    .icmsc-hero .hero-single {
        min-height: 672px;
        height: 990px;
    }

    .icmsc-hero .hero-title {
        font-size: 34px
    }

    .icmsc-hero .hero-subtitle {
        font-size: 16px
    }

    .hero-highlight {
        width: 100%
    }

    .countdown-card {
        padding: 20px
    }

    .conference-countdown strong {
        font-size: 22px
    }

    .icmsc-section-title {
        font-size: 30px
    }

    .partner-icon-row {
        grid-template-columns: repeat(2,1fr)
    }
}

.icmsc-footer-logo {
    display: inline-block;
    padding: 9px 12px;
    background: #fff;
    border-radius: 10px
}

.icmsc-footer-logo img {
    filter: none!important;
    max-width: 230px;
    height: auto
}

.fee-table thead th {
    background: #8f111b;
    color: #fff;
    text-align: center;
    vertical-align: middle
}

.fee-table tbody td:first-child {
    font-weight: 700;
    color: #25206f
}

.fee-table td,.fee-table th {
    padding: 13px 14px
}

/* Keep the supplied Eventu navbar logo sizing; the ICMSC logo artwork is unusually wide. */
.navbar-brand img {
    width: 232px!important;
    max-height: none!important;
    height: auto!important
}

@media(max-width: 991px) {
    .navbar-brand img {
        width:130px!important
    }
}

.brochure-embed {
    height: 820px;
    border: 1px solid #e5e7ee;
    border-radius: 12px;
    overflow: hidden;
    background: #f5f6fa
}

.brochure-embed iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0
}

@media(max-width: 767px) {
    .brochure-embed {
        height:600px
    }
}
