/* Generated by scripts/build-public-assets.php. Edit the source fragments under resources/. */

/* Source: resources/css/public/public-site.css */
/* Public-site expansion: built from the existing IDL design tokens. */
.p3-listing-detail.idl-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem);
    align-items: start;
    gap: 2rem;
    direction: ltr;
}
[dir="rtl"] .p3-listing-detail > * { direction: rtl; text-align: right; }
.p3-detail-content { min-width: 0; }
.p3-detail-cover { width: 100%; max-height: 30rem; object-fit: cover; border-radius: 1rem; margin-bottom: 2rem; }
.p3-detail-content h1 { font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.2; }
.p3-detail-lead { font-size: 1.15rem; color: var(--color-muted); }
.p3-detail-description { line-height: 1.8; overflow-wrap: anywhere; }
.p3-detail-description img { max-width: 100%; height: auto; }
.p3-detail-block { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.12); }
.p3-detail-block h2, .p3-detail-downloads h2 { font-size: 1.2rem; margin-bottom: 1rem; }
.p3-detail-faculty { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; }
.p3-detail-speaker { display: flex; gap: 1rem; align-items: center; color: inherit; text-decoration: none; }
.p3-detail-speaker img { width: 4rem; height: 4rem; border-radius: 50%; object-fit: cover; }
.p3-detail-speaker strong, .p3-detail-speaker small { display: block; }
.p3-detail-speaker small { color: var(--color-muted); }
.p3-listing-detail .p3-detail-actions { position: sticky; top: 7rem; display: flex; flex-direction: column; gap: 1rem; }
.p3-detail-actions dl { margin: 0; }
.p3-detail-actions dl > div { padding-block: .65rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.p3-detail-actions dt { font-size: .8rem; color: var(--color-muted); }
.p3-detail-actions dd { margin: .3rem 0 0; overflow-wrap: anywhere; }
.p3-detail-actions .idl-button { width: 100%; }
.p3-detail-price { font-size: 1.8rem; font-weight: 700; margin: 0; }
.p3-detail-price small { font-size: .8rem; }
.p3-detail-downloads .idl-button { margin-top: .5rem; }
.p3-detail-lesson { padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.p3-detail-lesson summary { cursor: pointer; font-weight: 600; }
.p3-detail-lesson summary small { display: inline-block; margin-inline-start: .5rem; font-weight: 400; }
.p3-detail-room + .p3-detail-room { margin-top: 1.5rem; }
@media (max-width: 767px) {
    .p3-listing-detail.idl-detail-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .p3-listing-detail .p3-detail-actions { position: static; }
    .p3-detail-cover { max-height: 20rem; }
}
.hub-page {
    background: radial-gradient(circle at 85% 12%, rgba(0, 151, 178, 0.11), transparent 26rem), var(--color-navy-950);
}

.hub-page .site-navbar,
.public-hub-navbar {
    background: rgba(1, 9, 18, 0.86);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(18px);
}

.idl-more-menu {
    min-width: 16rem;
    padding: 0.55rem;
    background: rgba(5, 24, 39, 0.98);
    border: 1px solid rgba(201, 154, 75, 0.24);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
}

.idl-more-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.72rem 0.8rem;
    color: var(--color-muted);
    border-radius: var(--radius-sm);
    font-size: 0.76rem;
    font-weight: 600;
}

.idl-more-menu .dropdown-item i {
    width: 1.1rem;
    color: var(--color-gold);
    text-align: center;
}

.idl-more-menu .dropdown-item:hover,
.idl-more-menu .dropdown-item:focus,
.idl-more-menu .dropdown-item.active {
    color: var(--color-white);
    background: rgba(0, 151, 178, 0.14);
}

.hub-hero {
    position: relative;
    display: grid;
    min-height: 28rem;
    padding: 8.25rem 0 3.75rem;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    background: linear-gradient(90deg, rgba(1, 9, 18, 0.98) 0%, rgba(1, 9, 18, 0.78) 52%, rgba(1, 9, 18, 0.5) 100%), url("../img/backgrounds/home-hero.png?v=4") center/cover no-repeat;
}

.hub-hero::after {
    position: absolute;
    right: -12rem;
    bottom: -16rem;
    width: 34rem;
    height: 34rem;
    content: "";
    border: 1px solid rgba(0, 151, 178, 0.2);
    border-radius: 50%;
    box-shadow: 0 0 0 5rem rgba(201, 154, 75, 0.025), 0 0 0 10rem rgba(0, 151, 178, 0.02);
}

.hub-hero .container,
.hub-hero-content {
    position: relative;
    z-index: 1;
}

.idl-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0 0 1.1rem;
    color: var(--color-cyan);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.idl-eyebrow::before {
    content: none;
}

.hub-hero h1 {
    max-width: 16ch;
    margin: 0;
    color: var(--color-white);
    font-size: clamp(3.3rem, 6.5vw, 6.25rem);
    line-height: 0.96;
    letter-spacing: 0.01em;
    text-transform: unset;
}

.hub-hero h1 span,
.hub-hero h1 strong {
    color: var(--color-gold-light);
    font: inherit;
}

.hub-hero-lead {
    max-width: 46rem;
    margin: 1.25rem 0 0;
    color: var(--color-muted);
    font-size: clamp(0.98rem, 1.2vw, 1.12rem);
    line-height: 1.65;
}

.hub-hero-actions,
.idl-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.5rem;
}

.idl-button {
    display: inline-flex;
    min-height: 3.15rem;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    padding: 0.82rem 1.25rem;
    margin-top: auto;
    color: var(--color-navy-950);
    background: var(--color-gold);
    border: 1px solid var(--color-gold);
    border-radius: var(--radius-sm);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: transform var(--transition), color var(--transition), background var(--transition);
}

.idl-button:hover,
.idl-button:focus-visible {
    color: var(--color-navy-950);
    background: var(--color-gold-light);
    transform: translateY(-2px);
}

.idl-button--outline {
    color: var(--color-white);
    background: transparent;
    border-color: rgba(0, 151, 178, 0.62);
}

.idl-button--outline:hover,
.idl-button--outline:focus-visible {
    color: var(--color-white);
    background: rgba(0, 151, 178, 0.16);
}

.idl-button--cyan {
    color: var(--color-white);
    background: var(--color-cyan);
    border-color: var(--color-cyan);
}

.hub-section {
    position: relative;
    padding: clamp(4.5rem, 8vw, 7.5rem) 0;
}

.hub-section--surface {
    background: linear-gradient(135deg, rgba(10, 34, 52, 0.82), rgba(5, 24, 39, 0.52));
    border-block: 1px solid rgba(255, 255, 255, 0.06);
}

.hub-section--compact {
    padding-block: clamp(3rem, 5vw, 4.75rem);
}

.idl-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.idl-section-heading>div {
    max-width: 49rem;
}

.idl-section-heading h2,
.idl-section-title {
    margin: 0;
    color: var(--color-white);
    font-size: clamp(2.5rem, 5vw, 4.8rem);
    line-height: 1;
    text-transform: unset;
}

.idl-section-heading h2 span,
.idl-section-title span {
    color: var(--color-gold);
}

.idl-section-heading p,
.idl-section-copy {
    margin: 0.8rem 0 0;
    color: var(--color-muted);
    line-height: 1.75;
}

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

.idl-card {
    position: relative;
    grid-column: span 4;
    min-width: 0;
    padding: 1.45rem;
    overflow: hidden;
    color: var(--color-white);
    background: linear-gradient(145deg, rgba(10, 34, 52, 0.96), rgba(5, 24, 39, 0.92));
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-md);
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.15);
    transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.idl-card:hover,
.idl-card:focus-within {
    border-color: rgba(201, 154, 75, 0.38);
    box-shadow: var(--shadow-soft);
    transform: translateY(-4px);
}

.idl-card--wide {
    grid-column: span 6;
}

.idl-card--full {
    grid-column: 1 / -1;
}

.idl-card-icon {
    display: inline-grid;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1rem;
    place-items: center;
    color: var(--color-gold-light);
    background: rgba(201, 154, 75, 0.1);
    border: 1px solid rgba(201, 154, 75, 0.28);
    border-radius: 50%;
}

.idl-card-kicker,
.idl-meta-label {
    margin: 0 0 0.55rem;
    color: var(--color-cyan);
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.idl-card h3 {
    margin: 0;
    color: var(--color-white);
    font-size: clamp(1.35rem, 2.3vw, 2rem);
    line-height: 1.12;
    text-transform: uppercase;
}

.idl-card p {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.88rem;
    line-height: 1.65;
}

.idl-card-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 1.1rem;
    color: var(--color-gold-light);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    min-height: 2.25rem;
}

.idl-card-link:hover,
.idl-card-link:focus-visible {
    color: var(--color-white);
}

.idl-media-card {
    padding: 0;
}

.idl-media-card figure {
    position: relative;
    height: 14rem;
    margin: 0;
    overflow: hidden;
    background: var(--color-navy-800);
}

.idl-media-card figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 500ms ease;
}

.idl-media-card:hover figure img {
    transform: scale(1.045);
}

.idl-media-card>div {
    padding: 1.35rem;
}

/* Home featured-speaker carousel */
.home-speakers-carousel {
    --swiper-theme-color: var(--color-gold-light);
    --swiper-pagination-bullet-inactive-color: rgba(255, 255, 255, 0.45);
    --swiper-pagination-bullet-inactive-opacity: 1;
    width: 100%;
    margin-top: -0.5rem;
    padding-top: 0.5rem;
}

.home-speakers-carousel:not(.swiper-initialized) {
    overflow: visible;
}

.home-speakers-carousel:not(.swiper-initialized) .home-speakers-carousel__track {
    display: grid;
}

.home-speakers-carousel__track {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    padding-bottom: 1.5rem;
}

.home-speakers-carousel__track>.idl-card {
    display: flex;
    height: auto;
    flex-direction: column;
}

.home-speakers-carousel__track>.idl-media-card>div {
    display: flex;
    min-height: 13rem;
    flex: 1;
    flex-direction: column;
}

.home-speakers-carousel__track>.idl-media-card .idl-card-link {
    margin-top: auto;
    padding-top: 1.1rem;
}

.home-speakers-carousel__controls {
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.home-speakers-carousel:not(.swiper-initialized) .home-speakers-carousel__controls {
    display: none;
}

.home-speakers-carousel__button {
    display: inline-grid;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 2.75rem;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(201, 154, 75, 0.42);
    border-radius: 50%;
    color: var(--color-gold-light);
    background: rgba(5, 24, 39, 0.82);
    transition: color var(--transition), border-color var(--transition), background-color var(--transition), transform var(--transition);
    display: none;

}


.home-speakers-carousel__button:hover,
.home-speakers-carousel__button:focus-visible {
    color: var(--color-navy-950);
    border-color: var(--color-gold-light);
    background: var(--color-gold-light);
    transform: translateY(-2px);
}

.home-speakers-carousel__button.swiper-button-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    transform: none;
}

.home-speakers-carousel__pagination.swiper-pagination {
    position: static;
    display: flex;
    width: auto;
    max-width: min(15rem, 50vw);
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    transform: none;
}

.home-speakers-carousel__pagination .swiper-pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
    margin: 0 !important;
    transition: width var(--transition), background-color var(--transition);
}

.home-speakers-carousel__pagination .swiper-pagination-bullet-active {
    width: 1.5rem;
    border-radius: var(--radius-pill);
}

.idl-badge-row,
.idl-meta-row,
.idl-chip-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.idl-badge,
.idl-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.68rem;
    color: var(--color-muted);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: var(--radius-pill);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

button.idl-chip {
    cursor: pointer;
}

.idl-chip:hover,
.idl-chip:focus-visible,
.idl-chip.active,
.idl-chip[aria-pressed="true"] {
    color: var(--color-navy-950);
    background: var(--color-gold);
    border-color: var(--color-gold);
}

.idl-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.idl-search {
    position: relative;
    width: min(100%, 25rem);
}

.idl-search i {
    position: absolute;
    top: 50%;
    left: 1rem;
    color: var(--color-muted);
    transform: translateY(-50%);
}

.idl-search input,
.idl-field input,
.idl-field select,
.idl-field textarea {
    width: 100%;
    color: var(--color-white);
    background: rgba(1, 9, 18, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--radius-sm);
    outline: none;
    transition: border-color var(--transition), box-shadow var(--transition);
}

.idl-search input {
    min-height: 3.15rem;
    padding: 0.75rem 1rem 0.75rem 2.75rem;
}

.idl-field input,
.idl-field select {
    min-height: 3.15rem;
    padding: 0.78rem 0.9rem;
}

.idl-field textarea {
    min-height: 8rem;
    padding: 0.9rem;
    resize: vertical;
}

.idl-search input:focus,
.idl-field input:focus,
.idl-field select:focus,
.idl-field textarea:focus {
    border-color: var(--color-cyan);
    box-shadow: 0 0 0 0.2rem rgba(0, 151, 178, 0.13);
}

.idl-field select option {
    color: var(--color-white);
    background: var(--color-navy-900);
}

.idl-form-card {
    padding: clamp(1.35rem, 3vw, 2.3rem);
    background: linear-gradient(145deg, rgba(10, 34, 52, 0.94), rgba(5, 24, 39, 0.9));
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
}

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

.idl-field--full {
    grid-column: 1 / -1;
}

.idl-field label {
    display: block;
    margin-bottom: 0.45rem;
    color: var(--color-slate-400);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.idl-field small,
.idl-form-note {
    display: block;
    margin-top: 0.45rem;
    color: var(--color-muted);
    font-size: 0.7rem;
    line-height: 1.5;
}

.idl-form-status {
    display: flex;
    max-height: 0;
    align-items: flex-start;
    gap: 0.65rem;
    margin-top: 0;
    padding: 0 1rem;
    overflow: hidden;
    visibility: hidden;
    color: var(--color-white);
    background: rgba(0, 151, 178, 0.13);
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    font-size: 0.78rem;
    line-height: 1.5;
    opacity: 0;
    transform: translateY(-0.35rem);
    transition: max-height 280ms ease, margin 280ms ease, padding 280ms ease, border-color 280ms ease, opacity 220ms ease, transform 280ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 280ms;
}

.idl-form-status::before {
    content: "\2713";
    display: inline-grid;
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 1.15rem;
    margin-top: 0.05rem;
    place-items: center;
    color: var(--color-navy-950);
    background: var(--color-cyan);
    border-radius: 50%;
    font-size: 0.62rem;
    font-weight: 900;
}

.idl-form-status.is-visible {
    max-height: 8rem;
    margin-top: 1rem;
    padding: 0.9rem 1rem;
    visibility: visible;
    border-color: rgba(0, 151, 178, 0.35);
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s;
}

.idl-form-status.is-error {
    background: rgba(209, 67, 67, 0.13);
    border-color: rgba(209, 67, 67, 0.4);
}

.idl-form-status.is-error::before {
    content: "!";
    color: var(--color-white);
    background: #d14343;
}

.idl-form-status.is-visible.is-error {
    animation: idlFeedbackNudge 320ms ease;
}

@keyframes idlFeedbackNudge {

    0%,
    100% {
        transform: translateX(0);
    }

    35% {
        transform: translateX(-3px);
    }

    70% {
        transform: translateX(3px);
    }
}

.idl-empty-state {
    grid-column: 1 / -1;
    padding: 3rem 1rem;
    color: var(--color-muted);
    text-align: center;
    border: 1px dashed rgba(255, 255, 255, 0.14);
    border-radius: var(--radius-md);
}

.idl-logo-card {
    display: grid;
    min-height: 10rem;
    place-items: center;
    text-align: center;
}

.idl-logo-mark {
    display: grid;
    width: 4rem;
    height: 4rem;
    margin: 0 auto 0.9rem;
    place-items: center;
    color: var(--color-gold-light);
    background: rgba(201, 154, 75, 0.08);
    border: 1px solid rgba(201, 154, 75, 0.24);
    border-radius: 50%;
    font-family: var(--font-display);
    font-size: 1.25rem;
}

.idl-price {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
    margin: 1rem 0;
}

.idl-price strong {
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-size: 3.2rem;
    font-weight: 400;
}

.idl-price small {
    color: var(--color-muted);
}

.idl-list {
    display: grid;
    gap: 0.65rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.idl-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    color: var(--color-muted);
    font-size: 0.78rem;
    line-height: 1.5;
}

.idl-list li i {
    margin-top: 0.15rem;
    color: var(--color-cyan);
}

.idl-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-md);
}

.idl-table {
    width: 100%;
    min-width: 42rem;
    border-collapse: collapse;
    color: var(--color-muted);
    background: rgba(5, 24, 39, 0.7);
}

.idl-table th,
.idl-table td {
    padding: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    text-align: center;
    font-size: 0.76rem;
}

.idl-table th:first-child,
.idl-table td:first-child {
    text-align: left;
}

.idl-table th {
    color: var(--color-white);
    background: rgba(10, 34, 52, 0.9);
}

.idl-table .fa-check {
    color: var(--color-cyan);
}

.idl-table .fa-minus {
    color: rgba(255, 255, 255, 0.25);
}

.idl-countdown {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.7rem;
    max-width: 37rem;
    margin-top: 2rem;
}

.idl-countdown div {
    padding: 1rem 0.6rem;
    text-align: center;
    background: rgba(5, 24, 39, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: var(--radius-sm);
}

.idl-countdown strong {
    display: block;
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 3.4rem);
    font-weight: 400;
    line-height: 1;
}

.idl-countdown span {
    display: block;
    margin-top: 0.3rem;
    color: var(--color-muted);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.idl-stat-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.idl-stat {
    padding: 1.45rem;
    text-align: center;
    background: rgba(5, 24, 39, 0.75);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.idl-stat:last-child {
    border: 0;
}

.idl-stat strong {
    display: block;
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 400;
}

.idl-stat span {
    color: var(--color-muted);
    font-size: 0.68rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.idl-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(18rem, 1.75fr);
    gap: 1.4rem;
    align-items: start;
}

.idl-detail-layout>.idl-card {
    grid-column: auto;
}

.idl-sticky-card {
    position: sticky;
    top: 7rem;
}

.idl-gallery-grid .idl-card:nth-child(5n + 1) {
    grid-column: span 6;
}

.idl-lightbox {
    width: min(66rem, calc(100% - 2rem));
    padding: 0;
    color: var(--color-white);
    background: var(--color-navy-900);
    border: 1px solid rgba(201, 154, 75, 0.28);
    border-radius: var(--radius-md);
    box-shadow: 0 2rem 6rem rgba(0, 0, 0, 0.7);
}

.idl-lightbox::backdrop {
    background: rgba(1, 9, 18, 0.88);
    backdrop-filter: blur(8px);
}

.idl-lightbox img {
    display: block;
    width: 100%;
    max-height: 72vh;
    object-fit: contain;
    background: #000;
}

.idl-lightbox figcaption {
    padding: 1rem 1.2rem;
    color: var(--color-muted);
}

.idl-lightbox-close {
    position: absolute;
    top: 0.8rem;
    right: 0.8rem;
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    color: var(--color-white);
    background: rgba(1, 9, 18, 0.82);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
}

.idl-demo-banner {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    margin-bottom: 1.5rem;
    padding: 1rem;
    color: var(--color-muted);
    background: rgba(201, 154, 75, 0.07);
    border: 1px solid rgba(201, 154, 75, 0.2);
    border-radius: var(--radius-sm);
    font-size: 0.76rem;
    line-height: 1.55;
}

.idl-demo-banner i {
    margin-top: 0.15rem;
    color: var(--color-gold-light);
}

.idl-home-expansion {
    background: radial-gradient(circle at 10% 20%, rgba(0, 151, 178, 0.09), transparent 25rem), linear-gradient(180deg, var(--color-navy-950), var(--color-navy-900));
}

.idl-toast {
    position: fixed;
    z-index: 1400;
    right: 1.25rem;
    bottom: 1.25rem;
    display: flex;
    width: min(24rem, calc(100% - 2.5rem));
    align-items: flex-start;
    gap: 0.7rem;
    padding: 1rem;
    color: var(--color-white);
    background: rgba(5, 24, 39, 0.98);
    border: 1px solid rgba(0, 151, 178, 0.45);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-soft);
    font-size: 0.76rem;
    line-height: 1.5;
    transform: translateY(1rem);
    opacity: 0;
    transition: opacity var(--transition), transform var(--transition);
}

.idl-toast.is-visible {
    transform: translateY(0);
    opacity: 1;
}

.idl-toast i {
    color: var(--color-cyan);
}

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

.idl-footer-links h2 {
    color: var(--color-white);
    font-size: 1rem;
    text-transform: uppercase;
}

.idl-footer-links a {
    display: block;
    margin-top: 0.5rem;
    color: var(--color-muted);
    font-size: 0.72rem;
}

.idl-footer-links a:hover {
    color: var(--color-gold-light);
}

.idl-social-row {
    display: flex;
    gap: .65rem;
    margin-top: 1rem;
}

.idl-social-row a {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    color: var(--color-white);
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    transition: color var(--transition), border-color var(--transition), transform var(--transition);
}

.idl-social-row a:hover {
    color: var(--color-gold-light);
    border-color: var(--color-gold);
    transform: translateY(-2px);
}

.schedule-summary-active .agenda-card {
    min-height: auto;
    padding-block: 1rem;
}

.schedule-summary-active .agenda-card>p,
.schedule-summary-active .agenda-card>b,
.schedule-summary-active .agenda-card>.idl-chip,
.schedule-summary-active .agenda-card .agenda-badge {
    display: none;
}

.idl-session-speaker-link {
    display: inline-flex;
    margin-top: .75rem;
}

.course-card-image {
    position: relative;
}

.idl-favorite-button {
    position: absolute;
    z-index: 2;
    top: .75rem;
    right: .75rem;
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    color: var(--color-white);
    background: rgba(1, 9, 18, .78);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 50%;
    box-shadow: 0 .45rem 1rem rgba(0, 0, 0, .28);
    transition: color var(--transition), border-color var(--transition), transform var(--transition);
}

.idl-favorite-button:hover,
.idl-favorite-button.is-active {
    color: var(--color-gold-light);
    border-color: var(--color-gold);
    transform: translateY(-2px);
}

.register-ticket-block {
    margin-top: 2rem;
}

.register-ticket-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.register-ticket-options label {
    cursor: pointer;
}

.register-ticket-options input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.register-ticket-options span {
    display: grid;
    height: 100%;
    gap: 0.3rem;
    padding: 1rem;
    color: var(--color-muted);
    background: rgba(1, 9, 18, 0.64);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--radius-sm);
    transition: border-color var(--transition), background var(--transition);
}

.register-ticket-options b {
    color: var(--color-white);
    font-size: 0.78rem;
}

.register-ticket-options small {
    font-size: 0.65rem;
}

.register-ticket-options strong {
    margin-top: 0.3rem;
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 400;
}

.register-ticket-options input:checked+span {
    background: rgba(201, 154, 75, .1);
    border-color: var(--color-gold);
}

.register-ticket-options input:focus-visible+span {
    outline: 2px solid var(--color-cyan);
    outline-offset: 2px;
}

.register-consent {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-top: 1.35rem;
    color: var(--color-muted);
    font-size: 0.72rem;
    line-height: 1.55;
}

.register-consent input {
    margin-top: 0.2rem;
    accent-color: var(--color-gold);
}

.register-consent a {
    color: var(--color-gold-light);
}

.cart-promo small {
    flex-basis: 100%;
    margin-top: 0.4rem;
    color: var(--color-gold-light);
    font-size: 0.68rem;
}

.cart-promo input[aria-invalid="true"] {
    border-color: #d95b5b;
}

.cart-installment-option {
    display: block;
    margin: 1rem 0;
}

.cart-installment-option>span {
    display: block;
    margin-bottom: 0.4rem;
    color: var(--color-muted);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
}

.cart-receipt {
    margin-top: 1rem;
    padding: 1.25rem;
    border: 1px solid rgba(0, 151, 178, .44);
    border-radius: var(--radius-md);
    background: linear-gradient(145deg, rgba(0, 151, 178, .08), rgba(255, 255, 255, .025));
    box-shadow: var(--shadow-soft);
}

.cart-receipt[hidden] {
    display: none;
}

.cart-receipt h2 {
    margin-bottom: .8rem;
    color: var(--color-white);
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: .02em;
}

.cart-receipt dl {
    display: grid;
    gap: .55rem;
    margin: 0;
}

.cart-receipt dl div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.cart-receipt dt {
    color: var(--color-muted);
    font-weight: 500;
}

.cart-receipt dd {
    margin: 0;
    color: var(--color-white);
    font-weight: 700;
    text-align: right;
}

.cart-receipt-note {
    display: flex;
    gap: .6rem;
    margin: 1rem 0 0;
    color: var(--color-cyan);
    font-size: .68rem;
    line-height: 1.5;
}

@media (max-width: 991.98px) {
    .hub-hero {
        min-height: 25.5rem;
        padding-top: 7.75rem;
    }

    .idl-card {
        grid-column: span 6;
    }

    .idl-card--full {
        grid-column: 1 / -1;
    }

    .idl-detail-layout {
        grid-template-columns: 1fr;
    }

    .idl-sticky-card {
        position: static;
    }

    .idl-footer-links {
        grid-template-columns: repeat(2, 1fr);
    }

    .idl-more-menu {
        border: 0;
        box-shadow: none;
    }
}

@media (max-width: 767.98px) {
    .hub-hero {
        min-height: 24rem;
        padding-block: 7.25rem 3rem;
    }

    .hub-hero h1 {
        font-size: clamp(2.75rem, 13vw, 4.25rem);
        line-height: 0.98;
    }

    .idl-section-heading,
    .idl-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .idl-section-heading .idl-button {
        width: 100%;
    }

    .idl-card,
    .idl-card--wide,
    .idl-gallery-grid .idl-card:nth-child(5n + 1) {
        grid-column: 1 / -1;
    }

    .idl-form-grid {
        grid-template-columns: 1fr;
    }

    .idl-field--full {
        grid-column: auto;
    }

    .idl-stat-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .idl-stat:nth-child(2) {
        border-right: 0;
    }

    .idl-stat:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(255, 255, 255, .08);
    }

    .register-ticket-options {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .hub-section {
        padding-block: 3.75rem;
    }

    .hub-hero-actions .idl-button,
    .idl-actions .idl-button {
        width: 100%;
    }

    .idl-countdown {
        gap: 0.4rem;
    }

    .idl-countdown div {
        padding: 0.75rem 0.25rem;
    }

    .idl-footer-links {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {

    .idl-card,
    .idl-button,
    .idl-media-card figure img,
    .idl-toast,
    .idl-form-status {
        transition: none;
        animation: none;
    }

    .home-speakers-carousel__button,
    .home-speakers-carousel__pagination .swiper-pagination-bullet {
        transition: none;
    }
}

/* Homepage learning paths use route tiles rather than the shared catalogue card. */
.learning-path-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border-top: 1px solid var(--idl-line);
}
.learning-path-card {
    --learning-accent: #31c3dc;
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 4.5rem 4rem minmax(0, 1fr) auto;
    align-items: center;
    min-width: 0;
    min-height: 8.5rem;
    gap: clamp(1rem, 2.5vw, 2rem);
    overflow: hidden;
    padding: 1.25rem clamp(1rem, 2.5vw, 2rem);
    border: 0;
    border-bottom: 1px solid var(--idl-line);
    border-radius: 0;
    background: transparent;
    color: var(--idl-text);
    text-decoration: none;
    box-shadow: none;
    transition: background-color .25s ease, padding-inline .25s ease;
}
.learning-path-card:nth-child(2) { --learning-accent: #e4bf7a; }
.learning-path-card:nth-child(3) { --learning-accent: #6fd0aa; }
html[data-theme="light"] body[class] .learning-path-card:nth-child(1) { --learning-accent: #00788c; }
html[data-theme="light"] body[class] .learning-path-card:nth-child(2) { --learning-accent: #94651f; }
html[data-theme="light"] body[class] .learning-path-card:nth-child(3) { --learning-accent: #28795f; }
.learning-path-card::before {
    content: '';
    position: absolute;
    z-index: 1;
    inset-block: 1rem;
    inset-inline-start: 0;
    width: 3px;
    height: auto;
    border-radius: 100vmax;
    background: var(--learning-accent);
    opacity: .42;
    transform: scaleY(.35);
    transition: opacity .25s ease, transform .25s ease;
}
.learning-path-card:hover,
.learning-path-card:focus-visible {
    color: var(--idl-text);
    background: linear-gradient(90deg, color-mix(in srgb, var(--learning-accent) 11%, transparent), transparent 70%);
    text-decoration: none;
    padding-inline: clamp(1.5rem, 3vw, 2.5rem);
}
.learning-path-card:focus-visible { outline: 2px solid var(--learning-accent); outline-offset: 4px; }
.learning-path-card:is(:hover, :focus-visible)::before { opacity: 1; transform: scaleY(1); }
.learning-path-card__header {
    display: contents;
}
.learning-path-card__number {
    grid-column: 1;
    color: transparent;
    font-size: clamp(1.9rem, 3vw, 2.65rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.06em;
    -webkit-text-stroke: 1px color-mix(in srgb, var(--learning-accent) 60%, transparent);
}
.learning-path-card__icon {
    grid-column: 2;
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    flex: 0 0 3.5rem;
    border: 1px solid color-mix(in srgb, var(--learning-accent) 46%, transparent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--learning-accent) 12%, transparent);
    color: var(--learning-accent);
    font-size: 1.1rem;
    transition: color .25s ease, background-color .25s ease, transform .25s ease;
}
.learning-path-card:is(:hover, :focus-visible) .learning-path-card__icon {
    color: #061722;
    background: var(--learning-accent);
    transform: scale(1.06);
}
.learning-path-card__body { grid-column: 3; min-width: 0; margin: 0; }
.learning-path-card__body h3 {
    margin: 0 0 .4rem;
    color: var(--idl-text);
    font-size: clamp(1.35rem, 2vw, 1.7rem);
    font-weight: 750;
    line-height: 1.2;
}
.learning-path-card__body p {
    max-width: 58ch;
    margin: 0;
    color: var(--idl-muted);
    font-size: .9rem;
    line-height: 1.75;
}
.learning-path-card__action {
    grid-column: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-width: 9rem;
    padding: 0;
    border: 0;
    color: var(--learning-accent);
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.learning-path-card__action i {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid color-mix(in srgb, var(--learning-accent) 50%, transparent);
    border-radius: 50%;
    transition: color .25s ease, background-color .25s ease, transform .25s ease;
}
.learning-path-card:is(:hover, :focus-visible) .learning-path-card__action i {
    color: #061722;
    background: var(--learning-accent);
    transform: translateX(.2rem);
}
[dir="rtl"] .learning-path-card__action i { transform: scaleX(-1); }
[dir="rtl"] .learning-path-card:is(:hover, :focus-visible) .learning-path-card__action i { transform: translateX(-.2rem) scaleX(-1); }

@media (max-width: 991.98px) {
    .learning-path-card { grid-template-columns: 3.75rem 3.5rem minmax(0, 1fr) auto; }
    .learning-path-card__action { min-width: 7rem; }
}
@media (max-width: 767.98px) {
    .learning-path-card {
        grid-template-columns: 3.25rem minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        gap: .85rem 1rem;
        min-height: 0;
        padding-block: 1.25rem;
    }
    .learning-path-card__number { grid-column: 1; grid-row: 1; align-self: start; font-size: 1.7rem; }
    .learning-path-card__icon { grid-column: 1; grid-row: 2; width: 2.75rem; height: 2.75rem; flex-basis: 2.75rem; }
    .learning-path-card__body { grid-column: 2 / -1; grid-row: 1; }
    .learning-path-card__body h3 { font-size: 1.25rem; }
    .learning-path-card__body p { font-size: .84rem; }
    .learning-path-card__action { grid-column: 2 / -1; grid-row: 2; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .learning-path-card,
    .learning-path-card::before,
    .learning-path-card__icon,
    .learning-path-card__action i { transition: none; }
    .learning-path-card:hover,
    .learning-path-card:focus-visible { padding-inline: clamp(1rem, 2.5vw, 2rem); }
}

/* Source: resources/css/public/base.css */
/* IDL DESIGN SYSTEM — reuse these tokens and component patterns on future pages. */
:root {
    --color-navy-950: #010912;
    --color-navy-900: #051827;
    --color-navy-800: #0a2234;
    --color-surface: rgba(10, 29, 44, 0.92);
    --color-white: #f8fafc;
    --color-muted: #a8b4be;
    --color-slate-400: #94A3B8;
    --color-gold: #c99a4b;
    --color-gold-light: #e4bf7a;
    --color-rating: #FFC400;
    --color-cyan: #0097B2;
    --color-cyan-dark: var(--color-cyan);
    --font-display: "Anton", sans-serif;
    --font-nav: "Montserrat", sans-serif;
    --font-body: var(--font-nav);
    --text-xs: 0.68rem;
    --text-sm: 0.82rem;
    --text-lg: clamp(1.15rem, 1.6vw, 1.5rem);
    --text-display: clamp(4.4rem, 8vw, 8.4rem);
    --space-1: 0.5rem;
    --space-2: 0.75rem;
    --space-3: 1rem;
    --space-4: 1.5rem;
    --space-5: 2rem;
    --space-6: 3rem;
    --radius-sm: 0.45rem;
    --radius-md: 0.8rem;
    --radius-pill: 100vmax;
    --shadow-soft: 0 1rem 3rem rgba(0, 0, 0, 0.3);
    --transition: 180ms ease;
    --container-gutter: clamp(1.25rem, 4.5vw, 5rem);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
}

body {
    margin: 0;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
    color: var(--color-white);
    background: var(--color-navy-950);
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-display) !important;
    font-weight: 400 !important;
}

button,
input,
select,
textarea {
    font-family: var(--font-nav);
}

a {
    text-decoration: none;
}

.site-container {
    padding-inline: var(--container-gutter);
}

.site-navbar .site-container {
    position: relative;
}

.hero {
    --expertise-ticker-height: 2.75rem;
    position: relative;
    min-height: 100svh;
    overflow: hidden;
    background-color: var(--color-navy-950);
    background-image: url("../img/backgrounds/home-hero.png?v=4");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
}



/* Navigation */
.site-navbar {
    --color-cyan: #0097B2;
    --color-cyan-dark: #0097B2;
    --color-white: #f8fafc;
    --font-nav: "Montserrat", sans-serif;
    --radius-pill: 100vmax;
    --transition: 180ms ease;
    position: fixed;
    inset: 0 0 auto;
    z-index: 1050;
    min-height: 6rem;
    padding-block: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(1, 9, 18, 0.96);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    transform: translateY(0);
    will-change: transform;
    transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1), background-color 240ms ease, border-color 240ms ease, box-shadow 240ms ease, backdrop-filter 240ms ease;
}

.site-navbar.is-scrolled,
.site-navbar.is-menu-open {
    border-bottom-color: rgba(0, 151, 178, 0.18);
    background-color: rgba(1, 9, 18, 0.96);
    box-shadow: 0 0.7rem 2rem rgba(0, 0, 0, 0.2);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
    backdrop-filter: blur(18px) saturate(135%);
}

.site-navbar.is-hidden:not(.is-menu-open) {
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .site-navbar {
        transition-duration: 0.01ms;
    }
}




.site-navbar .navbar-nav {
    gap: clamp(0.4rem, 1.3vw, 1.5rem);
}

.site-navbar .nav-link {
    position: relative;
    padding: 0.55rem 0.45rem !important;
    color: #E3E3E3;
    font-family: var(--font-nav);
    font-weight: 500;
    font-size: 1.2rem;
    transition: color var(--transition);
}

.site-navbar .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.site-navbar .dropdown-toggle::after {
    display: none !important;
}

.site-navbar .p3-dropdown-icon {
    width: 0.7rem;
    height: 0.5rem;
    flex: 0 0 auto;
    overflow: visible;
    color: var(--color-gold-light);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform var(--transition);
}

.site-navbar .dropdown-toggle[aria-expanded="true"] .p3-dropdown-icon {
    transform: rotate(180deg);
}

.site-navbar .nav-link::after {
    content: "";
    position: absolute;
    right: 0.45rem;
    bottom: 0.2rem;
    left: 0.45rem;
    height: 1px;
    background: var(--color-cyan);
    transform: scaleX(0);
    transition: transform var(--transition);
}

.site-navbar .nav-link:hover,
.site-navbar .nav-link:focus,
.site-navbar .nav-link:active,
.site-navbar .nav-link.active {
    color: var(--color-white);
}

.site-navbar .nav-link:hover::after,
.site-navbar .nav-link:focus::after,
.site-navbar .nav-link:active::after,
.site-navbar .nav-link.active::after {
    transform: scaleX(1);
}

.navbar-cart-link {
    position: relative;
    display: inline-grid;
    width: 2.65rem;
    height: 2.65rem;
    margin-right: 0.8rem;
    flex: 0 0 2.65rem;
    place-items: center;
    border: 1px solid rgba(0, 151, 178, 0.42);
    border-radius: 50%;
    color: var(--color-white);
    background: rgba(2, 17, 29, 0.5);
    font-size: 0.9rem;
    transition: color var(--transition), border-color var(--transition), background var(--transition), transform var(--transition);
}

.navbar-cart-link .idl-cart-badge {
    position: absolute;
    top: -0.35rem;
    right: -0.35rem;
    display: grid;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.22rem;
    place-items: center;
    border: 2px solid var(--color-navy-950);
    border-radius: var(--radius-pill);
    color: var(--color-navy-950);
    background: var(--color-gold);
    font-size: 0.58rem;
    font-weight: 800;
    line-height: 1;
}

.navbar-cart-link--mobile {
    display: none;
}

.p3-auth-actions {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0 0.8rem 0 0;
}

.p3-auth-link {
    padding: 0.5rem 0.25rem;
    color: var(--color-gold-light);
    border: 0;
    background: transparent;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.p3-account-icon {
    position: relative;
    display: inline-grid;
    width: 2.65rem;
    height: 2.65rem;
    padding: 0;
    flex: 0 0 2.65rem;
    place-items: center;
    color: var(--color-white);
    border: 1px solid rgba(0, 151, 178, 0.42);
    border-radius: 50%;
    background: rgba(2, 17, 29, 0.5);
    font-size: 0.95rem;
    transition: color var(--transition), border-color var(--transition), background var(--transition), transform var(--transition);
}

.p3-account-icon--mobile {
    display: none;
}

.p3-account-icon:hover,
.p3-account-icon:focus-visible,
.p3-account-icon.is-signed-in {
    color: var(--color-gold-light);
    border-color: var(--color-cyan);
    background: rgba(0, 151, 178, 0.14);
    transform: translateY(-1px);
}

.p3-account-icon.is-signed-in::after {
    position: absolute;
    top: 0.1rem;
    right: 0.1rem;
    width: 0.48rem;
    height: 0.48rem;
    content: "";
    border: 2px solid var(--color-navy-950);
    border-radius: 50%;
    background: var(--color-gold-light);
}

.p3-account-dropdown {
    position: absolute;
    z-index: 1080;
    top: calc(100% + 0.85rem);
    right: 0;
    width: min(19rem, calc(100vw - 2rem));
    padding: 0.75rem;
    visibility: hidden;
    color: var(--color-white);
    background: rgba(3, 16, 28, 0.98);
    border: 1px solid rgba(201, 154, 75, 0.28);
    border-radius: var(--radius-card, var(--radius-md));
    box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.48);
    opacity: 0;
    transform: translateY(-0.5rem) scale(0.98);
    transform-origin: top right;
    transition: opacity 180ms ease, transform 220ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 220ms;
}

.p3-account-dropdown[hidden] {
    display: none !important;
}

.p3-account-dropdown.is-open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0) scale(1);
    transition-delay: 0s;
}

.p3-account-dropdown > header {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0.55rem 0.85rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.p3-account-dropdown__avatar {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    place-items: center;
    color: var(--color-navy-950);
    background: var(--color-gold-light);
    border-radius: 50%;
    font-size: 0.78rem;
}

.p3-account-dropdown > header div {
    min-width: 0;
}

.p3-account-dropdown > header small {
    display: block;
    color: var(--color-cyan);
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.p3-account-dropdown > header strong {
    display: block;
    overflow: hidden;
    margin-top: 0.1rem;
    color: var(--color-white);
    font-size: 0.78rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.p3-account-dropdown nav {
    display: grid;
    gap: 0.15rem;
    padding: 0.55rem 0;
}

.p3-account-dropdown nav a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 2.55rem;
    padding: 0.55rem 0.7rem;
    color: rgba(248, 250, 252, 0.76);
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    font-size: 0.7rem;
    font-weight: 650;
    transition: color var(--transition), border-color var(--transition), background var(--transition), transform var(--transition);
}

.p3-account-dropdown nav a i {
    width: 1rem;
    color: var(--color-gold-light);
    text-align: center;
}

.p3-account-dropdown nav a:hover,
.p3-account-dropdown nav a:focus-visible,
.p3-account-dropdown nav a.is-active {
    color: var(--color-white);
    border-color: rgba(0, 151, 178, 0.24);
    background: rgba(0, 151, 178, 0.11);
    transform: translateX(0.15rem);
}

.p3-account-dropdown > footer {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0.55rem 0.35rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.p3-account-dropdown > footer a,
.p3-account-dropdown > footer button {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0;
    color: var(--color-muted);
    border: 0;
    background: transparent;
    font-size: 0.62rem;
    font-weight: 700;
}

.p3-account-dropdown > footer a:hover,
.p3-account-dropdown > footer a:focus-visible,
.p3-account-dropdown > footer button:hover,
.p3-account-dropdown > footer button:focus-visible {
    color: var(--color-gold-light);
}

.navbar-cart-link i {
    display: block;
    width: 1.05rem;
    height: 1.05rem;
    background-color: currentColor;
    font-size: 0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M3 3h2l2.4 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 7H6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M3 3h2l2.4 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 7H6'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (min-width: 992px) {
    .navbar-cart-link i {
        width: 1.2rem;
        height: 1.2rem;
    }
}

.navbar-cart-link:hover,
.navbar-cart-link:focus-visible,
.navbar-cart-link:active,
.navbar-cart-link.active {
    border-color: var(--color-cyan);
    color: var(--color-gold-light);
    background: rgba(0, 151, 178, 0.14);
    transform: translateY(-1px);
}

.btn-primary {
    --bs-btn-bg: var(--color-cyan);
    --bs-btn-border-color: var(--color-cyan);
    --bs-btn-hover-bg: var(--color-cyan-dark);
    --bs-btn-hover-border-color: var(--color-cyan-dark);
    --bs-btn-active-bg: var(--color-cyan-dark);
    --bs-btn-active-border-color: var(--color-cyan-dark);
    --bs-btn-color: var(--color-navy-950);
    --bs-btn-hover-color: var(--color-navy-950);
    font-weight: 700;
}

.btn-register {
    min-width: 8.5rem;
    padding: 0.75rem 1.5rem;
    border: 0;
    border-radius: var(--radius-pill);
    box-shadow: 0 0 1.4rem rgba(0, 151, 178, 0.3);
    font-size: 1rem;
    font-weight: 600;
    color: #050505;
    text-transform: capitalize;
}

/* Shared responsive navbar styles live here so every page uses the same component. */
@media (max-width: 991.98px) {
    .site-navbar {
        min-height: 5rem;
    }

    .site-navbar .site-container {
        flex-wrap: wrap;
    }

    .site-navbar .brand-mark {
        order: 1;
        margin-right: auto;
        margin-left: 0;
    }

    .navbar-toggler {
        order: 2;
        margin-left: auto;
        width: 2rem;
        height: 2rem;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none !important;
    }

    .navbar-toggler-icon {
        display: block;
        width: 1.6rem;
        height: 1.6rem;
    }

    .navbar-collapse {
        width: 100%;
        order: 3;
        margin-top: 0.9rem;
        padding: 1rem;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: var(--radius-md);
        background: rgba(3, 20, 33, 0.97);
        box-shadow: var(--shadow-soft);
        backdrop-filter: blur(16px);
    }

    .site-navbar .navbar-nav {
        align-items: stretch !important;
        gap: 0;
    }

    .site-navbar .nav-link {
        padding: 0.7rem 0.25rem !important;
    }

    .site-navbar .nav-link::after {
        right: auto;
        left: 0.25rem;
        width: 2rem;
    }

    .btn-register {
        display: inline-block;
        margin-top: 0.6rem;
    }

    .navbar-cart-link {
        margin-top: 0.6rem;
        vertical-align: middle;
    }

    body[class] .site-navbar .navbar-cart-link--desktop {
        display: none;
    }

    body[class] .site-navbar .navbar-cart-link--mobile {
        display: inline-grid;
        margin: 0 0.45rem 0 auto;
        order: 2;
    }

    body[class] .site-navbar .p3-account-icon--mobile {
        display: inline-grid;
        width: 2.5rem;
        height: 2.5rem;
        margin: 0 0.55rem 0 0;
        flex-basis: 2.5rem;
        order: 2;
    }

    body[class] .site-navbar .p3-account-dropdown--mobile {
        top: calc(100% + 0.6rem);
        right: calc(var(--container-gutter) + 3.05rem);
        width: min(19rem, calc(100vw - (var(--container-gutter) * 2)));
        transform-origin: top right;
    }

    body[class] .site-navbar .navbar-collapse .p3-auth-actions {
        display: none;
    }

    body[class] .site-navbar .navbar-toggler {
        margin-left: 0;
        order: 3;
    }

    body[class] .site-navbar .navbar-collapse {
        order: 4;
    }
}

/* Hero typography */
.hero-content {
    position: relative;
    z-index: 1;
}

.hero-copy {
    width: min(100%, 44rem);
    padding-top: 5rem;
    text-align: center;
}

.home-page .hero-copy[data-aos],
.home-page .event-panel[data-aos] {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.hero-kicker {
    margin: 0 0 0.4rem;
    font-size: clamp(1.45rem, 2.5vw, 2.3rem);
    font-weight: 400;
    letter-spacing: 0.28em;
    line-height: 1;
    text-transform: uppercase;
}

.hero h1 {
    margin: 0;
    font-family: "Playfair Display", serif !important;
    font-size: var(--text-display);
    font-weight: 700 !important;
    letter-spacing: normal;
    line-height: 0.8;
    text-transform: uppercase;
}

.hero h1 span,
.hero h1 strong {
    display: block;
}

.hero h1 strong {
    color: var(--color-gold);
    font-weight: inherit;
}

.country-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    margin-top: 1.35rem;
    color: var(--color-cyan);
}

.country-title span {
    width: clamp(2rem, 4.4vw, 3.5rem);
    height: 2px;
    background: currentColor;
}

.country-title b {
    font-size: clamp(1.6rem, 3vw, 2.75rem);
    font-weight: 500;
    letter-spacing: 0.28em;
    line-height: 1;
    text-transform: uppercase;
}

.hero-subtitle {
    margin: 1.25rem 0 0;
    font-size: var(--text-lg);
    letter-spacing: 0.13em;
    line-height: 1.35;
    text-transform: uppercase;
}

/* Event details card */
.event-panel {
    position: absolute;
    right: var(--container-gutter);
    bottom: calc(clamp(1.5rem, 5vh, 3.5rem) + var(--expertise-ticker-height));
    z-index: 3;
    width: min(47rem, 52vw);
    padding: 2rem 1.5rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 1.4rem 3.6rem rgba(0, 0, 0, 0.38);
    backdrop-filter: blur(26px);
}

.event-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: linear-gradient(90deg, transparent 10%, rgba(214, 164, 80, 0.14) 43%, transparent 58%);
    pointer-events: none;
}

.event-meta {
    position: relative;
    min-height: 4.15rem;
    margin-bottom: 1.35rem;
    padding: 1.5rem;
    align-items: center;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 1rem;
    background: rgba(0, 0, 0, 0.61);
    backdrop-filter: blur(40px);
}

.event-meta::after {
    content: "";
    position: absolute;
    top: 1.15rem;
    bottom: 1.15rem;
    left: 50%;
    width: 1px;
    background: rgba(255, 255, 255, 0.13);
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    color: var(--color-white);
    font-size: clamp(0.72rem, 1.05vw, 1rem);
}

.meta-item:first-child {
    font-weight: 700;
}

.meta-item i {
    color: var(--color-gold-light);
    font-size: 1.05rem;
}

.meta-item:first-child i {
    color: var(--color-cyan);
}

.location-pin-outline {
    position: relative;
    display: inline-block;
    flex: 0 0 0.9rem;
    width: 0.9rem;
    height: 0.9rem;
    margin-bottom: 0.28rem;
    border: 2px solid var(--color-gold-light);
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
}

.location-pin-outline::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.24rem;
    height: 0.24rem;
    border: 1px solid var(--color-gold-light);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.event-action {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-height: 4.7rem;
    padding: 0.8rem 1rem;
    border: 1px solid rgba(201, 154, 75, 0.42);
    border-radius: 0.7rem;
    color: var(--color-white);
    background: rgba(14, 31, 47, 0.88);
    transition: transform var(--transition), border-color var(--transition), background var(--transition);
}

.event-action:hover,
.event-action:focus {
    color: var(--color-white);
    border-color: rgba(0, 151, 178, 0.5);
    transform: translateY(-2px);
}

.event-action-primary {
    color: #063247;
    border-color: transparent;
    background: var(--color-cyan);
    box-shadow: 0 0.75rem 1.8rem rgba(0, 151, 178, 0.16);
}

.event-action-primary:hover,
.event-action-primary:focus {
    color: #062b3c;
    background: var(--color-cyan);
}

.action-icon {
    display: grid;
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
    place-items: center;
    color: var(--color-gold-light);
    font-size: 1.35rem;
}

.event-action-primary .action-icon {
    color: #063247;
}

.event-action span:nth-child(2) {
    min-width: 0;
}

.event-action b,
.event-action small {
    display: block;
}

.event-action b {
    font-size: clamp(0.78rem, 1vw, 1rem);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.event-action small {
    margin-top: 0.12rem;
    color: var(--color-gold);
    font-size: clamp(0.58rem, 0.72vw, 0.72rem);
}

.event-action-primary small {
    color: rgba(2, 48, 65, 0.72);
}

.action-arrow {
    margin-left: auto;
    color: var(--color-gold-light);
    font-size: 0.9rem;
}

.event-action-primary .action-arrow {
    color: var(--color-navy-950);
}

/* Continuous expertise ticker */
.expertise-ticker {
    position: absolute;
    inset: auto 0 0;
    z-index: 4;
    width: 100%;
    overflow: hidden;
    border-top: 1px solid rgba(201, 154, 75, 0.2);
    border-bottom: 1px solid rgba(201, 154, 75, 0.2);
    background: #030d15;
}

.expertise-swiper {
    width: 100%;
    padding-block: 0.85rem;
}

.expertise-swiper .swiper-wrapper {
    align-items: center;
    transition-timing-function: linear !important;
}

.expertise-swiper .swiper-slide {
    display: flex;
    width: auto;
    align-items: center;
    gap: clamp(1.5rem, 3vw, 3.25rem);
    padding-left: clamp(1.5rem, 3vw, 3.25rem);
    color: rgba(248, 250, 252, 0.72);
    font-size: clamp(0.7rem, 0.9vw, 1rem);
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
}

.expertise-swiper .swiper-slide i {
    display: block;
    width: 0.35rem;
    height: 0.35rem;
    flex: 0 0 0.35rem;
    background: var(--color-gold-light);
}

/* Congress quick links */
.quick-links {
    padding-block: clamp(2.6rem, 5vw, 4.75rem);
    background: var(--color-navy-950);
}

.quick-link-card {
    display: flex;
    min-height: 8.6rem;
    height: 100%;
    padding: 1.25rem 0.75rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.9rem;
    color: var(--color-white);
    background: rgba(6, 27, 51, 0.08);
    text-align: center;
    transition: transform var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition);
}



.quick-link-card>span {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
}

.quick-link-card small {
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.75rem;
    line-height: 1.2;
}

.quick-link-card:hover,
.quick-link-card:focus {
    color: var(--color-white);
    border-color: rgba(228, 191, 122, 0.62);
    background: rgba(10, 34, 52, 0.82);
    box-shadow: 0 0.9rem 2rem rgba(0, 0, 0, 0.22);
    transform: translateY(-4px);
}

.quick-link-card:hover>i,
.quick-link-card:focus>i {
    color: var(--color-cyan);
}

/* Shared section heading system */
.section-title {
    margin-bottom: 0.75rem;
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-size: clamp(2.1rem, 4.2vw, 3.5rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.1;
    text-align: center;
}

.section-description {
    margin: 0;
    color: rgba(168, 180, 190, 0.7);
    font-size: clamp(0.75rem, 1.05vw, 0.9rem);
    line-height: 1.55;
}

.section-description--italic {
    font-style: italic;
}

.section-title--display {
    color: var(--color-white);
    font-size: clamp(2.25rem, 5vw, 3rem);
    letter-spacing: -0.04em;
}

.section-title--display em {
    color: var(--color-cyan);
    font-weight: 300;
}

/* Scientific schedule */
.schedule-section {
    position: relative;
    padding-block: clamp(4rem, 7vw, 7rem);

    background: var(--color-navy-950);
    isolation: isolate;
}

.schedule-section::before {
    content: "";
    position: absolute;
    top: 0;
    right: -23.25rem;
    z-index: 0;
    width: 744px;
    height: 744px;
    border-radius: 999px;
    opacity: 0.2;
    background: #0A3375;
    filter: blur(114px);
    pointer-events: none;
}

.schedule-section>.container {
    position: relative;
    z-index: 1;
}

.schedule-tabs {
    gap: 0.65rem;
    margin-block: 2rem 2.3rem;
}

.schedule-tabs .nav-link {
    min-width: 5.25rem;
    padding: 0.5rem 1.5rem;
    border: 1px solid #353434;
    border-radius: var(--radius-pill);
    color: #E3E3E3;
    background: #1C1B1B;
    font-size: 1rem;
    transition: color var(--transition), background var(--transition), border-color var(--transition);
}

.schedule-tabs .nav-link:hover {
    border-color: rgba(0, 151, 178, 0.5);
    color: var(--color-white);
}

.schedule-tabs .nav-link.active {
    border-color: var(--color-cyan);
    color: var(--color-navy-950);
    background: var(--color-cyan);
}

.schedule-content {
    min-height: 25rem;
}

.schedule-item {
    display: grid;
    grid-template-columns: 6.4rem minmax(0, 1fr) auto;
    gap: 1.25rem;
    min-height: 5.35rem;
    margin-bottom: 0.85rem;
    padding: 1.5rem;
    align-items: center;
    border: 1px solid rgba(53, 52, 52, 1);
    border-radius: 0.35rem;
    background: #1C1B1B;
    transition: border-color var(--transition), transform var(--transition), background var(--transition);
}

.schedule-item:hover {
    border-color: rgba(0, 151, 178, 0.46);
    background: #202326;
    transform: translateY(-2px);
}

.schedule-item time {
    color: var(--color-cyan);
    font-family: var(--font-nav);
    font-size: 0.75rem;
    font-weight: 700;
}

.schedule-item h3 {
    margin: 0 0 0.25rem;
    color: #E3E3E3;
    font-family: var(--font-display);
    font-size: clamp(0.85rem, 1.2vw, 1.25rem);
    font-weight: 700;
}

.schedule-item p {
    margin: 0;
    color: #C4C7C5;
    font-family: var(--font-nav);
    font-size: clamp(0.58rem, 0.8vw, 0.825rem);
}

.schedule-type {
    min-width: 4.7rem;
    padding: 0.25rem 0.65rem;
    border: 1px solid currentColor;
    border-radius: var(--radius-pill);
    font-family: var(--font-nav);
    font-size: 0.65rem;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.type-cyan {
    color: var(--color-cyan);
}

.type-gold {
    color: #d27b25;
}

.type-muted {
    color: #6f7880;
}

.schedule-button {
    margin-top: 1.5rem;
    padding: 0.75rem 2rem;
    border: 1px solid #353434;
    border-radius: var(--radius-pill);
    color: #E3E3E3;
    background: #1C1B1B;
    font-family: var(--font-nav);
    font-size: 0.875rem;
}

.schedule-button:hover,
.schedule-button:focus {
    color: var(--color-navy-950);
    border-color: var(--color-gold-light);
    background: var(--color-gold-light);
}

/* Hands-on workshops */
.workshops-section {
    padding-block: clamp(4.5rem, 8vw, 8rem);
    background: var(--color-navy-950);
}

.workshops-heading {
    margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.workshops-view-all {
    margin-top: 1rem;
    padding: 0.75rem 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--radius-pill);
    color: #D8D4CC;
    font-size: 0.875rem;
}

.workshops-view-all:hover,
.workshops-view-all:focus {
    color: var(--color-navy-950);
    border-color: var(--color-gold-light);
    background: var(--color-gold-light);
}

.workshop-card {
    display: block;
    height: 100%;
    padding: 1.5rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 1rem;
    color: var(--color-white);
    background: #030D18;
    transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.workshop-card img {
    display: block;
    width: 100%;
    aspect-ratio: 1.48 / 1;
    object-fit: cover;
    border-radius: 0.55rem;
}

.workshop-meta {
    display: flex;
    margin-top: 1.45rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.workshop-meta time {
    color: #6B6862;
    font-size: 0.65rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.workshop-meta span {
    padding: 0.25rem 0.65rem;
    border: 1px solid rgba(228, 191, 122, 0.38);
    border-radius: var(--radius-pill);
    color: var(--color-gold-light);
    font-size: 0.55rem;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.workshop-card h3 {
    margin: 1.05rem 0 0;
    color: #F2EFEA;
    font-family: "Montserrat", sans-serif !important;
    font-size: clamp(1rem, 1.6vw, 1.25rem);
    font-weight: 400;
    line-height: 1.3;
}

.workshop-card:hover,
.workshop-card:focus {
    color: var(--color-white);
    border-color: rgba(228, 191, 122, 0.62);
    box-shadow: 0 1.25rem 2.8rem rgba(0, 0, 0, 0.3);
    transform: translateY(-6px);
}

/* Dento Legends moments bento gallery */
.moments-section {
    position: relative;
    padding-block: clamp(4.5rem, 8vw, 7.5rem);
    overflow: hidden;
    isolation: isolate;
    background: var(--color-navy-950);
}

.moments-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: url("../img/backgrounds/bento-bg.png?v=4") center / cover no-repeat;
    background-position: center calc(100% + 90px);
    mix-blend-mode: color-dodge;
    pointer-events: none;
}

.moments-container {
    position: relative;
    z-index: 1;
}

.moments-heading {
    width: min(100%, 52rem);
    margin: 0 auto clamp(2rem, 4vw, 3.25rem);
    text-align: center;
}

.moments-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    min-height: clamp(22rem, 36vw, 31rem);
}

.moment-card {
    min-width: 0;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 0.55rem;
    background: var(--color-navy-800);
}

.moment-card-featured {
    grid-column: span 2;
    grid-row: span 2;
}

.moment-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 500ms ease, filter 500ms ease;
}

.moment-card:hover img {
    filter: brightness(1.08);
    transform: scale(1.035);
}

.moments-button {
    margin-top: clamp(2rem, 4vw, 3rem);
    padding: 0.75rem 1.5rem;
    border: 1px solid #353434;
    border-radius: var(--radius-pill);
    color: #E3E3E3;
    background: #1C1B1B;
    font-family: var(--font-nav);
    font-size: 0.875rem;
}

.moments-button:hover,
.moments-button:focus {
    color: var(--color-navy-950);
    border-color: var(--color-gold-light);
    background: var(--color-gold-light);
}

/* Experience callout */
.experience-section {
    padding-block: clamp(4.5rem, 8vw, 7.5rem);
    background: var(--color-navy-950);
}

.experience-heading {
    margin-bottom: 0.5rem;
}

.experience-banner {
    position: relative;
    display: grid;
    min-height: clamp(20rem, 32vw, 27rem);
    padding: 2rem;
    overflow: hidden;
    place-items: center;
    border-radius: 1rem;
    background-image:
        linear-gradient(180deg, rgba(14, 14, 14, 0.48) 0%, rgba(14, 14, 14, 0.82) 100%),
        url("../img/backgrounds/experience-bg.jpg?v=4");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.experience-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, transparent 10%, rgba(14, 14, 14, 0.28) 100%);
    pointer-events: none;
}

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

.experience-content h3 {
    margin-bottom: 0.8rem;
    color: var(--color-white);
    font-family: "Playfair Display", serif !important;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700 !important;
    line-height: 1.1;
}

.experience-content p {
    margin: 0;
    color: rgba(248, 250, 252, 0.7);
    font-size: clamp(0.8rem, 1.3vw, 1rem);
    font-style: italic;
}

.experience-button {
    margin-top: 1.75rem;
    padding: 0.75rem 1.5rem;
    border: 1px solid #353434;
    border-radius: var(--radius-pill);
    color: #E3E3E3;
    background: rgba(28, 27, 27, 0.5);
    font-family: var(--font-nav);
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    backdrop-filter: blur(4px);
}

.experience-button:hover,
.experience-button:focus {
    color: var(--color-navy-950);
    border-color: var(--color-gold-light);
    background: var(--color-gold-light);
}

/* Social community */
.social-section {
    padding-block: clamp(5rem, 9vw, 8.5rem);
    background: var(--color-navy-950);
}

.social-heading {
    margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.social-card {
    display: flex;
    min-height: 9.5rem;
    height: 100%;
    padding: 1.5rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.8rem;
    color: var(--color-white);
    background: rgba(255, 255, 255, 0.06);
    transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.social-card>i {
    margin-bottom: 0.8rem;
    font-size: 1.35rem;
}

.social-card>span {
    font-size: 0.75rem;
    font-weight: 600;
}

.social-card small {
    margin-top: 0.7rem;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.675rem;
}

.social-instagram>i {
    color: #F472B6;
}

.social-facebook>i {
    color: #60A5FA;
}

.social-linkedin>i {
    color: var(--color-cyan);
}

.social-youtube>i {
    color: #F87171;
}

.social-x>i {
    color: var(--color-white);
}

.social-card:hover,
.social-card:focus {
    color: var(--color-white);
    border-color: rgba(228, 191, 122, 0.6);
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.25);
    transform: translateY(-5px);
}

/* FAQ accordion */
.faq-section {
    position: relative;
    padding-block: clamp(4.5rem, 8vw, 8rem);
    background: var(--color-navy-950);
    isolation: isolate;
}

.faq-section::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    width: 1042px;
    height: 780px;
    border-radius: 999px;
    opacity: 0.13;
    background: #0A3375;
    filter: blur(114px);
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.faq-section>.container {
    position: relative;
    z-index: 1;
}

.faq-section .section-title {
    margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.faq-accordion {
    --bs-accordion-border-width: 0;
    width: min(100%, 52rem);
    margin-inline: auto;
}

.faq-accordion .accordion-item {
    margin-bottom: 0.8rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.75rem;
    background: #162536;
    backdrop-filter: blur(40px);
}

.faq-accordion .accordion-button {
    min-height: 4.15rem;
    padding: 1.25rem;
    color: var(--color-white);
    background: #162536;
    box-shadow: none;
    font-size: clamp(0.75rem, 1vw, 1rem);
    font-weight: 600;
}

.faq-accordion .accordion-button:not(.collapsed) {
    color: var(--color-gold-light);
    background: #162536;
}

.faq-accordion .accordion-button::after {
    width: 0.8rem;
    height: 0.8rem;
    margin-left: auto;
    filter: invert(76%) sepia(8%) saturate(500%) hue-rotate(163deg);
    background-size: 0.8rem;


}

.faq-accordion .accordion-button:not(.collapsed)::after {
    background-color: currentColor;
    background-image: none;
    filter: none;
    -webkit-mask: var(--bs-accordion-btn-active-icon) center / 0.8rem 0.8rem no-repeat;
    mask: var(--bs-accordion-btn-active-icon) center / 0.8rem 0.8rem no-repeat;
}

.faq-accordion .accordion-body {
    padding: 0.25rem 1.35rem 1.25rem;
    color: rgba(168, 180, 190, 0.82);
    background: #162536;
    font-size: 0.8rem;
    line-height: 1.65;
}

/* Contact */
.contact-section {
    padding-block: clamp(5rem, 9vw, 8rem);
    background: var(--color-navy-950);
}

.contact-label {
    display: block;
    margin-bottom: 0.9rem;
    color: var(--color-cyan);
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.contact-copy .section-title {
    margin-bottom: 1.25rem;
    line-height: 1;
    text-align: left;
    font-weight: 800 !important;
    font-family: 'montserrat', sans-serif !important;
}

.contact-details {
    display: grid;
    gap: 1.25rem;
    margin: 2rem 0 1.75rem;
    font-style: normal;
}

.contact-detail {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.contact-detail-icon {
    display: grid;
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border: 1px solid rgba(0, 151, 178, 0.2);
    border-radius: 0.45rem;
    color: var(--color-cyan);
    background: rgba(16, 38, 53, 0.72);
    font-size: 0.72rem;
}

.contact-detail-icon .location-pin-outline {
    margin-bottom: 0.2rem;
    border-color: var(--color-cyan);
}

.contact-detail-icon .location-pin-outline::after {
    border-color: var(--color-cyan);
}

.contact-detail small {
    display: block;
    margin-bottom: 0.2rem;
    color: rgba(168, 180, 190, 0.62);
    font-size: 0.58rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.contact-detail a,
.contact-detail div>span {
    color: var(--color-white);
    font-size: 0.8rem;
}

.contact-detail a:hover {
    color: var(--color-cyan);
}

.contact-socials {
    display: flex;
    gap: 0.65rem;
}

.contact-socials a {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border: 1px solid rgba(126, 152, 170, 0.25);
    border-radius: 0.55rem;
    color: rgba(248, 250, 252, 0.66);
    background: rgba(255, 255, 255, 0.06);
    transition: color var(--transition), border-color var(--transition), transform var(--transition);
}

.contact-socials a:hover,
.contact-socials a:focus {
    color: var(--color-cyan);
    border-color: var(--color-cyan);
    transform: translateY(-3px);
}

.contact-form {
    padding: clamp(1.25rem, 3vw, 2.5rem);
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(28px);
}

.contact-form .form-control {
    min-height: 3.1rem;
    padding: 0.8rem 1rem;
    color: var(--color-white);
    border-radius: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    font-size: 0.75rem;
    box-shadow: none;
}

.contact-form textarea.form-control {
    min-height: 8.5rem;
    resize: vertical;
}

.contact-form .form-control::placeholder {
    color: rgba(168, 180, 190, 0.55);
}

.contact-form .form-control:focus {
    border-color: var(--color-cyan);
    background: rgba(255, 255, 255, 0.075);
    box-shadow: 0 0 0 0.2rem rgba(0, 151, 178, 0.1);
}

.contact-submit {
    min-height: 3.1rem;
    border: 0;
    border-radius: 0.65rem;
    color: var(--color-navy-950);
    background: var(--color-cyan);
    box-shadow: 0 0.8rem 1.8rem rgba(0, 151, 178, 0.18);
    font-size: 0.875rem;
    font-weight: 600;
}

.contact-submit:hover,
.contact-submit:focus {
    color: var(--color-navy-950);
    background: var(--color-cyan);
}

/* Scientific Schedule page */
.schedule-page {
    background: var(--color-navy-950);
}

.inner-page-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background-color: var(--color-navy-950);
}

.inner-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: url("../img/backgrounds/schedule-bg.png?v=4");
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.8;
    mix-blend-mode: luminosity;
    pointer-events: none;
}

.inner-page-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(180deg, rgba(1, 20, 41, 0) 0%, #010912 100%);
    pointer-events: none;
}

.inner-page-hero>.container {
    position: relative;
    z-index: 1;
}

.schedule-page-hero {
    min-height: 33rem;
    padding: 11rem 0 4.5rem;
}

.schedule-eyebrow {
    display: block;
    margin-bottom: 1.25rem;
    color: var(--color-cyan);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.schedule-page-hero h1 {
    margin: 0;
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-size: clamp(4rem, 8vw, 5rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.schedule-page-hero p {
    max-width: 40rem;
    margin: 1.5rem 0 0;
    color: #BDC8CD;
    font-size: clamp(0.75rem, 1vw, 1.5rem);
    line-height: 1.65;
}

.schedule-hero-panel {
    display: flex;
    width: min(100%, 32rem);
    align-items: flex-end;
    flex-direction: column;
    gap: 1.5rem;
    margin-left: auto;
}

.schedule-hero-actions {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
}

.schedule-hero-actions a {
    display: inline-flex;
    flex: 1 1 0;
    min-height: 3.5rem;
    padding: 0.8rem 0.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    border: 1px solid rgba(0, 151, 178, 0.48);
    border-radius: 1.05rem;
    color: #D2E4FF;
    background: linear-gradient(145deg, #0d3150, #0b2944);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 0.7rem 1.5rem rgba(0, 0, 0, 0.14);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    white-space: nowrap;
    transition: color var(--transition), border-color var(--transition), background var(--transition), transform var(--transition);
}

.schedule-hero-actions a i {
    color: var(--color-cyan);
    font-size: 1.1rem;
}

.schedule-hero-actions a:last-child {
    color: var(--color-gold-light);
    border-color: rgba(228, 191, 122, 0.58);
}

.schedule-hero-actions a:last-child i {
    color: var(--color-gold-light);
}

.schedule-hero-actions a:hover,
.schedule-hero-actions a:focus {
    color: var(--color-white);
    border-color: var(--color-cyan);
    background: #123b5d;
    transform: translateY(-2px);
}

.schedule-hero-actions a:last-child:hover,
.schedule-hero-actions a:last-child:focus {
    color: var(--color-gold-light);
    border-color: var(--color-gold-light);
}

.schedule-hero-actions a[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.65;
}

.schedule-hero-actions a[aria-disabled="true"]:hover {
    background: linear-gradient(145deg, #0d3150, #0b2944);
    transform: none;
}

.full-schedule {
    padding: 2.5rem 0 clamp(5rem, 8vw, 8rem);
    background: var(--color-navy-950);
}

.schedule-controls {
    display: grid;
    margin-bottom: 3rem;
    padding: 2rem 0;
    gap: 1.5rem;
    border-top: 1px solid rgba(0, 151, 178, 0.2);
    border-bottom: 1px solid rgba(0, 151, 178, 0.28);
}

.schedule-day-control {
    display: grid;
    gap: 0.75rem;
}

.schedule-control-heading,
.schedule-filter-field>span {
    color: #8F9DAA;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.schedule-day-tabs {
    flex: 0 0 auto;
    gap: 1rem;
}

.schedule-day-tabs .nav-link {
    display: flex;
    min-width: 8.6rem;
    min-height: 5.75rem;
    padding: 0.85rem 1.35rem;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    border: 1px solid rgba(0, 151, 178, 0.24);
    border-radius: 1.05rem;
    color: rgba(214, 225, 238, 0.72);
    background: linear-gradient(145deg, #111d28, #0f1922);
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: uppercase;
    transition: color var(--transition), border-color var(--transition), background var(--transition), transform var(--transition);
}

.schedule-day-tabs .nav-link small {
    margin-bottom: 0.35rem;
    color: rgba(0, 151, 178, 0.55);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.schedule-day-tabs .nav-link.active {
    border-color: #174a77;
    color: var(--color-white);
    background: linear-gradient(145deg, #194c7d, #16426d);
    box-shadow: 0 0.8rem 1.8rem rgba(3, 21, 37, 0.25);
}

.schedule-day-tabs .nav-link.active small {
    color: var(--color-cyan);
}

.schedule-day-tabs .nav-link:hover {
    border-color: var(--color-cyan);
    color: var(--color-white);
    transform: translateY(-2px);
}

.schedule-filter-panel {
    padding: 1.25rem;
    border: 1px solid rgba(102, 213, 241, 0.16);
    border-radius: 1rem;
    background: linear-gradient(145deg, rgba(14, 34, 51, 0.92), rgba(8, 23, 36, 0.92));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.schedule-filter-heading {
    display: flex;
    margin-bottom: 1rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.schedule-filter-heading p {
    margin: 0.25rem 0 0;
    color: #8F9DAA;
    font-size: 0.78rem;
}

.schedule-filter-fields {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.schedule-filter-field {
    display: grid;
    min-width: 0;
    gap: 0.45rem;
}

.schedule-filter-field select,
.schedule-filter-field input {
    width: 100%;
    min-height: 3rem;
    padding: 0.65rem 2.4rem 0.65rem 0.9rem;
    border: 1px solid rgba(102, 213, 241, 0.22);
    border-radius: 0.75rem;
    color: #D6E1EE;
    background-color: #081C2E;
    font-family: inherit;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: color var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition);
}

.schedule-search-control {
    position: relative;
    display: block;
}

.schedule-search-control i {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 0.9rem;
    color: #8F9DAA;
    font-size: 0.78rem;
    pointer-events: none;
    transform: translateY(-50%);
}

.schedule-search-control input {
    padding-right: 0.9rem;
    padding-left: 2.35rem;
}

.schedule-search-control input::placeholder {
    color: #8F9DAA;
}

.schedule-filter-field select:hover,
.schedule-filter-field input:hover {
    border-color: rgba(102, 213, 241, 0.5);
}

.schedule-filter-field select:focus-visible,
.schedule-filter-field input:focus-visible {
    border-color: var(--color-cyan);
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 151, 178, 0.16);
}

.schedule-filter-reset,
.schedule-empty-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 2.55rem;
    padding: 0.55rem 0.95rem;
    border: 1px solid rgba(102, 213, 241, 0.2);
    border-radius: var(--radius-pill);
    color: #D2E4FF;
    background: rgba(8, 28, 46, 0.82);
    font-family: inherit;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    cursor: pointer;
    white-space: nowrap;
    transition: color var(--transition), border-color var(--transition), background var(--transition), opacity var(--transition);
}

.schedule-filter-reset:hover:not(:disabled),
.schedule-filter-reset:focus-visible,
.schedule-empty-reset:hover,
.schedule-empty-reset:focus-visible {
    color: #ffffff;
    border-color: var(--color-cyan);
    background: rgba(0, 151, 178, 0.18);
}

.schedule-filter-reset:disabled {
    opacity: 0.42;
    cursor: not-allowed;
}

.schedule-filter-status {
    margin: 1rem 0 0;
    color: #A7B8C7;
    font-size: 0.78rem;
}

.agenda-halls,
.agenda-row {
    display: grid;
    grid-template-columns: 5.5rem repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.agenda-halls {
    margin-bottom: 1rem;
    align-items: stretch;
}

.agenda-halls>span {
    display: flex;
    align-items: center;
    color: #BDC8CD;
    font-size: 0.75rem;
    text-transform: uppercase;
}

.agenda-halls>div {
    display: flex;
    min-height: 5.7rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border: 1px solid transparent;
    border-radius: 1rem;
    color: rgba(216, 229, 244, 0.92);
    background: #171e24;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.agenda-halls.is-hall-filtered {
    grid-template-columns: 5.5rem minmax(0, 1fr);
}

.agenda-halls div small {
    margin-top: 0.55rem;
    color: var(--color-cyan);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0;
}

.agenda-halls>div:nth-of-type(2) small {
    color: var(--color-gold-light);
}

.agenda-card-hall {
    display: none;
}

.schedule-empty-state {
    display: grid;
    min-height: 12rem;
    padding: 2.25rem 1rem;
    place-items: center;
    align-content: center;
    gap: 1rem;
    border: 1px dashed rgba(102, 213, 241, 0.22);
    border-radius: 1rem;
    color: #A7B8C7;
    text-align: center;
}

.schedule-empty-state p {
    margin: 0;
}

.agenda-row {
    margin-bottom: 1rem;
    align-items: stretch;
}

.tab-pane.is-hall-filtered .agenda-row {
    grid-template-columns: 5.5rem minmax(0, 1fr);
}

.agenda-row>time {
    padding-top: 0.9rem;
    color: rgba(102, 213, 241, 0.8);
    font-size: 0.75rem;
    font-weight: 700;
}

.agenda-card {
    position: relative;
    display: flex;
    min-height: 19rem;
    padding: 1.5rem;
    overflow: hidden;
    flex-direction: column;
    border-radius: 1rem;
    background: #030D18;
    box-shadow: 0 0.8rem 2rem rgba(0, 0, 0, 0.12);
    transition: border-color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.agenda-card>small {
    display: block;
    margin-bottom: 1.15rem;
    color: #BDC8CD;
    font-size: 0.75rem;
}

.agenda-card>small i {
    margin-right: 0.45rem;
    color: #BDC8CD;
}

.agenda-card h2 {
    max-width: 94%;
    margin: 0 0 1rem;
    color: #D2E4FF;
    font-size: clamp(1.15rem, 1.65vw, 1.5rem);
    font-weight: 800 !important;
    line-height: 1.22;
    font-family: "Montserrat", sans-serif !important;
}

.agenda-card>p {
    margin: 0 0 1.3rem;
    color: #BDC8CD;
    font-size: 1rem;
    line-height: 1.55;
}

.agenda-card>b {
    position: relative;
    display: flex;
    margin-top: auto;
    min-height: 3.2rem;
    padding: 1rem 0 0 3.35rem;
    justify-content: center;
    flex-direction: column;
    border-top: 1px solid rgba(0, 151, 178, 0.14);
    color: #D2E4FF;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
}

.agenda-card>b small {
    margin-top: 0.25rem;
    color: #BDC8CD;
    font-size: 0.75rem;
    font-weight: 500;
}

.agenda-avatar {
    position: absolute;
    bottom: 1.35rem;
    left: 1.5rem;
    width: 2.35rem;
    height: 2.35rem;
    border: 1px solid rgba(228, 191, 122, 0.38);
    border-radius: 50%;
    object-fit: cover;
}

.agenda-avatar+.agenda-avatar {
    left: 3.2rem;
}

.agenda-avatar-icon {
    display: grid;
    place-items: center;
    border-color: transparent;
    color: var(--color-cyan);
    background: #173551;
    font-size: 0.85rem;
}

.agenda-avatar-icon svg {
    width: 1.15rem;
    height: 1.15rem;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.agenda-card>b.agenda-speakers-double {
    padding-left: 5.1rem;
}

.agenda-card:hover {
    border-color: rgba(0, 151, 178, 0.34);
    box-shadow: 0 1.2rem 2.5rem rgba(0, 0, 0, 0.2);
    transform: translateY(-3px);
}

.agenda-badge {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.65rem 0.9rem;
    border-radius: 0 1rem 0 1rem;
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;

}

.badge-red {
    color: #FFB4AB;
    border: 1px solid rgba(255, 180, 171, 0.5);
    background: rgba(255, 180, 171, 0.2);
}

.badge-cyan {
    color: var(--color-cyan);
    border: 1px solid rgba(0, 151, 178, 0.5);
    background: rgba(0, 151, 178, 0.2);
}

.badge-gold {
    color: #E2C46E;
    border: 1px solid rgba(226, 196, 110, 0.5);
    background: rgba(226, 196, 110, 0.2);
}

.agenda-card .agenda-badge {
    border-top-color: transparent;
    border-right-color: transparent;
}

.keynote-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.keynote-badge i {
    font-size: 0.72rem;
}

.agenda-row-featured .agenda-featured,
.agenda-row .agenda-featured {
    grid-column: 2 / -1;
}

.schedule-page .agenda-card>b .agenda-avatar {
    top: 0.75rem;
    bottom: auto;
    left: 0;
}

.schedule-page .agenda-card>b .agenda-avatar+.agenda-avatar {
    left: 1.7rem;
}

.schedule-page .agenda-card>.idl-session-speaker-link,
.schedule-page .agenda-card>.idl-chip {
    align-self: flex-start;
}

@media (min-width: 1200px) {
    .schedule-page .agenda-row>.agenda-card[data-hall="hall-a"] {
        grid-column: 2;
    }

    .schedule-page .agenda-row>.agenda-card[data-hall="hall-b"] {
        grid-column: 3;
    }

    .schedule-page .agenda-row>.agenda-card[data-hall="hall-c"] {
        grid-column: 4;
    }

    .schedule-page .agenda-row>.agenda-card[data-hall="all"],
    .schedule-page .tab-pane.is-hall-filtered .agenda-row>.agenda-card {
        grid-column: 2 / -1;
    }
}

.agenda-featured {
    min-height: 13rem;
}

.agenda-featured h2 {
    max-width: 80%;
    color: var(--color-gold-light);
    font-family: var(--font-display) !important;
    font-size: clamp(1.75rem, 3vw, 2.75rem);
    font-weight: 400 !important;
    line-height: 1.1;
    letter-spacing: 0.96px;
}

/* Speaker profile */
.speaker-profile-page {
    background: var(--color-navy-950);
}

.inner-content-page {
    --inner-hero-height: 34rem;
    min-height: 70rem;
}

.inner-content-page::before,
.inner-content-page::after {
    inset: 0 0 auto;
    height: var(--inner-hero-height);
    z-index: -1;
}

.speaker-profile {
    padding: 16rem 0 clamp(5rem, 8vw, 8rem);
}

.speaker-bio-panel,
.speaker-identity-card,
.lecture-card,
.abstract-form,
.abstract-tab-message {
    border: 1px solid rgba(0, 151, 178, 0.12);
    background: rgba(3, 18, 31, 0.93);
    box-shadow: 0 1.15rem 2.8rem rgba(0, 0, 0, 0.2);
}

.speaker-bio-panel {
    padding: 1.5rem;
    border-radius: 1rem;
    border: none;
    background: #030D18;
}

.speaker-bio-panel h2,
.speaker-bio-panel h3,
.speaker-section-heading h2 {
    font-family: var(--font-display);
    font-weight: 400;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.profile-eyebrow,
.profile-tabs .nav-link {
    font-family: var(--font-nav);
    font-weight: 600;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}



.speaker-bio-panel h2 {
    margin: 0 0 1.3rem;
    color: var(--color-cyan);
    font-size: 1.25rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #1E3A5F;
}

.speaker-bio-toggle {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    letter-spacing: inherit;
    text-align: inherit;
    text-transform: inherit;
    cursor: default;
}

.speaker-bio-panel p {
    margin: 0 0 1rem;
    color: #A0AEC0;
    ;
    font-size: 0.875rem;
    line-height: 1.65;
}

.speaker-bio-panel h3 {
    margin: 1.55rem 0 0.8rem;
    font-size: 1.125rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #1E3A5F;
}

.speaker-metrics {
    display: grid;
    margin: 0;
    gap: 0.45rem;
}

.speaker-metrics>div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.speaker-metrics dt,
.speaker-metrics dd {
    margin: 0;
    color: rgba(225, 236, 244, 0.78);
    font-size: 0.875rem;
    font-weight: 500;
}


.speaker-metrics dd {
    color: var(--color-white);
}

.speaker-identity-card {
    position: relative;
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr) auto;
    min-height: 11rem;
    padding: 1.35rem 1.5rem;
    align-items: center;
    gap: 1.5rem;
    overflow: hidden;
    border-radius: 1rem;
    border: none;
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(1, 9, 18, 0.49) 0%, rgba(1, 9, 18, 0.49) 100%);
    backdrop-filter: blur(17px);
}

/* .speaker-identity-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    right: -60%;
    background: url(../img/backgrounds/bento-bg.png?v=4) right / cover no-repeat;
    mix-blend-mode: color-dodge;
    pointer-events: none;
    opacity: 0.16;
} */

.speaker-photo-wrap {
    position: relative;
    z-index: 1;
    width: 8.5rem;
    aspect-ratio: 1;
    padding: 0.25rem;
    border: 2px solid var(--color-gold-light);
    border-radius: 50%;
}

.speaker-photo-wrap img {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
    object-position: 34% center;
}

.speaker-identity-copy,
.speaker-socials {
    position: relative;
    z-index: 1;
}

.speaker-name-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.speaker-name-line h1 {
    margin: 0;
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 2.25rem);
    letter-spacing: 0.035em;
    line-height: 1;
    text-transform: uppercase;
    font-weight: 400;
}

.speaker-name-line span {
    padding: 0.25rem 0.5rem;

    border-radius: 0.2rem;
    color: var(--color-cyan);
    border: 1px solid rgba(0, 151, 178, 0.50);
    background: rgba(0, 151, 178, 0.20);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.speaker-identity-copy>p {
    color: #A0AEC0;
    margin-top: 0.5rem;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

.speaker-identity-copy>p i {
    display: inline-block;
    width: 3px;
    height: 3px;
    margin: 0 0.45rem 0.15rem;
    border-radius: 50%;
    background: var(--color-cyan);
}

.speaker-facts {
    display: flex;
    margin: 0;
    padding: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.75rem;
    list-style: none;
}

.speaker-facts li {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    color: rgba(210, 228, 255, 0.62);
    font-size: clamp(0.78rem, 1.2vw, 1rem);
    white-space: nowrap;
}

.speaker-facts i {
    color: var(--color-cyan);
    font-size: 0.875rem;
}

.speaker-facts strong {
    color: var(--color-white);
    font-size: 1.05em;
    font-weight: 800;
}

.speaker-rating span {
    margin-left: -0.25rem;
}

.speaker-socials {
    display: flex;
    align-self: start;
    gap: 0.45rem;
}

.speaker-socials a {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 50%;
    color: #c9d6e2;
    border: 1px solid #1E3A5F;
    background: #0D2036;
    transition: color var(--transition), background var(--transition), transform var(--transition);
}

.speaker-socials a:hover,
.speaker-socials a:focus {
    color: var(--color-navy-950);
    background: var(--color-cyan);
    transform: translateY(-2px);
}

.profile-tabs {
    margin-top: 1.5rem;
    border-bottom: 1px solid rgba(0, 151, 178, 0.22);
}

.profile-tabs .nav {
    gap: 1.5rem;
}

.profile-tabs .nav-link {
    position: relative;
    padding: 0.75rem 0;
    border: 0;
    color: #A0AEC0;
    background: transparent;
    font-size: 1.125rem;
}

.profile-tabs .nav-link::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--color-cyan);
    transform: scaleX(0);
    transition: transform var(--transition);
}

.profile-tabs .nav-link:hover,
.profile-tabs .nav-link:focus,
.profile-tabs .nav-link.active {
    color: var(--color-cyan);
}

.profile-tabs .nav-link.active::before {
    transform: scaleX(1);
}

.speaker-section {
    padding-top: 2rem;
}

.speaker-section-heading {
    display: flex;
    margin-bottom: 1rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.speaker-section-heading h2 {
    margin: 0;
    font-size: 1.5rem;
}

.speaker-section-heading h2 span {
    color: rgba(225, 236, 244, 0.42);
    font-size: 0.875rem;
}

.speaker-section-heading p {
    margin: 0;
    color: #A0AEC0;
    font-size: 0.875rem;
}

.speaker-section-heading p a {
    color: var(--color-cyan);
}

.lecture-card {
    height: 100%;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 1.25rem;
    background: #020d18;
    transition: border-color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.lecture-card:hover {
    box-shadow: 0 1.3rem 2.8rem rgba(0, 0, 0, 0.38), 0 0 0 1px rgba(0, 151, 178, 0.24);
    transform: translateY(-3px);
}

.lecture-image {
    position: relative;
    width: 100%;
    aspect-ratio: 2.65 / 1;
    overflow: hidden;
    border-bottom: 2px solid rgba(36, 129, 169, 0.62);
    border-radius: 16px 16px 0 0;
}

.lecture-image::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 16px 16px 0 0;
    background: rgba(0, 151, 178, 0.1);
    pointer-events: none;
}

.lecture-image img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 16px 16px 0 0;
    object-fit: cover;
    filter: grayscale(1) contrast(1.08) brightness(0.82);
    transition: transform 500ms ease, filter 500ms ease;
}

.lecture-card:hover .lecture-image img {
    filter: grayscale(1) contrast(1.06) brightness(0.9);
    transform: scale(1.025);
}

.lecture-image>span {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 1;
    padding: 0.35rem 0.65rem;
    border: 1px solid rgba(164, 195, 218, 0.72);
    border-radius: 0.7rem;
    color: #d7e5f1;
    background: rgba(4, 20, 32, 0.72);
    backdrop-filter: blur(8px);
    font-size: 0.68rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lecture-card h3 {
    margin: 0;
    padding: 1.25rem 1.25rem 1rem;
    color: var(--color-white);
    font-size: clamp(1rem, 1.55vw, 1.25rem);
    font-weight: 700 !important;
    line-height: 1.2;
    font-family: 'montserrat', sans-serif !important;
}

.lecture-card>div:last-child {
    display: flex;
    margin-inline: 1.25rem;
    padding: 1rem 0 1.25rem;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(63, 116, 151, 0.62);
    color: rgba(210, 228, 255, 0.72);
    font-size: 0.82rem;
}

.lecture-card time i {
    margin-right: 0.4rem;
    color: #9db4c8;
    font-size: 0.9rem;
}

.abstract-section {
    padding-top: clamp(3rem, 5vw, 4.5rem);
}

.abstract-section .speaker-section-heading {
    margin-bottom: 1.9rem;
}

.abstract-section .speaker-section-heading h2 {
    color: var(--color-white);
    letter-spacing: 0.035em;
}

.custom-select {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.custom-select::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.1rem;
    width: 0.5rem;
    height: 0.5rem;
    border-right: 2px solid #a9bdcd;
    border-bottom: 2px solid #a9bdcd;
    pointer-events: none;
    transform: translateY(-68%) rotate(45deg);
    transition: border-color var(--transition);
}

.custom-select:focus-within::after {
    border-color: var(--color-cyan);
}

.custom-select select {
    padding-right: 3.25rem;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

select option {
    background-color: #030e19;
    color: #ecf3fa;
    padding: 0.5rem;
}

.submission-select select {
    min-height: 2.45rem;
    padding: 0.45rem 3.25rem 0.45rem 1rem;
    border: 1px solid rgba(54, 116, 161, 0.68);
    border-radius: var(--radius-pill);
    color: rgba(236, 243, 250, 0.92);
    background-color: #030e19;
    font-family: inherit;
    font-size: 0.9rem;
    outline: none;
    transition: border-color var(--transition), box-shadow var(--transition);
}

.submission-select select:hover,
.submission-select select:focus {
    border-color: var(--color-cyan);
    box-shadow: 0 0 0 0.18rem rgba(0, 151, 178, 0.08);
}

.abstract-form {
    padding: clamp(1.6rem, 3vw, 2rem);
    border: 0;
    border-radius: 1.25rem;
    background: #03101c;
}

.submission-owner {
    display: flex;
    margin-bottom: 1.8rem;
    padding-bottom: 1.35rem;
    align-items: center;
    gap: 1rem;
    border-bottom: 1px solid rgba(53, 105, 141, 0.62);
}

.submission-owner>img {
    flex: 0 0 auto;
    width: 3rem;
    height: 3rem;
    border: 1px solid var(--color-cyan);
    border-radius: 50%;
    object-fit: cover;
    object-position: 82% center;
}

.submission-owner b,
.submission-owner small {
    display: block;
}

.submission-owner b {
    color: var(--color-white);
    font-size: 0.95rem;
    font-weight: 700;
}

.submission-owner small {
    margin-top: 0.25rem;
    color: #A0AEC0;
    font-size: 0.75rem;
}

.abstract-form>label:not(.abstract-upload) {
    display: block;
    margin: 1.1rem 0 0.45rem;
    color: #A0AEC0;
    font-size: 0.875rem;
}

.abstract-form input[type="text"],
.abstract-form textarea {
    display: block;
    width: 100%;
    padding: 0.75rem 0.9rem;
    border: 1px solid rgba(54, 116, 161, 0.65);
    border-radius: 0.55rem;
    color: var(--color-white);
    background: #010b14;
    font-family: inherit;
    font-size: 0.88rem;
    outline: 0;
    transition: border-color var(--transition), box-shadow var(--transition);
}

.abstract-form textarea {
    min-height: 7.75rem;
    resize: vertical;
}

.abstract-form input::placeholder,
.abstract-form textarea::placeholder {
    color: rgba(168, 180, 190, 0.42);
}

.abstract-form input:focus,
.abstract-form textarea:focus {
    border-color: var(--color-cyan);
    box-shadow: 0 0 0 0.15rem rgba(0, 151, 178, 0.08);
}

.abstract-upload {
    display: flex;
    min-height: 7.5rem;
    margin-top: 1.7rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.7rem;
    border: 2px dashed rgba(46, 101, 151, 0.68);
    border-radius: 0.55rem;
    color: rgba(197, 214, 230, 0.7);
    background: #010b14;
    cursor: pointer;
    font-size: 0.88rem;
    transition: color var(--transition), border-color var(--transition), background var(--transition);
}

.abstract-upload i {
    color: #a6b9ca;
    font-size: 1.75rem;
}

.abstract-upload:hover,
.abstract-upload:focus-within {
    color: var(--color-white);
    border-color: var(--color-cyan);
    background: rgba(0, 151, 178, 0.05);
}

.abstract-submit {
    min-height: 2.9rem;
    margin-top: 1.75rem;
    padding: 0.7rem 1.55rem;
    border: 1px solid rgba(0, 188, 215, 0.68);
    border-radius: 0.55rem;
    color: var(--color-cyan);
    background: rgba(0, 151, 178, 0.08);
    font-size: 0.875rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    font-weight: 400 !important;
    font-family: var(--font-nav) !important;
}

.abstract-submit:hover,
.abstract-submit:focus {
    color: var(--color-navy-950);
    border-color: var(--color-cyan);
    background: var(--color-cyan);
}

.abstract-tab-message {
    margin-top: 2rem;
    padding: clamp(2rem, 6vw, 5rem);
    border-radius: 0.8rem;
    text-align: center;
}

.abstract-tab-message>i {
    color: var(--color-cyan);
    font-size: 2rem;
}

.abstract-tab-message h2 {
    margin: 1rem 0 0.5rem;
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-weight: 400;
    text-transform: uppercase;
}

.abstract-tab-message p {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.82rem;
}

/* Courses catalogue */
.courses-page {
    background: var(--color-navy-950);
}

.courses-catalog {
    padding: 12rem 0 clamp(5rem, 8vw, 8rem);
}

.courses-hero h1 {
    margin: 0;
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-size: clamp(2.8rem, 5.5vw, 5rem);
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: normal;
    text-transform: uppercase;
}



.courses-hero p {
    max-width: 44rem;
    margin: 1.3rem 0 0;
    color: rgba(205, 220, 232, 0.66);
    font-size: 0.82rem;
    line-height: 1.6;
}

.courses-divider {
    height: 1px;
    margin: 2.25rem 0 1.75rem;
    background: rgba(0, 151, 178, 0.17);
}

.courses-filter {
    padding: 0 1.15rem;

    color: rgba(211, 225, 237, 0.72);
}

.courses-filter-trigger-wrap {
    display: none;
}

.courses-filter-trigger {
    display: inline-flex;
    min-height: 3rem;
    padding: 0.75rem 1rem;
    align-items: center;
    gap: 0.65rem;
    border: 1px solid rgba(0, 185, 220, 0.55);
    border-radius: var(--radius-sm);
    color: var(--color-cyan);
    background: rgba(2, 18, 31, 0.88);
    font-weight: 700;
}

.filter-outline-icon {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.courses-filter-trigger b {
    display: grid;
    min-width: 1.6rem;
    height: 1.6rem;
    margin-left: 0.35rem;
    padding-inline: 0.35rem;
    place-items: center;
    border-radius: 0.25rem;
    color: #001018;
    background: var(--color-cyan);
    font-size: 0.7rem;
}

.courses-filter .courses-filter-body {
    display: grid;
    padding: 0;
    gap: 2rem;
}

.courses-filter-close {
    display: none;
}

.filter-title {
    display: flex;
    min-height: 3.7rem;
    margin: 0;
    align-items: center;
    gap: 0.55rem;
    color: var(--color-cyan);
    font-size: 1rem;
    font-weight: 700;
}

.filter-title>b {
    display: grid;
    min-width: 1.6rem;
    height: 1.6rem;
    margin-left: auto;
    padding-inline: 0.35rem;
    place-items: center;
    border-radius: 0.25rem;
    color: #001018;
    background: var(--color-cyan);
    font-size: 0.7rem;
}

.filter-group {
    margin: 0;
    margin-top: 1.5rem;
    border: 0;

}

.filter-group legend {
    float: none;
    width: 100%;
    margin: 0;
    margin-bottom: 1rem;
}

.filter-group legend button {
    display: flex;
    width: 100%;
    padding: 0;
    align-items: center;
    justify-content: space-between;
    border: 0;
    color: var(--color-white);
    background: transparent;
    font-family: inherit;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-align: left;
    text-transform: uppercase;
}

.filter-group legend button i {
    color: #bdccda;
    font-size: 0.65rem;
    transition: color var(--transition), transform var(--transition);
}

.filter-group legend button:hover i,
.filter-group legend button:focus i {
    color: var(--color-cyan);
}

.filter-group legend button[aria-expanded="false"] i {
    transform: rotate(180deg);
}

.filter-group-content {
    display: grid;
    padding-top: 0;
    gap: 0.7rem;
}

.filter-group-content[hidden] {
    display: none;
}

.filter-group label {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.65rem;
    cursor: pointer;
    font-size: 0.8rem;
}

.filter-group label small {
    color: rgba(205, 220, 232, 0.4);
}

.filter-group input[type="checkbox"],
.filter-group input[type="radio"] {
    width: 1rem;
    height: 1rem;
    margin: 0;
    border: 1px solid rgba(71, 120, 153, 0.35);
    border-radius: 0.2rem;
    appearance: none;
    background-color: #03111e;
    cursor: pointer;
}

.filter-group input[type="radio"] {
    border-radius: 50%;
}

.filter-group input[type="checkbox"]:checked {
    border-color: var(--color-cyan);
    background-color: var(--color-cyan);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23001018' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m3 8 3 3 7-7'/%3E%3C/svg%3E");
}

.filter-group input[type="radio"]:checked {
    border-color: var(--color-cyan);
    background: var(--color-cyan);
    box-shadow: inset 0 0 0 0.25rem #03111e;
}

.price-values {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.price-values>label {
    display: block;
    color: rgba(225, 236, 244, 0.82);
    font-weight: 500;
}

.price-values>label>span {
    display: flex;
    width: 100%;
    min-height: 3.5rem;
    padding: 0.5rem 0.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.1rem;
    border-radius: 0.35rem;
    background: #03111e;
}

.price-values i {
    color: rgba(225, 236, 244, 0.82);
    font-size: 1.1rem;
    font-style: normal;
}

.price-values input[type="number"] {
    width: 3.5ch;
    min-width: 0;
    padding: 0;
    border: 0;
    outline: 0;
    color: rgba(225, 236, 244, 0.82);
    background: transparent;
    font: 400 1.1rem/1 var(--font-nav);
    appearance: textfield;
    -moz-appearance: textfield;
}

.price-values input[type="number"]::-webkit-inner-spin-button,
.price-values input[type="number"]::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.price-values small {
    display: block;
    margin-bottom: 0.55rem;
    color: rgba(205, 220, 232, 0.5);
    font-size: 0.95rem;
    font-weight: 400;
}

.featured-courses>h2 {
    margin: 0 0 1rem;
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}



.featured-course-card {
    display: grid;
    grid-template-columns: 8.1rem minmax(0, 1fr);
    min-height: 15rem;
    height: 100%;
    padding: 1.4rem;
    align-items: stretch;
    gap: 1.4rem;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 1rem;
    background: #020d18;
    isolation: isolate;
    transition: border-color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.featured-course-card--primary {
    border-color: rgba(0, 210, 235, 0.8);
    background: #031723;
}

.featured-course-card:hover {
    border-color: var(--color-cyan);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.28);
    transform: translateY(-3px);
}

.featured-course-card>img {
    width: 100%;
    height: 100%;
    min-height: 12.5rem;
    border-radius: 0.55rem;
    background: lightgray 50% / cover no-repeat;
    mix-blend-mode: luminosity;
    object-fit: cover;
}

.featured-course-card>div {
    display: flex;
    padding: 0.35rem 0;
    align-items: flex-start;
    flex-direction: column;
}

.featured-course-card small {
    color: #9caec2;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.featured-course-card--primary small {
    color: var(--color-cyan);
}

.featured-course-card h3 {
    margin: 0.55rem 0 0.65rem;
    color: var(--color-white);
    font-size: clamp(1.05rem, 1.55vw, 1.35rem);
    font-weight: 700 !important;
    line-height: 1.2;
    font-family: var(--font-nav) !important;
}

.featured-course-card p {
    margin: 0 0 0.9rem;
    color: rgba(195, 211, 225, 0.65);
    font-size: 0.78rem;
    line-height: 1.55;
}

.featured-course-card a {
    display: inline-flex;
    min-height: 2rem;
    margin-top: auto;
    padding: 0.45rem 1rem;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-cyan);
    border-radius: var(--radius-pill);
    color: var(--color-cyan);
    background: transparent;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: color var(--transition), background var(--transition), transform var(--transition);
}

.featured-course-card--primary a,
.featured-course-card a:hover,
.featured-course-card a:focus {
    color: #001018;
    background: var(--color-cyan);
}

.featured-course-card a:hover,
.featured-course-card a:focus {
    transform: translateY(-2px);
}

.course-toolbar {
    display: flex;
    margin: 2rem 0 0.85rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.course-search {
    position: relative;
    width: min(100%, 22rem);
}

.course-search i {
    position: absolute;
    top: 50%;
    left: 0.8rem;
    color: rgba(205, 220, 232, 0.42);
    font-size: 0.75rem;
    transform: translateY(-50%);
}

.course-search input {
    width: 100%;
    min-height: 2.45rem;
    padding: 11px 16px 12px 40px;
    border: none;
    border-radius: 0.5rem;
    color: #E2E8F0;
    background: #030D18;
    font-size: 0.875rem;
    outline: none;
}

.course-search input:focus {
    border-color: var(--color-cyan);
}

.course-sort {
    gap: 0.5rem;
    color: var(--color-slate-400);
    font-size: 0.875rem;
}

.course-sort::after {
    right: 0.75rem;
    width: 0.38rem;
    height: 0.38rem;
}

.course-sort select {
    min-height: 2.25rem;
    padding: 0.4rem 2.25rem 0.4rem 0.75rem;
    border: none;
    border-radius: 0.4rem;
    color: #E2E8F0;
    background: #03111e;
    font-family: inherit;
    font-size: 0.68rem;
    outline: none;
}

.course-results {
    margin: 0 0 1rem;
    color: rgba(205, 220, 232, 0.48);
    font-size: 0.68rem;
}

.course-card {
    display: flex;
    height: 100%;
    min-height: 27rem;
    overflow: hidden;
    flex-direction: column;
    border: 0;
    border-radius: 1rem;
    background: #020d18;
    box-shadow: 0 0.8rem 2rem rgba(0, 0, 0, 0.16);
    transition: transform var(--transition), box-shadow var(--transition);
}

.course-card:hover {
    box-shadow: 0 1.2rem 2.6rem rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(0, 151, 178, 0.22);
    transform: translateY(-4px);
}

.course-card-image {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: lightgray 50% / cover no-repeat;
    isolation: isolate;
}

.course-card-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(1, 9, 18, 0.02), rgba(1, 9, 18, 0.45));
}

.course-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    background: lightgray 50% / cover no-repeat;
    mix-blend-mode: luminosity;
    object-fit: cover;
    filter: contrast(1.05) brightness(0.82);
    transition: transform 450ms ease, filter 450ms ease;
}

.course-card:hover .course-card-image img {
    filter: contrast(1.04) brightness(0.9);
    transform: scale(1.035);
}

.course-card-image span {
    position: absolute;
    z-index: 1;
    top: 0.75rem;
    left: 0.75rem;
    padding: 0.38rem 0.58rem;
    border-radius: 0.1rem;
    color: #011429;
    background: var(--color-cyan);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

.course-card-body {
    display: flex;
    flex: 1;
    padding: 1.25rem;
    flex-direction: column;
}

.course-card-title {
    display: flex;
    min-height: 3.5rem;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
}

.course-card-title h2 {
    max-width: 72%;
    margin: 0;
    color: var(--color-white);
    font-size: clamp(1rem, 1.35vw, 1.25rem);
    font-weight: 700 !important;
    line-height: 1.15;
    font-family: var(--font-nav) !important;
}

.course-card-title strong {
    flex: 0 0 auto;
    color: var(--color-cyan);
    font-size: 0.95rem;
    font-weight: 800;
}

.course-card-body ul {
    display: grid;
    margin: 1rem 0 1.1rem;
    padding: 0;
    gap: 0.65rem;
    color: rgba(205, 220, 232, 0.62);
    font-size: 0.75rem;
    list-style: none;
}

.course-card-body li {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.course-card-body li i {
    width: 1rem;
    color: #8da8bb;
    text-align: center;
}

.course-instructor {
    display: flex;
    padding: 1rem 0 0.8rem;
    align-items: center;
    gap: 0.65rem;
    border-top: 1px solid rgba(64, 111, 143, 0.28);
    color: rgba(239, 245, 250, 0.86);
    font-size: 0.75rem;
}

.course-instructor img {
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid var(--color-cyan);
    border-radius: 50%;
    object-fit: cover;
}

.course-card-footer {
    display: flex;
    margin-top: auto;
    padding-top: 0.65rem;
    align-items: center;
    justify-content: space-between;
    font-size: 0.7rem;
}

.course-card-footer>span {
    color: var(--color-slate-400);
}

.course-card-footer>.seats-limited {
    color: #FB923C;
}

.course-card-footer>.seats-critical {
    color: #EF4444;
    font-weight: 700;
}

.course-card-footer a {
    color: var(--color-cyan);
    font-size: 0.78rem;
}

.course-card-footer a i {
    margin-left: 0.25rem;
    transition: transform var(--transition);
}

.course-card-footer a:hover i {
    transform: translateX(3px);
}

.course-pagination {
    display: flex;
    margin-top: 2.25rem;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
}

.course-pagination button {
    display: grid;
    width: 2rem;
    height: 2rem;
    padding: 0;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 50%;
    color: rgba(205, 220, 232, 0.58);
    background: transparent;
    font-size: 0.7rem;
}

.course-pagination button:hover,
.course-pagination button.active {
    color: #001018;
    border-color: var(--color-cyan);
    background: var(--color-cyan);
}

.course-pagination span {
    color: rgba(205, 220, 232, 0.38);
}

.courses-newsletter {
    display: flex;
    min-height: 9rem;
    padding: 2.75rem 0;
    align-items: center;
    background: #030D18;
}

.courses-newsletter .courses-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(2rem, 7vw, 7rem);
}

.courses-newsletter h2 {
    margin: 0 0 0.45rem;
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-size: clamp(1.25rem, 2vw, 1.875rem);
    font-weight: 700;
    letter-spacing: 0.025em;
    line-height: 1;
    text-transform: uppercase;
}

.courses-newsletter p {
    margin: 0;
    color: var(--color-gold-light);
    font-size: 1rem;

}

.courses-newsletter form {
    display: flex;
    width: min(100%, 31rem);
    align-items: center;
    gap: 0.75rem;
}

.courses-newsletter input {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.7rem 1.15rem;
    border: 0;
    border-radius: var(--radius-pill);
    color: #07131d;
    background: #f7f8fa;
    font-size: 0.8rem;
    outline: none;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2);
    transition: box-shadow var(--transition);
}

.courses-newsletter input:focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 151, 178, 0.18);
}

.courses-newsletter button {
    flex: 0 0 auto;
    min-width: 8rem;
    min-height: 2.75rem;
    padding: 0.7rem 1.4rem;
    border: 0;
    border-radius: var(--radius-pill);
    color: #FFFFFF;
    background: var(--color-cyan);
    box-shadow: 0 0.55rem 1.25rem rgba(0, 151, 178, 0.1);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.shared-layout-error {
    position: absolute;
    z-index: 20;
    width: 100%;
    padding: 1rem;
    color: var(--color-white);
    background: var(--color-navy-900);
    text-align: center;
}

/* Interactive venue map */
.venue-section {
    position: relative;
    overflow: hidden;
    padding-top: clamp(4.5rem, 8vw, 7rem);
    background:
        radial-gradient(circle at 50% -8rem, rgba(0, 151, 178, 0.16), transparent 28rem),
        var(--color-navy-950);
}

.venue-heading {
    position: relative;
    z-index: 1;
    max-width: 50rem;
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.venue-heading>span {
    display: block;
    margin-bottom: 0.9rem;
    color: var(--color-cyan);
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.venue-heading .section-title {
    margin-bottom: 1.1rem;
    font-family: 'montserrat', sans-serif !important;
    font-weight: 800 !important;
    line-height: 1.04;
    text-wrap: balance;
}

.venue-heading .section-description {
    max-width: 42rem;
    margin: 0 auto;
    color: rgba(188, 201, 211, 0.82);
    font-size: clamp(0.82rem, 1.15vw, 0.98rem);
    line-height: 1.75;
    text-wrap: balance;
}

.venue-heading > .idl-button {
    min-height: 3.4rem;
    margin-top: clamp(1.75rem, 3vw, 2.25rem);
    padding-inline: 1.65rem;
    border-color: rgba(0, 174, 203, 0.72);
    border-radius: 0.85rem;
    background: rgba(0, 151, 178, 0.06);
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.16);
}

.venue-heading > .idl-button:is(:hover, :focus-visible) {
    border-color: var(--color-cyan);
    background: rgba(0, 151, 178, 0.14);
    box-shadow: 0 1.15rem 2.75rem rgba(0, 151, 178, 0.16);
    transform: translateY(-2px);
}

.venue-map {
    height: clamp(25rem, 46vw, 38rem);
    overflow: hidden;
    border-top: 1px solid rgba(0, 151, 178, 0.16);
    border-bottom: 1px solid rgba(0, 151, 178, 0.16);
    background: #111;
}

.venue-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    filter: grayscale(1) brightness(0.58) contrast(1.18);
    transition: filter 350ms ease;
}

.venue-map:hover iframe,
.venue-map:focus-within iframe {
    filter: grayscale(0.85) brightness(0.72) contrast(1.08);
}

/* Footer */
.site-footer {
    padding: clamp(4rem, 7vw, 6.5rem) 0 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
    background: #080808;
}

.footer-brand {
    display: inline-flex;
    flex-direction: column;
    text-transform: uppercase;
}

.footer-brand b {
    color: var(--color-white);
    font-size: 1.2rem;
    line-height: 1;
}

.footer-brand span {
    margin-top: 0.55rem;
    color: var(--color-cyan);
    font-size: 0.875rem;
    letter-spacing: 0.1em;
}

.footer-about,
.footer-newsletter-copy {
    max-width: 15rem;
    margin: 1.25rem 0 0;
    color: rgba(255, 255, 255, 0.45);
    font-size: 1rem;
    line-height: 1.6;
}

.site-footer h2 {
    margin-bottom: 1.35rem;
    color: rgba(255, 255, 255, 0.4);
    font-family: "Montserrat", sans-serif !important;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.footer-nav {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 0.8rem;
}

.footer-nav a,
.footer-bottom a {
    color: rgba(255, 255, 255, 0.6);
    font-size: 1rem;
    transition: color var(--transition);
}

.footer-nav a:hover,
.footer-nav a:focus,
.footer-bottom a:hover,
.footer-bottom a:focus {
    color: var(--color-cyan);
}

.footer-event {
    display: grid;
    gap: 0.85rem;
}

.footer-event p {
    display: flex;
    margin: 0;
    align-items: center;
    gap: 0.75rem;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1rem;
}

.footer-event i {
    width: 0.85rem;
    color: var(--color-white);
    text-align: center;
}

.footer-event .location-pin-outline {
    flex-basis: 0.8rem;
    width: 0.8rem;
    height: 0.8rem;
    margin-bottom: 0.2rem;
    border-color: rgba(248, 250, 252, 0.75);
}

.footer-event .location-pin-outline::after {
    border-color: rgba(248, 250, 252, 0.75);
}

.footer-socials {
    display: flex;
    gap: 0.6rem;
    margin-top: 1.4rem;
}

.footer-socials a {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border: 1px solid rgba(126, 152, 170, 0.22);
    border-radius: 0.4rem;
    color: rgba(248, 250, 252, 0.6);
    background: rgba(255, 255, 255, 0.055);
    font-size: 0.85rem;
    transition: color var(--transition), border-color var(--transition);
}

.footer-socials a:hover,
.footer-socials a:focus {
    color: var(--color-cyan);
    border-color: var(--color-cyan);
}

.footer-newsletter-copy {
    margin-top: 0;
}

.footer-newsletter {
    display: flex;
    gap: 0.45rem;
    margin-top: 1rem;
}

.footer-newsletter input {
    min-width: 0;
    width: 100%;
    height: 2.7rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid rgba(126, 152, 170, 0.22);
    border-radius: 0.45rem;
    color: var(--color-white);
    background: rgba(255, 255, 255, 0.055);
    font-size: 1rem;
    outline: none;
}

.footer-newsletter input::placeholder {
    color: rgba(168, 180, 190, 0.48);
    font-size: 1rem;
}

.footer-newsletter input:focus {
    border-color: var(--color-cyan);
}

.footer-newsletter button {
    flex: 0 0 auto;
    height: 2.7rem;
    padding-inline: 1rem;
    border: 0;
    border-radius: 0.45rem;
    color: var(--color-navy-950);
    background: var(--color-cyan);
    font-size: 0.875rem;
    font-weight: 600;
    transition: background var(--transition);
}

.footer-newsletter button:hover,
.footer-newsletter button:focus {
    background: var(--color-cyan);
}

.footer-bottom {
    display: flex;
    margin-top: clamp(3.5rem, 7vw, 6rem);
    padding-top: 1.4rem;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.3);
    font-size: 0.875rem;
}

.footer-bottom>div {
    display: flex;
    gap: 1.5rem;
}

.footer-bottom a {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.35);
}

/* Shared responsive footer styles */
@media (max-width: 767.98px) {
    .site-footer {
        padding-top: 3.75rem;
    }

    .footer-about {
        max-width: 18rem;
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 576px) {
    .site-footer .footer-brand b {
        font-size: 1.05rem;
    }

    .site-footer .footer-brand span,
    .site-footer h2,
    .site-footer .footer-bottom p,
    .site-footer .footer-bottom a {
        font-size: var(--text-xs);
    }

    .site-footer .footer-about,
    .site-footer .footer-newsletter-copy,
    .site-footer .footer-nav a,
    .site-footer .footer-event p,
    .site-footer .footer-newsletter input,
    .site-footer .footer-newsletter input::placeholder {
        font-size: var(--text-sm);
    }

    .site-footer .footer-newsletter button {
        font-size: 0.75rem;
    }

    .site-footer .footer-socials a {
        font-size: 0.78rem;
    }
}

@media (max-width: 374.98px) {
    .footer-newsletter {
        align-items: stretch;
        flex-direction: column;
    }

    .footer-newsletter button {
        width: 100%;
    }
}

:focus-visible {
    outline: 2px solid var(--color-cyan);
    outline-offset: 3px;
}

/* Glass light sweep for interactive buttons and button-like links */
:is(.btn-register,
    .navbar-toggler,
    .event-action,
    .quick-link-card,
    .schedule-tabs .nav-link,
    .schedule-button,
    .workshops-view-all,
    .moments-button,
    .experience-button,
    .contact-submit,
    .abstract-submit,
    .featured-course-card a,
    .course-card-footer a,
    .course-pagination button,
    .courses-newsletter button,
    .schedule-hero-actions a,
    .schedule-day-tabs .nav-link,
    .schedule-filter-reset,
    .schedule-empty-reset,
    .footer-newsletter button) {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

:is(.btn-register,
    .navbar-toggler,
    .event-action,
    .quick-link-card,
    .schedule-tabs .nav-link,
    .schedule-button,
    .workshops-view-all,
    .moments-button,
    .experience-button,
    .contact-submit,
    .abstract-submit,
    .featured-course-card a,
    .course-card-footer a,
    .course-pagination button,
    .courses-newsletter button,
    .schedule-hero-actions a,
    .schedule-day-tabs .nav-link,
    .schedule-filter-reset,
    .schedule-empty-reset,
    .footer-newsletter button)::after {
    content: "";
    position: absolute;
    inset: -50% auto -50% -75%;
    z-index: -1;
    width: 42%;
    pointer-events: none;
    background: linear-gradient(105deg,
            transparent 0%,
            rgba(255, 255, 255, 0.08) 35%,
            rgba(255, 255, 255, 0.55) 50%,
            rgba(255, 255, 255, 0.1) 65%,
            transparent 100%);
    filter: blur(0.5px);
    transform: skewX(-18deg);
    transition: left 700ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

:is(.btn-register,
    .navbar-toggler,
    .event-action,
    .quick-link-card,
    .schedule-tabs .nav-link,
    .schedule-button,
    .workshops-view-all,
    .moments-button,
    .experience-button,
    .contact-submit,
    .abstract-submit,
    .featured-course-card a,
    .course-card-footer a,
    .course-pagination button,
    .courses-newsletter button,
    .schedule-hero-actions a,
    .schedule-day-tabs .nav-link,
    .schedule-filter-reset,
    .schedule-empty-reset,
    .footer-newsletter button):is(:hover, :focus-visible)::after {
    left: 135%;
}

/* Course details page */
.course-details-page {
    background: var(--color-navy-950);
}

.course-detail-main {
    padding: 12rem 0 clamp(5rem, 8vw, 8rem);
}



.course-detail-hero {
    margin-bottom: 2.5rem;
}

.course-detail-mobile-badges {
    display: none;
}

.course-detail-eyebrow {
    display: inline-block;
    margin-bottom: 1rem;
    color: var(--color-cyan);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.course-detail-hero h1 {

    margin: 0;
    color: var(--color-gold-light);
    font-size: clamp(3.25rem, 6.5vw, 5.75rem);
    letter-spacing: 0.02em;
    line-height: 0.96;
    text-transform: uppercase;
}

.course-detail-hero>p {
    max-width: 50rem;
    margin: 1.25rem 0 0;
    color: rgba(205, 220, 232, 0.72);
    font-size: 0.92rem;
    line-height: 1.7;
}

.course-detail-meta {
    display: flex;
    margin-top: 1.5rem;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem 2.75rem;
    color: rgba(205, 220, 232, 0.64);
    font-size: 0.8rem;
}

.course-detail-author {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    color: var(--color-white);
}

.course-detail-author img {
    width: 3rem;
    height: 3rem;
    border: 1px solid var(--color-cyan);
    border-radius: 50%;
    object-fit: cover;
}

.course-detail-author span {
    display: grid;
    gap: 0.15rem;
}

.course-detail-author small {
    color: rgba(205, 220, 232, 0.48);
    font-size: 0.72rem;
}

.course-detail-author strong {
    color: var(--color-white);
    font-size: 0.82rem;
    font-weight: 600;
}

.course-detail-meta>span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.course-detail-meta>span i {
    color: var(--color-gold-light);
}

.course-detail-rating {
    gap: 0.65rem !important;
}

.course-detail-stars {
    display: inline-flex;
    gap: 0.12rem;
}

.course-detail-stars i {
    color: var(--color-rating) !important;
    font-size: 0.86rem;
}

.course-detail-rating>strong {
    color: var(--color-white);
    font-size: 0.82rem;
    font-weight: 700;
}

.course-detail-rating>small {
    color: rgba(205, 220, 232, 0.55);
    font-size: 0.75rem;
}

.course-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(17rem, 0.92fr);
    align-items: start;
    gap: 1.5rem 2rem;
}

.course-detail-media {
    position: relative;
    min-height: 25rem;
    overflow: hidden;
    border: 1px solid rgba(0, 151, 178, 0.18);
    border-radius: 1rem;
    background: #020d18;
}

.course-detail-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(0, 8, 16, 0.56));
    pointer-events: none;
}

.course-detail-media>img {
    width: 100%;
    height: 100%;
    min-height: 25rem;
    object-fit: cover;
    filter: saturate(0.55) contrast(1.08) brightness(0.72);
}

.course-detail-media>button {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: grid;
    width: 4rem;
    height: 4rem;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: var(--color-white);
    background: var(--color-cyan);
    box-shadow: 0 0 0 0.65rem rgba(0, 151, 178, 0.13);
    transform: translate(-50%, -50%);
    transition: background var(--transition), box-shadow var(--transition);
}

.course-detail-media>button:hover,
.course-detail-media>button:focus-visible {
    background: var(--color-cyan);
    box-shadow: 0 0 0 0.85rem rgba(0, 151, 178, 0.18);
}

.course-detail-media>button i {
    margin-left: 0.2rem;
}



.course-booking-column {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.course-booking-stack {
    position: sticky;
    top: 1.5rem;
    display: grid;
    gap: 1rem;
}

.course-booking-card,
.course-includes,
.course-share-card {
    padding: 1.4rem;
    border: 1px solid rgba(0, 151, 178, 0.18);
    border-radius: 1rem;
    background: rgba(2, 15, 27, 0.94);
    box-shadow: 0 1.3rem 3rem rgba(0, 0, 0, 0.28);
}

.course-booking-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.course-booking-price strong {
    color: var(--color-white);
    font-family: var(--font-display);
    font-size: 2.25rem;
    font-weight: 400;
    line-height: 1;
}

.course-booking-price del {
    color: var(--color-slate-400);
    font-size: 0.875rem;
}

.course-booking-price small {
    margin-left: auto;
    padding: 0.3rem 0.5rem;
    border: 1px solid rgba(239, 68, 68, 0.2);
    border-radius: 0.25rem;
    color: #F87171;
    background: rgba(239, 68, 68, 0.1);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.course-offer-timer {
    display: flex;
    margin: 1.1rem 0 0;
    align-items: center;
    gap: 0.5rem;
    color: #F87171;
    font-size: 0.875rem;
}

.course-booking-facts,
.course-includes ul,
.course-instructor-profile ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.course-booking-facts {
    display: grid;
    padding: 1.25rem 0;
    gap: 1rem;
}

.course-booking-facts li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: var(--color-slate-400);
    font-size: 0.875rem;
}

.course-booking-facts li span {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.course-booking-facts img {
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    object-fit: contain;
}

.course-booking-facts strong {
    color: #FFFFFF;
    font-size: 0.875em;
    font-weight: 500;
    text-align: right;
}

.course-cart-button,
.course-buy-button {
    display: flex;
    width: 100%;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--color-cyan);
    border-radius: 1rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.course-cart-button {
    color: var(--color-white);
    background: var(--color-cyan);
}

.course-cart-button:hover,
.course-cart-button:focus {
    color: var(--color-white);
    background: var(--color-cyan);
}

.course-buy-button {
    margin-top: 0.6rem;
    color: var(--color-cyan);
    background: transparent;
}

.course-buy-button:hover,
.course-buy-button:focus {
    color: var(--color-white);
    background: var(--color-cyan);
}

.course-booking-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    margin-top: 0.8rem;
}

.course-booking-actions button {
    display: inline-flex;
    min-height: 2.2rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: 1px solid #1E293B;
    border-radius: 1rem;
    color: #E2E8F0;
    background: #000F21;
    font-size: 0.875rem;
}

.gift-outline-icon {
    width: 1rem;
    height: 1rem;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.course-buy-cart-icon,
.course-save-icon {
    display: none;
}

.course-status-note {
    margin: 0.85rem 0 0;
    color: var(--color-slate-400);
    font-size: 0.75rem;
    text-align: center;
}

.course-includes {
    margin: 0;
}

.course-includes h2 {
    margin: 0 0 1.1rem;
    color: var(--color-white);
    font-family: var(--font-nav) !important;
    font-size: 1rem;
    font-weight: 700 !important;
}

.course-includes ul {
    display: grid;
    gap: 0.85rem;
}

.course-includes li {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--color-slate-400);
    font-size: 0.875rem;
}

.course-includes li>img {
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    object-fit: contain;
}

.course-share-card {
    display: flex;
    min-height: 4.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.course-share-card h2 {
    margin: 0;
    color: var(--color-white);
    font-family: var(--font-nav) !important;
    font-size: 0.7rem;
    font-weight: 500 !important;
}

.course-share-card>div {
    display: flex;
    gap: 0.35rem;
}

.course-share-card a {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border: 1px solid rgba(126, 152, 170, 0.2);
    border-radius: 0.4rem;
    color: rgba(205, 220, 232, 0.68);
    font-size: 0.68rem;
    transition: color var(--transition), border-color var(--transition);
}

.course-share-card a:hover,
.course-share-card a:focus {
    border-color: var(--color-cyan);
    color: var(--color-cyan);
}

.course-detail-content {
    min-width: 0;
}

.course-detail-tabs {
    display: flex;
    margin-bottom: 2rem;
    overflow-x: auto;
    border-bottom: 1px solid rgba(0, 151, 178, 0.16);
    gap: 1.75rem;
    scrollbar-width: none;
}

.course-detail-tabs a {
    position: relative;
    flex: 0 0 auto;
    padding: 0.9rem 0;
    color: rgba(205, 220, 232, 0.52);
    font-size: 1rem;
    font-weight: 500;
}

.course-detail-tabs a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--color-cyan);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--transition);
}

.course-detail-tabs a:hover,
.course-detail-tabs a.active {
    color: var(--color-cyan);
}

.course-detail-tabs a:hover::after,
.course-detail-tabs a.active::after {
    transform: scaleX(1);
}

.course-detail-section {
    padding: 0 0 2.5rem;
}

.course-detail-section+.course-detail-section {
    padding-top: 2.5rem;
    border-top: 1px solid rgba(0, 151, 178, 0.12);
}

.course-detail-section h2,
.course-detail-section-heading h2,
.related-courses>.course-detail-section-heading h2 {
    margin: 0 0 1.1rem;
    color: var(--color-white);
    font-size: clamp(1.6rem, 3vw, 1.5rem);
    letter-spacing: 0.035em;
    text-transform: uppercase;
    font-weight: 400 !important;
}

.course-detail-section>p {
    color: #94A3B8;
    font-size: 1rem;
    line-height: 1.8;
}

.course-detail-section h3 {
    margin: 2rem 0 1rem;
    color: var(--color-white);
    font-family: var(--font-nav) !important;
    font-size: 0.84rem;
    font-weight: 700 !important;
}

.course-learning-card {
    margin-top: 2rem;
    padding: 1.4rem;
    border: 1px solid rgba(0, 151, 178, 0.18);
    border-radius: 0.85rem;
    background: rgba(2, 15, 27, 0.52);
}

.course-learning-card h3 {
    display: flex;
    margin: 0 0 1.25rem;
    align-items: center;
    gap: 0.6rem;
    font-size: 1.25rem;
}

.course-learning-card h3 i {
    color: var(--color-cyan);
    font-size: 1.25rem;
}

.course-learning-grid,
.course-audience-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.75rem;
}

.course-learning-grid>p {
    display: flex;
    margin: 0;
    align-items: flex-start;
    gap: 0.65rem;
    color: #94A3B8;
    font-size: 0.875rem;
    line-height: 1.55;
}

.course-learning-grid i {
    margin-top: 0.12rem;
    color: var(--color-cyan);
    font-size: 0.875rem;
}

.course-learning-grid span {
    display: block;
}

.course-audience-grid {
    margin-top: 2.25rem;
    gap: 2rem 2.5rem;
}

.course-audience-grid>div {
    padding: 0;
}

.course-audience-grid h3 {
    margin: 0 0 1rem;
    font-size: 1.125rem;
}


.course-audience-grid ul {
    display: grid;
    margin: 0;
    padding: 0;
    gap: 0.8rem;
    list-style: none;
}

.course-audience-grid li {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    color: #94A3B8;
    font-size: 0.875rem;
    line-height: 1.5;
}

.course-audience-list li i {
    margin-top: 0.22rem;
    color: var(--color-cyan);
    font-size: 0.875rem;
}

.course-requirements-list li i {
    margin-top: 0.38rem;
    color: rgba(205, 220, 232, 0.72);
    font-size: 0.25rem;
}

.course-detail-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.course-curriculum>.course-detail-section-heading {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(0, 151, 178, 0.16);
}

.course-curriculum>.course-detail-section-heading h2 {
    margin: 0;
}

.curriculum-stats {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.85rem;
}

.curriculum-stats span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #94A3B8;
    font-size: 0.875rem;
}

.curriculum-stats i {
    color: #94A3B8;
}

.curriculum-module {
    margin-top: 1rem;
    padding: 0 1.15rem;
    border: 1px solid rgba(0, 151, 178, 0.18);
    border-radius: 0.85rem;
    background: rgba(2, 15, 27, 0.52);
}

.curriculum-module summary {
    display: flex;
    min-height: 4.2rem;
    padding: 1rem 0;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: var(--color-white);
    cursor: pointer;
    font-size: 1rem;
    font-weight: 700;
    list-style: none;
}

.curriculum-module summary::-webkit-details-marker {
    display: none;
}

.curriculum-module summary::before {
    content: "";
    width: 0.42rem;
    height: 0.42rem;
    margin: 0 0.25rem 0 0.15rem;
    border-right: 1px solid rgba(205, 220, 232, 0.8);
    border-bottom: 1px solid rgba(205, 220, 232, 0.8);
    transform: rotate(-45deg);
    transition: border-color var(--transition), transform var(--transition);
}

.curriculum-module[open] summary::before {
    border-color: var(--color-cyan);
    transform: translateY(-0.1rem) rotate(45deg);
}

.curriculum-module summary>span {
    margin-right: auto;
}

.curriculum-module summary small {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: #94A3B8;
    font-size: 0.875rem;
    font-weight: 500;
}

.curriculum-module summary small b {
    color: #94A3B8;
    font-size: 0.875rem;
}

.curriculum-module ol {
    display: grid;
    margin: 0 0 1.2rem;
    padding: 0.9rem 0.9rem 0 1.8rem;
    border-top: 1px solid rgba(0, 151, 178, 0.12);
    gap: 0.7rem;
    list-style: none;
}

.curriculum-module li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #E2E8F0;
    font-size: 0.875rem;
}

.curriculum-module li span {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.curriculum-module li i {
    color: #94A3B8;
}

.curriculum-module time {
    color: #94A3B8;
}

.course-instructor-profile {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    padding: 1.75rem;
    gap: 1.75rem;
    border: 1px solid rgba(0, 151, 178, 0.14);
    border-radius: 1rem;
    background: rgba(2, 15, 27, 0.7);
}

.course-instructor-profile>img {
    width: 6.5rem;
    aspect-ratio: 1;
    border: 2px solid var(--color-cyan);
    border-radius: 50%;
    object-fit: cover;
}

.course-instructor-profile h3 {
    margin: 0;
    font-size: 1.25rem;
}

.course-instructor-profile>div>span {
    display: block;
    margin-top: 0.25rem;
    color: #94A3B8;
    font-size: 0.875rem;
}

.course-instructor-profile p {
    margin: 1rem 0 0;
    color: #94A3B8;
    font-size: 0.875rem;
    line-height: 1.6;
}

.course-instructor-profile ul {
    display: flex;
    margin-top: 0.85rem;
    flex-wrap: wrap;
    gap: 0.8rem 1.5rem;
}

.course-instructor-profile li {
    color: var(--color-slate-400);
    font-size: 0.875rem;
}

.course-instructor-profile li i {
    margin-right: 0.35rem;
    color: var(--color-slate-400);
}

.course-instructor-profile li:first-child i {
    color: var(--color-rating);
}

.course-instructor-profile li strong {
    color: var(--color-white);
    font-weight: 500;
}

.course-reviews {
    scroll-margin-top: 2rem;
}

.course-reviews-heading {
    display: flex;
    margin-bottom: 1.25rem;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.course-reviews-heading h2 {
    margin-bottom: 0.35rem;
}

.course-reviews-heading p {
    margin: 0;
    color: rgba(205, 220, 232, 0.52);
    font-size: 0.875rem;
}

.course-reviews-navigation {
    display: flex;
    gap: 0.5rem;
}

.course-reviews-navigation button {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    align-items: center;
    place-items: center;
    border: 1px solid rgba(0, 151, 178, 0.28);
    border-radius: 50%;
    color: var(--color-cyan);
    background: rgba(2, 15, 27, 0.72);
    transition: color var(--transition), border-color var(--transition), background var(--transition);
}

.course-reviews-navigation button:hover,
.course-reviews-navigation button:focus {
    border-color: var(--color-cyan);
    color: #001018;
    background: var(--color-cyan);
}

.course-reviews-navigation button.swiper-button-disabled {
    cursor: not-allowed;
    opacity: 0.35;
}

.course-review-stars {
    display: flex;
    gap: 0.14rem;
    color: var(--color-rating);
    font-size: 0.68rem;
}

.course-reviews-swiper {
    padding-bottom: 2rem;
}

.course-reviews-swiper .swiper-slide {
    height: auto;
}

.course-reviews-pagination .swiper-pagination-bullet {
    width: 0.42rem;
    height: 0.42rem;
    background: rgba(205, 220, 232, 0.35);
    opacity: 1;
}

.course-reviews-pagination .swiper-pagination-bullet-active {
    width: 1.25rem;
    border-radius: var(--radius-pill);
    background: var(--color-cyan);
}

.course-review-card {
    display: grid;
    grid-template-columns: 2.8rem minmax(0, 1fr);
    padding: 1.15rem;
    gap: 0.9rem;
    border: 1px solid rgba(126, 152, 170, 0.14);
    border-radius: 0.75rem;
    background: rgba(2, 15, 27, 0.42);
}

.course-review-card>img {
    width: 2.8rem;
    height: 2.8rem;
    border: 1px solid rgba(0, 151, 178, 0.52);
    border-radius: 50%;
    object-fit: cover;
}

.course-review-content header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.course-review-content h3 {
    margin: 0;
    color: var(--color-white);
    font-size: 1.25rem;
}

.course-review-content header span,
.course-review-content time {
    color: rgba(205, 220, 232, 0.42);
    font-size: 0.875rem;
}

.course-review-content .course-review-stars {
    margin-top: 0.55rem;
}

.course-review-content p {
    margin: 0.7rem 0;
    color: rgba(205, 220, 232, 0.62);
    font-size: 0.875rem;
    line-height: 1.65;
}

.course-review-content button {
    padding: 0;
    border: 0;
    color: rgba(205, 220, 232, 0.48);
    background: transparent;
    font-size: 0.875rem;
}

.course-review-content button:hover,
.course-review-content button:focus {
    color: var(--color-cyan);
}

.course-review-content button span {
    margin-left: 0.2rem;
}

.related-courses {
    margin-top: 3.5rem;
    padding-top: 3rem;
    border-top: 1px solid rgba(0, 151, 178, 0.12);
}

.related-courses>.course-detail-section-heading {
    margin-bottom: 1rem;
}

.related-courses>.course-detail-section-heading h2 {
    margin: 0;
}

.related-courses>.course-detail-section-heading a {
    color: var(--color-cyan);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
}

.related-course-card {
    display: flex;
    min-height: 22rem;
    height: 100%;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid rgba(126, 152, 170, 0.14);
    border-radius: 0.9rem;
    color: var(--color-white);
    background: #020d18;
    transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.related-course-card:hover,
.related-course-card:focus {
    color: var(--color-white);
    border-color: rgba(0, 151, 178, 0.45);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.25);
    transform: translateY(-4px);
}

.related-course-image {
    position: relative;
    width: calc(100% - 2rem);
    margin: 1rem 1rem 0;
    aspect-ratio: 1.62 / 1;
    overflow: hidden;
    border-radius: 0.25rem;
}

.related-course-image>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.55) contrast(1.05) brightness(0.78);
}

.related-course-image>span {
    position: absolute;
    top: 0.55rem;
    left: 0.55rem;
    padding: 0.25rem 0.5rem;
    border: 1px solid #1E293B;
    color: #FFFFFF;
    background: rgba(0, 15, 33, 0.8);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
    border-radius: 0.25rem;
    backdrop-filter: blur(8px);
}

.related-course-card>div {
    display: flex;
    flex: 1;
    padding: 0.9rem 1rem 1.1rem;
    flex-direction: column;
}

.related-course-card h3 {
    margin: 0;
    color: var(--color-white);
    font-family: var(--font-nav) !important;
    font-size: 0.86rem;
    font-weight: 700 !important;
    line-height: 1.45;
}

.related-course-meta {
    display: flex;
    margin-top: auto;
    padding-top: 1.4rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.related-course-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: rgba(205, 220, 232, 0.48);
    font-size: 0.6rem;
}

.related-course-meta span i {
    color: var(--color-rating);
}

.related-course-meta small {
    color: rgba(205, 220, 232, 0.42);
    font-size: 0.55rem;
}

.related-course-meta strong {
    color: var(--color-cyan);
    font-size: 0.9rem;
}

/* Cart page */
.cart-page {
    background: var(--color-navy-950);
}

.cart-main {
    min-height: 100vh;
    padding: 9.5rem 0 5.5rem;
}

.cart-heading {
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(0, 151, 178, 0.18);
}

.cart-heading p,
.cart-section-label h2,
.saved-courses>h2,
.cart-summary h2,
.cart-includes h2 {
    color: var(--color-gold);
    font-family: var(--font-nav) !important;
    font-size: 0.75rem;
    font-weight: 700 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.cart-heading p {
    margin: 0 0 0.45rem 2.05rem;
}

.cart-heading h1 {
    display: flex;
    margin: 0;
    align-items: center;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    text-transform: uppercase;
}

.cart-heading h1 i {
    display: inline-grid;
    width: 2.35rem;
    height: 2.35rem;
    margin-right: 0.85rem;
    flex: 0 0 2.35rem;
    place-items: center;
    border: 1px solid rgba(0, 151, 178, 0.52);
    border-radius: 50%;
    color: rgba(248, 250, 252, 0.9);
    background: rgba(2, 17, 29, 0.72);
    font-size: 0.65rem;
    box-shadow: inset 0 0 1rem rgba(0, 151, 178, 0.04);
}

.cart-checkout-layout {
    display: grid;
    margin-top: 1.3rem;
    grid-template-columns: minmax(0, 2fr) minmax(18rem, 0.9fr);
    align-items: start;
    gap: 2rem;
}

.cart-section-label {
    display: flex;
    margin-bottom: 0.55rem;
    align-items: center;
    justify-content: space-between;
}

.cart-section-label h2,
.saved-courses>h2,
.cart-summary h2,
.cart-includes h2 {
    margin: 0;
}

.cart-section-label>span {
    color: rgba(168, 180, 190, 0.72);
    font-size: 0.7rem;
}

.cart-items {
    display: grid;
    gap: 0.65rem;
}

.cart-item {
    position: relative;
    display: grid;
    min-height: 6.4rem;
    padding: 1rem;
    grid-template-columns: 5.2rem minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    border: 1px solid #16324A;
    background: #030D18;
    border-radius: 1.125rem;

    transition: border-color var(--transition), opacity var(--transition), transform var(--transition);
}

.cart-item:hover {
    border-color: rgba(0, 151, 178, 0.52);
}

.cart-item.is-removing {
    opacity: 0;
    transform: translateX(-1rem);
}

.cart-item>img {
    width: 5.2rem;
    height: 100%;
    object-fit: cover;
    border-radius: 0.75rem;
}

.cart-item-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    align-items: flex-start;
}

.cart-item-tag,
.saved-course>div>span {
    display: inline-block;
    margin-bottom: 0.3rem;
    padding: 0.25rem 0.75rem;
    border: 1px solid rgba(15, 158, 183, 0.40);
    background: rgba(15, 158, 183, 0.12);
    border-radius: 999px;
    color: var(--color-cyan);

    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.cart-item-tag--gold {
    border-color: rgba(201, 154, 75, 0.45);
    color: var(--color-gold-light);
    background: rgba(201, 154, 75, 0.1);
}

.cart-item-copy h3,
.saved-course h3 {
    margin: 0 0 0.25rem;
    color: #FCFBFB;
    font-family: var(--font-nav) !important;
    font-size: 1rem;
    font-weight: 600 !important;
    line-height: 1.35;
}

.cart-item-copy p,
.saved-course p {
    margin: 0;
    color: #8AA0B3;
    font-size: 0.75rem;
}

.cart-item-copy p span {
    margin-inline: 0.3rem;
    color: rgba(0, 151, 178, 0.7);
}

.cart-item-copy strong,
.saved-course p {
    display: block;
    margin-top: 0.35rem;
    color: var(--color-gold-light);
    font-size: 1.25rem;
    font-weight: 400;
}

.cart-item-remove {
    position: absolute;
    top: 0.55rem;
    right: 0.65rem;
    padding: 0.15rem;
    border: 0;
    color: rgba(168, 180, 190, 0.75);
    background: transparent;
    font-size: 0.65rem;
    transition: color var(--transition), transform var(--transition);
}

.cart-item-remove:hover,
.cart-item-remove:focus-visible {
    color: var(--color-gold-light);
    transform: rotate(90deg);
}

.cart-quantity {
    position: absolute;
    right: 0.7rem;
    bottom: 0.55rem;
    display: flex;
    overflow: hidden;
    align-items: center;
    min-width: 5.5rem;
    height: 2rem;
    justify-content: center;
    border: 1px solid rgba(0, 151, 178, 0.42);
    border-radius: var(--radius-pill);
    background: rgba(1, 9, 18, 0.88);
}

.cart-quantity button,
.cart-quantity output {
    display: grid;
    width: 1.8rem;
    height: 100%;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
    line-height: 1;
}

.cart-quantity button {
    color: var(--color-gold-light);
    font-size: 0.9rem;
}

.cart-quantity output {
    color: var(--color-white);
    font-size: 0.8rem;
    font-weight: 700;
}

.cart-item-price {
    display: flex;
    margin-top: 0.35rem;
    align-items: center;
    gap: 0.45rem;
}

.cart-item-price strong {
    margin-top: 0;
}

.cart-item-price del {
    color: rgba(168, 180, 190, 0.55);
    font-size: 0.6rem;
}

.cart-item-price>span {
    padding: 0.12rem 0.35rem;
    border-radius: 0.25rem;
    color: #FFA2A2;
   background: rgba(251, 44, 54, 0.15);
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.cart-quantity button:hover,
.cart-quantity button:focus-visible {
    color: var(--color-white);
    background: rgba(0, 151, 178, 0.1);
}

.cart-promo {
    display: flex;
    margin-top: 0.8rem;
    padding: 0.35rem 0.4rem 0.35rem 0.85rem;
    align-items: center;
    gap: 0.55rem;
    border: 1px solid rgba(0, 151, 178, 0.2);
    border-radius: 0.5rem;
    background: rgba(2, 13, 24, 0.7);
}

.cart-promo label {
    color: rgba(168, 180, 190, 0.58);
    font-size: 0.65rem;
}

.cart-promo input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: 0;
    color: var(--color-white);
    background: transparent;
    font-size: 0.875rem;
    border-radius: 0.75rem;
}

.cart-promo button {
    padding: 0.38rem 0.75rem;
    border: 1px solid rgba(212, 174, 110, 0.50);
    border-radius: 0.5rem;
    color: var(--color-gold-light);
    background: transparent;
    font-size: 0.55rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cart-promo.is-applied {
    border-color: rgba(0, 151, 178, 0.6);
}

.saved-courses {
    margin-top: 1.7rem;
}

.saved-courses>h2 {
    margin-bottom: 0.7rem;
}

.saved-courses>h2 span {
    color: rgba(168, 180, 190, 0.65);
}

.saved-course {
    display: grid;
    min-height: 4.5rem;
    margin-bottom: 0.55rem;
    padding: 0.55rem;
    grid-template-columns: 4rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    border: 1px solid rgba(0, 151, 178, 0.18);
    border-radius: 0.75rem;
    background: rgba(2, 13, 24, 0.62);
}

.saved-course>img {
    width: 4rem;
    height: 3.35rem;
    object-fit: cover;
    border-radius: 0.3rem;
}

.saved-course div {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    align-items: flex-start;
}

.saved-course p small {
    margin-left: 0.35rem;
    color: rgba(168, 180, 190, 0.45);
    font-size: 0.52rem;
    text-decoration: line-through;
}

.saved-course>button {
    display: grid;
    width: 1.8rem;
    height: 1.8rem;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(201, 154, 75, 0.55);
    border-radius: 50%;
    color: var(--color-gold-light);
    background: transparent;
    font-size: 0.65rem;
    transition: color var(--transition), background var(--transition), transform var(--transition);
}

.saved-course>button:hover,
.saved-course>button:focus-visible,
.saved-course>button.is-added {
    color: var(--color-navy-950);
    background: var(--color-gold-light);
    transform: scale(1.06);
}

.cart-summary-column {
    position: sticky;
    top: 6.5rem;
    display: grid;
    gap: 0.8rem;
}

.cart-summary,
.cart-includes {
    padding: 1.25rem;
    border-radius: 1.125rem;
    border: 1px solid #16324A;
    background: #030D18;
}

 .cart-includes{
    border: 1px solid rgba(212, 174, 110, 0.20);

 }

.cart-summary h2,
.cart-includes h2 {
    margin-bottom: 1rem;
}

.cart-summary dl {
    margin: 0;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
    font-size: 0.875rem;
}

.cart-summary dl>div,
.cart-total {
    display: flex;
    margin-bottom: 0.45rem;
    justify-content: space-between;
    gap: 1rem;
    color: rgba(168, 180, 190, 0.8);
    font-size: 0.875rem;
}

.cart-summary dd {
    margin: 0;
    color: var(--color-white);
}

.cart-summary .cart-saving {
    color: var(--color-cyan);
}

.cart-total {
    margin: 0;
    padding: 0.95rem 0;
    align-items: center;
    color: var(--color-white);
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
}

.cart-total strong {
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-size: 1.8rem;
    font-weight: 400;
}

.cart-checkout {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 0;
    border-radius: 0.75rem;
    color: #1A1206;
    background: var(--color-cyan);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: filter var(--transition), transform var(--transition);
}

.cart-checkout:hover,
.cart-checkout:focus-visible {
    filter: brightness(1.14);
    transform: translateY(-1px);
}

.cart-summary>p {
    margin: 0.55rem 0 0;
    color: #8AA0B3;
    font-size: 0.75rem;
    text-align: center;
}

.cart-trust-grid {
    display: grid;
    margin: 1rem -1.2rem -1.2rem;
    padding: 1rem 0.9rem 1.15rem;
    grid-template-columns: repeat(3, 1fr);
    align-items: start;
    gap: 0.75rem;
    border-top: 1px solid rgba(0, 151, 178, 0.12);
    border-radius: 0 0 0.65rem 0.65rem;
    background: rgba(2, 15, 27, 0.7);
}

.cart-trust-grid span {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-direction: column;
    justify-items: center;
    gap: 0.55rem;
    color: var(--color-gold-light);
    text-align: center;
}

.cart-trust-grid i {
    display: grid;
    width: 2.2rem;
    height: 2.2rem;
    place-items: center;
    border: 1px solid rgba(201, 154, 75, 0.08);
    border-radius: 50%;
    color: var(--color-gold-light);
    background: rgba(201, 154, 75, 0.08);
    font-size: 0.72rem;
}

.cart-trust-grid small {
    color: rgba(168, 180, 190, 0.72);
    font-size: 0.55rem;
    line-height: 1.25;
    white-space: nowrap;
}

.cart-includes ul {
    display: grid;
    margin: 0;
    padding: 0;
    gap: 0.45rem;
    list-style: none;
}

.cart-includes li {
    color: rgba(205, 220, 232, 0.7);
    font-size: 0.75rem;
}

.cart-includes li i {
    width: 1rem;
    color: var(--color-cyan);
}

.cart-page .related-courses {
    margin-top: 5rem;
}

/* ===== Merged page styles from main2.css (scoped to original pages) ===== */
:where(body.about-page, body.speakers-page, body.gallery-page) {
    --color-navy-950: #010912;
    --color-navy-900: #051827;
    --color-navy-800: #0a2234;
    --color-surface: rgba(10, 29, 44, 0.92);
    --color-white: #f8fafc;
    --color-muted: #a8b4be;
    --color-gold: #e9c176;
    --color-gold-light: #f3cb83;
    --color-cyan: #66d5f1;
    --color-cyan-dark: #24c2e1;
    --font-display: 'Anton', sans-serif;
    --font-body: 'Hanken Grotesk', "Trebuchet MS", Arial, sans-serif;
    --font-nav: 'Montserrat', sans-serif;
    --text-xs: 0.68rem;
    --text-sm: 0.82rem;
    --radius-sm: 0.45rem;
    --radius-md: 0.8rem;
    --radius-lg: 1.25rem;
    --radius-pill: 100vmax;
    --shadow-soft: 0 1rem 3rem rgba(0, 0, 0, 0.3);
    --shadow-card: 0 1.4rem 3rem rgba(0, 0, 0, 0.24);
    --transition: 180ms ease;
    --container-gutter: clamp(1.25rem, 4.5vw, 5rem);
    --section-space: clamp(4rem, 8vw, 7rem);
}

:where(body.about-page, body.speakers-page, body.gallery-page) * {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

:where(body.about-page, body.speakers-page, body.gallery-page) {
    margin: 0;
    color: var(--color-white);
    background-color: var(--color-navy-950);
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
}

:where(body.about-page, body.speakers-page, body.gallery-page) main {
    position: relative;
    overflow: clip;
    background: var(--color-navy-950);
}

:where(body.about-page, body.speakers-page, body.gallery-page) main section {
    position: relative;
}

:where(body.about-page, body.speakers-page, body.gallery-page) main section:not(.about-hero):not(.speakers-hero) {
    padding-block: var(--section-space);
}

:where(body.about-page, body.speakers-page, body.gallery-page) img {
    max-width: 100%;
}

:where(body.about-page, body.speakers-page, body.gallery-page) a {
    text-decoration: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .site-container {
    padding-inline: var(--container-gutter);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .container {
    width: min(100% - 2rem, 76rem);
}

:where(body.about-page, body.speakers-page, body.gallery-page) :focus-visible {
    outline: 2px solid var(--color-cyan);
    outline-offset: 3px;
}

@keyframes pageReveal {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes floatPulse {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

@keyframes glowSweep {
    from {
        transform: translateX(-130%);
    }

    to {
        transform: translateX(130%);
    }
}

.js :where(body.about-page, body.speakers-page, body.gallery-page) .scroll-reveal {
    opacity: 0;
    transform: translateY(2rem);
    transition:
        opacity 680ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 680ms cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}

.js :where(body.about-page, body.speakers-page, body.gallery-page) .scroll-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.js :where(body.about-page, body.speakers-page, body.gallery-page) .section-reveal {
    transform: translateY(1.25rem);
}

.js :where(body.about-page, body.speakers-page, body.gallery-page) .section-reveal.is-visible {
    transform: translateY(0);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .about-hero {
    position: relative;
    display: grid;
    min-height: 100svh;
    place-items: center;
    background-color: var(--color-navy-950);
    background-image:
        linear-gradient(115deg, rgba(1, 9, 18, 0.78), rgba(1, 9, 18, 0.26) 50%, rgba(1, 9, 18, 0.72)),
        url("../img/hero-section-about2.png?v=4");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    overflow: hidden;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .about-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 38%, transparent 22%, rgba(1, 9, 18, 0.48) 100%);
    pointer-events: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .about-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: clamp(7rem, 15vw, 12rem);
    background: linear-gradient(180deg, transparent, var(--color-navy-950) 94%);
    pointer-events: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .about-hero-content {
    position: relative;
    z-index: 1;
    width: min(100% - 2.5rem, 48rem);
    padding-top: 5rem;
    text-align: center;
    animation: pageReveal 850ms ease both;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .about-kicker {
    display: inline-block;
    margin: 0 0 1.4rem;
    padding: 0.4rem 1.25rem;
    border: 1px solid rgba(102, 213, 241, 0.35);
    border-radius: 0.15rem;
    background: rgba(102, 213, 241, 0.08);
    color: var(--color-cyan);
    font-family: var(--font-nav);
    font-size: clamp(0.6rem, 1vw, 0.7rem);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.4;
    text-transform: uppercase;
    animation: pageReveal 700ms ease both;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .about-title {
    margin: 0 0 1.75rem;
    color: var(--color-gold);
    font-family: var(--font-display);
    font-size: clamp(2.8rem, 6.5vw, 5.25rem);
    font-weight: 400;
    letter-spacing: 0.03em;
    line-height: 1.05;
    text-transform: uppercase;
    text-shadow: 0 0.4rem 1.8rem rgba(233, 193, 118, 0.16);
    animation: pageReveal 900ms ease both;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .about-description {
    max-width: 46rem;
    margin: 0 auto;
    color: #BDC8CD;
    font-family: var(--font-nav);
    font-size: clamp(0.82rem, 1.15vw, 1.06rem);
    line-height: 1.75;
    letter-spacing: 0.01em;
    animation: pageReveal 1050ms ease both;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .about-description strong {
    color: var(--color-white);
    font-weight: 500;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .leadership-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .highlights-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .venue-logistics-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .support-archive-section {
    background: transparent;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section::before,
:where(body.about-page, body.speakers-page, body.gallery-page) .leadership-section::before,
:where(body.about-page, body.speakers-page, body.gallery-page) .highlights-section::before,
:where(body.about-page, body.speakers-page, body.gallery-page) .venue-logistics-section::before,
:where(body.about-page, body.speakers-page, body.gallery-page) .support-archive-section::before {
    content: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .strategic-heading,
:where(body.about-page, body.speakers-page, body.gallery-page) .leadership-heading,
:where(body.about-page, body.speakers-page, body.gallery-page) .venue-main-heading {
    margin: 0 0 clamp(2.5rem, 4vw, 3.5rem);
    color: var(--color-gold);
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3.2vw, 2.75rem);
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.15;
    text-align: center;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .member-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .support-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .archive-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .venue-card {
    box-shadow: var(--shadow-card);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-card {
    height: 100%;
    padding: clamp(1.5rem, 2.5vw, 2.25rem);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md);
    background: linear-gradient(180deg, rgba(5, 24, 39, 0.96), rgba(3, 13, 24, 0.98));
    transition: transform 220ms ease, border-color var(--transition), background var(--transition), box-shadow var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255, 255, 255, 0.14);
    background: linear-gradient(168deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
    box-shadow: 0 1.8rem 3rem rgba(0, 0, 0, 0.28);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 1.25rem;
    border-radius: 50%;
    font-size: 1.05rem;
    transition: transform 240ms ease, box-shadow 240ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-icon--cyan {
    border: 1.5px solid rgba(41, 193, 223, 0.45);
    color: var(--color-cyan);
    background: rgba(41, 193, 223, 0.08);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-icon--gold {
    border: 1.5px solid rgba(201, 154, 75, 0.45);
    color: var(--color-gold-light);
    background: rgba(201, 154, 75, 0.08);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-card:hover .directive-icon,
:where(body.about-page, body.speakers-page, body.gallery-page) .member-card:hover .member-icon,
:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-card:hover .highlight-header-icon {
    transform: translateY(-3px) scale(1.05);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-title {
    margin: 0 0 0.85rem;
    color: var(--color-gold);
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-title--light {
    color: var(--color-white);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-slider-controls {
    display: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-text {
    margin: 0;
    color: var(--color-muted);
    font-size: clamp(0.78rem, 1vw, 0.9rem);
    line-height: 1.75;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-list li {
    position: relative;
    margin-bottom: 0.65rem;
    padding-left: 1.1rem;
    color: var(--color-muted);
    font-size: clamp(0.78rem, 1vw, 0.9rem);
    line-height: 1.65;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-list li:last-child {
    margin-bottom: 0;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .directive-list li::before {
    width: 0.38rem;
    height: 0.38rem;
    position: absolute;
    left: 0;
    top: 0.45rem;
    background: url("../img/icons/goal-icon.svg?v=4") center / contain no-repeat;
    content: "";
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-group {
    margin-bottom: clamp(3rem, 5vw, 4.5rem);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-group:last-child {
    margin-bottom: 0;
}

body.about-page .leadership-section + .leadership-section--scientific {
    padding-top: 0;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-divider {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-divider--left .divider-line,
:where(body.about-page, body.speakers-page, body.gallery-page) .committee-divider--center .divider-line {
    flex: 1;
    height: 1px;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-divider--left .divider-line {
    background: rgba(102, 213, 241, 0.2);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-divider--center {
    justify-content: center;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-divider--center .divider-line {
    background: rgba(233, 193, 118, 0.2);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-title {
    margin: 0;
    font-size: clamp(0.9rem, 1.3vw, 1.15rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-title--cyan {
    color: var(--color-cyan);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-title--gold {
    color: var(--color-gold);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .member-card {
    height: 100%;
    padding: clamp(1.2rem, 2vw, 1.8rem);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: var(--radius-md);
    background: linear-gradient(180deg, rgba(4, 18, 30, 0.98), rgba(3, 13, 24, 0.98));
    transition: transform var(--transition), border-color var(--transition), background var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .member-card:hover {
    transform: translateY(-6px);
    border-color: rgba(102, 213, 241, 0.18);
    background: #051323;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .member-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.1rem;
    height: 3.1rem;
    margin-bottom: 1.25rem;
    border-radius: 50%;
    transition: transform 240ms ease, background 240ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .member-icon img {
    width: 1.3rem;
    height: 1.3rem;
    object-fit: contain;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .member-icon--cyan {
    background: rgba(102, 213, 241, 0.12);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .member-icon--gold {
    background: rgba(233, 193, 118, 0.12);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .member-name {
    margin: 0 0 0.4rem;
    font-size: clamp(0.9rem, 1.15vw, 1.05rem);
    font-weight: 700;
    line-height: 1.3;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .member-role {
    margin: 0 0 0.35rem;
    font-size: clamp(0.72rem, 0.9vw, 0.82rem);
    font-weight: 600;
    line-height: 1.35;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .member-role--cyan {
    color: var(--color-cyan);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .member-role--gold {
    color: var(--color-gold);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .member-org {
    margin: 0;
    color: #8c9cae;
    font-size: clamp(0.7rem, 0.85vw, 0.8rem);
    line-height: 1.35;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    min-height: 19rem;
    padding: clamp(1.8rem, 3vw, 2.5rem);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md);
    background: linear-gradient(180deg, rgba(4, 18, 30, 0.98), rgba(3, 13, 24, 0.98));
    transition: transform var(--transition), border-color var(--transition), background var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255, 255, 255, 0.14);
    background: #051323;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 2.3vw, 2rem);
    font-weight: 400;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-title--cyan {
    color: var(--color-cyan);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-title--gold {
    color: var(--color-gold);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-header-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    transition: transform 240ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-header-icon img {
    width: 1.4rem;
    height: 1.4rem;
    object-fit: contain;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-description {
    margin: 0 0 2rem;
    color: #8c9cae;
    font-size: clamp(0.82rem, 1.05vw, 0.95rem);
    line-height: 1.65;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .avatar-stack {
    display: flex;
    align-items: center;
    margin-bottom: 2.2rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .avatar-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    margin-left: -0.65rem;
    border: 2px solid #030d18;
    border-radius: 50%;
    background: rgba(102, 213, 241, 0.12);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .avatar-circle:first-child {
    margin-left: 0;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .avatar-circle img {
    width: 1.15rem;
    height: 1.15rem;
    object-fit: contain;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .avatar-badge {
    color: var(--color-cyan);
    background: rgba(102, 213, 241, 0.25);
    font-size: 0.72rem;
    font-weight: 700;
    animation: floatPulse 4.2s ease-in-out infinite;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .sponsor-slots {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 2.2rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .sponsor-pill {
    position: relative;
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    height: 2.8rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.05);
    color: #8c9cae;
    font-size: 0.85rem;
    font-weight: 500;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .sponsor-pill::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, 0.1) 50%, transparent 80%);
    opacity: 0;
    transition: opacity 240ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-card:hover .sponsor-pill::before {
    opacity: 1;
    animation: glowSweep 1.6s ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-action-wrap {
    margin-top: auto;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-action {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-cyan);
    font-family: var(--font-nav);
    font-size: clamp(0.72rem, 0.9vw, 0.82rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: opacity var(--transition), transform var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-action--gold {
    color: var(--color-gold);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-action:hover {
    opacity: 0.85;
    transform: translateX(3px);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-action i {
    font-size: 0.7rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-card {
    padding: clamp(2rem, 4vw, 3.5rem);
    border: 1px solid rgba(102, 213, 241, 0.15);
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, rgba(4, 18, 30, 0.98), rgba(3, 13, 24, 0.98));
}

:where(body.about-page, body.speakers-page, body.gallery-page) .location-badge {
    display: inline-block;
    margin-bottom: 1.5rem;
    padding: 0.35rem 1rem;
    border: 1px solid rgba(102, 213, 241, 0.35);
    border-radius: var(--radius-pill);
    background: rgba(102, 213, 241, 0.06);
    color: var(--color-cyan);
    font-family: var(--font-nav);
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-title {
    margin: 0 0 1.5rem;
    font-size: clamp(1.4rem, 2.2vw, 2rem);
    font-weight: 500;
    line-height: 1.35;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-address {
    margin: 0 0 2.2rem;
    color: #8c9cae;
    font-size: clamp(0.85rem, 1.05vw, 0.95rem);
    font-style: normal;
    line-height: 1.65;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-btn-group {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.65rem 1.4rem;
    border-radius: var(--radius-pill);
    font-family: var(--font-nav);
    font-size: 0.78rem;
    font-weight: 600;
    transition: all var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-btn:hover {
    transform: translateY(-2px);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-btn img {
    width: 0.95rem;
    height: 0.95rem;
    object-fit: contain;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-btn--filled {
    border: 1px solid var(--color-cyan);
    background: var(--color-cyan);
    color: #010912;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-btn--filled img {
    filter: brightness(0);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-btn--filled:hover {
    background: #4ecceb;
    color: #010912;
    box-shadow: 0 0 1.2rem rgba(102, 213, 241, 0.4);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-btn--outlined {
    border: 1px solid rgba(102, 213, 241, 0.45);
    background: transparent;
    color: var(--color-cyan);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-btn--outlined:hover {
    border-color: var(--color-cyan);
    background: rgba(102, 213, 241, 0.1);
    color: var(--color-cyan);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-map-box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 20rem;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(102, 213, 241, 0.15);
    border-radius: var(--radius-md);
    background: #020810;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-map-box iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 20rem;
    border: 0;
    filter: grayscale(1) brightness(0.58) contrast(1.18);
    transition: filter 350ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .venue-map-box:hover iframe,
:where(body.about-page, body.speakers-page, body.gallery-page) .venue-map-box:focus-within iframe {
    filter: grayscale(0.85) brightness(0.72) contrast(1.08);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .coordinates-badge {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    z-index: 2;
    padding: 0.35rem 0.85rem;
    border: 1px solid rgba(102, 213, 241, 0.35);
    border-radius: var(--radius-sm);
    background: rgba(3, 13, 24, 0.88);
    color: var(--color-cyan);
    font-family: var(--font-nav);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    pointer-events: none;
    backdrop-filter: blur(12px);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .archive-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    min-height: 26rem;
    padding: clamp(1.8rem, 3vw, 2.5rem);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md);
    background: linear-gradient(180deg, rgba(4, 18, 30, 0.98), rgba(3, 13, 24, 0.98));
    transition: transform var(--transition), border-color var(--transition), background var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-card:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .archive-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255, 255, 255, 0.1);
    background: #051323;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-title,
:where(body.about-page, body.speakers-page, body.gallery-page) .archive-title {
    margin: 0 0 1rem;
    font-family: var(--font-nav);
    font-size: clamp(0.95rem, 1.25vw, 1.1rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-title--cyan {
    color: var(--color-cyan);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .archive-title--gold {
    color: var(--color-gold);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-description,
:where(body.about-page, body.speakers-page, body.gallery-page) .archive-description {
    margin: 0 0 2rem;
    color: #8c9cae;
    font-size: clamp(0.82rem, 1.05vw, 0.92rem);
    line-height: 1.65;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-actions {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    width: 100%;
    padding: 0.75rem 1.25rem;
    border-radius: var(--radius-md);
    font-family: var(--font-nav);
    font-size: 0.82rem;
    font-weight: 700;
    transition: all var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-btn:hover {
    transform: translateY(-2px);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-btn img {
    width: 1.1rem;
    height: 1.1rem;
    object-fit: contain;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-btn i {
    font-size: 0.95rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-btn--filled-cyan {
    border: 1px solid #139eb9;
    background: #139eb9;
    color: #010912;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-btn--filled-cyan img {
    filter: brightness(0);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-btn--filled-cyan:hover {
    background: var(--color-cyan);
    color: #010912;
    box-shadow: 0 0 1.2rem rgba(102, 213, 241, 0.4);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-btn--whatsapp {
    border: 1px solid #25d366;
    background: rgba(37, 211, 102, 0.05);
    color: #25d366;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-btn--whatsapp:hover {
    background: rgba(37, 211, 102, 0.12);
    color: #25d366;
    box-shadow: 0 0 1.2rem rgba(37, 211, 102, 0.25);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-btn--outline-gray {
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: transparent;
    color: var(--color-white);
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-btn--outline-gray:hover {
    border-color: rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.08);
    color: var(--color-white);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-social-footer {
    margin-top: 2rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-divider {
    margin: 0 0 1.5rem;
    border: 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .support-social-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.2rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .social-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    color: #8c9cae;
    font-size: 0.72rem;
    transition: color var(--transition), transform var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .social-item img {
    width: 1.2rem;
    height: 1.2rem;
    object-fit: contain;
    filter: grayscale(1) opacity(0.7);
    transition: filter var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .social-item:hover {
    color: var(--color-white);
    transform: translateY(-2px);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .social-item:hover img {
    filter: grayscale(0) opacity(1);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .archive-list {
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .archive-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: 1.1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--color-white);
    font-size: clamp(0.85rem, 1.05vw, 0.95rem);
    font-weight: 500;
    transition: color var(--transition), padding-left var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .archive-item:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .archive-arrow {
    color: var(--color-gold);
    font-size: 0.85rem;
    transition: transform var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .archive-item:hover {
    color: var(--color-gold);
    padding-left: 0.35rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .archive-item:hover .archive-arrow {
    transform: translateX(4px);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .archive-note {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: auto;
    color: #8c9cae;
    font-size: 0.78rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .archive-note img {
    width: 0.85rem;
    height: 0.85rem;
    object-fit: contain;
    opacity: 0.75;
}

/* Speakers page */
.speakers-page,
.speakers-page main,
.speakers-page .speaker-section {
    background: var(--color-navy-950);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speakers-container {
    width: min(100% - 2rem, 72rem);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero {
    position: relative;
    display: grid;
    min-height: 100svh;
    place-items: center;
    overflow: hidden;
    background-color: var(--color-navy-950);
    background-image:
        linear-gradient(115deg, rgba(1, 9, 18, 0.78), rgba(1, 9, 18, 0.26) 50%, rgba(1, 9, 18, 0.72)),
        url("../img/hero-section-about2.png?v=4");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 38%, transparent 22%, rgba(1, 9, 18, 0.48) 100%);
    pointer-events: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: clamp(7rem, 15vw, 12rem);
    background: linear-gradient(180deg, transparent, var(--color-navy-950) 94%);
    pointer-events: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero-content {
    position: relative;
    z-index: 1;
    width: min(100% - 2.5rem, 48rem);
    padding-top: 5rem;
    text-align: center;
    animation: pageReveal 850ms ease both;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speakers-kicker {
    display: inline-block;
    margin: 0 0 1.4rem;
    padding: 0.4rem 1.25rem;
    border: 1px solid rgba(102, 213, 241, 0.36);
    border-radius: 0.15rem;
    background: rgba(102, 213, 241, 0.08);
    color: var(--color-cyan);
    font-family: var(--font-nav);
    font-size: clamp(0.58rem, 0.9vw, 0.72rem);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.4;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero-title {
    margin: 0;
    color: var(--color-gold);
    font-family: var(--font-display);
    font-size: clamp(3rem, 6vw, 5.25rem);
    font-weight: 400;
    letter-spacing: 0.035em;
    line-height: 1;
    text-transform: uppercase;
    text-shadow: 0 0.5rem 2rem rgba(233, 193, 118, 0.16);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero-description {
    max-width: 34rem;
    margin: 1.35rem auto 0;
    color: #bdc8cd;
    font-family: var(--font-nav);
    font-size: clamp(0.78rem, 1.05vw, 0.95rem);
    line-height: 1.65;
}

/* Meet Our Speakers Section */
:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-section {
    padding-top: clamp(2rem, 4vw, 3.5rem) !important;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-section .speakers-container {
    width: min(100% - 2rem, 72rem);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    column-gap: 1.5rem;
    row-gap: 2.25rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-header {
    max-width: 38rem;
    margin: 0;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-title {
    margin: 0 0 0.9rem;
    color: var(--color-white);
    font-family: var(--font-body);
    font-size: clamp(2rem, 3.7vw, 3rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.01em;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-description {
    margin: 0;
    color: #8f9daa;
    font-family: var(--font-nav);
    font-size: clamp(0.8rem, 1vw, 0.92rem);
    line-height: 1.72;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    align-self: center;
    gap: 0.9rem;
    margin: 0;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-nav-btn {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 0.45rem;
    background: linear-gradient(180deg, #7ce0f4 0%, #49bad4 100%);
    color: #f4fbff;
    font-size: 0.68rem;
    cursor: pointer;
    transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-nav-btn:hover {
    background: linear-gradient(180deg, #90e8f8 0%, #55c7e1 100%);
    transform: translateY(-2px);
    box-shadow: 0 0.5rem 1.2rem rgba(73, 186, 212, 0.28);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-nav-btn:active {
    transform: scale(0.95);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-accordion {
    --meet-panel-count: 7;
    --meet-panel-gap: 1rem;
    --meet-collapsed-width: 5rem;
    --meet-expanded-width: calc(100% - ((var(--meet-panel-count) - 1) * (var(--meet-collapsed-width) + var(--meet-panel-gap))));
    display: flex;
    grid-column: 1 / -1;
    gap: var(--meet-panel-gap);
    width: 100%;
    height: 37rem;
    padding: 0;
    border-radius: 1.15rem;
    overflow: hidden;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speaker-panel {
    position: relative;
    flex: 0 0 var(--meet-collapsed-width);
    width: var(--meet-collapsed-width);
    height: 100%;
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015));
    overflow: hidden;
    cursor: pointer;
    transition: flex-basis 850ms cubic-bezier(0.22, 1, 0.36, 1), width 850ms cubic-bezier(0.22, 1, 0.36, 1), transform 520ms ease, box-shadow 520ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speaker-panel:hover {
    transform: translateY(-0.35rem);
    box-shadow: 0 0.9rem 1.8rem rgba(0, 0, 0, 0.24);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speaker-panel.is-active {
    flex: 0 0 var(--meet-expanded-width);
    width: var(--meet-expanded-width);
}

/* Thumbnail view (collapsed) */
:where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-thumb {
    position: absolute;
    inset: 0;
    z-index: 2;
    opacity: 1;
    transition: opacity 520ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(9, 13, 19, 0.2) 0%, rgba(9, 13, 19, 0.5) 55%, rgba(9, 13, 19, 0.16) 100%);
    pointer-events: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speaker-panel.is-active .meet-panel-thumb {
    opacity: 0;
    pointer-events: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    /* filter: grayscale(0.15) brightness(0.78); */
    transition: filter var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speaker-panel:hover .meet-panel-thumb img {
    filter: grayscale(0) brightness(0.9);
}

@media (prefers-reduced-motion: reduce) {

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-speaker-panel,
    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-thumb,
    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-expanded,
    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-overlay,
    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-thumb img {
        transition: none;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-speaker-panel:hover {
        transform: none;
    }
}

/* Expanded view */
:where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-expanded {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0;
    border-radius: inherit;
    background:
        radial-gradient(circle at 22% 84%, rgba(65, 61, 118, 0.95) 0%, rgba(40, 39, 70, 0.72) 28%, rgba(25, 28, 36, 0.94) 60%, rgba(25, 28, 36, 1) 100%);
    transition: opacity 650ms ease 160ms;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speaker-panel.is-active .meet-panel-expanded {
    opacity: 1;
    z-index: 3;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-expanded img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
    filter: none;
    transform: none;
    transition: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-expanded::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(18, 21, 27, 0.1) 0%, rgba(18, 21, 27, 0) 38%),
        linear-gradient(180deg, rgba(18, 21, 27, 0.12) 0%, rgba(18, 21, 27, 0) 28%, rgba(18, 21, 27, 0.18) 100%);
    pointer-events: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-overlay {
    position: absolute;
    inset: 1.5rem 1.35rem auto;
    z-index: 4;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 560ms ease 260ms, transform 560ms ease 260ms;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-speaker-panel.is-active .meet-panel-overlay {
    opacity: 1;
    transform: translateY(0);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-role {
    display: block;
    margin-bottom: 0.35rem;
    color: #4d87ff;
    font-family: 'Satoshi', var(--font-nav);
    font-size: clamp(0.58rem, 0.8vw, 0.68rem);
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-name {
    margin: 0;
    color: var(--color-white);
    font-family: 'Eudoxus Sans', var(--font-body);
    font-size: clamp(1.45rem, 2.35vw, 1.7rem);
    font-weight: 700;
    line-height: 1.2;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-section {
    isolation: isolate;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .featured-speakers-section {
    padding-top: calc(var(--section-space) * 1.05) !important;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .all-speakers-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .committee-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .sessions-section {
    padding-top: clamp(2rem, 4vw, 3.5rem) !important;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-cta-section {
    padding-top: clamp(2rem, 4vw, 3.5rem) !important;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speakers-section-bar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(102, 213, 241, 0.28);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speakers-display-heading {
    margin: 0;
    color: var(--color-cyan);
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.4vw, 3rem);
    font-weight: 400;
    letter-spacing: 0.045em;
    line-height: 1;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.85rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-search {
    display: flex;
    align-items: center;
    width: min(17rem, 25vw);
    height: 2.45rem;
    gap: 0.65rem;
    padding: 0 0.9rem;
    border: 1px solid rgba(102, 213, 241, 0.14);
    border-radius: var(--radius-pill);
    background: #102a42;
    color: var(--color-cyan);
    transition: border-color var(--transition), box-shadow var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-search:focus-within {
    border-color: rgba(102, 213, 241, 0.62);
    box-shadow: 0 0 0 3px rgba(102, 213, 241, 0.08);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-search i {
    flex: 0 0 auto;
    font-size: 0.8rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-search input {
    min-width: 0;
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--color-white);
    font-family: var(--font-nav);
    font-size: 0.7rem;
    outline: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-search input::placeholder {
    color: rgba(189, 200, 205, 0.56);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-filters {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-filter {
    min-width: 4.2rem;
    height: 2.45rem;
    padding: 0 0.95rem;
    border: 1px solid rgba(102, 213, 241, 0.28);
    border-radius: var(--radius-pill);
    background: transparent;
    color: #bdc8cd;
    font-family: var(--font-nav);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    transition: color var(--transition), background var(--transition), border-color var(--transition), transform var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-filter:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-filter:focus-visible,
:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-filter.is-active {
    border-color: var(--color-cyan);
    background: rgba(102, 213, 241, 0.14);
    color: var(--color-cyan);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-filter:active {
    transform: scale(0.96);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-filter-item[hidden] {
    display: none !important;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .keynote-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .roster-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile,
:where(body.about-page, body.speakers-page, body.gallery-page) .session-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .roster-cta {
    /* border: 1px solid rgba(255, 255, 255, 0.055); */
    background: #0D203629;
    box-shadow: 0 1.2rem 2.8rem rgba(0, 0, 0, 0.18);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .keynote-card {
    height: 100%;
    overflow: hidden;
    border-radius: var(--radius-md);
    transition: transform 240ms ease, border-color var(--transition), box-shadow 240ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .keynote-card:hover {
    transform: translateY(-6px);
    border-color: rgba(102, 213, 241, 0.2);
    box-shadow: 0 1.7rem 3.2rem rgba(0, 0, 0, 0.28);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .keynote-visual {
    position: relative;
    height: clamp(17rem, 29vw, 23rem);
    overflow: hidden;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .keynote-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1), filter 450ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .featured-grid> :first-child .keynote-visual img {
    object-position: center 39%;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .keynote-card:hover .keynote-visual img,
:where(body.about-page, body.speakers-page, body.gallery-page) .roster-card:hover .roster-image img {
    transform: scale(1.035);
    filter: saturate(1.05) contrast(1.02);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .keynote-image-shade {
    position: absolute;
    inset: 32% 0 0;
    background: linear-gradient(180deg, transparent, rgba(2, 13, 24, 0.92));
    pointer-events: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .keynote-name-block {
    position: absolute;
    inset: auto 1.5rem 1.25rem;
    z-index: 1;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-label {
    display: inline-flex;
    align-items: center;
    min-height: 1.45rem;
    padding: 0.22rem 0.55rem;
    border: 1px solid rgba(102, 213, 241, 0.52);
    border-radius: var(--radius-pill);
    background: rgba(3, 20, 34, 0.84);
    color: #c7dce3;
    font-family: var(--font-nav);
    font-size: 0.58rem;
    line-height: 1;
    backdrop-filter: blur(8px);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .keynote-name-line,
:where(body.about-page, body.speakers-page, body.gallery-page) .roster-name-line {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .keynote-name-line h3 {
    margin: 0.65rem 0 0;
    color: var(--color-gold);
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.6vw, 3.35rem);
    font-weight: 400;
    letter-spacing: 0.035em;
    line-height: 0.95;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .country-code {
    flex: 0 0 auto;
    margin-bottom: 0.25rem;
    color: var(--color-gold-light);
    font-family: var(--font-nav);
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .keynote-content {
    padding: 1.5rem 1.5rem 1.15rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .keynote-content h4 {
    margin: 0 0 0.8rem;
    color: var(--color-white);
    font-family: var(--font-nav);
    font-size: clamp(0.9rem, 1.25vw, 1.08rem);
    font-weight: 750;
    line-height: 1.35;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .keynote-content>p {
    min-height: 3.2rem;
    margin: 0 0 1.2rem;
    color: #8f9daa;
    font-size: clamp(0.74rem, 0.95vw, 0.84rem);
    line-height: 1.6;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-schedule-link,
:where(body.about-page, body.speakers-page, body.gallery-page) .roster-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(102, 213, 241, 0.11);
    color: var(--color-cyan);
    font-family: var(--font-nav);
    font-size: 0.62rem;
    font-weight: 600;
    transition: color var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-schedule-link i,
:where(body.about-page, body.speakers-page, body.gallery-page) .roster-meta i {
    font-size: 0.9rem;
    transition: transform var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-schedule-link:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .roster-meta:hover {
    color: var(--color-gold-light);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-schedule-link:hover i,
:where(body.about-page, body.speakers-page, body.gallery-page) .roster-meta:hover i {
    transform: translateX(4px);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-empty-state {
    margin: 2.5rem 0 0;
    padding: 2rem;
    border: 1px dashed rgba(102, 213, 241, 0.25);
    border-radius: var(--radius-md);
    color: #9baab5;
    text-align: center;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speaker-subheading-row {
    margin-bottom: clamp(1.5rem, 3vw, 2.2rem);
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(102, 213, 241, 0.28);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .speakers-subheading {
    margin: 0;
    color: #d8e4ec;
    font-family: var(--font-nav);
    font-size: clamp(1rem, 1.6vw, 1.25rem);
    font-weight: 750;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-card {
    height: 100%;
    overflow: hidden;
    border-radius: var(--radius-md);
    transition: transform 240ms ease, border-color var(--transition), box-shadow 240ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-card:hover {
    transform: translateY(-6px);
    border-color: rgba(102, 213, 241, 0.18);
    box-shadow: 0 1.5rem 2.8rem rgba(0, 0, 0, 0.26);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-image {
    position: relative;
    height: clamp(13rem, 21vw, 17rem);
    overflow: hidden;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-image::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(180deg, transparent, rgba(3, 17, 29, 0.55));
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1), filter 450ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-image .speaker-label {
    position: absolute;
    z-index: 1;
    bottom: 0.8rem;
    left: 0.8rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-content {
    padding: 1.25rem 1.25rem 1rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-name-line {
    align-items: center;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-name-line h3 {
    margin: 0;
    color: var(--color-gold);
    font-family: var(--font-nav);
    font-size: clamp(0.95rem, 1.35vw, 1.12rem);
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-content>p {
    min-height: 2.6rem;
    margin: 0.7rem 0 1.1rem;
    color: #8f9daa;
    font-size: 0.76rem;
    line-height: 1.5;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-meta {
    font-size: 0.62rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-roster-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile {
    display: flex;
    min-height: 8.5rem;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1.2rem;
    border-radius: var(--radius-md);
    background: #1B1C1E;
    text-align: left;
    transition: transform 220ms ease, border-color var(--transition), background var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile:hover {
    transform: translateY(-5px);
    border-color: rgba(233, 193, 118, 0.25);
    background: #1c2226;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile img {
    flex: 0 0 auto;
    width: 4.7rem;
    height: 4.7rem;
    border: 2px solid rgba(102, 213, 241, 0.5);
    border-radius: 50%;
    object-fit: cover;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile h3 {
    margin: 0 0 0.45rem;
    color: #D4AF37;
    font-family: var(--font-nav);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.3;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile p {
    margin: 0;
    color: #8f9daa;
    font-size: 0.78rem;
    line-height: 1.4;
}

/* Keep every committee card in a clear photo, name, role sequence. */
:where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile {
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    text-align: center;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile img {
    order: 0;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile>div {
    display: flex;
    order: 1;
    flex-direction: column;
    align-items: center;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .session-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .session-card {
    display: flex;
    min-height: 18rem;
    flex-direction: column;
    padding: 1.6rem;
    border-radius: var(--radius-md);
    transition: transform 220ms ease, border-color var(--transition), background var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .session-card:hover {
    transform: translateY(-5px);
    border-color: rgba(102, 213, 241, 0.18);
    background: #061a2a;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .session-type {
    margin-bottom: 0.8rem;
    color: #D4AF37;
    font-family: var(--font-nav);
    font-size: 0.7rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .session-card h3 {
    margin: 0 0 1rem;
    color: var(--color-cyan);
    font-family: var(--font-nav);
    font-size: clamp(1.1rem, 1.7vw, 1.2rem);
    font-weight: 750;
    line-height: 1.3;
    white-space: nowrap;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .session-card>p {
    margin: 0 0 1.4rem;
    color: #8f9daa;
    font-size: 0.83rem;
    line-height: 1.55;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .session-speaker {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid rgba(102, 213, 241, 0.13);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .session-speaker span {
    display: grid;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 50%;
    background: rgba(102, 213, 241, 0.16);
    color: var(--color-cyan);
    font-size: 0.65rem;
    font-weight: 800;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .session-speaker strong {
    color: #c4d0d8;
    font-family: var(--font-nav);
    font-size: 0.68rem;
    letter-spacing: 0.03em;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-cta {
    padding: clamp(2.5rem, 5vw, 4.5rem) 1.5rem;
    border-radius: var(--radius-lg);
    text-align: center;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-cta h2 {
    margin: 0;
    color: var(--color-gold);
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    font-weight: 400;
    letter-spacing: 0.045em;
    line-height: 1;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-cta p {
    max-width: 44rem;
    margin: 1.2rem auto 1.8rem;
    color: #8f9daa;
    font-family: var(--font-nav);
    font-size: clamp(0.74rem, 1vw, 0.88rem);
    line-height: 1.65;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-cta-button {
    display: inline-flex;
    min-width: 13rem;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 1.5rem;
    border: 1px solid var(--color-cyan);
    border-radius: 0.75rem;
    background: var(--color-cyan);
    box-shadow: 0 0 1.2rem rgba(102, 213, 241, 0.34);
    color: var(--color-navy-950);
    font-family: var(--font-nav);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: capitalize;
    transition: transform var(--transition), box-shadow var(--transition), background var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .roster-cta-button:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .roster-cta-button:focus-visible {
    transform: translateY(-3px);
    background: #82e0f4;
    box-shadow: 0 0.8rem 1.8rem rgba(102, 213, 241, 0.24);
    color: var(--color-navy-950);
}

@media (prefers-reduced-motion: reduce) {

    :where(body.about-page, body.speakers-page, body.gallery-page) *,
    :where(body.about-page, body.speakers-page, body.gallery-page) *::before,
    :where(body.about-page, body.speakers-page, body.gallery-page) *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }

    .js :where(body.about-page, body.speakers-page, body.gallery-page) .scroll-reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Gallery page */
.gallery-page,
.gallery-page main,
.gallery-page .gallery-section {
    background: var(--color-navy-950);
}

:where(body.about-page, body.speakers-page, body.gallery-page) main section:not(.gallery-hero) {
    position: relative;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-container {
    width: min(100% - 2rem, 72rem);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero {
    position: relative;
    display: grid;
    min-height: 100svh;
    place-items: center;
    overflow: hidden;
    background-color: var(--color-navy-950);
    background-image:
        linear-gradient(115deg, rgba(1, 9, 18, 0.78), rgba(1, 9, 18, 0.26) 50%, rgba(1, 9, 18, 0.72)),
        url("../img/hero-section-about2.png?v=4");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 38%, transparent 22%, rgba(1, 9, 18, 0.48) 100%);
    pointer-events: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: clamp(7rem, 15vw, 12rem);
    background: linear-gradient(180deg, transparent, var(--color-navy-950) 94%);
    pointer-events: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-content {
    position: relative;
    z-index: 1;
    width: min(100% - 2.5rem, 48rem);
    padding-top: 5rem;
    text-align: center;
    animation: pageReveal 850ms ease both;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    margin: 0 0 1rem;
    min-height: 1.65rem;
    padding: 0.28rem 0.82rem;
    border: 1px solid rgba(102, 213, 241, 0.68);
    border-radius: var(--radius-pill);
    background: rgba(1, 14, 25, 0.5);
    box-shadow: inset 0 0 0.8rem rgba(102, 213, 241, 0.05), 0 0.25rem 0.8rem rgba(0, 0, 0, 0.18);
    color: var(--color-cyan);
    font-family: var(--font-nav);
    font-size: clamp(0.58rem, 0.85vw, 0.7rem);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.4;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-kicker::before {
    content: "";
    width: 0.34rem;
    height: 0.34rem;
    border-radius: 50%;
    background: var(--color-gold);
    box-shadow: 0 0 0.38rem rgba(233, 193, 118, 0.8);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-title {
    display: flex;
    flex-direction: column;
    margin: 0;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-global,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-innovation {
    font-family: var(--font-display);
    font-size: clamp(3rem, 6vw, 5.25rem);
    font-weight: 400;
    letter-spacing: 0.035em;
    line-height: 0.96;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-global {
    color: #dfe7ef;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-innovation {
    color: var(--color-gold);
    text-shadow: 0 0.5rem 2rem rgba(233, 193, 118, 0.16);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-innovation em {
    color: #dfe7ef;
    font: inherit;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-description {
    max-width: 35rem;
    margin: 1.2rem auto 0;
    color: #bdc8cd;
    font-family: var(--font-nav);
    font-size: clamp(0.78rem, 1.02vw, 0.92rem);
    line-height: 1.65;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.9rem;
    margin-top: 1.8rem;
    flex-wrap: wrap;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-btn,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-card-button,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-load-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 2.95rem;
    padding: 0.82rem 1.35rem;
    border-radius: 0.7rem;
    font-family: var(--font-nav);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    transition: transform var(--transition), background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-btn:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-card-button:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-load-button:hover {
    transform: translateY(-2px);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-btn img {
    width: 0.8rem;
    height: 0.8rem;
    object-fit: contain;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-btn--filled {
    border: 1px solid var(--color-cyan);
    background: var(--color-cyan);
    box-shadow: 0 0 1.2rem rgba(102, 213, 241, 0.3);
    color: var(--color-navy-950);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-btn--filled:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-btn--filled:focus-visible {
    background: #7adff3;
    color: var(--color-navy-950);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-btn--outlined {
    border: 1px solid rgba(233, 193, 118, 0.72);
    background: rgba(233, 193, 118, 0.06);
    color: var(--color-gold);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-btn--outlined:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-btn--outlined:focus-visible {
    background: rgba(233, 193, 118, 0.12);
    color: var(--color-gold-light);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-section {
    isolation: isolate;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-innovations-section {
    padding-top: calc(var(--section-space) * 1.02) !important;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-directory-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-products-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-offers-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-floor-section {
    padding-top: clamp(2rem, 4vw, 3.5rem) !important;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-section-heading,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-toolbar {
    margin-bottom: clamp(1.5rem, 3vw, 2.2rem);
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #E9C3494D;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-display-heading {
    margin: 0;
    color: var(--color-gold);
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.4vw, 3rem);
    font-weight: 400;
    letter-spacing: 0.045em;
    line-height: 1;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-directory-section .gallery-display-heading {
    color: #D2E4FF;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-directory-section .gallery-toolbar {
    border-bottom-color: #66D5F14D;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-products-section .gallery-display-heading {
    color: #D2E4FF;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-products-section .gallery-section-heading {
    border-bottom-color: #66D5F14D;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-section-heading p,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-toolbar p {
    margin: 0.35rem 0 0;
    color: #8493a0;
    font-family: var(--font-nav);
    font-size: 0.72rem;
    line-height: 1.55;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-innovation-grid>div,
:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-grid>div,
:where(body.about-page, body.speakers-page, body.gallery-page) .product-grid>div,
:where(body.about-page, body.speakers-page, body.gallery-page) .offers-grid>div {
    height: 100%;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-grid {
    --bs-gutter-x: 1.15rem;
    --bs-gutter-y: 1.15rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .product-grid {
    --bs-gutter-x: 1.15rem;
    --bs-gutter-y: 1.15rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .offers-grid {
    --bs-gutter-x: 1.15rem;
    --bs-gutter-y: 1.15rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .offers-grid>div {
    display: flex;
    height: auto;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .product-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-card {
    height: 100%;
    border: 1px solid rgba(102, 213, 241, 0.14);
    border-radius: var(--radius-md);
    background: #030D18;
    box-shadow: 0 1.2rem 2.8rem rgba(0, 0, 0, 0.18);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card {
    display: grid;
    grid-template-columns: minmax(0, 13.25rem) minmax(0, 1fr);
    overflow: hidden;
    transition: transform 240ms ease, border-color var(--transition), box-shadow 240ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .product-card:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card:hover {
    transform: translateY(-6px);
    border-color: rgba(102, 213, 241, 0.24);
    box-shadow: 0 1.8rem 3rem rgba(0, 0, 0, 0.26);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card--gold,
:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card--featured {
    border-color: rgba(233, 193, 118, 0.22);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-image {
    position: relative;
    min-height: 100%;
    overflow: hidden;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-image::after,
:where(body.about-page, body.speakers-page, body.gallery-page) .product-card-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 22, 38, 0) 34%, rgba(6, 22, 38, 0.18) 100%);
    pointer-events: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-image img,
:where(body.about-page, body.speakers-page, body.gallery-page) .product-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card:hover .innovation-card-image img,
:where(body.about-page, body.speakers-page, body.gallery-page) .product-card:hover .product-card-image img {
    transform: scale(1.04);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-body {
    display: flex;
    flex-direction: column;
    padding: 1.5rem 1.35rem 1.2rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-header,
:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-header h3,
:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card h3,
:where(body.about-page, body.speakers-page, body.gallery-page) .product-card h3,
:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card h3,
:where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-overlay-card h3 {
    margin: 0;
    color: #dbe7ef;
    font-family: var(--font-nav);
    font-weight: 600;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-header h3 {
    font-size: 1.45rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-header span,
:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-booth,
:where(body.about-page, body.speakers-page, body.gallery-page) .product-card-label {
    display: inline-flex;
    align-items: center;
    min-height: 1.5rem;
    padding: 0.2rem 0.55rem;
    border: 1px solid rgba(102, 213, 241, 0.28);
    border-radius: 0.3rem;
    color: var(--color-cyan);
    font-family: var(--font-nav);
    font-size: 0.52rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-body p,
:where(body.about-page, body.speakers-page, body.gallery-page) .product-card p,
:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card p {
    margin: 0.95rem 0 1.2rem;
    color: #8f9daa;
    font-size: 0.9rem;
    line-height: 1.6;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid rgba(102, 213, 241, 0.12);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-metrics strong {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--color-gold);
    font-family: var(--font-nav);
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .innovation-metrics span {
    color: #c7d6df;
    font-size: 0.68rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-card-button {
    width: 100%;
    margin-top: 1rem;
    border: 1px solid var(--color-cyan);
    background: var(--color-cyan);
    color: var(--color-navy-950);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-card-button--ghost,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-load-button {
    border: 1px solid rgba(233, 193, 118, 0.72);
    background: transparent;
    color: var(--color-gold);
    box-shadow: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-card-button--ghost:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-card-button--ghost:focus-visible,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-load-button:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-load-button:focus-visible {
    background: rgba(233, 193, 118, 0.08);
    color: var(--color-gold-light);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-load-button {
    min-height: 2.25rem;
    padding: 0.55rem 1.45rem;
    border-color: #66D5F14D;
    border-radius: 0.4rem;
    background: #030D18;
    color: var(--color-cyan);
    font-size: 0.6rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-load-button:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-load-button:focus-visible {
    border-color: var(--color-cyan);
    background: rgba(102, 213, 241, 0.08);
    color: var(--color-cyan);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.75rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-title-row {
    display: flex;
    align-items: center;
    gap: 1rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-slider-controls {
    display: none;
    align-items: center;
    gap: 0.5rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-slider-controls button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    padding: 0;
    border: 1px solid rgba(102, 213, 241, 0.35);
    border-radius: 50%;
    background: rgba(5, 24, 39, 0.85);
    color: var(--color-cyan);
    font-size: 0.8rem;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    cursor: pointer;
    transition: all 220ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-slider-controls button:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-slider-controls button:focus-visible {
    border-color: var(--color-cyan);
    background: rgba(0, 151, 178, 0.25);
    color: #ffffff;
    box-shadow: 0 0 14px rgba(102, 213, 241, 0.4);
    transform: translateY(-1px);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-slider-controls button:active {
    transform: scale(0.92);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-search {
    display: flex;
    align-items: center;
    width: min(22rem, 36vw);
    height: 2.75rem;
    gap: 0.75rem;
    padding: 0 1.1rem;
    border: 1px solid rgba(102, 213, 241, 0.22);
    border-radius: var(--radius-pill);
    background: rgba(8, 28, 46, 0.85);
    color: var(--color-cyan);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-search:focus-within {
    border-color: var(--color-cyan);
    background: rgba(10, 36, 58, 0.95);
    box-shadow: 0 0 16px rgba(102, 213, 241, 0.25), 0 0 0 1px rgba(102, 213, 241, 0.3);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    background: transparent;
    color: var(--color-white);
    font-family: var(--font-nav);
    font-size: 0.75rem;
    font-weight: 500;
    outline: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-search input::placeholder {
    color: rgba(189, 200, 205, 0.6);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip-row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1.75rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0.25rem 0.25rem 0.65rem;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip-row::-webkit-scrollbar {
    display: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip-row.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.25rem;
    padding: 0.45rem 1.15rem;
    border: 1px solid rgba(102, 213, 241, 0.2);
    border-radius: var(--radius-pill);
    background: rgba(8, 28, 46, 0.65);
    color: #a0b2c2;
    font-family: var(--font-nav);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: capitalize;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.35rem;
    border-radius: var(--radius-pill);
    background: rgba(102, 213, 241, 0.14);
    color: var(--color-cyan);
    font-size: 0.6rem;
    font-weight: 800;
    line-height: 1;
    transition: background var(--transition), color var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip:focus-visible {
    border-color: rgba(102, 213, 241, 0.5);
    background: rgba(12, 38, 62, 0.85);
    color: #ffffff;
    transform: translateY(-1px);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip.is-active {
    border-color: var(--color-cyan);
    background: rgba(0, 151, 178, 0.22);
    color: #ffffff;
    font-weight: 700;
    box-shadow: none;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip.is-active .gallery-chip-count {
    background: var(--color-cyan);
    color: var(--color-navy-950);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip:active {
    transform: scale(0.96);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card {
    position: relative;
    display: flex;
    min-height: 15rem;
    flex-direction: column;
    padding: 1.6rem;
    border-color: #66D5F14D;
    background: #030D18;
    transition: transform 240ms ease, border-color var(--transition), box-shadow 240ms ease, background var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card--featured {
    overflow: hidden;
    border-color: rgba(233, 193, 118, 0.68);
    background: #030D18;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-badge {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-flex;
    align-items: center;
    min-height: 1.2rem;
    padding: 0.18rem 0.55rem;
    border-radius: 0 0.55rem 0 0.45rem;
    background: var(--color-gold);
    color: var(--color-navy-950);
    font-family: var(--font-nav);
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-mark {
    display: grid;
    width: 3.1rem;
    height: 3.1rem;
    place-items: center;
    border: 1px solid rgba(102, 213, 241, 0.18);
    border-radius: 0.35rem;
    background: rgba(102, 213, 241, 0.05);
    color: var(--color-cyan);
    font-size: 0.75rem;
    font-weight: 700;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card h3 {
    margin-top: 0.95rem;
    color: #D2E4FF;
    font-size: 1.18rem;
    line-height: 1.1;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-location {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.45rem 0 0;
    color: #97a6b2;
    font-size: 0.72rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-tags {
    display: flex;
    gap: 0.45rem;
    margin: 0.85rem 0 1.75rem;
    flex-wrap: wrap;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 1.45rem;
    padding: 0.2rem 0.5rem;
    border: 1px solid rgba(102, 213, 241, 0.18);
    border-radius: 0.25rem;
    background: rgba(255, 255, 255, 0.02);
    color: #c7d6df;
    font-family: var(--font-nav);
    font-size: 0.56rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card .gallery-card-button {
    position: relative;
    min-height: 1.95rem;
    margin-top: auto;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--color-gold);
    border-radius: 0.4rem;
    background: transparent;
    box-shadow: none;
    color: var(--color-gold);
    font-size: 0.7rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card .gallery-card-button::before {
    content: "";
    position: absolute;
    top: -0.95rem;
    right: 0;
    left: 0;
    border-top: 1px dashed #66D5F14D;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card .gallery-card-button img {
    width: 0.6rem;
    height: 0.6rem;
    margin-left: 0.04rem;
    object-fit: contain;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card .gallery-card-button:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card .gallery-card-button:focus-visible {
    background: rgba(233, 193, 118, 0.08);
    color: var(--color-gold-light);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card--featured .gallery-card-button {
    background: var(--color-gold);
    color: var(--color-navy-950);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card--featured .gallery-card-button:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card--featured .gallery-card-button:focus-visible {
    background: var(--color-gold-light);
    color: var(--color-navy-950);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card--featured .exhibitor-booth {
    border-color: rgba(233, 193, 118, 0.72);
    color: var(--color-gold);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-empty-state {
    margin: 1.5rem 0 0;
    padding: 1.8rem;
    border: 1px dashed rgba(102, 213, 241, 0.25);
    border-radius: var(--radius-md);
    color: #9baab5;
    text-align: center;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-item[hidden] {
    display: none !important;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-load-wrap {
    display: flex;
    justify-content: center;
    margin-top: 1.8rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .product-card {
    overflow: hidden;
    transition: transform 240ms ease, border-color var(--transition), box-shadow 240ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .product-card-image {
    position: relative;
    aspect-ratio: 1.4 / 1;
    overflow: hidden;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .product-card-body {
    padding: 0.95rem 0.85rem 0.85rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .product-card-label {
    min-height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.46rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .product-card h3 {
    margin-top: 0.45rem;
    font-size: 1.02rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .product-card p {
    min-height: 2.75rem;
    margin: 0.55rem 0 0.95rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-products-section .gallery-card-button {
    min-height: 1.95rem;
    margin-top: 0;
    padding: 0.6rem 0.75rem;
    border-color: var(--color-cyan);
    border-radius: 0.3rem;
    background: #16334B;
    color: var(--color-cyan);
    font-size: 0.6rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-products-section .gallery-card-button:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-products-section .gallery-card-button:focus-visible {
    border-color: #8ae3f6;
    background: #1b405d;
    color: #8ae3f6;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card {
    display: flex;
    width: 100%;
    min-height: 13rem;
    height: auto;
    flex-direction: column;
    padding: 1.15rem;
    border-color: #66D5F14D;
    background: #030D18;
    transition: transform 240ms ease, border-color var(--transition), box-shadow 240ms ease;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card--featured {
    border: 2px solid #E9C34980;
    background: linear-gradient(to top right, #10447E, #030D18 68%);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .offer-value {
    margin-bottom: 0.85rem;
    color: var(--color-cyan);
    font-family: "Anton", sans-serif;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card--featured .offer-value,
:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card--featured h3,
:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card--featured small {
    color: var(--color-gold);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card h3 {
    font-size: 1.2rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card p {
    margin: 0.7rem 0 1rem;
    font-size: 0.9rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card small {
    margin-bottom: 1rem;
    color: var(--color-cyan);
    font-family: var(--font-nav);
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card .gallery-card-button {
    min-height: 1.9rem;
    margin-top: auto;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--color-cyan);
    border-radius: 0.25rem;
    background: transparent;
    color: var(--color-cyan);
    font-size: 0.7rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card .gallery-card-button:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card .gallery-card-button:focus-visible {
    border-color: #8ae3f6;
    background: rgba(102, 213, 241, 0.08);
    color: #8ae3f6;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card--featured .gallery-card-button {
    border-color: var(--color-gold);
    background: var(--color-gold);
    color: var(--color-navy-950);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card--featured .gallery-card-button:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card--featured .gallery-card-button:focus-visible {
    border-color: var(--color-gold-light);
    background: var(--color-gold-light);
    color: var(--color-navy-950);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-card {
    position: relative;
    display: grid;
    min-height: 28rem;
    place-items: center;
    padding: 2rem;
    overflow: hidden;
    border-color: rgba(102, 213, 241, 0.12);
    background:
        linear-gradient(180deg, rgba(49, 67, 90, 0.92), rgba(43, 59, 82, 0.92)),
        url("../img/gallery/omnisurg-robotics.jpg?v=4");
    background-position: center;
    background-size: cover;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 3.6rem 3.6rem;
    opacity: 0.35;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-overlay-card {
    position: relative;
    z-index: 1;
    width: min(100%, 24rem);
    padding: 2rem 1.6rem;
    border: 1px solid rgba(102, 213, 241, 0.18);
    border-radius: 0.85rem;
    background: rgba(8, 27, 45, 0.86);
    text-align: center;
    backdrop-filter: blur(14px);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-overlay-card i {
    color: var(--color-cyan);
    font-size: 1.1rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-overlay-card h3 {
    margin-top: 1rem;
    font-size: 1rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-overlay-card p {
    margin: 0.8rem 0 1.3rem;
    color: #9eb0bd;
    font-size: 0.72rem;
    line-height: 1.6;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-controls {
    position: absolute;
    right: 0.7rem;
    bottom: 0.7rem;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

:where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-controls button {
    display: grid;
    width: 1.9rem;
    height: 1.9rem;
    place-items: center;
    border: 1px solid rgba(102, 213, 241, 0.2);
    border-radius: 0.2rem;
    background: rgba(2, 16, 27, 0.92);
    color: var(--color-cyan);
    transition: background var(--transition), border-color var(--transition), transform var(--transition);
}

:where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-controls button:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-controls button:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(102, 213, 241, 0.44);
    background: rgba(10, 36, 55, 0.98);
}


/* ===== Registration and account pages ===== */
/* ===== Registration Page Styles ===== */

/* Hero Section */
:where(body.register-page, body.login-page) .register-hero {
    position: relative;
    min-height: clamp(16rem, 30vh, 22rem);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-image: url("../img/backgrounds/schedule-bg.png?v=4");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
}

:where(body.register-page, body.login-page) .register-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
            rgba(1, 9, 18, 0.42) 0%,
            rgba(1, 9, 18, 0.72) 50%,
            rgba(1, 9, 18, 0.96) 100%);
    z-index: 1;
}

:where(body.register-page, body.login-page) .register-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: clamp(3rem, 6vh, 5rem) 1.5rem clamp(1.5rem, 3vh, 2.5rem);
}

:where(body.register-page, body.login-page) .register-kicker {
    margin: 0 0 0.6rem;
    font-family: var(--font-nav);
    font-size: clamp(0.65rem, 1.2vw, 0.85rem);
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--color-gold-light);
}

:where(body.register-page, body.login-page) .register-title {
    margin: 0;
    font-family: var(--font-display) !important;
    font-size: clamp(2.4rem, 5.5vw, 4rem);
    font-weight: 400 !important;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
    color: var(--color-white);
}

:where(body.register-page, body.login-page) .register-year {
    display: block;
    margin-top: 0.1em;
    font-family: var(--font-display);
    font-size: 1.05em;
    color: var(--color-gold);
}

:where(body.register-page, body.login-page) .register-subtitle {
    margin: 1rem 0 0;
    font-family: var(--font-nav);
    font-size: clamp(0.68rem, 1.1vw, 0.85rem);
    font-weight: 400;
    line-height: 1.6;
    color: rgba(248, 250, 252, 0.65);
}

:where(body.register-page, body.login-page) .register-meta-badges {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

:where(body.register-page, body.login-page) .register-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 1rem;
    border-radius: var(--radius-pill);
    font-family: var(--font-nav);
    font-size: clamp(0.6rem, 0.9vw, 0.75rem);
    font-weight: 600;
    letter-spacing: 0.06em;
}

:where(body.register-page, body.login-page) .register-badge--date {
    background: rgba(201, 154, 75, 0.12);
    border: 1px solid rgba(201, 154, 75, 0.35);
    color: var(--color-gold-light);
}

:where(body.register-page, body.login-page) .register-badge--date i {
    font-size: 0.8em;
}

:where(body.register-page, body.login-page) .register-badge--location {
    background: rgba(0, 151, 178, 0.18);
    border: 1px solid rgba(0, 151, 178, 0.4);
    color: var(--color-cyan);
}

:where(body.register-page, body.login-page) .register-badge--location i {
    font-size: 0.8em;
}

/* Form Section */
:where(body.register-page, body.login-page) .register-form-section {
    background: var(--color-navy-950);
    padding: 0 1.5rem clamp(3rem, 5vh, 5rem);
}

:where(body.register-page, body.login-page) .register-form-container {
    max-width: 52rem;
    margin: 0 auto;
    padding: clamp(2rem, 4vh, 3.5rem) 0;
}

/* Step Wizard */
:where(body.register-page, body.login-page) .step-wizard {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: clamp(2rem, 4vh, 3.5rem);
}

:where(body.register-page, body.login-page) .step-wizard-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    position: relative;
    z-index: 1;
}

:where(body.register-page, body.login-page) .step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, 0.18);
    font-family: var(--font-nav);
    font-size: 0.82rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.35);
    background: transparent;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

:where(body.register-page, body.login-page) .step-label {
    font-family: var(--font-nav);
    font-size: clamp(0.65rem, 1vw, 0.8rem);
    font-weight: 500;
    color: rgba(255, 255, 255, 0.35);
    transition: color 0.35s ease;
}

:where(body.register-page, body.login-page) .step-wizard-item.active .step-number {
    border-color: #d4a359;
    color: #e5bf7a;
    background: rgba(212, 163, 89, 0.06);
    box-shadow: 0 0 1rem rgba(212, 163, 89, 0.2);
}

:where(body.register-page, body.login-page) .step-wizard-item.active .step-label {
    color: var(--color-white);
}

:where(body.register-page, body.login-page) .step-wizard-item.completed .step-number {
    border-color: #d4a359;
    color: #d4a359;
    background: rgba(212, 163, 89, 0.12);
}

:where(body.register-page, body.login-page) .step-wizard-item.completed .step-label {
    color: rgba(255, 255, 255, 0.65);
}

:where(body.register-page, body.login-page) .step-wizard-line {
    width: clamp(3rem, 8vw, 7rem);
    height: 1px;
    background: #16324A;
    margin: 0 0.75rem;
    margin-bottom: 1.8rem;
    transition: background 0.35s ease;
}

:where(body.register-page, body.login-page) .step-wizard-line.completed {
    background: rgba(212, 163, 89, 0.45);
}

/* Steps */
:where(body.register-page, body.login-page) .register-step {
    display: none;
    animation: registerFadeSlideIn 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

:where(body.register-page, body.login-page) .register-step.active {
    display: block;
}

@keyframes registerFadeSlideIn {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

:where(body.register-page, body.login-page) .step-indicator {
    margin: 0 0 0.4rem;
    font-family: var(--font-nav);
    font-size: clamp(0.6rem, 0.9vw, 0.72rem);
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--color-gold-light);
}

:where(body.register-page, body.login-page) .step-title {
    margin: 0 0 1.75rem;
    font-family: var(--font-display) !important;
    font-size: clamp(1.6rem, 3.2vw, 2.2rem);
    font-weight: 400 !important;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--color-white);
}

:where(body.register-page, body.login-page) .step-description {
    margin: -0.75rem 0 1.5rem;
    font-family: var(--font-nav);
    font-size: clamp(0.72rem, 1vw, 0.85rem);
    line-height: 1.6;
    color: rgba(248, 250, 252, 0.55);
}

/* Form Elements */
:where(body.register-page, body.login-page) .form-label {
    display: block;
    margin-bottom: 0.55rem;
    font-family: var(--font-nav);
    font-size: clamp(0.58rem, 0.85vw, 0.7rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(248, 250, 252, 0.65);
}

:where(body.register-page, body.login-page) .form-group {
    margin-bottom: 1.25rem;
    flex: 1;
}

:where(body.register-page, body.login-page) .form-row {
    display: flex;
    gap: 1rem;
}

:where(body.register-page, body.login-page) .input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

:where(body.register-page, body.login-page) .input-icon {
    position: absolute;
    left: 1rem;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.45);
    pointer-events: none;
    z-index: 2;
    transition: color 0.25s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

:where(body.register-page, body.login-page) .input-icon--svg {
    width: 1.1rem;
    height: 1.1rem;
    stroke: currentColor;
}

:where(body.register-page, body.login-page) .input-wrapper:focus-within .input-icon {
    color: var(--color-cyan);
}

:where(body.register-page, body.login-page) .form-input {
    width: 100%;
    padding: 0.85rem 1rem;
    padding-left: 2.75rem;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--color-white) !important;
    font-family: var(--font-nav);
    font-size: clamp(0.78rem, 1vw, 0.88rem);
    font-weight: 400;
    transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
    outline: none !important;
}

:where(body.register-page, body.login-page) .form-input::placeholder {
    color: rgba(255, 255, 255, 0.32);
}

:where(body.register-page, body.login-page) .form-input:focus {
    border-color: rgba(0, 151, 178, 0.5) !important;
    background: rgba(0, 151, 178, 0.04) !important;
    box-shadow: 0 0 0 3px rgba(0, 151, 178, 0.08) !important;
    outline: none !important;
}

/* Fix browser autofill styling so all inputs match 100% */
:where(body.register-page, body.login-page) .form-input:-webkit-autofill,
:where(body.register-page, body.login-page) .form-input:-webkit-autofill:hover,
:where(body.register-page, body.login-page) .form-input:-webkit-autofill:focus,
:where(body.register-page, body.login-page) .form-input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #061522 inset !important;
    box-shadow: 0 0 0 1000px #061522 inset !important;
    -webkit-text-fill-color: #f8fafc !important;
    caret-color: #f8fafc !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    outline: none !important;
    border-radius: 0.5rem !important;
    transition: background-color 5000s ease-in-out 0s;
}

:where(body.register-page, body.login-page) .form-input:-webkit-autofill:focus {
    border-color: rgba(0, 151, 178, 0.5) !important;
    -webkit-box-shadow: 0 0 0 1000px #061522 inset, 0 0 0 3px rgba(0, 151, 178, 0.08) !important;
    box-shadow: 0 0 0 1000px #061522 inset, 0 0 0 3px rgba(0, 151, 178, 0.08) !important;
}

/* Inputs without icon */
:where(body.register-page, body.login-page) .input-wrapper:not(:has(.input-icon)) .form-input {
    padding-left: 1rem;
}

/* Custom Select Dropdown */
:where(body.register-page, body.login-page) .custom-select {
    position: relative;
    width: 100%;
}

:where(body.register-page, body.login-page) .custom-select::after {
    display: none !important;
}

:where(body.register-page, body.login-page) .custom-select-trigger {
    width: 100%;
    padding: 0.85rem 1.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--color-white);
    font-family: var(--font-nav);
    font-size: clamp(0.78rem, 1vw, 0.88rem);
    font-weight: 400;
    cursor: pointer;
    user-select: none;
    outline: none !important;
    transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

:where(body.register-page, body.login-page) .custom-select-trigger:hover {
    border-color: rgba(0, 151, 178, 0.45) !important;
    background: rgba(0, 151, 178, 0.04) !important;
}

:where(body.register-page, body.login-page) .custom-select-trigger:focus,
:where(body.register-page, body.login-page) .custom-select.open .custom-select-trigger {
    border-color: var(--color-cyan) !important;
    background: rgba(0, 151, 178, 0.06) !important;
    box-shadow: 0 0 0 3px rgba(0, 151, 178, 0.15) !important;
}

:where(body.register-page, body.login-page) .custom-select-value {
    color: var(--color-white);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
    font-family: var(--font-nav);
    font-size: clamp(0.78rem, 1vw, 0.88rem);
    background: transparent !important;
    opacity: 1 !important;
    cursor: pointer;
}

:where(body.register-page, body.login-page) .custom-select-value.is-placeholder,
:where(body.register-page, body.login-page) .custom-select-value.placeholder {
    color: rgba(248, 250, 252, 0.45) !important;
    font-weight: 400 !important;
    background: transparent !important;
    opacity: 1 !important;
}

:where(body.register-page, body.login-page) .custom-select-trigger .select-arrow {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.45);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s ease;
    flex-shrink: 0;
    margin-left: 0.5rem;
}

:where(body.register-page, body.login-page) .custom-select.open .select-arrow {
    transform: rotate(180deg);
    color: var(--color-cyan);
}

:where(body.register-page, body.login-page) .custom-select-dropdown {
    position: absolute;
    top: calc(100% + 0.45rem);
    left: 0;
    right: 0;
    z-index: 999;
    max-height: 16rem;
    overflow-y: auto;
    padding: 0.45rem;
    border: 1px solid rgba(0, 151, 178, 0.35);
    border-radius: 0.65rem;
    background: #03101c;
    background: rgba(3, 16, 28, 0.98);
    box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.8), 0 0 1.5rem rgba(0, 151, 178, 0.18);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.25s ease;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

/* Custom scrollbar for dropdown */
:where(body.register-page, body.login-page) .custom-select-dropdown::-webkit-scrollbar {
    width: 6px;
}

:where(body.register-page, body.login-page) .custom-select-dropdown::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.02);
    border-radius: 4px;
}

:where(body.register-page, body.login-page) .custom-select-dropdown::-webkit-scrollbar-thumb {
    background: rgba(0, 151, 178, 0.45);
    border-radius: 4px;
}

:where(body.register-page, body.login-page) .custom-select-dropdown::-webkit-scrollbar-thumb:hover {
    background: var(--color-cyan);
}

:where(body.register-page, body.login-page) .custom-select.open .custom-select-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

:where(body.register-page, body.login-page) .custom-option {
    position: relative;
    padding: 0.7rem 1rem;
    border-radius: 0.45rem;
    font-family: var(--font-nav);
    font-size: clamp(0.78rem, 0.95vw, 0.86rem);
    font-weight: 500;
    color: rgba(248, 250, 252, 0.78);
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    outline: none;
    user-select: none;
    border: 1px solid transparent;
}

:where(body.register-page, body.login-page) .custom-option::before {
    content: "";
    position: absolute;
    left: 0.35rem;
    top: 50%;
    transform: translateY(-50%) scaleY(0);
    width: 3px;
    height: 55%;
    background: var(--color-cyan);
    border-radius: 2px;
    transition: transform 0.2s ease;
}

:where(body.register-page, body.login-page) .custom-option:hover,
:where(body.register-page, body.login-page) .custom-option:focus {
    background: rgba(0, 151, 178, 0.14);
    color: var(--color-white);
    padding-left: 1.25rem;
    border-color: rgba(0, 151, 178, 0.25);
}

:where(body.register-page, body.login-page) .custom-option:hover::before,
:where(body.register-page, body.login-page) .custom-option:focus::before {
    transform: translateY(-50%) scaleY(1);
}

:where(body.register-page, body.login-page) .custom-option.selected {
    background: rgba(201, 154, 75, 0.16);
    color: var(--color-gold-light);
    font-weight: 600;
    border-color: rgba(201, 154, 75, 0.35);
}

:where(body.register-page, body.login-page) .custom-option.selected::before {
    background: var(--color-gold);
    transform: translateY(-50%) scaleY(1);
}

:where(body.register-page, body.login-page) .custom-option.selected::after {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 0.82rem;
    color: var(--color-gold);
    margin-left: 0.5rem;
}

/* Toggle Switch */
:where(body.register-page, body.login-page) .toggle-row {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 1.25rem;
}

:where(body.register-page, body.login-page) .toggle-switch {
    position: relative;
    display: inline-block;
    width: 2.75rem;
    height: 1.5rem;
    flex-shrink: 0;
    cursor: pointer;
}

:where(body.register-page, body.login-page) .toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

:where(body.register-page, body.login-page) .toggle-track {
    position: absolute;
    inset: 0;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.12);
    transition: background 0.3s ease;
}

:where(body.register-page, body.login-page) .toggle-track::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: calc(1.5rem - 6px);
    height: calc(1.5rem - 6px);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.6);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s ease;
}

:where(body.register-page, body.login-page) .toggle-switch input:checked+.toggle-track {
    background: var(--color-gold);
}

:where(body.register-page, body.login-page) .toggle-switch input:checked+.toggle-track::after {
    transform: translateX(calc(2.75rem - 1.5rem));
    background: var(--color-white);
}

:where(body.register-page, body.login-page) .toggle-label {
    font-family: var(--font-nav);
    font-size: clamp(0.7rem, 1vw, 0.82rem);
    color: rgba(248, 250, 252, 0.65);
    line-height: 1.4;
}

/* Interest Tags */
:where(body.register-page, body.login-page) .interest-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

:where(body.register-page, body.login-page) .interest-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1.15rem;
    border: 1px solid rgba(201, 154, 75, 0.35);
    border-radius: var(--radius-pill);
    background: transparent;
    color: rgba(248, 250, 252, 0.7);
    font-family: var(--font-nav);
    font-size: clamp(0.72rem, 1vw, 0.82rem);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
}

:where(body.register-page, body.login-page) .interest-tag:hover {
    border-color: var(--color-gold);
    color: var(--color-white);
    background: rgba(201, 154, 75, 0.08);
}

:where(body.register-page, body.login-page) .interest-tag.active {
    border-color: var(--color-gold);
    color: var(--color-gold-light);
    background: rgba(201, 154, 75, 0.12);
}

:where(body.register-page, body.login-page) .interest-tag .tag-check {
    display: none;
    font-size: 0.65rem;
}

:where(body.register-page, body.login-page) .interest-tag.active .tag-check {
    display: inline-block;
}

/* Footer Actions */
:where(body.register-page, body.login-page) .register-footer {
    margin-top: clamp(2.5rem, 5vh, 4rem);
}

:where(body.register-page, body.login-page) .register-footer-divider {
    width: 100%;
    height: 1px;
    background: #141d25;
    margin-bottom: 1.5rem;
}

:where(body.register-page, body.login-page) .register-footer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

:where(body.register-page, body.login-page) .sign-in-link {
    font-family: var(--font-nav);
    font-size: clamp(0.72rem, 1vw, 0.85rem);
    color: rgba(248, 250, 252, 0.55);
    transition: color 0.25s ease;
}

:where(body.register-page, body.login-page) .sign-in-link strong {
    color: rgba(248, 250, 252, 0.8);
    font-weight: 600;
}

:where(body.register-page, body.login-page) .sign-in-link:hover {
    color: var(--color-white);
}

:where(body.register-page, body.login-page) .sign-in-link:hover strong {
    color: var(--color-cyan);
}

:where(body.register-page, body.login-page) .btn-continue {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.85rem 2rem;
    border: none;
    border-radius: 0.4rem;
    background: var(--color-gold);
    color: var(--color-navy-950);
    font-family: var(--font-nav);
    font-size: clamp(0.72rem, 1vw, 0.82rem);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

:where(body.register-page, body.login-page) .btn-continue i {
    font-size: 0.7em;
    transition: transform 0.3s ease;
}

:where(body.register-page, body.login-page) .btn-continue:hover {
    background: var(--color-gold-light);
    box-shadow: 0 0.5rem 1.5rem rgba(201, 154, 75, 0.25);
    transform: translateY(-1px);
}

:where(body.register-page, body.login-page) .btn-continue:hover i {
    transform: translateX(3px);
}

:where(body.register-page, body.login-page) .btn-continue:active {
    transform: translateY(0);
}

/* ===== Responsive ===== */

/* Tablet */
@media (max-width: 768px) {
    :where(body.register-page, body.login-page) .register-hero-content {
        padding: clamp(2.5rem, 5vh, 4rem) 1rem clamp(1rem, 2vh, 2rem);
    }

    :where(body.register-page, body.login-page) .register-subtitle br {
        display: none;
    }

    :where(body.register-page, body.login-page) .form-row {
        flex-direction: column;
        gap: 0;
    }

    :where(body.register-page, body.login-page) .step-wizard-line {
        width: clamp(2rem, 5vw, 4rem);
    }

    :where(body.register-page, body.login-page) .step-label {
        font-size: 0.6rem;
    }
}

/* Mobile */
@media (max-width: 576px) {
    :where(body.register-page, body.login-page) .register-form-section {
        padding: 0 1rem clamp(2rem, 4vh, 3rem);
    }

    :where(body.register-page, body.login-page) .register-hero {
        min-height: clamp(14rem, 28vh, 18rem);
    }

    :where(body.register-page, body.login-page) .register-title {
        font-size: clamp(2rem, 8vw, 2.8rem);
    }

    :where(body.register-page, body.login-page) .register-meta-badges {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    :where(body.register-page, body.login-page) .register-badge {
        font-size: 0.6rem;
        padding: 0.35rem 0.75rem;
    }

    :where(body.register-page, body.login-page) .step-wizard {
        gap: 0;
    }

    :where(body.register-page, body.login-page) .step-wizard-line {
        width: clamp(1.5rem, 4vw, 3rem);
        margin: 0 0.35rem;
        margin-bottom: 1.8rem;
    }

    :where(body.register-page, body.login-page) .step-number {
        width: 1.85rem;
        height: 1.85rem;
        font-size: 0.7rem;
    }

    :where(body.register-page, body.login-page) .step-label {
        font-size: 0.55rem;
    }

    :where(body.register-page, body.login-page) .step-title {
        font-size: clamp(1.4rem, 6vw, 1.8rem);
    }

    :where(body.register-page, body.login-page) .interest-tags {
        gap: 0.45rem;
    }

    :where(body.register-page, body.login-page) .interest-tag {
        padding: 0.45rem 0.85rem;
        font-size: 0.7rem;
    }

    :where(body.register-page, body.login-page) .register-footer-actions {
        flex-direction: column-reverse;
        gap: 1.25rem;
        align-items: stretch;
    }

    :where(body.register-page, body.login-page) .btn-continue {
        justify-content: center;
        padding: 0.95rem 1.5rem;
    }

    :where(body.register-page, body.login-page) .sign-in-link {
        text-align: center;
    }

    :where(body.register-page, body.login-page) .toggle-label {
        font-size: 0.68rem;
    }

    :where(body.register-page, body.login-page) .form-input {
        padding: 0.75rem 0.85rem;
        padding-left: 2.5rem;
    }

    :where(body.register-page, body.login-page) .input-wrapper:not(:has(.input-icon)) .form-input {
        padding-left: 0.85rem;
    }
}

/* Extra-small phones */
@media (max-width: 380px) {
    :where(body.register-page, body.login-page) .step-wizard-item {
        gap: 0.4rem;
    }

    :where(body.register-page, body.login-page) .step-number {
        width: 1.6rem;
        height: 1.6rem;
        font-size: 0.6rem;
    }

    :where(body.register-page, body.login-page) .step-label {
        font-size: 0.5rem;
    }

    :where(body.register-page, body.login-page) .step-wizard-line {
        width: 1.2rem;
        margin: 0 0.2rem;
        margin-bottom: 1.4rem;
    }
}


/* ===== Login page ===== */
/* ===== Login Page Styles ===== */

body.login-page .login-form-container {
    max-width: 32rem;
}

body.login-page .login-card {
    animation: registerFadeSlideIn 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

body.login-page .login-header {
    margin-bottom: 1.75rem;
}

body.login-page .login-description {
    margin: -0.75rem 0 0;
    font-family: var(--font-nav);
    font-size: clamp(0.72rem, 1vw, 0.85rem);
    line-height: 1.6;
    color: rgba(248, 250, 252, 0.45);
}

/* Sign-in button full width */
body.login-page .btn-sign-in {
    width: 100%;
    justify-content: center;
    padding: 0.95rem 2rem;
    font-size: clamp(0.75rem, 1vw, 0.85rem);
}

/* Password toggle */
body.login-page .password-toggle {
    position: absolute;
    right: 0.85rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.25rem;
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.3);
    font-size: 0.85rem;
    cursor: pointer;
    transition: color 0.25s ease;
    z-index: 1;
}

body.login-page .password-toggle:hover {
    color: rgba(255, 255, 255, 0.6);
}

/* Login options row */
body.login-page .login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

body.login-page .remember-me {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-family: var(--font-nav);
    font-size: clamp(0.7rem, 0.95vw, 0.8rem);
    color: rgba(248, 250, 252, 0.55);
    cursor: pointer;
    user-select: none;
}

body.login-page .remember-me input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

body.login-page .custom-checkbox {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    border: 1.5px solid rgba(255, 255, 255, 0.2);
    border-radius: 0.25rem;
    background: rgba(255, 255, 255, 0.04);
    transition: all 0.25s ease;
    flex-shrink: 0;
}

body.login-page .custom-checkbox::after {
    content: "";
    display: block;
    width: 0.35rem;
    height: 0.6rem;
    border: solid var(--color-navy-950);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0);
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    margin-top: -0.1rem;
}

body.login-page .remember-me input:checked+.custom-checkbox {
    background: var(--color-cyan);
    border-color: var(--color-cyan);
}

body.login-page .remember-me input:checked+.custom-checkbox::after {
    transform: rotate(45deg) scale(1);
}

body.login-page .forgot-link {
    font-family: var(--font-nav);
    font-size: clamp(0.7rem, 0.95vw, 0.8rem);
    color: var(--color-gold-light);
    transition: color 0.25s ease;
}

body.login-page .forgot-link:hover {
    color: var(--color-gold);
}

/* Divider */
body.login-page .login-divider {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1.75rem 0;
}

body.login-page .login-divider::before,
body.login-page .login-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
}

body.login-page .login-divider span {
    font-family: var(--font-nav);
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.3);
}

/* Social Login */
body.login-page .social-login {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

body.login-page .social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.8rem 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.03);
    color: var(--color-white);
    font-family: var(--font-nav);
    font-size: clamp(0.75rem, 1vw, 0.85rem);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s ease;
}

body.login-page .social-btn:hover {
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.06);
    transform: translateY(-1px);
}

body.login-page .social-btn--google svg {
    flex-shrink: 0;
}

body.login-page .social-btn--apple i {
    font-size: 1.15rem;
}

/* Login footer */
body.login-page .login-footer {
    margin-top: 2rem;
}

body.login-page .login-footer-actions {
    justify-content: center !important;
}

body.login-page .login-footer-actions .sign-in-link {
    text-align: center;
}

body.login-page .login-footer-actions .sign-in-link a {
    color: var(--color-cyan);
    transition: color 0.25s ease;
}

body.login-page .login-footer-actions .sign-in-link a:hover {
    color: var(--color-gold-light);
}

/* ===== Responsive ===== */
@media (max-width: 576px) {
    body.login-page .login-form-container {
        max-width: 100%;
    }

    body.login-page .login-options {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }

    body.login-page .btn-sign-in {
        padding: 0.95rem 1.5rem;
    }
}

/* ===== Forgot-password page ===== */
/* ===== Forgot Password Page Styles ===== */

body.forgot-password-page .forgot-form-container {
    max-width: 34rem;
}

body.forgot-password-page .forgot-card {
    animation: registerFadeSlideIn 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

body.forgot-password-page .forgot-header {
    margin-bottom: 1.75rem;
}

body.forgot-password-page .forgot-description {
    margin: -0.75rem 0 0;
    font-family: var(--font-nav);
    font-size: clamp(0.72rem, 1vw, 0.85rem);
    line-height: 1.6;
    color: rgba(248, 250, 252, 0.55);
}

body.forgot-password-page .forgot-description strong {
    color: var(--color-cyan);
    font-weight: 600;
}

/* Step Wizard Container */
body.forgot-password-page .reset-step {
    display: none;
    animation: registerFadeSlideIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

body.forgot-password-page .reset-step.active {
    display: block;
}

/* OTP Digit Inputs */
body.forgot-password-page .otp-container {
    margin: 1.25rem 0 1.5rem;
}

body.forgot-password-page .otp-label {
    display: block;
    margin-bottom: 0.65rem;
    font-family: var(--font-nav);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: var(--color-gold-light);
    text-transform: uppercase;
}

body.forgot-password-page .otp-inputs {
    display: flex;
    gap: 0.5rem;
    justify-content: space-between;
}

body.forgot-password-page .otp-digit {
    width: clamp(2.4rem, 6vw, 3.2rem);
    height: clamp(2.8rem, 7vw, 3.6rem);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.03);
    color: var(--color-white);
    font-family: var(--font-nav);
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    font-weight: 700;
    text-align: center;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    outline: none;
}

body.forgot-password-page .otp-digit:focus {
    border-color: var(--color-gold);
    background: rgba(201, 154, 75, 0.08);
    box-shadow: 0 0 0 3px rgba(201, 154, 75, 0.2);
    transform: translateY(-2px);
}

body.forgot-password-page .otp-digit.filled {
    border-color: rgba(69, 178, 209, 0.4);
    background: rgba(69, 178, 209, 0.05);
}

/* Resend Code Section */
body.forgot-password-page .otp-resend {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.85rem;
    font-family: var(--font-nav);
    font-size: clamp(0.7rem, 0.9vw, 0.78rem);
    color: rgba(248, 250, 252, 0.5);
}

body.forgot-password-page .resend-btn {
    border: none;
    background: transparent;
    color: var(--color-cyan);
    font-family: var(--font-nav);
    font-size: clamp(0.7rem, 0.9vw, 0.78rem);
    font-weight: 600;
    cursor: pointer;
    padding: 0;
    transition: all 0.2s ease;
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.forgot-password-page .resend-btn:hover:not(:disabled) {
    color: var(--color-gold-light);
}

body.forgot-password-page .resend-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    text-decoration: none;
}

body.forgot-password-page .countdown-timer {
    font-weight: 600;
    color: var(--color-gold-light);
}

/* Change Email Link */
body.forgot-password-page .change-email-btn {
    background: none;
    border: none;
    color: var(--color-cyan);
    font-size: inherit;
    font-family: inherit;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    padding: 0;
    margin-left: 0.35rem;
    transition: color 0.2s ease;
}

body.forgot-password-page .change-email-btn:hover {
    color: var(--color-gold-light);
}

/* Password Strength Meter */
body.forgot-password-page .password-strength-wrap {
    margin-top: 0.5rem;
}

body.forgot-password-page .strength-bar-bg {
    height: 4px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: 0.4rem;
}

body.forgot-password-page .strength-bar {
    height: 100%;
    width: 0%;
    border-radius: 2px;
    transition: width 0.3s ease, background-color 0.3s ease;
}

body.forgot-password-page .strength-bar.weak {
    width: 33%;
    background-color: #ef4444;
}

body.forgot-password-page .strength-bar.medium {
    width: 66%;
    background-color: #f59e0b;
}

body.forgot-password-page .strength-bar.strong {
    width: 100%;
    background-color: #10b981;
}

body.forgot-password-page .strength-text {
    font-family: var(--font-nav);
    font-size: 0.68rem;
    font-weight: 500;
    color: rgba(248, 250, 252, 0.45);
    display: flex;
    justify-content: space-between;
}

body.forgot-password-page .strength-label {
    font-weight: 600;
}

body.forgot-password-page .strength-label.weak { color: #ef4444; }
body.forgot-password-page .strength-label.medium { color: #f59e0b; }
body.forgot-password-page .strength-label.strong { color: #10b981; }

/* Success State */
body.forgot-password-page .reset-success-card {
    text-align: center;
    padding: 1rem 0;
}

body.forgot-password-page .success-icon-wrap {
    width: 4.5rem;
    height: 4.5rem;
    margin: 0 auto 1.5rem;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(69, 178, 209, 0.2) 0%, rgba(201, 154, 75, 0.2) 100%);
    border: 2px solid var(--color-cyan);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: 0 0 25px rgba(69, 178, 209, 0.3);
    animation: forgotPulseGlow 2s infinite ease-in-out;
}

body.forgot-password-page .success-icon-wrap i {
    font-size: 1.85rem;
    color: var(--color-cyan);
}

@keyframes forgotPulseGlow {
    0%, 100% {
        box-shadow: 0 0 20px rgba(69, 178, 209, 0.25);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 35px rgba(69, 178, 209, 0.5);
        transform: scale(1.05);
    }
}

body.forgot-password-page .success-title {
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 2.5vw, 1.8rem);
    color: var(--color-white);
    margin-bottom: 0.75rem;
    letter-spacing: 0.03em;
}

body.forgot-password-page .success-desc {
    font-family: var(--font-nav);
    font-size: clamp(0.75rem, 1vw, 0.88rem);
    line-height: 1.6;
    color: rgba(248, 250, 252, 0.6);
    margin-bottom: 2rem;
}

/* Toast alert notification */
body.forgot-password-page .toast-notice {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    background: #0b1a2d;
    border: 1px solid var(--color-cyan);
    border-radius: 0.5rem;
    padding: 0.85rem 1.25rem;
    color: var(--color-white);
    font-family: var(--font-nav);
    font-size: 0.82rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    z-index: 9999;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

body.forgot-password-page .toast-notice.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

body.forgot-password-page .toast-notice.error {
    border-color: #ef4444;
}

body.forgot-password-page .toast-notice.error i {
    color: #ef4444;
}

body.forgot-password-page .toast-notice.success i {
    color: var(--color-cyan);
}

/* Back button in footer */
body.forgot-password-page .btn-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(248, 250, 252, 0.55);
    font-family: var(--font-nav);
    font-size: clamp(0.72rem, 0.95vw, 0.82rem);
    text-decoration: none;
    transition: color 0.2s ease;
}

body.forgot-password-page .btn-back-link:hover {
    color: var(--color-gold-light);
}

/* Responsive adjustments */
@media (max-width: 576px) {
    body.forgot-password-page .forgot-form-container {
        max-width: 100%;
    }

    body.forgot-password-page .otp-inputs {
        gap: 0.35rem;
    }

    body.forgot-password-page .otp-digit {
        height: 2.8rem;
        font-size: 1.1rem;
    }

    body.forgot-password-page .toast-notice {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
    }
}

/* Gentle shared motion and animated form feedback */
html {
    scroll-behavior: smooth;
}

html.js body:not(.point3-page) main,
html.js .point3-page #p3-root > main:not(.p3-loading) {
    animation: idlPageEnter 440ms cubic-bezier(.22, 1, .36, 1) both;
}

.idl-motion-reveal {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 520ms cubic-bezier(.22, 1, .36, 1), transform 520ms cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--idl-motion-delay, 0ms);
    will-change: opacity, transform;
}

.idl-motion-reveal.is-motion-visible {
    opacity: 1;
    transform: translateY(0);
}

:where(.idl-button, .btn, button, .idl-card-link, .p3-social-link, .p3-contact-list a) {
    transition-timing-function: cubic-bezier(.22, 1, .36, 1);
}

:where(input, select, textarea).idl-field-valid,
:where(input, select, textarea).idl-field-invalid {
    transition: border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

:where(input, select, textarea).idl-field-valid:not(:focus) {
    border-color: rgba(0, 151, 178, .48) !important;
}

:where(input, select, textarea).idl-field-invalid {
    border-color: rgba(239, 100, 100, .76) !important;
    box-shadow: 0 0 0 .16rem rgba(209, 67, 67, .1) !important;
}

.idl-field-feedback {
    display: flex;
    width: 100%;
    align-items: center;
    gap: .4rem;
    margin-top: .45rem;
    color: #f3a7a7 !important;
    font-size: .68rem;
    font-weight: 600;
    line-height: 1.45;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity 200ms ease, transform 200ms ease;
}

.idl-field-feedback::before {
    content: "!";
    display: inline-grid;
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: .58rem;
}

.idl-field-feedback.is-visible {
    opacity: 1;
    transform: translateY(0);
}

dialog#gallery-lightbox[open] {
    animation: idlModalEnter 300ms cubic-bezier(.22, 1, .36, 1) both;
}

dialog#gallery-lightbox[open]::backdrop {
    animation: idlBackdropEnter 260ms ease both;
}

dialog#gallery-lightbox.is-closing {
    animation: idlModalLeave 220ms ease both;
}

@keyframes idlPageEnter {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes idlModalEnter {
    from { opacity: 0; transform: translateY(12px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes idlModalLeave {
    from { opacity: 1; transform: translateY(0) scale(1); }
    to { opacity: 0; transform: translateY(8px) scale(.99); }
}

@keyframes idlBackdropEnter {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    html.js body:not(.point3-page) main,
    html.js .point3-page #p3-root > main:not(.p3-loading),
    dialog#gallery-lightbox[open],
    dialog#gallery-lightbox[open]::backdrop,
    dialog#gallery-lightbox.is-closing {
        animation: none !important;
    }
    .idl-motion-reveal,
    .idl-motion-reveal.is-motion-visible,
    .idl-field-feedback {
        opacity: 1;
        transform: none;
        transition: none !important;
    }
}

/* Source: resources/css/public/responsive.css */
/* ===== Responsive rules for Home, Schedule, Speaker Profile, Courses and Course Details ===== */
/* Responsive and user-preference rules moved from main.css. */
@media (prefers-reduced-motion: reduce) {
    html{
        scroll-behavior: auto;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) *,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) *::before,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) *::after{
        transition-duration: 0.01ms !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) [data-aos]{
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Cart page responsive layout */
@media (max-width: 991.98px) {
    .cart-main.inner-page-hero::before {
        inset: 0 0 auto;
        height: clamp(28rem, 72vw, 40rem);
        background-position: center top;
        background-size: cover;
        opacity: 0.62;
        -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 44%, rgba(0, 0, 0, 0.72) 62%, transparent 100%);
        mask-image: linear-gradient(to bottom, #000 0%, #000 44%, rgba(0, 0, 0, 0.72) 62%, transparent 100%);
    }

    .cart-main.inner-page-hero::after {
        background: linear-gradient(180deg, rgba(1, 9, 18, 0.06) 0%, rgba(1, 9, 18, 0.42) 18rem, #010912 38rem, #010912 100%);
    }

    .cart-checkout-layout {
        grid-template-columns: 1fr;
    }

    .cart-summary-column {
        position: static;
        grid-template-columns: minmax(0, 1.15fr) minmax(15rem, 0.85fr);
    }
}

@media (max-width: 767.98px) {
    .cart-main {
        padding: 8rem 0 4rem;
    }

    .cart-checkout-layout {
        gap: 1.5rem;
    }

    .cart-summary-column {
        grid-template-columns: 1fr;
    }

    .cart-page .related-courses {
        margin-top: 3.5rem;
    }
}

@media (max-width: 576px) {
    html {
        font-size: 18px;
    }

    body :is(.container, .container-fluid) {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important;
    }

    .cart-main.inner-page-hero::before {
        height: 31rem;
        background-position: 58% top;
    }

    .cart-main.inner-page-hero::after {
        background: linear-gradient(180deg, rgba(1, 9, 18, 0.08) 0%, rgba(1, 9, 18, 0.48) 14rem, #010912 29rem, #010912 100%);
    }

    .cart-main {
        padding-top: 7rem;
    }

    .cart-heading p {
        margin-left: 1.55rem;
        font-size: 0.55rem;
    }

    .cart-heading h1 i {
        width: 2.1rem;
        height: 2.1rem;
        margin-right: 0.6rem;
        flex-basis: 2.1rem;
    }

    .cart-item {
        min-height: 6rem;
        padding: 0.6rem 2.25rem 0.6rem 0.6rem;
        grid-template-columns: 4.25rem minmax(0, 1fr);
        gap: 0.7rem;
    }

    .cart-item>img {
        width: 4.25rem;
        height: 4.1rem;
    }

    .cart-item-copy h3 {
        font-size: 0.67rem;
    }

    .cart-item-copy p {
        font-size: 0.5rem;
    }

    .cart-quantity {
        right: 0.45rem;
        bottom: 0.4rem;
    }

    .cart-quantity button,
    .cart-quantity output {
        width: 1.7rem;
    }

    .saved-course {
        grid-template-columns: 3.5rem minmax(0, 1fr) auto;
        gap: 0.6rem;
    }

    .saved-course>img {
        width: 3.5rem;
        height: 3.1rem;
    }

    .saved-course h3 {
        font-size: 0.64rem;
    }

    .cart-summary,
    .cart-includes {
        padding: 1rem;
    }

    .cart-trust-grid {
        margin-right: -1rem;
        margin-bottom: -1rem;
        margin-left: -1rem;
    }

    .cart-trust-grid small {
        font-size: 0.52rem;
    }
}

@media (max-width: 991.98px) {
    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) :is(.home-page, .schedule-page, .courses-page, .speaker-profile-page, .course-details-page) :is(.container, .container-fluid){
        width: 100%;
        max-width: none;
        padding-right: clamp(1.25rem, 4vw, 2.5rem);
        padding-left: clamp(1.25rem, 4vw, 2.5rem);
    }
}

@media (max-width: 991.98px) {
    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-main{
        padding-top: 8.5rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-layout{
        grid-template-columns: 1fr;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-media,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-column,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-content{
        grid-column: 1;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-media{
        grid-row: 1;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-column{
        grid-row: 2;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-content{
        grid-row: 3;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-stack{
        position: static;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-facts{
        grid-template-columns: 1fr;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module{
        padding-inline: clamp(0.85rem, 2vw, 1.15rem);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module summary{
        display: grid;
        grid-template-columns: 0.55rem minmax(0, 1fr) auto;
        min-height: 0;
        align-items: center;
        column-gap: 0.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module summary::before{
        margin: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module summary>span{
        min-width: 0;
        margin-right: 0;
        line-height: 1.35;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module summary small,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module time{
        flex-shrink: 0;
        white-space: nowrap;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module ol{
        padding: 0.9rem 0 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module li{
        align-items: flex-start;
        gap: 0.75rem;
        line-height: 1.4;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module li span{
        min-width: 0;
        align-items: flex-start;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module li i{
        flex: 0 0 auto;
        margin-top: 0.2rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module time{
        min-width: 3.25rem;
        text-align: right;
    }
}

@media (min-width: 460.01px) and (max-width: 991.98px) {
    .home-page .hero{
        min-height: fit-content;
    }

    .home-page .site-navbar,
.home-page .hero-content,
.home-page .event-panel{
        position: static;
    }

    .home-page .site-navbar{
        inset: auto;
    }

    .home-page .hero-content{
        z-index: auto;
    }

    .home-page .hero-content .row{
        min-height: auto !important;
        padding-bottom: 0;
    }

    .home-page .hero-copy{
        margin-top: clamp(2rem, 5vw, 3rem);
        margin-bottom: clamp(2rem, 5vw, 3rem);
    }

    .home-page .event-panel{
        right: auto;
        bottom: auto;
        left: auto;
        width: auto;
        margin: 0 var(--container-gutter) 2rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero.inner-page-hero::before{
        opacity: 0.58;
        background-position: center center;
        background-size: cover;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero.inner-page-hero::after{
        background: linear-gradient(180deg,
                rgba(1, 9, 18, 0.08) 0%,
                rgba(1, 9, 18, 0.34) 25%,
                rgba(1, 9, 18, 0.88) 62%,
                #010912 84%);
    }
}

@media (max-width: 767.98px) {
    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-hero h1{
        font-size: clamp(2rem, 6.2vw, 3rem);
        line-height: 1.06;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) #course-detail-title br{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-media,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-media>img{
        min-height: 19rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-learning-grid,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-audience-grid{
        grid-template-columns: 1fr;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-section-heading{
        align-items: flex-start;
        flex-direction: column;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-instructor-profile{
        grid-template-columns: 1fr;
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-instructor-profile>img{
        margin-inline: auto;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-instructor-profile ul{
        justify-content: center;
    }

}

@media (max-width: 576px) {
    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-main{
        padding: 5rem 0 4rem;
    }

    .course-details-page .course-detail-main.inner-page-hero::before{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-container{
        display: grid;
        gap: 0;
    }

    .course-details-page :is(.course-detail-hero, .course-detail-media, .course-booking-column)[data-aos]{
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-layout{
        display: contents;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-media{
        grid-column: 1;
        grid-row: 1;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-hero{
        grid-column: 1;
        grid-row: 2;
        margin: 0;
        padding: 1rem 0 1.25rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-column{
        grid-column: 1;
        grid-row: 3;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-content{
        grid-column: 1;
        grid-row: 4;
        margin-top: 2rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .related-courses{
        grid-column: 1;
        grid-row: 5;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-mobile-badges{
        display: flex;
        margin-bottom: 0.7rem;
        align-items: center;
        gap: 0.35rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-mobile-badges span{
        padding: 0.25rem 0.75rem;
        border: 1px solid rgba(0, 151, 178, 0.32);
        border-radius: 999px;
        color: rgba(205, 220, 232, 0.68);
        background: rgba(8, 28, 44, 0.78);
        font-size: 0.75rem;
        line-height: 1;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-mobile-badges span:first-child{
        border-color: var(--color-cyan);
        color: #00101c;
        background: var(--color-cyan);
        font-weight: 700;
        text-transform: uppercase;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-hero h1{
        font-size: clamp(1.65rem, 8.5vw, 2.2rem);
        letter-spacing: 0;
        line-height: 1.04;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-hero>p{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-meta{
        margin-top: 0.85rem;
        align-items: center;
        flex-direction: row;
        gap: 0.75rem;
    }




    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-rating{
        display: none !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-media,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-media>img{
        min-height: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-media{
        width: auto;
        max-width: none;
        margin-inline: calc(50% - 50vw);
        aspect-ratio: 1.5 / 1;
        border: 0;
        border-radius: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-media>img{
        position: absolute;
        inset: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-media>button{
        width: 2.75rem;
        height: 2.75rem;
        border: 1px solid rgba(255, 255, 255, 0.76);
        background: rgba(0, 151, 178, 0.7);
        box-shadow: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-stack{
        gap: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-card{
        display: grid;
        padding: 0;
        grid-template-columns: minmax(0, 1fr) 2.85rem;
        gap: 0.7rem;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-facts{
        grid-column: 1 / -1;
        grid-row: 1;
        min-height: 7rem;
        padding: 1rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: center;
        gap: 1rem 1.15rem;
        border: 1px solid rgba(126, 152, 170, 0.28);
        border-radius: 0.65rem;
        background: rgba(2, 15, 27, 0.52);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-facts li{
        min-width: 0;
        align-items: flex-start;
        flex-direction: column;
        justify-content: flex-start;
        gap: 0.3rem;
        font-size: 0.7rem;
        line-height: 1.35;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-facts li span{
        width: 100%;
        align-items: center;
        gap: 0.4rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-facts img{
        display: block;
        width: 1.15rem;
        height: 1.15rem;
        flex: 0 0 1.15rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-facts strong{
        padding-left: 1.55rem;
        font-size: 0.78rem;
        line-height: 1.3;
        text-align: left;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-price{
        grid-column: 1 / -1;
        grid-row: 2;
        padding-top: 0.65rem;
        gap: 0.55rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-price strong{
        font-size: 1.65rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-price strong::before{
        content: none;
    }





    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-price small{
        padding: 0.2rem 0.35rem;
        font-size: 0.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-offer-timer,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-cart-button,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-status-note,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-includes,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-share-card{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-buy-button{
        grid-column: 1;
        grid-row: 3;
        min-height: 2.65rem;
        margin: 0;
        border: 0;
        border-radius: 0.45rem;
        color: #00101c;
        background: #62d3ed;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-buy-button::before{
        content: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-buy-cart-icon{
        display: block;
        width: 0.95rem;
        height: 0.95rem;
        margin-right: 0.45rem;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-actions{
        display: block;
        grid-column: 2;
        grid-row: 3;
        margin: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-actions button:first-child{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-actions button:last-child{
        display: flex;
        width: 100%;
        min-height: 2.65rem;
        padding: 0;
        align-items: center;
        justify-content: center;
        border-color: var(--color-cyan);
        border-radius: 0.45rem;
        color: var(--color-cyan);
        font-size: 0;
        line-height: 1;
        gap: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-actions button:last-child .gift-outline-icon{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-booking-actions button:last-child .course-save-icon{
        display: block;
        width: 1rem;
        height: 1rem;
        margin: auto;
        flex: 0 0 1rem;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-tabs{
        gap: 1.25rem;

    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-tabs a{
        font-size: 0.875rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-section h2,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-section-heading h2,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .related-courses>.course-detail-section-heading h2{
        font-size: 1.5rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-content>.course-detail-section[hidden]{
        display: none !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .related-courses,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .related-courses-slider{
        min-width: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .related-courses-slider{
        width: 100%;
        overflow: hidden;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .related-courses-grid:not(.swiper-wrapper){
        display: flex;
        margin: 0;
        overflow-x: auto;
        flex-wrap: nowrap;
        gap: 14px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .related-courses-grid:not(.swiper-wrapper)::-webkit-scrollbar{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .related-courses-grid:not(.swiper-wrapper)>[class*="col-"]{
        width: calc((100% - 2.8px) / 1.2);
        max-width: none;
        padding: 0;
        flex: 0 0 calc((100% - 2.8px) / 1.2);
        scroll-snap-align: start;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .related-courses-grid.swiper-wrapper{
        margin: 0;
        flex-wrap: nowrap;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .related-courses-grid>[class*="col-"].swiper-slide{
        width: 100%;
        height: auto;
        padding: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .related-courses-grid>[data-aos]{
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module{
        padding-inline: 0.85rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module summary{
        grid-template-columns: 0.5rem minmax(0, 1fr);
        align-items: flex-start;
        row-gap: 0.35rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module summary small{
        grid-column: 2;
        width: auto;
        margin-left: 0;
        gap: 0.4rem;
        font-size: 0.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module ol{
        margin-bottom: 1rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module li{
        gap: 0.5rem;
        font-size: 0.8125rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .curriculum-module time{
        min-width: 3rem;
        font-size: 0.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-reviews-heading{
        align-items: flex-start;
        flex-direction: column;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-review-card{
        grid-template-columns: 1fr;
        padding: 1rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-review-card>img{
        width: 2.5rem;
        height: 2.5rem;
    }


    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-detail-section+.course-detail-section{
        border-top: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-hero-actions a{
        gap: 0.5rem;
    }



}



/* Keep content comfortably inset between tablet and wide desktop sizes. */
@media (min-width: 992px) and (max-width: 1300px) {
    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) :is(.home-page, .schedule-page, .courses-page, .speaker-profile-page, .course-details-page) .container{
        padding-right: clamp(2rem, 3vw, 2.5rem);
        padding-left: clamp(2rem, 3vw, 2.5rem);
    }
}

@media (max-width: 1200px) {
    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-row{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-row>time,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-row-featured .agenda-featured,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-row .agenda-featured{
        grid-column: 1 / -1;
    }
}

/* Desktop refinements */
@media (min-width: 1400px) {
    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .hero-copy{
        margin-left: 1.5rem;
    }
}

/* Tablet and Bootstrap navbar breakpoint */
@media (max-width: 991.98px) {
    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page){
        --container-gutter: clamp(1.25rem, 5vw, 3rem);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .contact-copy .section-title{
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .hero{
        background-image: url("../img/backgrounds/home-hero-tablet.png?v=4");
        background-position: center top;
        background-size: cover;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .site-navbar{
        min-height: 5rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .site-navbar .site-container{
        flex-wrap: wrap;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .site-navbar .brand-mark{
        order: 1;
        margin-right: auto;
        margin-left: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .navbar-toggler{
        order: 2;
        margin-left: auto;
        width: 2rem;
        height: 2rem;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .navbar-toggler-icon{
        display: block;
        width: 1.6rem;
        height: 1.6rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .navbar-collapse{
        width: 100%;
        order: 3;
        margin-top: 0.9rem;
        padding: 1rem;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: var(--radius-md);
        background: rgba(3, 20, 33, 0.97);
        box-shadow: var(--shadow-soft);
        backdrop-filter: blur(16px);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .site-navbar .navbar-nav{
        align-items: stretch !important;
        gap: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .site-navbar .nav-link{
        padding: 0.7rem 0.25rem !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .site-navbar .nav-link::after{
        right: auto;
        left: 0.25rem;
        width: 2rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .btn-register{
        display: inline-block;
        margin-top: 0.6rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .hero-content .row{
        align-items: flex-start !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .hero-copy{
        width: min(100%, 38rem);
        margin-top: 8.5rem;
        padding-top: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .event-panel{
        right: var(--container-gutter);
        bottom: 2rem;
        left: var(--container-gutter);
        width: auto;
        padding: 1.25rem;
    }

    .home-page .hero>.expertise-ticker{
        position: static;
        inset: auto;
        width: 100%;
        flex: 0 0 auto;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero{
        padding-top: 9rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-hero-panel{
        align-items: flex-start;
        margin-right: auto;
        margin-left: unset;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-hero-actions{
        justify-content: flex-start;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-controls{
        gap: 1.25rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-filter-fields{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-halls{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-row{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .tab-pane.is-hall-filtered .agenda-row{
        grid-template-columns: 1fr;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-row>time{
        grid-column: 1 / -1;
        padding-top: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-card-hall{
        display: inline-flex;
        width: fit-content;
        margin-bottom: 0.7rem;
        color: var(--color-cyan);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-row-featured .agenda-featured,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-row .agenda-featured{
        grid-column: 1 / -1;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-card{
        padding: 1.15rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile{
        padding-top: 8.5rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile-container>.row{
        flex-direction: column;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile-container>.row>.col-lg-9{
        display: contents;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile-container>.row>aside{
        order: 2;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile-container .speaker-identity-card,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile-container .profile-tabs,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile-container #speakerProfileTabContent{
        margin-inline: calc(var(--bs-gutter-x) * 0.5);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile-container .speaker-identity-card{
        order: 1;
        margin-top: clamp(1.5rem, 4vw, 3rem);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile-container .profile-tabs{
        order: 3;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile-container #speakerProfileTabContent{
        order: 4;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-catalog{
        padding-top: 8.5rem;
    }

    .courses-page .courses-catalog>.courses-container{
        z-index: auto;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-filter{
        --bs-offcanvas-width: min(22rem, 88vw);
        --bs-offcanvas-zindex: 1200;
        width: var(--bs-offcanvas-width);
        height: 100dvh;
        max-height: 100dvh;
        z-index: var(--bs-offcanvas-zindex);
        padding: 1.5rem;
        border-right: 1px solid rgba(0, 185, 220, 0.35);
        color: rgba(211, 225, 237, 0.72);
        background: #020e19;
        margin: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .offcanvas-backdrop{
        z-index: 1190;
        margin: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-filter-open .site-navbar{
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-filter-trigger-wrap{
        display: block;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-filter-trigger{
        width: auto;
        justify-content: flex-start;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-filter .filter-title{
        flex: 0 0 auto;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-filter-close{
        display: grid;
        width: 2.25rem;
        height: 2.25rem;
        margin-left: 0.35rem;
        padding: 0;
        place-items: center;
        border: 1px solid rgba(92, 225, 230, 0.28);
        border-radius: 50%;
        color: var(--color-white);
        background: transparent;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-filter .courses-filter-body{
        display: grid;
        min-height: 0;
        padding: 0;
        align-content: start;
        flex: 1 1 auto;
        overflow-x: hidden;
        overflow-y: auto;
        gap: 0.75rem;
        overscroll-behavior: contain;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-filter .courses-filter-body::-webkit-scrollbar{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-filter .filter-group-content{
        gap: 1rem;
    }
}

@media (max-width: 767.98px) {
    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-section{
        padding-block: 3.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-heading{
        margin-bottom: 2rem;
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: 20rem repeat(2, 12rem);
        min-height: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moment-card-featured{
        grid-column: 1 / -1;
        grid-row: auto;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .experience-section{
        padding-block: 3.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .experience-banner{
        min-height: 20rem;
        padding: 1.25rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .social-section,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .faq-section{
        padding-block: 3.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .social-card{
        min-height: 8rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .faq-section .section-title{
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .faq-accordion .accordion-button{
        min-height: 3.75rem;
        padding-inline: 1rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .faq-accordion .accordion-body{
        padding-inline: 1rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .contact-section{
        padding-block: 3.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .contact-copy{
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .contact-copy>.section-description br{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .contact-details{
        width: fit-content;
        margin-inline: auto;
        text-align: left;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .contact-socials{
        justify-content: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .venue-section{
        padding-top: 3.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .venue-heading .section-title em{
        display: block;
        margin-top: 0.3rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .venue-map{
        height: 25rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero{
        min-height: auto;
        padding: 8.5rem 0 3.5rem;
    }

    .schedule-page :is(.container, .container-fluid){
        padding-right: 1.25rem;
        padding-left: 1.25rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero h1{
        font-size: clamp(2.45rem, 10.7vw, 3.35rem);
        line-height: 1.05;
        letter-spacing: 0.02em;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-hero-actions{
        width: 100%;
        align-items: stretch;
        flex-direction: column;
        gap: 0.65rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-hero-actions a{
        width: 100%;
        flex: 0 0 auto;
        min-height: 3rem;
        padding: 0.7rem 0.85rem;
        font-size: 0.68rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .full-schedule{
        padding-top: 1.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-day-tabs{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-day-tabs .nav-item{
        display: flex;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-day-tabs .nav-link{
        min-width: 0;
        width: 100%;
        height: 100%;
        min-height: 5.75rem;
        padding: 0.75rem 0.5rem;
        align-items: center;
        white-space: nowrap;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-filter-fields{
        grid-template-columns: 1fr;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-filter-heading{
        align-items: flex-start;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-row{
        grid-template-columns: 1fr;
        gap: 0.75rem;
        margin-bottom: 2rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-row>time{
        padding-top: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-card{
        min-height: 18rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-avatar{
        left: 1.15rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-avatar+.agenda-avatar{
        left: 2.85rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-card>b.agenda-speakers-double{
        padding-left: 4.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-row-featured .agenda-featured,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-row .agenda-featured{
        grid-column: auto;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .agenda-featured h2{
        max-width: 100%;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile{
        padding-top: 8rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-identity-card{
        grid-template-columns: 6.5rem minmax(0, 1fr);
        padding: 1rem;
        gap: 1rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-photo-wrap{
        width: 6.5rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-socials{
        grid-column: 2;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-name-line h1{
        font-size: clamp(1.7rem, 7vw, 2.5rem);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-section-heading{
        align-items: flex-start;
        flex-direction: column;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .inner-content-page{
        --inner-hero-height: 28rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-hero h1{
        font-size: clamp(2.7rem, 10vw, 4.5rem);
    }
}

/* Mobile */
@media (max-width: 576px) {
    .schedule-page .site-navbar{
        min-height: 5.5rem;
        padding-top: max(1rem, env(safe-area-inset-top));
    }

    .schedule-page .site-navbar .site-container{
        flex-wrap: wrap;
    }

    .schedule-page .brand-mark{
        order: 1;
        margin-right: auto;
        margin-left: 0;
    }

    .schedule-page .brand-mark img{
        width: 3.6rem;
        height: auto;
    }

    .schedule-page .navbar-toggler{
        order: 2;
        margin-left: auto;
        padding: 0;
        border: 0;
    }

    .schedule-page .navbar-toggler-icon{
        width: 1.65rem;
        height: 1.65rem;
    }

    .schedule-page .navbar-collapse{
        width: 100%;
        order: 3;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero{
        display: flex;
        min-height: max(42rem, 100svh);
        padding: 10.5rem 0 5rem;
        align-items: flex-start;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero>.container{
        position: static;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero.inner-page-hero::before{
        opacity: 0.52;
        background-position: center top;
        background-size: cover;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero.inner-page-hero::after{
        background: linear-gradient(180deg, rgba(1, 9, 18, 0.18) 0%, rgba(1, 9, 18, 0.7) 58%, #010912 100%);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero .row{
        --bs-gutter-y: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero .row>div:first-child{
        position: absolute;
        top: calc(50% - 2rem);
        right: 1.25rem;
        left: 1.25rem;
        z-index: 1;
        width: auto;
        padding: 0;
        text-align: center;
        transform: translateY(-50%);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero .row>div:first-child::before{
        content: "Scientific programme preview";
        display: inline-flex;
        min-height: 1.85rem;
        margin-bottom: 1.65rem;
        padding: 0.35rem 0.95rem;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(92, 225, 230, 0.62);
        border-radius: var(--radius-pill);
        color: #5ce1e6;
        background: rgba(31, 77, 97, 0.54);
        font-size: clamp(0.58rem, 2.6vw, 0.72rem);
        font-weight: 500;
        letter-spacing: 0.16em;
        line-height: 1;
        text-transform: uppercase;
        max-width: 100%;
        white-space: normal;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero h1{
        white-space: normal;
        overflow-wrap: anywhere;
        font-size: clamp(2.35rem, 10.7vw, 3.35rem);
        line-height: 1.05;
        letter-spacing: 0.02em;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero h1 br{
        display: block;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero p{
        max-width: 29rem;
        margin: 1.65rem auto 0;
        font-size: clamp(0.95rem, 4.2vw, 1.22rem);
        line-height: 1.38;
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero .row>div:last-child{
        position: absolute;
        right: 1.25rem;
        bottom: max(1.35rem, env(safe-area-inset-bottom));
        left: 1.25rem;
        z-index: 1;
        width: auto;
        padding: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero .schedule-hero-panel{
        display: flex;
        width: 100%;
        align-items: stretch;
        gap: 1.25rem;
        margin: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero .schedule-hero-actions{
        display: grid;
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
        gap: 0.5rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero .schedule-hero-actions a{
        width: 100%;
        min-height: 3rem;
        padding: 0.65rem 0.55rem;
        border-color: rgba(168, 189, 204, 0.4);
        border-radius: var(--radius-pill);
        color: #d2e4ff;
        background: rgba(1, 9, 18, 0.58);
        box-shadow: none;
        font-size: clamp(0.62rem, 2.8vw, 0.75rem);
        letter-spacing: 0.1em;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero .schedule-hero-actions a:last-child{
        color: #d2e4ff;
        border-color: rgba(168, 189, 204, 0.4);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero .schedule-hero-actions a i,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-page-hero .schedule-hero-actions a:last-child i{
        color: #d2e4ff;
    }

    .schedule-page .schedule-day-tabs .nav-link{
        font-size: 0.9rem;
    }

    .schedule-page .schedule-day-tabs .nav-link small{
        font-size: 0.65rem;
    }

    .schedule-page .schedule-filter-panel{
        padding: 1rem;
    }

    .schedule-page .schedule-filter-heading{
        align-items: stretch;
        flex-direction: column;
    }

    .schedule-page .schedule-filter-reset{
        align-self: flex-start;
    }

    .schedule-page .agenda-row>time{
        font-size: 0.88rem;
        font-weight: 500;
    }

    .schedule-page .agenda-card{
        min-height: 17.5rem;
        padding: 1.45rem;
        border-radius: 1rem;
    }

    .schedule-page .agenda-card>small{
        margin-bottom: 1.1rem;
        font-size: 0.82rem;
    }

    .schedule-page .agenda-card h2{
        max-width: 100%;
        font-size: clamp(1.12rem, 5vw, 1.42rem);
        line-height: 1.22;
    }

    .schedule-page .agenda-card>p{
        font-size: clamp(0.85rem, 3.8vw, 0.98rem);
        line-height: 1.5;
    }

    .schedule-page .agenda-card>b{
        min-height: 3.35rem;
        padding-left: 4rem;
        font-size: 0.9rem;
    }

    .schedule-page .agenda-card>b small{
        font-size: 0.72rem;
    }

    .schedule-page .agenda-card>b.agenda-speakers-double{
        padding-left: 6.25rem;
    }

    .schedule-page .agenda-card .agenda-badge{
        top: 1.45rem;
        right: 1.45rem;
        max-width: 58%;
        padding: 0.42rem 0.75rem;
        border: 0;
        border-radius: 0.4rem;
        font-size: clamp(0.58rem, 2.7vw, 0.7rem);
        line-height: 1.1;
        text-align: center;
        white-space: nowrap;
    }

    .schedule-page .agenda-featured{
        min-height: 21rem;
        border: 1px solid rgba(228, 191, 122, 0.55);
    }

    .schedule-page .agenda-featured .keynote-badge{
        position: static;
        width: 100%;
        max-width: none;
        margin-bottom: 1.15rem;
        padding: 0.55rem 0.75rem;
        justify-content: flex-start;
        border: 0;
        border-radius: 0.4rem;
        font-size: clamp(0.58rem, 2.7vw, 0.68rem);
        text-align: left;
        white-space: normal;
    }

    .schedule-page .agenda-featured h2{
        font-size: clamp(1.65rem, 7.2vw, 2.1rem);
        line-height: 1.08;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .hero{
        display: flex;
        min-height: auto;
        padding-bottom: 0;
        flex-direction: column;
        background-image: url("../img/backgrounds/home-hero-mobile.png?v=4");
        background-position: center;
        background-size: contain;
    }

    .home-page .hero>.expertise-ticker{
        padding-bottom: env(safe-area-inset-bottom);
    }

    .home-page .site-navbar{
        min-height: 5.5rem;
        padding-top: max(1rem, env(safe-area-inset-top));
    }

    .home-page .brand-mark img{
        width: 3.6rem;
        height: auto;
    }

    .home-page .navbar-toggler{
        width: 2rem;
        height: 2rem;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .home-page .navbar-toggler-icon{
        display: block;
        width: 1.6rem;
        height: 1.6rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .hero-content .row{
        min-height: 0 !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .hero-copy{
        width: min(73vw, 19rem);
        margin-top: 8.75rem;
        margin-bottom: clamp(6.5rem, 28vw, 8rem);
        margin-left: 0;
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .hero-kicker{
        margin-bottom: 0.1rem;
        font-size: clamp(0.88rem, 4vw, 1.08rem);
        letter-spacing: 0.22em;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .hero h1{
        font-size: clamp(3rem, 15vw, 4.25rem);
        line-height: 0.86;

    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .country-title{
        justify-content: center;
        margin-top: 0.75rem;
        gap: 0.65rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .country-title span{
        width: 1.4rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .country-title b{
        font-size: 1.25rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .hero-subtitle{
        margin-top: 0.65rem;
        font-size: clamp(0.55rem, 2.2vw, 0.7rem);
        letter-spacing: 0.1em;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .event-panel{
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        width: auto;
        margin: 0 1.25rem 1.35rem;
        padding: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .event-panel::before{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .event-meta{
        display: grid;
        min-height: 10rem;
        margin-bottom: 0.65rem;
        padding: 1rem 1.25rem 1rem 3.25rem;
        grid-template-columns: 1fr;
        grid-template-rows: repeat(3, 1fr);
        border-color: rgba(213, 171, 93, 0.72);
        border-radius: 1.25rem;
        background: rgba(1, 12, 21, 0.82);
        box-shadow: inset 0 0 2rem rgba(0, 0, 0, 0.18);
        backdrop-filter: blur(12px);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .event-meta::before{
        content: "\25F7\00a0\00a0\00a0 08:00 AM \2014  06:00 PM";
        grid-row: 2;
        align-self: center;
        margin-left: -1.8rem;
        color: transparent;
        background: linear-gradient(90deg, var(--color-gold-light) 0 1rem, rgba(238, 241, 246, 0.88) 1rem 100%);
        background-clip: text;
        -webkit-background-clip: text;
        font-family: var(--font-nav);
        font-size: clamp(0.9rem, 4vw, 1.1rem);
        font-weight: 400;
        letter-spacing: 0.02em;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .event-meta::after{
        top: 2.05rem;
        bottom: 2.05rem;
        left: 1.85rem;
        background: rgba(201, 154, 75, 0.28);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .meta-item{
        width: 100%;
        align-items: center;
        justify-content: flex-start !important;
        gap: 0.75rem;
        font-size: clamp(0.82rem, 3.7vw, 1rem);
        text-align: left !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .meta-item:first-child{
        grid-row: 1;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .meta-item:last-child{
        grid-row: 3;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .meta-item i{
        position: absolute;
        left: 1.35rem;
        font-size: 1rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .meta-item:first-child i{
        color: var(--color-gold-light);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .event-meta .location-pin-outline{
        left: 1.4rem !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .panel-actions>div{
        width: 50%;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .event-action{
        min-height: 4.15rem;
        padding: 0.65rem 0.75rem;
        gap: 0.55rem;
        border-radius: 0.7rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .event-action>img{
        width: 1.25rem;
        height: 1.25rem;
        object-fit: contain;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .event-action b{
        font-size: clamp(0.7rem, 3vw, 0.86rem);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .event-action small{
        font-size: clamp(0.53rem, 2.35vw, 0.67rem);
        white-space: nowrap;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .action-arrow{
        font-size: 0.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .expertise-swiper{
        padding-block: 0.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .expertise-swiper .swiper-slide{
        gap: 1.5rem;
        padding-left: 1.5rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .quick-links{
        padding-block: 2rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .quick-links::before,
.home-page .section-title:not(.section-title--display){
        display: block;
        width: auto;
        padding-left: 3.25rem;
        color: var(--color-gold-light);
        background: linear-gradient(var(--color-gold-light), var(--color-gold-light)) left center / 2.5rem 1px no-repeat;
        font-family: "Anton", sans-serif !important;
        font-size: clamp(1.2rem, 5.3vw, 1.5rem);
        font-weight: 400 !important;
        letter-spacing: 0;
        line-height: 1.15;
        text-align: left;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .quick-links::before{
        content: "Quick Access";
        margin: 0 1.25rem 2rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .quick-links-slider.swiper{
        width: 100%;
        overflow: hidden;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .quick-links-grid.swiper-wrapper{
        margin: 0;
        flex-wrap: nowrap;
        justify-content: flex-start !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .quick-links-grid>.col.swiper-slide{
        width: 100%;
        height: auto;
        padding: 0;
    }

    .home-page .section-title:not(.section-title--display){
        margin-right: 0;
        margin-left: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .quick-link-card{
        min-height: 5.25rem;
        padding: 0.85rem 0.4rem;
        gap: 0.65rem;
        border-color: rgba(134, 151, 166, 0.22);
        border-radius: 0.45rem;
        background: linear-gradient(145deg, rgba(22, 29, 37, 0.96), rgba(12, 19, 26, 0.96));
        box-shadow: 0 0.35rem 0.8rem rgba(0, 0, 0, 0.14);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .quick-link-card img{
        width: 1.25rem;
        height: 1.25rem;
        object-fit: contain;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .quick-link-card>span{
        font-size: 0.82rem;
        font-weight: 500;
        letter-spacing: 0.03em;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .quick-link-card small{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-section{
        padding-block: 3.5rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-section .section-heading{
        text-align: left !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-section .section-title{
        max-width: calc(100% - 4.75rem);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-section .schedule-button{
        position: absolute;
        top: 0.15rem;
        right: 1.25rem;
        min-width: 0;
        margin: 0;
        padding: 0;
        overflow: visible;
        border: 0;
        border-radius: 0;
        color: rgba(255, 255, 255, 0.88);
        background: transparent;
        box-shadow: none;
        font-size: 0;
        font-weight: 400;
        line-height: 1;
        isolation: auto;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-section .schedule-button::before{
        content: "View all";
        font-size: 0.9rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-section .schedule-button::after{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-section .schedule-button:hover,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-section .schedule-button:focus{
        color: var(--color-gold-light);
        border-color: transparent;
        background: transparent;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-tabs{
        margin-block: 1.5rem;
        gap: 0.4rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-tabs .nav-link{
        min-width: auto;
        padding: 0.55rem 0.9rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-content{
        min-height: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-day-slider.swiper{
        width: 100%;
        overflow: hidden;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-day-grid.swiper-wrapper{
        align-items: stretch;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-day-grid>.schedule-item.swiper-slide{
        width: 100%;
        height: auto;
        margin-bottom: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-item{
        grid-template-columns: 1fr auto;
        gap: 0.5rem 1rem;
        padding: 0.9rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-item time{
        grid-column: 1 / -1;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-item h3{
        font-size: 0.84rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .schedule-type{
        min-width: 4rem;
        padding-inline: 0.45rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .workshops-section{
        padding-block: 3.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .workshops-heading{
        position: relative;
        margin-bottom: 2.25rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .workshops-heading .section-title{
        max-width: calc(100% - 4.5rem);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .workshops-heading .section-description{
        text-align: left;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .workshops-heading .workshops-view-all{
        position: absolute;
        top: 0.15rem;
        right: 0;
        min-width: 0;
        margin: 0;
        padding: 0;
        overflow: visible;
        border: 0;
        border-radius: 0;
        color: rgba(255, 255, 255, 0.88);
        background: transparent;
        box-shadow: none;
        font-size: 0.9rem;
        font-weight: 400;
        line-height: 1;
        isolation: auto;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .workshops-heading .workshops-view-all::after{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .workshops-heading .workshops-view-all:hover,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .workshops-heading .workshops-view-all:focus{
        color: var(--color-gold-light);
        border-color: transparent;
        background: transparent;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .workshops-slider.swiper{
        width: 100%;
        overflow: hidden;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .workshops-grid.swiper-wrapper{
        margin: 0;
        flex-wrap: nowrap;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .workshops-grid>[class*="col-"].swiper-slide{
        width: 100%;
        height: auto;
        padding: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .workshop-card{
        padding: 1rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-slider.swiper{
        width: 100%;
        overflow: hidden;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-grid.swiper-wrapper{
        display: flex;
        min-height: 0;
        margin: 0;
        gap: 0;
        grid-template-columns: none;
        grid-template-rows: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-grid>.moment-card.swiper-slide{
        width: 100%;
        height: clamp(12rem, 55vw, 16rem);
        flex-shrink: 0;
        grid-column: auto;
        grid-row: auto;
    }

    .speaker-profile-page .site-navbar{
        min-height: 4.5rem;
        padding-top: max(0.75rem, env(safe-area-inset-top));
    }

    .speaker-profile-page .site-navbar .site-container{
        flex-wrap: wrap;
    }

    .speaker-profile-page .brand-mark{
        order: 1;
        margin-right: auto;
        margin-left: 0;
    }

    .speaker-profile-page .brand-mark img{
        width: 2.7rem;
        height: auto;
    }

    .speaker-profile-page .navbar-toggler{
        order: 2;
        margin-left: auto;
        padding: 0;
        border: 0;
    }

    .speaker-profile-page .navbar-toggler-icon{
        width: 1.25rem;
        height: 1.25rem;
    }

    .speaker-profile-page .navbar-collapse{
        width: 100%;
        order: 3;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile{
        --inner-hero-height: 32rem;
        min-height: 0;
        padding: 6.25rem 0 4rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile-container>.row{
        --bs-gutter-x: 0;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile.inner-page-hero::before{
        height: var(--inner-hero-height);
        opacity: 0.16;
        background: url("../img/backgrounds/bento-bg.png?v=4") center 1rem / auto 30rem no-repeat;
        mix-blend-mode: color-dodge;
    }



    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile.inner-page-hero::after{
        height: var(--inner-hero-height);
        background: linear-gradient(180deg, rgba(1, 9, 18, 0.08) 0%, rgba(1, 9, 18, 0.12) 58%, #010912 100%);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile-container .speaker-identity-card{
        width: 100%;
        min-height: 0;
        margin: 0 auto;
        padding: 0;
        grid-template-columns: 1fr;
        gap: 0;
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-identity-card::after{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-photo-wrap{
        width: 7.5rem;
        margin-inline: auto;
        order: 1;
        padding: 0.16rem;
        border-width: 1px;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-identity-copy{
        display: contents;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-name-line{
        margin-top: 1rem;
        justify-content: center;
        order: 2;
        gap: 0.55rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-name-line h1{
        font-size: clamp(1.55rem, 7.2vw, 1.9rem);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-name-line span{
        padding: 0.22rem 0.42rem;
        border-radius: var(--radius-pill);
        font-size: 0.5rem;
        letter-spacing: 0.06em;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-identity-copy>p{
        max-width: 20rem;
        margin: 0.5rem auto 0;
        order: 3;
        font-size: 0.72rem;
        line-height: 1.55;
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-identity-copy>p i{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-socials{
        margin-top: 0.9rem;
        grid-column: auto;
        justify-content: center;
        justify-self: center;
        order: 4;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-socials a{
        width: 1.9rem;
        height: 1.9rem;
        font-size: 0.72rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-facts{
        display: grid;
        width: 100%;
        min-height: 3.85rem;
        margin-top: 1.25rem;
        padding: 0.55rem 0;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
        order: 5;
        gap: 0;
        border: 1px solid rgba(126, 152, 170, 0.4);
        border-radius: 0.85rem;
        background: rgba(1, 9, 18, 0.56);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-facts li{
        display: flex;
        min-width: 0;
        padding-inline: 0.35rem;
        justify-content: center;
        flex-direction: column;
        gap: 0.25rem;
        font-size: 0.72rem;
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-facts li+li{
        border-left: 1px solid rgba(126, 152, 170, 0.26);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-facts .speaker-rating{
        display: grid;
        grid-template-columns: auto auto;
        align-content: center;
        justify-content: center;
        gap: 0.2rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-facts .speaker-rating span{
        grid-column: 1 / -1;
        margin: 0;
        font-size: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-facts .speaker-rating span::after{
        content: "Peer Rating";
        color: rgba(210, 228, 255, 0.58);
        font-size: 0.5rem;
        font-weight: 500;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-facts li:nth-child(2) img{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-facts li:nth-child(2) span{
        font-size: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-facts li:nth-child(2) span::before{
        content: "42";
        color: var(--color-white);
        font-size: 0.78rem;
        font-weight: 800;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-facts li:nth-child(2)::after{
        content: "H-Index";
        color: rgba(210, 228, 255, 0.58);
        font-size: 0.5rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-facts::after{
        content: "12,450\A Citations";
        display: flex;
        padding-inline: 0.35rem;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        border-left: 1px solid rgba(126, 152, 170, 0.26);
        color: var(--color-white);
        font-size: 0.78rem;
        font-weight: 800;
        line-height: 1.65;
        white-space: pre;
        text-align: center;
        text-transform: uppercase;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile-container>.row>aside{
        width: 100%;
        margin: 1.5rem auto 0;
        padding-right: 0;
        padding-left: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-bio-panel{
        display: flex;
        padding: 0;
        flex-direction: column;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-bio-details{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-bio-panel.is-expanded .speaker-bio-details{
        display: block;
        margin-top: 0.75rem;
        padding: 1rem 0.9rem;
        border: 1px solid rgba(126, 152, 170, 0.3);
        border-radius: 0.85rem;
        background: rgba(1, 9, 18, 0.72);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-bio-panel h2{
        margin: 0;
        padding: 1.05rem 0.9rem;
        border: 1px solid rgba(126, 152, 170, 0.4);
        border-radius: 0.85rem;
        color: var(--color-cyan);
        background: rgba(1, 9, 18, 0.72);
        font-size: 1rem;
        text-align: left;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-bio-toggle{
        display: flex;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-bio-toggle::after{
        content: "";
        display: inline-block;
        flex: 0 0 auto;
        width: 0.5rem;
        height: 0.5rem;
        margin: -0.2rem 0.25rem 0 1rem;
        border-right: 2px solid #a0aec0;
        border-bottom: 2px solid #a0aec0;
        transform: rotate(45deg);
        transition: transform 180ms ease;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-bio-toggle[aria-expanded="true"]::after{
        margin-top: 0.25rem;
        transform: rotate(225deg);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-bio-toggle:focus-visible{
        outline: 2px solid var(--color-cyan);
        outline-offset: 0.35rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .speaker-profile-container .profile-tabs{
        width: 100%;
        margin: 1.5rem auto 0;
        padding: 0;
        overflow: hidden;
        border: 1px solid rgba(126, 152, 170, 0.42);
        border-radius: 0.9rem;
        background: rgba(1, 9, 18, 0.58);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .profile-tabs .nav{
        display: flex;
        width: 100%;
        gap: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .profile-tabs .nav-item{
        min-width: 0;
        flex: 1 1 50%;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .profile-tabs .nav-link{
        width: 100%;
        min-height: 2.65rem;
        padding: 0.7rem 0.5rem;
        color: #aeb8c6;
        font-size: 0.72rem;
        letter-spacing: 0.08em;
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .profile-tabs .nav-link:hover,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .profile-tabs .nav-link:focus,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .profile-tabs .nav-link.active{
        color: #d5dde8;
        background: rgba(13, 32, 54, 0.45);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .profile-tabs .nav-link::before{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .profile-tab-desktop-label{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .lecture-image{
        aspect-ratio: 2.2 / 1;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .abstract-section .speaker-section-heading{
        align-items: stretch;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .submission-select select{
        width: 100%;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .abstract-form{
        padding: 1.25rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .submission-owner>img{
        width: 2.75rem;
        height: 2.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .abstract-submit{
        width: 100%;
    }

    .courses-page .site-navbar{
        min-height: 4rem;
        padding-top: max(0.55rem, env(safe-area-inset-top));
    }

    .courses-page .site-navbar .site-container{
        flex-wrap: wrap;
    }

    .courses-page .brand-mark{
        order: 1;
        margin-right: auto;
        margin-left: 0;
    }

    .courses-page .brand-mark img{
        width: 2.65rem;
        height: auto;
    }

    .courses-page .navbar-toggler{
        order: 2;
        margin-left: auto;
        padding: 0;
        border: 0;
    }

    .courses-page .navbar-toggler-icon{
        width: 1.15rem;
        height: 1.15rem;
    }

    .courses-page .navbar-collapse{
        width: 100%;
        order: 3;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-catalog{
        --inner-hero-height: 19rem;
        padding-top: 8.35rem;
        padding-bottom: 4rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-catalog.inner-page-hero::before{
        opacity: 0.52;
        background-position: center top;
        background-size: cover;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-catalog.inner-page-hero::after{
        background: linear-gradient(180deg, rgba(1, 9, 18, 0.12) 0%, rgba(1, 9, 18, 0.5) 52%, #010912 100%);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-hero{
        position: relative;
        z-index: 1;
        max-width: 20rem;
        margin-inline: auto;
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-hero h1{
        font-size: clamp(1.75rem, 9.2vw, 2.35rem);
        line-height: 0.94;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-hero p{
        max-width: 18rem;
        margin: 0.75rem auto 0;
        color: rgba(205, 220, 232, 0.72);
        font-size: clamp(0.58rem, 2.7vw, 0.68rem);
        line-height: 1.28;
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-divider{
        height: 0;
        margin: 5rem 0 1.75rem;
        background: transparent;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-filter-trigger-wrap{
        position: absolute;
        top: 9rem;
        right: 1rem;
        z-index: 2;
        width: 2.65rem;
        margin-top: 0;
        padding: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-filter-trigger{
        width: 2.65rem;
        min-height: 2.65rem;
        padding: 0;
        justify-content: center;
        border-color: rgba(126, 152, 170, 0.42);
        border-radius: 0.65rem;
        color: #8ca2b6;
        background: #112840;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-filter-trigger span{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-filter-trigger .filter-outline-icon{
        width: 1rem;
        height: 1rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .featured-courses>h2{
        margin-bottom: 1.15rem;
        padding-left: 2rem;
        background: linear-gradient(var(--color-gold-light), var(--color-gold-light)) left center / 1.4rem 1px no-repeat;
        font-size: clamp(0.95rem, 4.6vw, 1.15rem);
        line-height: 1.1;
        letter-spacing: 0.01em;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .featured-courses-slider.swiper{
        width: 100%;
        overflow: hidden;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .featured-courses-grid.swiper-wrapper{
        margin: 0;
        flex-wrap: nowrap;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .featured-course-slide.swiper-slide{
        width: 100%;
        height: auto;
        padding: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .featured-course-card{
        display: flex;
        height: 100%;
        min-height: 20.5rem;
        padding: 0;
        flex-direction: column;
        gap: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .featured-course-card>img{
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 1.8 / 1;
        border-radius: 0.9rem 0.9rem 0 0;
        object-position: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .featured-course-card>div{
        flex: 1;
        padding: 0.9rem 0.85rem 0.85rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .featured-course-card small{
        font-size: 0.6rem;
        letter-spacing: 0.1em;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .featured-course-card h3{
        margin: 0.45rem 0 0.55rem;
        font-size: clamp(0.95rem, 4vw, 1.1rem);
        line-height: 1.2;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .featured-course-card p{
        margin-bottom: 0.8rem;
        font-size: 0.6rem;
        line-height: 1.45;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .featured-course-card a{
        width: 100%;
        min-height: 2.25rem;
        padding: 0.5rem 0.75rem;
        border: 0;
        border-radius: 0.55rem;
        color: #001018;
        background: #67d4ee;
        font-size: 0.62rem;
    }

    .courses-page .course-toolbar{
        position: absolute;
        top: 9rem;
        right: 4rem;
        left: 1rem;
        z-index: 2;
        display: block;
        margin: 0;
    }

    .courses-page .course-search{
        width: 100%;
    }

    .courses-page .course-search input{
        min-height: 2.65rem;
        padding: 0.7rem 0.9rem 0.7rem 2.25rem;
        border: 1px solid rgba(126, 152, 170, 0.18);
        border-radius: 0.75rem;
        background: #112840;
        font-size: 0.62rem;
    }

    .courses-page .course-search i{
        left: 0.8rem;
        color: #8ca2b6;
        font-size: 0.72rem;
    }

    .courses-page .course-sort{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-results-bar{
        display: flex;
        min-height: 2.75rem;
        margin: 1.4rem 0 1.15rem;
        padding: 0.3rem 0.2rem 0.65rem;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        border-bottom: 1px solid rgba(36, 129, 169, 0.38);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-results-bar .course-results{
        min-width: 0;
        margin: 0;
        overflow: hidden;
        color: rgba(222, 232, 240, 0.82);
        font-size: clamp(0.6rem, 2.8vw, 0.68rem);
        line-height: 1.35;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-results-bar .course-sort{
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: flex-end;
        gap: 0.3rem;
        color: rgba(222, 232, 240, 0.82);
        font-size: clamp(0.6rem, 2.8vw, 0.68rem);
        white-space: nowrap;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-results-bar .course-sort::after{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-results-bar .course-sort select{
        width: auto;
        min-height: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        color: #e2e8f0;
        background: transparent;
        font-size: clamp(0.6rem, 2.8vw, 0.68rem);
        appearance: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-grid-slider.swiper{
        width: 100%;
        overflow: hidden;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-grid.swiper-wrapper{
        margin: 0;
        flex-wrap: nowrap;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .course-grid>[data-course-card].swiper-slide{
        width: 100%;
        height: auto;
        padding: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-newsletter .courses-container{
        align-items: stretch;
        flex-direction: column;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-newsletter form{
        width: 100%;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .courses-newsletter{
        padding-block: 2.5rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-section{
        padding-block: 3.75rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-heading{
        position: relative;
        margin-bottom: 2rem;
        text-align: center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-heading .section-title{
        max-width: calc(100% - 4.5rem);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-heading .section-description{
        text-align: left;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-section .moments-button{
        position: absolute;
        top: 0.15rem;
        right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
        min-width: 0;
        margin: 0;
        padding: 0;
        overflow: visible;
        border: 0;
        border-radius: 0;
        color: rgba(255, 255, 255, 0.88);
        background: transparent;
        box-shadow: none;
        font-size: 0;
        font-weight: 400;
        line-height: 1;
        isolation: auto;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-section .moments-button::before{
        content: "View all";
        font-size: 0.9rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-section .moments-button::after{
        display: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-section .moments-button:hover,
:where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-section .moments-button:focus{
        color: var(--color-gold-light);
        border-color: transparent;
        background: transparent;
        box-shadow: none;
        transform: none;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .experience-heading .section-description{
        text-align: left;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .social-heading .section-description{
        text-align: left;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .contact-copy{
        text-align: left;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .contact-copy .section-title{
        width: 100%;
        max-width: none;
        padding-left: 2.75rem;
        background: linear-gradient(var(--color-cyan), var(--color-cyan)) left center / 2rem 1px no-repeat;
        font-size: clamp(1.2rem, 5.3vw, 1.5rem);
        text-align: left;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .contact-copy .section-description{
        text-align: left;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .contact-details{
        width: 100%;
        margin-inline: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .contact-socials{
        justify-content: flex-start;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .venue-heading{
        text-align: left !important;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .venue-heading .section-title{
        width: 100%;
        padding-left: 2.75rem;
        color: var(--color-white);
        background: linear-gradient(var(--color-cyan), var(--color-cyan)) left center / 2rem 1px no-repeat;
        font-family: "Anton", sans-serif !important;
        font-size: clamp(1.05rem, 4.7vw, 1.3rem);
        font-weight: 400 !important;
        letter-spacing: 0;
        line-height: 1.15;
        text-align: left;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .venue-heading .section-title em{
        display: inline;
        margin-top: 0;
        color: var(--color-cyan);
        font-weight: inherit;
        font-style: normal;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .venue-heading .section-description{
        margin-inline: 0;
        text-align: left;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: 16rem repeat(2, 10rem);
        min-height: 0;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moment-card-featured{
        grid-column: 1 / -1;
        grid-row: auto;
    }

}

@media (max-width: 399.98px) {
    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moments-grid{
        grid-template-columns: 1fr;
        grid-template-rows: 15rem repeat(4, 10rem);
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .moment-card-featured{
        grid-column: auto;
    }
}

@media (max-width: 374.98px) {
    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .hero h1{
        font-size: 3.2rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .hero-kicker{
        font-size: 0.9rem;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .country-title b{
        letter-spacing: 0.2em;
    }
}

@media (min-width: 992px) and (max-height: 700px) {
    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .hero-copy{
        padding-top: 4rem;
        scale: 0.83;
        transform-origin: left center;
    }

    :where(body.home-page, body.schedule-page, body.speaker-profile-page, body.courses-page, body.course-details-page) .event-panel{
        bottom: calc(1.25rem + var(--expertise-ticker-height));
    }
}

/* ===== Responsive rules merged from responsive2.css: About, Speakers and Gallery ===== */
@media (min-width: 1400px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .container{
        width: min(100% - 3rem, 78rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-hero-content{
        max-width: 60rem;
    }
}

@media (max-width: 991.98px) {
    :where(body.about-page, body.speakers-page, body.gallery-page){
        --container-gutter: clamp(1.25rem, 5vw, 3rem);
        --section-space: clamp(3.75rem, 7vw, 5.5rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-hero{
        background-position: 55% top;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-hero-content{
        padding-top: 9rem;
        padding-bottom: 3rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-title{
        font-size: clamp(2.5rem, 6vw, 4.2rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-divider--left{
        flex-wrap: wrap;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .support-social-links{
        gap: 1.4rem;
    }

}

@media (max-width: 576px) {
    :where(body.about-page, body.speakers-page, body.gallery-page){
        --section-space: clamp(3.1rem, 8vw, 4rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-hero-content{
        width: min(100% - 2rem, 34rem);
        padding-top: 6rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-hero{
        min-height: 82svh;
        background-position: 51% top;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-title{
        font-size: clamp(2.2rem, 8vw, 3.5rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-kicker{
        margin-bottom: 1rem;
        padding: 0.34rem 0.85rem;
        font-size: 0.52rem;
        letter-spacing: 0.1em;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-description{
        font-size: 0.82rem;
        line-height: 1.7;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-description br{
        display: none;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-heading,
:where(body.about-page, body.speakers-page, body.gallery-page) .leadership-heading,
:where(body.about-page, body.speakers-page, body.gallery-page) .venue-main-heading{
        margin-bottom: 2rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-divider{
        gap: 0.8rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-divider--left{
        align-items: flex-start;
        flex-direction: column;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-divider--left .divider-line{
        width: 100%;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .highlight-card{
        min-height: auto;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .venue-card{
        padding: 1.8rem 1.5rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .coordinates-badge{
        right: 0.75rem;
        bottom: 0.75rem;
        font-size: 0.62rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .support-social-links{
        justify-content: space-between;
        gap: 0.8rem;
    }

}

@media (max-width: 576px) {
    :where(body.about-page, body.speakers-page, body.gallery-page){
        --section-space: clamp(2.8rem, 8vw, 3.5rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-hero{
        min-height: 76svh;
        background-position: 51% top;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-hero-content{
        padding-top: 6rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-title{
        font-size: clamp(2rem, 10vw, 2.8rem);
        letter-spacing: -0.02em;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-kicker{
        margin-bottom: 1rem;
        padding: 0.34rem 0.85rem;
        font-size: 0.52rem;
        letter-spacing: 0.1em;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-description{
        font-size: 0.78rem;
        line-height: 1.65;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .directive-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .highlight-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .support-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .archive-card{
        padding: 1.5rem 1.2rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .leadership-heading,
:where(body.about-page, body.speakers-page, body.gallery-page) .venue-main-heading{
        font-size: 1.75rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-group{
        margin-bottom: 2rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-divider{
        gap: 0.75rem;
        margin-bottom: 1.25rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-title{
        font-size: 0.75rem;
        letter-spacing: 0.08em;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .member-card{
        padding: 1rem 0.85rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .member-icon{
        width: 2.75rem;
        height: 2.75rem;
        margin-bottom: 0.85rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .member-icon img{
        width: 1.1rem;
        height: 1.1rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .member-name{
        font-size: 0.85rem;
        margin-bottom: 0.25rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .member-role{
        font-size: 0.7rem;
        margin-bottom: 0.2rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .member-org{
        font-size: 0.68rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .highlight-title{
        font-size: 1.35rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .highlight-description{
        margin-bottom: 1.5rem;
        font-size: 0.8rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .sponsor-slots{
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.5rem;
        margin-bottom: 1.5rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .sponsor-pill{
        width: 100%;
        height: 2.35rem;
        border-color: rgba(255, 255, 255, 0.05);
        border-radius: var(--radius-pill);
        background: rgba(255, 255, 255, 0.05);
        box-shadow: none;
        font-size: 0.68rem;
        font-weight: 500;
        letter-spacing: normal;
        text-transform: none;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .avatar-stack{
        margin-bottom: 1.5rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .avatar-circle{
        width: 2.3rem;
        height: 2.3rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .venue-card{
        padding: 1.5rem 1.25rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .venue-title{
        font-size: 1.3rem;
        margin-bottom: 1.1rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .venue-address{
        margin-bottom: 1.5rem;
        font-size: 0.82rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .venue-btn-group{
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .venue-map-box,
:where(body.about-page, body.speakers-page, body.gallery-page) .venue-map-box iframe{
        min-height: 14rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .support-actions .row{
        --bs-gutter-x: 0.75rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .support-social-links{
        flex-wrap: wrap;
        justify-content: center;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .support-title,
:where(body.about-page, body.speakers-page, body.gallery-page) .archive-title{
        font-size: 0.9rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .archive-item{
        padding-block: 0.9rem;
        font-size: 0.82rem;
    }

}

@media (max-width: 374.98px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .about-title{
        font-size: 1.85rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-kicker{
        padding: 0.3rem 0.8rem;
        font-size: 0.5rem;
        letter-spacing: 0.12em;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-title{
        white-space: normal;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .support-btn{
        font-size: 0.74rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .social-item{
        width: 100%;
    }
}

@media (min-width: 992px) and (max-height: 700px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .about-hero-content{
        padding-top: 6.5rem;
        padding-bottom: 2rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .about-title{
        font-size: clamp(2.6rem, 5.5vw, 4rem);
    }
}

/* Speakers page */
@media (min-width: 1400px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-container{
        width: min(100% - 3rem, 76rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .keynote-visual{
        height: 23rem;
    }
}

@media (max-width: 991.98px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero{
        background-position: 54% top;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero-content{
        padding-top: 7rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-section-bar{
        align-items: flex-start;
        flex-direction: column;
        gap: 1.5rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speaker-toolbar{
        width: 100%;
        justify-content: space-between;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speaker-search{
        width: min(24rem, 50%);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .keynote-visual{
        height: clamp(20rem, 55vw, 29rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .keynote-name-line h3{
        font-size: clamp(2.4rem, 6vw, 3.5rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-roster-grid,
:where(body.about-page, body.speakers-page, body.gallery-page) .session-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .session-card:last-child{
        grid-column: 1 / -1;
    }

    /* Meet speakers responsive - tablet */
    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-section .speakers-container{
        width: min(100% - 2rem, 72rem);
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 1.25rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-accordion{
        --meet-panel-gap: 0.55rem;
        --meet-collapsed-width: clamp(3.5rem, 5vw, 4rem);
        --meet-expanded-width: calc(100% - ((var(--meet-panel-count) - 1) * (var(--meet-collapsed-width) + var(--meet-panel-gap))));
        width: 100%;
        height: clamp(22rem, 48vw, 26rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-overlay{
        inset: 1.25rem 1.1rem auto;
    }
}

@media (max-width: 576px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero{
        min-height: 82svh;
        background-position: 51% top;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero-content{
        width: min(100% - 2rem, 34rem);
        padding-top: 6rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-kicker{
        margin-bottom: 1rem;
        padding: 0.34rem 0.85rem;
        font-size: 0.52rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero-title{
        font-size: clamp(2.7rem, 12vw, 4.25rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero-description{
        max-width: 23rem;
        margin-top: 1rem;
        font-size: 0.76rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .featured-speakers-section{
        padding-top: 4rem !important;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .all-speakers-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .committee-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .sessions-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .roster-cta-section{
        padding-top: 1.25rem !important;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-section-bar{
        margin-bottom: 1.35rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speaker-toolbar{
        align-items: stretch;
        flex-direction: column;
        gap: 0.85rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speaker-search{
        width: 100%;
        height: 2.75rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speaker-filters{
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speaker-filter{
        width: 100%;
        min-width: 0;
        height: 2.6rem;
        padding-inline: 0.6rem;
        font-size: 0.64rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .keynote-visual{
        height: clamp(16rem, 72vw, 24rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .keynote-name-block{
        inset: auto 1.15rem 1rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .keynote-name-line h3{
        font-size: clamp(2rem, 9vw, 3rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .keynote-content{
        padding: 1.25rem 1.15rem 1rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .keynote-content>p{
        min-height: 0;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .roster-image{
        height: clamp(15rem, 62vw, 21rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-roster-grid{
        gap: 0.85rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile{
        min-height: 10.5rem;
        flex-direction: column;
        gap: 0.75rem;
        padding: 1rem 0.75rem;
        text-align: center;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile img{
        width: 4.5rem;
        height: 4.5rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .session-grid{
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .session-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .session-card:last-child{
        min-height: 15rem;
        grid-column: auto;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .roster-cta{
        padding: 2.75rem 1.25rem;
    }

    /* Meet speakers responsive - mobile */
    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-section{
        padding-top: 1.25rem !important;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-section .speakers-container{
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-nav{
        justify-content: flex-start;
        gap: 0.65rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-accordion{
        --meet-panel-gap: 0.4rem;
        --meet-collapsed-width: clamp(2.8rem, 8vw, 3.35rem);
        --meet-expanded-width: calc(100% - ((var(--meet-panel-count) - 1) * (var(--meet-collapsed-width) + var(--meet-panel-gap))));
        height: clamp(18rem, 68vw, 23rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-overlay{
        inset: 0.95rem 0.85rem auto;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-name{
        font-size: clamp(1.08rem, 4.2vw, 1.35rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-role{
        font-size: 0.58rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-nav-btn{
        width: 1.9rem;
        height: 1.9rem;
        font-size: 0.64rem;
    }
}

@media (max-width: 576px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-container{
        width: min(100% - 1.5rem, 72rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero{
        min-height: 76svh;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero-title{
        font-size: clamp(2.45rem, 13vw, 3.5rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-display-heading{
        font-size: clamp(1.85rem, 9vw, 2.4rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speaker-subheading-row{
        margin-bottom: 1.2rem;
        padding-bottom: 0.7rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-subheading{
        font-size: 0.92rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .keynote-visual{
        height: clamp(15rem, 73vw, 20rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .keynote-name-line{
        gap: 0.5rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .keynote-name-line h3{
        font-size: clamp(1.85rem, 9.6vw, 2.55rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speaker-schedule-link{
        align-items: flex-start;
        font-size: 0.56rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .roster-image{
        height: clamp(13.5rem, 68vw, 18.5rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .roster-content>p{
        min-height: 0;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile h3{
        font-size: 0.7rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile p{
        font-size: 0.56rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .session-card{
        padding: 1.35rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .roster-cta h2{
        font-size: clamp(2rem, 11vw, 2.8rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .roster-cta-button{
        width: 100%;
        min-width: 0;
    }

    /* Meet speakers responsive - small mobile */
    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-accordion{
        --meet-panel-gap: 0.3rem;
        --meet-collapsed-width: 2.35rem;
        --meet-expanded-width: calc(100% - ((var(--meet-panel-count) - 1) * (var(--meet-collapsed-width) + var(--meet-panel-gap))));
        height: clamp(15rem, 66vw, 19rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-overlay{
        inset: 0.7rem 0.7rem auto;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-panel-name{
        font-size: clamp(0.95rem, 3.8vw, 1.15rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-title{
        font-size: clamp(1.7rem, 7vw, 2.1rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .meet-speakers-description{
        font-size: 0.76rem;
    }
}

@media (max-width: 374.98px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-kicker{
        letter-spacing: 0.06em;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero-title{
        font-size: 2.25rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speaker-filter{
        font-size: 0.56rem;
        letter-spacing: 0.04em;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-roster-grid{
        grid-template-columns: 1fr;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .committee-profile{
        min-height: 7.5rem;
        flex-direction: row;
        text-align: left;
    }
}

@media (min-width: 992px) and (max-height: 700px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero-content{
        padding-top: 6rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero-title{
        font-size: clamp(3rem, 5vw, 4.25rem);
    }
}

/* Gallery page */
@media (min-width: 1400px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-container{
        width: min(100% - 3rem, 76rem);
    }
}

@media (max-width: 991.98px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero{
        background-position: 58% center;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-content{
        padding-top: 7rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-toolbar{
        align-items: flex-start;
        flex-direction: column;
        gap: 1.25rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-search{
        width: min(24rem, 100%);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card{
        grid-template-columns: minmax(0, 11rem) minmax(0, 1fr);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card h3{
        font-size: 1.15rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-card{
        min-height: 24rem;
    }
}

@media (max-width: 576px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero{
        min-height: 82svh;
        background-position: 64% center;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-content{
        width: min(100% - 2rem, 34rem);
        padding-top: 6rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-kicker{
        margin-bottom: 0.9rem;
        min-height: 1.55rem;
        padding: 0.25rem 0.75rem;
        font-size: 0.52rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-global,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-innovation{
        font-size: clamp(2.7rem, 12vw, 4.1rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-description{
        max-width: 23rem;
        margin-top: 1rem;
        font-size: 0.76rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-actions{
        align-items: stretch;
        flex-direction: column;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-btn{
        width: 100%;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-innovations-section{
        padding-top: 4rem !important;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-directory-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-products-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-offers-section,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-floor-section{
        padding-top: 1.25rem !important;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-section-heading,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-toolbar{
        margin-bottom: 1.3rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-search{
        width: 100%;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip-row{
        gap: 0.5rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip{
        min-width: auto;
        padding-inline: 0.65rem;
        font-size: 0.56rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card{
        grid-template-columns: 1fr;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-image{
        aspect-ratio: 1.5 / 1;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-body{
        padding: 1.2rem 1rem 1rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-header h3{
        font-size: 1.2rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .innovation-metrics{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
        padding-top: 0;
        border-top: 0;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .product-card p{
        min-height: 0;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .offer-card{
        padding: 1.2rem 1rem 1rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-card{
        min-height: 21rem;
        padding: 1rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-overlay-card{
        padding: 1.5rem 1rem;
    }
}

@media (max-width: 576px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-container{
        width: min(100% - 1.5rem, 72rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero{
        min-height: 76svh;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-global,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-innovation{
        font-size: clamp(2.3rem, 12.8vw, 3.4rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-display-heading{
        font-size: clamp(1.85rem, 9vw, 2.4rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-section-heading p,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-toolbar p{
        font-size: 0.68rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip-row{
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-chip{
        flex: 1 1 auto;
        justify-content: center;
        min-height: 2.35rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-header,
:where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card-top{
        gap: 0.55rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .innovation-card-header{
        align-items: flex-start;
        flex-direction: column;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .innovation-metrics{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card h3,
:where(body.about-page, body.speakers-page, body.gallery-page) .product-card h3,
:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card h3{
        font-size: 1rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-tags span{
        font-size: 0.52rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-card-button,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-load-button{
        min-height: 2.7rem;
        font-size: 0.64rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .product-card-body{
        padding: 0.85rem 0.75rem 0.75rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-card{
        min-height: 18rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-overlay-card{
        width: 100%;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-controls{
        right: 0.55rem;
        bottom: 0.55rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .floor-plan-controls button{
        width: 1.75rem;
        height: 1.75rem;
    }
}

@media (max-width: 374.98px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-kicker{
        letter-spacing: 0.06em;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-global,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-innovation{
        font-size: 2.1rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .exhibitor-card,
:where(body.about-page, body.speakers-page, body.gallery-page) .offer-card{
        padding-inline: 0.9rem;
    }
}

@media (min-width: 992px) and (max-height: 700px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-content{
        padding-top: 6rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-global,
:where(body.about-page, body.speakers-page, body.gallery-page) .gallery-hero-innovation{
        font-size: clamp(3rem, 5vw, 4.1rem);
    }
}

/* About page: mobile strategic directives carousel. */
@media (max-width: 576px) {
    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .strategic-heading-row{
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section{
        padding-top: 2.2rem !important;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .strategic-heading{
        display: flex;
        align-items: center;
        gap: 0.65rem;
        margin-bottom: 1.25rem;
        color: var(--color-gold);
        font-family: var(--font-display);
        font-size: 1.4rem;
        font-weight: 400;
        letter-spacing: 0.03em;
        line-height: 1;
        text-align: left;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-slider-controls{
        display: flex;
        flex: 0 0 auto;
        gap: 0.15rem;
        margin-bottom: 1.25rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-slider-controls button{
        display: grid;
        width: 1.55rem;
        height: 1.55rem;
        place-items: center;
        border: 0;
        border-radius: 0.3rem;
        background: transparent;
        color: rgba(233, 193, 118, 0.82);
        font-family: 'Helvetica Neue', sans-serif;
        font-size: 1.45rem;
        font-weight: 300;
        line-height: 1;
        transition: color 220ms ease, transform 220ms ease;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-slider-controls button:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-slider-controls button:focus-visible{
        color: var(--color-cyan);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-slider-prev:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-slider-prev:focus-visible{
        transform: translateX(-0.15rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-slider-next:hover,
:where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-slider-next:focus-visible{
        transform: translateX(0.15rem);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .strategic-heading::before{
        width: 3rem;
        height: 1.5px;
        flex: 0 0 auto;
        background: #E9C17680;
        content: "";
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-swiper{
        display: flex;
        flex-wrap: nowrap;
        gap: 0.75rem;
        margin: 0;
        overflow-x: auto;
        padding: 0 0 0.5rem;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-swiper::-webkit-scrollbar{
        display: none;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-swiper>div{
        width: clamp(10.875rem, 72vw, 22rem);
        flex: 0 0 clamp(10.875rem, 72vw, 22rem);
        padding: 0;
        scroll-snap-align: start;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-card{
        min-height: 15rem;
        padding: 1.4rem 1.25rem;
        border: 0;
        border-radius: 0.6rem;
        background: linear-gradient(160deg, #071b2e 0%, #0a2a4b 60%, #0d477f 100%);
        box-shadow: none;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-icon{
        width: 2.55rem;
        height: 2.55rem;
        margin-bottom: 1rem;
        font-size: 0.95rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-title{
        margin-bottom: 0.8rem;
        color: var(--color-gold);
        font-size: 1rem;
        letter-spacing: 0.02em;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-title--light{
        color: var(--color-white);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-text,
:where(body.about-page, body.speakers-page, body.gallery-page) .strategic-section .directive-list li{
        color: #c2cfdd;
        font-size: 0.8rem;
        line-height: 1.55;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .leadership-section .leadership-heading{
        display: flex;
        align-items: center;
        gap: 0.65rem;
        margin-bottom: 1.25rem;
        color: var(--color-gold);
        font-family: var(--font-display);
        font-size: 1.5rem;
        font-weight: 400;
        letter-spacing: 0.03em;
        line-height: 1;
        text-align: left;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .leadership-section .leadership-heading::before{
        width: 3rem;
        height: 1.5px;
        flex: 0 0 auto;
        background: #E9C17680;
        content: "";
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .venue-logistics-section .venue-main-heading{
        display: flex;
        align-items: center;
        gap: 0.65rem;
        margin-bottom: 1.75rem;
        color: var(--color-gold);
        font-family: var(--font-display);
        font-size: 1.5rem;
        font-weight: 400;
        letter-spacing: 0.03em;
        line-height: 1;
        text-align: left;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .venue-logistics-section .venue-main-heading::before{
        width: 3rem;
        height: 1.5px;
        flex: 0 0 auto;
        background: #E9C17680;
        content: "";
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .leadership-section .leadership-heading{
        margin-bottom: 1.75rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .leadership-section .committee-divider,
:where(body.about-page, body.speakers-page, body.gallery-page) .leadership-section .committee-divider--center{
        align-items: flex-start;
        flex-direction: column;
        justify-content: flex-start;
        gap: 0.65rem;
        margin-bottom: 1.25rem;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .leadership-section .committee-title,
:where(body.about-page, body.speakers-page, body.gallery-page) .leadership-section .committee-title--gold{
        color: var(--color-cyan);
        font-size: 0.75rem;
        letter-spacing: 0.08em;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .leadership-section .committee-divider .divider-line{
        width: 100%;
        height: 1px;
        flex: 0 0 auto;
        background: rgba(102, 213, 241, 0.2);
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .leadership-section .committee-divider--center .committee-title{
        order: -1;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .leadership-section .committee-divider--center .divider-line:first-child{
        display: none;
    }
}

/* Gallery mobile exhibitor carousel & controls */
@media (max-width: 768px) {
    :where(body.gallery-page) .exhibitor-directory-section .exhibitor-grid{
        display: flex;
        flex-wrap: nowrap;
        gap: 0.95rem;
        margin: 0 -0.5rem;
        overflow-x: auto;
        padding: 0.35rem 0.5rem 1rem;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    :where(body.gallery-page) .exhibitor-directory-section .exhibitor-grid::-webkit-scrollbar{
        display: none;
    }

    :where(body.gallery-page) .exhibitor-directory-section .exhibitor-grid>.exhibitor-item{
        width: auto;
        max-width: none;
        flex: 0 0 min(84vw, 21.5rem);
        margin-top: 0;
        padding: 0;
        scroll-snap-align: start;
    }

    :where(body.gallery-page) .gallery-toolbar{
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 1.2rem;
        margin-bottom: 1.5rem;
        padding-bottom: 1rem;
    }

    :where(body.gallery-page) .gallery-toolbar-copy{
        width: 100%;
    }

    :where(body.gallery-page) .gallery-title-row{
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        width: 100%;
    }

    :where(body.gallery-page) .gallery-title-row .gallery-display-heading{
        margin: 0;
        font-size: clamp(1.85rem, 8vw, 2.6rem);
        line-height: 1.05;
    }

    :where(body.gallery-page) .exhibitor-slider-controls{
        display: flex;
        align-items: center;
        gap: 0.5rem;
        flex: 0 0 auto;
    }

    :where(body.gallery-page) .exhibitor-slider-controls button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.35rem;
        height: 2.35rem;
        padding: 0;
        border: 1px solid rgba(102, 213, 241, 0.35);
        border-radius: 50%;
        background: rgba(8, 28, 46, 0.85);
        color: var(--color-cyan);
        font-size: 0.8rem;
        box-shadow: 0 0.3rem 0.9rem rgba(0, 0, 0, 0.35);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        cursor: pointer;
        transition: all 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    :where(body.gallery-page) .exhibitor-slider-controls button:hover,
    :where(body.gallery-page) .exhibitor-slider-controls button:focus-visible{
        border-color: var(--color-cyan);
        background: rgba(0, 151, 178, 0.3);
        color: #ffffff;
        box-shadow: 0 0 16px rgba(102, 213, 241, 0.5);
        transform: translateY(-1px);
    }

    :where(body.gallery-page) .exhibitor-slider-controls button:active{
        transform: scale(0.92);
    }

    :where(body.gallery-page) .gallery-search{
        width: 100%;
        height: 2.9rem;
        border-radius: 100vmax;
        background: rgba(6, 24, 40, 0.85);
        border-color: rgba(102, 213, 241, 0.25);
    }

    :where(body.gallery-page) .gallery-chip-row{
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 0.55rem;
        margin: 0 -0.5rem 1.6rem;
        padding: 0.25rem 0.5rem 0.65rem;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    :where(body.gallery-page) .gallery-chip-row::-webkit-scrollbar{
        display: none;
    }

    :where(body.gallery-page) .gallery-chip{
        flex: 0 0 auto;
        min-width: auto;
        min-height: 2.3rem;
        padding: 0.45rem 1.15rem;
        font-size: 0.68rem;
        white-space: nowrap;
        border-radius: 100vmax;
        background: rgba(8, 28, 46, 0.75);
    }

    :where(body.gallery-page) .gallery-chip.is-active{
        background: rgba(0, 151, 178, 0.22);
        border-color: var(--color-cyan);
        box-shadow: none;
    }
}

/* ===== Gallery page: comprehensive mobile polish ===== */

/* ── Tablet: 768px – 991px ── */
@media (max-width: 991.98px) and (min-width: 577px) {
    :where(body.gallery-page) .gallery-container{
        width: min(100% - 2rem, 72rem);
    }

    :where(body.gallery-page) .innovation-card-body{
        padding: 1.3rem 1.15rem 1.1rem;
    }

    :where(body.gallery-page) .innovation-card-header h3{
        font-size: 1.25rem;
    }

    :where(body.gallery-page) .innovation-card-body p{
        font-size: 0.82rem;
    }

    :where(body.gallery-page) .product-grid{
        --bs-gutter-x: 0.95rem;
        --bs-gutter-y: 0.95rem;
    }

    :where(body.gallery-page) .product-card h3{
        font-size: 0.95rem;
    }

    :where(body.gallery-page) .product-card p{
        font-size: 0.78rem;
        min-height: 0;
    }

    :where(body.gallery-page) .offers-grid{
        --bs-gutter-x: 0.95rem;
        --bs-gutter-y: 0.95rem;
    }

    :where(body.gallery-page) .offer-card h3{
        font-size: 1.05rem;
    }

    :where(body.gallery-page) .offer-card p{
        font-size: 0.82rem;
    }

    :where(body.gallery-page) .floor-plan-overlay-card{
        padding: 1.75rem 1.35rem;
    }

    :where(body.gallery-page) .floor-plan-overlay-card p{
        font-size: 0.68rem;
    }
}

/* ── Mobile ≤ 576px: products and offers Swiper sliders ── */
@media (max-width: 576px) {
    /* -- Products Swiper: the existing grid becomes a slider only on mobile -- */
    :where(body.gallery-page) .gallery-products-section .products-slider.swiper{
        width: 100%;
        overflow: hidden;
    }

    :where(body.gallery-page) .gallery-products-section .product-grid.swiper-wrapper{
        flex-wrap: nowrap;
        gap: 0;
        margin: 0;
        padding: 0.25rem 0 0.75rem;
    }

    :where(body.gallery-page) .gallery-products-section .product-grid > .swiper-slide{
        width: auto;
        max-width: none;
        flex: 0 0 auto;
        margin-top: 0;
        padding: 0;
    }

    :where(body.gallery-page) .gallery-products-section .product-card{
        height: 100%;
    }

    :where(body.gallery-page) .gallery-products-section .product-card-image{
        aspect-ratio: 1.35 / 1;
    }

    /* -- Offers Swiper: the existing grid becomes a slider only on mobile -- */
    :where(body.gallery-page) .gallery-offers-section .offers-slider.swiper{
        width: 100%;
        overflow: hidden;
    }

    :where(body.gallery-page) .gallery-offers-section .offers-grid.swiper-wrapper{
        flex-wrap: nowrap;
        gap: 0;
        margin: 0;
        padding: 0.25rem 0 0.75rem;
    }

    :where(body.gallery-page) .gallery-offers-section .offers-grid > .swiper-slide{
        width: auto;
        max-width: none;
        flex: 0 0 auto;
        margin-top: 0;
        padding: 0;
    }

    :where(body.gallery-page) .gallery-offers-section .offer-card{
        height: 100%;
        min-height: 14rem;
    }

    /* -- Innovation card mobile refinements -- */
    :where(body.gallery-page) .innovation-card-header{
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 0.45rem;
    }

    :where(body.gallery-page) .innovation-card-header span{
        font-size: 0.48rem;
    }

    :where(body.gallery-page) .innovation-card-body p{
        font-size: 0.82rem;
        margin: 0.7rem 0 1rem;
    }

    :where(body.gallery-page) .innovation-metrics div{
        display: flex;
        flex-direction: column;
        gap: 0.15rem;
    }

    :where(body.gallery-page) .innovation-metrics strong{
        font-size: 0.54rem;
    }

    :where(body.gallery-page) .innovation-metrics span{
        font-size: 0.64rem;
    }

    /* -- Section heading mobile refinements -- */
    :where(body.gallery-page) .gallery-display-heading{
        font-size: clamp(1.6rem, 8.5vw, 2.2rem);
        line-height: 1.05;
    }

    :where(body.gallery-page) .gallery-section-heading p,
    :where(body.gallery-page) .gallery-toolbar p{
        font-size: 0.65rem;
        line-height: 1.5;
    }

    /* -- Exhibitor card mobile polish -- */
    :where(body.gallery-page) .exhibitor-card{
        min-height: 13.5rem;
        padding: 1.35rem 1.2rem;
    }

    :where(body.gallery-page) .exhibitor-mark{
        width: 2.7rem;
        height: 2.7rem;
        font-size: 0.68rem;
    }

    :where(body.gallery-page) .exhibitor-booth{
        font-size: 0.48rem;
        padding: 0.18rem 0.45rem;
    }

    :where(body.gallery-page) .exhibitor-location{
        font-size: 0.66rem;
    }

    :where(body.gallery-page) .exhibitor-tags{
        margin: 0.65rem 0 1.25rem;
    }

    :where(body.gallery-page) .exhibitor-card .gallery-card-button{
        min-height: 2.35rem;
        padding: 0.6rem 0.7rem;
        font-size: 0.62rem;
        border-radius: 0.35rem;
    }

    /* -- Offer card mobile polish -- */
    :where(body.gallery-page) .offer-value{
        font-size: 0.9rem;
    }

    :where(body.gallery-page) .offer-card h3{
        font-size: 1.05rem;
    }

    :where(body.gallery-page) .offer-card p{
        font-size: 0.82rem;
        margin: 0.55rem 0 0.8rem;
    }

    :where(body.gallery-page) .offer-card small{
        font-size: 0.58rem;
    }

    :where(body.gallery-page) .offer-card .gallery-card-button{
        min-height: 2.35rem;
        font-size: 0.62rem;
    }

    /* -- Floor plan mobile -- */
    :where(body.gallery-page) .floor-plan-card{
        min-height: 17rem;
        padding: 0.85rem;
    }

    :where(body.gallery-page) .floor-plan-overlay-card{
        width: 100%;
        padding: 1.35rem 0.95rem;
        border-radius: 0.65rem;
    }

    :where(body.gallery-page) .floor-plan-overlay-card i{
        font-size: 0.95rem;
    }

    :where(body.gallery-page) .floor-plan-overlay-card h3{
        margin-top: 0.75rem;
        font-size: 0.9rem;
    }

    :where(body.gallery-page) .floor-plan-overlay-card p{
        margin: 0.6rem 0 1rem;
        font-size: 0.66rem;
    }

    :where(body.gallery-page) .floor-plan-overlay-card .gallery-btn{
        min-height: 2.55rem;
        padding: 0.7rem 1.1rem;
        font-size: 0.62rem;
    }

    :where(body.gallery-page) .floor-plan-controls{
        right: 0.45rem;
        bottom: 0.45rem;
    }

    :where(body.gallery-page) .floor-plan-controls button{
        width: 1.6rem;
        height: 1.6rem;
        font-size: 0.55rem;
    }

    /* -- Gallery search bar mobile -- */
    :where(body.gallery-page) .gallery-search{
        height: 2.85rem;
        border-radius: 0.55rem;
    }

    :where(body.gallery-page) .gallery-search input{
        font-size: 0.72rem;
    }

    /* -- Chips: ensure single-hand reach -- */
    :where(body.gallery-page) .gallery-chip{
        min-height: 2.5rem;
        font-size: 0.58rem;
    }

    /* -- Load more button -- */
    :where(body.gallery-page) .gallery-load-button{
        min-height: 2.6rem;
        padding: 0.65rem 1.6rem;
        font-size: 0.62rem;
    }

    /* -- Gallery footer section spacing -- */
    :where(body.gallery-page) .gallery-floor-section{
        padding-bottom: 1rem !important;
    }
}

/* ── Very small phones ≤ 374px ── */
@media (max-width: 374.98px) {
    :where(body.gallery-page) .gallery-hero-description{
        font-size: 0.7rem;
        max-width: 20rem;
    }

    :where(body.gallery-page) .gallery-btn{
        min-height: 2.6rem;
        padding: 0.65rem 1rem;
        font-size: 0.6rem;
    }

    :where(body.gallery-page) .innovation-card-header h3{
        font-size: 1.05rem;
    }

    :where(body.gallery-page) .innovation-card-body p{
        font-size: 0.76rem;
    }

    :where(body.gallery-page) .product-card h3{
        font-size: 0.88rem;
    }

    :where(body.gallery-page) .product-card p{
        font-size: 0.74rem;
    }

    :where(body.gallery-page) .exhibitor-card h3{
        font-size: 0.92rem;
    }

    :where(body.gallery-page) .offer-card h3{
        font-size: 0.95rem;
    }

    :where(body.gallery-page) .floor-plan-card{
        min-height: 15rem;
    }

    :where(body.gallery-page) .floor-plan-overlay-card h3{
        font-size: 0.82rem;
    }

    :where(body.gallery-page) .floor-plan-overlay-card p{
        font-size: 0.6rem;
    }

    :where(body.gallery-page) .gallery-display-heading{
        font-size: clamp(1.4rem, 8vw, 1.95rem);
    }

    :where(body.gallery-page) .gallery-chip-row{
        grid-template-columns: 1fr;
    }

    :where(body.gallery-page) .gallery-chip{
        text-align: center;
    }
}

/* ── Landscape phones ── */
@media (max-width: 991.98px) and (max-height: 500px) and (orientation: landscape) {
    :where(body.gallery-page) .gallery-hero{
        min-height: auto;
        padding: 6rem 0 3rem;
    }

    :where(body.gallery-page) .gallery-hero-content{
        padding-top: 2rem;
    }

    :where(body.gallery-page) .gallery-hero-global,
    :where(body.gallery-page) .gallery-hero-innovation{
        font-size: clamp(2rem, 5vw, 3rem);
    }

    :where(body.gallery-page) .gallery-hero-description{
        font-size: 0.72rem;
        max-width: 28rem;
    }

    :where(body.gallery-page) .gallery-hero-actions{
        flex-direction: row;
        gap: 0.75rem;
    }

    :where(body.gallery-page) .gallery-btn{
        min-height: 2.4rem;
        padding: 0.55rem 1rem;
        font-size: 0.62rem;
    }
}

/* Keep the shared navbar identical on every phone layout. */
@media (max-width: 576px) {
    body[class] .site-navbar {
        min-height: 5.5rem;
        padding-top: max(1rem, env(safe-area-inset-top));
        padding-bottom: 1rem;
    }

    body[class] .site-navbar .brand-mark img {
        width: 3.6rem;
        height: auto;
    }

    body[class] .site-navbar .navbar-toggler {
        width: 2rem;
        height: 2rem;
        padding: 0;
    }

    body[class] .site-navbar .navbar-toggler-icon {
        width: 1.65rem;
        height: 1.65rem;
    }

    body[class] .site-navbar .nav-link {
        font-size: 0.9rem;
        line-height: 1.4;
    }

    body[class] .site-navbar .btn-register {
        font-size: 0.9rem;
        line-height: 1.4;
    }

    body[class] .site-navbar .navbar-cart-link {
        width: 2.5rem;
        height: 2.5rem;
        flex-basis: 2.5rem;
        font-size: 0.85rem;
    }
}

/* Matching cart and menu controls on tablet and mobile. */
@media (max-width: 991.98px) {
    body[class] .site-navbar .navbar-cart-link--mobile,
    body[class] .site-navbar .navbar-toggler {
        width: 2.5rem;
        height: 2.5rem;
        min-width: 2.5rem;
        padding: 0;
        place-items: center;
        border: 1px solid rgba(0, 151, 178, 0.38);
        border-radius: var(--radius-pill);
        color: rgba(248, 250, 252, 0.92);
        background-color: rgba(2, 17, 29, 0.72);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 0.35rem 0.9rem rgba(0, 0, 0, 0.16);
    }

    body[class] .site-navbar .navbar-cart-link--mobile {
        margin: 0 0.55rem 0 auto;
        flex-basis: 2.5rem;
        font-size: 0.9rem;
        transform: none;
    }

    body[class] .site-navbar .navbar-toggler {
        display: grid;
        margin: 0;
    }

    body[class] .site-navbar .navbar-toggler-icon {
        width: 1.25rem;
        height: 1.25rem;
    }

    body[class] .site-navbar .navbar-cart-link--mobile:hover,
    body[class] .site-navbar .navbar-cart-link--mobile:focus-visible,
    body[class] .site-navbar .navbar-cart-link--mobile.active,
    body[class] .site-navbar .navbar-toggler:hover,
    body[class] .site-navbar .navbar-toggler:focus-visible {
        border-color: var(--color-cyan);
        color: var(--color-gold-light);
        background-color: rgba(0, 151, 178, 0.14);
        box-shadow: 0 0 0 0.2rem rgba(0, 151, 178, 0.08);
    }
}

/* Keep the complete home hero visible on short portrait phones. */
@media (max-width: 576px) and (max-height: 780px) and (orientation: portrait) {
    .home-page .hero-copy {
        width: min(68vw, 15.5rem);
        margin-top: 5.5rem;
        margin-bottom: 0.65rem;
    }

    .home-page .hero-kicker {
        margin-bottom: 0.05rem;
        font-size: 0.68rem;
        letter-spacing: 0.2em;
    }

    .home-page .hero h1 {
        font-size: 2.75rem;
        line-height: 0.82;
    }

    .home-page .country-title {
        margin-top: 0.35rem;
        gap: 0.5rem;
    }

    .home-page .country-title span {
        width: 1.1rem;
    }

    .home-page .country-title b {
        font-size: 0.85rem;
        letter-spacing: 0.2em;
    }

    .home-page .hero-subtitle {
        margin-top: 0.3rem;
        font-size: 0.46rem;
        line-height: 1.25;
    }

    .home-page .event-panel {
        margin: 0 1rem 0.6rem;
    }

    .home-page .event-meta {
        min-height: 6.2rem;
        margin-bottom: 0.4rem;
        padding: 0.45rem 1rem 0.45rem 2.75rem;
        border-radius: 1rem;
    }

    .home-page .event-meta::before {
        margin-left: -1.6rem;
        font-size: 0.78rem;
    }

    .home-page .event-meta::after {
        top: 1.3rem;
        bottom: 1.3rem;
        left: 1.55rem;
    }

    .home-page .meta-item {
        gap: 0.55rem;
        font-size: 0.72rem;
    }

    .home-page .meta-item i {
        left: 1.05rem;
        font-size: 0.82rem;
    }

    .home-page .event-meta .location-pin-outline {
        left: 1.1rem !important;
        width: 0.75rem;
        height: 0.75rem;
        flex-basis: 0.75rem;
    }

    .home-page .event-action {
        min-height: 3.1rem;
        padding: 0.4rem 0.55rem;
        gap: 0.4rem;
    }

    .home-page .event-action>img {
        width: 1.05rem;
        height: 1.05rem;
    }

    .home-page .event-action b {
        font-size: 0.62rem;
    }

    .home-page .event-action small {
        font-size: 0.47rem;
    }

    .home-page .action-arrow {
        font-size: 0.62rem;
    }

    .home-page .expertise-swiper {
        padding-block: 0.45rem;
    }

    .home-page .expertise-swiper .swiper-slide {
        font-size: 0.62rem;
    }
}

/* Source: resources/css/public/point3.css */
/* Point 3 pages reuse the existing IDL tokens and components. */
:root {
    --radius-card: var(--radius-md);
}

html:not(.js) body.register-page .register-step {
    display: block;
}

html:not(.js) body.register-page [data-register-next],
html:not(.js) body.register-page [data-register-back],
html:not(.js) body.register-page [data-register-step] {
    display: none;
}

body.register-page .register-step[hidden],
body.register-page [data-registration-wizard][hidden],
body.register-page [data-registration-verify-panel][hidden],
body.register-page [data-register-back][hidden],
body.register-page [data-register-next][hidden],
body.register-page [data-register-submit][hidden],
[data-auth-challenge][hidden],
[data-auth-verify][hidden] {
    display: none !important;
}

.navbar-cart-link [data-cart-count] {
    position: absolute;
    top: -.35rem;
    right: -.35rem;
    left: auto;
    bottom: auto;
    z-index: 2;
    display: inline-grid;
    place-items: center;
    min-width: 1.2rem;
    height: 1.2rem;
    margin: 0;
    padding: 0 .25rem;
    border: 2px solid var(--color-navy-950);
    border-radius: 50%;
    color: var(--color-navy-950);
    background: var(--color-gold-light);
    font-size: .65rem;
    font-weight: 800;
}

.navbar-cart-link [data-cart-count][hidden] {
    display: none;
}

.p3-quantity-control form {
    margin: 0;
}

.p3-auth-page .p3-auth-shell {
    max-width: 72rem;
    margin-inline: auto;
}

body.register-page .register-form-container {
    max-width: 52rem;
    margin-inline: auto;
}

.p3-favorites-tools .idl-search input {
    width: 100%;
}

.point3-page {
    --p3-catalog-card-min-height: 31rem;
}

.point3-page[data-point3-page="companies"],
.point3-page[data-point3-page="foreigner-program"],
.point3-page[data-point3-page="para-medical-programs"],
.point3-page[data-point3-page="accommodations"] {
    --p3-catalog-card-min-height: 32rem;
}

.point3-page[data-point3-page="courses"],
.point3-page[data-point3-page="clinical-attachments"],
.point3-page[data-point3-page="competitions"] {
    --p3-catalog-card-min-height: 33rem;
}

.p3-loading {
    min-height: 55vh;
    display: grid;
    place-items: center;
    color: var(--color-muted);
}

.p3-card-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: var(--radius-card);
    margin-bottom: 1.25rem;
}

.p3-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.25rem;
}

.p3-detail-figure {
    overflow: hidden;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius-card);
}

.p3-detail-figure img {
    display: block;
    width: 100%;
    max-height: 34rem;
    object-fit: cover;
    border-radius: inherit;
}

.p3-auth-actions {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 0 .8rem 0 0;
}

.p3-auth-link {
    color: var(--color-gold-light);
    border: 0;
    background: transparent;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.p3-modal {
    position: fixed;
    z-index: 1100;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    background: rgba(1, 9, 18, .82);
    backdrop-filter: blur(12px);
    transition: opacity 280ms ease, visibility 0s linear 320ms;
}

.p3-modal[hidden] {
    display: none !important;
}

.p3-modal.is-open {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    transition-delay: 0s;
}

.p3-modal-panel {
    position: relative;
    width: min(38rem, 100%);
    max-height: calc(100vh - 2rem);
    overflow: auto;
    padding: clamp(1.4rem, 4vw, 2.4rem);
    border: 1px solid rgba(201, 154, 75, .28);
    border-radius: var(--radius-card);
    background: var(--color-navy-900);
    box-shadow: var(--shadow-soft);
    opacity: 0;
    transform: translateY(14px) scale(.985);
    transition: opacity 260ms ease, transform 360ms cubic-bezier(.22, 1, .36, 1);
}

.p3-modal.is-open .p3-modal-panel {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.p3-modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2.4rem;
    height: 2.4rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    color: var(--color-white);
    background: transparent;
    transition: color 220ms ease, border-color 220ms ease, background-color 220ms ease, transform 280ms cubic-bezier(.22, 1, .36, 1);
}

.p3-modal-close:hover,
.p3-modal-close:focus-visible {
    color: var(--color-navy-950);
    background: var(--color-gold-light);
    border-color: var(--color-gold-light);
    transform: rotate(8deg);
}

.p3-modal-panel h2 {
    color: var(--color-white);
    margin: 0 3rem .5rem 0;
}

.p3-modal-panel>p {
    color: var(--color-muted);
}

.p3-auth-step[hidden] {
    display: none;
}

.p3-auth-step:not([hidden]) {
    animation: p3StepEnter 360ms cubic-bezier(.22, 1, .36, 1) both;
}

.p3-otp {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: .55rem;
    margin: 1rem 0;
}

.p3-otp input {
    width: 100%;
    min-width: 0;
    height: 3.4rem;
    text-align: center;
    color: var(--color-white);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, .04);
}

.p3-demo-code {
    padding: .8rem 1rem;
    border-left: 3px solid var(--color-gold);
    color: var(--color-gold-light);
    background: rgba(201, 154, 75, .08);
}

.p3-status {
    display: inline-flex;
    align-items: center;
    padding: .35rem .7rem;
    border-radius: 99px;
    color: var(--color-cyan);
    background: rgba(0, 151, 178, .14);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.p3-status--paid,
.p3-status--closed {
    color: var(--color-gold-light);
    background: rgba(201, 154, 75, .14);
}

.p3-cart-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 1rem;
    align-items: center;
    padding: 1.1rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.p3-cart-row h3 {
    margin-bottom: .3rem;
}

.p3-cart-row button {
    color: var(--color-muted);
    border: 0;
    background: transparent;
}

.p3-total {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: 1.4rem 0;
    color: var(--color-white);
    font-size: 1.25rem;
}

.p3-account-empty {
    text-align: center;
    padding: 3rem 1rem;
}

.p3-account-grid {
    align-items: stretch;
}

.p3-booking-page-grid {
    align-items: stretch;
}

.p3-booking-page-card {
    display: flex;
    min-height: 20rem;
    flex-direction: column;
}

.p3-booking-page-card>p:not(.idl-card-kicker) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.p3-booking-page-card .idl-card-link {
    margin-top: auto;
    padding-top: 1.15rem;
}

.p3-pass-card,
.p3-reservation-card {
    display: flex;
    min-height: 26rem;
    flex-direction: column;
}

.p3-account-card__heading {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.1rem;
}

.p3-account-card__heading .idl-card-icon {
    width: 2.85rem;
    height: 2.85rem;
    flex: 0 0 2.85rem;
    margin: 0;
}

.p3-account-card__heading>div {
    min-width: 0;
}

.p3-account-card__heading h3 {
    display: -webkit-box;
    margin: .25rem 0 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.p3-pass-card>.p3-status,
.p3-reservation-card>.p3-status {
    align-self: flex-start;
}

.p3-pass-card .idl-list,
.p3-reservation-card .idl-list {
    margin-top: 1.25rem;
}

.p3-reservation-card__meta {
    display: -webkit-box;
    margin: 1rem 0 0;
    overflow: hidden;
    color: var(--color-muted);
    font-size: .78rem;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.p3-account-card__footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-top: 1.25rem;
    padding-top: 1rem;
    color: var(--color-muted);
    border-top: 1px solid rgba(255, 255, 255, .08);
    font-size: .72rem;
}

.p3-account-card__footer strong {
    color: var(--color-gold-light);
    font-size: 1.05rem;
}

.p3-pass-card> :last-child,
.p3-reservation-card .p3-card-actions {
    margin-top: auto;
    padding-top: 1.15rem;
}

.p3-pass-ready {
    display: flex;
    align-items: center;
    gap: .55rem;
    color: var(--color-cyan);
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.5;
}

.p3-pass-document-card {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(20rem, .65fr);
    gap: clamp(1.25rem, 3vw, 2.5rem);
    align-items: center;
}

.p3-pass-document-preview {
    position: relative;
    min-height: 18rem;
    overflow: hidden;
    background: var(--color-navy-950);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: var(--radius-card);
}

.p3-pass-document-preview img {
    display: block;
    width: 100%;
    height: auto;
}

.p3-pass-preview-loading {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    gap: .75rem;
    color: var(--color-muted);
    text-align: center;
}

.p3-pass-preview-loading i {
    color: var(--color-gold-light);
    font-size: 1.5rem;
}

.p3-pass-document-details {
    min-width: 0;
}

.p3-pass-document-details h2 {
    margin: .25rem 0 0;
    color: var(--color-white);
    font-size: clamp(1.55rem, 3vw, 2.35rem);
    text-transform: uppercase;
}

.p3-pass-document-details .idl-list {
    margin-top: 1.25rem;
}

.p3-pass-document-details .p3-card-actions .idl-button {
    flex: 1 1 11rem;
}

.p3-reservation-card .p3-card-actions .idl-button {
    flex: 1 1 10rem;
}

.p3-session-table td:first-child {
    white-space: nowrap;
    color: var(--color-gold-light);
}

.p3-media-card {
    cursor: pointer;
}

.p3-media-card figure {
    position: relative;
}

.p3-media-card .fa-play {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    color: var(--color-navy-950);
    background: var(--color-gold-light);
}

.p3-anchor-offset,
[id] {
    scroll-margin-top: 7rem;
}

.idl-subsection-title {
    margin: 0 0 1.25rem;
    color: var(--color-white);
}

.p3-interest-grid {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.p3-interest-grid label {
    cursor: pointer;
}

.p3-interest-grid input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.p3-interest-grid input:checked+span {
    color: var(--color-navy-950);
    border-color: var(--color-gold-light);
    background: var(--color-gold-light);
}

.idl-more-menu {
    max-height: min(72vh, 38rem);
    overflow-y: auto;
}

body.p3-modal-open {
    overflow: hidden;
}

/* Shared catalogue favorites */
.idl-media-card figure {
    position: relative;
}

.p3-favorite-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    color: var(--color-white);
    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(1, 9, 18, .82);
    box-shadow: 0 .65rem 1.6rem rgba(0, 0, 0, .24);
    transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease, transform 280ms cubic-bezier(.22, 1, .36, 1), box-shadow 280ms ease;
}

.p3-favorite-button:hover,
.p3-favorite-button:focus-visible {
    color: var(--color-gold-light);
    border-color: rgba(201, 154, 75, .65);
    transform: translateY(-2px);
    box-shadow: 0 .9rem 2rem rgba(0, 0, 0, .32);
}

.p3-favorite-button.is-active {
    color: var(--color-navy-950);
    border-color: var(--color-gold-light);
    background: var(--color-gold-light);
}

.p3-favorite-button--overlay {
    position: absolute;
    z-index: 4;
    top: .85rem;
    right: .85rem;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border-radius: 50%;
}

.p3-favorite-button--detail {
    min-height: 2.7rem;
    padding: .7rem 1rem;
    border-radius: 99px;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.p3-info-favorite {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 1rem;
}

.p3-favorite-button.is-celebrating i {
    animation: p3FavoritePop 400ms cubic-bezier(.22, 1, .36, 1);
}

.p3-favorites-welcome {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    align-items: center;
    margin-bottom: 1.5rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    color: var(--color-white);
    background: linear-gradient(135deg, rgba(0, 151, 178, .16), rgba(201, 154, 75, .09)), var(--color-navy-900);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
}

.p3-favorites-welcome h2 {
    margin: 0;
    color: var(--color-white);
    font-size: clamp(1.55rem, 3vw, 2.35rem);
    line-height: 1;
    text-transform: uppercase;
}

.p3-favorites-welcome p:not(.idl-card-kicker) {
    max-width: 48rem;
    margin: .65rem 0 0;
    color: var(--color-muted);
    line-height: 1.65;
}

.p3-favorites-welcome .idl-button {
    flex: 0 0 auto;
}

.p3-favorites-tools {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.p3-favorites-tools .idl-search {
    max-width: none;
    margin: 0;
}

.p3-favorites-tools .idl-chip-bar {
    margin: 0;
}

.p3-favorites-tools .idl-chip span {
    display: inline-grid;
    min-width: 1.25rem;
    height: 1.25rem;
    margin-left: .25rem;
    place-items: center;
    color: inherit;
    background: rgba(255, 255, 255, .08);
    border-radius: 99px;
    font-size: .58rem;
}

.p3-favorites-empty-actions {
    justify-content: center;
}

.p3-favorites-grid .idl-media-card {
    min-height: var(--p3-catalog-card-min-height);
}

@keyframes p3FavoritePop {
    0% {
        transform: scale(1);
    }

    45% {
        transform: scale(1.35) rotate(-8deg);
    }

    100% {
        transform: scale(1);
    }
}

/* Compact transactional heroes and unified information/action layout */
.point3-page .p3-compact-hero {
    min-height: 18rem;
    padding: 7.4rem 0 2.25rem;
    align-items: end;
}

.point3-page .p3-compact-hero h1 {
    max-width: 26ch;
    font-size: clamp(2.15rem, 3.4vw, 3.5rem);
    line-height: 1;
}

.point3-page .p3-compact-hero .hub-hero-lead {
    max-width: 50rem;
    margin-top: 1rem;
    font-size: clamp(.95rem, 1.2vw, 1.08rem);
}

.point3-page .p3-compact-hero .idl-eyebrow {
    margin-bottom: .65rem;
}

.p3-listing-toolbar {
    display: grid;
    grid-template-columns: minmax(16rem, 1.25fr) minmax(20rem, 2fr) auto;
    gap: 1rem;
    align-items: end;
    margin-bottom: .65rem;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius-card);
    background: rgba(5, 24, 39, .7);
}

.p3-listing-toolbar .idl-search {
    width: 100%;
}

.p3-listing-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.p3-listing-filter {
    display: grid;
    min-width: 0;
    gap: .42rem;
}

.p3-listing-filter> :is(span, label) {
    color: var(--idl-muted);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.p3-listing-filter select {
    width: 100%;
    min-height: 3.15rem;
    padding: .72rem 2.75rem .72rem .85rem;
    color: var(--color-white);
    background-color: rgba(1, 9, 18, .76);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.25 6 6.25l5-5' stroke='%238F9DAA' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: .75rem .5rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--radius-sm);
    font-family: inherit;
    font-size: .74rem;
    font-weight: 650;
    outline: 0;
    appearance: none;
}

[dir="rtl"] .p3-listing-filter select {
    padding-right: .85rem;
    padding-left: 2.75rem;
    background-position: left 1rem center;
}

.p3-themed-select {
    position: relative;
    width: 100%;
    min-width: 0;
}

.p3-themed-select.is-open {
    z-index: 50;
}

.p3-themed-select.opens-up .p3-themed-select__menu {
    top: auto;
    bottom: calc(100% + .45rem);
}

.p3-themed-select__native {
    display: none !important;
}

.p3-themed-select__trigger {
    display: flex;
    width: 100%;
    min-height: 3.15rem;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .72rem 1rem .72rem .85rem;
    color: var(--idl-text);
    background: var(--idl-page);
    border: 1px solid var(--idl-line);
    border-radius: var(--radius-sm);
    font-family: inherit;
    font-size: .74rem;
    font-weight: 650;
    line-height: 1.35;
    text-align: start;
    cursor: pointer;
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.p3-themed-select__trigger>span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.p3-themed-select__trigger i {
    flex: 0 0 auto;
    color: var(--idl-muted);
    font-size: .68rem;
    transition: color 180ms ease, transform 180ms ease;
}

.p3-themed-select__trigger:hover,
.p3-themed-select__trigger:focus-visible,
.p3-themed-select.is-open .p3-themed-select__trigger {
    border-color: var(--idl-teal);
    outline: 0;
    box-shadow: 0 0 0 .2rem rgba(0, 151, 178, .13);
}

.p3-themed-select__trigger:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.p3-themed-select__trigger[aria-invalid="true"] {
    border-color: #d86a72;
    box-shadow: 0 0 0 .2rem rgba(216, 106, 114, .13);
}

.p3-themed-select.is-open .p3-themed-select__trigger i {
    color: var(--idl-teal);
    transform: rotate(180deg);
}

.p3-themed-select__menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + .45rem);
    inset-inline: 0;
    display: grid;
    gap: .2rem;
    max-height: min(18rem, 48vh);
    padding: .4rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    color: var(--idl-text);
    background: var(--idl-surface);
    border: 1px solid var(--idl-control-line);
    border-radius: .75rem;
    box-shadow: 0 1.15rem 2.6rem rgba(0, 0, 0, .38);
    scrollbar-width: thin;
    scrollbar-color: var(--idl-control-line) transparent;
}

.p3-themed-select__menu[hidden] {
    display: none;
}

.p3-themed-select__group {
    padding: .65rem .75rem .35rem;
    color: var(--idl-gold);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.p3-themed-select__option {
    display: flex;
    width: 100%;
    min-height: 2.75rem;
    align-items: center;
    gap: .75rem;
    padding: .68rem .75rem;
    color: var(--idl-muted);
    background: transparent;
    border: 1px solid transparent;
    border-radius: .55rem;
    font-family: inherit;
    font-size: .74rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: start;
    cursor: pointer;
}

.p3-themed-select__option:hover,
.p3-themed-select__option:focus-visible {
    color: var(--idl-text);
    background: var(--idl-soft);
    border-color: var(--idl-control-line);
    outline: 0;
}

.p3-themed-select__option[aria-selected="true"] {
    color: var(--idl-gold);
    background: color-mix(in srgb, var(--idl-gold) 10%, var(--idl-surface));
}

.p3-themed-select__option[aria-selected="true"]::after {
    content: "\2713";
    margin-inline-start: auto;
    color: var(--idl-gold);
    font-size: .78rem;
    font-weight: 900;
}

.p3-themed-select__option:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.p3-listing-filter select:hover,
.p3-listing-filter select:focus-visible {
    border-color: var(--color-cyan);
    box-shadow: 0 0 0 .2rem rgba(0, 151, 178, .13);
}

.p3-listing-filter option {
    color: var(--color-white);
    background: var(--color-navy-900);
}

.p3-listing-reset {
    display: inline-flex;
    min-height: 3.15rem;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .72rem 1rem;
    color: var(--color-white);
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--radius-sm);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.p3-listing-reset:hover:not(:disabled),
.p3-listing-reset:focus-visible {
    color: var(--color-navy-950);
    border-color: var(--color-gold);
    background: var(--color-gold);
}

.p3-listing-reset:disabled {
    opacity: .42;
    cursor: not-allowed;
}

.p3-listing-status {
    min-height: 1.2rem;
    margin: 0 0 1.25rem;
    color: var(--color-muted);
    font-size: .7rem;
}

.p3-breadcrumb {
    margin-bottom: 1rem;
}

.p3-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.p3-breadcrumb li {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--color-muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.p3-breadcrumb li:not(:last-child)::after {
    content: "›";
    color: var(--color-gold);
    font-size: 1rem;
}

.p3-breadcrumb a {
    color: var(--color-slate-400);
}

.p3-breadcrumb a:hover,
.p3-breadcrumb a:focus-visible {
    color: var(--color-gold-light);
}

.p3-breadcrumb [aria-current="page"] {
    color: var(--color-white);
}

.p3-transaction-layout {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr);
    gap: clamp(1.25rem, 3vw, 2.5rem);
    align-items: start;
}

.p3-transaction-info,
.p3-transaction-action {
    min-width: 0;
}

.p3-transaction-action>.idl-form-card,
.p3-transaction-action>.p3-action-panel {
    position: sticky;
    top: 7rem;
}

.p3-info-panel {
    overflow: hidden;
    color: var(--color-white);
    background: linear-gradient(145deg, rgba(10, 34, 52, .96), rgba(5, 24, 39, .92));
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
}

.p3-info-panel .p3-detail-figure {
    margin: 0;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius-card) var(--radius-card) 0 0;
}

.p3-info-panel .p3-detail-figure img {
    width: 100%;
    height: clamp(18rem, 34vw, 28rem);
    object-fit: cover;
    border-radius: inherit;
}

.p3-info-panel__body {
    padding: clamp(1.4rem, 3.4vw, 2.5rem);
}

.p3-info-panel h2,
.p3-action-panel h2,
.p3-request-form h2,
.p3-order-summary h2 {
    margin: 0;
    color: var(--color-white);
    font-size: clamp(1.75rem, 3vw, 2.65rem);
    line-height: 1.05;
    text-transform: uppercase;
}

.p3-info-panel__body>p:not(.idl-card-kicker),
.p3-action-panel>p:not(.idl-card-kicker) {
    margin: 1rem 0 0;
    color: var(--color-muted);
    line-height: 1.75;
}

.p3-info-panel .idl-badge-row {
    margin-top: 1.35rem;
}

.p3-info-section {
    margin-top: 1.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.p3-info-section h3 {
    margin: 0 0 1rem;
    color: var(--color-white);
    font-size: 1.2rem;
    text-transform: uppercase;
}

.p3-action-panel {
    grid-column: auto;
    padding: clamp(1.4rem, 3vw, 2rem);
}

.p3-action-panel .idl-button,
.p3-booking-panel>.idl-button {
    width: 100%;
    justify-content: center;
    margin-top: 1.25rem;
}

.p3-panel-link {
    display: flex;
    justify-content: center;
}

.p3-booking-price {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-end;
    margin-top: 1.5rem;
    padding: 1.1rem 0;
    border-block: 1px solid rgba(255, 255, 255, .08);
    color: var(--color-muted);
}

.p3-booking-price strong {
    color: var(--color-gold-light);
    font-size: 1.65rem;
}

.p3-availability {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-top: 1rem;
    color: var(--color-cyan);
    font-size: .78rem;
    font-weight: 700;
}

.p3-booking-quantity {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.25rem;
    color: var(--color-white);
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.p3-request-form {
    min-width: 0;
}

.p3-request-form .idl-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p3-request-form .idl-button {
    width: 100%;
    justify-content: center;
}

.p3-contact-list {
    display: grid;
    gap: .7rem;
    margin-top: 1.5rem;
}

.p3-contact-list a {
    display: flex;
    gap: .85rem;
    align-items: center;
    padding: .9rem 1rem;
    color: var(--color-white);
    background: rgba(255, 255, 255, .035);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius-sm);
}

.p3-contact-list a[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: .58;
}

.p3-contact-list i {
    width: 1.25rem;
    color: var(--color-gold-light);
    text-align: center;
}

.p3-contact-list span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.p3-contact-list small {
    display: block;
    margin-bottom: .15rem;
    color: var(--color-muted);
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.p3-social-row {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: 1.5rem;
}

.p3-social-link {
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    place-items: center;
    color: var(--color-gold-light);
    border: 1px solid rgba(201, 154, 75, .3);
    border-radius: 50%;
}

.p3-social-link:hover,
.p3-social-link:focus-visible {
    color: var(--color-navy-950);
    background: var(--color-gold-light);
}

/* Restored cart cards and live side drawer */
.p3-cart-page-layout {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(19rem, 4fr);
    gap: clamp(1.25rem, 3vw, 2.5rem);
    align-items: start;
}

[data-point3-page="cart"] .hub-hero {
    min-height: 20rem;
    padding: 7.5rem 0 2.5rem;
}

[data-point3-page="cart"] .hub-hero h1 {
    font-size: clamp(2.6rem, 6vw, 5.5rem);
    line-height: 1.05;
}

[data-point3-page="cart"] .hub-section {
    padding-block: clamp(2rem, 5vw, 4rem);
}

.p3-cart-list:has(.p3-cart-drawer__empty) {
    min-height: 22rem;
    place-items: center;
    border: 1px dashed rgba(201, 154, 75, .28);
    border-radius: var(--radius-card);
    background: rgba(10, 34, 52, .45);
}

.p3-cart-list .p3-cart-drawer__empty {
    max-width: 28rem;
}

.p3-cart-drawer__empty h3 {
    margin: 0 0 .7rem;
    color: var(--color-white);
    font-size: clamp(1.4rem, 2.5vw, 2rem);
}

.p3-cart-drawer__empty .idl-card-link {
    display: inline-flex;
    margin-top: 1.25rem;
}

.p3-cart-list {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.p3-cart-card {
    display: grid;
    grid-template-columns: 10rem minmax(0, 1fr);
    overflow: hidden;
    color: var(--color-white);
    background: linear-gradient(145deg, rgba(10, 34, 52, .96), rgba(5, 24, 39, .92));
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius-card);
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .14);
}

.p3-cart-card__image {
    width: 100%;
    height: 100%;
    min-height: 13rem;
    object-fit: cover;
}

.p3-cart-card__content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 1.25rem;
}

.p3-cart-card h3 {
    margin: 0;
    color: var(--color-white);
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    line-height: 1.15;
    text-transform: uppercase;
}

.p3-cart-card__meta {
    margin: .55rem 0 0;
    color: var(--color-muted);
    font-size: .78rem;
    line-height: 1.5;
}

.p3-cart-card__pricing {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-top: .8rem;
    color: var(--color-muted);
    font-size: .72rem;
}

.p3-cart-card__pricing strong {
    color: var(--color-gold-light);
    font-size: 1.15rem;
}

.p3-cart-card__controls {
    display: flex;
    justify-content: space-between;
    gap: .8rem;
    align-items: center;
    margin-top: .9rem;
}

.p3-quantity-control {
    display: inline-grid;
    grid-template-columns: 2.25rem minmax(2.25rem, auto) 2.25rem;
    align-items: center;
    overflow: hidden;
    color: var(--color-white);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 99px;
}

.p3-quantity-control button {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    color: var(--color-gold-light);
    background: transparent;
    border: 0;
}

.p3-quantity-control button:hover,
.p3-quantity-control button:focus-visible {
    color: var(--color-navy-950);
    background: var(--color-gold-light);
}

.p3-quantity-control output {
    min-width: 2.25rem;
    text-align: center;
    font-size: .8rem;
    font-weight: 800;
}

.p3-cart-remove {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .35rem;
    color: var(--color-muted);
    background: transparent;
    border: 0;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
}

.p3-cart-remove:hover,
.p3-cart-remove:focus-visible {
    color: var(--color-white);
}

.p3-order-summary {
    grid-column: auto;
    min-width: 0;
    padding: clamp(1.3rem, 2.5vw, 2rem);
    background: linear-gradient(145deg, rgba(17, 42, 63, .98), rgba(8, 29, 46, .98));
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: var(--radius-card);
}

.p3-order-summary h2 {
    margin: .4rem 0 1.5rem;
    font-size: clamp(1.6rem, 2.5vw, 2.35rem);
    line-height: 1.15;
}

.p3-order-summary .p3-total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-block: 1rem;
    border-block: 1px solid rgba(255, 255, 255, .12);
}

.p3-order-summary .p3-total strong {
    color: var(--color-white);
    white-space: nowrap;
}

.p3-order-summary [data-checkout-form] {
    display: grid;
    gap: .6rem;
}

[data-checkout-form][hidden],
[data-cart-auth][hidden],
[data-cart-empty-note][hidden] {
    display: none !important;
}

[data-cart-empty-note] {
    margin: 0;
    color: var(--color-muted);
    font-size: .85rem;
    line-height: 1.6;
}

.p3-order-summary [data-checkout-form] label {
    color: var(--color-white);
    font-size: .82rem;
    font-weight: 700;
}

.p3-order-summary [data-checkout-form] input {
    width: 100%;
    min-height: 2.9rem;
    padding: .65rem .85rem;
    color: var(--color-white);
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: .6rem;
}

.p3-order-summary .idl-button {
    width: 100%;
    justify-content: center;
    margin-top: .4rem;
}

.p3-order-summary .idl-button:disabled {
    cursor: not-allowed;
    opacity: .5;
}

.p3-cart-overlay {
    position: fixed;
    z-index: 1190;
    inset: 0;
    opacity: 0;
    background: rgba(1, 9, 18, .72);
    backdrop-filter: blur(5px);
    transition: opacity 300ms ease;
}

.p3-cart-overlay.is-open {
    opacity: 1;
}

.p3-cart-drawer {
    position: fixed;
    z-index: 1200;
    top: 0;
    right: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: min(28rem, 100%);
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
    color: var(--color-white);
    background: var(--color-navy-950);
    border-left: 1px solid rgba(201, 154, 75, .28);
    box-shadow: -2rem 0 5rem rgba(0, 0, 0, .4);
    transform: translateX(105%);
    transition: transform 360ms cubic-bezier(.22, 1, .36, 1);
}

.p3-cart-drawer[hidden] {
    display: none !important;
}

.p3-cart-drawer.is-open {
    transform: translateX(0);
}

.p3-cart-drawer>header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    min-height: 6.25rem;
    padding: .95rem 1.1rem;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.p3-cart-drawer>header .idl-card-kicker {
    margin-bottom: .3rem;
    font-size: .62rem;
}

.p3-cart-drawer h2 {
    margin: 0;
    color: var(--color-white);
    font-size: clamp(1.5rem, 4vw, 1.75rem);
    line-height: 1;
    text-transform: uppercase;
}

.p3-drawer-close {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    place-items: center;
    color: var(--color-white);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 50%;
}

.p3-cart-drawer__items {
    display: grid;
    min-height: 0;
    align-content: start;
    gap: .65rem;
    padding: .75rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: rgba(201, 154, 75, .42) transparent;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
}

.p3-cart-drawer__items::-webkit-scrollbar {
    width: .4rem;
}

.p3-cart-drawer__items::-webkit-scrollbar-thumb {
    background: rgba(201, 154, 75, .42);
    border-radius: 99px;
}

.p3-cart-card--compact {
    grid-template-columns: 5.15rem minmax(0, 1fr);
    min-height: 9.25rem;
}

.p3-cart-card--compact .p3-cart-card__image {
    min-height: 9.25rem;
}

.p3-cart-card--compact .p3-cart-card__content {
    justify-content: flex-start;
    padding: .7rem .75rem;
}

.p3-cart-card--compact .idl-card-kicker {
    margin-bottom: .3rem;
    font-size: .58rem;
}

.p3-cart-card--compact h3 {
    display: -webkit-box;
    overflow: hidden;
    font-size: .9rem;
    line-height: 1.18;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.p3-cart-card--compact .p3-cart-card__meta {
    display: -webkit-box;
    margin-top: .35rem;
    overflow: hidden;
    font-size: .65rem;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.p3-cart-card--compact .p3-cart-card__pricing {
    flex-direction: row;
    align-items: center;
    margin-top: .45rem;
    font-size: .62rem;
}

.p3-cart-card--compact .p3-cart-card__pricing strong {
    font-size: .92rem;
    white-space: nowrap;
}

.p3-cart-card--compact .p3-cart-card__controls {
    flex-direction: row;
    align-items: center;
    margin-top: .45rem;
}

.p3-cart-card--compact .p3-quantity-control {
    grid-template-columns: repeat(3, 1.85rem);
}

.p3-cart-card--compact .p3-quantity-control button {
    width: 1.85rem;
    height: 1.85rem;
}

.p3-cart-card--compact .p3-quantity-control output {
    min-width: 1.85rem;
    font-size: .68rem;
}

.p3-cart-card--compact .p3-cart-remove {
    padding: .25rem;
    font-size: .58rem;
}

.p3-cart-drawer>footer {
    max-height: min(16rem, 45dvh);
    padding: .75rem 1.1rem calc(.75rem + env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--color-navy-900);
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.p3-cart-drawer>footer .p3-total {
    margin: 0 0 .55rem;
    font-size: 1rem;
}

.p3-cart-drawer>footer .p3-total strong {
    font-size: 1.05rem;
}

.p3-cart-drawer>footer .idl-button {
    width: 100%;
    min-height: 2.65rem;
    justify-content: center;
    margin-top: .4rem;
    padding: .65rem .85rem;
    font-size: .66rem;
}

.p3-continue-button {
    width: 100%;
    padding: .6rem;
    color: var(--color-muted);
    background: transparent;
    border: 0;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.p3-cart-drawer__empty {
    padding: 3rem 1rem;
    text-align: center;
}

.p3-cart-drawer__empty p {
    color: var(--color-muted);
}

.p3-completion-panel {
    display: flex;
    flex-direction: column;
    width: min(52rem, calc(100% - 1.5rem));
    max-height: min(92dvh, 55rem);
    padding: 0;
    overflow: hidden;
    color: var(--idl-text);
    background: var(--idl-page);
    border-color: var(--idl-line);
}

.p3-completion-modal, [data-auth-modal] { z-index: 1300; }
.p3-completion-panel [hidden] { display: none !important; }

.p3-completion-header {
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
    padding: 1.5rem clamp(1.2rem, 4vw, 2rem) 1.65rem;
    background: radial-gradient(circle at 0 0, rgba(0, 151, 178, .16), transparent 48%), var(--idl-surface);
    border-bottom: 1px solid var(--idl-line);
}

.p3-completion-emblem {
    display: grid;
    flex: 0 0 3.25rem;
    width: 3.25rem;
    height: 3.25rem;
    place-items: center;
    color: var(--idl-teal);
    background: var(--idl-soft);
    border: 1px solid var(--idl-control-line);
    border-radius: .9rem;
    font-size: 1.15rem;
}

.p3-completion-header > div {
    min-width: 0;
    flex: 1;
}

.p3-completion-header .idl-card-kicker {
    margin: 0 0 .35rem;
    color: var(--idl-gold);
}

.p3-completion-header h2 {
    margin: 0 0 .45rem;
    color: var(--idl-text);
    font: 700 clamp(1.45rem, 3vw, 2rem)/1.15 var(--font-nav);
    letter-spacing: 0;
    text-transform: none;
}

.p3-completion-header p:last-child {
    margin: 0;
    color: var(--idl-muted);
    font-size: .88rem;
    line-height: 1.5;
}

.p3-completion-header .p3-modal-close {
    position: static;
    flex: 0 0 auto;
}

.p3-completion-body {
    --completion-pad: clamp(1.2rem, 4vw, 2rem);
    min-height: 0;
    padding: var(--completion-pad);
    overflow-y: auto;
    background: var(--idl-page);
    overscroll-behavior: contain;
    scrollbar-width: thin;
}

.p3-completion-gift {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: min(34rem, 86dvh);
    padding: 2.5rem 1.5rem;
    overflow-y: auto;
    color: var(--idl-text);
    background: radial-gradient(circle at 50% 30%, rgba(201, 154, 75, .14), transparent 48%), var(--idl-page);
    text-align: center;
}

.p3-completion-gift .idl-card-kicker { margin: 1.2rem 0 .4rem; color: var(--idl-gold); }
.p3-completion-gift h2 { margin: 0; color: var(--idl-text); font: 700 clamp(1.6rem, 4vw, 2.5rem)/1.16 var(--font-nav); text-transform: none; }
.p3-completion-gift > p:not(.idl-card-kicker) { max-width: 25rem; margin: .8rem 0 1.5rem; color: var(--idl-muted); line-height: 1.6; }
.p3-completion-gift .idl-button { min-width: 10rem; justify-content: center; margin-top: 0; }
.p3-completion-gift__art { position: relative; width: 12rem; height: 11rem; }
.p3-completion-gift__box { position: absolute; bottom: .7rem; left: 2rem; width: 8rem; height: 5.1rem; border-radius: .35rem .35rem .8rem .8rem; background: linear-gradient(90deg, #c99a4b 0 43%, #0689a0 43% 57%, #c99a4b 57%); box-shadow: 0 1rem 2rem rgba(0,0,0,.18); }
.p3-completion-gift__lid { position: absolute; z-index: 2; bottom: 5.55rem; left: 1.5rem; width: 9rem; height: 1.55rem; border-radius: .35rem; background: linear-gradient(90deg, #e4bf7a 0 44%, #079bb4 44% 56%, #e4bf7a 56%); box-shadow: 0 .3rem .7rem rgba(0,0,0,.18); transform-origin: 12% 100%; }
.p3-completion-gift__ticket { position: absolute; z-index: 1; bottom: 4rem; left: 3.55rem; display: grid; width: 4.9rem; height: 3.4rem; place-items: center; color: #00788c; background: #fffaf0; border: 2px solid #e4bf7a; border-radius: .55rem; box-shadow: 0 .4rem 1rem rgba(0,0,0,.18); font-size: 1.8rem; opacity: 0; transform: translateY(1.3rem) rotate(-7deg); }
.p3-completion-gift__spark { position: absolute; width: .65rem; height: .65rem; border-radius: 50%; background: var(--idl-gold); opacity: 0; }
.p3-completion-gift__spark--one { top: 1rem; left: 2rem; }
.p3-completion-gift__spark--two { top: .1rem; right: 2.2rem; background: var(--idl-teal); }
.p3-completion-gift__spark--three { top: 3.2rem; right: .3rem; }
.p3-completion-gift.is-revealed .p3-completion-gift__lid { animation: p3-gift-lid .9s .3s cubic-bezier(.22,1,.36,1) forwards; }
.p3-completion-gift.is-revealed .p3-completion-gift__ticket { animation: p3-gift-ticket .9s .7s cubic-bezier(.22,1,.36,1) forwards; }
.p3-completion-gift.is-revealed .p3-completion-gift__spark { animation: p3-gift-spark .8s .9s ease-out forwards; }
@keyframes p3-gift-lid { to { transform: translate(-.7rem, -2.3rem) rotate(-19deg); } }
@keyframes p3-gift-ticket { to { opacity: 1; transform: translateY(-3.1rem) rotate(-7deg); } }
@keyframes p3-gift-spark { 50% { opacity: 1; transform: translateY(-.7rem) scale(1.2); } to { opacity: .65; transform: translateY(-.4rem); } }
@media (prefers-reduced-motion: reduce) { .p3-completion-gift.is-revealed .p3-completion-gift__lid { animation: none; transform: translate(-.7rem,-2.3rem) rotate(-19deg); } .p3-completion-gift.is-revealed .p3-completion-gift__ticket { animation: none; opacity: 1; transform: translateY(-3.1rem) rotate(-7deg); } .p3-completion-gift.is-revealed .p3-completion-gift__spark { animation: none; opacity: .65; } }

@media (max-width: 36rem) {
    .p3-completion-header { gap: .75rem; padding-block: 1.15rem; }
    .p3-completion-emblem { flex-basis: 2.6rem; width: 2.6rem; height: 2.6rem; font-size: 1rem; }
}

/* Reusable passwordless account experience */
.p3-auth-modal-panel {
    width: min(64rem, 100%);
    padding: 0;
    overflow: hidden;
}

.p3-auth-modal-panel .p3-modal-close {
    z-index: 2;
    background: rgba(1, 9, 18, .72);
}

.p3-auth-shell {
    display: grid;
    grid-template-columns: minmax(17rem, .8fr) minmax(24rem, 1.2fr);
    min-height: 35rem;
    color: var(--color-white);
}

.p3-auth-brand {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 4vw, 3.25rem);
    background: linear-gradient(155deg, rgba(0, 151, 178, .2), rgba(5, 24, 39, .85)), url("../img/backgrounds/experience-bg.jpg?v=4") center/cover;
    border-right: 1px solid rgba(255, 255, 255, .08);
}

.p3-auth-brand img {
    width: 7rem;
    margin-bottom: 2rem;
}

.p3-auth-brand h2,
.p3-auth-heading h2,
.p3-auth-account h2 {
    margin: 0;
    color: var(--color-white);
    font-size: clamp(1.9rem, 3vw, 3rem);
    line-height: 1;
    text-transform: uppercase;
}

.p3-auth-brand p:not(.idl-card-kicker),
.p3-auth-heading p,
.p3-auth-account p {
    color: var(--color-muted);
    line-height: 1.65;
}

.p3-auth-workspace {
    padding: clamp(2rem, 4vw, 3.25rem);
}

.p3-auth-heading {
    padding-right: 2.5rem;
}

.p3-auth-progress {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 1.6rem 0 2rem;
    padding: 0 .35rem;
    list-style: none;
}

.p3-auth-progress li {
    position: relative;
    display: grid;
    min-width: 0;
    justify-items: center;
    gap: .5rem;
    color: var(--color-muted);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-align: center;
    text-transform: uppercase;
    transition: color 260ms ease, opacity 260ms ease;
}

.p3-auth-progress li::before {
    position: absolute;
    z-index: 0;
    top: .84rem;
    right: calc(50% + 1.05rem);
    left: calc(-50% + 1.05rem);
    height: 2px;
    content: "";
    background: rgba(255, 255, 255, .12);
    transition: background-color 320ms ease, opacity 320ms ease;
}

.p3-auth-progress li:first-child::before {
    display: none;
}

.p3-auth-progress span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    place-items: center;
    color: var(--color-muted);
    background: var(--color-navy-900);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
    box-shadow: 0 0 0 .3rem var(--color-navy-900);
    transition: color 260ms ease, background-color 260ms ease, border-color 260ms ease, transform 320ms cubic-bezier(.22, 1, .36, 1), box-shadow 320ms ease;
}

.p3-auth-progress li.is-active {
    color: var(--color-white);
}

.p3-auth-progress li.is-active::before {
    background: linear-gradient(90deg, var(--color-cyan), var(--color-gold-light));
}

.p3-auth-progress li.is-active span {
    color: var(--color-navy-950);
    background: var(--color-gold-light);
    border-color: var(--color-gold-light);
    box-shadow: 0 0 0 .3rem var(--color-navy-900), 0 0 0 .52rem rgba(201, 154, 75, .12);
    transform: scale(1.06);
}

.p3-auth-progress li.is-complete::before {
    background: var(--color-cyan);
}

.p3-auth-progress li.is-complete span {
    color: var(--color-white);
    background: var(--color-cyan);
    border-color: var(--color-cyan);
}

.p3-auth-progress li.is-skipped {
    color: var(--color-muted);
    opacity: .72;
}

.p3-input-icon {
    position: relative;
}

.p3-input-icon>i {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 1rem;
    color: var(--color-gold-light);
    transform: translateY(-50%);
}

.p3-input-icon>input {
    padding-left: 2.8rem;
}

.p3-auth-submit {
    display: flex;
    width: 100%;
    justify-content: center;
    gap: .55rem;
    margin-top: 1rem;
}

.p3-auth-submit.is-loading i {
    animation: p3Pulse .8s ease-in-out infinite alternate;
}

.idl-button.is-loading {
    cursor: wait;
    transform: none;
}

.idl-button.is-loading:not(.p3-auth-submit)::after {
    width: .85rem;
    height: .85rem;
    content: "";
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: p3Spin .75s linear infinite;
}

.p3-change-identifier,
.p3-resend-button {
    padding: .45rem 0;
    color: var(--color-gold-light);
    background: transparent;
    border: 0;
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.p3-resend-button {
    display: block;
    margin: .7rem auto 0;
    color: var(--color-muted);
}

.p3-resend-button:not(:disabled):hover {
    color: var(--color-gold-light);
}

.p3-auth-page {
    max-width: 64rem;
    margin-inline: auto;
    overflow: hidden;
    background: var(--color-navy-900);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
}

.p3-auth-account {
    padding: clamp(2rem, 5vw, 4rem);
    text-align: center;
}

.p3-auth-account .p3-card-actions {
    justify-content: center;
}

@keyframes p3Pulse {
    to {
        opacity: .35;
        transform: translateX(.2rem);
    }
}

@keyframes p3Spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes p3StepEnter {
    from {
        opacity: 0;
        transform: translateX(8px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes p3FormConfirm {
    0% {
        box-shadow: var(--shadow-soft);
    }

    45% {
        box-shadow: 0 0 0 .25rem rgba(0, 151, 178, .1), var(--shadow-soft);
    }

    100% {
        box-shadow: var(--shadow-soft);
    }
}

.idl-form-card.is-form-success {
    animation: p3FormConfirm 520ms ease;
}

/* Featured gallery carousel, bento library and filtered lightbox */
.p3-featured-section {
    padding-bottom: 0;
}

.p3-featured-carousel {
    position: relative;
    overflow: hidden;
    background: var(--color-navy-900);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
}

.p3-featured-track {
    position: relative;
    aspect-ratio: 16/7;
    min-height: 25rem;
}

.p3-featured-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms ease;
}

.p3-featured-slide.is-active {
    opacity: 1;
    visibility: visible;
}

.p3-featured-slide>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p3-featured-slide::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(90deg, rgba(1, 9, 18, .94), rgba(1, 9, 18, .2) 75%), linear-gradient(0deg, rgba(1, 9, 18, .85), transparent 60%);
}

.p3-featured-overlay {
    position: absolute;
    z-index: 1;
    right: clamp(1.5rem, 5vw, 4rem);
    bottom: clamp(2rem, 6vw, 4.5rem);
    left: clamp(1.5rem, 5vw, 4rem);
    max-width: 36rem;
}

.p3-featured-overlay h2 {
    margin: 0;
    color: var(--color-white);
    font-size: clamp(2.1rem, 5vw, 4.5rem);
    line-height: .95;
    text-transform: uppercase;
}

.p3-featured-overlay>p:last-child {
    margin-top: .8rem;
    color: var(--color-muted);
    line-height: 1.65;
}

.p3-carousel-control {
    position: absolute;
    z-index: 3;
    top: 50%;
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    place-items: center;
    color: var(--color-white);
    background: rgba(1, 9, 18, .72);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    transform: translateY(-50%);
}

.p3-carousel-control:hover,
.p3-carousel-control:focus-visible {
    color: var(--color-navy-950);
    background: var(--color-gold-light);
    border-color: var(--color-gold-light);
}

.p3-carousel-control--prev {
    left: 1rem;
}

.p3-carousel-control--next {
    right: 1rem;
}

.p3-featured-footer {
    position: absolute;
    z-index: 3;
    right: 1.25rem;
    bottom: 1.1rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    color: var(--color-white);
    font-size: .7rem;
    font-weight: 800;
}

.p3-carousel-dots {
    display: flex;
    gap: .4rem;
}

.p3-carousel-dots button {
    width: .5rem;
    height: .5rem;
    padding: 0;
    background: rgba(255, 255, 255, .38);
    border: 0;
    border-radius: 50%;
}

.p3-carousel-dots button.is-active {
    width: 1.4rem;
    background: var(--color-gold-light);
    border-radius: 99px;
}

.p3-gallery-group[hidden] {
    display: none;
}

.p3-bento-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-flow: dense;
    grid-auto-rows: 8rem;
    gap: 1rem;
}

.p3-bento-card {
    position: relative;
    grid-column: span 4;
    grid-row: span 3;
    min-width: 0;
    overflow: hidden;
    cursor: pointer;
    background: var(--color-navy-900);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius-card);
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .15);
}

.p3-bento-card--wide {
    grid-column: span 8;
}

.p3-bento-card--tall {
    grid-row: span 4;
}

.p3-bento-card figure {
    position: absolute;
    inset: 0;
    margin: 0;
}

.p3-bento-card figure::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(0deg, rgba(1, 9, 18, .96), rgba(1, 9, 18, .06) 75%);
}

.p3-bento-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 450ms ease;
}

.p3-bento-card:hover img,
.p3-bento-card:focus-visible img {
    transform: scale(1.045);
}

.p3-bento-card>div {
    position: absolute;
    z-index: 2;
    right: 1.15rem;
    bottom: 1.15rem;
    left: 1.15rem;
}

.p3-bento-card h3 {
    margin: 0;
    color: var(--color-white);
    font-size: clamp(1.15rem, 2.2vw, 1.75rem);
    line-height: 1.05;
    text-transform: uppercase;
}

.p3-bento-card>div>p:last-child {
    display: -webkit-box;
    margin: .45rem 0 0;
    overflow: hidden;
    color: var(--color-muted);
    font-size: .72rem;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.p3-media-type {
    position: absolute;
    z-index: 2;
    top: .8rem;
    right: .8rem;
    display: inline-flex;
    gap: .35rem;
    align-items: center;
    padding: .4rem .65rem;
    color: var(--color-white);
    background: rgba(1, 9, 18, .72);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 99px;
    font-size: .6rem;
    font-weight: 800;
    text-transform: uppercase;
}

.p3-media-modal-panel {
    width: min(70rem, 100%);
}

.p3-lightbox-stage {
    position: relative;
}

.p3-lightbox-stage .p3-card-image {
    max-height: 65vh;
    aspect-ratio: auto;
    object-fit: contain;
    background: var(--color-navy-950);
}

.p3-lightbox-stage video.p3-card-image,
.p3-lightbox-stage iframe.p3-card-image {
    width: 100%;
    min-height: min(65vh, 40rem);
    border: 0;
}

.p3-media-modal-panel>[data-media-caption] {
    color: var(--color-muted);
}

/* Stable cards, shared corners and bottom-aligned card actions */
:where(.idl-card, .idl-form-card, .p3-info-panel, .p3-modal-panel, .p3-auth-page, .p3-featured-carousel, .p3-bento-card, .p3-cart-card, .p3-account-dropdown, .idl-more-menu) {
    border-radius: var(--radius-card);
}

.idl-grid>.idl-card {
    height: 100%;
}

.idl-grid>.idl-media-card {
    display: flex;
    flex-direction: column;
}

.point3-page .idl-grid>.idl-media-card {
    min-height: var(--p3-catalog-card-min-height);
}

.idl-grid>.idl-media-card>div {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
}

.idl-grid>.idl-media-card h3 {
    display: -webkit-box;
    min-height: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.idl-grid>.idl-media-card>div>p:not(.idl-card-kicker) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.idl-grid>.idl-media-card .idl-card-link {
    margin-top: auto;
    padding-top: 1.1rem;
}

.point3-page .idl-grid>.idl-card:not(.idl-media-card) {
    display: flex;
    flex-direction: column;
}

.point3-page .idl-grid>.idl-card:not(.idl-media-card)> :is(.idl-card-link, .idl-button):last-child {
    margin-top: auto !important;
}

/* Explicit, font-independent dropdown disclosure icon */
.site-navbar .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.site-navbar .dropdown-toggle::after {
    display: none !important;
}

.p3-dropdown-icon {
    width: .7rem;
    height: .5rem;
    flex: 0 0 auto;
    overflow: visible;
    color: var(--color-gold-light);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform var(--transition);
}

.site-navbar .dropdown-toggle[aria-expanded="true"] .p3-dropdown-icon {
    transform: rotate(180deg);
}

.site-navbar.is-hidden:not(.is-menu-open) {
    transform: translateY(0);
}

/* Restored conference registration journey */
.register-page .site-navbar {
    position: relative;
}

.register-page .register-wizard-form,
.register-page .register-verify {
    width: 100%;
}

.register-page .register-select {
    padding-left: 1rem;
    color-scheme: dark;
}

html[data-theme="dark"] .register-page #reg-specialization:valid {
    color: #1f2937 !important;
    background: #e8f0fe !important;
    color-scheme: light;
}

.register-page .register-select option {
    color: var(--color-white);
    background: var(--color-navy-950);
}

.register-page .interest-tags {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.register-page .interest-tags legend {
    float: none;
    width: 100%;
    margin-bottom: .75rem;
}

.register-page .interest-tag {
    position: relative;
}

.register-page .interest-tag input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.register-page .interest-tag:has(input:checked) {
    border-color: var(--color-gold);
    color: var(--color-gold-light);
    background: rgba(201, 154, 75, .12);
}

.register-page .interest-tag:has(input:checked) .tag-check {
    display: inline-block;
}

.register-page .interest-tag:has(input:focus-visible),
.register-page .toggle-switch:has(input:focus-visible) {
    outline: 2px solid var(--color-cyan);
    outline-offset: 3px;
}

.register-page .register-back {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .7rem .5rem;
    border: 0;
    background: transparent;
    color: var(--color-muted);
    font: 600 .82rem var(--font-nav);
    cursor: pointer;
}

.register-page .register-back:hover {
    color: var(--color-white);
}

.register-page .register-verify {
    max-width: 32rem;
    margin-inline: auto;
}

.register-page .register-verify .step-description {
    margin-top: 0;
}

.register-page .step-wizard-item {
    padding: 0;
    border: 0;
    background: transparent;
}

.register-page .step-wizard-item[aria-disabled="false"] {
    cursor: pointer;
}

.register-page .step-wizard-item[aria-disabled="true"] {
    cursor: default;
}

.register-page .custom-select-trigger {
    text-align: left;
}

.register-page .custom-option {
    width: 100%;
    background: transparent;
    text-align: left;
}

.register-page .register-field-note {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: .35rem 0 0;
    color: var(--color-muted);
    font-size: .72rem;
    line-height: 1.55;
}

.register-page .register-field-note i {
    color: var(--color-cyan);
}

.register-page .register-ticket-block {
    margin-top: 2rem;
}

.register-page .register-ticket-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.register-page .register-ticket-options label {
    min-width: 0;
    cursor: pointer;
}

.register-page .register-ticket-options input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.register-page .register-ticket-options span {
    display: flex;
    min-height: 12rem;
    height: 100%;
    flex-direction: column;
    gap: .5rem;
    padding: 1rem;
    color: var(--color-muted);
    background: rgba(1, 9, 18, .64);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--radius-card);
    transition: border-color var(--transition), background var(--transition), transform var(--transition);
}

.register-page .register-ticket-options b {
    color: var(--color-white);
    font-size: .78rem;
    line-height: 1.45;
}

.register-page .register-ticket-options small {
    display: -webkit-box;
    overflow: hidden;
    font-size: .65rem;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.register-page .register-ticket-options strong {
    margin-top: auto;
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 400;
}

.register-page .register-ticket-options input:checked+span {
    background: rgba(201, 154, 75, .1);
    border-color: var(--color-gold);
    transform: translateY(-2px);
}

.register-page .register-ticket-options input:focus-visible+span {
    outline: 2px solid var(--color-cyan);
    outline-offset: 2px;
}

.register-page .p3-complimentary-pass article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.2rem;
    color: var(--color-muted);
    background: linear-gradient(135deg, rgba(0, 151, 178, .12), rgba(201, 154, 75, .08)), rgba(1, 9, 18, .7);
    border: 1px solid rgba(201, 154, 75, .34);
    border-radius: var(--radius-card);
}

.register-page .p3-complimentary-pass .idl-card-icon {
    margin: 0;
}

.register-page .p3-complimentary-pass b,
.register-page .p3-complimentary-pass small {
    display: block;
}

.register-page .p3-complimentary-pass b {
    color: var(--color-white);
    font-size: 1rem;
}

.register-page .p3-complimentary-pass small {
    margin-top: .35rem;
    line-height: 1.55;
}

.register-page .p3-complimentary-pass article>strong {
    color: var(--color-gold-light);
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 400;
    text-transform: uppercase;
}

.register-page .register-consent {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin-top: 2rem;
    color: var(--color-muted);
    font-size: .72rem;
    line-height: 1.55;
}

.register-page .register-consent input {
    margin-top: .2rem;
    accent-color: var(--color-gold);
}

.register-page .register-consent a {
    color: var(--color-gold-light);
}

.register-page .sign-in-link {
    padding: .4rem 0;
    border: 0;
    background: transparent;
}

.register-page .register-account-confirmation {
    margin-top: 1.5rem;
    padding: clamp(1.15rem, 3vw, 1.6rem);
    color: var(--color-muted);
    background: linear-gradient(135deg, rgba(0, 151, 178, .1), rgba(201, 154, 75, .07)), rgba(3, 16, 28, .9);
    border: 1px solid rgba(201, 154, 75, .25);
    border-radius: var(--radius-card);
    animation: registerFadeSlideIn .45s cubic-bezier(.22, 1, .36, 1) both;
}

.register-page .register-account-heading {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.register-page .register-account-heading h3 {
    margin: 0 0 .45rem;
    color: var(--color-white);
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 3vw, 1.9rem);
    font-weight: 400;
    text-transform: uppercase;
}

.register-page .register-account-heading p {
    margin: 0;
    line-height: 1.6;
}

.register-page .register-account-icon,
.register-page .register-complete-icon {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    flex: 0 0 2.8rem;
    place-items: center;
    color: var(--color-navy-950);
    background: var(--color-gold-light);
    border-radius: 50%;
}

.register-page .register-account-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    margin-top: 1rem;
}

.register-page .register-account-actions .p3-resend-button,
.register-page .register-account-actions .p3-change-identifier {
    margin: 0;
}

.register-page .register-complete {
    padding: clamp(2rem, 6vw, 4.5rem);
    text-align: center;
    background: radial-gradient(circle at 50% 0, rgba(0, 151, 178, .14), transparent 54%), rgba(0, 151, 178, .08);
    border: 1px solid rgba(0, 151, 178, .3);
    border-radius: var(--radius-card);
    animation: registerFadeSlideIn .45s cubic-bezier(.22, 1, .36, 1) both;
}

.register-page .register-complete-icon {
    margin: 0 auto 1rem;
    background: var(--color-cyan);
}

.register-page .register-complete h3 {
    color: var(--color-white);
    font-family: var(--font-display);
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 400;
    text-transform: uppercase;
}

.register-page .register-complete>p:not(.step-indicator) {
    max-width: 38rem;
    margin-inline: auto;
    color: var(--color-muted);
    line-height: 1.7;
}

.register-page .register-complete .p3-card-actions {
    justify-content: center;
}

.register-page .register-complete>.idl-button {
    margin-top: 1.25rem;
}

.register-page .register-checkout-progress {
    width: min(20rem, 80%);
    height: 3px;
    margin: 1.75rem auto .9rem;
    overflow: hidden;
    background: rgba(255, 255, 255, .1);
    border-radius: 999px;
}

.register-page .register-checkout-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, var(--color-cyan), var(--color-gold-light));
    transform: scaleX(0);
    transform-origin: left;
    animation: registerCheckoutProgress 2.2s linear forwards;
}

.register-page .register-checkout-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    margin-bottom: 0 !important;
    color: var(--color-gold-light) !important;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.register-page.registration-thank-you .register-hero,
.register-page.registration-thank-you #p3-root>footer {
    display: none;
}

.register-page.registration-thank-you #p3-root>main {
    min-height: calc(100svh - 6rem);
}

.register-page.registration-thank-you .register-form-section {
    display: grid;
    min-height: calc(100svh - 6rem);
    place-items: center;
    padding-block: clamp(2rem, 7vh, 5rem);
}

.register-page.registration-thank-you .register-form-container {
    width: min(100%, 64rem);
    padding-block: 0;
}

.register-page.registration-thank-you .step-wizard {
    display: none;
}

.register-page.registration-thank-you [data-register-panel="3"]> :not([data-registration-complete]) {
    display: none !important;
}

.register-page.registration-thank-you .register-complete {
    display: flex;
    min-height: clamp(27rem, 68vh, 38rem);
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.register-page [data-register-account][hidden],
.register-page [data-registration-complete][hidden],
.register-page [data-register-footer][hidden] {
    display: none !important;
}

.register-page [data-register-status] {
    margin-top: 1rem;
}

.register-page [data-registration-wizard].is-form-success {
    animation: p3FormConfirm 520ms ease;
}

@keyframes registerCheckoutProgress {
    to {
        transform: scaleX(1);
    }
}

@media (prefers-reduced-motion: reduce) {

    .p3-featured-slide,
    .p3-cart-drawer,
    .p3-cart-overlay,
    .p3-bento-card img,
    .p3-dropdown-icon,
    .p3-modal,
    .p3-modal-panel,
    .p3-auth-progress li,
    .p3-auth-progress span,
    .p3-account-dropdown {
        transition-duration: .01ms !important;
    }

    .p3-auth-submit.is-loading i,
    .idl-button.is-loading:not(.p3-auth-submit)::after,
    .p3-auth-step:not([hidden]),
    .idl-form-card.is-form-success,
    [data-registration-wizard].is-form-success,
    .p3-favorite-button.is-celebrating i {
        animation: none;
    }

    .register-page .register-checkout-progress span {
        animation: none;
        transform: scaleX(1);
    }

    .p3-favorite-button {
        transition-duration: .01ms !important;
    }
}

@media (max-width: 991.98px) {
    .p3-listing-toolbar {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .p3-listing-reset {
        justify-self: start;
    }

    .p3-transaction-layout,
    .p3-cart-page-layout {
        grid-template-columns: 1fr;
    }

    .p3-transaction-action>.idl-form-card,
    .p3-transaction-action>.p3-action-panel {
        position: static;
    }

    .p3-auth-shell {
        grid-template-columns: 1fr;
    }

    .p3-auth-brand {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .08);
    }

    .p3-auth-brand .idl-list {
        display: none;
    }

    .p3-bento-card {
        grid-column: span 6;
    }

    .p3-bento-card--wide {
        grid-column: span 12;
    }
}

@media (max-width: 767px) {
    .point3-page .hub-hero h1 {
        max-width: 100%;
        font-size: clamp(2.65rem, 11.5vw, 3.45rem);
        line-height: .98;
    }

    .point3-page .p3-compact-hero {
        min-height: 0;
        padding: 6.9rem 0 2.2rem;
    }

    .point3-page .p3-compact-hero h1 {
        font-size: clamp(1.95rem, 8.5vw, 2.65rem);
    }

    .p3-compact-hero .hub-hero-actions {
        margin-top: 1.25rem;
    }

    .p3-transaction-layout {
        gap: 1rem;
    }

    .p3-listing-filters {
        grid-template-columns: 1fr;
    }

    .p3-listing-toolbar {
        padding: .85rem;
    }

    .p3-listing-reset {
        width: 100%;
    }

    .p3-info-panel .p3-detail-figure img {
        height: 16rem;
    }

    .p3-request-form .idl-form-grid {
        grid-template-columns: 1fr;
    }

    .p3-request-form .idl-field {
        grid-column: 1;
    }

    .p3-cart-row {
        grid-template-columns: 1fr auto;
    }

    .p3-cart-row button {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .p3-cart-card {
        grid-template-columns: 6.25rem minmax(0, 1fr);
    }

    .p3-cart-card__image {
        min-height: 100%;
    }

    .p3-cart-card__content {
        padding: .85rem;
    }

    .p3-cart-card__pricing,
    .p3-cart-card__controls {
        align-items: flex-start;
        flex-direction: column;
    }

    .p3-cart-card--compact {
        grid-template-columns: 5.15rem minmax(0, 1fr);
    }

    .p3-cart-drawer {
        width: min(28rem, 100%);
    }

    .p3-cart-drawer__items {
        padding: .75rem;
    }

    .p3-cart-drawer>header,
    .p3-cart-drawer>footer {
        padding-inline: 1rem;
    }

    .p3-auth-brand {
        display: none;
    }

    .p3-auth-workspace {
        padding: 1.5rem 1.15rem;
    }

    .p3-auth-heading {
        padding-right: 2.5rem;
    }

    .p3-auth-modal-panel {
        border-radius: var(--radius-card);
    }

    .p3-auth-progress {
        margin-block: 1.25rem;
    }

    .p3-auth-progress li {
        gap: .42rem;
        font-size: .56rem;
        letter-spacing: .035em;
    }

    .p3-auth-progress span {
        width: 1.65rem;
        height: 1.65rem;
    }

    .p3-auth-progress li::before {
        top: .79rem;
        right: calc(50% + 1rem);
        left: calc(-50% + 1rem);
    }

    .p3-otp {
        gap: .35rem;
    }

    .p3-otp input {
        height: 3rem;
    }

    .p3-featured-track {
        min-height: 28rem;
        aspect-ratio: auto;
    }

    .p3-featured-slide::after {
        background: linear-gradient(0deg, rgba(1, 9, 18, .96), rgba(1, 9, 18, .15) 85%);
    }

    .p3-featured-overlay {
        right: 1.25rem;
        bottom: 3.5rem;
        left: 1.25rem;
    }

    .p3-featured-overlay h2 {
        font-size: 2.4rem;
    }

    .p3-carousel-control {
        top: 1rem;
        transform: none;
    }

    .p3-carousel-control--prev {
        left: 1rem;
    }

    .p3-carousel-control--next {
        right: 1rem;
    }

    .p3-bento-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
    }

    .p3-bento-card,
    .p3-bento-card--wide,
    .p3-bento-card--tall {
        grid-column: 1;
        grid-row: auto;
        min-height: 21rem;
    }

    .p3-lightbox-stage .p3-carousel-control {
        top: 50%;
        transform: translateY(-50%);
    }

    .site-navbar .navbar-collapse .p3-auth-actions {
        display: none;
    }

    .p3-favorites-welcome {
        align-items: flex-start;
        flex-direction: column;
    }

    .p3-favorites-welcome .idl-button {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 767px) {
    .register-page .p3-complimentary-pass article {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .register-page .p3-complimentary-pass article>strong {
        grid-column: 2;
        font-size: 1.1rem;
    }

    .p3-pass-document-card {
        grid-template-columns: 1fr;
    }

    .p3-pass-document-preview {
        min-height: 11rem;
    }

    .register-page .register-ticket-options {
        grid-template-columns: 1fr;
    }

    .register-page .register-ticket-options span {
        min-height: 8.5rem;
    }

    .register-page .register-account-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .register-page .register-account-actions>* {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    .p3-cart-drawer {
        width: 100%;
        border-left: 0;
    }

    .p3-cart-drawer>header {
        min-height: 5.6rem;
    }
}

/* Global public search */
.p3-search-icon {
    position: relative;
    display: inline-grid;
    width: 2.65rem;
    height: 2.65rem;
    margin: 0 .8rem 0 0;
    padding: 0;
    flex: 0 0 2.65rem;
    place-items: center;
    color: var(--color-white);
    border: 1px solid rgba(0, 151, 178, .42);
    border-radius: 50%;
    background: rgba(2, 17, 29, .5);
    font-size: .9rem;
    transition: color var(--transition), border-color var(--transition), background var(--transition), transform var(--transition);
}

.p3-search-icon i {
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    background-color: currentColor;
    font-size: 0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}

.p3-search-icon--mobile {
    display: none;
}

.p3-search-icon:hover,
.p3-search-icon:focus-visible,
.p3-search-icon[aria-expanded="true"] {
    color: var(--color-gold-light);
    border-color: var(--color-cyan);
    background: rgba(0, 151, 178, .14);
    transform: translateY(-1px);
}

.p3-global-search-overlay {
    position: fixed;
    z-index: 1600;
    inset: 0;
    display: grid;
    padding: clamp(1rem, 4vw, 3rem);
    place-items: start center;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    transition: opacity 220ms ease, visibility 0s linear 220ms;
}

.p3-global-search-overlay[hidden] {
    display: none !important;
}

.p3-global-search-overlay.is-open {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
}

.p3-global-search-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(1, 9, 18, .88);
    backdrop-filter: blur(14px);
}

.p3-global-search-dialog {
    position: relative;
    display: flex;
    width: min(52rem, 100%);
    max-height: calc(100vh - clamp(2rem, 8vw, 6rem));
    max-height: calc(100dvh - clamp(2rem, 8vw, 6rem) - clamp(2rem, 8vh, 5.5rem));
    margin-top: clamp(2rem, 8vh, 5.5rem);
    padding: clamp(1.15rem, 3vw, 2rem);
    flex-direction: column;
    color: var(--color-white);
    border: 1px solid rgba(201, 154, 75, .28);
    border-radius: var(--radius-card);
    background:
        radial-gradient(circle at 85% 0%, rgba(0, 151, 178, .13), transparent 34%),
        var(--color-navy-900);
    box-shadow: 0 2rem 6rem rgba(0, 0, 0, .46);
    opacity: 0;
    transform: translateY(14px) scale(.985);
    transition: opacity 220ms ease, transform 320ms cubic-bezier(.22, 1, .36, 1);
}

.p3-global-search-overlay.is-open .p3-global-search-dialog {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.p3-global-search-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.15rem;
    flex-shrink: 0;
}

.p3-global-search-header .idl-card-kicker {
    margin: 0 0 .3rem;
}

.p3-global-search-header h2 {
    margin: 0;
    color: var(--color-white);
    font-family: "Anton", sans-serif;
    font-size: clamp(1.75rem, 4vw, 2.55rem);
    font-weight: 400;
    letter-spacing: .01em;
    line-height: 1;
    text-transform: uppercase;
}

.p3-global-search-close {
    display: grid;
    width: 2.65rem;
    height: 2.65rem;
    padding: 0;
    flex: 0 0 2.65rem;
    place-items: center;
    color: var(--color-white);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
    background: rgba(255, 255, 255, .04);
}

.p3-global-search-close:hover,
.p3-global-search-close:focus-visible {
    color: var(--color-navy-950);
    border-color: var(--color-gold-light);
    background: var(--color-gold-light);
}

.p3-global-search-form,
.p3-search-page-form {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: var(--radius-pill);
    background: rgba(1, 9, 18, .72);
    box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .16);
    flex-shrink: 0;
}

.p3-global-search-form:focus-within,
.p3-search-page-form:focus-within {
    border-color: var(--color-cyan);
    box-shadow: 0 0 0 .22rem rgba(0, 151, 178, .14);
}

.p3-global-search-form>i,
.p3-search-page-form>i {
    margin-inline-start: 1.15rem;
    color: var(--color-gold-light);
}

.p3-global-search-form input,
.p3-search-page-form input {
    width: 100%;
    min-width: 0;
    min-height: 3.5rem;
    padding: .75rem 1rem;
    color: var(--color-white);
    border: 0;
    outline: 0;
    background: transparent;
    font: inherit;
}

.p3-global-search-form input::placeholder,
.p3-search-page-form input::placeholder {
    color: var(--color-muted);
}

.p3-global-search-form button {
    display: grid;
    width: 2.65rem;
    height: 2.65rem;
    margin-inline-end: .42rem;
    padding: 0;
    place-items: center;
    color: var(--color-navy-950);
    border: 0;
    border-radius: 50%;
    background: var(--color-gold-light);
}

.p3-global-search-results {
    min-height: 0;
    max-height: min(32rem, calc(100vh - 15rem));
    margin-top: 1rem;
    padding-right: .3rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(82, 126, 148, .62) transparent;
}

.p3-global-search-results::-webkit-scrollbar { width: 5px; }
.p3-global-search-results::-webkit-scrollbar-track { margin-block: .45rem; background: transparent; }
.p3-global-search-results::-webkit-scrollbar-thumb { min-height: 3rem; border-radius: 100vmax; background: rgba(82, 126, 148, .62); }
.p3-global-search-results::-webkit-scrollbar-thumb:hover { background: rgba(0, 151, 178, .82); }

.p3-global-search-all {
    align-self: flex-start;
    flex-shrink: 0;
    margin-top: 1rem;
}

.p3-global-search-all[hidden] { display: none; }

.p3-global-search-group+.p3-global-search-group {
    margin-top: 1rem;
}

.p3-global-search-group h3 {
    position: sticky;
    z-index: 1;
    top: 0;
    margin: 0;
    padding: .35rem .2rem .55rem;
    color: var(--color-gold-light);
    background: var(--color-navy-900);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.p3-global-search-option {
    display: grid;
    grid-template-columns: 3.35rem minmax(0, 1fr) auto;
    min-height: 4.45rem;
    align-items: center;
    gap: .9rem;
    margin-bottom: .38rem;
    padding: .52rem .7rem;
    color: var(--color-white);
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, .035);
    text-decoration: none;
}

.p3-global-search-option:hover,
.p3-global-search-option:focus-visible,
.p3-global-search-option.is-active {
    color: var(--color-white);
    border-color: rgba(0, 151, 178, .55);
    background: rgba(0, 151, 178, .12);
    outline: 0;
}

.p3-global-search-option>img,
.p3-global-search-fallback {
    display: grid;
    width: 3.35rem;
    height: 3.35rem;
    place-items: center;
    overflow: hidden;
    color: var(--color-gold-light);
    border-radius: .65rem;
    background: rgba(201, 154, 75, .1);
    object-fit: cover;
}

.p3-global-search-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: .23rem;
}

.p3-global-search-copy strong {
    overflow: hidden;
    color: var(--color-white);
    font-size: .82rem;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.p3-global-search-copy small {
    overflow: hidden;
    color: var(--color-muted);
    font-size: .68rem;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.p3-global-search-option>.fa-arrow-right {
    color: var(--color-cyan);
    font-size: .72rem;
}

.p3-global-search-state {
    display: grid;
    min-height: 8rem;
    place-items: center;
    align-content: center;
    gap: .8rem;
    padding: 1.5rem;
    color: var(--color-muted);
    text-align: center;
}

.p3-global-search-state>i {
    color: var(--color-gold-light);
    font-size: 1.4rem;
}

.p3-global-search-state p {
    margin: 0;
}

.p3-global-search-state.is-loading>i {
    color: var(--color-cyan);
}

.p3-search-page-form {
    width: min(48rem, 100%);
    margin-top: 1.5rem;
}

.p3-search-page-form .idl-button {
    min-height: 3rem;
    margin-right: .25rem;
    padding-inline: 1.35rem;
    border-radius: var(--radius-pill);
}

.p3-search-results-page {
    min-height: 26rem;
}

.p3-search-result-group+.p3-search-result-group {
    margin-top: clamp(2.5rem, 5vw, 4rem);
}

.p3-search-result-group .idl-grid {
    align-items: stretch;
}

.p3-search-page .idl-grid>.p3-search-result-card {
    display: grid;
    min-height: 15rem;
    grid-template-columns: 5.25rem minmax(0, 1fr);
    align-items: start;
    gap: 1rem;
}

.p3-search-result-media {
    display: grid;
    width: 5.25rem;
    height: 5.25rem;
    place-items: center;
    overflow: hidden;
    color: var(--color-gold-light);
    border-radius: var(--radius-sm);
    background: rgba(201, 154, 75, .1);
    font-size: 1.35rem;
}

.p3-search-result-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p3-search-result-card>div:last-child {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
}

.p3-search-result-card h3 {
    color: var(--color-white);
}

.p3-search-result-card p:not(.idl-card-kicker) {
    display: -webkit-box;
    overflow: hidden;
    color: var(--color-muted);
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.p3-search-result-card .idl-card-link {
    margin-top: auto;
    padding-top: 1rem;
}

@media (max-width: 991.98px) {
    body[class] .site-navbar .p3-search-icon--desktop {
        display: none;
    }

    body[class] .site-navbar .p3-search-icon--mobile {
        display: inline-grid;
        width: 2.5rem;
        height: 2.5rem;
        margin: 0 .45rem 0 0;
        flex-basis: 2.5rem;
        order: 2;
    }
}

@media (max-width: 575.98px) {
    .p3-global-search-overlay {
        padding: 0;
    }

    .p3-global-search-dialog {
        width: 100%;
        height: 100vh;
        height: 100dvh;
        max-height: none;
        margin: 0;
        padding:
            calc(1rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
        border: 0;
        border-radius: 0;
    }

    .p3-global-search-results {
        max-height: none;
        flex: 1;
    }

    .p3-global-search-header {
        margin-bottom: 1rem;
    }

    .p3-global-search-header h2 {
        font-size: 1.8rem;
    }

    .p3-global-search-form input {
        min-height: 3.25rem;
        padding-inline: .75rem;
        font-size: .8rem;
    }

    .p3-global-search-form>i {
        margin-inline-start: .9rem;
    }

    .p3-global-search-option {
        grid-template-columns: 2.85rem minmax(0, 1fr) auto;
        gap: .72rem;
        padding-inline: .45rem;
    }

    .p3-global-search-option>img,
    .p3-global-search-fallback {
        width: 2.85rem;
        height: 2.85rem;
    }

    .p3-search-page-form {
        grid-template-columns: auto minmax(0, 1fr);
        border-radius: var(--radius-sm);
    }

    .p3-search-page-form .idl-button {
        grid-column: 1 / -1;
        width: calc(100% - .5rem);
        margin: 0 .25rem .25rem;
    }

    .p3-search-page .idl-grid>.p3-search-result-card {
        min-height: 0;
        grid-template-columns: 4rem minmax(0, 1fr);
    }

    .p3-search-result-media {
        width: 4rem;
        height: 4rem;
    }
}

@media (prefers-reduced-motion: reduce) {

    .p3-global-search-overlay,
    .p3-global-search-dialog,
    .p3-search-icon {
        transition-duration: .01ms !important;
    }
}

/* Public directory refresh: shared utility, cards, featured rail and mobile navigation. */
body.p3-filter-open,
body.p3-nav-open {
    overflow: hidden;
}

.p3-listing-utility-section {
    position: relative;
    background: var(--color-navy-950);
}

.p3-listing-utility-section>.container {
    padding-top: 1rem;
}

.p3-listing-results-section {
    padding-top: clamp(1.5rem, 4vw, 3rem);
}

.p3-listing-featured-section {
    background: var(--color-navy-950);
}

[data-p3-listing-featured][hidden],
[data-p3-listing-heading][hidden],
[data-gallery-heading][hidden],
.idl-section-heading[hidden] {
    display: none !important;
}

.p3-directory-hero {
    min-height: auto;
}

.p3-listing-section {
    padding-top: 1.25rem;
}

.p3-listing-utility {
    position: relative;
    z-index: 5;
}

.p3-listing-toolbar {
    grid-template-columns: minmax(17rem, 1.15fr) minmax(25rem, 1.85fr) auto;
    align-items: end;
    margin-bottom: .5rem;
}

.p3-listing-filter-trigger,
.p3-listing-filter-backdrop,
.p3-mobile-nav__header,
.p3-mobile-nav__account,
.p3-mobile-nav-backdrop {
    display: none;
}

.p3-listing-filter-panel {
    display: contents;
}

.p3-listing-filter-panel>header {
    display: none;
}

.p3-listing-filter-panel>footer {
    display: flex;
    align-items: end;
}

.p3-listing-filter-panel>footer .idl-button {
    display: none;
}

.p3-listing-filter-panel .p3-listing-filters {
    align-items: end;
}

.p3-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: .75rem 0;
}

.p3-active-filters[hidden] {
    display: none !important;
}

.p3-active-filters button {
    display: inline-flex;
    min-height: 2.25rem;
    align-items: center;
    gap: .5rem;
    padding: .45rem .75rem;
    color: var(--color-white);
    border: 1px solid rgba(0, 151, 178, .35);
    border-radius: 99px;
    background: rgba(0, 151, 178, .12);
    font: inherit;
    font-size: .68rem;
    font-weight: 700;
}

.p3-active-filters button:hover,
.p3-active-filters button:focus-visible {
    border-color: var(--color-cyan);
    background: rgba(0, 151, 178, .22);
}

.p3-listing-status {
    margin-bottom: .65rem;
}

.p3-listing-featured {
    margin: 1.35rem 0 clamp(2rem, 5vw, 3.5rem);
}

.p3-listing-featured>header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.p3-listing-featured>header h2 {
    margin: .15rem 0 0;
    color: var(--color-white);
    font-size: clamp(1.65rem, 3vw, 2.4rem);
    text-transform: uppercase;
}

.p3-featured-listing-controls {
    display: flex;
    align-items: center;
    gap: .65rem;
    color: var(--color-muted);
    font-size: .7rem;
    font-weight: 800;
}

.p3-featured-listing-controls button {
    display: inline-grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    color: var(--color-white);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    background: rgba(255, 255, 255, .04);
}

.p3-featured-listing-controls button:hover,
.p3-featured-listing-controls button:focus-visible {
    color: var(--color-navy-950);
    border-color: var(--color-gold-light);
    background: var(--color-gold-light);
}

.p3-featured-listing-track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    scroll-snap-type: x mandatory;
}

.p3-featured-listing-track>* {
    min-width: 0;
    scroll-snap-align: start;
}

.p3-featured-listing-dots {
    display: none;
}

.p3-listing-featured-section {
    padding-block: 1rem;
}

.p3-listing-featured-section+[data-idl-filter-scope],
.p3-listing-featured-section+#full-program {
    padding-top: 2rem;
}

.p3-catalog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

.p3-catalog-grid--organization {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.p3-catalog-card,
.p3-catalog-grid>.idl-card,
.p3-featured-listing-track>.idl-card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
}

.point3-page .p3-catalog-grid>.idl-media-card {
    min-height: var(--p3-catalog-card-min-height);
}

.p3-featured-listing-track>.idl-media-card {
    min-height: 0;
}

.p3-catalog-card>div:last-child,
.p3-catalog-grid>.idl-media-card>div:last-child,
.p3-featured-listing-track>.idl-media-card>div:last-child {
    display: flex;
    min-width: 0;
    height: auto;
    flex-direction: column;
}

.p3-catalog-card .idl-card-link,
.p3-catalog-grid>.idl-media-card .idl-card-link,
.p3-featured-listing-track>.idl-media-card .idl-card-link,
.p3-catalog-card .idl-actions {
    margin-top: auto;
}

.p3-catalog-card h3,
.p3-catalog-grid>.idl-card h3,
.p3-featured-listing-track>.idl-card h3 {
    overflow-wrap: anywhere;
}

.p3-catalog-card :is(h3, h4, h5, h6),
.p3-catalog-grid>.idl-card :is(h3, h4, h5, h6),
.p3-featured-listing-track>.idl-card :is(h3, h4, h5, h6) {
    font-family: var(--font-nav) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.p3-catalog-card .idl-card-kicker,
.p3-catalog-card .idl-card-link,
.p3-catalog-card .idl-button,
.p3-featured-listing-track .idl-card-kicker,
.p3-featured-listing-track .idl-card-link,
.p3-featured-listing-track .idl-button {
    font-family: var(--font-nav) !important;
    letter-spacing: .02em;
    text-transform: none !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.p3-info-panel :is(h2, h3, h4),
.p3-action-panel :is(h2, h3, h4),
.p3-request-form :is(h2, h3, h4),
.idl-form-card :is(h2, h3, h4) {
    font-family: var(--font-nav) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.idl-card :is(h2, h3, h4, h5, h6),
.p3-bento-card :is(h2, h3, h4, h5, h6) {
    font-family: var(--font-nav) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.idl-card :is(.idl-card-kicker, .idl-card-link, .idl-button, .idl-price strong),
.p3-bento-card :is(.idl-card-kicker, .p3-media-type) {
    font-family: var(--font-nav) !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
}

.p3-catalog-card>div>p:not(.idl-card-kicker),
.p3-catalog-grid>.idl-card>p:not(.idl-card-kicker),
.p3-featured-listing-track>.idl-card>p:not(.idl-card-kicker) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.p3-catalog-card figure,
.p3-catalog-grid .idl-media-card figure,
.p3-featured-listing-track .idl-media-card figure {
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.p3-catalog-card figure img,
.p3-catalog-grid .idl-media-card figure img,
.p3-featured-listing-track .idl-media-card figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p3-catalog-card--person figure {
    aspect-ratio: 4 / 5;
}

.p3-catalog-card--company figure {
    aspect-ratio: 16 / 10;
    background: var(--color-white);
}

.p3-catalog-card--company figure img {
    object-fit: contain;
}

.p3-catalog-card--organization .idl-logo-mark,
.p3-catalog-grid--organization .idl-logo-mark {
    width: 4rem;
    height: 4rem;
}

.p3-catalog-card--commerce .idl-price {
    margin-block: .65rem;
}

.p3-catalog-card--schedule {
    border-top: 3px solid var(--color-cyan);
}

.p3-catalog-card--travel {
    border-top: 3px solid var(--color-gold);
}

.p3-catalog-card--competition {
    border-top: 3px solid var(--color-gold-light);
}

.p3-legacy-listing-utility,
.p3-gallery-listing-utility,
.p3-schedule-listing-utility {
    padding-block: 1rem .25rem;
    background: var(--color-navy-950);
}

.featured-speakers-section[hidden] {
    display: none !important;
}

:where(body.about-page, body.speakers-page, body.gallery-page) main .p3-legacy-listing-utility,
:where(body.about-page, body.speakers-page, body.gallery-page) main .p3-gallery-listing-utility {
    min-height: 0 !important;
    padding-block: .75rem !important;
}

:where(body.about-page, body.speakers-page, body.gallery-page) main .p3-listing-featured-section {
    min-height: 0 !important;
    padding-block: .25rem !important;
}

:where(body.about-page, body.speakers-page, body.gallery-page) main .p3-listing-featured-section .p3-listing-featured {
    min-height: 0 !important;
    margin-top: 0;
    padding-block: .5rem 0 !important;
}

.p3-legacy-listing-utility+.p3-listing-featured-section,
.p3-schedule-listing-utility+.p3-listing-featured-section {
    background: var(--color-navy-950);
}

.p3-legacy-listing-utility .idl-chip-bar,
.p3-gallery-listing-utility .idl-chip-bar {
    margin: 0;
}

.p3-legacy-listing-utility .p3-listing-filters,
.p3-gallery-listing-utility .p3-listing-filters {
    display: block;
}

.p3-legacy-listing-utility .p3-listing-filter-panel>footer,
.p3-gallery-listing-utility .p3-listing-filter-panel>footer {
    align-items: center;
}

[data-idl-filter-scope]>.container>.idl-section-heading .idl-search {
    display: none;
}

.p3-gallery-listing-utility+.p3-featured-section {
    padding-top: 1.25rem;
}

.p3-schedule-listing-utility .p3-schedule-day-slot {
    margin-bottom: 1rem;
}

.p3-schedule-listing-utility .schedule-day-control {
    margin: 0;
}

.p3-schedule-listing-utility .schedule-filter-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
}

.p3-schedule-listing-utility .schedule-filter-heading {
    display: none;
}

.p3-schedule-listing-utility .schedule-filter-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.p3-schedule-listing-utility .schedule-filter-status {
    grid-column: 1 / -1;
    margin: 0;
}

.p3-schedule-listing-utility .p3-schedule-filter-close,
.p3-schedule-listing-utility .p3-schedule-filter-apply {
    display: none;
}

.p3-schedule-listing-utility .p3-listing-toolbar {
    grid-template-columns: minmax(17rem, .8fr) minmax(30rem, 2fr);
}

.p3-schedule-listing-utility [for="schedule-search"] {
    margin: 0;
}

.p3-mobile-nav__header img {
    width: 5rem;
    height: 2.3rem;
    object-fit: contain;
}

.p3-mobile-nav__account a.is-current,
.p3-mobile-nav .nav-link.is-current,
.p3-mobile-nav .dropdown-item.is-current {
    color: var(--color-gold-light) !important;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid var(--color-cyan);
    outline-offset: 3px;
}

@media (max-width: 991.98px) {
    .site-navbar {
        z-index: 1202;
    }

    .site-navbar .p3-account-icon--mobile,
    .site-navbar>.p3-account-dropdown--mobile,
    .site-navbar .container-fluid>.p3-account-dropdown--mobile {
        display: none !important;
    }

    .site-navbar .navbar-toggler {
        position: relative;
        z-index: 1204;
        width: 2.75rem;
        height: 2.75rem;
        flex: 0 0 2.75rem;
        padding: .45rem;
        order: 5;
    }

    .site-navbar .p3-mobile-nav.collapse,
    .site-navbar .p3-mobile-nav.collapsing {
        position: fixed;
        z-index: 1210;
        inset: 0 0 0 auto;
        display: flex !important;
        width: min(88vw, 24rem);
        height: 100vh;
        height: 100dvh;
        flex-direction: column;
        align-items: stretch;
        overflow: hidden auto;
        padding: calc(.75rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) 1rem;
        visibility: hidden;
        background: linear-gradient(180deg, var(--color-navy-900), var(--color-navy-950));
        border-left: 1px solid rgba(201, 154, 75, .2);
        box-shadow: -1.25rem 0 3rem rgba(0, 0, 0, .38);
        transform: translateX(105%);
        transition: transform 280ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 300ms;
    }

    .site-navbar .p3-mobile-nav.show {
        visibility: visible;
        transform: translateX(0);
        transition-delay: 0s;
    }

    .site-navbar .p3-mobile-nav__header {
        display: flex;
        min-height: 3.5rem;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding-bottom: .75rem;
        border-bottom: 1px solid rgba(255, 255, 255, .08);
    }

    .p3-mobile-nav__header a {
        display: flex;
        align-items: center;
        gap: .65rem;
        color: var(--color-white);
        font-size: .72rem;
        font-weight: 800;
        text-transform: uppercase;
    }

    .p3-mobile-nav__header button {
        display: grid;
        width: 2.75rem;
        height: 2.75rem;
        place-items: center;
        color: var(--color-white);
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 50%;
        background: transparent;
    }

    .site-navbar .p3-mobile-nav .navbar-nav {
        width: 100%;
        margin: 1rem 0 !important;
        align-items: stretch !important;
    }

    .site-navbar .p3-mobile-nav .nav-item {
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, .07);
    }

    .site-navbar .p3-mobile-nav .nav-link {
        display: flex;
        width: 100%;
        min-height: 3rem;
        align-items: center;
        justify-content: space-between;
        padding: .7rem .25rem;
        text-align: left;
    }

    .site-navbar .p3-mobile-nav .dropdown-menu {
        position: static !important;
        width: 100%;
        max-height: none;
        margin: 0 0 .65rem;
        padding: .35rem;
        transform: none !important;
        border: 0;
        border-left: 2px solid rgba(0, 151, 178, .35);
        border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
        background: rgba(255, 255, 255, .035);
        box-shadow: none;
    }

    .site-navbar .p3-mobile-nav .dropdown-item {
        min-height: 2.75rem;
        white-space: normal;
    }

    .site-navbar .p3-mobile-nav .navbar-cart-link--desktop,
    .site-navbar .p3-mobile-nav .p3-auth-actions {
        display: none !important;
    }

    .site-navbar .p3-mobile-nav .btn-register {
        width: 100%;
        min-height: 3rem;
        justify-content: center;
        margin: .5rem 0 0;
    }

    .site-navbar .p3-mobile-nav__account {
        display: block;
        margin-top: auto;
        padding-top: 1rem;
        border-top: 1px solid rgba(255, 255, 255, .08);
    }

    .p3-mobile-nav__account>div {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .45rem;
    }

    .p3-mobile-nav__account>div a,
    .p3-mobile-nav__signin {
        display: flex;
        min-height: 2.75rem;
        align-items: center;
        gap: .5rem;
        padding: .6rem .7rem;
        color: var(--color-muted);
        border: 1px solid rgba(255, 255, 255, .08);
        border-radius: var(--radius-sm);
        background: rgba(255, 255, 255, .035);
        font-size: .68rem;
        font-weight: 700;
    }

    .p3-mobile-nav__signin {
        width: 100%;
        margin-top: .5rem;
        color: var(--color-gold-light);
    }

    .site-navbar .p3-mobile-nav-backdrop {
        position: fixed;
        z-index: 1205;
        inset: 0;
        display: block;
        padding: 0;
        border: 0;
        background: rgba(1, 9, 18, .7);
        backdrop-filter: blur(3px);
    }

    .site-navbar .p3-mobile-nav-backdrop[hidden] {
        display: none !important;
    }

    .p3-listing-toolbar {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .65rem;
        padding: .65rem;
    }

    .p3-listing-filter-trigger {
        display: inline-flex;
        min-width: 3.25rem;
        min-height: 3.15rem;
        align-items: center;
        justify-content: center;
        gap: .5rem;
        padding: .65rem .85rem;
        color: var(--color-white);
        border: 1px solid rgba(255, 255, 255, .14);
        border-radius: var(--radius-sm);
        background: rgba(255, 255, 255, .045);
        font-size: .7rem;
        font-weight: 800;
        text-transform: uppercase;
    }

    .p3-listing-filter-trigger b {
        display: inline-grid;
        min-width: 1.25rem;
        height: 1.25rem;
        place-items: center;
        color: var(--color-navy-950);
        border-radius: 50%;
        background: var(--color-gold-light);
        font-size: .6rem;
    }

    .p3-listing-filter-trigger b[hidden] {
        display: none;
    }

    .p3-listing-filter-backdrop {
        position: fixed;
        z-index: 1240;
        inset: 0;
        display: block;
        padding: 0;
        border: 0;
        background: rgba(1, 9, 18, .7);
        backdrop-filter: blur(4px);
    }

    .p3-listing-filter-backdrop[hidden] {
        display: none !important;
    }

    .p3-listing-filter-panel,
    .p3-schedule-listing-utility .schedule-filter-panel {
        position: fixed !important;
        z-index: 1250;
        inset: auto 0 0 !important;
        display: flex;
        width: 100%;
        max-height: min(85vh, 42rem);
        max-height: min(85dvh, 42rem);
        flex-direction: column;
        gap: 0;
        overflow: hidden;
        padding: 0 max(1rem, env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
        visibility: hidden;
        pointer-events: none;
        overscroll-behavior: contain;
        border: 1px solid rgba(255, 255, 255, .1);
        border-bottom: 0;
        border-radius: 1.25rem 1.25rem 0 0;
        background: var(--color-navy-900);
        box-shadow: 0 -1.25rem 3rem rgba(0, 0, 0, .38);
        transform: translateY(105%);
        transition: transform 280ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 300ms;
    }

    .p3-listing-filter-panel.is-open,
    .p3-schedule-listing-utility .schedule-filter-panel.is-open {
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
        transition-delay: 0s;
    }

    .p3-listing-filter-panel>header {
        display: flex;
        min-height: 4.75rem;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding-block: 1rem .75rem;
        border-bottom: 1px solid rgba(255, 255, 255, .08);
    }

    .p3-listing-filter-panel>header h2 {
        margin: 0;
        color: var(--color-white);
        font-size: 1.45rem;
    }

    .p3-listing-filter-panel>header p {
        margin: 0;
    }

    .p3-listing-filter-panel>header button,
    .p3-schedule-filter-close {
        display: grid !important;
        width: 2.75rem;
        height: 2.75rem;
        flex: 0 0 2.75rem;
        place-items: center;
        color: var(--color-white);
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 50%;
        background: transparent;
    }

    .p3-listing-filter-panel .p3-listing-filters,
    .p3-schedule-listing-utility .schedule-filter-fields {
        display: grid;
        grid-template-columns: 1fr;
        gap: .85rem;
        overflow-y: auto;
        padding-block: 1rem;
    }

    .p3-listing-filter-panel>footer {
        display: grid;
        grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
        gap: .65rem;
        align-items: center;
        padding-top: .85rem;
        border-top: 1px solid rgba(255, 255, 255, .08);
    }

    .p3-listing-filter-panel>footer .idl-button {
        display: inline-flex;
        min-height: 3rem;
        justify-content: center;
    }

    .p3-listing-reset {
        width: 100%;
        min-height: 3rem;
    }

    .p3-legacy-listing-utility .idl-chip-bar,
    .p3-gallery-listing-utility .idl-chip-bar {
        display: grid;
        grid-template-columns: 1fr;
        gap: .45rem;
        overflow: visible;
    }

    .p3-legacy-listing-utility .idl-chip,
    .p3-gallery-listing-utility .idl-chip-bar .idl-chip {
        width: 100%;
        min-height: 2.75rem;
        justify-content: flex-start;
        text-align: left;
        white-space: normal;
    }

    .p3-schedule-listing-utility .p3-listing-toolbar {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .p3-schedule-listing-utility .schedule-filter-panel {
        align-items: stretch;
    }

    .p3-schedule-listing-utility .schedule-filter-heading {
        display: flex;
        padding: 1rem 3rem .75rem 0;
    }

    .p3-schedule-listing-utility .schedule-filter-heading .schedule-filter-reset {
        min-height: 2.75rem;
    }

    .p3-schedule-listing-utility .p3-schedule-filter-close {
        position: absolute;
        top: .85rem;
        right: 1rem;
    }

    .p3-schedule-listing-utility .p3-schedule-filter-apply {
        display: inline-flex;
        min-height: 3rem;
        justify-content: center;
    }

    .p3-schedule-listing-utility .schedule-filter-status {
        margin-bottom: .75rem;
    }
}

@media (max-width: 767.98px) {

    .hub-hero,
    .point3-page .hub-hero,
    .speakers-hero,
    .schedule-page-hero,
    .speaker-profile.inner-page-hero:not(.idl-speaker-profile) {
        min-height: 0 !important;
        height: auto !important;
        padding: 6.15rem max(1rem, env(safe-area-inset-right)) 1.5rem max(1rem, env(safe-area-inset-left)) !important;
        overflow: hidden;
    }

    .hub-hero .container,
    .speakers-hero-content,
    .schedule-page-hero .container {
        min-width: 0;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        justify-self: stretch;
    }

    .hub-hero h1,
    .point3-page .hub-hero h1,
    .speakers-hero-title,
    .schedule-page-hero h1 {
        max-width: 100% !important;
        margin: .35rem 0 .65rem !important;
        font-size: clamp(1.9rem, 9vw, 2.65rem) !important;
        line-height: 1 !important;
        overflow-wrap: anywhere;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) .speakers-hero-title {
        white-space: normal !important;
    }

    .hub-hero-lead,
    .speakers-hero-description,
    .schedule-page-hero p {
        display: -webkit-box;
        max-width: 38rem;
        margin: .65rem 0 0;
        overflow: hidden;
        font-size: .84rem !important;
        line-height: 1.55;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .hub-hero-actions {
        gap: .55rem;
        margin-top: 1rem;
    }

    .hub-hero-actions .idl-button,
    .schedule-hero-actions a {
        min-height: 2.75rem;
        padding: .65rem .9rem;
        font-size: .65rem;
    }

    .p3-breadcrumb {
        margin: 0 0 .65rem;
    }

    .p3-breadcrumb ol {
        flex-wrap: nowrap;
        min-width: 0;
    }

    .p3-breadcrumb li {
        min-width: 0;
        font-size: .62rem;
        letter-spacing: .04em;
    }

    .p3-breadcrumb li:first-child a {
        display: inline-flex;
        min-height: 2.25rem;
        align-items: center;
        gap: .4rem;
    }

    .p3-breadcrumb li:last-child {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .p3-breadcrumb li:not(:first-child):not(:last-child) {
        display: none;
    }

    .p3-breadcrumb li:not(:last-child)::after {
        content: "/";
        font-size: .7rem;
    }

    .p3-directory-hero+.p3-listing-section {
        padding-top: .75rem;
    }

    .p3-listing-utility-section>.container,
    .p3-gallery-listing-utility>.container,
    .p3-listing-featured-section>.container,
    .p3-listing-results-section>.container {
        width: 100%;
        max-width: 100%;
        padding-inline: max(.85rem, env(safe-area-inset-left)) max(.85rem, env(safe-area-inset-right));
    }

    .p3-listing-utility-section>.container {
        padding-top: .75rem;
    }

    .p3-listing-results-section {
        padding-block: .75rem 2.5rem;
    }

    .p3-listing-results-section .idl-section-heading {
        margin: .5rem 0 1rem;
    }

    .p3-listing-status {
        margin: .5rem 0 0;
        font-size: .72rem;
    }

    .p3-listing-section>.container>.idl-section-heading {
        margin-top: 1.75rem;
    }

    .p3-listing-section>.container>.idl-section-heading p {
        font-size: .8rem;
    }

    .p3-featured-listing-track {
        display: flex;
        align-items: flex-start;
        gap: .75rem;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding: .1rem 0 .65rem;
        scrollbar-width: none;
        scroll-padding-inline: 0;
    }

    .p3-featured-listing-track::-webkit-scrollbar {
        display: none;
    }

    .p3-featured-listing-track>* {
        flex: 0 0 calc((100% - .75rem) / 2);
    }

    .p3-featured-listing-dots {
        display: flex;
        justify-content: center;
        gap: .35rem;
        margin-top: .5rem;
    }

    .p3-featured-listing-dots span {
        width: .38rem;
        height: .38rem;
        border-radius: 50%;
        background: rgba(255, 255, 255, .24);
    }

    .p3-featured-listing-dots span.is-active {
        width: 1.1rem;
        border-radius: 99px;
        background: var(--color-gold-light);
    }

    .p3-listing-featured {
        margin-block: .75rem 1rem;
    }

    .p3-listing-featured>header {
        align-items: center;
    }

    .p3-listing-featured>header> :first-child {
        min-width: 0;
    }

    .p3-listing-featured>header h2 {
        font-size: 1.45rem;
    }

    .p3-featured-listing-controls button {
        width: 2.75rem;
        height: 2.75rem;
    }

    .p3-catalog-grid,
    .p3-catalog-grid--organization,
    [data-idl-filter-scope] [data-idl-render] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: start;
        gap: .7rem;
    }

    .p3-catalog-card,
    .p3-catalog-grid>.idl-card,
    [data-idl-filter-scope] [data-idl-item],
    .p3-featured-listing-track>.idl-card {
        height: auto !important;
        min-height: 0 !important;
        align-self: flex-start;
        border-radius: .75rem;
    }

    .p3-catalog-card>div:last-child,
    .p3-catalog-grid>.idl-media-card>div:last-child,
    .p3-featured-listing-track>.idl-media-card>div:last-child {
        height: auto !important;
        min-height: 0;
    }

    .p3-catalog-card>div,
    .p3-catalog-grid>.idl-card>div,
    [data-idl-filter-scope] [data-idl-item]>div {
        padding: .8rem !important;
    }

    .p3-catalog-card h3,
    .p3-catalog-grid>.idl-card h3,
    [data-idl-filter-scope] [data-idl-item] h3 {
        display: -webkit-box;
        margin-bottom: .4rem;
        overflow: hidden;
        font-size: clamp(.8rem, 3.4vw, 1rem);
        line-height: 1.3;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .p3-catalog-card p,
    .p3-catalog-grid>.idl-card p,
    [data-idl-filter-scope] [data-idl-item] p {
        font-size: .66rem;
        line-height: 1.45;
    }

    .p3-catalog-card>div>p:not(.idl-card-kicker),
    .p3-featured-listing-track>.idl-card>div>p:not(.idl-card-kicker) {
        -webkit-line-clamp: 2;
    }

    .p3-catalog-card .idl-card-kicker,
    .p3-catalog-grid>.idl-card .idl-card-kicker {
        font-size: .56rem;
    }

    .p3-catalog-card .idl-card-link,
    .p3-catalog-grid>.idl-card .idl-card-link,
    [data-idl-filter-scope] [data-idl-item] .idl-card-link {
        min-height: 2.75rem;
        align-items: center;
        padding-top: .35rem;
        font-size: .62rem;
    }

    .p3-catalog-card .idl-button,
    .p3-catalog-grid>.idl-card .idl-button,
    [data-idl-filter-scope] [data-idl-item] .idl-button {
        min-height: 2.75rem;
        padding: .6rem .55rem;
        font-size: .58rem;
    }

    .p3-catalog-card .idl-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .p3-catalog-card .idl-list {
        display: none;
    }

    .p3-catalog-card figure,
    .p3-catalog-grid .idl-media-card figure,
    .p3-featured-listing-track .idl-media-card figure {
        aspect-ratio: 4 / 3;
    }

    .p3-catalog-card--person figure {
        aspect-ratio: 4 / 5;
    }

    .p3-catalog-card--company figure {
        aspect-ratio: 16 / 10;
    }

    .p3-favorite-button--overlay {
        top: .5rem;
        right: .5rem;
        width: 2.75rem;
        height: 2.75rem;
    }

    .p3-bento-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .7rem;
    }

    .p3-bento-card,
    .p3-bento-card--wide,
    .p3-bento-card--tall {
        grid-column: auto;
        min-height: 0;
    }

    .p3-bento-card figure {
        aspect-ratio: 1 / 1;
        min-height: 0;
    }

    .p3-bento-card>div {
        padding: .75rem;
    }

    .p3-bento-card>div p {
        display: none;
    }

    .p3-bento-card h3 {
        font-size: .9rem;
    }

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

    .schedule-page .agenda-row>time {
        grid-column: 1 / -1;
    }

    .schedule-page .agenda-card {
        min-width: 0;
        padding: .8rem;
    }

    .schedule-page .agenda-card h3 {
        font-size: .9rem;
        overflow-wrap: anywhere;
    }

    :where(body.about-page, body.speakers-page, body.gallery-page) main .p3-legacy-listing-utility>.container,
    :where(body.about-page, body.speakers-page, body.gallery-page) main .p3-gallery-listing-utility>.container,
    :where(body.about-page, body.speakers-page, body.gallery-page) main .p3-listing-featured-section>.container {
        width: 100% !important;
        max-width: 100% !important;
        padding-inline: max(.85rem, env(safe-area-inset-left)) max(.85rem, env(safe-area-inset-right));
    }

    .p3-featured-listing-track>.idl-card h3 {
        white-space: normal !important;
    }
}

@media (max-width: 575.98px) {
    body[class] .site-navbar {
        min-height: 4.75rem;
        padding-block: max(.7rem, env(safe-area-inset-top)) .7rem;
    }

    body[class] .site-navbar .site-container {
        width: 100%;
        max-width: 100%;
        flex-wrap: nowrap;
        gap: .35rem;
        padding-inline: max(.75rem, env(safe-area-inset-left)) max(.75rem, env(safe-area-inset-right));
    }

    body[class] .site-navbar .brand-mark {
        min-width: 0;
        margin: 0 auto 0 0 !important;
        padding: 0;
    }

    body[class] .site-navbar .brand-mark img {
        width: 3.25rem;
    }

    body[class] .site-navbar .p3-search-icon--mobile,
    body[class] .site-navbar .navbar-cart-link--mobile,
    body[class] .site-navbar .navbar-toggler {
        width: 2.75rem;
        height: 2.75rem;
        min-width: 2.75rem;
        margin: 0 !important;
        flex: 0 0 2.75rem;
    }

    .p3-listing-toolbar {
        width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr) 3rem;
        gap: .5rem;
        padding: .55rem;
    }

    .p3-listing-toolbar .idl-search,
    .p3-listing-toolbar .idl-search input {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .p3-listing-toolbar .idl-search input {
        padding-right: .65rem;
        font-size: .78rem;
    }

    .p3-listing-filter-trigger {
        width: 3rem;
        min-width: 3rem;
        padding: 0;
    }

    .p3-listing-filter-trigger>span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
    }

    .p3-listing-featured>header {
        gap: .6rem;
    }

    .p3-featured-listing-controls {
        gap: .35rem;
    }

    .p3-featured-listing-controls button {
        width: 2.75rem;
        height: 2.75rem;
        flex: 0 0 2.75rem;
    }

    .p3-featured-listing-controls span {
        font-size: .62rem;
        white-space: nowrap;
    }

    .p3-featured-listing-track>.idl-card h3 {
        font-size: .86rem;
    }
}

@media (max-width: 359.98px) {
    .p3-listing-filter-trigger span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
    }

    .p3-catalog-grid,
    .p3-catalog-grid--organization,
    [data-idl-filter-scope] [data-idl-render],
    .p3-bento-grid,
    .schedule-page .agenda-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .55rem;
    }

    .p3-featured-listing-track {
        gap: .55rem;
    }

    .p3-featured-listing-track>* {
        flex-basis: calc((100% - .55rem) / 2);
    }
}

@media (prefers-reduced-motion: reduce) {

    .p3-mobile-nav,
    .p3-listing-filter-panel,
    .p3-featured-listing-track {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Schedule mobile layout: one readable flow with no competing absolute positioning. */
@media (max-width: 767.98px) {
    .schedule-page {
        --schedule-mobile-gutter: clamp(1rem, 4.8vw, 1.35rem);
    }

    .schedule-page main,
    .schedule-page .schedule-page-hero,
    .schedule-page .p3-schedule-listing-utility,
    .schedule-page .p3-listing-featured-section,
    .schedule-page .full-schedule {
        min-width: 0;
        overflow-x: clip;
    }

    /* A retained page-entry transform turns fixed filter sheets into page-relative
       elements. Remove it on the mobile schedule so the sheet stays in viewport. */
    html.js .schedule-page main {
        animation: none !important;
        transform: none !important;
    }

    .schedule-page .schedule-page-hero {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        padding: calc(5.5rem + env(safe-area-inset-top)) 0 2rem !important;
    }

    .schedule-page .schedule-page-hero>.container,
    .schedule-page .p3-schedule-listing-utility>.container,
    .schedule-page .p3-listing-featured-section>.container,
    .schedule-page .full-schedule-container {
        width: 100%;
        max-width: 100%;
        padding-inline: var(--schedule-mobile-gutter) !important;
    }

    .schedule-page .schedule-page-hero .row {
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
        display: grid;
        width: 100%;
        margin: 0;
        gap: 1.25rem;
    }

    .schedule-page .schedule-page-hero .row>* {
        margin-top: 0;
    }

    .schedule-page .schedule-page-hero .row>div:first-child,
    .schedule-page .schedule-page-hero .row>div:last-child {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        max-width: none;
        padding: 0 !important;
        text-align: left !important;
        transform: none !important;
    }

    .schedule-page .schedule-page-hero .row>div:first-child::before {
        display: none;
    }

    .schedule-page .schedule-page-hero h1 {
        max-width: 12ch !important;
        margin: 0 !important;
        color: var(--color-gold-light);
        font-family: var(--font-display) !important;
        font-size: clamp(2.45rem, 11vw, 3.35rem) !important;
        font-weight: 400 !important;
        line-height: .98 !important;
        letter-spacing: .015em;
        overflow-wrap: normal;
    }

    .schedule-page .schedule-page-hero p {
        display: block;
        max-width: 42rem;
        margin: .9rem 0 0;
        overflow: visible;
        color: #bdc8cd;
        font-size: clamp(.85rem, 3.5vw, .98rem) !important;
        font-weight: 400;
        line-height: 1.6;
        text-align: left;
        -webkit-line-clamp: unset;
    }

    .schedule-page .schedule-hero-panel,
    .schedule-page .schedule-hero-actions {
        width: 100%;
        margin: 0;
    }

    .schedule-page .schedule-hero-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: .65rem;
    }

    .schedule-page .schedule-hero-actions a {
        width: 100%;
        min-width: 0;
        min-height: 3rem;
        padding: .7rem .65rem;
        gap: .55rem;
        border-radius: .8rem;
        font-size: clamp(.64rem, 2.5vw, .74rem);
        font-weight: 700;
        letter-spacing: .04em;
        line-height: 1.25;
        text-align: center;
        white-space: normal;
    }

    .schedule-page .p3-schedule-listing-utility {
        padding-block: 1.5rem .5rem;
    }

    .schedule-page .p3-schedule-day-slot {
        min-width: 0;
        margin-bottom: 1.25rem;
    }

    .schedule-page .schedule-day-control {
        gap: .75rem;
    }

    .schedule-page .schedule-control-heading,
    .schedule-page .schedule-filter-field>span {
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .13em;
    }

    .schedule-page .schedule-day-tabs {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .6rem;
    }

    .schedule-page .schedule-day-tabs .nav-item {
        display: flex;
        min-width: 0;
    }

    .schedule-page .schedule-day-tabs .nav-link {
        width: 100%;
        min-width: 0;
        min-height: 5.4rem;
        padding: .7rem .35rem;
        align-items: center;
        border-radius: .9rem;
        font-size: clamp(.78rem, 3.5vw, .95rem);
        line-height: 1.2;
        text-align: center;
        white-space: normal;
    }

    .schedule-page .schedule-day-tabs .nav-link small {
        margin-bottom: .45rem;
        font-size: clamp(.58rem, 2.5vw, .68rem);
        line-height: 1;
    }

    .schedule-page .p3-listing-toolbar {
        width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr) 3.1rem;
        gap: .6rem;
        margin: 0;
        padding: .7rem;
        border-radius: 1rem;
    }

    .schedule-page .p3-listing-toolbar [for="schedule-search"],
    .schedule-page .p3-listing-toolbar .schedule-search-control,
    .schedule-page .p3-listing-toolbar #schedule-search {
        width: 100%;
        min-width: 0;
    }

    .schedule-page .p3-listing-toolbar #schedule-search {
        min-height: 3rem;
        padding: .7rem .75rem .7rem 2.35rem;
        font-size: .78rem;
        font-weight: 500;
        text-overflow: ellipsis;
    }

    .schedule-page .p3-listing-filter-trigger {
        width: 3.1rem;
        min-width: 3.1rem;
        min-height: 3rem;
        padding: 0;
        border-radius: .75rem;
    }

    .schedule-page .p3-listing-featured-section {
        padding-block: 1rem .5rem;
    }

    .schedule-page .p3-listing-featured {
        margin-block: .5rem 1rem;
    }

    .schedule-page .p3-listing-featured>header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: .75rem;
        margin-bottom: 1rem;
    }

    .schedule-page .p3-listing-featured>header>div:first-child {
        min-width: 0;
    }

    .schedule-page .p3-listing-featured .idl-eyebrow {
        margin-bottom: .55rem;
        font-size: .64rem;
        line-height: 1.35;
    }

    .schedule-page .p3-listing-featured .idl-eyebrow::before {
        width: 2rem;
    }

    .schedule-page .p3-listing-featured>header h2 {
        margin: 0;
        font-family: var(--font-display) !important;
        font-size: clamp(1.5rem, 7vw, 2rem);
        font-weight: 400 !important;
        line-height: 1;
    }

    .schedule-page .p3-featured-listing-controls {
        align-self: end;
        gap: .35rem;
        font-size: .62rem;
        white-space: nowrap;
    }

    .schedule-page .p3-featured-listing-controls button {
        width: 2.6rem;
        height: 2.6rem;
        flex: 0 0 2.6rem;
    }

    .schedule-page .full-schedule {
        padding: 1.5rem 0 4rem;
    }

    .schedule-page .agenda-row,
    .schedule-page .tab-pane.is-hall-filtered .agenda-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: .8rem;
        margin-bottom: 1.75rem;
    }

    .schedule-page .agenda-row>time {
        grid-column: 1;
        padding: 0;
        font-size: .82rem;
        font-weight: 600;
        line-height: 1.4;
    }

    .schedule-page .agenda-row>.agenda-card,
    .schedule-page .agenda-row>.agenda-featured {
        grid-column: 1 !important;
    }

    .schedule-page .agenda-card {
        width: 100%;
        min-width: 0;
        min-height: 0;
        padding: 1.2rem;
        border: 1px solid rgba(255, 255, 255, .055);
        border-radius: 1rem;
    }

    .schedule-page .agenda-card>small {
        min-height: 1.45rem;
        margin-bottom: .85rem;
        padding-right: min(46%, 9rem);
        font-size: .75rem;
        line-height: 1.35;
    }

    .schedule-page .agenda-card .agenda-badge {
        top: 1rem;
        right: 1rem;
        max-width: 48%;
        padding: .4rem .65rem;
        border: 0;
        border-radius: .45rem;
        font-size: .62rem;
        font-weight: 600;
        line-height: 1.25;
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .schedule-page .agenda-card-hall {
        margin-bottom: .75rem;
        font-size: .65rem;
        line-height: 1.3;
    }

    .schedule-page .agenda-card h2 {
        max-width: none;
        margin-bottom: .75rem;
        font-family: var(--font-nav) !important;
        font-size: clamp(1.2rem, 5.5vw, 1.55rem);
        font-weight: 700 !important;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    .schedule-page .agenda-card>p {
        margin-bottom: 1.1rem;
        font-size: clamp(.84rem, 3.6vw, .95rem);
        line-height: 1.6;
    }

    .schedule-page .agenda-card>b {
        min-height: 3.35rem;
        padding: .9rem 0 0 3.6rem;
        font-size: .88rem;
        font-weight: 600;
        line-height: 1.3;
    }

    .schedule-page .agenda-card>b small {
        font-size: .7rem;
        line-height: 1.4;
    }

    .schedule-page .agenda-card>b .agenda-avatar {
        top: .85rem;
        width: 2.5rem;
        height: 2.5rem;
    }

    .schedule-page .agenda-card>.idl-session-speaker-link {
        min-height: 2.75rem;
        margin-top: .75rem;
        padding-top: .35rem;
        font-size: .66rem;
    }

    .schedule-page .agenda-card>.idl-chip {
        min-height: 2.75rem;
        margin-top: .65rem !important;
        font-size: .65rem;
    }

    .p3-featured-listing-controls {
        display: none;
    }

    .idl-eyebrow {
        display: none;
    }

    .p3-listing-utility-section>.container {
        padding: 0 !important;
        width: 100% !important;
    }

    .p3-listing-utility-section>.container .p3-listing-toolbar {
        margin: 0 !important;
        border-radius: 0;
    }

    .p3-listing-utility-section .p3-listing-status,
    .p3-listing-utility-section .p3-active-filters {
        padding: 0 10px !important;
    }

    .p3-featured-listing-track .idl-media-card>div {
        padding: 0 !important;
        padding-top: .75rem !important;
    }

    .idl-media-card figure {
        aspect-ratio: 3 / 3;
        height: auto;
        border-radius: 0.4rem;

    }

    .idl-media-card figure img {
        object-fit: cover;
    }

    .idl-media-card p:not(.idl-card-kicker) {
        margin-top: 0px;
    }

    .idl-card-link {
        margin-top: 0 !important;
        min-height: 2rem !important;
    }

    .idl-media-card h3 {
        min-height: unset !important;
    }

    .page-title {
        text-transform: none !important;
    }
}

/* Shared directory and drawer refinements. */
@media (min-width: 992px) {

    .p3-server-listing .p3-catalog-grid,
    .point3-page .p3-catalog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .p3-server-listing .p3-catalog-grid>.idl-card,
    .point3-page .p3-catalog-grid>.idl-card,
    .p3-featured-listing-track>.idl-card {
        grid-column: auto !important;
        width: auto;
        max-width: none;
    }
}

.idl-empty-state .p3-empty-reset {
    width: fit-content;
    min-width: 11rem;
    margin: 1.25rem auto 0;
    border-radius: .65rem;
    color: var(--color-navy-950);
    background: var(--color-gold-light);
    border-color: var(--color-gold-light);
    font-family: var(--font-nav);
    font-size: .7rem;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
}

.idl-empty-state .p3-empty-reset:hover,
.idl-empty-state .p3-empty-reset:focus-visible {
    color: var(--color-navy-950);
    background: var(--color-gold);
    border-color: var(--color-gold);
}

@media (max-width: 991.98px) {

    body.p3-nav-open .site-navbar,
    .site-navbar.is-menu-open {
        transform: none !important;
        will-change: auto;
    }

    .site-navbar .p3-mobile-nav.collapse,
    .site-navbar .p3-mobile-nav.collapsing {
        position: fixed !important;
        z-index: 1210;
        inset: 0 0 0 auto !important;
        display: flex !important;
        width: min(88vw, 24rem) !important;
        max-width: 100%;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 100vh;
        margin: 0 !important;
        padding: calc(.85rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) 1rem !important;
        align-items: stretch !important;
        flex-direction: column;
        overflow-x: hidden;
        overflow-y: auto;
        opacity: 1;
        color: var(--color-white);
        border: 0;
        border-left: 1px solid rgba(201, 154, 75, .24);
        border-radius: 0;
        background: linear-gradient(180deg, #071c2c 0%, var(--color-navy-950) 100%);
        box-shadow: -1.25rem 0 3rem rgba(0, 0, 0, .42);
        visibility: hidden;
        transform: translate3d(105%, 0, 0) !important;
        transition: transform 280ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 300ms;
    }

    .site-navbar .p3-mobile-nav.collapsing {
        transition: none !important;
    }

    .site-navbar .p3-mobile-nav.show {
        visibility: visible !important;
        transform: translate3d(0, 0, 0) !important;
        transition-delay: 0s;
    }

    .site-navbar .p3-mobile-nav>*,
    .site-navbar .p3-mobile-nav.show>* {
        opacity: 1 !important;
        visibility: visible !important;
    }

    .site-navbar .p3-mobile-nav .p3-mobile-nav__header {
        display: flex !important;
        flex: 0 0 auto;
    }

    .site-navbar .p3-mobile-nav .navbar-nav {
        display: flex !important;
        flex: 0 0 auto;
        align-items: stretch !important;
        flex-direction: column;
    }

    .site-navbar .p3-mobile-nav .p3-mobile-nav__account {
        display: block !important;
        flex: 0 0 auto;
    }

    .site-navbar .p3-mobile-nav-backdrop {
        position: fixed !important;
        z-index: 1205;
        inset: 0 !important;
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        margin: 0;
        opacity: 1;
        background: rgba(1, 9, 18, .76);
    }
}

@media (max-width: 767.98px) {

    .p3-featured-listing-track,
    .schedule-page .p3-featured-listing-track {
        align-items: stretch;
        gap: .6rem;
        scroll-padding-inline: 0;
    }

    .p3-featured-listing-track>*,
    .schedule-page .p3-featured-listing-track>.idl-card {
        flex: 0 0 calc((100% - .6rem) / 1.5) !important;
        align-self: stretch;
        min-width: 0;
        padding: .75rem !important;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .schedule-page .p3-featured-listing-track>.idl-card h3 {
        display: -webkit-box;
        overflow: hidden;
        font-size: clamp(.72rem, 3.1vw, .9rem);
        line-height: 1.3;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .schedule-page .p3-featured-listing-track>.idl-card p {
        font-size: .62rem;
        line-height: 1.45;
    }

    .schedule-page .p3-featured-listing-track>.idl-card .idl-card-link {
        min-height: 2.4rem;
        margin-top: .45rem;
        font-size: .58rem;
    }

    .home-page .hero {
        min-height: 100vh !important;
        min-height: 100svh !important;
        height: 100vh;
        height: 100svh;
    }

    .home-page .hero-content {
        display: flex;
        min-height: 0;
        padding-top: max(5.5rem, env(safe-area-inset-top));
        flex: 1 1 auto;
        align-items: stretch;
    }

    .home-page .hero-content>.row {
        width: 100%;
        min-height: 0 !important;
        height: 100%;
        margin: 0;
        align-items: center !important;
    }

    .home-page .hero-copy {
        margin: 0 auto !important;
        padding: 0;
        text-align: center !important;
    }

    .home-page .event-panel,
    .home-page .expertise-ticker {
        flex: 0 0 auto;
    }
}

@media (max-width: 575.98px) {
    .schedule-page .p3-featured-listing-track {
        align-items: stretch;
        gap: .8rem;
        scroll-padding-inline: 0;
    }

    .schedule-page .p3-featured-listing-track>.idl-card {
        flex: 0 0 calc((100% - .8rem) / 1.5) !important;
        align-self: stretch;
        padding: 1.15rem !important;
        border-radius: .9rem;
        scroll-snap-stop: always;
    }

    .schedule-page .p3-featured-listing-track>.idl-card h3 {
        display: block;
        margin: 0;
        overflow: visible;
        font-size: clamp(1.05rem, 5vw, 1.25rem);
        line-height: 1.3;
        -webkit-line-clamp: unset;
    }

    .schedule-page .p3-featured-listing-track>.idl-card p {
        font-size: .78rem;
        line-height: 1.55;
    }

    .schedule-page .p3-featured-listing-track>.idl-card>p:not(.idl-card-kicker) {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .schedule-page .p3-featured-listing-track>.idl-card .idl-card-kicker {
        font-size: .6rem;
        line-height: 1.4;
    }

    .schedule-page .p3-featured-listing-track>.idl-card .idl-card-link {
        min-height: 2.75rem;
        margin-top: .75rem;
        padding-top: .4rem;
        font-size: .66rem;
    }
}

@media (max-width: 359.98px) {
    .schedule-page .schedule-hero-actions {
        grid-template-columns: 1fr;
    }

    .schedule-page .schedule-day-tabs {
        gap: .4rem;
    }

    .schedule-page .schedule-day-tabs .nav-link {
        min-height: 5rem;
        padding-inline: .2rem;
        font-size: .76rem;
    }

    .schedule-page .p3-listing-featured>header {
        grid-template-columns: 1fr;
        align-items: start;
    }
}

/* Source: resources/css/public/cms.css */
.cms-page{background:#020d17;color:#f2f6fa}
.cms-page .site-navbar{position:relative;z-index:20}
.cms-section{padding-block:clamp(4rem,8vw,8rem)}
.cms-section>.container>h2,.cms-section .idl-section-heading h2{font-family:Anton,sans-serif;letter-spacing:.035em;text-transform:uppercase;color:#eac16d}
.cms-section .idl-section-heading{margin-bottom:2rem}
.cms-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.cms-card-grid>.cms-card{grid-column:auto}
.cms-card-grid--quick{grid-template-columns:repeat(6,minmax(0,1fr))}
.cms-card-grid--committee{grid-template-columns:repeat(4,minmax(0,1fr))}
.cms-card-grid--promotion,.cms-card-grid--support{grid-template-columns:repeat(2,minmax(0,1fr))}
.cms-card{min-width:0;background:#071b29;border:1px solid #123044;border-radius:12px;padding:1.4rem;color:#dae5ed}
.cms-card h3{color:#fff;font-size:1.2rem}.cms-card p{color:#a8bac7}
.cms-card__icon{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#06374b;color:#33c2db;margin-bottom:1rem}
.cms-card__image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;margin-bottom:1rem}
.cms-card__subtitle{color:#48bed5!important;font-size:.85rem}
.cms-section--purpose,.cms-section--committee,.cms-faq{background:#010b14}
.cms-section--purpose .cms-card,.cms-section--committee .cms-card{min-height:190px}
.cms-section--quick{padding-block:2rem;background:#061826}
.cms-section--quick .cms-card{text-align:center}
.cms-carousel__track{display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:1rem;cursor:grab;touch-action:pan-y}
.cms-carousel__track::-webkit-scrollbar{display:none;width:0;height:0}
.cms-carousel__track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.cms-carousel__track>*{flex:0 0 min(32%,330px);scroll-snap-align:start}
.cms-carousel:not(.cms-carousel--logos) .idl-content-card.idl-card.p3-catalog-card{border-top-width:1px;border-top-color:rgba(174,200,219,.15)}
.cms-carousel:not(.cms-carousel--logos) .idl-content-card.idl-card:focus-within{outline:none;outline-offset:0}
.cms-carousel:not(.cms-carousel--logos) .idl-card-image-link:focus-visible{outline:none}
.cms-carousel:not(.cms-carousel--logos) .idl-content-card.idl-card:is(:hover,:focus-within){transform:none}
.cms-carousel:not(.cms-carousel--logos) .idl-content-card .idl-content-card__media img{transition:transform .35s ease}
.cms-carousel:not(.cms-carousel--logos) .idl-content-card:hover .idl-content-card__media img{transform:scale(1.055)}
.cms-carousel__controls{display:flex;gap:.5rem}.cms-carousel__controls button{border:1px solid #557080;background:transparent;color:#fff;border-radius:50%;width:2.3rem;height:2.3rem}
.cms-carousel--logos{padding-block:clamp(2.5rem,5vw,4.5rem)}
.cms-carousel--logos .idl-section-heading{align-items:center;gap:1.5rem;margin-bottom:1.5rem}
.cms-carousel--logos .idl-section-heading h2{font-size:clamp(1.8rem,3vw,2.65rem);margin-bottom:.6rem}
.cms-carousel--logos .idl-section-heading p{max-width:42rem;color:var(--idl-muted);line-height:1.7}
.idl-partner-carousel-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}
.idl-partner-slider-panel{padding:clamp(1rem,2vw,1.5rem);border:1px solid var(--idl-line);border-radius:1.5rem;background:var(--idl-soft)}
.idl-partner-swiper{min-width:0;padding:4px!important}
.idl-partner-swiper .swiper-wrapper{align-items:stretch;height:auto}
.idl-partner-swiper .swiper-slide{height:auto;display:flex}
.idl-partner-swiper:not(.swiper-initialized){overflow-x:auto;scroll-snap-type:x mandatory}
.idl-partner-swiper:not(.swiper-initialized) .swiper-wrapper{display:flex;gap:20px}
.idl-partner-swiper:not(.swiper-initialized) .swiper-slide{flex:0 0 calc((100% - 60px)/4);scroll-snap-align:start}
.idl-partner-logo{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-width:0;width:100%;padding:1rem;border:1px solid var(--idl-line);border-radius:1rem;background:var(--idl-surface);color:var(--idl-text);text-align:center;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.idl-partner-logo img{display:block;width:100%;height:145px;object-fit:contain;padding:1rem;border-radius:.65rem;background:#fff}
.idl-partner-logo__name{display:grid;place-items:center;min-height:3em;font-size:.92rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.idl-partner-logo__fallback{display:grid;place-items:center;min-height:205px;font-size:1.2rem;line-height:1.5;overflow-wrap:anywhere}
.idl-partner-logo:hover{border-color:var(--idl-gold);color:var(--idl-text);box-shadow:var(--idl-shadow)}
.idl-partner-logo:focus-visible,.cms-carousel--logos [data-cms-track]:focus-visible{outline:2px solid var(--idl-teal);outline-offset:2px}
.idl-partner-slider-footer{display:flex;align-items:center;gap:1rem;justify-content:space-between;margin-top:1.25rem;min-height:44px}
.idl-partner-slider-hint{display:flex;align-items:center;gap:.75rem;color:var(--idl-muted);font-size:.8rem;white-space:nowrap}
.idl-partner-slider-hint [data-partner-counter]{font-variant-numeric:tabular-nums;color:var(--idl-text)}
.idl-partner-pagination.swiper-pagination{position:static;display:flex;align-items:center;justify-content:center;flex:1;gap:2px;min-width:0;width:auto}
.idl-partner-pagination .swiper-pagination-bullet{width:8px;height:8px;background:var(--idl-muted);opacity:.4;transition:background .2s,width .2s}
.idl-partner-pagination .swiper-pagination-bullet-active{width:22px;border-radius:6px;background:var(--idl-gold);opacity:1}
.idl-partner-pagination .swiper-pagination-bullet:focus-visible{outline:2px solid var(--idl-teal);outline-offset:4px}
.cms-carousel--logos .cms-carousel__controls button{width:44px;height:44px;color:var(--idl-text);border-color:var(--idl-line);background:var(--idl-surface);transition:border-color .2s}
.cms-carousel--logos .cms-carousel__controls button:hover{border-color:var(--idl-gold)}
.cms-carousel--logos .cms-carousel__controls button.swiper-button-disabled{opacity:.35;cursor:default}
.idl-partner-empty{display:grid;justify-items:center;gap:1rem;padding:2.5rem 1.5rem;border:1px dashed var(--idl-line);border-radius:1.5rem;background:var(--idl-soft);text-align:center}
.idl-partner-empty>i{font-size:2rem;color:var(--idl-gold)}
.idl-partner-empty p{margin:0;color:var(--idl-muted)}
.idl-partner-empty a{font-size:.9rem;color:var(--idl-teal);font-weight:600}
[dir="rtl"] .cms-carousel--logos .cms-carousel__controls i{transform:scaleX(-1)}
#directory,#partnership-form{scroll-margin-top:7rem}
@media(max-width:767px){.cms-carousel--logos .idl-section-heading{display:block}.idl-partner-carousel-actions{margin-top:1rem}.idl-partner-carousel-actions .idl-button{min-height:44px;padding:.6rem 1rem}.idl-partner-slider-hint{font-size:.75rem;gap:.4rem}.idl-partner-slider-footer{gap:.6rem;flex-wrap:wrap}.idl-partner-pagination.swiper-pagination{order:3;flex-basis:100%;min-height:24px}.idl-partner-swiper:not(.swiper-initialized) .swiper-slide{flex-basis:72%}.idl-partner-logo img{height:130px}.partners-page #partnership-form{padding-block:3.5rem}}
@media(prefers-reduced-motion:reduce){.idl-partner-logo,.idl-partner-pagination .swiper-pagination-bullet,.cms-carousel:not(.cms-carousel--logos) .idl-content-card .idl-content-card__media img{transition:none}.cms-carousel:not(.cms-carousel--logos) .idl-content-card:hover .idl-content-card__media img{transform:none}}
.cms-schedule__list{display:grid;gap:.7rem}.cms-schedule__list article{display:grid;grid-template-columns:11rem 1fr 2fr auto;align-items:center;gap:1rem}.cms-schedule__list time{color:#4ac2db}
.cms-gallery__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.5rem}.cms-gallery__grid figure{position:relative;margin:0;overflow:hidden;border-radius:8px;min-height:150px}.cms-gallery__grid figure:first-child{grid-row:span 2}.cms-gallery__grid img{width:100%;height:100%;object-fit:cover}.cms-gallery__grid figcaption{position:absolute;bottom:0;inset-inline:0;padding:1rem;color:#fff;background:linear-gradient(transparent,#001721)}
.cms-video{text-align:center}.cms-video__poster{display:grid;place-items:center;min-height:280px;background-size:cover;background-position:center;border-radius:12px;font-family:Anton,sans-serif;font-size:2rem}.cms-video__frame{aspect-ratio:16/9;max-width:1000px;margin:auto}.cms-video__frame iframe{width:100%;height:100%;border:0}
.cms-social .cms-card-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.cms-social a{display:grid;place-items:center;gap:.5rem;text-decoration:none}.cms-social i{font-size:1.4rem;color:#41bdd2}
.cms-faq__list{max-width:760px;margin:auto}.cms-faq details{background:#112335;margin-bottom:.5rem;border-radius:6px;padding:1rem}.cms-faq summary{cursor:pointer;font-weight:700}.cms-faq details p{padding-top:1rem}
.cms-venue__panel{display:grid;grid-template-columns:1fr 1fr;gap:2rem;background:#061925;padding:2rem;border-radius:12px}.cms-venue__panel iframe{width:100%;min-height:240px;border:0;border-radius:8px}
.cms-form-layout{margin-top:1.5rem}.cms-language-switch{display:flex;align-items:center;gap:.3rem;margin-inline:1rem;white-space:nowrap}.cms-language-switch a{color:#d1e5ec;font-size:.75rem;text-decoration:none}.cms-language-switch a[aria-current]{color:#26c4db;font-weight:800}
.cms-pagination{padding-block:2rem}.cms-pagination nav{display:flex;justify-content:center}.cms-listing .p3-listing-toolbar{flex-wrap:wrap}.cms-listing .p3-listing-filters{display:flex;gap:.6rem}.cms-listing .p3-listing-featured{margin-block:3rem}
.home-page.cms-page .hero{min-height:620px;background:#041523 url('/assests/img/backgrounds/home-hero.png') center/cover no-repeat;display:grid;align-items:center;text-align:center}.home-page.cms-page .hero-main{width:100%;padding:6rem 0}.home-page.cms-page .hero-content{display:block!important;width:min(48vw,670px);margin-inline-start:max(3vw,calc((100vw - 1296px)/2));margin-inline-end:auto;padding-top:0}.home-page.cms-page .hero h1{font-family:Anton,sans-serif;text-transform:uppercase;color:#fff;font-size:clamp(3rem,5vw,5rem);line-height:.95}.home-page.cms-page .hero h1 span{color:#e7bc65}.home-page.cms-page .hero-subtitle{max-width:580px;margin:1rem auto 2rem}
.home-page.cms-page .hero .idl-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem}
.about-page.cms-page .about-hero{min-height:570px;background:#030d16 url('/assests/img/Hero-Section-About.png') center/cover no-repeat;display:grid;align-items:center;text-align:center}.about-page.cms-page .about-hero-content{padding:6rem 1rem;margin:auto;max-width:800px}.about-page.cms-page .about-title{font-family:Anton,sans-serif;font-size:clamp(3rem,7vw,6rem);line-height:1;color:#eac16d}
html[dir=rtl] body{font-family:Cairo,sans-serif}html[dir=rtl] .cms-page h1,html[dir=rtl] .cms-page h2{font-family:Cairo,sans-serif}html[dir=rtl] .cms-schedule__list{text-align:right}html[dir=rtl] .dropdown-menu{text-align:right}
html[dir=rtl] body.home-page .hero h1,html[dir=rtl] body.about-page .about-title,html[dir=rtl] body.about-page h2,html[dir=rtl] body.home-page h2{font-family:Cairo,sans-serif!important}
@media(max-width:900px){.cms-card-grid,.cms-card-grid--committee,.cms-card-grid--quick,.cms-social .cms-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-carousel__track>*{flex-basis:55%}.cms-schedule__list article{grid-template-columns:1fr 2fr}.cms-schedule__list article p{grid-column:span 2}.cms-gallery__grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cms-card-grid,.cms-card-grid--promotion,.cms-card-grid--support,.cms-venue__panel{grid-template-columns:1fr}.cms-carousel__track>*{flex-basis:82%}.cms-gallery__grid{grid-template-columns:1fr 1fr}.cms-gallery__grid figure:first-child{grid-column:span 2}.cms-section{padding-block:3.5rem}.home-page.cms-page .hero{min-height:620px;background-position:60% center;align-items:start}.home-page.cms-page .hero-main{padding:3rem 0}.home-page.cms-page .hero-content{width:100%;margin-inline:auto}.home-page.cms-page .hero h1{font-size:clamp(1.9rem,8.5vw,2.5rem)}.home-page.cms-page .hero .idl-button{width:100%;max-width:100%;min-width:0}.cms-language-switch{margin:.7rem}}

/* Edition/page uploads supply brochure artwork without a public asset shadow. */
/* Long policy copy uses the existing information sections and site theme. */
.cms-policy.cms-section { padding-block: 1.5rem; }
.cms-policy > .container { max-width: 54rem; }
.cms-policy h2 { font-size: clamp(1.25rem, 2.5vw, 1.65rem); line-height: 1.5; margin-block: 0 1rem; }
.cms-policy .idl-eyebrow:empty { display: none; }
.cms-policy-copy { line-height: 1.85; overflow-wrap: anywhere; }
.cms-policy-copy p { margin-block: 0 1rem; max-width: none; }
.cms-policy-copy :is(ul, ol) { padding-inline-start: 1.5rem; margin-block: 0 1rem; }
.cms-policy-copy li { margin-block: .4rem; }
.cms-policy-copy h3 { font-size: 1.1rem; line-height: 1.6; margin-block: 1.5rem .75rem; }
.cms-policy-copy a { color: var(--idl-teal); text-decoration: underline; text-underline-offset: .2em; }
.cms-policy-copy > :last-child { margin-bottom: 0; }
html[dir="rtl"] .cms-policy { text-align: right; }
@media (max-width: 600px) { .cms-policy.cms-section { padding-block: 1rem; } }

.site-navbar .brand-mark img { display:block; width:72px; height:44px; max-width:100%; object-fit:contain; }
.p3-mobile-nav__header img { width:64px; height:40px; object-fit:contain; }
.footer-brand img { width:100px; height:80px; object-fit:contain; }
.hero[style*="--idl-hero"], .about-hero[style*="--idl-hero"], .hub-hero[style*="--idl-hero"], .expo-hero[style*="--idl-hero"] {
    background-image: linear-gradient(90deg,rgba(1,9,18,.94),rgba(1,9,18,.3)),var(--idl-hero-desktop)!important;
    background-position: center; background-size: cover;
}
html[data-theme="light"] :is(.hero,.about-hero,.hub-hero,.expo-hero)[style*="--idl-hero"] {
    background-image: linear-gradient(90deg,rgba(244,247,250,.96),rgba(244,247,250,.4)),var(--idl-hero-desktop)!important;
}
/* Generated artwork keeps a quiet text zone in both languages and themes. */
:is(.hero,.about-hero,.hub-hero,.expo-hero,.schedule-page-hero)[style*="generated/headers/"] { --idl-header-gradient-direction:90deg; }
html[dir="rtl"] :is(.hero,.about-hero,.hub-hero,.expo-hero,.schedule-page-hero)[style*="generated/headers/"] { --idl-header-gradient-direction:270deg; }
:is(.hero,.about-hero,.hub-hero,.expo-hero)[style*="generated/headers/"] {
    background-image: linear-gradient(var(--idl-header-gradient-direction),rgba(1,9,18,.96),rgba(1,9,18,.9) 52%,rgba(1,9,18,.3)),var(--idl-hero-desktop)!important;
}
html[data-theme="light"] :is(.hero,.about-hero,.hub-hero,.expo-hero)[style*="generated/headers/"] {
    background-image: linear-gradient(var(--idl-header-gradient-direction),rgba(244,247,250,.98),rgba(244,247,250,.94) 52%,rgba(244,247,250,.4)),var(--idl-hero-desktop)!important;
}
.schedule-page-hero[style*="--idl-hero"]::before {
    background-image: var(--idl-hero-desktop);
    background-size: cover;
    background-position: center;
    mix-blend-mode: normal;
}
.schedule-page-hero[style*="generated/headers/"]::before {
    background-image: linear-gradient(var(--idl-header-gradient-direction),rgba(1,9,18,.96),rgba(1,9,18,.9) 52%,rgba(1,9,18,.3)),var(--idl-hero-desktop);
    opacity: 1;
}
html[data-theme="light"] body[class] .schedule-page-hero[style*="generated/headers/"]::before {
    background-image: linear-gradient(var(--idl-header-gradient-direction),rgba(244,247,250,.98),rgba(244,247,250,.94) 52%,rgba(244,247,250,.4)),var(--idl-hero-desktop);
    opacity: 1;
}
@media(max-width:767px){
    :is(.hero,.about-hero,.hub-hero,.expo-hero)[style*="generated/headers/"] {
        background-image: linear-gradient(var(--idl-header-gradient-direction),rgba(1,9,18,.96),rgba(1,9,18,.85)),var(--idl-hero-desktop)!important;
    }
    html[data-theme="light"] :is(.hero,.about-hero,.hub-hero,.expo-hero)[style*="generated/headers/"] {
        background-image: linear-gradient(var(--idl-header-gradient-direction),rgba(244,247,250,.98),rgba(244,247,250,.94)),var(--idl-hero-desktop)!important;
    }
    .schedule-page-hero[style*="generated/headers/"]::before {
        background-image: linear-gradient(var(--idl-header-gradient-direction),rgba(1,9,18,.96),rgba(1,9,18,.85)),var(--idl-hero-desktop);
    }
    html[data-theme="light"] body[class] .schedule-page-hero[style*="generated/headers/"]::before {
        background-image: linear-gradient(var(--idl-header-gradient-direction),rgba(244,247,250,.98),rgba(244,247,250,.94)),var(--idl-hero-desktop);
    }
}
.cms-info .cms-card img { width:100%; height:200px; object-fit:contain; }
@media(min-width:1200px){
    .home-page .hero-copy .hero-subtitle { max-width:340px; margin-inline:auto; }
    html[dir="rtl"] .home-page .hero > .event-panel { right:auto; left:var(--container-gutter); }
}
@media(max-width:991px){:is(.hero,.about-hero,.hub-hero,.expo-hero,.schedule-page-hero)[style*="--idl-hero"]{--idl-hero-desktop:var(--idl-hero-tablet)!important;}}
@media(max-width:767px){:is(.hero,.about-hero,.hub-hero,.expo-hero,.schedule-page-hero)[style*="--idl-hero"]{--idl-hero-desktop:var(--idl-hero-mobile)!important;}}

/* Source: resources/css/public/catalog-pages.css */
/* Catalog layouts share the original IDL navy, cyan and gold palette. */
.idl-passes-section { padding-top: 2rem; }
.idl-passes-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 1.5rem; align-items: stretch; }
.idl-pass-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid rgba(0, 151, 178, .4); border-radius: 1.25rem; background: linear-gradient(150deg, #0b2537, #03121f); overflow: hidden; }
.idl-pass-card__header { padding: 2rem 1.75rem 1.25rem; }
.idl-pass-card__icon { display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: 1.5rem; border-radius: .75rem; background: rgba(0, 151, 178, .15); color: var(--color-cyan); font-size: 1.3rem; }
.idl-pass-card h3 { color: var(--color-gold-light); font-family: var(--font-display); font-size: 2rem; text-transform: uppercase; }
.idl-pass-card__header > p:last-child { color: var(--color-muted); font-size: .9rem; line-height: 1.7; }
.idl-pass-card__price { position: relative; display: flex; align-items: baseline; gap: .6rem; padding: 1.25rem 1.75rem; border-block: 1px dashed rgba(255, 255, 255, .22); background: rgba(1, 9, 18, .3); }
.idl-pass-card__price::before, .idl-pass-card__price::after { position: absolute; top: -.65rem; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--color-navy-950); content: ''; }
.idl-pass-card__price::before { left: -.65rem; }.idl-pass-card__price::after { right: -.65rem; }
.idl-pass-card__price strong { color: #fff; font-size: clamp(2rem, 3vw, 2.7rem); line-height: 1.2; }.idl-pass-card__price span { color: var(--color-cyan); font-size: .8rem; font-weight: 700; }
.idl-pass-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.75rem; }
.idl-pass-benefits, .idl-offer-inclusions { display: grid; gap: .85rem; padding: 0; margin: 0 0 1.75rem; list-style: none; }
.idl-pass-benefits li, .idl-offer-inclusions li { display: flex; align-items: baseline; gap: .7rem; color: var(--color-muted); font-size: .85rem; line-height: 1.6; }
.idl-pass-benefits i, .idl-offer-inclusions i { flex: 0 0 auto; color: var(--color-cyan); font-size: .7rem; }
.idl-pass-card__actions { margin-top: auto; }.idl-pass-card__actions .idl-button { width: 100%; }.idl-pass-card__actions .idl-card-link { margin-top: .8rem; }
.idl-offer-card.idl-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; border-color: rgba(201, 154, 75, .3); background: linear-gradient(150deg, #0b2334, #04121e); }
.idl-offer-card__visual { position: relative; min-height: 12rem; aspect-ratio: 16/9; background: radial-gradient(circle at 70% 40%, rgba(0, 151, 178, .3), transparent 65%), #061725; }
.idl-offer-card__visual::after { position: absolute; inset: 0; content: ''; background: linear-gradient(transparent 40%, #061725); }
.idl-offer-card__visual img { width: 100%; height: 100%; object-fit: cover; }
.idl-offer-card__badge { position: absolute; z-index: 1; top: 1rem; inset-inline-start: 1rem; display: inline-flex; align-items: center; gap: .5rem; max-width: calc(100% - 2rem); padding: .5rem .8rem; color: var(--color-gold-light); background: rgba(1, 9, 18, .88); border: 1px solid rgba(201, 154, 75, .45); border-radius: .5rem; font-size: .75rem; }
.idl-offer-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.5rem; }.idl-offer-card h3 { font-size: 1.5rem; line-height: 1.25; }.idl-offer-card h3 a { color: #fff; text-decoration: none; }.idl-offer-card h3 a:hover { color: var(--color-gold-light); }
.idl-offer-card__body > p:not(.idl-card-kicker) { color: var(--color-muted); line-height: 1.7; font-size: .85rem; }.idl-offer-card__body .idl-offer-inclusions { margin-block: .5rem 1.25rem; }
.idl-offer-card__body footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .1); }.idl-offer-card__price { margin: 0; color: var(--color-gold-light); }.idl-offer-card__price strong { font-size: 1.6rem; }.idl-offer-card__price span { color: var(--color-muted); font-size: .7rem; }
.idl-offer-detail { padding-top: 9rem; }.idl-offer-hero { overflow: hidden; border-radius: 1.25rem; border: 1px solid rgba(201, 154, 75, .25); background: #061725; }.idl-offer-hero > img { width: 100%; max-height: 22rem; object-fit: cover; }.idl-offer-hero > div { padding: clamp(1.25rem, 3vw, 2.5rem); }.idl-offer-hero h1 { color: var(--color-gold-light); font-family: var(--font-display); text-transform: uppercase; }
.idl-offer-description { margin-top: 1.5rem; }.idl-offer-description > h2 { font-size: 1.2rem; }.idl-offer-contents { margin-top: 3rem; }.idl-offer-contents .idl-section-heading h2 { font-size: clamp(1.5rem, 3vw, 2rem); }.idl-offer-contents__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.idl-bundle-item h3 { font-size: 1.2rem; line-height: 1.4; }.idl-bundle-item > p:last-child { color: var(--color-muted); font-size: .85rem; line-height: 1.7; }
.idl-related-offers { margin-top: 4rem; }.idl-related-offers .cms-carousel__track > * { flex-basis: min(80%, 24rem); }
.idl-speaker-profile.speaker-profile { min-height: 0; padding-top: 9rem; }.idl-speaker-profile .speaker-identity-card { grid-template-columns: 8.5rem minmax(0, 1fr); background: linear-gradient(125deg, rgba(8, 37, 54, .96), rgba(3, 18, 31, .94)); border: 1px solid rgba(0, 151, 178, .22); }.idl-speaker-profile .speaker-name-line h1 { font-size: clamp(1.9rem, 3vw, 3rem); line-height: 1.15; }.idl-speaker-biography { margin-top: 1.5rem; }.idl-speaker-biography .p3-detail-description p { font-size: .95rem; line-height: 1.85; }.idl-speaker-profile .speaker-section { margin-top: 2.5rem; }.idl-speaker-profile .speaker-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }.idl-speaker-profile .speaker-section-heading h2 { margin: 0; color: var(--color-gold-light); font-size: 1.5rem; }.idl-speaker-profile .speaker-section-heading h2 span { color: var(--color-cyan); font-size: .85rem; }
.idl-programme-carousel .cms-carousel__track > * { flex: 0 0 calc(50% - .5rem); }.idl-programme-card.lecture-card { display: flex; flex-direction: column; min-width: 0; padding: 0; border-radius: 1rem; overflow: hidden; }.idl-programme-card .lecture-image { height: auto; aspect-ratio: 16/10; margin: 0; }.idl-programme-card .lecture-image img { width: 100%; height: 100%; object-fit: cover; }.idl-programme-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }.idl-programme-card h3 { margin: .3rem 0 .8rem; color: #fff; font-size: 1.25rem; line-height: 1.35; }.idl-programme-card__body > p { color: var(--color-muted); font-size: .85rem; line-height: 1.6; }.idl-programme-card .idl-card-link { margin-top: auto; padding-top: 1rem; }.idl-programme-card__body .idl-programme-card__price { color: var(--color-gold-light); }
.cms-carousel__controls button { width: 2.75rem; height: 2.75rem; border-color: rgba(0, 151, 178, .4); color: var(--color-cyan); }.cms-carousel__controls button:hover, .cms-carousel__controls button:focus-visible { background: var(--color-cyan); color: var(--color-navy-950); }
.idl-gallery-section { padding-top: 2rem; }.idl-gallery-section .p3-featured-carousel { margin-bottom: 2rem; }.idl-gallery-section .p3-featured-overlay { left: 5rem; right: 5rem; bottom: 3.5rem; }.idl-gallery-section .p3-featured-overlay h2 { font-size: clamp(1.8rem, 4vw, 3.6rem); }.idl-gallery-section .p3-featured-overlay > p { max-width: 34rem; }.idl-gallery-toolbar { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; margin-bottom: 2.5rem; padding: 1rem; border: 1px solid rgba(255, 255, 255, .08); border-radius: .8rem; background: #041522; }.idl-gallery-toolbar .idl-search { flex: 1 1 15rem; }.idl-gallery-toolbar .idl-field { flex: 0 1 14rem; }.idl-gallery-toolbar .idl-button { min-height: 3.15rem; }.idl-gallery-section .p3-gallery-group + .p3-gallery-group { margin-top: 3rem; }.idl-subsection-title > span { color: var(--color-cyan); font-size: .9rem; margin-inline-start: .5rem; }
.idl-gallery-lightbox { width: min(66rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 1.25rem; overflow: auto; color: #fff; border: 1px solid rgba(0, 151, 178, .35); border-radius: 1rem; background: #03121f; }.idl-gallery-lightbox::backdrop { background: rgba(1, 9, 18, .9); backdrop-filter: blur(8px); }.idl-gallery-lightbox header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }.idl-gallery-lightbox h2 { margin: 0; font-size: clamp(1.2rem, 3vw, 1.75rem); }.idl-gallery-lightbox button { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; flex-shrink: 0; border-radius: 50%; border: 1px solid #254256; color: #fff; background: #0b2537; }.idl-gallery-lightbox__stage { display: grid; place-items: center; background: #010912; border-radius: .5rem; overflow: hidden; }.idl-gallery-lightbox__stage img, .idl-gallery-lightbox__stage video { display: block; width: 100%; max-height: 62dvh; object-fit: contain; }.idl-gallery-lightbox__stage iframe { display: block; width: 100%; aspect-ratio: 16/9; max-height: 62dvh; border: 0; }.idl-gallery-lightbox > p { color: var(--color-muted); margin-block: 1rem; font-size: .9rem; }.idl-gallery-lightbox footer { display: flex; justify-content: center; align-items: center; gap: 1.25rem; }
.idl-pagination { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .1); }.cms-pagination .idl-pagination { justify-content: space-between; }.idl-pagination__summary { margin: 0; color: var(--color-muted); font-size: .8rem; }.idl-pagination__pages { display: flex; align-items: center; justify-content: center; gap: .4rem; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }.idl-pagination__pages a, .idl-pagination__pages span { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: .65rem; color: #c8d7e5; background: #061a29; font-size: .85rem; text-decoration: none; }.idl-pagination__pages [aria-current] { background: var(--color-gold-light); border-color: var(--color-gold-light); color: var(--color-navy-950); font-weight: 800; }.idl-pagination__pages a:hover { color: var(--color-cyan); border-color: var(--color-cyan); }.idl-pagination__pages [aria-disabled] { opacity: .35; }.idl-pagination__ellipsis span { border-color: transparent; background: transparent; }
/* Choice controls must retain their native dimensions and keyboard behavior. */
.idl-field input:is([type=checkbox], [type=radio]), .idl-form-card input:is([type=checkbox], [type=radio]) { appearance: auto; display: inline-block; flex: 0 0 1.15rem; width: 1.15rem; height: 1.15rem; min-height: 0; padding: 0; margin: .2rem 0 0; border-radius: .2rem; accent-color: #00b2ce; cursor: pointer; }
.idl-field input:is([type=checkbox], [type=radio]):focus-visible { outline: 2px solid var(--color-gold-light); outline-offset: 3px; }
.idl-field .cms-choice { display: flex; align-items: flex-start; gap: .75rem; margin: 0; padding: .8rem 1rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: .6rem; color: #d5e1ec; font-size: .9rem; font-weight: 500; line-height: 1.6; letter-spacing: normal; text-transform: none; cursor: pointer; }.cms-choice:has(input:checked) { background: rgba(0, 151, 178, .1); border-color: rgba(0, 151, 178, .6); }.cms-choice-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: .6rem; }.cms-field-label { display: block; margin-bottom: .6rem; color: var(--color-slate-400); font-size: .75rem; font-weight: 700; }.cms-choice--consent { margin-top: .4rem; }
[dir=rtl] .idl-pagination__arrow i, [dir=rtl] .cms-carousel__controls i, [dir=rtl] .idl-card-link .fa-arrow-right { transform: scaleX(-1); }
[dir=rtl] .idl-speaker-profile :is(h1, h2, h3), [dir=rtl] .idl-offer-hero h1, [dir=rtl] .idl-pass-card h3 { font-family: Cairo, sans-serif; }
@media (max-width: 991px) { .idl-speaker-profile .speaker-identity-card { grid-template-columns: 6rem minmax(0, 1fr); gap: 1rem; }.idl-speaker-profile .speaker-photo-wrap { width: 6rem; }.idl-offer-contents__grid { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .idl-speaker-profile.speaker-profile, .idl-offer-detail { padding-top: 6.5rem; }.idl-speaker-profile .speaker-identity-card { grid-template-columns: 1fr; text-align: center; padding: 1.5rem; }.idl-speaker-profile .speaker-photo-wrap { margin-inline: auto; width: 7rem; }.idl-speaker-profile .speaker-name-line { justify-content: center; }.idl-programme-carousel .cms-carousel__track > * { flex-basis: 86%; }.idl-related-offers .cms-carousel__track > * { flex-basis: 86%; }.idl-offer-contents__grid { grid-template-columns: 1fr; }.idl-gallery-toolbar .idl-field { flex: 1 1 10rem; }.idl-gallery-toolbar .idl-button { flex: 1 1 8rem; }.idl-gallery-section .p3-featured-overlay { left: 1.5rem; right: 1.5rem; bottom: 4rem; }.idl-gallery-section .p3-featured-track { min-height: 30rem; }.idl-gallery-section .p3-featured-overlay > p { font-size: .85rem; }.idl-gallery-section .p3-carousel-control { top: 2rem; }.idl-pagination, .cms-pagination .idl-pagination { justify-content: center; }.idl-pagination__summary { flex: 1 0 100%; text-align: center; }.idl-gallery-lightbox { padding: 1rem; } }
@media (prefers-reduced-motion: reduce) { .idl-gallery-section .p3-featured-slide, .idl-gallery-section .p3-bento-card img { transition: none; } }
@media (max-width: 767px) {
    .p3-catalog-grid:has(.idl-offer-card) { grid-template-columns: 1fr !important; }
    .idl-pass-card .idl-button, .idl-offer-card .idl-button { min-height: 3rem; font-size: .8rem; }
    .idl-gallery-section .p3-bento-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: auto; gap: .75rem; }
    .idl-gallery-section .p3-bento-card { grid-column: auto; grid-row: auto; min-height: 15rem; }
    .idl-gallery-section .p3-bento-card--wide { grid-column: span 2; min-height: 20rem; }
    .idl-gallery-section .p3-bento-card figure { position: absolute; inset: 0; aspect-ratio: auto; }
    .idl-gallery-section .p3-bento-card > div { padding: 0; inset-inline: .85rem; bottom: 1rem; }
    .idl-gallery-section .p3-bento-card h3 { font-size: 1.05rem; line-height: 1.3; }
    .idl-gallery-section .p3-bento-card > div .idl-card-kicker { display: block; font-size: .65rem; }
}
[data-point3-page=offers] .p3-featured-listing-track > .idl-offer-card { flex: 0 0 min(100%, 25rem) !important; max-width: none; }
.idl-gallery-section .p3-media-type .fa-play { position: static; transform: none; display: inline; width: auto; height: auto; font-size: inherit; border: 0; background: none; }
[dir=rtl] .idl-gallery-section .p3-carousel-control i, [dir=rtl] .idl-gallery-lightbox footer i { transform: scaleX(-1); }
.idl-pass-card__availability { color: var(--color-cyan); font-size: .8rem; margin-bottom: 1rem; }
@media (min-width: 992px) { .idl-pass-card__header { min-height: 21rem; } }

/* Source: resources/css/public/speaker-profile.css */
/* Full-width faculty profile. */
.idl-speaker-profile.speaker-profile {
    min-height: 0;
    padding: 9rem 0 5rem;
}

.idl-speaker-profile .idl-speaker-container {
    width: 100%;
    max-width: none;
    padding-inline: clamp(1rem, 4vw, 5rem);
}

.idl-speaker-content { min-width: 0; }

.idl-speaker-profile .speaker-identity-card {
    display: grid;
    grid-template-columns: 10rem minmax(0, 1fr) minmax(12rem, auto);
    grid-template-areas: 'photo identity actions' 'photo facts actions';
    align-items: center;
    gap: 1.25rem 2rem;
    min-height: 16rem;
    padding: clamp(1.5rem, 3vw, 3rem);
    border: 1px solid rgba(201, 154, 75, .2);
    border-radius: 1.25rem;
    background: radial-gradient(ellipse at 0 0, rgba(0, 151, 178, .1), transparent 55%), linear-gradient(120deg, #07131e, #020a12);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .16);
}

.idl-speaker-profile .speaker-photo-wrap {
    grid-area: photo;
    display: grid;
    place-items: center;
    width: 10rem;
    height: 10rem;
    margin: 0;
    padding: .35rem;
    border: 2px solid var(--color-gold-light);
    background: #15202d;
    color: var(--color-gold-light);
    font-size: 3rem;
    overflow: hidden;
}

.idl-speaker-profile .speaker-photo-wrap img { display: block; min-width: 0; min-height: 0; object-position: center; }
.idl-speaker-profile .speaker-identity-copy { grid-area: identity; min-width: 0; }
.idl-speaker-profile .speaker-name-line { gap: .8rem 1rem; }

.idl-speaker-profile .speaker-name-line h1 {
    font-size: clamp(2rem, 3.5vw, 3.6rem);
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.idl-speaker-profile .speaker-faculty-badge {
    padding: .45rem .65rem;
    font-size: .65rem;
    letter-spacing: .12em;
    white-space: nowrap;
}

.idl-speaker-profile .speaker-professional-title {
    margin: .85rem 0 .5rem;
    color: #c2cbd7;
    font-size: 1rem;
    line-height: 1.6;
}

.speaker-profile-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem 1.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
    color: #8e9eaf;
    font-size: .85rem;
    line-height: 1.6;
}

.speaker-profile-meta li { display: flex; align-items: center; gap: .5rem; }
.speaker-profile-meta li + li { padding-inline-start: 1.25rem; border-inline-start: 1px solid #2b3c4b; }
.speaker-profile-meta i { color: var(--color-cyan); }

.idl-speaker-profile .speaker-facts { grid-area: facts; gap: .75rem 1.5rem; margin: 0; }
.idl-speaker-profile .speaker-facts li { gap: .45rem; font-size: .8rem; white-space: normal; }
.idl-speaker-profile .speaker-facts strong { font-size: inherit; }

.speaker-banner-actions {
    grid-area: actions;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    align-self: stretch;
    justify-content: space-between;
    gap: 1.5rem;
    min-width: 0;
}

.idl-speaker-profile .speaker-socials {
    align-self: auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .6rem;
    max-width: 14rem;
}

.idl-speaker-profile .speaker-socials a {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 1.05rem;
    text-decoration: none;
    background: #142132;
}

.speaker-banner-actions form { margin: auto 0 0; }
.speaker-banner-actions .p3-favorite-button--detail { min-height: 3.25rem; padding: .9rem 1.2rem; font-size: .7rem; }
.speaker-profile-notice { margin: 1rem 0; color: var(--color-gold-light); }

.idl-speaker-tabs { margin-top: 2rem; }
.idl-speaker-tablist {
    display: flex;
    gap: .4rem;
    overflow-x: auto;
    padding: 0 .25rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #20303e;
    scrollbar-width: thin;
    scrollbar-color: #274859 transparent;
}

.idl-speaker-tab {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    min-height: 3.75rem;
    padding: .85rem 1.25rem;
    border-radius: .6rem .6rem 0 0;
    color: #9aabba;
    font-size: .8rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: color 180ms, background 180ms;
}

.idl-speaker-tab::after {
    position: absolute;
    inset: auto .75rem 0;
    height: 2px;
    background: var(--color-gold-light);
    content: '';
    transform: scaleX(0);
}

.idl-speaker-tab:hover { color: #fff; background: rgba(255, 255, 255, .03); }
.idl-speaker-tab[aria-selected=true] { color: var(--color-gold-light); background: rgba(201, 154, 75, .06); }
.idl-speaker-tab[aria-selected=true]::after { transform: scaleX(1); }
.idl-speaker-tab__count { display: grid; place-items: center; min-width: 1.5rem; height: 1.5rem; padding-inline: .35rem; border-radius: .4rem; color: #aebeca; background: #182b3b; font-size: .7rem; }
.idl-speaker-tab[aria-selected=true] .idl-speaker-tab__count { background: rgba(201, 154, 75, .16); color: var(--color-gold-light); }

.idl-speaker-profile .idl-speaker-tabpanel {
    margin: 0;
    padding: clamp(1.25rem, 3vw, 2.5rem);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 1rem;
    background: #06131f;
    scroll-margin-top: 7rem;
}

.idl-speaker-tabpanel[hidden] { display: none !important; }
.idl-speaker-tabpanel + .idl-speaker-tabpanel { margin-top: 1.5rem; }
.idl-speaker-tabs:has([role=tablist]) .idl-speaker-tabpanel { margin-top: 0; }
.idl-speaker-profile .idl-speaker-tabpanel .idl-eyebrow { margin: 0 0 .6rem; color: var(--color-cyan); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.idl-speaker-profile .idl-speaker-tabpanel h2 { margin: 0 0 1.25rem; padding: 0; border: 0; color: var(--color-gold-light); font-size: 2rem; }
.idl-speaker-profile .idl-speaker-biography .p3-detail-lead { max-width: 65rem; color: #d1dce7; font-size: 1.05rem; line-height: 1.8; }
.idl-speaker-profile .idl-speaker-biography .p3-detail-description { max-width: 65rem; color: #9faebe; font-size: .95rem; line-height: 1.85; }
.idl-speaker-profile .idl-speaker-biography .p3-detail-description p { font-size: inherit; line-height: inherit; }
.speaker-expertise-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 25rem), 1fr)); gap: 1.25rem; margin-top: 2rem; }
.speaker-expertise-card { min-width: 0; padding: 1.5rem; border: 1px solid #203342; border-radius: .75rem; background: rgba(14, 36, 52, .5); }
.idl-speaker-profile .speaker-expertise-card h3, .idl-speaker-profile .speaker-profile-downloads h3 { margin: 0 0 1rem; padding: 0; border: 0; color: #d3deea; font-family: var(--font-nav); font-size: .9rem; font-weight: 600; letter-spacing: normal; text-transform: none; }
.speaker-expertise-card .idl-list { margin-bottom: 0; color: #9faebe; font-size: .9rem; line-height: 1.8; }
.speaker-profile-downloads { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #203342; }
.speaker-profile-downloads__links { display: flex; flex-wrap: wrap; gap: .75rem; }
.idl-speaker-profile .speaker-section-heading { margin-bottom: 1.75rem; }
.idl-speaker-profile .speaker-section-heading h2 { margin-bottom: 0; }
.idl-speaker-programme-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1.5rem; }
.idl-speaker-programme-grid .idl-programme-card { background: #0a1c2b; border-color: #243947; box-shadow: none; }
.idl-speaker-programme-grid .lecture-image { aspect-ratio: 16/8; }
.idl-speaker-programme-grid .idl-programme-card__body { padding: 1.5rem; }

.idl-speaker-tab:focus-visible, .idl-speaker-profile .speaker-socials a:focus-visible, .idl-speaker-tabpanel:focus-visible { outline: 2px solid var(--color-cyan); outline-offset: -3px; }

@media (max-width: 1199px) {
    .idl-speaker-profile .speaker-identity-card { grid-template-columns: 8rem minmax(0, 1fr); grid-template-areas: 'photo identity' 'photo facts' 'actions actions'; gap: 1.5rem; }
    .idl-speaker-profile .speaker-photo-wrap { width: 8rem; height: 8rem; }
    .speaker-banner-actions { flex-direction: row; align-items: center; justify-content: space-between; }
    .speaker-banner-actions form { margin: 0; }
    .idl-speaker-profile .speaker-socials { justify-content: flex-start; max-width: none; }
}

@media (max-width: 767px) {
    .idl-speaker-profile.speaker-profile { padding-top: 6.5rem; padding-bottom: 3rem; }
    .idl-speaker-profile .speaker-identity-card { grid-template-columns: 5.5rem minmax(0, 1fr); grid-template-areas: 'photo identity' 'facts facts' 'actions actions'; padding: 1.25rem; gap: 1.25rem 1rem; text-align: start; min-height: 0; }
    .idl-speaker-profile .speaker-photo-wrap { align-self: start; width: 5.5rem; height: 5.5rem; padding: .2rem; order: 0; }
    .idl-speaker-profile .speaker-identity-copy { display: block; }
    .idl-speaker-profile .speaker-name-line { justify-content: flex-start; gap: .6rem; margin-top: 0; }
    .idl-speaker-profile .speaker-name-line h1 { font-size: clamp(1.6rem, 6vw, 2.4rem); }
    .idl-speaker-profile .speaker-faculty-badge { font-size: .55rem; padding: .3rem .45rem; }
    .idl-speaker-profile .speaker-identity-copy > .speaker-professional-title { max-width: none; font-size: .8rem; margin: .65rem 0 .5rem; text-align: start; }
    .speaker-profile-meta { font-size: .75rem; gap: .4rem; }
    .speaker-profile-meta li + li { padding-inline-start: 0; border: 0; }
    .idl-speaker-profile .speaker-facts { display: flex; gap: .6rem 1rem; margin: 0; padding: 0; min-height: 0; border: 0; border-radius: 0; background: none; }
    .idl-speaker-profile .speaker-facts li { justify-content: flex-start; flex-direction: row; padding: 0; font-size: .7rem; text-align: start; }
    .idl-speaker-profile .speaker-facts li + li { border: 0; }
    .idl-speaker-profile .speaker-facts::after, .idl-speaker-profile .speaker-facts li:nth-child(2)::after { content: none; }
    .speaker-banner-actions { flex-wrap: wrap; gap: 1rem; padding-top: 1.25rem; border-top: 1px solid #20303e; }
    .idl-speaker-profile .speaker-socials { margin-top: 0; order: 0; }
    .idl-speaker-profile .speaker-socials a { width: 2.75rem; height: 2.75rem; }
    .speaker-banner-actions form { flex: 1 1 auto; }
    .speaker-banner-actions .p3-favorite-button--detail { width: 100%; }
    .idl-speaker-tabs { margin-top: 1.5rem; }
    .idl-speaker-tablist { margin-bottom: 1rem; }
    .idl-speaker-tab { padding-inline: .8rem; min-height: 3.5rem; font-size: .75rem; gap: .5rem; }
    .idl-speaker-profile .idl-speaker-tabpanel h2 { font-size: 1.6rem; background: none; text-align: start; }
    .idl-speaker-profile .idl-speaker-biography .p3-detail-lead { font-size: .95rem; }
    .speaker-expertise-card { padding: 1.1rem; }
    .idl-speaker-programme-grid { gap: 1rem; }
    .idl-speaker-programme-grid .idl-programme-card__body { padding: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
    .idl-speaker-tab { transition: none; }
}

@media (max-width: 399px) {
    .idl-speaker-profile .speaker-identity-card { grid-template-columns: 4.5rem minmax(0, 1fr); padding: 1rem; gap: 1rem .75rem; }
    .idl-speaker-profile .speaker-photo-wrap { width: 4.5rem; height: 4.5rem; }
    .idl-speaker-profile .speaker-name-line h1 { font-size: 1.45rem; }
}

/* Source: resources/css/public/content-ui.css */
/* Shared competition-inspired cards and editorial detail pages. */
.idl-bus-group-panel { display: grid; gap: 1rem; }
.idl-detail-panel.idl-bus-group-panel h2, .idl-bus-group-panel p { margin: 0; }
.idl-bus-group-panel .idl-button { display: flex; justify-content: center; align-items: center; gap: .6rem; width: 100%; white-space: normal; }
.idl-detail-panel.idl-bus-assistance, .p3-detail-actions .idl-detail-panel.idl-bus-assistance { padding: 0; }
.idl-bus-assistance > summary { display: flex; align-items: center; gap: .8rem; padding: 1.25rem; list-style: none; cursor: pointer; }
.idl-bus-assistance > summary::-webkit-details-marker { display: none; }
.idl-bus-assistance > summary > span { flex: 1; min-width: 0; }
.idl-bus-assistance summary strong, .idl-bus-assistance summary small { display: block; line-height: 1.6; }
.idl-bus-assistance summary strong { font-size: .95rem; }
.idl-bus-assistance summary small { margin-top: .3rem; font-size: .8rem; opacity: .75; }
.idl-bus-assistance summary > i { flex-shrink: 0; color: var(--color-gold-light); }
.idl-bus-assistance[open] > summary > i:last-child { transform: rotate(180deg); }
.idl-bus-assistance summary:focus-visible { outline: 2px solid var(--color-cyan); outline-offset: 3px; border-radius: 1rem; }
.idl-bus-assistance__body { padding: 0 1.25rem 1.25rem; }
.idl-content-card.idl-card.p3-catalog-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(174, 200, 219, .15);
    border-top: 3px solid var(--color-gold-light);
    border-radius: 1.25rem;
    background: linear-gradient(145deg, #0d2131, #071722);
    box-shadow: 0 12px 36px rgba(0, 0, 0, .12);
    transition: border-color .2s ease, box-shadow .2s ease;
}
.idl-content-card.idl-card:hover { border-color: rgba(201, 154, 75, .5); box-shadow: 0 16px 40px rgba(0, 0, 0, .22); }
.idl-content-card.idl-card:focus-within { outline: 2px solid var(--color-cyan); outline-offset: 4px; }
.idl-content-card.idl-card > .idl-content-card__media {
    position: relative;
    flex: 0 0 auto;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
    margin: 0;
    overflow: hidden;
    background: radial-gradient(circle at 75% 20%, #12455a, #061725);
}
.idl-content-card .idl-content-card__media :is(img, video, iframe) { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }
.idl-content-card.p3-catalog-card--person .idl-content-card__media img { object-position: center 25%; }
.idl-content-card:is(.p3-catalog-card--company, .p3-catalog-card--organization) .idl-content-card__media { background: #fff; }
.idl-content-card:is(.p3-catalog-card--company, .p3-catalog-card--organization) .idl-content-card__media img { object-fit: contain; padding: 1.5rem; }
.idl-content-card.idl-card > .idl-content-card__body { display: flex; flex: 1; flex-direction: column; gap: .75rem; padding: clamp(1.25rem, 2vw, 1.75rem); height: auto; min-width: 0; }
.idl-content-card .idl-content-card__body > :is(h3, p) { margin: 0; }
.idl-content-card.idl-card h3 { color: #fff; font-size: clamp(1.3rem, 1.75vw, 1.65rem); font-weight: 700; line-height: 1.25; }
.idl-content-card h3 a { color: inherit; }
.workshops-grid .idl-content-card { height: 100%; }
.idl-content-card.idl-card .idl-card-kicker { color: #a9bdcc; font-size: .78rem; line-height: 1.6; white-space: normal; }
.idl-content-card.idl-card .idl-content-card__body > p:not(.idl-card-kicker) { color: #b0c2d0; font-size: .9rem; line-height: 1.75; }
.idl-content-card.idl-card .idl-card-link { gap: .6rem; width: fit-content; margin-top: auto; padding-top: .5rem; color: var(--color-gold-light); font-size: .85rem; white-space: normal; overflow: visible; }
.idl-content-card .idl-card-link:hover { color: #fff; }
.idl-content-card .idl-content-card__body > form:last-child { margin-top: auto; }
.idl-content-card.idl-offer-card .idl-offer-card__badge { top: auto; bottom: 1rem; }
.idl-content-card.idl-offer-card footer { gap: .75rem; }
.idl-content-card.idl-offer-card footer .idl-button { font-size: .75rem; padding-inline: .85rem; white-space: normal; }
.idl-content-card.idl-pass-card .idl-pass-card__header { padding: 0; min-height: 0; }
.idl-content-card.idl-pass-card h3 { text-transform: none; color: #fff; }
.idl-content-card.idl-pass-card .idl-pass-card__price { padding: 1rem 0; margin-block: .5rem; background: transparent; }
.idl-content-card.idl-pass-card .idl-pass-card__body { padding: 0; }
.idl-content-card.idl-pass-card .idl-pass-card__price::before, .idl-content-card.idl-pass-card .idl-pass-card__price::after { display: none; }
.idl-content-card.cms-card .cms-card__icon { color: var(--color-gold-light); font-size: 1.75rem; }
.cms-schedule__list .idl-content-card.idl-card > .idl-content-card__body { display: grid; grid-template-columns: 10rem 1fr 1.5fr auto; align-items: center; gap: 1rem; }
.cms-schedule__list .idl-content-card.idl-card h3 { font-size: 1.1rem; }
.cms-schedule__list .idl-content-card.idl-card .idl-card-link { margin: 0; padding: 0; }
.idl-content-card.p3-search-result-card { display: flex; }
.idl-content-card.p3-search-result-card .idl-content-card__media { display: grid; place-items: center; color: var(--color-cyan); font-size: 2.5rem; }
.idl-gallery-section .p3-bento-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: auto; gap: 1.5rem; }
.idl-content-card.idl-gallery-card { cursor: pointer; }
.idl-content-card.idl-gallery-card .p3-media-type { top: 1rem; inset-inline-start: 1rem; bottom: auto; font-size: .7rem; }
.idl-content-card.idl-gallery-card > .idl-content-card__body { position: static; }
.p3-catalog-grid.p3-catalog-grid--organization { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.p3-detail-section, .idl-offer-detail { padding-top: 9rem; }
.idl-detail-header { max-width: 64rem; padding-bottom: 2.5rem; }
.idl-detail-header .p3-breadcrumb { margin-bottom: 1.75rem; }
.p3-breadcrumb a { display: inline-flex; align-items: center; gap: .5rem; }
.idl-detail-header > .idl-eyebrow { display: inline-flex; align-items: center; gap: .65rem; padding: .5rem .85rem; margin-bottom: 1rem; background: rgba(0, 151, 178, .12); border: 1px solid rgba(0, 151, 178, .25); border-radius: 2rem; color: var(--color-cyan); font-size: .72rem; }
.idl-detail-header h1 { max-width: 28ch; margin: 0 0 1rem; color: #fff; font-family: var(--font-nav) !important; font-size: clamp(2rem, 4.5vw, 3.5rem); font-weight: 700 !important; line-height: 1.14; letter-spacing: -.035em; text-transform: none; overflow-wrap: anywhere; }
.idl-detail-header .p3-detail-lead { max-width: 65ch; margin: 0; color: #afc4d4; font-size: 1.05rem; line-height: 1.8; }
.p3-listing-detail.idl-detail-layout { grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem); gap: 1.75rem; direction: inherit; }
.p3-listing-detail.idl-detail-layout > .p3-detail-content { min-width: 0; }
.idl-detail-overview, .idl-detail-panel { border: 1px solid rgba(174, 200, 219, .14); border-radius: 1.1rem; background: linear-gradient(145deg, #0b2131, #071722); overflow: hidden; }
.idl-detail-overview { border-top: 3px solid var(--color-gold-light); }
.idl-detail-media { position: relative; margin: 0; background: #081e2d; }
.idl-detail-media .p3-detail-cover { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: 16/9; margin: 0; border-radius: 0; object-fit: cover; }
.idl-detail-media--logo { background: #fff; }
.idl-detail-media--logo .p3-detail-cover { object-fit: contain; padding: 2.5rem; max-height: 24rem; }
.idl-detail-overview__body, .idl-detail-panel { padding: clamp(1.25rem, 2.5vw, 2rem); }
.idl-detail-overview h2, .idl-detail-panel h2 { display: flex; align-items: center; gap: .75rem; margin: 0 0 1.2rem; font-family: var(--font-nav) !important; font-weight: 600 !important; color: #f2f6fa; font-size: 1.1rem; line-height: 1.5; text-transform: none; letter-spacing: 0; }
.idl-detail-overview h2 > i, .idl-detail-panel h2 > i { color: var(--color-gold-light); font-size: 1rem; flex-shrink: 0; }
.idl-detail-panel > p, .p3-detail-description { color: #b8cad8; font-size: .95rem; line-height: 1.85; white-space: normal; }
.idl-detail-panel > p { margin: 0; white-space: pre-line; }
.p3-detail-description > :last-child { margin-bottom: 0; }
.p3-detail-description :is(ul, ol) { padding-inline-start: 1.5rem; }
.p3-detail-description :is(h2, h3, h4) { color: #fff; margin-top: 1.5rem; }
.p3-detail-description a { color: var(--color-cyan); text-decoration: underline; }
.p3-detail-description table { display: block; max-width: 100%; overflow-x: auto; }
.idl-detail-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.idl-detail-sections:empty { display: none; }
.idl-detail-sections .p3-detail-block { margin: 0; }
.idl-detail-panel--wide { grid-column: 1 / -1; }
.p3-detail-content > .p3-detail-block { margin-top: 1.5rem; }
.idl-detail-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; padding: 0; margin: 0; list-style: none; }
.idl-detail-points li { display: flex; align-items: flex-start; gap: .7rem; padding: .9rem; border: 1px solid rgba(0, 151, 178, .13); border-radius: .65rem; background: rgba(0, 151, 178, .05); color: #bdcdda; font-size: .88rem; line-height: 1.7; }
.idl-detail-points li > i { flex-shrink: 0; margin-top: .3rem; color: var(--color-cyan); font-size: .8rem; }
.p3-detail-faculty { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.p3-detail-speaker { padding: 1rem; border: 1px solid rgba(174, 200, 219, .12); border-radius: .75rem; background: rgba(255, 255, 255, .02); }
.p3-detail-speaker:hover { border-color: var(--color-cyan); }
.p3-detail-speaker img, .idl-faculty-avatar { flex: 0 0 3.5rem; width: 3.5rem; height: 3.5rem; }
.idl-faculty-avatar { display: grid; place-items: center; border-radius: 50%; background: #123347; color: var(--color-cyan); }
.p3-detail-speaker strong { font-size: .9rem; }
.p3-detail-speaker small { margin-top: .3rem; font-size: .75rem; line-height: 1.6; }
.p3-listing-detail .p3-detail-actions { gap: 1rem; padding: 0; }
.p3-detail-actions .idl-detail-panel { padding: 1.5rem; }
.idl-detail-booking { display: flex; flex-direction: column; gap: 1rem; border-top: 3px solid var(--color-gold-light); }
.idl-detail-booking :is(h2, .idl-eyebrow) { margin: 0; }
.idl-detail-booking .idl-eyebrow { color: #a5bacb; font-size: .65rem; }
.idl-detail-booking .p3-detail-price { color: var(--color-gold-light); font-size: 2.25rem; line-height: 1.2; }
.idl-detail-booking .p3-detail-price small { color: #adc2d2; }
.p3-detail-actions .idl-button { display: flex; align-items: center; justify-content: center; gap: .65rem; min-height: 3rem; white-space: normal; font-size: .75rem; }
.p3-detail-actions .idl-detail-facts dl > div { display: flex; align-items: flex-start; gap: .8rem; padding-block: .9rem; }
.p3-detail-actions .idl-detail-facts dl > div:last-child { border: 0; padding-bottom: 0; }
.idl-fact-icon { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; flex: 0 0 2.1rem; border-radius: .55rem; background: rgba(0, 151, 178, .1); color: var(--color-cyan); font-size: .85rem; }
.p3-detail-actions dt { font-size: .72rem; line-height: 1.5; }
.p3-detail-actions dd { color: #e7f0f6; font-size: .85rem; line-height: 1.6; }
.idl-detail-contact .idl-button + .idl-button { margin-top: .6rem; }
.idl-detail-count { padding: .15rem .6rem; margin-inline-start: auto; border-radius: 1rem; background: rgba(0, 151, 178, .12); color: var(--color-cyan); font-size: .75rem; }
.p3-detail-lesson { padding: 0; margin-top: .75rem; border: 1px solid rgba(174, 200, 219, .12); border-radius: .65rem; overflow: hidden; }
.p3-detail-lesson summary { display: flex; align-items: center; gap: .8rem; padding: 1rem; color: #e7f0f6; font-size: .9rem; list-style: none; }
.p3-detail-lesson summary::-webkit-details-marker { display: none; }
.p3-detail-lesson summary small { display: block; margin: .3rem 0 0; color: #a7bdcc; font-size: .75rem; }
.idl-lesson-number { display: grid; place-items: center; flex: 0 0 2rem; height: 2rem; border-radius: .5rem; background: rgba(0, 151, 178, .1); color: var(--color-cyan); font-size: .75rem; }
.idl-lesson-chevron { margin-inline-start: auto; color: var(--color-cyan); }
.p3-detail-lesson[open] .idl-lesson-chevron { transform: rotate(180deg); }
.p3-detail-lesson > :not(summary) { margin: 0 1rem 1rem; color: #b8cad8; font-size: .88rem; line-height: 1.8; }
.idl-detail-rooms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.p3-detail-room { padding: 1.25rem; border: 1px solid rgba(174, 200, 219, .12); border-radius: .65rem; }
.p3-detail-room + .p3-detail-room { margin: 0; }
.p3-detail-room h3 { font-size: 1rem; color: #fff; }
.p3-detail-room p { color: #b8cad8; font-size: .85rem; line-height: 1.7; }

.idl-form-fields { min-width: 0; padding: 0; margin: 0; border: 0; }
.idl-form-fields > .idl-button { margin-top: 1.5rem; }
.idl-form-gate { position: relative; min-width: 0; }
.idl-form-gate--locked { isolation: isolate; }
.idl-form-gate--locked > form { min-height: 29rem; opacity: .45; user-select: none; }
.idl-form-gate__overlay { position: absolute; z-index: 1; inset: 0; display: flex; justify-content: center; align-items: flex-start; padding: clamp(1rem, 3vw, 2rem); border: 1px solid rgba(201, 154, 75, .25); border-radius: 1rem; background: rgba(3, 15, 25, .4); backdrop-filter: blur(3px); }
.idl-form-gate__prompt { position: sticky; top: 8rem; width: min(100%, 25rem); margin-top: 2.5rem; padding: 2rem; border: 1px solid rgba(201, 154, 75, .4); border-radius: 1rem; background: linear-gradient(145deg, #0c293b, #071722); text-align: center; box-shadow: 0 15px 50px rgba(0, 0, 0, .3); }
.idl-form-gate__icon { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; margin: 0 auto 1.25rem; border: 1px solid rgba(201, 154, 75, .35); border-radius: 50%; background: rgba(201, 154, 75, .1); color: var(--color-gold-light); font-size: 1.2rem; }
.idl-form-gate__prompt .idl-eyebrow { font-size: .65rem; color: var(--color-cyan); }
.idl-form-gate__prompt h2 { margin-bottom: .75rem; color: #fff; font-family: var(--font-nav) !important; font-weight: 600 !important; font-size: 1.5rem; text-transform: none; letter-spacing: 0; }
.idl-form-gate__prompt > p:not(.idl-eyebrow) { color: #adc2d2; font-size: .9rem; line-height: 1.7; }
.idl-form-gate__prompt .idl-button { width: 100%; margin-top: .75rem; }
[dir=rtl] :is(.idl-detail-header h1, .idl-detail-panel h2, .idl-detail-overview h2, .idl-form-gate__prompt h2) { font-family: Cairo, sans-serif !important; letter-spacing: 0; }
[dir=rtl] .idl-detail-booking .fa-arrow-right { transform: scaleX(-1); }
@media (max-width: 991px) {
    .cms-schedule__list .idl-content-card.idl-card > .idl-content-card__body { grid-template-columns: 1fr 1fr; }
    .p3-listing-detail.idl-detail-layout { grid-template-columns: minmax(0, 1fr); }
    .p3-listing-detail .p3-detail-actions { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
    .p3-catalog-grid.p3-catalog-grid--organization, .idl-gallery-section .p3-bento-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .cms-schedule__list .idl-content-card.idl-card > .idl-content-card__body { grid-template-columns: minmax(0, 1fr); }
    .p3-detail-section, .idl-offer-detail { padding-top: 7rem; }
    .idl-detail-header { padding-bottom: 1.75rem; }
    .idl-detail-header h1 { font-size: 2rem; }
    .idl-detail-header .p3-detail-lead { font-size: .95rem; }
    .idl-detail-header .p3-breadcrumb { font-size: .72rem; }
    .idl-detail-sections, .idl-detail-points, .idl-detail-rooms, .p3-listing-detail .p3-detail-actions { grid-template-columns: minmax(0, 1fr); }
    .p3-catalog-grid.p3-catalog-grid--organization, .idl-gallery-section .p3-bento-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .idl-content-card.idl-card h3 { font-size: 1.5rem; }
    .idl-content-card.idl-card > .idl-content-card__body { padding: 1.25rem; }
    .idl-content-card.idl-card .idl-card-kicker { font-size: .75rem; }
    .idl-content-card.idl-card .idl-content-card__body > p:not(.idl-card-kicker) { font-size: .88rem; }
    .idl-form-gate__prompt { top: 6rem; margin-top: 1.25rem; padding: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) { .idl-content-card.idl-card, .idl-content-card figure img { transition: none; } }

/* Source: resources/css/public/flows-ui.css */
/* Account and request flows, plus custom catalog experiences. */
[data-auth-flow] [hidden], [data-request-panel] [hidden], .idl-enquiry-form [hidden] { display: none !important; }
.p3-auth-modal-panel { max-height: calc(100dvh - 2rem); overflow-y: auto; }
.p3-auth-modal-panel .p3-auth-shell { min-height: 33rem; }
.p3-auth-modal-panel .p3-auth-workspace { min-width: 0; padding: 3rem 2rem 2rem; }
.p3-auth-modal-panel .p3-auth-heading h2 { font-family: var(--font-nav) !important; font-weight: 700 !important; font-size: 1.6rem; line-height: 1.3; text-transform: none; letter-spacing: 0; }
.p3-auth-modal-panel .p3-auth-heading p { color: #a8bfce; font-size: .88rem; line-height: 1.7; }
.idl-auth-progress { display: flex; gap: .7rem; padding: 0 0 1.25rem; margin: 0 0 1rem; list-style: none; counter-reset: auth-step; border-bottom: 1px solid #1b3547; }
.idl-auth-progress li { display: flex; align-items: center; gap: .4rem; color: #91aabc; font-size: .65rem; }
.idl-auth-progress li::before { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border: 1px solid #294357; border-radius: 50%; counter-increment: auth-step; content: counter(auth-step); }
.idl-auth-progress [aria-current] { color: var(--color-gold-light); }
.idl-auth-progress [aria-current]::before { border-color: var(--color-gold-light); background: rgba(201, 154, 75, .15); }
[data-auth-registration] fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
[data-auth-registration] legend { color: #d8e6ef; font-size: .85rem; }
[data-auth-registration-step="1"] > .idl-form-grid { margin-top: .75rem; }
[data-auth-registration-step="2"] > * + * { margin-top: 1rem; }
.idl-registration-progress { display: flex; justify-content: space-between; gap: 1rem; margin: 1rem 0; color: var(--color-cyan); font-size: .8rem; }
.idl-auth-registration-actions { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; }
.idl-auth-back { border: 0; padding: .65rem 0; color: #a8bfce; background: transparent; font-size: .8rem; text-decoration: underline; text-underline-offset: .3rem; }
.idl-auth-back:hover { color: var(--color-gold-light); }
.idl-auth-interests { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: .75rem; }
.idl-auth-interests .cms-choice { display: flex; align-items: center; gap: .75rem; min-height: 3rem; margin: 0; padding: .75rem .85rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: .65rem; color: #d5e1ec; background: rgba(3, 21, 34, .72); font-size: .84rem; font-weight: 500; line-height: 1.35; letter-spacing: normal; text-transform: none; cursor: pointer; transition: border-color 160ms ease, background-color 160ms ease; }
.idl-auth-consent { margin-top: 1.5rem; }
.idl-auth-interests .cms-choice:hover { border-color: rgba(0, 151, 178, .55); background: rgba(0, 151, 178, .08); }
.idl-auth-interests .cms-choice input { appearance: auto; flex: 0 0 1.15rem; width: 1.15rem; height: 1.15rem; min-height: 0; margin: 0; padding: 0; accent-color: var(--color-cyan); cursor: pointer; }
.idl-auth-interests .cms-choice input:focus-visible { outline: 2px solid var(--color-gold-light); outline-offset: 3px; }
.idl-auth-interests .cms-choice span { min-width: 0; }
.idl-auth-pass { display: flex; align-items: center; gap: .5rem; margin-top: 1.25rem; padding: .8rem; border: 1px solid rgba(201, 154, 75, .25); border-radius: .5rem; color: var(--color-gold-light); font-size: .8rem; }
.idl-auth-registration-actions .idl-button { font-size: .75rem; }
.idl-detail-header { max-width: none; }
.idl-detail-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; }
.idl-detail-title-row > h1 { flex: 1; }
.idl-detail-title-row > form { flex: 0 0 auto; margin-top: .5rem; }
.p3-favorite-button--header { min-height: 2.8rem; padding: .65rem 1rem; border-radius: 2rem; font-size: .75rem; line-height: 1.4; box-shadow: none; }
.p3-detail-actions .idl-detail-enquiry { border-top: 3px solid var(--color-cyan); }
.p3-detail-actions .idl-enquiry-form .idl-form-grid { grid-template-columns: minmax(0, 1fr); gap: .85rem; }
.idl-enquiry-form .idl-field { min-width: 0; }
.idl-enquiry-form :is(input:not([type=checkbox], [type=radio]), textarea, select) { width: 100%; padding: .85rem; border: 1px solid #294052; border-radius: .55rem; background: #031522; color: #e6f0f7; font-size: .85rem; }
.idl-enquiry-form label:not(.cms-choice), .idl-enquiry-form .cms-field-label { color: #b4c7d4; font-size: .75rem; text-transform: none; }
.idl-enquiry-form .cms-choice { padding: .65rem; font-size: .75rem; }
.idl-enquiry-form .idl-field--full { grid-column: 1 / -1; }
.idl-enquiry-form textarea { min-height: 6rem; resize: vertical; }
.idl-enquiry-form [aria-invalid=true], [data-auth-registration] [aria-invalid=true] { border-color: #eea5a5; outline: 1px solid #eea5a5; }
.idl-enquiry-form > .idl-button { width: 100%; margin-top: .8rem; }
.idl-request-modal { position: fixed; inset: 0; margin: auto; width: min(48rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); overflow-y: auto; padding: 2rem; border: 1px solid rgba(201, 154, 75, .3); border-radius: 1.2rem; color: #fff; background: #081b29; }
.idl-auth-back + .idl-auth-back { margin-inline-start: 1rem; }
.idl-request-modal:not([open]) { display: none; }
.idl-request-modal::backdrop { background: rgba(1, 9, 18, .85); backdrop-filter: blur(5px); }
.idl-request-modal > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding-bottom: 1.25rem; margin-bottom: 1.25rem; border-bottom: 1px solid #233b4e; }
.idl-request-modal h2 { font-family: var(--font-nav) !important; font-weight: 700 !important; font-size: 1.5rem; line-height: 1.4; letter-spacing: 0; }
.idl-request-modal header button { display: grid; place-items: center; flex: 0 0 2.5rem; height: 2.5rem; border: 1px solid #294356; border-radius: 50%; background: #102b3d; color: #dce7ee; }
.idl-request-success { padding: 1.5rem; border: 1px solid rgba(0, 151, 178, .5); border-radius: .75rem; background: rgba(0, 151, 178, .1); color: #c5e4ed; font-size: .95rem; line-height: 1.8; }
.idl-gallery-mosaic { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 15rem; grid-auto-flow: dense; gap: 1rem; }
.idl-gallery-tile { position: relative; min-width: 0; overflow: hidden; margin: 0; border: 1px solid #254053; border-radius: 1rem; cursor: pointer; background: #071b29; }
.idl-gallery-tile--feature { grid-column: span 2; grid-row: span 2; }
.idl-gallery-tile--portrait { grid-row: span 2; }
.idl-gallery-tile figure { position: absolute; inset: 0; margin: 0; }
.idl-gallery-tile figure::after { position: absolute; inset: 0; content: ''; background: linear-gradient(transparent 35%, rgba(1, 9, 18, .85)); }
.idl-gallery-tile img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.idl-gallery-tile:hover img { transform: scale(1.04); }
.idl-gallery-tile:focus-visible { outline: 2px solid var(--color-cyan); outline-offset: 4px; }
.idl-gallery-tile .p3-media-type { position: absolute; z-index: 1; top: 1rem; inset-inline-start: 1rem; inset-inline-end: auto; display: inline-flex; align-items: center; gap: .3rem; width: fit-content; padding: .4rem .65rem; border: 1px solid rgba(255, 255, 255, .25); border-radius: 2rem; background: rgba(1, 9, 18, .7); color: #fff; font-size: .65rem; }
.idl-gallery-tile:last-child:nth-child(3n) { grid-column: 1 / -1; }
.idl-gallery-tile__caption { position: absolute; z-index: 1; bottom: 0; inset-inline: 0; padding: 1.25rem; }
.idl-gallery-tile .idl-card-kicker { margin: 0 0 .4rem; color: var(--color-gold-light); font-size: .65rem; }
.idl-gallery-tile h3 { max-width: calc(100% - 2.5rem); margin: 0; color: #fff; font-family: var(--font-nav) !important; font-weight: 600 !important; font-size: 1.1rem; line-height: 1.4; }
.idl-gallery-tile--feature h3 { font-size: 1.6rem; }
.idl-gallery-tile__open { position: absolute; inset-inline-end: 1rem; bottom: 1.25rem; display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; color: #fff; font-size: .8rem; }
.idl-gallery-tile .idl-card-link { font-size: .7rem; margin-top: .5rem; }
.idl-offer-overview .idl-offer-label { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: 1rem; color: var(--color-gold-light); font-size: .75rem; }
.idl-offer-summary { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin: 1.5rem 0 0; padding: 1rem 0 0; border-top: 1px solid #21394a; list-style: none; color: #b5cad7; font-size: .75rem; }
.idl-offer-summary li { display: flex; align-items: center; gap: .5rem; }
.idl-offer-summary i { color: var(--color-cyan); }
.idl-offer-contents.idl-detail-panel, .idl-offer-eligibility { margin-top: 1.5rem; }
.idl-offer-contents > header > p { color: #a7bdcd; font-size: .85rem; }
.idl-offer-contents .idl-offer-contents__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; margin-top: 1.5rem; }
.idl-offer-contents .idl-bundle-item { display: flex; align-items: center; gap: 1rem; padding: 1.25rem; border: 1px solid #213a4c; border-radius: .75rem; background: rgba(255, 255, 255, .02); }
.idl-bundle-item__icon { display: grid; place-items: center; flex: 0 0 2.75rem; height: 2.75rem; border-radius: .65rem; background: rgba(201, 154, 75, .1); color: var(--color-gold-light); }
.idl-bundle-item > div { flex: 1; min-width: 0; }
.idl-offer-contents .idl-bundle-item h3 { margin: .3rem 0; font-family: var(--font-nav) !important; font-weight: 600 !important; font-size: 1rem; line-height: 1.5; }
.idl-bundle-item h3 a { color: #fff; }
.idl-bundle-item h3 a:hover { color: var(--color-gold-light); }
.idl-bundle-item .idl-card-kicker { margin: 0; color: #8caabd; font-size: .65rem; }
.idl-bundle-item > div > p:last-child { margin: 0; color: #a8bfce; font-size: .8rem; line-height: 1.7; }
.idl-bundle-item__link { display: grid; place-items: center; flex: 0 0 2rem; height: 2rem; color: var(--color-gold-light); }
.idl-detail-booking .idl-offer-price-note { color: #a9bfce; font-size: .8rem; line-height: 1.6; }
[dir=rtl] :is(.p3-auth-modal-panel h2, .idl-request-modal h2, .idl-gallery-tile h3) { font-family: Cairo, sans-serif !important; }
@media (max-width: 991px) { .idl-gallery-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 13rem; }.idl-gallery-tile--feature { grid-row: span 1; } }
@media (max-width: 767px) {
    .p3-auth-modal-panel .p3-auth-brand { display: none; }
    .p3-auth-modal-panel .p3-auth-shell { min-height: 0; grid-template-columns: minmax(0, 1fr); }
    .p3-auth-modal-panel .p3-auth-workspace { padding: 3.5rem 1.25rem 1.5rem; }
    .idl-auth-progress { gap: .5rem; }.idl-auth-progress li { font-size: .6rem; }
    .idl-auth-progress li::before { flex: 0 0 1.3rem; width: 1.3rem; height: 1.3rem; }
    .idl-auth-interests { grid-template-columns: minmax(0, 1fr); }
    .idl-detail-title-row { flex-wrap: wrap; gap: .75rem; margin-bottom: 1rem; }
    .idl-detail-title-row h1 { flex-basis: 100%; margin-bottom: 0; }
    .idl-detail-title-row > form { margin: 0; }.p3-favorite-button--header { min-height: 2.5rem; font-size: .7rem; }
    .idl-request-modal { padding: 1.25rem; }.idl-request-modal h2 { font-size: 1.25rem; }
    .idl-request-modal .idl-form-grid { grid-template-columns: minmax(0, 1fr); }
    .idl-gallery-mosaic { grid-auto-rows: 12rem; gap: .7rem; }
    .idl-gallery-tile--feature { min-height: 16rem; }.idl-gallery-tile--portrait { grid-row: span 1; }
    .idl-gallery-tile__caption { padding: .85rem; }.idl-gallery-tile h3 { font-size: .85rem; }.idl-gallery-tile--feature h3 { font-size: 1.15rem; }
    .idl-gallery-tile .p3-media-type { top: .7rem; inset-inline-start: .7rem; font-size: .55rem; }
    .idl-offer-contents .idl-bundle-item { padding: 1rem; gap: .75rem; }.idl-bundle-item__icon { flex-basis: 2.2rem; height: 2.2rem; }.idl-bundle-item__link { flex-basis: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) { .idl-gallery-tile img { transition: none; } }

/* Source: resources/css/public/gallery-wizard.css */
/* Restore the original numbered wizard and tabbed account entry. */
.p3-auth-modal-panel .step-wizard { display: flex; align-items: center; justify-content: center; gap: 0; margin: 0 0 2rem; padding: 0; }
.p3-auth-modal-panel .step-wizard-item { display: flex; flex: 0 1 7rem; flex-direction: column; align-items: center; gap: .65rem; padding: 0; border: 0; background: transparent; text-align: center; }
.p3-auth-modal-panel .step-number { display: grid; place-items: center; width: 3rem; height: 3rem; border: 2px solid #294153; border-radius: 50%; color: #91a8b9; background: #081b29; font-size: 1rem; font-weight: 700; }
.p3-auth-modal-panel .step-label { color: #839dad; font-size: .65rem; font-weight: 600; line-height: 1.5; }
.p3-auth-modal-panel .step-wizard-item.active .step-number { color: var(--color-gold-light); border-color: var(--color-gold); background: rgba(201, 154, 75, .06); box-shadow: 0 0 1rem rgba(201, 154, 75, .2); }
.p3-auth-modal-panel .step-wizard-item.active .step-label { color: var(--color-gold-light); }
.p3-auth-modal-panel .step-wizard-item.completed .step-number { border-color: var(--color-gold); background: rgba(201, 154, 75, .12); color: var(--color-gold-light); }
.p3-auth-modal-panel .step-wizard-item.completed .step-label { color: #d0dfe8; }
.p3-auth-modal-panel .step-wizard-line { flex: 1; min-width: .75rem; max-width: 4rem; height: 2px; margin-top: -1.8rem; background: #233e50; }
.p3-auth-modal-panel .step-wizard-line.completed { background: rgba(201, 154, 75, .45); }
.p3-auth-modal-panel .idl-registration-progress { display: none; }
.p3-auth-modal-panel:has([data-auth-panel=registration]:not([hidden])) .idl-auth-wizard { display: none; }
.p3-auth-modal-panel .idl-registration-wizard { margin-top: 1.5rem; }
.idl-auth-channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; margin-bottom: 1.5rem; padding: .35rem; border: 1px solid #274153; border-radius: .75rem; background: #04131e; }
.idl-auth-channels button { display: flex; align-items: center; justify-content: center; gap: .65rem; min-height: 3rem; padding: .6rem; border: 1px solid transparent; border-radius: .5rem; color: #a5bdcd; background: transparent; font-size: .85rem; font-weight: 600; }
.idl-auth-channels [aria-selected=true] { border-color: rgba(0, 151, 178, .4); color: #fff; background: #0c3348; box-shadow: 0 4px 12px rgba(0, 0, 0, .15); }
.idl-auth-channels button:focus-visible { outline: 2px solid var(--color-gold-light); outline-offset: 2px; }
.idl-auth-channels i { color: var(--color-cyan); }

/* Full-width gallery with an editorial carousel and masonry feed. */
.idl-gallery-title { padding: 8rem clamp(1rem, 3vw, 3rem) 1.5rem; }
.idl-gallery-title h1 { margin: 0; font-family: var(--font-nav) !important; font-weight: 700 !important; font-size: clamp(1.8rem, 3vw, 2.75rem); line-height: 1.3; letter-spacing: -.03em; text-transform: none; }
.idl-gallery-title h1 span { color: var(--color-gold-light); }
.idl-gallery-page .idl-gallery-section { width: 100%; padding: 0 0 3rem; }
.idl-gallery-wide { padding-inline: clamp(1rem, 3vw, 3rem); }
.idl-gallery-page .p3-featured-track { width: 100%; height: clamp(22rem, 38vw, 35rem); min-height: 0; aspect-ratio: auto; }
.idl-gallery-page .p3-featured-carousel { margin: 0 0 1.5rem; border-radius: 1.25rem; }
.idl-gallery-page .p3-featured-slide > img { height: 100%; object-fit: cover; }
.idl-gallery-page .p3-featured-overlay { inset-inline: 4rem; bottom: 3rem; max-width: 55rem; }
.idl-gallery-page .p3-featured-overlay h2 { font-family: var(--font-nav) !important; font-weight: 700 !important; font-size: clamp(1.6rem, 3vw, 3rem); line-height: 1.2; text-transform: none; }
.idl-gallery-feature-action { position: absolute; z-index: 3; top: 1.5rem; inset-inline-end: 1.5rem; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; background: rgba(1, 9, 18, .55); color: #fff; }
.idl-gallery-feature-action--video { top: 50%; left: 50%; right: auto; transform: translate(-50%, -50%); width: 4.5rem; height: 4.5rem; padding-inline-start: .2rem; backdrop-filter: blur(4px); font-size: 1.5rem; }
.idl-gallery-page .idl-gallery-toolbar { margin-bottom: 1.5rem; padding: .75rem; background: transparent; border-color: #21394b; }
.idl-gallery-page .idl-gallery-toolbar .idl-field { position: relative; }
.idl-gallery-page .idl-gallery-toolbar .idl-field::after { content: ''; position: absolute; top: 50%; inset-inline-end: 1.25rem; width: .45rem; height: .45rem; border-inline-end: 2px solid #dce8ef; border-block-end: 2px solid #dce8ef; pointer-events: none; transform: translateY(-70%) rotate(45deg); }
.idl-gallery-page .idl-gallery-toolbar .idl-field.has-themed-select::after { display: none; }
.idl-gallery-page .idl-gallery-toolbar .idl-field select { padding-inline-end: 3.25rem; appearance: none; -webkit-appearance: none; }
.idl-gallery-page .idl-gallery-pins { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-auto-flow: dense; grid-auto-rows: auto; align-items: start; gap: .9rem; }
.idl-gallery-page .idl-gallery-pins--ready { grid-auto-rows: 1px; row-gap: 0; }
.idl-gallery-pins .idl-gallery-tile { height: auto; min-height: 0; grid-column: auto; grid-row: auto; border: 0; border-radius: .85rem; overflow: hidden; background: #091b29; }
.idl-gallery-pins .idl-gallery-tile:last-child:nth-child(3n) { grid-column: auto; }
.idl-gallery-pins .idl-gallery-tile figure { position: relative; inset: auto; aspect-ratio: var(--pin-ratio, 4/3); min-height: 8rem; overflow: hidden; border-radius: .85rem; }
.idl-gallery-pins .idl-gallery-tile figure::after { display: none; }
.idl-gallery-pins .idl-gallery-tile img { width: 100%; height: 100%; object-fit: cover; }
.idl-gallery-pins .idl-gallery-tile__caption { position: relative; inset: auto; padding: .85rem; background: #091b29; }
.idl-gallery-pins .idl-gallery-tile h3 { display: -webkit-box; max-width: none; padding-inline-end: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: .85rem; line-height: 1.5; }
.idl-gallery-pins .idl-card-kicker { color: #87a7ba; font-size: .6rem; }
.idl-gallery-pins .idl-gallery-tile__open { inset-inline-end: .75rem; bottom: .7rem; width: 1.8rem; height: 1.8rem; opacity: 0; background: rgba(1, 9, 18, .7); }
.idl-gallery-pins .idl-gallery-tile:is(:hover, :focus-within) .idl-gallery-tile__open { opacity: 1; }
.idl-gallery-play { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; }
.idl-gallery-play i { display: grid; place-items: center; width: 3rem; height: 3rem; padding-inline-start: .2rem; border: 1px solid rgba(255, 255, 255, .5); border-radius: 50%; background: rgba(1, 9, 18, .6); backdrop-filter: blur(4px); font-size: 1rem; }
.idl-gallery-skeletons { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .9rem; padding-top: .9rem; }
.idl-gallery-skeletons[hidden], .idl-gallery-load-zone button[hidden], [data-gallery-empty][hidden] { display: none !important; }
.idl-gallery-skeleton { height: 19rem; border-radius: .85rem; background: linear-gradient(100deg, #0a1f2e 25%, #17384b 45%, #0a1f2e 65%); background-size: 300% 100%; animation: idl-gallery-shimmer 1.4s linear infinite; }
.idl-gallery-skeleton:nth-child(2n) { height: 15rem; }
.idl-gallery-skeleton:nth-child(3n) { height: 24rem; }
.idl-gallery-pins .idl-gallery-tile:not(.is-loaded) figure { background: linear-gradient(100deg, #0a1f2e 25%, #17384b 45%, #0a1f2e 65%); background-size: 300% 100%; animation: idl-gallery-shimmer 1.4s linear infinite; }
.idl-gallery-load-zone { display: grid; justify-items: center; gap: .75rem; padding: 2rem 0; color: #88a8bb; font-size: .85rem; }
.idl-gallery-load-zone p { margin: 0; }
@keyframes idl-gallery-shimmer { to { background-position: -150% 0; } }
[dir=rtl] .idl-gallery-title h1, [dir=rtl] .idl-gallery-page .p3-featured-overlay h2 { font-family: Cairo, sans-serif !important; letter-spacing: 0; }
@media (min-width: 1800px) { .idl-gallery-page .idl-gallery-pins, .idl-gallery-skeletons { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 1199px) { .idl-gallery-page .idl-gallery-pins, .idl-gallery-skeletons { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 991px) { .idl-gallery-page .idl-gallery-pins, .idl-gallery-skeletons { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
    .p3-auth-modal-panel .step-number { width: 2.5rem; height: 2.5rem; font-size: .9rem; }
    .p3-auth-modal-panel .step-label { font-size: .6rem; }
    .p3-auth-modal-panel .step-wizard { margin-bottom: 1.75rem; }
    .idl-gallery-title { padding-top: 6.5rem; padding-bottom: 1rem; }
    .idl-gallery-page .p3-featured-track { height: 23rem; min-height: 0; }
    .idl-gallery-page .p3-featured-overlay { inset-inline: 1.5rem; bottom: 3.5rem; }
    .idl-gallery-page .p3-featured-overlay > p { font-size: .8rem; }
    .idl-gallery-page .idl-gallery-pins, .idl-gallery-skeletons { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
    .idl-gallery-pins .idl-gallery-tile__caption { padding: .7rem; }
    .idl-gallery-pins .idl-gallery-tile h3 { font-size: .75rem; }
    .idl-gallery-pins .idl-gallery-tile figure { min-height: 8rem; }
    .idl-gallery-skeleton { height: 15rem; }.idl-gallery-skeleton:nth-child(3n) { height: 19rem; }
}
@media (prefers-reduced-motion: reduce) { .idl-gallery-skeleton, .idl-gallery-pins .idl-gallery-tile:not(.is-loaded) figure { animation: none; } }

/* Source: resources/css/public/ui-refinements.css */
.idl-card-image-link { position: absolute; z-index: 2; inset: 0; display: block; border-radius: inherit; }
.idl-card-image-link:focus-visible { outline: 2px solid var(--color-cyan); outline-offset: -4px; }
.idl-content-card h3 a { color: inherit; text-decoration: none; }
.idl-content-card h3 a:hover, .idl-content-card h3 a:focus-visible { color: var(--color-gold-light); text-decoration: none; }
.idl-flight-information > p { color: #b1c7d7; font-size: .95rem; line-height: 1.8; }
.idl-flight-information h3 { display: flex; align-items: center; gap: .65rem; margin: 1.75rem 0 1rem; font-family: var(--font-nav) !important; font-weight: 600 !important; color: #fff; font-size: 1rem; line-height: 1.5; }
.idl-flight-information h3 > i { color: var(--color-gold-light); }
.idl-flight-information .idl-detail-points { grid-template-columns: minmax(0, 1fr); }
.idl-flight-information .idl-flight-note { display: flex; align-items: flex-start; gap: .65rem; margin: 1.5rem 0 0; padding: 1rem; border: 1px solid rgba(201, 154, 75, .2); border-radius: .65rem; color: #b7cbd9; font-size: .85rem; }
.idl-flight-note > i { flex-shrink: 0; margin-top: .35rem; color: var(--color-gold-light); }
.schedule-page .agenda-card > b.agenda-speaker-links { padding: 1rem 0 0; display: flex; flex-direction: column; gap: .8rem; min-height: 0; }
.schedule-page.schedule-summary-active .agenda-card > b.agenda-speaker-links { display: none; }
.agenda-speaker-link { display: flex; align-items: center; gap: .65rem; color: #d2e4ef; text-decoration: none; min-width: 0; }
.schedule-page .agenda-card > b .agenda-speaker-link .agenda-avatar { position: static; flex: 0 0 2.35rem; width: 2.35rem; height: 2.35rem; margin: 0; }
.agenda-speaker-link > span { min-width: 0; overflow-wrap: anywhere; }
.agenda-speaker-link:hover, .agenda-speaker-link:focus-visible { color: var(--color-gold-light); }
.agenda-speaker-link:hover > span, .agenda-speaker-link:focus-visible > span { text-decoration: none; }
.schedule-page .agenda-card h2 > a { color: inherit; text-decoration: none; }
.schedule-page .agenda-card h2 > a:hover, .schedule-page .agenda-card h2 > a:focus-visible { color: var(--color-gold-light); text-decoration: none; }
.site-footer .idl-footer-links { grid-template-columns: minmax(19rem, 1.6fr) repeat(3, minmax(0, 1fr)); }
@media (min-width: 992px) { .site-footer .idl-footer-links > div:not(:first-child) { padding-top: 1.25rem; } }
.site-footer .footer-newsletter { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .6rem; width: 100%; margin-top: 1.25rem; }
.site-footer .footer-newsletter > label { margin: 0; color: #d6e2e9; white-space: nowrap; font-size: .8rem; line-height: 1.5; }
.footer-newsletter-control { display: flex; align-items: center; gap: .25rem; min-width: 0; height: 3rem; padding: .25rem; border: 1px solid #273b48; border-radius: .6rem; background: rgba(255, 255, 255, .04); }
.footer-newsletter-control:focus-within { border-color: var(--color-cyan); }
.site-footer .footer-newsletter input { display: block; flex: 1; min-width: 0; width: 100%; height: 100%; padding: .5rem; border: 0; border-radius: 0; background: transparent; color: #e9f2f7; font-size: .8rem; outline: none; }
.site-footer .footer-newsletter input::placeholder { font-size: .8rem; color: #7f98a7; }
.site-footer .footer-newsletter button { display: grid; place-items: center; flex: 0 0 2.35rem; width: 2.35rem; min-width: 0; height: 2.35rem; padding: 0; margin: 0; border: 0; border-radius: .4rem; color: #061725; background: var(--color-cyan); font-size: .95rem; }
.site-footer .footer-newsletter button::after { content: none; }
.site-footer .footer-newsletter button:disabled { opacity: .5; }
.site-footer .footer-newsletter > .idl-form-status { grid-column: 1 / -1; margin: 0; font-size: .75rem; line-height: 1.6; }
.site-footer .footer-social { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.25rem; }
.site-footer .footer-social a { display: inline-flex; align-items: center; gap: .45rem; margin: 0; padding: .55rem .7rem; border: 1px solid #273b48; border-radius: .55rem; color: #d6e2e9; text-decoration: none; }
.site-footer .footer-social a:hover, .site-footer .footer-social a:focus-visible { border-color: var(--color-cyan); color: #fff; }
.site-footer .footer-social i { font-size: 1rem; }
.site-footer .footer-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; justify-content: normal; gap: 1.35rem; margin-top: clamp(2.75rem, 5vw, 4.5rem); padding: 1.4rem 0 0; border: 0; border-top: 1px solid rgba(255, 255, 255, .08); border-radius: 0; background: transparent; }
.site-footer .footer-bottom > p { margin: 0; color: #718692; }
.site-footer .footer-bottom > p::before { content: none; }
.site-footer .footer-bottom > nav { position: relative; display: inline-flex; align-items: center; gap: .3rem; min-height: 0; padding: 0; padding-inline-start: 1.35rem; border: 0; border-radius: 0; background: transparent; color: #506774; font-size: .7rem; }
.site-footer .footer-bottom > nav::before { content: ''; position: absolute; inset-block: .1rem; inset-inline-start: 0; width: 1px; background: rgba(255, 255, 255, .12); }
.site-footer .footer-bottom > nav a { position: relative; padding: .25rem .15rem; color: #8fa3ae; font-weight: 600; text-decoration: none; }
.site-footer .footer-bottom > nav a:is(:hover, [aria-current="page"]) { color: #fff; }
.site-footer .footer-bottom > nav a[aria-current="page"]::after { content: ''; position: absolute; inset-inline: .15rem; bottom: -.25rem; height: 1px; background: var(--color-gold-light); }
.site-footer .footer-bottom .idl-theme-toggle { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: #9cafba; }
.idl-invoice-statement { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--idl-line, #273b48); line-height: 1.8; }
.cms-social .cms-card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
[dir=rtl] .idl-flight-information h3 { font-family: Cairo, sans-serif !important; }
@media (max-width: 991px) { .site-footer .idl-footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .cms-social .cms-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
    .site-footer { padding: 3rem 0 1.25rem; }
    .site-footer .idl-footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 1.75rem; }
    .site-footer .idl-footer-links > div:first-child { display: grid; grid-column: 1 / -1; justify-items: center; }
    .site-footer .footer-brand { justify-content: center; }
    .site-footer .footer-brand img { width: 92px; height: 72px; }
    .site-footer .footer-about { max-width: 21rem; margin-top: 1rem; text-align: center; font-size: .85rem; line-height: 1.75; }
    .site-footer .footer-newsletter { grid-template-columns: minmax(0, 1fr); gap: .55rem; width: 100%; max-width: 24rem; margin-top: 1.5rem; }
    .site-footer .footer-newsletter > label { text-align: start; }
    .site-footer .footer-newsletter-control { width: 100%; }
    .site-footer .footer-social { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; width: 100%; max-width: 24rem; margin: 1rem auto 2rem; }
    .site-footer .footer-social a { justify-content: center; min-height: 2.75rem; }
    .site-footer .idl-footer-links > div:not(:first-child) { min-width: 0; padding: 0; text-align: start; }
    .site-footer .idl-footer-links > div:not(:first-child) h2 { display: flex; align-items: center; gap: .55rem; margin: 0 0 1.1rem; color: #d5e0e6; font-size: .72rem; letter-spacing: .14em; }
    .site-footer .idl-footer-links > div:not(:first-child) h2::before { content: ''; flex: 0 0 1.15rem; width: 1.15rem; height: 1px; background: var(--color-gold-light); }
    .site-footer .idl-footer-links > div:not(:first-child) > a { margin-top: .72rem; color: #96aab6; font-size: .72rem; line-height: 1.45; }
    .site-footer .idl-footer-links > div:last-child { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.75rem; justify-self: stretch; width: 100%; }
    .site-footer .idl-footer-links > div:last-child h2 { grid-column: 1 / -1; }
    .site-footer .idl-footer-links > div:last-child > a { width: auto; margin-top: .72rem; padding: 0; }
    .site-footer .footer-bottom { grid-template-columns: repeat(2, minmax(0, 1fr)); justify-items: center; gap: .85rem 1rem; margin-top: 2rem; padding-top: 1.25rem; }
    .site-footer .footer-bottom > p { grid-column: 1 / -1; text-align: center; }
    .site-footer .footer-bottom > nav { padding: 0; }
    .site-footer .footer-bottom > nav::before { content: none; }
    .site-footer .footer-bottom > nav,.site-footer .footer-bottom .idl-theme-toggle { width: auto; justify-content: center; }
}

/* Source: resources/css/public/motion.css */
/* Soft content entrances and short interaction transitions. */
:root {
    --motion-ease: ease-out;
    --motion-fast: 160ms;
    --motion-medium: 180ms;
    --motion-card: 420ms;
    --transition: var(--motion-fast) var(--motion-ease);
}

/* Content entrances are managed once per element, without whole-page transitions. */
@view-transition { navigation: none; }

html.js body[class] main {
    animation: none;
}

.js body :is(.scroll-reveal, .section-reveal, .idl-motion-reveal) {
    opacity: 1;
    transform: none;
    transition: none;
    will-change: auto;
}

body[class] :is(.about-hero-content, .about-kicker, .about-title, .about-description,
    .speakers-hero-content, .gallery-hero-content, .avatar-badge, .success-icon-wrap,
    .login-card, .register-account, .register-complete) {
    animation: none;
}

body :is(a, button, input, select, textarea, summary) {
    transition-property: color, background-color, border-color, box-shadow, opacity;
    transition-duration: var(--motion-fast);
    transition-timing-function: var(--motion-ease);
}

body[class] :is(.idl-card, .p3-catalog-card, .idl-content-card, .idl-gallery-tile,
    .p3-bento-card, .directive-card, .member-card, .highlight-card,
    .moment-card, .support-card, .archive-card, .venue-card,
    .workshop-card, .quick-link-card, .agenda-card) {
    transition: border-color var(--transition), background-color var(--transition);
}

body[class] :is(.idl-card, .p3-catalog-card, .idl-content-card, .directive-card,
    .member-card, .highlight-card, .moment-card, .support-card, .archive-card,
    .venue-card, .workshop-card, .quick-link-card, .agenda-card,
    .idl-button, .event-action, .p3-favorite-button):is(:hover, :focus-within, :active) {
    transform: none;
}

body[class] :is(.idl-media-card, .idl-content-card, .idl-gallery-tile, .p3-bento-card,
    .moment-card) img {
    transition: opacity var(--transition);
}

body[class] :is(.idl-media-card, .idl-content-card, .idl-gallery-tile, .p3-bento-card,
    .moment-card):hover img {
    transform: none;
}

/* The head bootstrap enables these server-rendered states before the first paint. */
:root { --idl-motion-direction: 1; }
html[dir="rtl"] { --idl-motion-direction: -1; }
[data-motion-reveal] { --idl-reveal-transform: translateY(24px); }
[data-motion-reveal="fade-side"] { --idl-reveal-transform: translateX(calc(-32px * var(--idl-motion-direction))); }
[data-motion-reveal="fade-opposite"] { --idl-reveal-transform: translateX(calc(32px * var(--idl-motion-direction))); }
[data-motion-reveal="zoom-in"] { --idl-reveal-transform: scale(.96); }

html.idl-motion-enabled body[class] :is(main, .site-footer) [data-motion-reveal]:not(.is-motion-visible) {
    opacity: 0;
    transform: var(--idl-reveal-transform);
}

/* A marked parent owns the entrance; nested titles and excluded UI stay steady. */
html.idl-motion-enabled body[class] :is(main, .site-footer) [data-motion-reveal] [data-motion-reveal],
html.idl-motion-enabled body[class] :is(main, .site-footer) :is(nav, dialog, [role="dialog"], [data-expo-map], [data-motion="none"], .expertise-ticker) [data-motion-reveal] {
    opacity: 1;
    transform: none;
}

html.idl-motion-enabled body[class] :is(main, .site-footer) [data-motion-reveal] {
    will-change: auto;
    /* Entrances own opacity/transform; legacy transition:all must not start a second fade. */
    transition-property: color, background-color, border-color, box-shadow, translate;
}

body[class] main .idl-motion-card {
    transition: border-color var(--transition), background-color var(--transition),
        translate var(--motion-card) cubic-bezier(.25, .1, .25, 1), box-shadow var(--motion-card) ease;
}

/* Neutralize older, larger hover transforms before applying the small shared lift. */
body[class] main .idl-motion-card:is(:hover, :focus-within, :active) {
    transform: none;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    html[data-theme] body[class] main .idl-motion-card--interactive:hover {
        translate: 0 -3px;
        box-shadow: 0 8px 24px rgb(0 0 0 / .16);
    }
    html[data-theme="light"] body[class] main .idl-motion-card--interactive:hover {
        box-shadow: 0 8px 24px rgb(16 42 58 / .12);
    }
}

body :is(.p3-modal, .p3-global-search-overlay) {
    transition: opacity var(--motion-fast) ease-out, visibility 0s linear var(--motion-fast);
    backdrop-filter: none;
}

/* The parent fades; its panel stays still instead of running a second effect. */
body :is(.p3-modal-panel, .p3-global-search-dialog,
    .p3-modal.is-open .p3-modal-panel, .p3-global-search-overlay.is-open .p3-global-search-dialog) {
    opacity: 1;
    transform: none;
    transition: none;
}

body .p3-global-search-backdrop,
body .p3-cart-overlay {
    backdrop-filter: none;
}

body .p3-account-dropdown {
    transform: none;
    transition: opacity var(--motion-fast) ease-out, visibility 0s linear var(--motion-fast);
}

body .p3-account-dropdown.is-open { transform: none; }

body :is(.p3-modal, .p3-global-search-overlay, .p3-account-dropdown).is-open {
    transition-delay: 0s;
}

body .p3-cart-drawer { transition: transform 240ms ease-out; }
body .p3-cart-overlay { transition: opacity 240ms ease-out; }
body.p3-global-search-open { overflow: hidden; }
body .collapsing { transition: height var(--motion-medium) ease-out; }

body .dropdown-menu.show { animation: idl-soft-fade var(--motion-fast) ease-out; }

body :is(.idl-request-modal, [data-gallery-lightbox])[open] {
    animation: idl-soft-fade var(--motion-fast) ease-out;
}

body :is(.idl-request-modal, [data-gallery-lightbox])[open]::backdrop {
    animation: none;
    backdrop-filter: none;
    opacity: 1;
    transition: opacity 120ms ease-out;
}

body :is(.idl-request-modal, [data-gallery-lightbox]).is-closing {
    animation: none;
}

body :is(.idl-request-modal, [data-gallery-lightbox]).is-closing::backdrop { opacity: 0; }

body .idl-form-status.is-visible.is-error,
body .p3-favorite-button.is-celebrating i {
    animation: idl-soft-fade var(--motion-fast) ease-out;
}

body :is(.p3-auth-step, [data-register-panel], [data-auth-registration-step]):not([hidden]),
body .highlight-card:hover .sponsor-pill::before {
    animation: none;
}

@keyframes idl-soft-fade {
    from { opacity: .9; }
    to { opacity: 1; }
}

@keyframes registerFadeSlideIn {
    from { opacity: .9; }
    to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    body [data-motion-reveal] { opacity: 1 !important; transform: none !important; }
    html { scroll-behavior: auto !important; }
    *, *::before, *::after, ::backdrop {
        animation-duration: .01ms !important;
        animation-delay: 0ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        transition-delay: 0ms !important;
        scroll-behavior: auto !important;
    }
}

@media print {
    body [data-motion-reveal] { opacity: 1 !important; transform: none !important; }
    body[class] main .idl-motion-card { translate: none !important; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Source: resources/css/public/theme.css */
/* Public theme layer. The original dark declarations and literal color tokens stay intact. */
:root {
    --idl-page: #010912;
    --idl-surface: #051827;
    --idl-soft: #0a2234;
    --idl-text: #f8fafc;
    --idl-muted: #a8b4be;
    --idl-line: rgba(255, 255, 255, .12);
    --idl-control-line: rgba(0, 151, 178, .42);
    --idl-teal: #0097b2;
    --idl-gold: #e4bf7a;
    --idl-gold-fill: #c99a4b;
    --idl-inverse: #f8fafc;
    --idl-shade: rgba(16, 42, 58, .4);
    --idl-shadow: 0 .75rem 2rem rgba(16, 42, 58, .08);
}

.idl-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    min-height: 2.75rem;
    padding: .55rem .9rem;
    border: 1px solid var(--idl-control-line);
    border-radius: var(--radius-pill, 100vmax);
    background: transparent;
    color: var(--idl-text);
    font: 600 .75rem var(--font-nav, sans-serif);
    cursor: pointer;
}
.idl-theme-toggle[hidden] { display: none !important; }
.idl-theme-toggle svg { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.idl-theme-toggle:hover { color: var(--idl-gold); border-color: var(--idl-gold); }
.idl-theme-toggle:focus-visible { outline: 2px solid var(--idl-teal); outline-offset: 4px; }
.idl-theme-toggle [data-theme-moon], html[data-theme="light"] .idl-theme-toggle [data-theme-sun] { display: none; }
html[data-theme="light"] .idl-theme-toggle [data-theme-moon] { display: block; }
.idl-theme-toggle--header { width: 2.65rem; padding: 0; flex: 0 0 2.65rem; margin-inline-end: .8rem; }
.idl-theme-toggle--mobile { display: none; }
.footer-bottom .idl-theme-toggle { flex: 0 0 auto; }
[dir="rtl"] .idl-theme-toggle { font-family: Cairo, sans-serif; }
@media (min-width: 992px) and (max-width: 1199.98px) {
    .idl-theme-toggle--header {
        position: absolute; inset-inline-start: .5rem; top: 50%; transform: translateY(-50%);
        width: 1.8rem; min-height: 1.8rem; margin: 0; flex: none;
    }
}
@media (max-width: 991.98px) {
    .idl-theme-toggle--header { display: none; }
    .idl-theme-toggle--mobile { display: inline-flex; align-self: flex-start; margin-top: 1rem; }
}

html[data-theme="light"] {
    color-scheme: light;
    --idl-page: #f4f7fa;
    --idl-surface: #fff;
    --idl-soft: #eaf1f5;
    --idl-text: #102a3a;
    --idl-muted: #526575;
    --idl-line: #d6e1e8;
    --idl-control-line: #7c929f;
    --idl-teal: #00788c;
    --idl-gold: #94651f;
    --idl-teal-soft: #e6f3f5;
    --idl-gold-soft: #f8f0de;
    --idl-gold-on-soft: #80561a;
    --idl-success: #187449;
    --idl-error: #b42333;
    --idl-navy: #102a3a;
    --idl-on-navy: #f8fafc;
    --idl-muted-on-navy: #c5d2dc;
    --idl-gold-on-navy: #e4bf7a;
    --idl-teal-on-navy: #7ed4e0;
    --idl-line-on-navy: #426170;
}

/* Canvas, section surfaces, and shared text roles. */
html[data-theme="light"] body[class],
html[data-theme="light"] body,
html[data-theme="light"] body[class] :is(.hub-section, .hub-hero, .p3-section, .p3-detail-section, .p3-directory-hero,
    .p3-listing-utility-section, .p3-listing-results-section, .cms-section, .full-schedule, .schedule-section,
    .p3-listing-featured-section,
    .workshops-section, .speakers-section, .moments-section, .venue-section, .social-section, .quick-links,
    .strategic-section, .leadership-section, .highlights-section, .venue-logistics-section, .support-archive-section,
    .experience-section, .faq-section, .contact-section,
    .idl-gallery-page, .idl-gallery-title, .idl-gallery-section, .register-page, .login-main, .register-main) {
    color: var(--idl-text);
    background-color: var(--idl-page);
    background-image: none;
}
html[data-theme="light"] body[class] :is(.hub-section--surface, .cms-section--quick, .cms-section--purpose,
    .cms-section--committee, .cms-faq, .idl-home-expansion) { background: var(--idl-soft); }
html[data-theme="light"] body[class] :is(h1, h2, h3, h4, h5, h6) { color: var(--idl-text); text-shadow: none; }
html[data-theme="light"] body[class] :is(.section-title, .section-title--display, .about-title,
    .strategic-heading, .leadership-heading, .venue-main-heading, .committee-title--gold,
    .idl-section-title, .speaker-section-heading h2, .hero h1 strong, .country-title b) { color: var(--idl-gold); }
html[data-theme="light"] body[class] .cms-section > .container > h2,
html[data-theme="light"] body[class] .cms-section .idl-section-heading h2 { color: var(--idl-gold); }
html[data-theme="light"] body[class] :is(.section-description, .hero-kicker, .hero-subtitle, .about-description,
    .hub-hero-lead, .p3-detail-lead, .p3-detail-description, .idl-section-copy, .idl-card-kicker,
    .idl-empty-state, .p3-breadcrumb, .p3-breadcrumb a, .p3-breadcrumb span, .idl-form-help,
    .idl-list, .idl-list li, .idl-pass-benefits li, .idl-offer-inclusions li, .p3-listing-count,
    .p3-listing-status, .idl-pagination__summary, .p3-listing-featured > header p,
    .p3-listing-filter > span,
    .p3-info-panel__body p:not(.idl-eyebrow),
    .idl-passes-section header p, .idl-pass-card__header > p, .idl-offer-card__price span,
    .p3-listing-active-filters, .p3-featured-listing-controls span, .idl-gallery-load-zone,
    .idl-detail-panel > p, .idl-detail-panel dd, .idl-detail-booking .idl-eyebrow,
    .idl-detail-booking .p3-detail-price small, .idl-detail-booking .idl-offer-price-note,
    .idl-bundle-item > div > p, .idl-bundle-item .idl-card-kicker, .idl-offer-summary,
    .idl-offer-contents > header > p, .idl-content-card .idl-content-card__body > p,
    .p3-detail-lesson > :not(summary), .p3-detail-lesson summary small, .p3-detail-speaker small,
    .speaker-professional-title, .speaker-profile-meta, .speaker-facts, .speaker-facts li,
    .speaker-section-heading p, .idl-programme-card__body > p, .member-org, .directive-text,
    .highlight-description, .support-description, .archive-description, .archive-note,
    .venue-address, .coordinates-badge, .contact-copy p, .contact-label) { color: var(--idl-muted); }
html[data-theme="light"] body[class] .idl-card p { color: var(--idl-muted); }
html[data-theme="light"] body[class] :is(.idl-eyebrow, .idl-card-link, .p3-breadcrumb a:hover,
    .about-kicker, .committee-title--cyan, .member-role--cyan, .highlight-title--cyan,
    .idl-pass-card__availability, .idl-pass-card__price span,
    .directive-title--light, .speaker-section-heading h2 span) { color: var(--idl-teal); }
html[data-theme="light"] body[class] :is(.idl-detail-price, .p3-detail-price, .idl-offer-card__price,
    .idl-detail-booking .p3-detail-price,
    .idl-pass-card__price strong, .member-role--gold, .highlight-title--gold,
    .idl-offer-label, .idl-programme-card__price) { color: var(--idl-gold); }
html[data-theme="light"] body[class] :is(.idl-detail-points li, .p3-detail-speaker strong,
    .p3-detail-lesson summary, .idl-bundle-item h3 a, .speaker-facts strong, .member-name,
    .member-role, .support-title, .archive-title, .venue-title, .contact-detail a) { color: var(--idl-text); }

/* Navigation is light even above artwork; its existing dimensions stay unchanged. */
html[data-theme="light"] body[class] .site-navbar .brand-mark img { max-width: 4.5625rem; max-height: 4rem; object-fit: contain; }
html[data-theme="light"] body[class] .site-navbar,
html[data-theme="light"] body[class] .site-navbar:is(.is-scrolled, .is-menu-open) {
    background: rgba(255, 255, 255, .96);
    border-bottom-color: var(--idl-line);
    box-shadow: 0 .4rem 1.5rem rgba(16, 42, 58, .06);
}
html[data-theme="light"] body[class] .site-navbar .nav-link { color: var(--idl-muted); }
html[data-theme="light"] body[class] .site-navbar .nav-link:is(:hover, :focus-visible, .active) { color: var(--idl-teal); }
html[data-theme="light"] body[class] .site-navbar .nav-link::after { background: var(--idl-teal); }
html[data-theme="light"] body[class] :is(.p3-dropdown-icon, .p3-account-icon, .p3-search-icon, .navbar-cart-link) { color: var(--idl-text); }
html[data-theme="light"] body[class] :is(.p3-account-icon, .p3-search-icon, .navbar-cart-link, .navbar-toggler) { background: var(--idl-surface); border-color: var(--idl-control-line); }
html[data-theme="light"] body[class] :is(.p3-account-icon, .p3-search-icon, .navbar-cart-link):is(:hover, :focus-visible) { color: var(--idl-teal); background: var(--idl-teal-soft); border-color: var(--idl-teal); }
/* Recolor the original transparent mark; uploaded/brochure logos retain their native pixels. */
html[data-theme="light"] body[class] :is(.brand-mark img[src*="/assests/img/logo.png"], .p3-mobile-nav__header img[src*="/assests/img/logo.png"], .p3-auth-brand > img[src*="/assests/img/logo.png"]) {
    filter: brightness(0) saturate(100%) invert(13%) sepia(19%) saturate(1363%) hue-rotate(161deg) brightness(93%) contrast(95%);
}
html[data-theme="light"] body[class] .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath stroke='%23102a3a' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
html[data-theme="light"] body[class] :is(.idl-more-menu, .dropdown-menu, .p3-account-dropdown, .p3-mobile-nav.collapse, .p3-mobile-nav.collapsing) {
    color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-line); box-shadow: var(--idl-shadow);
}
html[data-theme="light"] body[class] :is(.dropdown-item, .p3-account-dropdown a, .p3-account-dropdown button, .p3-mobile-nav__header a) { color: var(--idl-text); }
html[data-theme="light"] body[class] :is(.dropdown-item, .p3-account-dropdown a, .p3-account-dropdown button):is(:hover, :focus-visible, .active) { color: var(--idl-teal); background: var(--idl-teal-soft); }
html[data-theme="light"] body[class] :is(.p3-account-dropdown header, .p3-account-dropdown footer, .p3-mobile-nav__header, .p3-mobile-nav .nav-item) { border-color: var(--idl-line); }
html[data-theme="light"] body[class] :is(.p3-account-dropdown small, .p3-account-dropdown p, .p3-mobile-nav__header span) { color: var(--idl-muted); }
html[data-theme="light"] body[class] .navbar-cart-link [data-cart-count] { background: var(--idl-gold-fill); color: var(--idl-text); border-color: var(--idl-surface); }

/* A single pale overlay keeps the text clear without bleaching the responsive artwork. */
html[data-theme="light"] body[class] .hero { position: relative; isolation: isolate; background-color: var(--idl-page); }
html[data-theme="light"] body[class] .hero[style*="--idl-hero"] { background-image: var(--idl-hero-desktop) !important; }
html[data-theme="light"] body[class] .hero::before {
    content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: linear-gradient(90deg, rgba(244,247,250,.96), rgba(244,247,250,.9) 44%, rgba(244,247,250,.18)), linear-gradient(0deg, #f4f7fa, transparent 28%);
}
html[data-theme="light"] body[class] .hero-content { position: relative; }
html[data-theme="light"] body[class] .hero-subtitle { color: var(--idl-text); }
html[data-theme="light"] body[class] .about-hero { background-color: var(--idl-page); }
html[data-theme="light"] body[class] .about-hero::before { background: rgba(244,247,250,.92); }
html[data-theme="light"] body[class] .about-hero::after { background: linear-gradient(180deg, transparent, var(--idl-page) 94%); }
html[data-theme="light"] body[class] :is(.inner-page-hero, .p3-auth-page) { background-color: var(--idl-page); }
html[data-theme="light"] body[class] .inner-page-hero::before { opacity: .2; mix-blend-mode: normal; }
html[data-theme="light"] body[class] .inner-page-hero::after { background: linear-gradient(180deg, rgba(244,247,250,.6), var(--idl-page)); }
html[data-theme="light"] body[class] :is(.hub-hero, .p3-directory-hero) {
    background: linear-gradient(90deg, rgba(244,247,250,.97), rgba(244,247,250,.9) 52%, rgba(244,247,250,.65)), url('../img/backgrounds/home-hero.png?v=4') center/cover no-repeat;
    border-color: var(--idl-line);
}
html[data-theme="light"] body[class] :is(.hub-hero, .p3-directory-hero) h1 :is(span, strong) { color: var(--idl-gold); }
html[data-theme="light"] body[class] .register-hero-overlay { background: linear-gradient(180deg, rgba(244,247,250,.8), var(--idl-page)); }
html[data-theme="light"] body[class] :is(.register-kicker, .register-subtitle) { color: var(--idl-muted); }
html[data-theme="light"] body[class] .register-year { color: var(--idl-gold); }
html[data-theme="light"] body[class] :is(.quick-links::before, .moments-section::before, .workshops-section::before) { opacity: .08; mix-blend-mode: normal; }
html[data-theme="light"] body[class] :is(.quick-links::after, .moments-section::after, .workshops-section::after) { background: linear-gradient(180deg, transparent, var(--idl-page)); }
html[data-theme="light"] body[class] .country-title span { background: var(--idl-gold); }
html[data-theme="light"] body[class] .event-panel { background: transparent; box-shadow: none; backdrop-filter: none; }
html[data-theme="light"] body[class] .event-panel::before { display: none; }
html[data-theme="light"] body[class] .event-meta { color: var(--idl-on-navy); background: var(--idl-navy); border-color: var(--idl-line-on-navy); box-shadow: 0 .75rem 2rem rgba(16,42,58,.14); }
html[data-theme="light"] body[class] .event-meta .meta-item { color: var(--idl-on-navy); }
html[data-theme="light"] body[class] .event-meta .meta-item i { color: var(--idl-gold-on-navy); }
html[data-theme="light"] body[class] .event-meta::before { color: var(--idl-on-navy); background: none; -webkit-text-fill-color: var(--idl-on-navy); direction: ltr; unicode-bidi: isolate; }
html[data-theme="light"] body[class] .event-meta::after { background: var(--idl-line-on-navy); }
html[data-theme="light"] body[class] .event-meta .location-pin-outline { border-color: var(--idl-gold-on-navy); }
html[data-theme="light"] body[class] .event-meta .location-pin-outline::after { border-color: var(--idl-gold-on-navy); }
html[data-theme="light"] body[class] .event-action { color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-line); box-shadow: var(--idl-shadow); }
html[data-theme="light"] body[class] :is(.event-action b, .event-action small) { color: var(--idl-text); }
html[data-theme="light"] body[class] .expertise-ticker { background: var(--idl-navy); border-color: var(--idl-line-on-navy); box-shadow: none; }
html[data-theme="light"] body[class] .expertise-ticker .swiper-slide { color: var(--idl-on-navy); }
html[data-theme="light"] body[class] :is(.section-title em, .section-title span, .section-title small,
    .meta-item i, .event-action > i, .quick-link-card > img) { color: var(--idl-gold); }
html[data-theme="light"] body[class] :is(.event-action > img, .quick-link-card > img) { filter: brightness(0) saturate(100%) invert(38%) sepia(37%) saturate(821%) hue-rotate(358deg) brightness(89%) contrast(91%); }
html[data-theme="light"] body[class] .event-action-primary { background: var(--idl-gold-fill); border-color: var(--idl-gold-fill); }

/* Cards and panels: explicit component surfaces, including legacy Home/About. */
html[data-theme="light"] body[class] :is(.idl-card, .idl-content-card.idl-card.p3-catalog-card, .p3-catalog-card,
    .cms-card, .quick-link-card, .workshop-card, .directive-card, .member-card, .highlight-card,
    .support-card, .archive-card, .venue-card, .sponsor-pill, .lecture-card, .agenda-card,
    .idl-pass-card, .idl-offer-card.idl-card, .idl-offer-hero, .idl-detail-overview, .idl-detail-panel,
    .p3-detail-block, .p3-detail-speaker, .p3-detail-lesson, .idl-bundle-item, .idl-detail-points li,
    .speaker-identity-card, .idl-speaker-profile .speaker-identity-card, .speaker-bio-card,
    .speaker-facts-card, .speaker-expertise-card, .cms-venue__panel, .cms-faq details, .accordion-item, .accordion-button,
    .idl-gallery-tile, .idl-gallery-pins .idl-gallery-tile__caption, .idl-gallery-toolbar,
    .p3-listing-toolbar, .p3-listing-filter-panel, .schedule-filter-panel,
    .schedule-item, .cart-item, .saved-course,
    .p3-cart-line, .p3-cart-card, .p3-summary-card, .p3-auth-shell, .p3-auth-workspace, .p3-favorites-welcome,
    .p3-info-panel, .p3-action-panel,
    .register-account, .register-form-container, .register-complete, .login-card,
    .venue-map, .venue-map-box,
    .request-card, .p3-account-panel, .p3-pass-card, .idl-sticky-card, .idl-form-card,
    .idl-speaker-tabpanel, .idl-form-gate__prompt) {
    color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-line); box-shadow: var(--idl-shadow);
}
html[data-theme="light"] body[class] :is(.idl-card, .p3-catalog-card, .workshop-card, .quick-link-card,
    .directive-card, .member-card, .highlight-card, .support-card, .archive-card, .venue-card):is(:hover, :focus-within) {
    background: var(--idl-surface); border-color: var(--idl-control-line); box-shadow: 0 1rem 2.5rem rgba(16,42,58,.1);
}
html[data-theme="light"] body[class] :is(.idl-detail-overview, .idl-detail-booking, .idl-content-card.idl-card.p3-catalog-card) { border-top-color: var(--idl-gold-fill); }
html[data-theme="light"] body[class] :is(.idl-content-card.idl-card h3, .idl-content-card.idl-card.idl-pass-card h3,
    .idl-offer-card h3 a, .idl-programme-card h3, .quick-link-card b, .quick-link-card span,
    .workshop-card h3, .workshop-card h3 a, .lecture-card h3, .agenda-row h3 a) { color: var(--idl-text); }
html[data-theme="light"] body[class] :is(.workshop-card p, .workshop-meta, .workshop-meta p,
    .quick-link-card small, .lecture-card p, .agenda-row p, .schedule-item p,
    .cart-item-copy p, .cart-item-copy h3, .p3-cart-line small) { color: var(--idl-muted); }
html[data-theme="light"] body[class] :is(.workshop-meta span, .lecture-meta span, .schedule-type,
    .speaker-faculty-badge, .speaker-pill, .p3-card-tags span, .p3-detail-category, .location-badge,
    .about-kicker, .idl-detail-header > .idl-eyebrow, .idl-demo-banner, .idl-auth-pass,
    .idl-detail-count, .idl-fact-icon, .idl-lesson-number, .cms-card__icon, .directive-icon,
    .highlight-header-icon, .member-icon, .contact-detail-icon, .idl-pass-card__icon) {
    color: var(--idl-teal); background: var(--idl-teal-soft); border-color: var(--idl-control-line);
}
html[data-theme="light"] body[class] :is(.speaker-faculty-badge, .workshop-meta span, .idl-auth-pass,
    .idl-bundle-item__icon, .directive-icon--gold, .member-icon--gold, .highlight-header-icon--gold) { color: var(--idl-gold-on-soft); background: var(--idl-gold-soft); }
html[data-theme="light"] body[class] :is(.p3-detail-actions dl > div, .speaker-profile-meta li,
    .profile-tabs, .speaker-facts, .idl-offer-summary, .idl-offer-card footer, .committee-divider,
    .support-divider, .archive-item, .cart-item, .p3-cart-line, .p3-total, .step-wizard-line) { border-color: var(--idl-line); }
html[data-theme="light"] body[class] .divider-line { background-color: var(--idl-line); }
html[data-theme="light"] body[class] .idl-form-gate__overlay { background: rgba(234,241,245,.65); border-color: var(--idl-line); }
html[data-theme="light"] body[class] .idl-form-gate__prompt > p:not(.idl-eyebrow) { color: var(--idl-muted); }
html[data-theme="light"] body[class] .coordinates-badge { color: var(--idl-muted); background: var(--idl-surface); border-color: var(--idl-line); }
html[data-theme="light"] body[class] :is(.support-btn--whatsapp, .support-social-links a, .archive-arrow,
    .archive-list a, .archive-note a, .venue-btn--outlined, .highlight-header time) { color: var(--idl-teal); }
html[data-theme="light"] body[class] :is(.idl-speaker-tablist, .idl-speaker-tab, .speaker-socials a) { color: var(--idl-muted); background: transparent; border-color: var(--idl-line); }
html[data-theme="light"] body[class] .idl-speaker-tab:is(:hover, [aria-selected="true"]) { color: var(--idl-gold); background: var(--idl-gold-soft); }
html[data-theme="light"] body[class] .idl-speaker-tab::after { background: var(--idl-gold); }
html[data-theme="light"] body[class] .idl-speaker-tab__count { color: var(--idl-muted); background: var(--idl-soft); }
html[data-theme="light"] body[class] .idl-speaker-tab[aria-selected="true"] .idl-speaker-tab__count { color: var(--idl-gold-on-soft); background: var(--idl-gold-soft); }
html[data-theme="light"] body[class] .idl-speaker-tab[aria-selected="true"] { color: var(--idl-gold-on-soft); }
html[data-theme="light"] body[class] .idl-speaker-tab :is(span, i) { color: inherit; }
html[data-theme="light"] body[class] .p3-detail-actions dt { color: var(--idl-muted); }
html[data-theme="light"] body[class] .idl-detail-booking p.p3-detail-price { color: var(--idl-gold); }
html[data-theme="light"] body[class] .p3-breadcrumb [aria-current] { color: var(--idl-muted); }
html[data-theme="light"] body[class] .p3-detail-description :is(p, li) { color: var(--idl-muted); }
html[data-theme="light"] body[class] :is(.schedule-page-hero p, .schedule-filter-status,
    .agenda-card small, .agenda-speaker-link small) { color: var(--idl-muted); }
html[data-theme="light"] body[class] :is(.schedule-day-tabs .nav-link small, .agenda-card-hall, .agenda-row > time) { color: var(--idl-teal); }
html[data-theme="light"] body[class] :is(.agenda-speaker-link, .agenda-speaker-link span, .agenda-halls > span) { color: var(--idl-text); }
html[data-theme="light"] body[class] :is(.agenda-badge, .agenda-hall-label) { color: var(--idl-teal); background: var(--idl-teal-soft); border-color: var(--idl-control-line); }
html[data-theme="light"] body[class] :is(.agenda-row, .schedule-controls, .schedule-hero-panel) { background: transparent; border-color: var(--idl-line); box-shadow: none; }
html[data-theme="light"] body[class] .agenda-halls > div {
    min-width: 0; padding: 1.15rem .85rem; text-align: center; overflow-wrap: anywhere;
    color: var(--idl-on-navy); background: var(--idl-navy); border-color: var(--idl-line-on-navy);
}
html[data-theme="light"] body[class] .agenda-halls > div small { color: var(--idl-teal-on-navy); }
html[data-theme="light"] body[class] :is(.schedule-hero-actions a i, .idl-demo-banner i) { color: var(--idl-teal); }
html[data-theme="light"] body[class] .agenda-card { border: 1px solid var(--idl-line); }
html[data-theme="light"] body[class] .agenda-speaker-link > span { display: block; min-width: 0; flex: 1; }
html[data-theme="light"] body[class] .agenda-speaker-link > span > small { display: block; margin-top: .25rem; line-height: 1.45; }
html[data-theme="light"] body[class] .agenda-card > small i { color: var(--idl-muted); }
html[data-theme="light"][dir="rtl"] body[class] :is(.agenda-card > small, .agenda-row > time) { direction: ltr; unicode-bidi: isolate; text-align: end; }
html[data-theme="light"] body[class].schedule-page .agenda-row > .agenda-card.agenda-featured { background: var(--idl-gold-soft); border-color: var(--idl-gold-fill); }
html[data-theme="light"] body[class] .agenda-badge.badge-gold { color: var(--idl-gold-on-soft); background: var(--idl-gold-soft); }
html[data-theme="light"] body[class] .agenda-badge.badge-red { color: var(--idl-error); background: #fff0f1; }
html[data-theme="light"] body[class] :is(.idl-section-title span, .idl-section-heading h2 span, .idl-countdown strong) { color: var(--idl-gold-on-soft); }
html[data-theme="light"] body[class] .idl-section-heading p:not(.idl-eyebrow) { color: var(--idl-muted); }
html[data-theme="light"] body[class] .contact-detail span { color: var(--idl-text); }
html[data-theme="light"] body[class] .contact-detail small { color: var(--idl-muted); }
html[data-theme="light"] body[class] .contact-detail-icon .location-pin-outline,
html[data-theme="light"] body[class] .contact-detail-icon .location-pin-outline::after { border-color: var(--idl-teal); }
html[data-theme="light"] body[class] .contact-detail a:is(:hover, :focus-visible) { color: var(--idl-teal); }
html[data-theme="light"] body[class] .idl-countdown > div { background: var(--idl-surface); border-color: var(--idl-line); }
html[data-theme="light"] body[class] .idl-countdown span { color: var(--idl-muted); }
html[data-theme="light"] body[class] :is(.schedule-item time, .venue-heading > span, .avatar-badge span, .idl-card-icon) { color: var(--idl-teal); }
html[data-theme="light"] body[class] :is(.social-card span, .venue-info span, .venue-info a) { color: var(--idl-text); }
html[data-theme="light"] body[class] :is(.social-card, .contact-socials a) {
    color: var(--idl-text); border-color: var(--idl-control-line); background: var(--idl-surface);
}
html[data-theme="light"] body[class] .social-card small { color: var(--idl-muted); }
html[data-theme="light"] body[class] .social-card:is(:hover, :focus-visible) {
    color: var(--idl-text); border-color: var(--idl-teal); box-shadow: var(--idl-shadow);
}
html[data-theme="light"] body[class] .contact-socials a:is(:hover, :focus-visible) {
    color: var(--idl-teal); border-color: var(--idl-teal); background: var(--idl-teal-soft);
}
/* Deeper brand colors stay recognizable and readable on the light social surfaces. */
html[data-theme="light"] body[class] :where(.social-card > i, .contact-socials a > i, .cms-social .cms-card > i) { color: var(--idl-text); }
html[data-theme="light"] body[class] :is(.social-card, .contact-socials, .cms-social) .fa-instagram { color: #b52b79; }
html[data-theme="light"] body[class] :is(.social-card, .contact-socials, .cms-social) :is(.fa-facebook, .fa-facebook-f) { color: #1b61d1; }
html[data-theme="light"] body[class] :is(.social-card, .contact-socials, .cms-social) :is(.fa-linkedin, .fa-linkedin-in) { color: #0077a5; }
html[data-theme="light"] body[class] :is(.social-card, .contact-socials, .cms-social) .fa-youtube { color: #bd2727; }
html[data-theme="light"] body[class] :is(.social-card, .contact-socials, .cms-social) .fa-twitter { color: #126c9d; }
html[data-theme="light"] body[class] .support-social-links .social-item > img[src^="/assests/img/icons/"] {
    filter: brightness(0) saturate(100%) invert(13%) sepia(19%) saturate(1363%) hue-rotate(161deg) brightness(93%) contrast(95%);
}
html[data-theme="light"] body[class] .support-social-links .social-item:is(:hover, :focus-visible) { color: var(--idl-teal); }
html[data-theme="light"] body[class] .idl-flight-information h3 { color: var(--idl-text) !important; }
html[data-theme="light"] body[class] :is(.idl-flight-information > p, .idl-flight-information .idl-flight-note) { color: var(--idl-muted); }
html[data-theme="light"] body[class] :is(.idl-flight-information h3 > i, .idl-flight-note > i) { color: var(--idl-gold); }
html[data-theme="light"] body[class] :is(.idl-pass-card__price, .p3-auth-brand) { color: var(--idl-text); background: var(--idl-soft); border-color: var(--idl-line); }
html[data-theme="light"] body[class] .idl-pass-card__price::before,
html[data-theme="light"] body[class] .idl-pass-card__price::after { background: var(--idl-page); }
html[data-theme="light"] body[class] :is(.idl-content-card__media, .idl-detail-media, .idl-offer-card__visual,
    .idl-gallery-lightbox__stage, .speaker-photo-wrap, .idl-faculty-avatar) { background: var(--idl-soft); }
html[data-theme="light"] body[class] .idl-offer-card__visual::after { background: linear-gradient(transparent 70%, rgba(16,42,58,.2)); }
html[data-theme="light"] body[class] .idl-gallery-pins .idl-gallery-tile h3 { color: var(--idl-text); }
html[data-theme="light"] body[class] .idl-gallery-pins .idl-card-kicker { color: var(--idl-muted); }
html[data-theme="light"] body[class] .idl-gallery-title h1 span { color: var(--idl-gold); }
html[data-theme="light"] body[class] .p3-featured-carousel { background-color: var(--idl-soft); }
html[data-theme="light"] body[class] :is(.idl-gallery-skeleton, .idl-gallery-pins .idl-gallery-tile:not(.is-loaded) figure) { background-image: linear-gradient(100deg, #eaf1f5 25%, #d6e1e8 45%, #eaf1f5 65%); }

/* Buttons retain the gold/teal hierarchy with distinct text-on-fill roles. */
html[data-theme="light"] body[class] :is(.idl-button, .btn-register, .event-action-primary,
    .support-btn--filled-cyan, .venue-btn--filled, .contact-submit, .schedule-button, .moments-button,
    .workshops-view-all, .highlight-action--gold) { color: var(--idl-text); background: var(--idl-gold-fill); border-color: var(--idl-gold-fill); }
html[data-theme="light"] body[class] :is(.idl-button, .btn-register):is(:hover, :focus-visible) { color: var(--idl-text); background: #dfb665; border-color: #dfb665; }
html[data-theme="light"] body[class] :is(.idl-button--cyan, .btn-register, .p3-auth-submit,
    .support-btn--filled-cyan, .highlight-action--cyan, .contact-submit) { color: var(--idl-inverse); background: var(--idl-teal); border-color: var(--idl-teal); }
html[data-theme="light"] body[class] :is(.idl-button--cyan, .btn-register, .p3-auth-submit,
    .support-btn--filled-cyan, .highlight-action--cyan, .contact-submit):is(:hover, :focus-visible) { color: var(--idl-inverse); background: #006477; border-color: #006477; }
html[data-theme="light"] body[class] :is(.idl-button--outline, .venue-btn--outlined, .support-btn--outline-gray,
    .highlight-action, .p3-listing-filter-trigger, .p3-listing-filter-apply, .p3-favorite-button,
    .p3-listing-reset,
    .cms-carousel__controls button, .home-speakers-carousel__button, .p3-featured-listing-controls button,
    .directive-slider-controls button, .p3-auth-channel, .idl-auth-channels button, .interest-tag,
    .schedule-hero-actions a, .schedule-filter-reset, .schedule-day-tabs .nav-link,
    .schedule-tabs .nav-link, .profile-tabs .nav-link, .speaker-tabs button, .speaker-filter,
    .idl-pagination a, .idl-pagination span, .p3-pagination a, .p3-pagination span) {
    color: var(--idl-teal); background: var(--idl-surface); border-color: var(--idl-control-line); box-shadow: none;
}
html[data-theme="light"] body[class] :is(.idl-button--outline, .p3-favorite-button,
    .p3-listing-reset,
    .cms-carousel__controls button, .p3-featured-listing-controls button, .schedule-day-tabs .nav-link,
    .schedule-tabs .nav-link, .profile-tabs .nav-link, .idl-auth-channels button, .interest-tag,
    .speaker-filter, .idl-pagination a):is(:hover, :focus-visible, .active, .is-active, [aria-selected="true"]) {
    color: var(--idl-teal); background: var(--idl-teal-soft); border-color: var(--idl-teal);
}
html[data-theme="light"] body[class] .schedule-day-tabs .nav-link:is(.active, [aria-selected="true"]) {
    color: var(--idl-on-navy); background: var(--idl-navy); border-color: var(--idl-navy);
    box-shadow: 0 .4rem 1rem rgba(16,42,58,.12);
}
html[data-theme="light"] body[class] .schedule-day-tabs .nav-link:is(.active, [aria-selected="true"]) small { color: var(--idl-gold-on-navy); }
html[data-theme="light"] body[class] :is(.p3-favorite-button.is-active, .idl-pagination [aria-current],
    .p3-pagination [aria-current], .interest-tag:has(input:checked)) { color: var(--idl-gold); background: var(--idl-gold-soft); border-color: var(--idl-gold); }
html[data-theme="light"] body[class] :is(.p3-favorite-button.is-active, .idl-pagination [aria-current], .p3-pagination [aria-current], .interest-tag:has(input:checked)) { color: var(--idl-gold-on-soft); }
html[data-theme="light"] body[class] :is(.idl-button, .btn-register):disabled { color: var(--idl-muted); background: var(--idl-soft); border-color: var(--idl-line); opacity: 1; box-shadow: none; cursor: not-allowed; }

/* Form fields, native select menus, autofill, and validation. */
html[data-theme="light"] body[class] :is(input:not([type="hidden"], [type="checkbox"], [type="radio"], [type="submit"]), select, textarea) {
    color-scheme: light; color: var(--idl-text); background-color: var(--idl-surface); border-color: var(--idl-control-line);
}
html[data-theme="light"] body[class] :is(input, textarea)::placeholder { color: var(--idl-muted); opacity: 1; }
html[data-theme="light"] body[class] :is(select option, select optgroup) { color: var(--idl-text); background: var(--idl-surface); }
html[data-theme="light"] body[class] :is(.idl-field label, .cms-field-label, .cms-choice,
    .idl-enquiry-form label, [data-auth-registration] legend, .register-field-label, .interest-tags legend,
    .schedule-control-heading, .schedule-filter-field > span, .schedule-filter-heading p,
    .p3-listing-filter-field > span, .contact-form label) { color: var(--idl-muted); }
html[data-theme="light"] body[class] :is(.idl-search, .schedule-search-control, .cms-choice,
    .idl-auth-channels, .footer-newsletter-control, .input-group-text) { color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-control-line); }
html[data-theme="light"] body[class] :is(input, select, textarea, .idl-search):focus { border-color: var(--idl-teal); outline-color: var(--idl-teal); box-shadow: 0 0 0 3px rgba(0,120,140,.12); }
html[data-theme="light"] body[class] :is(input, textarea):-webkit-autofill { -webkit-text-fill-color: var(--idl-text); box-shadow: 0 0 0 1000px var(--idl-surface) inset; caret-color: var(--idl-text); }
html[data-theme="light"] body[class] :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--idl-teal); }
html[data-theme="light"] body[class] [aria-invalid="true"] { border-color: var(--idl-error); outline-color: var(--idl-error); }
html[data-theme="light"] body[class] :is(.idl-form-status, .idl-auth-back, .p3-auth-heading p,
    .p3-auth-brand p, .idl-auth-progress li, .step-label, .register-account-note, .register-legal,
    .p3-continue-button, .cart-item-remove, .cart-quantity button, .p3-cart-line button) { color: var(--idl-muted); }
html[data-theme="light"] body[class] :is(.step-number, .idl-auth-progress li::before) { color: var(--idl-muted); background: var(--idl-soft); border-color: var(--idl-control-line); }
html[data-theme="light"] body[class] :is(.step-wizard-item.active .step-label, .idl-auth-progress [aria-current]) { color: var(--idl-teal); }
html[data-theme="light"] body[class] .step-wizard-item.active .step-number { color: var(--idl-inverse); background: var(--idl-teal); border-color: var(--idl-teal); }
html[data-theme="light"] body[class] :is(.idl-form-status.is-error, .idl-field-error, .invalid-feedback, .field-error) { color: var(--idl-error); }
/* Existing registration validation/autofill rules use !important; override only those properties. */
html[data-theme="light"] body[class] :is(.form-input, .custom-select-trigger) { color: var(--idl-text) !important; background: var(--idl-surface) !important; border-color: var(--idl-control-line) !important; }
html[data-theme="light"] body[class] :is(.form-input, .custom-select-trigger):focus { border-color: var(--idl-teal) !important; box-shadow: 0 0 0 3px rgba(0,120,140,.12) !important; }
html[data-theme="light"] body[class] :is(.form-input, .custom-select-trigger):focus-visible { outline: 2px solid var(--idl-teal) !important; outline-offset: 3px; }
html[data-theme="light"] body[class] .form-input:-webkit-autofill { -webkit-text-fill-color: var(--idl-text) !important; caret-color: var(--idl-text) !important; box-shadow: 0 0 0 1000px var(--idl-surface) inset !important; }
html[data-theme="light"] body[class] .custom-select-value { color: var(--idl-text); }
html[data-theme="light"] body[class] .custom-select-value.is-placeholder,
html[data-theme="light"] body[class] .custom-select-value.placeholder { color: var(--idl-muted) !important; }
html[data-theme="light"] body[class] .idl-field-valid:not(:focus) { border-color: var(--idl-success) !important; }
html[data-theme="light"] body[class] .idl-field-invalid { border-color: var(--idl-error) !important; }
html[data-theme="light"] body[class] .idl-field-feedback { color: var(--idl-error) !important; }
html[data-theme="light"] body[class] :is(.idl-form-status.is-success, .idl-request-success) { color: var(--idl-success); border-color: #78a990; background: #edf7f1; }

/* Dialog and drawer chrome changes without changing their state or media. */
html[data-theme="light"] body[class] :is(.p3-modal-panel, .p3-global-search-dialog, .p3-cart-drawer,
    .idl-request-modal, .idl-gallery-lightbox, .idl-toast) { color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-line); box-shadow: var(--idl-shadow); }
html[data-theme="light"] body[class] :is(.p3-modal, .p3-global-search-backdrop, .p3-cart-overlay, .p3-mobile-nav-backdrop, .p3-listing-filter-backdrop) { background: var(--idl-shade); }
html[data-theme="light"] body[class] :is(.idl-request-modal, .idl-gallery-lightbox)::backdrop { background: var(--idl-shade); }
html[data-theme="light"] body[class] :is(.p3-cart-drawer > header, .p3-cart-drawer > footer,
    .p3-global-search-header, .idl-request-modal > header, .idl-auth-progress) { border-color: var(--idl-line); background: var(--idl-surface); }
html[data-theme="light"] body[class] :is(.p3-drawer-close, .p3-modal-close, .p3-global-search-close,
    .idl-request-modal header button, .idl-gallery-lightbox button, .p3-mobile-nav__header button) { color: var(--idl-text); background: var(--idl-soft); border-color: var(--idl-control-line); }
html[data-theme="light"] body[class] :is(.p3-global-search-form, .p3-cart-line, .cart-quantity) { color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-control-line); }
html[data-theme="light"] body[class] .p3-global-search-form button { color: var(--idl-inverse); background: var(--idl-teal); }
html[data-theme="light"] body[class] .p3-global-search-group h3 { color: var(--idl-gold); background: var(--idl-surface); }
html[data-theme="light"] body[class] .p3-global-search-option { color: var(--idl-text); background: var(--idl-soft); }
html[data-theme="light"] body[class] .p3-global-search-option:is(:hover, :focus-visible) { border-color: var(--idl-teal); background: var(--idl-teal-soft); }
html[data-theme="light"] body[class] :is(.p3-global-search-copy strong, .p3-global-search-header h2, .p3-global-search-form input, .p3-search-page-form input) { color: var(--idl-text); }
html[data-theme="light"] body[class] :is(.p3-global-search-copy small, .p3-global-search-state),
html[data-theme="light"] body[class] .p3-global-search-form input::placeholder,
html[data-theme="light"] body[class] .p3-search-page-form input::placeholder { color: var(--idl-muted); }
html[data-theme="light"] body[class] :is(.p3-total strong, .cart-item-copy strong, .saved-course p) { color: var(--idl-gold); }
html[data-theme="light"] body[class] .p3-total > span { color: var(--idl-text); }
html[data-theme="light"] body[class] .step-indicator { color: var(--idl-gold); }
html[data-theme="light"] body[class] :is(.p3-cart-card__pricing, .p3-cart-card__meta, .p3-cart-drawer__empty p,
    .p3-favorites-welcome p, .p3-account-empty p) { color: var(--idl-muted); }
html[data-theme="light"] body[class] .p3-cart-card__pricing strong { color: var(--idl-gold); }
html[data-theme="light"] body[class] :is(.p3-quantity-control, .p3-quantity-control button, .idl-chip) { color: var(--idl-teal); background: var(--idl-surface); border-color: var(--idl-control-line); }
html[data-theme="light"] body[class] .p3-quantity-control output { color: var(--idl-text); }
html[data-theme="light"] body[class] .p3-cart-remove { color: var(--idl-error); }
html[data-theme="light"] body[class] .idl-chip:is(.active, :hover, :focus-visible) { color: var(--idl-teal); background: var(--idl-teal-soft); border-color: var(--idl-teal); }
html[data-theme="light"] body[class] .register-form-section { background: var(--idl-page); }
html[data-theme="light"] body[class] .alert-danger { color: var(--idl-error); background: #fff0f1; border-color: #d78790; }
html[data-theme="light"] body[class] .alert-success { color: var(--idl-success); background: #edf7f1; border-color: #78a990; }
html[data-theme="light"] body[class] :is(.alert-info, .alert-warning) { color: var(--idl-gold-on-soft); background: var(--idl-gold-soft); border-color: var(--idl-gold); }

/* The navy footer anchors each page; its form fields keep their light surface. */
html[data-theme="light"] body[class] .site-footer { background: var(--idl-navy); border-color: var(--idl-line-on-navy); color: var(--idl-on-navy); }
html[data-theme="light"] body[class] :is(.footer-about, .footer-bottom p, .site-footer a,
    .site-footer .footer-newsletter > label, .footer-bottom nav) { color: var(--idl-muted-on-navy); }
html[data-theme="light"] body[class] :is(.footer-brand b, .footer-brand, .site-footer h2) { color: var(--idl-on-navy); }
html[data-theme="light"] body[class] .site-footer a:is(:hover, [aria-current]) { color: var(--idl-teal-on-navy); }
html[data-theme="light"] body[class] .footer-bottom { border-color: var(--idl-line-on-navy); }
html[data-theme="light"] body[class] .site-footer .footer-newsletter button { background: var(--idl-teal); color: var(--idl-inverse); }
html[data-theme="light"] body[class] .site-footer .footer-newsletter-control input { color: var(--idl-text); }
html[data-theme="light"] body[class] .site-footer .idl-theme-toggle { color: var(--idl-on-navy); border-color: var(--idl-control-line); }
html[data-theme="light"] body[class] .site-footer .idl-theme-toggle:hover { color: var(--idl-gold-on-navy); border-color: var(--idl-gold-on-navy); }
html[data-theme="light"] body[class] .site-footer .idl-form-status { color: var(--idl-muted-on-navy); }
html[data-theme="light"] body[class] .site-footer .idl-form-status.is-error { color: #fda4af; }
html[data-theme="light"] body[class] .site-footer .idl-form-status.is-success { color: #86efac; background: transparent; }

/* Text over photographs stays inverse; photographs and third-party logos are not filtered. */
html[data-theme="light"] body[class] :is(.p3-featured-overlay, .moment-card, .bento-card, .p3-bento-card,
    .cms-gallery__grid figcaption, .experience-content, .idl-gallery-play) { color: var(--idl-inverse); }
html[data-theme="light"] body[class] :is(.p3-featured-overlay, .moment-card, .bento-card, .p3-bento-card,
    .cms-gallery__grid figcaption, .experience-content) :is(h2, h3, p, span, a) { color: var(--idl-inverse); }
html[data-theme="light"] body[class] :is(.p3-media-type, .idl-gallery-tile .p3-media-type,
    .idl-gallery-tile__open, .idl-offer-card__badge) { color: var(--idl-inverse); background: rgba(16,42,58,.88); border-color: rgba(255,255,255,.55); }
html[data-theme="light"] body[class] :is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--idl-teal); outline-offset: 3px; }
html[data-theme="light"] body[class] .site-footer :is(a, button):focus-visible,
html[data-theme="light"] body[class] .schedule-day-tabs .nav-link:is(.active, [aria-selected="true"]):focus-visible { outline-color: var(--idl-teal-on-navy); }
@media (min-width: 992px) {
    html[data-theme="light"] body[class].schedule-page .schedule-page-hero { padding-top: 9rem; }
    html[data-theme="light"] body[class].home-page .hero-subtitle { max-width: 25rem; margin-inline: auto; }
    html[data-theme="light"] body[class].home-page .hero > .event-panel { bottom: calc(1.5rem + var(--expertise-ticker-height)); }
    html[data-theme="light"][dir="rtl"] body[class].home-page .hero::before {
        background: linear-gradient(270deg, rgba(244,247,250,.96), rgba(244,247,250,.9) 44%, rgba(244,247,250,.18)), linear-gradient(0deg, #f4f7fa, transparent 28%);
    }
}
@media (min-width: 1200px) {
    html[data-theme="light"][dir="rtl"] body[class].home-page .hero > .event-panel { right: auto; left: var(--container-gutter); }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    html[data-theme="light"] body[class].home-page .hero { display: flex; flex-direction: column; }
    html[data-theme="light"] body[class].home-page .hero-content { padding-block: 9rem 2rem; }
    html[data-theme="light"] body[class].home-page .hero-content .row { min-height: 0 !important; justify-content: center; }
    html[data-theme="light"] body[class].home-page .hero-content .col-12 { width: 100%; }
    html[data-theme="light"] body[class].home-page .hero-copy { max-width: 42rem; margin: 0 auto; padding: 0; text-align: center; }
    html[data-theme="light"] body[class].home-page .hero-subtitle { max-width: 34rem; }
    html[data-theme="light"] body[class].home-page .hero > .event-panel {
        position: relative; inset: auto; width: calc(100% - 4rem); max-width: 47rem; margin: 0 auto 2rem; padding: 0;
    }
    html[data-theme="light"] body[class].home-page .hero > .expertise-ticker { position: relative; inset: auto; margin-top: auto; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    html[data-theme="light"] body[class] .site-navbar .site-container { gap: .6rem; }
    html[data-theme="light"] body[class] .site-navbar :is(.p3-search-icon--mobile, .navbar-cart-link--mobile, .navbar-toggler) { margin-inline: 0 !important; flex-shrink: 0; }
    html[data-theme="light"] body[class].home-page .hero-copy { width: 100%; text-align: center; }
    html[data-theme="light"] body[class].home-page .hero-subtitle {
        width: auto; max-width: 32rem; margin-inline: auto; font-size: .85rem; line-height: 1.6;
    }
    html[data-theme="light"] body[class].home-page .country-title { justify-content: center; }
    html[data-theme="light"] body[class].home-page .event-meta { display: flex; flex-wrap: nowrap; align-items: center; gap: 1.5rem; }
    html[data-theme="light"] body[class].home-page .event-meta .meta-item { min-width: 0; width: auto; flex: 1; font-size: .85rem; }
}
@media (max-width: 991.98px) {
    html[data-theme="light"] body[class] .hero::before { background: linear-gradient(180deg, rgba(244,247,250,.88), rgba(244,247,250,.84) 52%, #f4f7fa); }
}
@media (max-width: 767.98px) {
    html[data-theme="light"] body[class].home-page .hero {
        background-size: cover; background-position: center; background-repeat: no-repeat;
    }
    /* Keep the lighthouse in the crop of the original wide mobile banner. */
    html[data-theme="light"] body[class].home-page .hero:not([style*="--idl-hero"]) { background-position: 80% center; }
    /* This legacy pseudo-element becomes a heading on phones, rather than a decorative texture. */
    html[data-theme="light"] body[class] .quick-links::before {
        color: var(--idl-gold); opacity: 1; mix-blend-mode: normal;
        background-image: linear-gradient(var(--idl-gold), var(--idl-gold));
    }
    html[data-theme="light"] body[class].home-page .section-title:not(.section-title--display) {
        background-image: linear-gradient(var(--idl-gold), var(--idl-gold));
    }
    html[data-theme="light"][dir="rtl"] body[class] .quick-links::before {
        content: "الوصول السريع"; font-family: Cairo, sans-serif !important; text-align: right;
        padding-inline-start: 3.25rem; padding-inline-end: 0; background-position: right center;
    }
}

/* Source: resources/css/public/contact-page.css */
/* Contact channels and enquiry flow. The header uses the shared CMS hero. */
body.contact-page { background: var(--idl-page); color: var(--idl-text); }
.contact-page .contact-channels { padding-block: 3rem; }
.contact-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 1.5rem; }
.contact-section-heading .idl-eyebrow { margin-bottom: .65rem; color: var(--idl-teal); }
.contact-page .contact-section-heading h2 { margin: 0; color: var(--idl-text); font-size: clamp(1.65rem, 2.7vw, 2.25rem); line-height: 1.2; text-transform: none; }
.contact-page .contact-section-heading > p { max-width: 24rem; margin: 0; color: var(--idl-muted); font-size: .82rem; line-height: 1.7; }
.contact-channel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.contact-channel { position: relative; display: flex; align-items: flex-start; gap: 1rem; padding: 1.5rem 1.25rem; border: 1px solid var(--idl-line); border-radius: 1rem; background: var(--idl-surface); transition: border-color .2s, box-shadow .2s; }
.contact-channel:hover, .contact-channel:focus-within { border-color: var(--idl-teal); box-shadow: var(--idl-shadow); }
.contact-channel__icon { display: grid; place-items: center; flex: 0 0 2.75rem; height: 2.75rem; border: 1px solid var(--idl-line); border-radius: .8rem; color: var(--idl-teal); background: var(--idl-soft); }
.contact-channel--email .contact-channel__icon { color: var(--idl-gold); }
.contact-channel__content { min-width: 0; flex: 1; }
.contact-page .contact-channel__label { margin: 0 0 .4rem; color: var(--idl-muted); font-size: .7rem; }
.contact-page .contact-channel h3 { margin: 0; font: 650 .98rem/1.5 var(--font-nav, sans-serif); letter-spacing: 0; text-transform: none; color: var(--idl-text); overflow-wrap: anywhere; }
.contact-page .contact-channel h3, .contact-page .contact-message__guidance h3 { font-family: var(--font-nav, sans-serif) !important; font-weight: 650 !important; }
.contact-page .contact-channel h3 a { color: inherit; text-decoration: none; }
.contact-channel h3 a::after { content: ""; position: absolute; inset: 0; border-radius: 1rem; }
.contact-channel h3 a:focus-visible { outline: none; }
.contact-channel:has(a:focus-visible) { outline: 2px solid var(--idl-teal); outline-offset: 4px; }
.contact-page .contact-channel__content > p:last-child { margin: .45rem 0 0; color: var(--idl-muted); font-size: .75rem; line-height: 1.5; }
.contact-channel__arrow { flex: 0 0 auto; color: var(--idl-muted); font-size: .65rem; margin-top: .15rem; }
.contact-page .contact-support { padding-block: 0 3rem; scroll-margin-top: 7rem; }
.contact-support__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.contact-support__card { display: flex; align-items: start; gap: 1rem; position: relative; padding: 1.5rem; border: 1px solid var(--idl-line); border-radius: 1rem; background: var(--idl-soft); }
.contact-support__card > div { min-width: 0; flex: 1; }
.contact-page .contact-support__card h3 { margin: 0 0 .5rem; color: var(--idl-text); font: 650 .95rem/1.5 var(--font-nav, sans-serif); font-family: var(--font-nav, sans-serif) !important; font-weight: 650 !important; }
.contact-page .contact-support__card h3 a { color: inherit; }
.contact-support__card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: 1rem; }
.contact-support__card h3 a:focus-visible { outline: none; }
.contact-support__card:has(a:focus-visible) { outline: 2px solid var(--idl-teal); outline-offset: 4px; }
.contact-support__card:has(a):hover { border-color: var(--idl-teal); }
.contact-page .contact-support__card p { margin: 0; color: var(--idl-muted); font-size: .78rem; line-height: 1.7; }
.contact-support__card img { width: 100%; height: auto; margin-top: 1rem; border-radius: .5rem; }
.contact-support__card > i { color: var(--idl-teal); font-size: .75rem; margin-top: .4rem; }
[dir="rtl"] .contact-page .contact-support__card h3 { font-family: Cairo, sans-serif !important; }
[dir="rtl"] .contact-support__card > i { transform: scaleX(-1); }
.contact-page .contact-message { padding-block: 1rem 5rem; scroll-margin-top: 7rem; }
.contact-page .cms-form-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); margin-top: 0; gap: clamp(2rem, 5vw, 5rem); }
.contact-page .p3-info-panel,
html[data-theme="light"] body.contact-page .p3-info-panel { background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 1.25rem; box-shadow: none; }
.contact-page .p3-info-panel__body { padding: clamp(1.25rem, 2.5vw, 2rem); }
.contact-message__symbol { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 1rem; border: 1px solid var(--idl-line); background: var(--idl-soft); color: var(--idl-gold); font-size: 1.4rem; margin-bottom: 1.5rem; }
.contact-page .p3-info-panel__body .idl-eyebrow { margin: 0 0 .9rem; color: var(--idl-teal); }
.contact-page .p3-info-panel h2 { color: var(--idl-text); font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.15; text-transform: none; }
.contact-page .p3-info-panel__body > p:not(.idl-eyebrow) { color: var(--idl-muted); font-size: .88rem; }
.contact-page .contact-message__guidance { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--idl-line); }
.contact-page .contact-message__guidance h3 { margin: 0 0 1.25rem; color: var(--idl-text); font: 650 .95rem/1.5 var(--font-nav, sans-serif); text-transform: none; }
.contact-message__guidance ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.2rem; }
.contact-message__guidance li { display: flex; align-items: flex-start; gap: .9rem; }
.contact-message__guidance li > span { display: grid; place-items: center; width: 2rem; height: 2rem; flex: 0 0 2rem; border: 1px solid var(--idl-line); border-radius: 50%; color: var(--idl-teal); font-size: .65rem; font-weight: 700; }
.contact-message__guidance strong { color: var(--idl-text); font-size: .8rem; font-weight: 600; }
.contact-page .contact-message__guidance li p { margin: .3rem 0 0; color: var(--idl-muted); font-size: .78rem; line-height: 1.65; }
.contact-page .contact-message__help { display: flex; align-items: center; gap: .65rem; min-height: 44px; margin-top: 1.5rem; padding-block: .5rem; color: var(--idl-teal); font-size: .78rem; line-height: 1.6; text-decoration: none; }
.contact-message__help i:last-child { margin-inline-start: auto; }
.contact-message__help:focus-visible { outline: 2px solid var(--idl-teal); outline-offset: 4px; border-radius: .35rem; }
.contact-page .idl-form-card { padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--idl-line); border-top: 3px solid var(--idl-teal); border-radius: 1.25rem; background: var(--idl-surface); box-shadow: var(--idl-shadow); }
.contact-page .p3-request-form > .idl-eyebrow { margin-bottom: .75rem; color: var(--idl-teal); font-size: .65rem; }
.contact-page .p3-request-form h2 { color: var(--idl-text); font: 650 clamp(1.35rem, 2vw, 1.65rem)/1.4 var(--font-nav, sans-serif); text-transform: none; letter-spacing: -.01em; }
.contact-page .contact-form-note { margin: .65rem 0 1.5rem; color: var(--idl-muted); font-size: .75rem; }
.contact-page .idl-form-grid { gap: 1.15rem 1rem; }
.contact-page .idl-field label, .contact-page .cms-field-label { color: var(--idl-text); font-size: .78rem; font-weight: 500; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.contact-page .idl-field :is(input, select, textarea) { background: var(--idl-page); color: var(--idl-text); border: 1px solid var(--idl-control-line); border-radius: .6rem; font-size: .87rem; padding: .8rem .9rem; }
.contact-page .idl-field :is(input, select) { min-height: 3rem; }
.contact-page .idl-field :is(input:not([type="hidden"], [type="checkbox"], [type="radio"], [type="file"], [type="submit"], [type="button"], [type="reset"]), textarea).is-filled { background: #fff; color: #071522; border-color: rgba(0, 151, 178, .48); -webkit-text-fill-color: #071522; caret-color: #071522; }
.contact-page .idl-field input:-webkit-autofill,
.contact-page .idl-field input:-webkit-autofill:hover,
.contact-page .idl-field input:-webkit-autofill:focus,
.contact-page .idl-field textarea:-webkit-autofill,
.contact-page .idl-field textarea:-webkit-autofill:hover,
.contact-page .idl-field textarea:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 1000px #fff inset !important; box-shadow: 0 0 0 1000px #fff inset !important; -webkit-text-fill-color: #071522 !important; caret-color: #071522; }
.contact-page .p3-themed-select__trigger.is-filled { background: #fff; color: #071522; border-color: rgba(0, 151, 178, .48); }
.contact-page .p3-themed-select__trigger.is-filled i { color: #526878; }
.contact-page .idl-field select option { background: var(--idl-surface); color: var(--idl-text); }
.contact-page .idl-field textarea { min-height: 9rem; }
.contact-page .idl-field :is(input, select, textarea):focus { border-color: var(--idl-teal); box-shadow: 0 0 0 3px rgba(0, 151, 178, .15); }
.contact-page .idl-field input:is([type="checkbox"], [type="radio"]) { width: 1.1rem; height: 1.1rem; min-height: 0; padding: 0; flex: 0 0 1.1rem; accent-color: var(--idl-teal); }
.contact-page .idl-field .cms-choice { font-size: .75rem; line-height: 1.7; }
.contact-page .contact-message .idl-demo-banner { margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--idl-teal); border-radius: .8rem; background: var(--idl-soft); color: var(--idl-text); font-size: .85rem; line-height: 1.7; }
.contact-page .idl-form-fields > .idl-button { width: 100%; min-height: 3.2rem; margin-top: 1.5rem; border-radius: .6rem; text-transform: none; font-size: .86rem; letter-spacing: 0; }
.contact-page .contact-privacy-note { display: flex; align-items: start; justify-content: center; gap: .5rem; margin: .85rem 0 0; color: var(--idl-muted); font-size: .7rem; line-height: 1.6; }
.contact-privacy-note i { margin-top: .25rem; color: var(--idl-teal); }
.contact-page .contact-error-summary, .contact-page .contact-field-error { color: var(--idl-error, #ff9e9e); font-size: .78rem; line-height: 1.6; }
.contact-page .contact-error-summary { margin-bottom: 1.25rem; padding: .85rem; border: 1px solid currentColor; border-radius: .6rem; }
.contact-page .contact-field-error { display: block; margin-top: .4rem; }
.contact-page .idl-field [aria-invalid="true"] { border-color: var(--idl-error, #ff9e9e); }
.contact-page .idl-form-gate__overlay { border-radius: 1.25rem; }
[dir="rtl"] .contact-page :is(h2, h3, .contact-channel h3, .p3-request-form h2, .contact-message__guidance h3) { font-family: Cairo, sans-serif !important; letter-spacing: 0; }
[dir="rtl"] .contact-page .contact-message__help i:last-child { transform: scaleX(-1); }
@media (min-width: 768px) {
    .contact-page .idl-form-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .contact-page .idl-field { grid-column: span 3; }
    .contact-page .idl-field--full { grid-column: 1 / -1; }
}
@media (max-width: 1199px) {
    .contact-channel { gap: .7rem; padding: 1.2rem 1rem; }
    .contact-channel__icon { flex-basis: 2.25rem; height: 2.25rem; }
    .contact-channel__arrow { display: none; }
    .contact-page .contact-channel h3 { font-size: .88rem; }
}
@media (max-width: 991px) {
    .contact-page .cms-form-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
    .contact-message__guidance ol { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
    .contact-message__guidance li { flex-direction: column; gap: .65rem; }
    .contact-channel-grid { grid-template-columns: minmax(0, 1fr); }
    .contact-page .contact-channel h3 { font-size: 1rem; }
    .contact-channel__arrow { display: block; }
    .contact-channel__icon { flex-basis: 2.75rem; height: 2.75rem; }
}
@media (max-width: 575px) {
    .contact-support__grid { grid-template-columns: minmax(0, 1fr); }
    .contact-page .contact-support { padding-bottom: 2rem; }
    .contact-page .contact-channels { padding-block: 2rem; }
    .contact-section-heading { display: block; }
    .contact-section-heading > p { margin-top: .8rem !important; }
    .contact-page .contact-message { padding-bottom: 3rem; }
    .contact-message__guidance ol { grid-template-columns: minmax(0, 1fr); }
    .contact-message__guidance li { flex-direction: row; gap: .8rem; }
    .contact-page .idl-form-card { padding: 1.25rem; }
    .contact-page .idl-form-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .contact-channel { transition: none; } }

/* Source: resources/css/public/navigation-fonts.css */
/* Local header fonts keep navigation independent of page-specific Google Fonts requests. */

/* Montserrat: cyrillic-ext */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Montserrat: cyrillic */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Montserrat: vietnamese */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Montserrat: latin-ext */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Montserrat: latin */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Montserrat: cyrillic-ext */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Montserrat: cyrillic */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Montserrat: vietnamese */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Montserrat: latin-ext */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Montserrat: latin */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Montserrat: cyrillic-ext */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Montserrat: cyrillic */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Montserrat: vietnamese */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Montserrat: latin-ext */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Montserrat: latin */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Montserrat: cyrillic-ext */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Montserrat: cyrillic */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Montserrat: vietnamese */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Montserrat: latin-ext */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Montserrat: latin */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../../fonts/navigation/montserrat-v31-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Cairo: arabic */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../../fonts/navigation/cairo-v31-arabic.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

/* Cairo: arabic */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../../fonts/navigation/cairo-v31-arabic.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

/* Cairo: arabic */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../../fonts/navigation/cairo-v31-arabic.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

/* Cairo: arabic */
@font-face {
  font-family: 'IDL Navigation';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../../fonts/navigation/cairo-v31-arabic.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

/* Source: resources/css/public/navigation.css */
/* Reserve header geometry before images and the footer controllers finish loading. */
body[class] .site-navbar { --container-gutter: clamp(1.25rem, 4.5vw, 5rem); --font-nav: 'IDL Navigation', Arial, sans-serif; font-family: var(--font-nav); line-height: 1.5; }
body[class] .site-navbar .brand-mark { flex: 0 0 auto; }
body[class] .site-navbar .brand-mark img { width: 72px; height: 44px; max-width: none; object-fit: contain; }
@media (min-width: 992px) {
    .site-navbar .idl-theme-toggle--header[hidden],
    .site-navbar .idl-install--header[hidden] { display: inline-flex !important; visibility: hidden; }
    html.idl-app-mode .site-navbar .idl-install--header[hidden],
    html.idl-app-installed .site-navbar .idl-install--header[hidden] { display: none !important; }
}

/* One mobile navigation layout for both palettes. The dialog's top layer escapes hero/header stacking. */
html.idl-nav-open { overflow: hidden; }
#mainNavigation.idl-mobile-nav {
    --font-nav: 'IDL Navigation', Arial, sans-serif;
    --idl-nav-accent: #7ed4e0;
    --idl-nav-hover: #0a2234;
    --idl-nav-direction: 1;
    position: fixed;
    inset: 0;
    inset-inline-start: auto;
    inset-inline-end: 0;
    width: min(88vw, 384px);
    max-width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    padding: 0;
    overflow: hidden;
    flex-direction: column;
    border: 0;
    border-inline-start: 1px solid var(--idl-line);
    border-radius: 0;
    color: var(--idl-text);
    background: var(--idl-surface);
    box-shadow: calc(-1rem * var(--idl-nav-direction)) 0 3rem rgba(1,9,18,.28);
    font: 600 16px/1.5 var(--font-nav, "Montserrat", sans-serif);
    color-scheme: dark;
    transform: translateX(calc(105% * var(--idl-nav-direction)));
    transition: transform 240ms cubic-bezier(.22,1,.36,1);
}
#mainNavigation.idl-mobile-nav:not([open]) { display: none; }
#mainNavigation.idl-mobile-nav[open] { display: flex; }
#mainNavigation.idl-mobile-nav.show { transform: translateX(0); }
#mainNavigation.idl-mobile-nav::backdrop { background: rgba(1,9,18,.72); }
html[data-theme="light"] #mainNavigation.idl-mobile-nav { --idl-nav-accent: #00788c; --idl-nav-hover: #e6f3f5; color-scheme: light; }
html[data-theme="light"] #mainNavigation.idl-mobile-nav::backdrop { background: rgba(16,42,58,.4); }
html[dir="rtl"] #mainNavigation.idl-mobile-nav { --idl-nav-direction: -1; font-family: var(--font-nav); }
#mainNavigation .p3-mobile-nav__header {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left));
    border-bottom: 1px solid var(--idl-line);
    background: var(--idl-soft);
}
#mainNavigation .p3-mobile-nav__header a { display: flex; align-items: center; gap: .65rem; color: var(--idl-text); text-decoration: none; text-transform: none; }
#mainNavigation .p3-mobile-nav__header img { width: 56px; height: 44px; object-fit: contain; }
#mainNavigation .p3-mobile-nav__header span { color: var(--idl-text); font-size: 14px; font-weight: 700; }
#mainNavigation [data-nav-close] {
    display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px;
    padding: 0; color: var(--idl-text); background: var(--idl-surface);
    border: 1px solid var(--idl-control-line); border-radius: 50%;
}
#mainNavigation .idl-mobile-nav__body {
    display: flex; flex: 1 1 auto; min-height: 0; flex-direction: column; gap: 20px;
    overflow-y: auto; overscroll-behavior: contain;
    padding: 16px max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
}
#mainNavigation .navbar-nav { width: 100%; margin: 0; gap: .25rem; align-items: stretch; }
#mainNavigation .nav-item { width: 100%; }
#mainNavigation .nav-link, #mainNavigation .dropdown-item {
    display: flex; width: 100%; min-height: 48px; align-items: center; gap: 10px;
    padding: 12px 14px; border: 0; border-radius: 10px;
    color: var(--idl-text); background: transparent;
    font: inherit; text-align: start; white-space: normal; text-decoration: none;
}
#mainNavigation .nav-link { justify-content: space-between; }
#mainNavigation .nav-link:is(:hover, :focus-visible, .active),
#mainNavigation .dropdown-item:is(:hover, :focus-visible, .active) { color: var(--idl-nav-accent); background: var(--idl-nav-hover); }
#mainNavigation .dropdown-toggle::after { display: none; }
#mainNavigation .p3-dropdown-icon {
    width: .8rem; height: .55rem; flex: 0 0 auto; fill: none; stroke: currentColor;
    color: inherit;
    stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform 160ms ease;
}
#mainNavigation [aria-expanded="true"] .p3-dropdown-icon { transform: rotate(180deg); }
#mainNavigation .dropdown-menu {
    position: static !important; width: 100%; max-height: none; margin: .25rem 0 .5rem;
    padding: .3rem; transform: none !important; box-shadow: none;
    color: var(--idl-text); background: var(--idl-soft); border: 0;
    border-inline-start: 2px solid var(--idl-nav-accent); border-radius: .6rem;
}
#mainNavigation .dropdown-item { font-size: 14px; font-weight: 500; }
#mainNavigation .dropdown-item i { width: 1.1rem; flex: 0 0 1.1rem; text-align: center; color: var(--idl-nav-accent); }
#mainNavigation .idl-mobile-nav__search {
    display: flex; flex: 0 0 auto; width: 100%; min-height: 52px; align-items: center; gap: 12px;
    padding: 14px 16px; border: 1px solid var(--idl-control-line); border-radius: 14px;
    color: var(--idl-muted); background: var(--idl-soft); font: inherit; font-size: 14px; font-weight: 500; text-align: start;
}
#mainNavigation .idl-mobile-nav__search span { flex: 1; }
#mainNavigation .idl-mobile-nav__search > i:first-child { color: var(--idl-nav-accent); font-size: 17px; }
#mainNavigation .idl-mobile-nav__search > i:last-child { font-size: 12px; }
#mainNavigation .idl-mobile-nav__search:hover { color: var(--idl-text); border-color: var(--idl-nav-accent); }
#mainNavigation .idl-mobile-nav__actions { display: flex; flex-direction: column; gap: .75rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--idl-line); }
#mainNavigation .idl-mobile-nav__account, #mainNavigation .idl-mobile-nav__register {
    display: flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px;
    padding: 11px 14px; border: 1px solid var(--idl-control-line); border-radius: 10px;
    font: inherit; text-decoration: none;
}
#mainNavigation .idl-mobile-nav__account { justify-content: flex-start; gap: 12px; padding: 14px; border-radius: 14px; color: var(--idl-text); background: var(--idl-soft); }
#mainNavigation .idl-mobile-nav__account:hover { border-color: var(--idl-nav-accent); }
#mainNavigation .idl-mobile-nav__avatar { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border: 1px solid var(--idl-control-line); border-radius: 50%; color: var(--idl-nav-accent); background: var(--idl-surface); }
#mainNavigation .idl-mobile-nav__avatar svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
#mainNavigation .idl-mobile-nav__account-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 2px; }
#mainNavigation .idl-mobile-nav__account-copy strong { font-size: 14px; font-weight: 700; }
#mainNavigation .idl-mobile-nav__account-copy small { color: var(--idl-muted); font-size: 12px; font-weight: 500; }
#mainNavigation .idl-mobile-nav__account > i { color: var(--idl-nav-accent); font-size: 12px; }
#mainNavigation .idl-mobile-nav__register { color: #102a3a; background: var(--idl-gold-fill); border-color: var(--idl-gold-fill); font-weight: 700; }
#mainNavigation .idl-mobile-nav__register:hover { background: #dfb665; border-color: #dfb665; }
#mainNavigation .idl-mobile-nav__preferences { display: flex; flex-direction: column; padding: 4px 14px 14px; border: 1px solid var(--idl-line); border-radius: 14px; background: var(--idl-soft); }
#mainNavigation .idl-theme-toggle--mobile { display: flex; width: 100%; min-height: 60px; justify-content: flex-start; gap: 10px; align-self: stretch; margin: 0; padding: 10px 0; border: 0; border-bottom: 1px solid var(--idl-line); border-radius: 0; color: var(--idl-text); font: 600 13px/1.5 var(--font-nav, sans-serif); text-align: start; }
#mainNavigation .idl-theme-toggle--mobile:hover { color: var(--idl-nav-accent); }
#mainNavigation .idl-theme-toggle--mobile [data-theme-sun] { display: block; color: var(--idl-nav-accent); }
#mainNavigation .idl-theme-toggle--mobile [data-theme-moon] { display: none; }
#mainNavigation .idl-theme-switch { display: flex; flex: 0 0 44px; align-items: center; width: 44px; height: 26px; margin-inline-start: auto; padding: 3px; border: 1px solid var(--idl-control-line); border-radius: 100px; background: var(--idl-surface); transition: background 160ms ease; }
#mainNavigation .idl-theme-switch__thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--idl-muted); transition: transform 160ms ease; }
#mainNavigation [aria-pressed="true"] .idl-theme-switch { background: var(--idl-nav-accent); border-color: var(--idl-nav-accent); }
#mainNavigation [aria-pressed="true"] .idl-theme-switch__thumb { background: #fff; transform: translateX(18px); }
html[dir="rtl"] #mainNavigation [aria-pressed="true"] .idl-theme-switch__thumb { transform: translateX(-18px); }
#mainNavigation .idl-mobile-nav__language-setting { padding-top: 14px; }
#mainNavigation .idl-mobile-nav__setting-label { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; color: var(--idl-text); font-size: 13px; }
#mainNavigation .idl-mobile-nav__setting-label i { width: 1.15rem; color: var(--idl-nav-accent); text-align: center; }
#mainNavigation .idl-mobile-nav__languages { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--idl-line); border-radius: 12px; background: var(--idl-surface); }
#mainNavigation .idl-mobile-nav__languages a { display: flex; flex: 1; min-width: 0; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 8px; color: var(--idl-muted); border: 1px solid transparent; border-radius: 8px; text-decoration: none; font-size: 13px; font-weight: 600; }
#mainNavigation .idl-mobile-nav__languages a i { visibility: hidden; font-size: 11px; }
#mainNavigation .idl-mobile-nav__languages a:is(:hover, [aria-current]) { color: var(--idl-nav-accent); background: var(--idl-nav-hover); }
#mainNavigation .idl-mobile-nav__languages a[aria-current] { border-color: var(--idl-control-line); }
#mainNavigation .idl-mobile-nav__languages a[aria-current] i { visibility: visible; }
html[dir="rtl"] #mainNavigation :is(.idl-mobile-nav__search, .idl-mobile-nav__account) > i:last-child { transform: rotate(180deg); }
#mainNavigation :is(a, button):focus-visible { outline: 2px solid var(--idl-nav-accent); outline-offset: 2px; }
.idl-mobile-header-actions { display: none; }
@media (min-width: 992px) { #mainNavigation.idl-mobile-nav { display: none !important; } }
@media (min-width: 992px) and (max-width: 1199.98px) {
    body[class] .site-navbar .navbar-nav { gap: .35rem; }
    body[class] .site-navbar .nav-link { font-size: .9rem; padding-inline: .3rem !important; }
}
@media (prefers-reduced-motion: reduce) { #mainNavigation.idl-mobile-nav, #mainNavigation .p3-dropdown-icon, #mainNavigation .idl-theme-switch, #mainNavigation .idl-theme-switch__thumb { transition: none; } }
@media (max-width: 991.98px) {
    .idl-mobile-header-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; direction: ltr; }
    body[class] .site-navbar .idl-mobile-header-actions :is(.p3-account-icon--mobile, .navbar-cart-link--mobile, .navbar-toggler) {
        display: inline-grid !important; width: 44px; height: 44px; min-width: 44px; flex: 0 0 44px; order: 0; margin: 0 !important; padding: 0; place-items: center;
        border: 1px solid var(--idl-control-line); border-radius: 50%; color: var(--idl-text); background: var(--idl-surface); transform: none;
    }
    body[class] .site-navbar .idl-mobile-header-actions :is(a, button):is(:hover, :focus-visible) { color: var(--idl-nav-accent, var(--idl-teal)); border-color: var(--idl-teal); background: var(--idl-soft); }
    body[class] .site-navbar .p3-account-icon--mobile svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
    body[class] .site-navbar .container-fluid { flex-direction: row; justify-content: space-between; gap: .35rem; direction: inherit; }
    body[class] .site-navbar .navbar-brand { flex: 0 0 auto; order: 0; margin: 0 !important; }
    body[class] .site-navbar .navbar-brand img { width: 3.25rem; height: 44px; max-width: 4rem; }
}

/* Source: resources/css/public/pwa.css */
.idl-install[hidden], .idl-app-mode [data-pwa-install], .idl-app-installed [data-pwa-install] { display: none !important; }
.idl-install { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; padding: 5px 12px 5px 5px; border: 1px solid #d9b96e66; border-radius: 30px; color: var(--idl-text); background: linear-gradient(125deg, var(--idl-soft), var(--idl-surface)); font: 600 12px/1.4 var(--font-nav, sans-serif); text-align: start; cursor: pointer; transition: border-color 180ms, box-shadow 180ms; }
.idl-install:hover { border-color: var(--idl-gold-fill); box-shadow: 0 0 20px #dfc78c18; }
.idl-install:focus-visible { outline: 2px solid var(--idl-teal); outline-offset: 4px; }
.idl-install__icon { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; background: #010309; border: 1px solid #dfc78c33; border-radius: 50%; }
.idl-install__icon img { display: block; width: 32px; height: 32px; }
.idl-install__copy { display: flex; flex-direction: column; gap: 3px; }
.idl-install__copy strong { font-weight: 600; white-space: nowrap; }
.idl-install__copy small { color: var(--idl-muted); font-size: 11px; font-weight: 400; }
.idl-install__arrow { width: 18px; height: 18px; flex: 0 0 18px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.idl-install--header { position: relative; margin-inline: 6px; }
.idl-install--header .idl-install__arrow { position: absolute; bottom: 1px; inset-inline-start: 28px; width: 14px; height: 14px; padding: 2px; border-radius: 50%; background: #dfc78c; color: #071e35; stroke-width: 2; }
#mainNavigation .idl-install--mobile { width: 100%; min-height: 76px; gap: 12px; padding: 14px; border-radius: 14px; }
.idl-install--mobile .idl-install__icon { width: 44px; height: 44px; flex-basis: 44px; border-radius: 12px; }
.idl-install--mobile .idl-install__icon img { width: 42px; height: 42px; }
.idl-install--mobile .idl-install__copy { flex: 1; }
.idl-install--mobile .idl-install__copy strong { font-size: 14px; }
.idl-install-dialog { position: fixed; inset: 0; width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); margin: auto; padding: 36px 28px 28px; overflow-y: auto; border: 1px solid var(--idl-control-line); border-radius: 24px; color: var(--idl-text); background: var(--idl-surface); box-shadow: 0 24px 100px #01030980; text-align: center; }
.idl-install-dialog::backdrop { background: #010309b8; backdrop-filter: blur(8px); }
.idl-install-dialog__close { position: absolute; top: 12px; inset-inline-end: 12px; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--idl-control-line); border-radius: 50%; background: var(--idl-soft); color: var(--idl-text); }
.idl-install-dialog__close svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.idl-install-dialog__brand { width: 96px; height: 96px; margin: 0 auto 22px; border: 1px solid #dfc78c55; border-radius: 24px; background: #010309; box-shadow: 0 6px 30px #dfc78c12; }
.idl-install-dialog__brand img { width: 94px; height: 94px; }
.idl-install-dialog__eyebrow { margin-bottom: 8px; color: var(--idl-teal); font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.idl-install-dialog h2 { margin-bottom: 12px; color: var(--idl-text); font-size: 26px; font-weight: 600; }
.idl-install-dialog > p:not(.idl-install-dialog__eyebrow) { color: var(--idl-muted); font-size: 14px; line-height: 1.7; }
.idl-install-dialog__steps { margin: 24px 0; padding: 18px 18px 18px 38px; border: 1px solid var(--idl-line); border-radius: 14px; background: var(--idl-soft); color: var(--idl-text); text-align: start; font-size: 13px; line-height: 1.7; }
.idl-install-dialog__steps li + li { margin-top: 10px; }
.idl-install-dialog__actions { display: flex; justify-content: center; gap: 10px; }
.idl-install-dialog [hidden] { display: none !important; }
[dir="rtl"] .idl-install-dialog__steps { padding: 18px 38px 18px 18px; }
[dir="rtl"] .idl-install-dialog__eyebrow { letter-spacing: 0; }
html.idl-app-mode body { padding-top: env(safe-area-inset-top); }
html.idl-app-mode .site-navbar { top: env(safe-area-inset-top); }
html.idl-app-mode::before { content: ''; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top); z-index: 100001; background: #010309; pointer-events: none; }
@media (min-width: 992px) and (max-width: 1399.98px) { .idl-install--header { width: 40px; height: 40px; padding: 2px; justify-content: center; } .idl-install--header .idl-install__copy { display: none; } }
@media (prefers-reduced-motion: reduce) { .idl-install { transition: none; } }

/* Source: resources/css/public/company-directory.css */
/* A browsable company index, using the shared light/dark theme tokens. */
.idl-company-page .idl-company-directory :is(h1, h2, h3, h4) { font-family: var(--font-nav) !important; font-weight: 600 !important; letter-spacing: -.025em; }
.idl-company-page .idl-company-directory { padding-block: 2rem 4rem; background: var(--idl-page); scroll-margin-top: 7rem; }
.idl-company-search { display: grid; grid-template-columns: minmax(16rem, 2fr) repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: 1rem; padding: 1.5rem; background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 1rem; }
.idl-company-search label { display: block; min-width: 0; margin: 0; }
.idl-company-search label > span { display: block; margin-bottom: .55rem; color: var(--idl-muted); font-size: .75rem; font-weight: 600; }
.idl-company-page .idl-company-search :is(input[type=search], select) { display: block; width: 100%; min-width: 0; height: 3rem; padding: .65rem .75rem; border: 1px solid var(--idl-control-line); border-radius: .5rem; background: var(--idl-page); color: var(--idl-text); font: inherit; font-size: .8rem; }
.idl-company-page .idl-company-search select { padding-inline-end: 1.5rem; }
.idl-company-search__query > div { position: relative; }
.idl-company-search__query i { position: absolute; inset-inline-start: .85rem; top: 50%; transform: translateY(-50%); color: var(--idl-teal); font-size: .9rem; pointer-events: none; }
.idl-company-page .idl-company-search input[type=search] { padding-inline-start: 2.5rem; }
.idl-company-search input::placeholder { color: var(--idl-muted); opacity: 1; }
.idl-company-search .idl-button { min-height: 3rem; padding-inline: 1.1rem; font-size: .8rem; white-space: nowrap; }
.idl-company-alphabet { display: flex; align-items: center; gap: 1.25rem; margin-block: 1.5rem 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--idl-line); }
.idl-company-alphabet > span { color: var(--idl-muted); font-size: .75rem; flex: 0 0 auto; }
.idl-company-alphabet > div { display: flex; flex-wrap: wrap; gap: .25rem; }
.idl-company-alphabet :is(a, [aria-disabled]) { display: inline-grid; place-items: center; min-width: 2.3rem; min-height: 2.75rem; padding: .35rem; border: 1px solid transparent; border-radius: .45rem; font-size: .8rem; font-weight: 600; text-decoration: none; }
.idl-company-alphabet a { color: var(--idl-text); }
.idl-company-alphabet a:first-child { padding-inline: .75rem; }
.idl-company-alphabet [aria-disabled] { color: var(--idl-muted); opacity: .4; }
.idl-company-alphabet a[aria-current] { background: var(--idl-teal); color: var(--idl-inverse); }
.idl-company-alphabet a:hover { border-color: var(--idl-teal); }
.idl-company-page .idl-company-results { padding: 0; background: transparent; }
.idl-company-results__header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.idl-company-page .idl-company-results__header h2 { margin: 0 0 .4rem; font: 600 1.35rem var(--font-body, sans-serif); color: var(--idl-text); text-transform: none; }
.idl-company-results__header p { margin: 0; color: var(--idl-muted); font-size: .8rem; }
.idl-company-clear { display: inline-flex; align-items: center; gap: .5rem; color: var(--idl-teal); font-size: .8rem; text-decoration: none; min-height: 2.75rem; }
.idl-company-chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0 0 1.5rem; }
.idl-company-chips a { display: inline-flex; align-items: center; gap: .75rem; min-height: 2.75rem; padding: .45rem .75rem; border: 1px solid var(--idl-control-line); border-radius: 100vmax; background: var(--idl-soft); color: var(--idl-text); font-size: .75rem; text-decoration: none; overflow-wrap: anywhere; }
.idl-company-chips a:hover { border-color: var(--idl-teal); }
.idl-company-group { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 1rem; margin-bottom: 1.25rem; }
.idl-company-page .idl-company-group__letter { margin: 1.6rem 0 0; font-size: 1.5rem; color: var(--idl-gold); font-weight: 600; }
.idl-company-rows { min-width: 0; overflow: hidden; border: 1px solid var(--idl-line); border-radius: .9rem; background: var(--idl-surface); }
.idl-company-row { display: grid; grid-template-columns: 5rem minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; padding: 1.5rem; min-width: 0; }
.idl-company-row + .idl-company-row { border-top: 1px solid var(--idl-line); }
.idl-company-row:hover { background: var(--idl-soft); }
.idl-company-row__logo { display: grid; place-items: center; width: 5rem; height: 5rem; padding: .6rem; border: 1px solid var(--idl-line); border-radius: .75rem; background: #fff; color: #102a3a; font-size: 1.6rem; font-weight: 700; text-decoration: none; }
.idl-company-row__logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.idl-company-row__body { min-width: 0; }
.idl-company-page .idl-company-row h4 { margin: 0 0 .6rem; font: 600 1.1rem var(--font-body, sans-serif); line-height: 1.4; text-transform: none; overflow-wrap: anywhere; }
.idl-company-row h4 a { color: var(--idl-text); text-decoration: none; }
.idl-company-row h4 a:hover { color: var(--idl-teal); }
.idl-company-row__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin: 0 0 .7rem; padding: 0; list-style: none; }
.idl-company-row__meta li { display: inline-flex; align-items: center; gap: .4rem; color: var(--idl-muted); font-size: .72rem; }
.idl-company-row__meta .idl-company-row__category { padding: .25rem .6rem; border-radius: .35rem; background: var(--idl-soft); color: var(--idl-teal); font-weight: 600; }
.idl-company-row__body > p { max-width: 48rem; margin: 0; color: var(--idl-muted); font-size: .8rem; line-height: 1.7; overflow-wrap: anywhere; }
.idl-company-row__actions { display: grid; justify-items: end; gap: .7rem; }
.idl-company-row__actions [data-favorite-form] { margin: 0; }
.idl-company-page .idl-company-row .p3-favorite-button { position: static; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin: 0; padding: 0; transform: none; border: 1px solid var(--idl-line); border-radius: 50%; background: var(--idl-surface); color: var(--idl-muted); }
.idl-company-page .idl-company-row .p3-favorite-button:is(:hover, .is-active) { border-color: var(--idl-teal); color: var(--idl-teal); }
.idl-company-row__profile, .idl-company-row__map { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 2.75rem; color: var(--idl-text); font-size: .75rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.idl-company-row__profile { padding: .5rem .85rem; border: 1px solid var(--idl-control-line); border-radius: .5rem; }
.idl-company-row__profile:hover { border-color: var(--idl-teal); color: var(--idl-teal); }
.idl-company-row__map { color: var(--idl-teal); font-weight: 500; }
.idl-company-empty { padding: 3rem 1rem; text-align: center; border: 1px dashed var(--idl-control-line); border-radius: 1rem; background: var(--idl-surface); }
.idl-company-empty > i { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; margin: 0 auto 1.25rem; border-radius: 50%; background: var(--idl-soft); color: var(--idl-teal); }
.idl-company-empty h3 { font-size: 1.3rem; }
.idl-company-empty p { max-width: 30rem; margin: .75rem auto 1.5rem; font-size: .9rem; line-height: 1.7; color: var(--idl-muted); }
.idl-company-page :is(.idl-company-directory, .idl-company-hero) :is(a, button, input, select):focus-visible { outline: 2px solid var(--idl-teal); outline-offset: 4px; }
[dir=rtl] .idl-company-row__profile .fa-arrow-right { transform: scaleX(-1); }
[dir=rtl] .idl-company-page .idl-company-directory :is(h1, h2, h3, h4) { font-family: Cairo, sans-serif !important; letter-spacing: 0; }
@media (max-width: 1199.98px) {
    .idl-company-search { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
    .idl-company-search__query { grid-column: 1 / -1; }
    .idl-company-alphabet { align-items: flex-start; flex-direction: column; gap: .5rem; }
}
@media (max-width: 767.98px) {
    /* The shared listing styles remove container padding on mobile. */
    .idl-company-page .idl-company-directory > .container {
        padding: 0 max(1rem, env(safe-area-inset-right)) 0 max(1rem, env(safe-area-inset-left)) !important;
    }
    .idl-company-search { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; padding: 1rem; }
    .idl-company-search .idl-button { width: 100%; }
    .idl-company-alphabet > div {
        flex-wrap: nowrap;
        width: 100%;
        min-width: 0;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
        padding: .25rem .25rem .5rem;
    }
    .idl-company-alphabet :is(a, [aria-disabled]) { flex: 0 0 auto; min-width: 2.5rem; scroll-snap-align: start; }
    .idl-company-group { grid-template-columns: minmax(0, 1fr); gap: .6rem; }
    .idl-company-page .idl-company-group__letter { margin: .5rem 0 0; font-size: 1.25rem; }
    .idl-company-row { grid-template-columns: 3.75rem minmax(0, 1fr); gap: 1rem; padding: 1rem; align-items: start; }
    .idl-company-row__logo { width: 3.75rem; height: 3.75rem; }
    .idl-company-row__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding-top: .75rem; border-top: 1px solid var(--idl-line); }
    .idl-company-row__actions [data-favorite-form] { margin-inline-start: auto; order: 3; }
    .idl-company-row__profile { flex: 0 1 auto; }
}

/* Source: resources/css/public/account-pages.css */
/* Personal pages share the public theme tokens in both languages. */
.p3-account-page .hub-hero {
    padding-block: clamp(7.5rem, 12vw, 10rem) 2.25rem;
    border-bottom: 0;
}
.p3-account-page .hub-hero h1 { margin-bottom: .85rem; font-size: clamp(2.2rem, 4.5vw, 3.6rem); }
.p3-account-page .hub-hero-lead { max-width: 42rem; margin-bottom: 0; line-height: 1.75; }
.p3-account-page .hub-hero .idl-eyebrow { margin-block: 1.5rem .75rem; }
.p3-account-navigation-wrap { padding-block: .25rem; }
.p3-account-navigation {
    display: flex;
    gap: .4rem;
    overflow-x: auto;
    padding: .5rem;
    background: var(--idl-surface);
    border: 1px solid var(--idl-line);
    border-radius: 1rem;
    scrollbar-width: thin;
    scrollbar-color: var(--idl-control-line) transparent;
}
.p3-account-navigation a {
    display: flex;
    flex: 1 0 auto;
    justify-content: center;
    align-items: center;
    gap: .65rem;
    min-height: 3rem;
    padding: .7rem 1rem;
    border: 1px solid transparent;
    border-radius: .65rem;
    color: var(--idl-muted);
    font-size: .82rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 180ms ease, color 180ms ease;
}
.p3-account-navigation a:is(:hover, .is-active) { color: var(--idl-text); background: var(--idl-soft); }
.p3-account-navigation a.is-active { border-color: var(--idl-control-line); }
.p3-account-navigation a.is-active i { color: var(--idl-gold); }
.p3-account-navigation a:focus-visible { outline: 2px solid var(--idl-teal); outline-offset: -2px; }
.p3-account-page .p3-account-content { padding-block: 2rem clamp(3.5rem, 6vw, 5rem); }

.p3-empty-state {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    min-height: 23rem;
    margin: 0;
    padding: clamp(2.5rem, 5vw, 4rem) 1.5rem;
    overflow: hidden;
    color: var(--idl-text);
    background: radial-gradient(ellipse at 50% 0, rgba(0, 151, 178, .09), transparent 65%), var(--idl-surface);
    border: 1px solid var(--idl-line);
    border-radius: 1.25rem;
    box-shadow: var(--idl-shadow);
    text-align: center;
}
.p3-empty-state[hidden] { display: none !important; }
.p3-empty-state::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 1rem;
    border: 1px dashed var(--idl-line);
    border-radius: .85rem;
    pointer-events: none;
}
.p3-empty-state__icon {
    display: grid;
    place-items: center;
    width: 5rem;
    height: 5rem;
    margin-bottom: .65rem;
    color: var(--idl-gold);
    background: var(--idl-soft);
    border: 1px solid var(--idl-line);
    border-radius: 1.5rem;
    box-shadow: 0 0 0 .6rem var(--idl-surface), 0 0 0 calc(.6rem + 1px) var(--idl-line);
    font-size: 1.85rem;
    transform: rotate(-6deg);
}
.p3-empty-state__icon i { transform: rotate(6deg); }
.p3-empty-state .p3-empty-state__eyebrow { margin: .5rem 0 0; color: var(--idl-gold); font-size: .7rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.p3-empty-state h2 { max-width: 38rem; margin: 0; color: var(--idl-text); font-size: clamp(1.4rem, 2.5vw, 1.85rem); line-height: 1.35; }
.p3-empty-state .p3-empty-state__description { max-width: 32rem; margin: 0; color: var(--idl-muted); font-size: .95rem; line-height: 1.75; }
.p3-empty-state__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: .85rem; }
.p3-empty-state__actions .idl-button { min-height: 2.9rem; }
.p3-account-section-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.25rem; }
.p3-account-section-heading h2 { margin: 0; color: var(--idl-text); font-size: 1.25rem; }
.p3-account-section-heading > span { color: var(--idl-muted); font-size: .8rem; }
.p3-account-records { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1.25rem; }
.p3-account-record, .p3-account-pass { min-width: 0; color: var(--idl-text); background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 1.25rem; box-shadow: var(--idl-shadow); }
.p3-account-record { padding: clamp(1.25rem, 3vw, 2rem); }
.p3-account-record__heading { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.p3-account-record__heading > div { flex: 1 1 10rem; min-width: 0; }
.p3-account-record__heading :is(h2, h3) { margin: 0; color: var(--idl-text); font-size: 1.25rem; line-height: 1.5; overflow-wrap: anywhere; }
.p3-account-record__heading p { margin: .35rem 0 0; color: var(--idl-muted); line-height: 1.7; }
.p3-account-record__heading .idl-card-kicker { margin: 0 0 .35rem; color: var(--idl-gold); font-size: .7rem; }
.p3-account-record__icon { display: grid; flex: 0 0 3rem; place-items: center; height: 3rem; color: var(--idl-gold); background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: .85rem; font-size: 1.15rem; }
.p3-account-status { display: inline-flex; align-items: center; gap: .45rem; max-width: 100%; padding: .4rem .7rem; color: var(--idl-gold-on-soft, var(--idl-gold)); background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: 100vmax; font-size: .7rem; font-weight: 700; overflow-wrap: anywhere; }
.p3-account-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem; margin: 1.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--idl-line); }
.p3-account-details dt { margin-bottom: .4rem; color: var(--idl-muted); font-size: .72rem; font-weight: 500; }
.p3-account-details dd { margin: 0; color: var(--idl-text); font-size: .95rem; font-weight: 600; overflow-wrap: anywhere; text-align: start; }
.p3-account-pass .p3-account-details > div:last-child { grid-column: 1 / -1; }
[dir="rtl"] .p3-account-details dd[dir="ltr"] { text-align: right; }
.p3-account-pass { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .45fr); overflow: hidden; }
.p3-account-pass__main { padding: clamp(1.5rem, 4vw, 3rem); }
.p3-account-pass__actions { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 2rem; border-inline-start: 1px dashed var(--idl-control-line); background: var(--idl-soft); text-align: center; }
.p3-account-pass__actions > i { color: var(--idl-gold); font-size: 2.8rem; }
.p3-account-pass__actions h3 { margin: 0; color: var(--idl-text); font-size: 1.2rem; }
.p3-account-pass__actions p { margin: 0; color: var(--idl-muted); font-size: .85rem; line-height: 1.75; }
.p3-pass-entry-qr { display: block; width: min(100%, 15rem); height: auto; padding: .5rem; background: #fff; border-radius: .75rem; }
.p3-pass-documents { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-top: 1.5rem; }
.p3-pass-document { display: grid; grid-template-rows: auto 1fr auto; min-width: 0; overflow: hidden; background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 1.25rem; }
.p3-pass-document header { display: flex; align-items: center; gap: .75rem; padding: 1.25rem; border-bottom: 1px solid var(--idl-line); }
.p3-pass-document header i { color: var(--idl-gold); }
.p3-pass-document h3 { margin: 0; color: var(--idl-text); font-size: 1.1rem; }
.p3-pass-document__preview { display: grid; place-items: center; min-height: 20rem; padding: 1rem; background: var(--idl-soft); }
.p3-pass-document__preview img { display: block; width: auto; height: auto; max-width: 100%; max-height: 24rem; object-fit: contain; }
.p3-pass-document__downloads { display: flex; flex-wrap: wrap; gap: .75rem; padding: 1.25rem; }
.p3-pass-document__downloads .idl-button { flex: 1 1 auto; }
.p3-pass-document__empty { margin: 0; padding: 2rem 1.25rem; color: var(--idl-muted); }
@media (max-width: 1199.98px) {
    .p3-pass-documents { grid-template-columns: minmax(0, 1fr); }
    .p3-pass-document__preview { min-height: 0; }
}
.p3-account-feed { margin-top: 1.5rem; padding-inline-start: 1rem; border-inline-start: 2px solid var(--idl-control-line); }
.p3-account-feed__entry + .p3-account-feed__entry { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--idl-line); }
.p3-account-feed__entry time { color: var(--idl-muted); font-size: .72rem; }
.p3-account-feed__entry p { margin: .4rem 0 0; color: var(--idl-text); font-size: .9rem; line-height: 1.8; white-space: pre-line; overflow-wrap: anywhere; }
.p3-account-interest-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; margin-block: 1.75rem; }
.p3-account-interest-options > .p3-empty-state { grid-column: 1 / -1; }
.p3-account-interest-options label { display: flex; align-items: center; gap: .7rem; min-height: 3.5rem; margin: 0; padding: 1rem; color: var(--idl-muted); background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: .75rem; font-size: .85rem; cursor: pointer; }
.p3-account-interest-options input { flex-shrink: 0; width: 1.1rem; height: 1.1rem; accent-color: var(--idl-teal); }
.p3-account-interest-options label > span { overflow-wrap: anywhere; }
.p3-account-interest-options label > i { margin-inline-start: auto; color: var(--idl-gold); visibility: hidden; }
.p3-account-interest-options label:has(:checked) { color: var(--idl-text); border-color: var(--idl-control-line); }
.p3-account-interest-options label:has(:checked) > i { visibility: visible; }
.p3-account-interest-options label:has(:focus-visible) { outline: 2px solid var(--idl-teal); outline-offset: 3px; }
.p3-account-notice { color: var(--idl-text); }
.p3-account-page .p3-favorites-welcome { margin-bottom: 1.5rem; padding: 1.5rem; color: var(--idl-text); background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 1rem; }
.p3-account-page .p3-favorites-tools { margin-bottom: 1.5rem; }
.p3-account-page [data-favorites-empty]:not([hidden]) { margin-top: 1.5rem; }
[dir="rtl"] :is(.p3-empty-state__actions, .p3-account-content) .fa-arrow-right { transform: rotate(180deg); }
@media (max-width: 767.98px) {
    .p3-account-page .hub-hero { padding-block: 7rem 1.75rem; }
    .p3-account-navigation a { padding-inline: .85rem; font-size: .78rem; }
    .p3-account-page .p3-account-content { padding-top: 1.5rem; }
    .p3-account-records, .p3-account-pass { grid-template-columns: minmax(0, 1fr); }
    .p3-account-pass__actions { border-inline-start: 0; border-top: 1px dashed var(--idl-control-line); }
    .p3-account-interest-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .p3-empty-state { min-height: 22rem; padding-inline: 1.75rem; }
    .p3-empty-state__actions { width: 100%; }
    .p3-empty-state__actions .idl-button { width: 100%; }
}
@media (max-width: 419.98px) {
    .p3-account-interest-options { grid-template-columns: minmax(0, 1fr); }
    .p3-account-details { gap: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
    .p3-account-navigation a { transition: none; }
}

/* Source: resources/css/public/profile-workspace.css */
/* Desktop workspace navigation and the mobile account overview. */
.p3-profile-workspace .p3-workspace {
    display: grid;
    grid-template-columns: 16.5rem minmax(0, 1fr);
    align-items: start;
    gap: 2rem;
    padding-block: 8rem 5rem;
}
.p3-profile-sidebar {
    position: sticky;
    top: 7rem;
    min-width: 0;
    padding: 1.25rem;
    color: var(--idl-text);
    background: var(--idl-surface);
    border: 1px solid var(--idl-line);
    border-radius: 1.25rem;
}
.p3-profile-identity { padding-bottom: 1.25rem; }
.p3-profile-avatar {
    position: relative;
    isolation: isolate;
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 4.5rem;
    height: 4.5rem;
    overflow: hidden;
    color: var(--idl-gold-on-soft, var(--idl-gold));
    background: linear-gradient(145deg, var(--idl-soft), var(--idl-surface));
    border: 1px solid var(--idl-control-line);
    border-radius: 1.3rem;
    font: 700 1.5rem var(--font-nav, sans-serif);
    letter-spacing: .03em;
}
.p3-profile-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.p3-profile-avatar img[hidden] { display: none !important; }
.p3-account-dropdown > header .p3-profile-avatar { width: 2.65rem; height: 2.65rem; border-radius: .8rem; font-size: 1rem; }
.p3-profile-identity .p3-profile-avatar { margin-bottom: 1rem; }
.p3-profile-identity h2 { margin: .35rem 0; color: var(--idl-text); font: 700 1.15rem var(--font-nav, sans-serif); line-height: 1.5; overflow-wrap: anywhere; }
.p3-profile-identity p { margin: 0; color: var(--idl-muted); font-size: .8rem; line-height: 1.7; overflow-wrap: anywhere; }
.p3-profile-workspace .p3-profile-eyebrow { margin: 0 0 .55rem; color: var(--idl-gold-on-soft, var(--idl-gold)); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.p3-profile-workspace .p3-account-navigation-wrap { width: 100%; max-width: none; padding: 0; }
.p3-profile-workspace .p3-account-navigation { flex-direction: column; gap: .25rem; padding: 0; background: transparent; border: 0; border-radius: 0; }
.p3-profile-workspace .p3-account-navigation a { justify-content: flex-start; gap: .7rem; padding: .7rem .75rem; font-size: .78rem; white-space: normal; }
.p3-profile-workspace .p3-account-navigation a i { width: 1.15rem; text-align: center; }
.p3-profile-signout { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--idl-line); }
.p3-profile-signout button { display: flex; align-items: center; gap: .75rem; width: 100%; min-height: 2.75rem; padding: .5rem .75rem; color: var(--idl-muted); background: transparent; border: 0; text-align: start; font-size: .8rem; }
.p3-workspace-content { min-width: 0; }
.p3-workspace-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.75rem; }
.p3-workspace-header h1 { margin: 0; color: var(--idl-text); font-size: clamp(1.9rem, 3.3vw, 2.9rem); line-height: 1.25; }
.p3-workspace-edition { max-width: 15rem; padding: .65rem .9rem; color: var(--idl-muted); background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: .65rem; font-size: .72rem; line-height: 1.65; }
.p3-workspace-content .p3-account-content { padding: 0; background: transparent; }
.p3-workspace-content .p3-account-content > .container { width: 100%; max-width: none; padding: 0; }
.p3-profile-panel { min-width: 0; margin-bottom: 1.25rem; padding: clamp(1.25rem, 2.5vw, 1.75rem); color: var(--idl-text); background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 1.15rem; }
.p3-profile-panel :is(h2, h3) { color: var(--idl-text); }
.p3-profile-panel h2 { margin: 0; font: 700 1.05rem var(--font-nav, sans-serif); line-height: 1.6; }
.p3-profile-workspace :is(.p3-profile-panel h2, .p3-profile-identity h2), .p3-profile-dialog :is(h2, h3) { font-family: var(--font-nav, sans-serif) !important; font-weight: 700 !important; }
.p3-profile-panel p { color: var(--idl-muted); font-size: .84rem; line-height: 1.8; }
.p3-profile-photo-panel { display: flex; align-items: center; gap: 1.25rem; }
.p3-profile-photo-panel .p3-profile-avatar { width: 5.5rem; height: 5.5rem; font-size: 1.8rem; }
.p3-profile-photo-panel p { margin: .3rem 0 .4rem; }
.p3-profile-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.p3-profile-panel-heading p { margin: .3rem 0 0; }
.p3-profile-panel-heading > i { color: var(--idl-gold); font-size: 1.5rem; }
.p3-profile-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .1rem 1.5rem; margin: 0; }
.p3-profile-field { min-width: 0; padding-block: 1rem; border-top: 1px solid var(--idl-line); }
.p3-profile-field__display { display: flex; align-items: center; justify-content: space-between; gap: .65rem; min-height: 3rem; }
.p3-profile-field__display > div { min-width: 0; }
.p3-profile-field dt { margin-bottom: .35rem; color: var(--idl-muted); font-size: .74rem; font-weight: 500; }
.p3-profile-field dd { margin: 0; color: var(--idl-text); font-size: .9rem; font-weight: 600; overflow-wrap: anywhere; }
.p3-profile-pencil { display: inline-grid; flex: 0 0 2.5rem; place-items: center; width: 2.5rem; height: 2.5rem; color: var(--idl-muted); background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: .7rem; font-size: .78rem; }
.p3-profile-pencil:hover { color: var(--idl-text); border-color: var(--idl-control-line); }
.p3-profile-workspace :is(button, a, input, select):focus-visible, .p3-profile-dialog :is(button, a, input, select):focus-visible { outline: 2px solid var(--idl-teal); outline-offset: 3px; }
.p3-profile-field__editor { margin-top: .75rem; }
.p3-profile-readonly { flex: 0 0 auto; color: var(--idl-muted); font-size: .65rem; }
.p3-profile-verification { display: inline-block; margin-top: .35rem; color: var(--idl-muted); font-size: .67rem; }
.p3-workspace :is(input:not([type="checkbox"],[type="hidden"]), select), .p3-profile-dialog :is(input:not([type="checkbox"],[type="hidden"]), select) { width: 100%; min-width: 0; min-height: 2.85rem; padding: .7rem .85rem; color: var(--idl-text); background: var(--idl-soft); border: 1px solid var(--idl-control-line); border-radius: .65rem; font-size: .85rem; }
.p3-workspace input::placeholder, .p3-profile-dialog input::placeholder { color: var(--idl-muted); opacity: 1; }
.p3-profile-workspace input[type="checkbox"], .p3-profile-dialog input[type="checkbox"] { width: 1.1rem; height: 1.1rem; accent-color: var(--idl-teal); }
.p3-profile-inline-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: .85rem; }
.p3-profile-text-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 2.75rem; padding: .45rem .1rem; color: var(--idl-gold-on-soft, var(--idl-gold)); background: transparent; border: 0; font-size: .8rem; font-weight: 600; text-decoration: none; }
.p3-profile-text-button:hover { color: var(--idl-text); }
.p3-profile-danger { color: #ffb0ad; }
html[data-theme="light"] .p3-profile-danger { color: var(--idl-error); }
.p3-profile-interest-summary { display: flex; flex-wrap: wrap; gap: .55rem; }
.p3-profile-interest-summary > span { padding: .5rem .75rem; color: var(--idl-text); background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: 100vmax; font-size: .76rem; }
.p3-profile-interest-summary p { margin: 0; }
.p3-profile-qr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.p3-profile-qr { display: flex; flex-direction: column; align-items: center; text-align: center; }
.p3-profile-qr > p { margin: .4rem 0 1rem; }
.p3-profile-qr-image { width: min(100%, 12rem); aspect-ratio: 1; margin: .25rem 0 .75rem; padding: .5rem; background: #fff; border: 0; border-radius: .75rem; }
.p3-profile-qr-image img { width: 100%; height: 100%; object-fit: contain; }
.p3-profile-qr-number { margin-top: .25rem; color: var(--idl-muted); font-size: .75rem; overflow-wrap: anywhere; }
.p3-profile-qr-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; }
.p3-profile-qr-placeholder { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; min-height: 12rem; }
.p3-profile-qr-placeholder > i { color: var(--idl-gold); font-size: 2.5rem; }
.p3-profile-qr-placeholder p { max-width: 18rem; }
.p3-profile-qr .idl-button { margin-top: .65rem; }
.p3-profile-dialog { width: min(32rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 1.5rem; overflow-y: auto; color: var(--idl-text); background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 1.15rem; box-shadow: 0 1.5rem 5rem rgba(0,0,0,.3); }
.p3-profile-dialog::backdrop { background: var(--idl-shade); backdrop-filter: blur(4px); }
.p3-profile-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.p3-profile-dialog h2 { margin: 0; color: var(--idl-text); font: 700 1.2rem var(--font-nav, sans-serif); line-height: 1.5; }
.p3-profile-dialog p { color: var(--idl-muted); font-size: .82rem; line-height: 1.8; overflow-wrap: anywhere; }
.p3-profile-dialog label { display: block; margin-block: 1rem .5rem; color: var(--idl-text); font-size: .85rem; }
.p3-profile-dialog form + form { margin-top: 1.25rem; }
.p3-profile-dialog form > .idl-button { margin-top: 1rem; }
.p3-profile-dialog .p3-profile-check { display: flex; align-items: center; gap: .7rem; }
.p3-profile-photo-preview { position: relative; width: 8rem; height: 8rem; margin: 0 auto 1rem; }
.p3-profile-photo-preview .p3-profile-avatar { width: 100%; height: 100%; font-size: 2rem; }
.p3-profile-photo-preview > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 1.3rem; }
.p3-profile-sharing-preview { display: flex; align-items: center; gap: 1rem; padding: 1rem; background: var(--idl-soft); border-radius: .8rem; }
.p3-profile-sharing-preview > div { min-width: 0; overflow-wrap: anywhere; }
.p3-profile-sharing-preview p { margin: .25rem 0 0; }
.p3-profile-qr-dialog { width: min(28rem, calc(100% - 2rem)); }
.p3-profile-qr-dialog > img { display: block; width: 100%; padding: .75rem; background: #fff; border-radius: .75rem; }
.p3-profile-form-status, .p3-workspace-feedback { padding: .75rem 1rem; color: var(--idl-text); background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: .65rem; font-size: .82rem; line-height: 1.7; }
.p3-profile-dialog .p3-profile-form-status { color: var(--idl-text); }
.p3-profile-form-status.is-error, .p3-workspace-feedback.is-error { color: #ffb0ad; }
html[data-theme="light"] :is(.p3-profile-form-status, .p3-workspace-feedback).is-error { color: var(--idl-error); }
[data-workspace-status]:not([hidden]) { position: fixed; z-index: 1100; inset-inline-end: 1rem; bottom: 1rem; max-width: min(30rem, calc(100vw - 2rem)); margin: 0; box-shadow: var(--idl-shadow); }
.p3-profile-filter-bar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(8rem, .65fr) minmax(8rem, .7fr) auto; align-items: end; gap: .75rem; margin-bottom: 1.25rem; }
.p3-profile-filter-bar > div { min-width: 0; }
.p3-profile-filter-bar label { display: block; margin-bottom: .4rem; color: var(--idl-muted); font-size: .75rem; }
.p3-profile-result-count { color: var(--idl-muted); font-size: .8rem; }
.p3-profile-file { display: flex; align-items: start; gap: 1rem; }
.p3-profile-file-copy { flex: 1; min-width: 0; }
.p3-profile-file-copy h2 { overflow-wrap: anywhere; }
.p3-profile-file-copy p { margin: .25rem 0; }
.p3-profile-file-copy small { display: block; margin-bottom: .65rem; color: var(--idl-muted); font-size: .7rem; overflow-wrap: anywhere; }
.p3-profile-file-actions { display: flex; flex: 0 0 auto; flex-direction: column; align-items: center; }
.p3-profile-contacts-tools { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.5rem; }
.p3-profile-contacts-tools form { display: flex; flex: 1; min-width: 0; gap: .65rem; }
.p3-profile-contacts-tools > button { flex: 0 0 auto; }
.p3-profile-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.p3-profile-contact-card { display: flex; flex-direction: column; align-items: flex-start; margin: 0; }
.p3-profile-contact-card h2 { margin-top: 1rem; overflow-wrap: anywhere; }
.p3-profile-contact-card > p { margin: .25rem 0 .8rem; }
.p3-profile-contact-detail { display: flex; align-items: center; gap: .65rem; max-width: 100%; margin-bottom: .5rem; color: var(--idl-text); text-decoration: none; font-size: .82rem; overflow-wrap: anywhere; }
.p3-profile-contact-detail i { color: var(--idl-gold); }
.p3-profile-contact-card > form { margin-top: auto; padding-top: .75rem; }
.p3-profile-camera { position: relative; width: 100%; aspect-ratio: 1; overflow: hidden; background: #000; border-radius: .85rem; }
.p3-profile-camera video { width: 100%; height: 100%; object-fit: cover; }
.p3-profile-scan-preview { padding-block: 1rem; text-align: center; }
.p3-profile-scan-preview h3 { margin-top: 1rem; color: var(--idl-text); font-size: 1.4rem; }
.p3-profile-scan-preview .p3-profile-inline-actions { justify-content: center; }
.p3-profile-invitation { max-width: 34rem; margin-inline: auto; text-align: center; }
.p3-profile-invitation h2 { margin-top: 1rem; font-size: 1.5rem; }
.p3-profile-invitation form { margin-top: 1.25rem; }
.p3-profile-workspace [hidden], .p3-profile-dialog [hidden] { display: none !important; }
.p3-profile-workspace button:disabled, .p3-profile-dialog button:disabled { opacity: .6; cursor: not-allowed; }
[dir="rtl"] .p3-profile-workspace :is(h1,h2,h3), [dir="rtl"] .p3-profile-dialog :is(h2,h3) { font-family: Cairo, sans-serif !important; }
@media (max-width: 1199.98px) {
    .p3-profile-workspace .p3-workspace { grid-template-columns: 14rem minmax(0, 1fr); gap: 1.25rem; }
    .p3-profile-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
    .p3-profile-workspace .p3-workspace { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; padding-top: 7rem; }
    .p3-profile-sidebar { display: none; }
    .p3-profile-identity { display: flex; align-items: center; gap: 1rem; padding-bottom: 1rem; }
    .p3-profile-identity .p3-profile-avatar { width: 3.5rem; height: 3.5rem; margin: 0; border-radius: 1rem; }
    .p3-profile-identity .p3-profile-eyebrow { margin-bottom: .2rem; }
    .p3-profile-workspace .p3-account-navigation { flex-direction: row; overflow-x: auto; padding-block: .25rem; }
    .p3-profile-workspace .p3-account-navigation a { white-space: nowrap; }
    .p3-profile-signout { display: none; }
    .p3-workspace-header { margin-bottom: 1.25rem; }
    .p3-workspace-edition { max-width: none; padding: .4rem .65rem; }
}
/* The overview uses a single comfortable column, including when opened on desktop. */
.p3-profile-workspace .p3-workspace.p3-account-overview { grid-template-columns: minmax(0, 1fr); max-width: 40rem; }
.p3-account-back { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; margin-bottom: 1rem; padding: .5rem .25rem; color: var(--idl-muted); font-size: .85rem; text-decoration: none; }
.p3-account-back:hover { color: var(--idl-text); }
.p3-account-back--mobile { display: none; }
.p3-account-overview .p3-workspace-header h1 { font-size: 1.6rem; }
.p3-account-card-identity { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.p3-account-card-identity > div { min-width: 0; }
.p3-account-card-identity h2 { overflow-wrap: anywhere; }
.p3-account-card-identity p { margin: .25rem 0 0; overflow-wrap: anywhere; }
.p3-account-card-edition { display: none; }
.p3-account-qr-hint { display: flex; align-items: center; justify-content: center; gap: .4rem; margin-top: .55rem; color: var(--idl-muted); font-size: .75rem; line-height: 1.5; }
.p3-account-qr-switch { display: flex; gap: .25rem; padding: .25rem; border: 1px solid var(--idl-line); border-radius: .9rem; background: var(--idl-soft); }
.p3-account-qr-switch button { flex: 1; min-width: 0; min-height: 44px; padding: .6rem .4rem; color: var(--idl-muted); background: transparent; border: 1px solid transparent; border-radius: .65rem; font: 600 .85rem/1.5 var(--font-nav, sans-serif); }
.p3-account-qr-switch button[aria-pressed="true"] { color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-control-line); }
.p3-account-qr-switch button { display: flex; align-items: center; justify-content: center; gap: .5rem; }
.p3-account-qr-panel { padding-top: 1.25rem; text-align: center; }
.p3-account-qr-panel .p3-profile-qr-image { display: block; width: min(100%, 13rem); margin-inline: auto; }
.p3-account-qr-panel p { margin: .75rem 0 .25rem; }
.p3-account-qr-panel .p3-profile-text-button { justify-content: center; min-height: 44px; gap: .65rem; }
.p3-account-qr-empty { display: grid; place-content: center; min-height: 13rem; padding: 1rem; border: 1px dashed var(--idl-control-line); border-radius: .85rem; background: var(--idl-soft); }
.p3-account-qr-empty > i { color: var(--idl-muted); font-size: 2rem; }
.p3-account-option-list { overflow: hidden; background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 1.15rem; }
.p3-profile-workspace .p3-account-option-list .p3-account-navigation { flex-direction: column; gap: 0; overflow: visible; padding: .25rem .75rem; }
.p3-profile-workspace .p3-account-option-list .p3-account-navigation a { min-height: 60px; margin: 0; padding: .85rem .25rem; border-radius: 0; font-size: .9rem; white-space: normal; }
.p3-account-option-list .p3-account-navigation a + a { border-top: 1px solid var(--idl-line); }
.p3-account-option-list .p3-account-navigation a > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.p3-account-option-list .p3-account-option-chevron { margin-inline-start: auto; color: var(--idl-muted); font-size: .7rem; }
.p3-account-overview-signout { display: block; margin-top: 1.25rem; }
.p3-account-overview-signout button { min-height: 48px; font-size: .9rem; }
.p3-account-overview :is(a, button):focus-visible, .p3-account-back:focus-visible { outline: 2px solid var(--idl-teal); outline-offset: 3px; }
.p3-account-option-list a:focus-visible { outline-offset: -2px; }
[dir="rtl"] .p3-account-back i, [dir="rtl"] .p3-account-overview .fa-chevron-right { transform: rotate(180deg); }
#contact-qr-heading { scroll-margin-top: 8rem; }
@media (max-width: 991.98px) {
    .p3-account-back--mobile { display: inline-flex; }
}
@media (max-width: 767.98px) {
    .p3-profile-fields, .p3-profile-qr-grid, .p3-profile-contact-grid { grid-template-columns: minmax(0, 1fr); }
    .p3-profile-photo-panel { gap: 1rem; }
    .p3-profile-photo-panel .p3-profile-avatar { width: 4rem; height: 4rem; }
    .p3-profile-workspace .p3-account-pass { grid-template-columns: minmax(0, 1fr); }
    .p3-profile-contacts-tools { flex-wrap: wrap; }
    .p3-profile-contacts-tools > button { width: 100%; }
    .p3-profile-dialog { padding: 1.25rem; }
    .p3-profile-file { flex-wrap: wrap; }
    .p3-profile-file-copy { flex: 1 1 calc(100% - 4rem); }
    .p3-profile-file-actions { width: 100%; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; gap: .75rem; }
}
@media (max-width: 419.98px) {
    .p3-profile-workspace .p3-workspace { padding-top: 6.5rem; }
    .p3-profile-filter-bar { grid-template-columns: minmax(0, 1fr); }
    .p3-profile-photo-panel { align-items: start; }
    .p3-profile-workspace .p3-empty-state { padding-inline: 1.5rem; }
}
@media (max-width: 991.98px) {
    .p3-profile-workspace .p3-workspace { padding-top: calc(5.5rem + env(safe-area-inset-top, 0px)); padding-bottom: calc(2.5rem + env(safe-area-inset-bottom, 0px)); }
    .p3-profile-workspace .p3-workspace.container { padding-inline: 16px !important; }
    .p3-account-toolbar { display: flex; align-items: flex-start; gap: .85rem; margin-bottom: 1rem; }
    .p3-account-toolbar .p3-account-back { display: inline-flex; flex: 0 0 44px; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 1px solid var(--idl-line); border-radius: .85rem; background: var(--idl-surface); color: var(--idl-text); }
    .p3-account-back-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
    .p3-account-toolbar .p3-workspace-header { flex: 1; display: block; min-width: 0; margin: 0; padding-block: .5rem; }
    .p3-account-toolbar .p3-workspace-header h1 { font-family: var(--font-nav, sans-serif) !important; font-size: 20px; font-weight: 700 !important; line-height: 1.4; overflow-wrap: anywhere; }
    [dir="rtl"] .p3-account-toolbar .p3-workspace-header h1 { font-family: Cairo, sans-serif !important; }
    .p3-account-toolbar .p3-profile-eyebrow { display: none; }
    .p3-account-toolbar .p3-workspace-edition { display: inline-block; max-width: 100%; margin-top: .4rem; padding: .25rem .5rem; font-size: .7rem; }
    .p3-account-overview .p3-account-toolbar .p3-workspace-edition { display: none; }
    .p3-account-overview .p3-account-card { padding: 1rem; margin-bottom: 1rem; border-radius: 1.25rem; }
    .p3-account-card-identity { align-items: flex-start; gap: .8rem; margin-bottom: 1rem; }
    .p3-account-card-identity .p3-profile-avatar { width: 3.5rem; height: 3.5rem; border-radius: 1rem; font-size: 1.15rem; }
    .p3-account-card-identity > div { flex: 1; }
    .p3-account-card-identity .p3-profile-eyebrow { display: none; }
    .p3-account-card-identity h2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 16px; line-height: 1.45; }
    .p3-account-card-identity [data-profile-title] { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
    .p3-account-card-identity .p3-account-card-edition { display: block; margin-top: .4rem; font-size: .72rem; line-height: 1.5; }
    .p3-account-qr-switch button { min-height: 48px; gap: 6px; font-size: 14px; }
    .p3-account-qr-hint { font-size: 12px; }
    .p3-account-qr-panel { display: grid; grid-template-columns: clamp(136px, 42vw, 168px) minmax(0, 1fr); align-items: center; gap: .85rem; padding-top: 1rem; text-align: start; }
    .p3-account-qr-preview, .p3-account-qr-details { min-width: 0; }
    .p3-account-overview .p3-account-qr-panel .p3-profile-qr-image { width: 100%; margin: 0; padding: .5rem; border-radius: .85rem; }
    .p3-account-qr-details p { margin: .5rem 0; font-size: 14px; line-height: 1.6; }
    .p3-account-qr-details .p3-profile-qr-number { display: block; margin: 0; font-size: 12px; line-height: 1.5; }
    .p3-account-qr-details .p3-profile-text-button { justify-content: flex-start; width: 100%; min-height: 44px; padding-block: .5rem; gap: 6px; font-size: 14px; line-height: 1.5; }
    .p3-account-qr-panel--empty { grid-template-columns: 56px minmax(0, 1fr); min-height: 7rem; }
    .p3-account-qr-empty { min-height: 56px; height: 56px; padding: .5rem; border-style: solid; border-radius: .85rem; }
    .p3-account-qr-empty > i { font-size: 1.4rem; }
    .p3-profile-workspace .p3-account-option-list .p3-account-navigation { padding: .25rem .75rem; }
    .p3-profile-workspace .p3-account-option-list .p3-account-navigation a { position: relative; gap: .8rem; min-height: 60px; padding: .65rem .25rem; color: var(--idl-text); font-size: 16px; line-height: 1.45; }
    .p3-account-option-list .p3-account-navigation a > i:first-child { display: grid; flex: 0 0 36px; place-items: center; width: 36px; height: 36px; border: 1px solid var(--idl-line); border-radius: .65rem; background: var(--idl-soft); color: var(--idl-gold-on-soft, var(--idl-gold)); font-size: .9rem; }
    .p3-account-option-list .p3-account-navigation a + a { border-top: 0; }
    .p3-account-option-list .p3-account-navigation a + a::after { content: ''; position: absolute; top: 0; inset-inline-start: 3.3rem; inset-inline-end: .25rem; height: 1px; background: var(--idl-line); }
    .p3-account-overview-signout { padding: 0; margin-top: 1rem; border: 1px solid var(--idl-line); border-radius: 1rem; background: var(--idl-surface); }
    .p3-account-overview-signout button { min-height: 56px; padding: .75rem 1rem; gap: .8rem; border-radius: 1rem; color: var(--idl-text); font-size: 16px; }
    .p3-account-overview-signout button:hover { background: var(--idl-soft); }
    .p3-account-overview-signout button > i { width: 36px; text-align: center; color: var(--idl-muted); }
    .p3-profile-workspace .p3-workspace :is(input:not([type="checkbox"], [type="hidden"]), select, textarea), .p3-profile-dialog :is(input:not([type="checkbox"], [type="hidden"]), select, textarea) { font-size: 16px; }
    .p3-profile-dialog .p3-profile-check { min-height: 44px; }
    .p3-profile-workspace .p3-profile-pencil, .p3-profile-dialog .p3-profile-pencil { flex-basis: 44px; width: 44px; height: 44px; }
    .p3-profile-dialog { max-height: calc(100dvh - 2rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); }
}

/* Source: resources/css/public/expo-planner.css */
.idl-registration-completion { color: var(--idl-text); }
.idl-registration-completion fieldset { margin-block: 1.5rem; }
.idl-registration-completion legend { margin-bottom: 1rem; color: var(--idl-text); font-size: 1rem; font-weight: 600; }
.idl-registration-completion > .idl-button { margin-top: 1.25rem; }
.idl-registration-saved { padding: 0; background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 1rem; overflow: hidden; }
.idl-registration-saved summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; color: var(--idl-text); font: 700 .9rem var(--font-nav); cursor: pointer; list-style: none; }
.idl-registration-saved summary::-webkit-details-marker { display: none; }
.idl-registration-saved summary span { display: inline-flex; align-items: center; gap: .6rem; }
.idl-registration-saved summary span i { color: var(--idl-teal); }
.idl-registration-saved summary > i { color: var(--idl-muted); font-size: .75rem; transition: transform 180ms ease; }
.idl-registration-saved[open] summary > i { transform: rotate(180deg); }
.idl-registration-saved summary:focus-visible { outline: 2px solid var(--idl-teal); outline-offset: -3px; }
.idl-registration-saved__content { padding: 0 1.25rem 1.25rem; border-top: 1px solid var(--idl-line); }
.idl-registration-saved__content > p { margin: 1rem 0; color: var(--idl-muted); font-size: .82rem; line-height: 1.6; }
.idl-registration-saved dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-block: 1rem; }
.idl-registration-saved dt { color: var(--idl-muted); font-size: .75rem; font-weight: 500; }
.idl-registration-saved dd { margin: .3rem 0 0; color: var(--idl-text); font-size: .9rem; overflow-wrap: anywhere; }
.idl-registration-ready { display: flex; align-items: center; gap: .75rem; padding: 1rem; margin-top: 1.5rem; color: var(--idl-gold-on-soft,var(--idl-gold)); background: var(--idl-soft); border-radius: .75rem; }
.idl-registration-completion .register-consent span { color: var(--idl-muted) !important; }
.idl-registration-completion .register-consent a { color: var(--idl-gold-on-soft,var(--idl-gold)) !important; }
.p3-completion-body .idl-registration-completion fieldset { min-width: 0; padding: 1.5rem 0 0; margin: 1.5rem 0 0; border: 0; border-top: 1px solid var(--idl-line); }
.p3-completion-body .idl-registration-completion legend { padding: 0 .5rem 0 0; color: var(--idl-text); font-size: 1rem; font-weight: 700; }
.p3-completion-body .idl-registration-saved dl { gap: .7rem 1.5rem; }
.p3-completion-body .idl-field label { color: var(--idl-muted); font-size: .72rem; letter-spacing: .04em; }
.p3-completion-body .idl-field :is(input,select) { min-height: 3rem; color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-control-line); border-radius: .7rem; }
.p3-completion-body .idl-field select option { color: var(--idl-text); background: var(--idl-surface); }
.idl-registration-interests__intro { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .5rem 1rem; margin: -.35rem 0 1rem; }
.idl-registration-interests__intro p { margin: 0; color: var(--idl-muted); font-size: .82rem; line-height: 1.5; }
.idl-registration-interests__count { display: inline-flex; align-items: center; gap: .5rem; color: var(--idl-muted); font-size: .72rem; }
.idl-registration-interests__count output { min-width: 3.4rem; padding: .3rem .5rem; color: var(--idl-teal); background: var(--idl-soft); border: 1px solid var(--idl-control-line); border-radius: 100vmax; font-weight: 700; text-align: center; }
.idl-registration-interests__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.idl-registration-interest { position: relative; display: flex; align-items: center; gap: .65rem; min-height: 4rem; margin: 0; padding: .75rem; color: var(--idl-text); background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: .8rem; cursor: pointer; transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease; }
.idl-registration-interest:hover { border-color: var(--idl-teal); transform: translateY(-2px); }
.idl-registration-interest:has(input:checked) { background: var(--idl-soft); border-color: var(--idl-teal); box-shadow: inset 0 0 0 1px var(--idl-teal); }
.idl-registration-interest:focus-within { outline: 2px solid var(--idl-teal); outline-offset: 2px; }
.idl-registration-interest input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.idl-registration-interest__number { flex: 0 0 auto; color: var(--idl-muted); font-size: .68rem; font-weight: 700; }
.idl-registration-interest__name { min-width: 0; flex: 1; overflow-wrap: anywhere; font-size: .8rem; font-weight: 650; line-height: 1.35; }
.idl-registration-interest__check { display: grid; flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; place-items: center; color: transparent; border: 1px solid var(--idl-control-line); border-radius: 50%; font-size: .62rem; }
.idl-registration-interest:has(input:checked) .idl-registration-interest__check { color: var(--idl-inverse); background: var(--idl-teal); border-color: var(--idl-teal); }
.idl-registration-interests__error { margin: .75rem 0 0; color: #ef8390; font-size: .78rem; }
.idl-registration-interests__error[hidden] { display: none; }
.p3-completion-body .idl-registration-actions { position: sticky; bottom: calc(-1 * var(--completion-pad)); z-index: 1; display: grid; grid-template-columns: 1fr auto; gap: .75rem 1.25rem; align-items: center; margin: 1.5rem calc(-1 * var(--completion-pad)) calc(-1 * var(--completion-pad)); padding: 1rem var(--completion-pad) calc(1rem + env(safe-area-inset-bottom)); background: var(--idl-surface); border-top: 1px solid var(--idl-line); box-shadow: 0 -.75rem 1.5rem rgba(0,0,0,.12); }
.p3-completion-body .idl-registration-ready { grid-column: 1 / -1; margin: 0; padding: .7rem .85rem; font-size: .8rem; }
.p3-completion-body .register-consent { margin: 0; }
.p3-completion-body .idl-registration-actions > .idl-button { min-height: 3rem; margin: 0; white-space: nowrap; }
.p3-completion-body [data-registration-status] { grid-column: 1 / -1; margin: 0; }
.p3-completion-body [data-registration-status]:empty { display: none; }
@media (max-width: 42rem) { .idl-registration-interests__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .p3-completion-body .idl-registration-actions { grid-template-columns: 1fr; } .p3-completion-body .idl-registration-actions > .idl-button { width: 100%; justify-content: center; } }
@media (max-width: 36rem) { .p3-completion-body .idl-form-grid, .p3-completion-body .idl-registration-saved dl { grid-template-columns: 1fr; } .idl-registration-interests__grid { grid-template-columns: 1fr; } }
.expo-open-plan[hidden] { display: none !important; }
.p3-favorite-button--header + .expo-open-plan { display: block; margin-top: .5rem; font-size: .75rem; }
/* The planner uses the account theme and keeps map and visit actions together. */
.expo-planner { color: var(--idl-text); }
.expo-plan-intro { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; margin-bottom: 1.25rem; }
.expo-plan-intro p { flex: 1 1 20rem; margin: 0; color: var(--idl-muted); font-size: .85rem; line-height: 1.8; }
.expo-plan-browse { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; color: var(--idl-gold-on-soft,var(--idl-gold)); font-size: .8rem; font-weight: 600; text-decoration: none; }
.expo-plan-browse:hover { color: var(--idl-text); }
.expo-plan-overview { overflow: hidden; background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 1rem; }
.expo-plan-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding: 1.15rem 0; }
.expo-plan-stats > div { display: grid; grid-template-rows: 1fr auto; gap: .4rem; padding-inline: 1.4rem; }
.expo-plan-stats > div + div { border-inline-start: 1px solid var(--idl-line); }
.expo-plan-stats dt { display: flex; align-items: center; gap: .5rem; color: var(--idl-muted); font-size: .75rem; font-weight: 500; }
.expo-plan-stats dt i { color: var(--idl-gold-on-soft,var(--idl-gold)); }
.expo-plan-stats dd { margin: 0; color: var(--idl-text); font: 700 1.8rem var(--font-nav); line-height: 1.2; }
.expo-plan-completion { display: flex; align-items: center; gap: 1.25rem; padding: .85rem 1.4rem; background: var(--idl-soft); border-top: 1px solid var(--idl-line); }
.expo-plan-completion > span { flex: 0 0 auto; color: var(--idl-muted); font-size: .75rem; }
.expo-plan-completion progress { appearance: none; display: block; flex: 1; width: 100%; min-width: 0; min-height: .4rem; height: .4rem; overflow: hidden; border: 0; border-radius: 100vmax; background: var(--idl-line); color: var(--idl-teal); }
.expo-plan-completion progress::-webkit-progress-bar { background: var(--idl-line); border-radius: 100vmax; }
.expo-plan-completion progress::-webkit-progress-value { background: var(--idl-teal); border-radius: 100vmax; }
.expo-plan-completion progress::-moz-progress-bar { background: var(--idl-teal); border-radius: 100vmax; }
.expo-plan-controls { margin-block: 1.25rem; padding: 1.15rem 1.4rem; background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 1rem; }
.expo-plan-controls-heading { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; min-height: 2.75rem; cursor: pointer; list-style: none; }
.expo-plan-controls-heading::-webkit-details-marker { display: none; }
.expo-plan-controls[open] .expo-plan-controls-heading { margin-bottom: .75rem; }
.expo-planner .expo-plan-controls-title { display: flex; flex: 1; align-items: center; gap: .6rem; color: var(--idl-text); font: 700 .95rem var(--font-nav); }
.expo-plan-controls-title i { color: var(--idl-gold-on-soft,var(--idl-gold)); }
.expo-plan-controls-chevron { color: var(--idl-muted); font-size: .7rem; }
.expo-plan-controls[open] .expo-plan-controls-chevron { transform: rotate(180deg); }
.expo-plan-mode { padding: .4rem .65rem; color: var(--idl-gold-on-soft,var(--idl-gold)); background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: 100vmax; font-size: .68rem; }
.expo-plan-controls-fields { display: flex; align-items: end; flex-wrap: wrap; gap: .75rem; }
.expo-plan-controls-fields > div { flex: 1 1 14rem; min-width: 0; }
.expo-plan-controls label { display: block; margin-bottom: .45rem; color: var(--idl-muted); font-size: .75rem; }
.expo-planner .expo-plan-controls .idl-button { min-height: 2.85rem; gap: .6rem; padding: .75rem 1rem; border-radius: .65rem; font-size: .75rem; }
.expo-plan-controls > p { margin: .8rem 0 0; color: var(--idl-muted); font-size: .73rem; line-height: 1.7; }
.expo-plan-view-switch { display: none; }
.expo-planner-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.7fr); align-items: start; gap: 1.25rem; }
.expo-plan-map { min-width: 0; scroll-margin-top: 7rem; }
.expo-planner .expo-map--planner { margin: 0; padding: 1.25rem; color: var(--idl-text); background: var(--idl-surface) !important; border: 1px solid var(--idl-line); border-radius: 1rem; }
.expo-planner .expo-map--planner > .container { width: 100%; max-width: none; padding: 0; }
.expo-planner .expo-map--planner .expo-map-heading { margin-bottom: 1rem; }
.expo-planner .expo-map--planner .expo-map-heading h2 { margin: 0; color: var(--idl-text); font: 700 1.05rem var(--font-nav) !important; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.expo-planner .expo-map--planner .expo-map-heading p, .expo-planner .expo-map--planner .expo-map-venue { display: none; }
.expo-planner .expo-map--planner .expo-map-workspace { display: flex; flex-direction: column; gap: 1rem; }
.expo-planner .expo-map--planner .expo-map-canvas { min-height: 0; }
.expo-planner .expo-map--planner .expo-map-stage { height: clamp(21rem,32vw,29rem); min-height: 0; }
.expo-planner .expo-map--planner .expo-map-stage > svg { width: 100%; height: 100%; aspect-ratio: auto; }
.expo-planner .expo-map--planner .expo-map-sidebar { display: block; width: 100%; max-height: none; padding: 0; background: var(--idl-soft); border-radius: .75rem; }
.expo-planner .expo-map--planner .expo-map-results { display: none; }
.expo-planner .expo-map--planner.is-searching .expo-map-results { display: block; max-height: 14rem; overflow-y: auto; margin-bottom: 1rem; background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: .75rem; }
.expo-planner .expo-map--planner .expo-map-results > p { margin: 0; padding: .75rem 1rem; color: var(--idl-muted); font-size: .75rem; }
.expo-planner .expo-map--planner .expo-map-results :is(a,button) { min-height: 2.75rem; }
.expo-planner .expo-map--planner [data-expo-details] { padding: 1rem; }
.expo-planner .expo-map--planner [data-expo-details] > img { float: inline-start; width: 3rem; height: 3rem; object-fit: contain; margin-inline-end: .75rem; }
.expo-planner .expo-map--planner [data-expo-details] h3 { color: var(--idl-text); font: 700 .95rem var(--font-nav) !important; line-height: 1.6; }
.expo-planner .expo-map--planner .expo-map-toolbar { flex-wrap: wrap; gap: .75rem; margin-bottom: 1rem; }
.expo-planner .expo-map--planner .expo-map-search { min-width: 0; flex-basis: 100%; max-width: none; padding: 0 .85rem; }
.expo-planner .expo-map--planner .expo-map-search input { min-height: 2.85rem; padding: .7rem 0; border: 0; border-radius: 0; background: transparent; font-size: .8rem; box-shadow: none; }
.expo-planner .expo-map--planner .expo-map-controls button { min-width: 2.75rem; min-height: 2.75rem; padding: .5rem .75rem; font-size: .8rem; }
.expo-planner .expo-map--planner .expo-map-legend { flex-wrap: wrap; gap: .6rem 1rem; padding: .75rem; font-size: .65rem; line-height: 1.5; }
.expo-plan-route-label { display: flex; align-items: center; gap: .5rem; color: var(--idl-muted); font-size: .7rem; margin: .85rem .25rem 0; line-height: 1.7; }
.expo-plan-route-label > span { flex: 0 0 1.5rem; height: 3px; background: var(--idl-gold); }
.expo-plan-line { fill: none; stroke: #c99a4b; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.expo-plan-line.is-complete { opacity: .45; stroke-dasharray: 5 5; }
.expo-plan-pin circle { fill: #c99a4b; stroke: #102a3a; stroke-width: 2; }
.expo-plan-pin text { fill: #102a3a; font: 700 13px var(--font-nav); }
.expo-plan-pin.is-visited circle { fill: #b0e4ca; }
.expo-map--planner .expo-booth.is-planned polygon { stroke: #c99a4b; stroke-width: 2.5; }
.expo-plan-timeline-panel { min-width: 0; padding: 1.25rem; background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 1rem; }
.expo-plan-timeline-panel > header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.expo-plan-eyebrow { margin: 0 0 .4rem; color: var(--idl-gold-on-soft,var(--idl-gold)); font-size: .64rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.expo-planner .expo-plan-timeline-panel h2 { margin: 0; color: var(--idl-text); font: 700 1.05rem var(--font-nav) !important; line-height: 1.6; }
.expo-plan-list-count { display: grid; flex: 0 0 2rem; height: 2rem; place-items: center; color: var(--idl-gold-on-soft,var(--idl-gold)); background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: .65rem; font-size: .8rem; font-weight: 700; }
.expo-plan-timeline-help { margin: .6rem 0 1.15rem; color: var(--idl-muted); font-size: .73rem; line-height: 1.7; }
.expo-plan-timeline { display: grid; gap: .75rem; list-style: none; padding: 0; margin: 0; }
.expo-plan-timeline > li { display: flex; gap: .75rem; padding: 1rem .85rem; background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: .85rem; }
.expo-plan-timeline > li.is-next { border-color: var(--idl-gold); background: linear-gradient(135deg,var(--idl-soft),var(--idl-surface)); }
.expo-plan-stop-number { display: grid; flex: 0 0 1.85rem; height: 1.85rem; place-items: center; color: var(--idl-gold-on-soft,var(--idl-gold)); background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: .65rem; font-size: .8rem; font-weight: 700; }
.expo-plan-stop-main { min-width: 0; flex: 1; }
.expo-plan-next { display: block; margin-bottom: .35rem; color: var(--idl-gold-on-soft,var(--idl-gold)); font-size: .64rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.expo-plan-stop-focus { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; width: 100%; min-height: 2rem; padding: 0; text-align: start; color: var(--idl-text); background: transparent; border: 0; font-size: .85rem; font-weight: 700; line-height: 1.6; overflow-wrap: anywhere; }
.expo-plan-stop-focus i { flex: 0 0 auto; color: var(--idl-gold-on-soft,var(--idl-gold)); font-size: .75rem; }
.expo-plan-stop-focus:hover:not(:disabled) { color: var(--idl-gold-on-soft,var(--idl-gold)); }
.expo-plan-stop-main > p { color: var(--idl-muted); font-size: .73rem; margin: .15rem 0 .65rem; }
.expo-plan-stop-main > label { display: block; color: var(--idl-muted); font-size: .73rem; margin-bottom: .5rem; }
.expo-plan-stop-main select { width: 100%; margin-top: .35rem; padding: .5rem; color: var(--idl-text); background: var(--idl-soft); border: 1px solid var(--idl-control-line); border-radius: .5rem; }
.expo-plan-stop-main .expo-plan-visited { display: inline-flex; align-items: center; gap: .5rem; color: var(--idl-text); min-height: 2.75rem; margin: 0; cursor: pointer; }
.expo-plan-visited input { accent-color: var(--idl-teal); }
.expo-plan-stop-main details { margin-top: .2rem; }
.expo-plan-stop-main summary { color: var(--idl-muted); font-size: .75rem; min-height: 2.75rem; padding-block: .75rem; cursor: pointer; }
.expo-plan-stop-main summary i { margin-inline-start: .5rem; color: var(--idl-gold-on-soft,var(--idl-gold)); font-size: .65rem; }
.expo-plan-stop-main textarea { display: block; width: 100%; resize: vertical; padding: .75rem; color: var(--idl-text); background: var(--idl-soft); border: 1px solid var(--idl-control-line); border-radius: .5rem; font: .8rem/1.7 var(--font-nav); }
.expo-plan-stop-main textarea::placeholder { color: var(--idl-muted); opacity: 1; }
.expo-plan-stop-actions { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-top: .6rem; margin-top: .25rem; border-top: 1px solid var(--idl-line); }
.expo-plan-reorder { display: flex; gap: .4rem; }
.expo-plan-reorder > button, .expo-plan-remove { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; color: var(--idl-muted); background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: .6rem; font-size: .75rem; }
.expo-plan-remove { background: transparent; }
.expo-plan-reorder > button:hover:not(:disabled), .expo-plan-remove:hover { color: var(--idl-text); border-color: var(--idl-control-line); }
.expo-plan-text-button { color: var(--idl-gold-on-soft,var(--idl-gold)); min-height: 2.75rem; padding: .4rem 0; background: transparent; border: 0; font-size: .75rem; font-weight: 600; }
.expo-plan-timeline > li.is-visited .expo-plan-stop-number { color: var(--idl-text); background: var(--idl-soft); }
.expo-plan-timeline > li.is-visited .expo-plan-booth { color: var(--idl-muted); }
.expo-plan-bookmark-note { display: flex; align-items: baseline; gap: .5rem; margin: 1rem 0 0; color: var(--idl-muted); font-size: .67rem; line-height: 1.8; }
.expo-planner button:disabled, .expo-planner select:disabled { opacity: .5; cursor: not-allowed; }
.expo-plan-status { padding: .85rem 1rem; margin-bottom: 1.25rem; color: var(--idl-text); background: var(--idl-soft); border: 1px solid var(--idl-line); border-inline-start: 3px solid var(--idl-teal); border-radius: .65rem; font-size: .8rem; }
.expo-plan-status.is-error { color: #ffb0ad; border-inline-start-color: currentColor; }
html[data-theme="light"] .expo-plan-status.is-error { color: var(--idl-error); }
.expo-plan-empty { padding: 2rem .5rem; color: var(--idl-muted); text-align: center; font-size: .8rem; line-height: 1.8; }
.expo-plan-empty > span { display: inline-grid; place-items: center; width: 3.5rem; height: 3.5rem; margin-bottom: .75rem; color: var(--idl-gold-on-soft,var(--idl-gold)); background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: 1rem; font-size: 1.35rem; }
.expo-planner .expo-plan-empty h3 { margin: .5rem 0; color: var(--idl-text); font: 700 1.1rem var(--font-nav) !important; line-height: 1.6; }
.expo-plan-empty p { margin-bottom: 1.25rem; }
.expo-planner [hidden] { display: none !important; }
.expo-planner :is(button,a,input,textarea,select,summary):focus-visible { outline: 2px solid var(--idl-teal); outline-offset: 3px; }
@media (max-width: 1199.98px) { .expo-planner-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 767.98px) {
    .idl-registration-saved dl { grid-template-columns: minmax(0,1fr); }
    .expo-plan-stats > div { padding-inline: .85rem; }
    .expo-plan-stats dt { flex-direction: column; align-items: start; gap: .4rem; font-size: .7rem; }
    .expo-plan-stats dd { font-size: 1.5rem; }
    .expo-plan-completion { flex-direction: column; align-items: stretch; gap: .65rem; padding: .85rem; }
    .expo-plan-completion progress { flex: none; }
    .expo-plan-controls { padding: 1rem; }
    .expo-plan-controls-fields > .idl-button { width: 100%; }
    .expo-planner .expo-map--planner, .expo-plan-timeline-panel { padding: 1rem; }
    .expo-planner .expo-map--planner .expo-map-stage { height: 22rem; }
    .expo-plan-view-switch { display: flex; gap: .4rem; padding: .35rem; margin-block: 1.25rem; background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: .85rem; }
    .expo-plan-view-switch button { display: flex; flex: 1; align-items: center; justify-content: center; gap: .5rem; min-height: 2.75rem; padding: .5rem; border: 1px solid transparent; border-radius: .6rem; color: var(--idl-muted); background: transparent; font-size: .8rem; font-weight: 600; }
    .expo-plan-view-switch button[aria-pressed="true"] { color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-line); box-shadow: var(--idl-shadow); }
    .expo-plan-view-switch button > span { color: var(--idl-gold-on-soft,var(--idl-gold)); font-size: .7rem; }
    .expo-planner[data-plan-enhanced][data-plan-view="timeline"] .expo-plan-map, .expo-planner[data-plan-enhanced][data-plan-view="map"] .expo-plan-timeline-panel { display: none; }
}
[dir="rtl"] :is(.idl-registration-saved h2,.expo-planner h2,.expo-planner h3,.expo-plan-controls-title,.expo-plan-stop-main textarea) { font-family: Cairo,sans-serif !important; }

/* Source: resources/css/public/home-mascots.css */
/* A single viewport: copy and actions beside the cast, ticker at the bottom. */
html[data-theme] body[class].home-page .hero.hero--scene {
    display: flex;
    flex-direction: column;
    height: 100svh;
    min-height: 100svh;
    padding: 0;
}
html[data-theme] body[class].home-page .hero--scene .hero-content {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    padding-block: 7.5rem 1.5rem;
}
.hero-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    grid-template-areas: 'copy scene' 'panel scene';
    align-content: center;
    align-items: start;
    gap: 1.5rem clamp(2rem, 4vw, 4rem);
    width: 100%;
    min-height: 0;
}
.hero-copy-column { grid-area: copy; min-width: 0; }
html[data-theme] body[class].home-page .hero--scene .hero-copy {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    text-align: start;
}
html[data-theme] body[class].home-page .hero--scene .hero-kicker {
    margin: 0 0 .75rem;
    font-size: clamp(.75rem, 1.1vw, 1rem);
    line-height: 1.4;
    letter-spacing: .2em;
}
html[data-theme] body[class].home-page .hero--scene h1 {
    font-size: clamp(3rem, min(7vw, 10svh), 7.25rem);
    line-height: .96;
}
html[data-theme] body[class].home-page .hero--scene .country-title {
    justify-content: flex-start;
    gap: .75rem;
    margin-top: 1rem;
}
html[data-theme] body[class].home-page .hero--scene .country-title b {
    font-size: clamp(1rem, 1.7vw, 1.6rem);
    letter-spacing: .2em;
}
html[data-theme] body[class].home-page .hero--scene .country-title span { width: 1.75rem; }
html[data-theme] body[class].home-page .hero--scene .hero-subtitle {
    width: 100%;
    max-width: 30rem;
    margin: 1rem 0 0;
    font-size: clamp(.85rem, 1.15vw, 1.05rem);
    line-height: 1.5;
    letter-spacing: .04em;
    text-transform: none;
}
html[data-theme] body[class].home-page .hero--scene .event-panel {
    grid-area: panel;
    position: relative;
    inset: auto;
    z-index: 3;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}
html[data-theme] body[class].home-page .hero--scene .event-panel::before { display: none; }
html[data-theme] body[class].home-page .hero--scene .event-meta {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    grid-template-rows: auto;
    gap: 1rem;
    min-height: 4.5rem;
    margin-bottom: .75rem;
    padding: 1rem;
    border-radius: .9rem;
}
html[data-theme] body[class].home-page .hero--scene .event-meta::before { display: none; }
html[data-theme] body[class].home-page .hero--scene .event-meta::after { display: none; }
html[data-theme] body[class].home-page .hero--scene .meta-item {
    grid-row: auto;
    width: auto;
    min-width: 0;
    gap: .6rem;
    align-items: center;
    justify-content: flex-start !important;
    text-align: start !important;
    font-size: clamp(.75rem, .9vw, .875rem);
    line-height: 1.5;
}
html[data-theme] body[class].home-page .hero--scene .meta-item i {
    position: static !important;
    inset: auto !important;
    flex-shrink: 0;
    font-size: .95rem;
}
html[data-theme] body[class].home-page .hero--scene .event-action {
    min-height: 3.75rem;
    padding: .75rem;
    gap: .6rem;
}
html[data-theme] body[class].home-page .hero--scene .event-action > img { width: 1.35rem; height: 1.35rem; }
html[data-theme] body[class].home-page .hero--scene .event-action b { font-size: .8rem; letter-spacing: .04em; }
html[data-theme] body[class].home-page .hero--scene .event-action small { font-size: .65rem; }
html[data-theme] body[class].home-page .hero--scene .action-arrow { margin-inline-start: auto; margin-inline-end: 0; }
.hero-mascot-column {
    grid-area: scene;
    align-self: stretch;
    min-width: 0;
    min-height: 0;
    pointer-events: none;
    user-select: none;
}
.hero-mascot-stage {
    --mascot-drift: 6px;
    --mascot-float: -9px;
    position: relative;
    display: grid;
    direction: ltr;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: minmax(0, 1fr);
    align-items: end;
    height: 100%;
    min-height: 0;
    padding: 1rem;
    pointer-events: none;
}
.hero-mascot-slot {
    --mascot-size: 145%;
    --mascot-ground: 0px;
    position: relative;
    height: 100%;
    min-width: 0;
    min-height: 0;
}
html.idl-motion-enabled .hero-mascot-slot:not(.is-mascot-entered) {
    opacity: 0;
    transform: translateY(-28px) scale(.96);
}
.hero-mascot {
    position: relative;
    display: flex;
    align-items: end;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    height: 100%;
    animation: idl-mascot-drift 18s ease-in-out infinite;
    animation-delay: -3s;
    animation-play-state: paused;
}
.hero-mascot img {
    position: relative;
    z-index: 1;
    display: block;
    width: var(--mascot-size);
    height: calc(100% - var(--mascot-ground));
    margin-bottom: var(--mascot-ground);
    max-width: none;
    max-height: 100%;
    object-fit: contain;
    object-position: bottom;
}
.hero-mascot::after {
    content: '';
    position: absolute;
    bottom: calc(var(--mascot-ground) - .25rem);
    width: 95%;
    height: clamp(.4rem, 1vw, .9rem);
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(2, 16, 25, .65), rgba(2, 16, 25, .2) 50%, transparent 72%);
    filter: blur(2px);
}
.hero-mascot-slot:nth-child(1) { --mascot-ground: clamp(2px, .4vw, 6px); z-index: 1; }
.hero-mascot-slot:nth-child(2) { --mascot-size: 125%; --mascot-ground: clamp(6px, 1.2vw, 18px); }
.hero-mascot-slot:nth-child(3) { --mascot-size: 162%; z-index: 3; }
.hero-mascot-slot:nth-child(4) { --mascot-size: 130%; --mascot-ground: clamp(4px, .9vw, 14px); }
.hero-mascot-slot:nth-child(5) { --mascot-ground: clamp(2px, .4vw, 6px); z-index: 1; }
.hero-mascot-slot:nth-child(6) { --mascot-size: 155%; z-index: 3; }
.hero-mascot-slot:nth-child(2) .hero-mascot { animation-duration: 14s; animation-delay: -7s; }
.hero-mascot-slot:nth-child(3) .hero-mascot { animation-duration: 22s; animation-delay: -11s; }
.hero-mascot-slot:nth-child(4) .hero-mascot { animation-duration: 19s; animation-delay: -5s; }
.hero-mascot-slot:nth-child(5) .hero-mascot { animation-duration: 16s; animation-delay: -9s; }
.hero-mascot-slot:nth-child(6) .hero-mascot { animation-duration: 21s; animation-delay: -13s; }
.hero-mascot-stage.is-mascot-moving .hero-mascot { animation-play-state: running; }
html[data-theme] body[class].home-page .hero--scene > .expertise-ticker {
    position: relative;
    inset: auto;
    flex: 0 0 calc(2.75rem + env(safe-area-inset-bottom));
    height: calc(2.75rem + env(safe-area-inset-bottom));
    margin: 0;
    padding-bottom: env(safe-area-inset-bottom);
}
.hero--scene .expertise-swiper { display: flex; align-items: center; height: 100%; padding-block: 0; }
.hero--scene .expertise-swiper .swiper-wrapper { align-items: center; }
.hero--scene .expertise-swiper .swiper-slide { height: auto; line-height: 1.4; }
@keyframes idl-mascot-drift {
    0%, 100% { transform: translate(0, 0); }
    35% { transform: translate(var(--mascot-drift), var(--mascot-float)); }
    70% { transform: translate(calc(var(--mascot-drift) * -.5), calc(var(--mascot-float) * .4)); }
}
@media (max-width: 991.98px) {
    html[data-theme] body[class].home-page .hero--scene .hero-content { padding-block: 6.75rem 1rem; }
    .hero-layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: 'copy' 'scene' 'panel';
        grid-template-rows: auto minmax(5rem, 1fr) auto;
        align-content: stretch;
        gap: 1rem;
    }
    html[data-theme] body[class].home-page .hero--scene .hero-copy { max-width: 38rem; margin-inline: auto; text-align: center; }
    html[data-theme] body[class].home-page .hero--scene h1 { font-size: clamp(2.75rem, min(7vw, 8svh), 4rem); }
    html[data-theme] body[class].home-page .hero--scene .country-title { justify-content: center; margin-top: .6rem; }
    html[data-theme] body[class].home-page .hero--scene .hero-subtitle { max-width: 34rem; margin: .6rem auto 0; }
    .hero-mascot-stage { width: min(100%, 42rem); margin-inline: auto; padding: .5rem; }
    html[data-theme] body[class].home-page .hero--scene .event-panel { width: min(100%, 42rem); margin-inline: auto; }
}
@media (max-width: 767.98px) {
    html[data-theme] body[class].home-page .hero--scene[style*="--idl-hero"] { background-position: 72% top; }
    html[data-theme] body[class].home-page .hero--scene .hero-content { padding-block: 6.5rem .75rem; }
    .hero-layout { gap: .75rem; }
    .hero-mascot-stage { --mascot-drift: 3px; --mascot-float: -5px; }
    html.idl-motion-enabled .hero-mascot-slot:not(.is-mascot-entered) { transform: translateY(-18px) scale(.96); }
    html[data-theme] body[class].home-page .hero--scene h1 { font-size: clamp(2.35rem, 11vw, 3.5rem); }
    html[data-theme] body[class].home-page .hero--scene .hero-kicker { margin-bottom: .45rem; font-size: .65rem; }
    html[data-theme] body[class].home-page .hero--scene .country-title b { font-size: .95rem; }
    html[data-theme] body[class].home-page .hero--scene .hero-subtitle { font-size: .75rem; line-height: 1.4; letter-spacing: .01em; }
    html[data-theme] body[class].home-page .hero--scene .event-meta { min-height: 4rem; padding: .75rem; gap: .65rem; margin-bottom: .5rem; }
    html[data-theme] body[class].home-page .hero--scene .meta-item { font-size: .7rem; gap: .4rem; }
    html[data-theme] body[class].home-page .hero--scene .event-action { min-height: 3.5rem; padding: .6rem; gap: .45rem; }
    html[data-theme] body[class].home-page .hero--scene .event-action b { font-size: .7rem; }
    html[data-theme] body[class].home-page .hero--scene .event-action small { font-size: .6rem; }
    html[data-theme] body[class].home-page .hero--scene .event-action > img { width: 1.1rem; height: 1.1rem; }
}
@media (max-height: 700px) {
    html[data-theme] body[class].home-page .hero--scene .hero-content { padding-top: 6.5rem; }
    .hero-layout { gap: .75rem 2rem; }
    html[data-theme] body[class].home-page .hero--scene .hero-kicker { margin-bottom: .4rem; }
    html[data-theme] body[class].home-page .hero--scene .country-title { margin-top: .5rem; }
    html[data-theme] body[class].home-page .hero--scene .hero-subtitle { margin-top: .5rem; }
}
@media (max-width: 767.98px) and (max-height: 640px) {
    html[data-theme] body[class].home-page .hero--scene h1 { font-size: clamp(2rem, 10vw, 2.65rem); }
    html[data-theme] body[class].home-page .hero--scene .hero-content { padding-block: 6rem .5rem; }
    html[data-theme] body[class].home-page .hero--scene .hero-subtitle { font-size: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
    html.idl-motion-enabled .hero-mascot-slot { opacity: 1; transform: none; }
    .hero-mascot-stage .hero-mascot { animation: none; transform: none; }
}
@media print {
    html.idl-motion-enabled .hero-mascot-slot { opacity: 1; transform: none; }
    .hero-mascot-stage .hero-mascot { animation: none; transform: none; }
}

/* Classic keeps the original desktop arrangement and uses no character layers. */
html[data-theme] body[class].home-page .hero.hero--classic {
    height: 100svh;
    min-height: 100svh;
}
html[data-theme] body[class].home-page .hero--classic > .expertise-ticker {
    height: calc(2.75rem + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
}
.hero--classic .expertise-swiper { display: flex; align-items: center; height: 100%; padding-block: 0; }
.hero--classic .expertise-swiper .swiper-slide { height: auto; line-height: 1.4; }
@media (max-width: 991.98px) {
    html[data-theme] body[class].home-page .hero.hero--classic { display: flex; flex-direction: column; padding: 0; }
    html[data-theme] body[class].home-page .hero--classic .hero-content { flex: 1; min-height: 0; padding-block: 6.5rem 1rem; }
    html[data-theme] body[class].home-page .hero--classic .hero-content > .row { height: 100%; min-height: 0 !important; }
    html[data-theme] body[class].home-page .hero--classic .hero-copy { width: min(100%, 38rem); padding: 0; margin: 0 auto; text-align: center; }
    html[data-theme] body[class].home-page .hero--classic > .event-panel { position: relative; inset: auto; width: calc(100% - 2 * var(--container-gutter)); max-width: 42rem; padding: 0; margin: 0 auto 1rem; background: transparent; box-shadow: none; backdrop-filter: none; }
    html[data-theme] body[class].home-page .hero--classic > .expertise-ticker { position: relative; inset: auto; flex: 0 0 calc(2.75rem + env(safe-area-inset-bottom)); margin: 0; }
}
@media (max-width: 767.98px) {
    html[data-theme] body[class].home-page .hero--classic h1 { font-size: clamp(2.25rem, min(11vw, 7svh), 3.5rem); }
    html[data-theme] body[class].home-page .hero--classic .hero-kicker { font-size: .7rem; }
    html[data-theme] body[class].home-page .hero--classic .hero-subtitle { width: 100%; max-width: 22rem; font-size: .75rem; line-height: 1.4; margin: .75rem auto 0; }
    html[data-theme] body[class].home-page .hero--classic .event-meta { display: flex; min-height: 4rem; gap: .75rem; padding: .75rem; margin-bottom: .5rem; }
    html[data-theme] body[class].home-page .hero--classic .event-meta::before,
    html[data-theme] body[class].home-page .hero--classic .event-meta::after { display: none; }
    html[data-theme] body[class].home-page .hero--classic .meta-item { width: 50%; font-size: .7rem; line-height: 1.4; text-align: start !important; }
    html[data-theme] body[class].home-page .hero--classic .meta-item i { position: static !important; inset: auto !important; font-size: .85rem; }
    html[data-theme] body[class].home-page .hero--classic .event-action { min-height: 3.5rem; padding: .6rem; }
}

/* Source: resources/css/public/instapay.css */
/* InstaPay transfer and receipt workflow; uses the site's light/dark tokens. */
.ip-payment { padding-top: 6rem; color: var(--idl-text); background: var(--idl-page); }
.ip-container { max-width: 1160px; }
.ip-payment .hub-section { padding-block: clamp(2.5rem, 5vw, 5rem); }
.ip-payment p { margin: 0; }
.ip-back, .ip-help { display: inline-flex; align-items: center; gap: .6rem; color: var(--idl-muted); font-size: .8rem; text-decoration: none; }
.ip-back:hover, .ip-help:hover { color: var(--idl-gold); }
.ip-header { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-block: 1.8rem 2rem; }
.ip-payment .ip-eyebrow { margin-bottom: .65rem; color: var(--idl-gold); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ip-payment h1 { margin: 0 0 .7rem; font-family: var(--font-nav), sans-serif; font-size: clamp(1.65rem, 3vw, 2.5rem); font-weight: 700; line-height: 1.25; letter-spacing: -.035em; text-transform: none; }
.ip-lead { color: var(--idl-muted); font-size: .9rem; line-height: 1.7; }
.ip-jump { display: inline-flex; align-items: center; gap: .5rem; margin-top: .8rem; color: var(--idl-gold); font-size: .8rem; text-decoration: underline; text-underline-offset: .2rem; }
.ip-jump:hover { color: var(--idl-text); }
.ip-payment :is(h1, h2) { font-family: var(--font-nav), sans-serif !important; font-weight: 700 !important; }
#ip-proof-title { scroll-margin-top: 8rem; }
.ip-brand { display: flex; flex: 0 0 228px; align-items: center; justify-content: center; height: 72px; overflow: hidden; background: #fff; border-radius: 14px; border: 1px solid #e9e3ef; }
.ip-brand img { width: 320px; height: 320px; max-width: none; flex-shrink: 0; }
.ip-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.65fr); align-items: start; gap: 1.5rem; }
.ip-panel { min-width: 0; padding: clamp(1.25rem, 2.5vw, 2rem); background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 20px; box-shadow: var(--idl-shadow); }
.ip-summary { border-top: 3px solid var(--idl-gold-fill); }
.ip-workspace { display: grid; gap: 1.5rem; min-width: 0; }
.ip-amount-label { color: var(--idl-muted); font-size: .8rem; padding-top: 1rem; }
.ip-payment .ip-amount { margin-block: .35rem 1rem; font-size: clamp(2rem, 3vw, 2.65rem); font-weight: 700; line-height: 1.25; }
.ip-amount span { font-size: .8rem; font-weight: 600; color: var(--idl-muted); }
.ip-status { display: inline-flex; gap: .45rem; align-items: center; padding: .45rem .7rem; border: 1px solid var(--idl-control-line); border-radius: 100px; color: var(--idl-text); background: var(--idl-soft); font-size: .7rem; font-weight: 600; }
.ip-status i { color: var(--idl-gold); }
.ip-status--paid i { color: #36b58a; }
.ip-meta { display: grid; gap: 1rem; margin-block: 1.5rem; padding-block: 1.5rem; border-block: 1px solid var(--idl-line); }
.ip-meta div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; font-size: .78rem; }
.ip-meta dt { color: var(--idl-muted); font-weight: 400; }
.ip-meta dd { margin: 0; overflow-wrap: anywhere; font-weight: 600; }
.ip-deadline { display: flex; gap: .7rem; color: var(--idl-gold); font-size: .75rem; line-height: 1.6; }
.ip-deadline i { margin-top: .2rem; }
.ip-deadline time { display: block; color: var(--idl-text); font-weight: 600; }
.ip-payment .ip-status-link { width: 100%; margin-block: 1.5rem .9rem; font-size: .8rem; }
.ip-help { width: 100%; justify-content: center; font-size: .72rem; }
.ip-section-heading { display: flex; align-items: flex-start; gap: .85rem; margin-bottom: 1.5rem; }
.ip-step { display: grid; flex: 0 0 2.25rem; height: 2.25rem; place-items: center; border-radius: 50%; color: var(--idl-gold); background: var(--idl-soft); border: 1px solid var(--idl-line); font-size: .9rem; font-weight: 700; }
.ip-payment h2 { margin: .1rem 0 .4rem; font-family: var(--font-nav), sans-serif; font-size: 1.15rem; font-weight: 700; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.ip-section-heading p { color: var(--idl-muted); font-size: .78rem; line-height: 1.65; }
.ip-shortcut { display: grid; grid-template-columns: minmax(0, 1fr) 136px; gap: 1.25rem; align-items: center; padding: 1.25rem; margin-bottom: 1rem; background: var(--idl-soft); border: 1px solid var(--idl-control-line); border-radius: 14px; }
.ip-payment .ip-open { margin: 0 0 .75rem; font-size: .8rem; }
.ip-shortcut p:not(.ip-eyebrow) { color: var(--idl-muted); font-size: .75rem; line-height: 1.7; }
.ip-qr { margin: 0; text-align: center; }
.ip-qr img { display: block; width: 136px; height: 136px; padding: 4px; background: #fff; border-radius: 10px; }
.ip-qr figcaption { margin-top: .5rem; color: var(--idl-muted); font-size: .65rem; }
.ip-copy-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem; margin-block: .65rem; background: var(--idl-soft); border: 1px solid var(--idl-line); border-radius: 12px; }
.ip-copy-row > div { min-width: 0; }
.ip-copy-row strong { display: block; width: fit-content; max-width: 100%; margin-top: .3rem; color: var(--idl-text); font-size: 1rem; font-weight: 600; overflow-wrap: anywhere; user-select: all; }
.ip-copy-row > div > span { color: var(--idl-muted); font-size: .7rem; }
.ip-copy { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .5rem .7rem; border: 1px solid var(--idl-control-line); border-radius: 8px; color: var(--idl-text); background: var(--idl-surface); font: 600 .7rem var(--font-nav), sans-serif; cursor: pointer; }
.ip-copy:hover { border-color: var(--idl-gold); color: var(--idl-gold); }
.ip-copy--link { margin-top: .5rem; background: transparent; }
.ip-payment :is(button, a, input):focus-visible { outline: 2px solid var(--idl-teal); outline-offset: 4px; }
.ip-payment .ip-recipient { margin: .8rem 1rem; color: var(--idl-muted); font-size: .75rem; }
.ip-recipient strong { color: var(--idl-text); }
.ip-instructions { display: grid; gap: .9rem; margin: 1.5rem 0 0; padding-inline-start: 1.25rem; color: var(--idl-muted); font-size: .78rem; line-height: 1.8; }
.ip-instructions li { padding-inline-start: .4rem; }
.ip-instructions li::marker { color: var(--idl-gold); font-weight: 700; }
.ip-proof-form { display: grid; gap: 1.25rem; }
.ip-field label { display: block; margin-bottom: .6rem; color: var(--idl-text); font-size: .8rem; font-weight: 600; }
.ip-field label span { color: var(--idl-gold); }
.ip-field input:not([type="file"]) { width: 100%; min-height: 48px; padding: .75rem 1rem; background: var(--idl-soft); color: var(--idl-text); border: 1px solid var(--idl-control-line); border-radius: 9px; font: inherit; font-size: .9rem; }
.ip-field > p, .ip-upload p { margin-top: .55rem; color: var(--idl-muted); font-size: .72rem; line-height: 1.7; }
.ip-upload { padding: 1.25rem; text-align: center; border: 1px dashed var(--idl-control-line); border-radius: 12px; background: var(--idl-soft); }
.ip-upload > i { font-size: 1.35rem; color: var(--idl-gold); }
.ip-upload input { display: block; width: 100%; margin-top: .9rem; color: var(--idl-text); font: inherit; font-size: .75rem; }
.ip-upload input::file-selector-button { min-height: 44px; margin-inline-end: .75rem; padding: .6rem .85rem; border: 1px solid var(--idl-control-line); border-radius: 8px; color: var(--idl-text); background: var(--idl-surface); font: inherit; cursor: pointer; }
.ip-upload [data-ip-file-status]:empty { display: none; }
.ip-upload [data-ip-file-status] { overflow-wrap: anywhere; }
.ip-notice { display: flex; gap: .7rem; align-items: flex-start; padding: 1rem; border-radius: 10px; background: var(--idl-soft); border: 1px solid var(--idl-line); color: var(--idl-muted); font-size: .75rem; line-height: 1.8; }
.ip-notice > i { color: var(--idl-gold); margin-top: .25rem; }
.ip-notice--error { margin-bottom: 1.5rem; border-color: #c94a56; }
.ip-notice--error strong { color: var(--idl-text); }
.ip-field .ip-field-error { color: var(--idl-text); font-weight: 600; }
.ip-field [aria-invalid="true"] { border-color: #c94a56; }
.ip-payment .ip-submit { width: 100%; margin: 0; }
.ip-submit:disabled { opacity: .65; cursor: wait; }
.ip-state { padding-block: 3rem; text-align: center; }
.ip-state-icon { display: inline-grid; place-items: center; width: 4rem; height: 4rem; margin-bottom: 1.2rem; border-radius: 50%; color: var(--idl-gold); background: var(--idl-soft); font-size: 1.5rem; }
.ip-state p { margin: .8rem auto; max-width: 32rem; color: var(--idl-muted); font-size: .85rem; line-height: 1.85; }
.ip-state .idl-button { margin-top: 1rem; }
.ip-statement { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--idl-line); color: var(--idl-muted); }
.ip-statement .idl-invoice-statement { padding: 0; border: 0; font-size: .7rem; line-height: 1.9; }
[dir="rtl"] .ip-payment :is(h1, h2, .ip-copy) { font-family: Cairo, sans-serif !important; letter-spacing: 0; }
[dir="rtl"] .ip-back i, [dir="rtl"] .ip-status-link i { transform: scaleX(-1); }
@media (max-width: 767px) {
    .ip-layout { grid-template-columns: minmax(0, 1fr); }
    .ip-header { flex-direction: column-reverse; align-items: flex-start; gap: 1.25rem; }
    .ip-brand { flex-basis: auto; width: 180px; height: 56px; }
    .ip-brand img { width: 260px; height: 260px; }
    .ip-summary .ip-amount-label { padding-top: .25rem; }
    .ip-shortcut { grid-template-columns: minmax(0, 1fr); }
    .ip-qr { justify-self: center; }
}
@media (max-width: 420px) {
    .ip-copy-row { gap: .5rem; padding: .8rem; }
    .ip-copy-row strong { font-size: .85rem; }
    .ip-copy { font-size: .65rem; padding-inline: .55rem; }
}

/* Source: resources/css/public/checkout.css */
/* Cart, review and payment; shared palette supports light/dark and Arabic. */
.co-page { padding-top: 6rem; background: var(--idl-page); color: var(--idl-text); }
.co-container { max-width: 1200px; }
.co-page .hub-section { padding-block: clamp(2rem, 4vw, 4rem); }
.co-page p { margin: 0; }
.co-page :is(h1,h2,h3) { font-family: var(--font-nav), sans-serif !important; font-weight: 700 !important; letter-spacing: 0; text-transform: none; }
.co-page h1 { margin: .5rem 0 .75rem; font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.3; }
.co-page h2 { margin: 0; font-size: 1.15rem; line-height: 1.5; }
.co-back { display: inline-flex; align-items: center; gap: .5rem; color: var(--idl-muted); font-size: .8rem; }
.co-back:hover { color: var(--idl-gold); }
.co-header { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-block: 2rem; }
.co-page .co-eyebrow { margin-bottom: .4rem; color: var(--idl-gold); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.co-header > div > p:last-child { max-width: 40rem; color: var(--idl-muted); font-size: .85rem; line-height: 1.8; }
.co-progress { display: flex; align-items: center; gap: 1.25rem; list-style: none; margin: 0; padding: 0; }
.co-progress li { display: grid; justify-items: center; gap: .5rem; color: var(--idl-muted); font-size: .72rem; }
.co-progress :is(b,i) { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border: 1px solid var(--idl-line); border-radius: 50%; background: var(--idl-soft); font-size: .8rem; }
.co-progress [aria-current] { color: var(--idl-gold); font-weight: 600; }
.co-progress [aria-current] b { border-color: var(--idl-gold); }
.co-progress li:first-child i { color: var(--idl-teal); }
.co-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: start; gap: 1.5rem; }
.co-content { display: grid; gap: 1.25rem; min-width: 0; }
.co-panel { min-width: 0; padding: clamp(1.25rem, 2.5vw, 2rem); background: var(--idl-surface); border: 1px solid var(--idl-line); border-radius: 18px; box-shadow: var(--idl-shadow); }
.co-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.co-panel-heading > a { flex-shrink: 0; color: var(--idl-gold); font-size: .75rem; }
.co-panel-heading > a:hover { text-decoration: underline; }
.co-items { display: grid; }
.co-item { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr) auto; align-items: start; gap: 1rem; padding-block: 1.25rem; border-top: 1px solid var(--idl-line); }
.co-item:last-child { padding-bottom: 0; }
.co-item-icon { display: grid; flex: 0 0 2.8rem; width: 2.8rem; height: 2.8rem; place-items: center; background: var(--idl-soft); color: var(--idl-gold); border: 1px solid var(--idl-line); border-radius: 10px; }
.co-item-copy { min-width: 0; flex: 1; }
.co-item-copy h3 { margin: .35rem 0 .6rem; font-size: .95rem; line-height: 1.6; overflow-wrap: anywhere; }
.co-item-copy p { color: var(--idl-muted); font-size: .75rem; line-height: 1.7; }
.co-item-copy .co-item-type { color: var(--idl-gold); font-size: .65rem; font-weight: 600; }
.co-item-price { padding-top: .25rem; font-size: .82rem; line-height: 1.7; white-space: nowrap; }
.co-account { display: flex; align-items: flex-start; gap: 1rem; }
.co-account h2 { font-size: 1rem; margin-bottom: .5rem; }
.co-account p:not(.co-eyebrow) { margin-top: .4rem; color: var(--idl-muted); font-size: .78rem; line-height: 1.75; overflow-wrap: anywhere; }
.co-next-steps { display: grid; gap: 1.2rem; padding: 0; margin: 0 0 1.5rem; list-style: none; }
.co-next-steps li { display: flex; gap: .8rem; align-items: flex-start; }
.co-step { display: grid; flex: 0 0 1.7rem; height: 1.7rem; place-items: center; border-radius: 50%; background: var(--idl-soft); border: 1px solid var(--idl-line); color: var(--idl-gold); font-size: .7rem; font-weight: 700; }
.co-next-steps h3 { margin: .05rem 0 .4rem; font-size: .8rem; line-height: 1.6; }
.co-next-steps p { color: var(--idl-muted); font-size: .78rem; line-height: 1.8; }
.co-notice { display: flex; align-items: flex-start; gap: .65rem; padding: 1rem; border: 1px solid var(--idl-line); border-radius: 10px; background: var(--idl-soft); color: var(--idl-muted); font-size: .75rem; line-height: 1.8; }
.co-notice > i { margin-top: .2rem; color: var(--idl-gold); }
.co-notice--error { margin-bottom: 1.5rem; border-color: #c94a56; color: var(--idl-text); }
.co-summary { border-top: 3px solid var(--idl-gold-fill); }
.co-summary > h2 { margin-bottom: 1.25rem; }
.co-totals { display: grid; gap: 1rem; margin: 0; }
.co-totals > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; font-size: .8rem; }
.co-totals dt { color: var(--idl-muted); font-weight: 400; }
.co-totals dd { margin: 0; font-weight: 600; text-align: end; }
.co-totals .co-saving :is(dt,dd) { color: var(--idl-gold); }
.co-totals .co-grand-total { margin-top: .2rem; padding-top: 1.25rem; border-top: 1px solid var(--idl-line); }
.co-grand-total dt { color: var(--idl-text); font-size: .85rem; font-weight: 600; }
.co-grand-total dd { color: var(--idl-text); font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 700; }
.co-page .co-savings-note { display: flex; gap: .5rem; align-items: center; margin-top: .9rem; color: var(--idl-gold); font-size: .75rem; line-height: 1.8; }
.co-page .co-credit-note { margin-top: .8rem; color: var(--idl-muted); font-size: .72rem; line-height: 1.8; }
[data-checkout-totals] > .co-notice { margin-top: 1rem; }
.co-promo { margin-block: 1.5rem; padding-block: 1.25rem; border-block: 1px solid var(--idl-line); }
.co-promo h3 { display: flex; gap: .6rem; align-items: center; margin: 0 0 .9rem; font-size: .85rem; line-height: 1.6; }
.co-promo h3 i { color: var(--idl-gold); }
.co-promo-input { display: flex; gap: .6rem; }
.co-promo-input input { min-width: 0; flex: 1; width: 100%; min-height: 46px; padding: .65rem .8rem; background: var(--idl-soft); color: var(--idl-text); border: 1px solid var(--idl-control-line); border-radius: 8px; font: inherit; font-size: .8rem; }
.co-promo-input input::placeholder { color: var(--idl-muted); opacity: 1; }
.co-promo-input button { flex-shrink: 0; min-width: 66px; min-height: 46px; padding: .65rem .8rem; background: var(--idl-surface); color: var(--idl-text); border: 1px solid var(--idl-control-line); border-radius: 8px; font: inherit; font-size: .75rem; font-weight: 600; cursor: pointer; }
.co-promo-input button:hover { color: var(--idl-gold); border-color: var(--idl-gold); }
.co-promo-input input[aria-invalid="true"] { border-color: #c94a56; }
.co-promo-applied { display: flex; align-items: center; gap: .5rem; margin-top: .8rem; color: var(--idl-gold); font-size: .75rem; }
.co-promo-remove { margin-top: .75rem; padding: .5rem 0; min-height: 36px; background: transparent; border: 0; color: var(--idl-muted); text-decoration: underline; text-underline-offset: .2rem; font: inherit; font-size: .72rem; cursor: pointer; }
.co-promo-remove:hover { color: var(--idl-text); }
.co-page .co-promo-status { margin-top: .7rem; font-size: .75rem; line-height: 1.8; color: var(--idl-muted); }
.co-promo-status:empty { display: none; }
.co-promo-status.is-error { color: var(--idl-text); border-inline-start: 2px solid #c94a56; padding-inline-start: .6rem; }
.co-promo [hidden] { display: none !important; }
.co-confirm-form { display: grid; gap: 1.25rem; }
.co-terms { display: flex; align-items: flex-start; gap: .7rem; color: var(--idl-muted); font-size: .75rem; line-height: 1.9; cursor: pointer; }
.co-terms input { flex: 0 0 18px; width: 18px; height: 18px; margin-top: .25rem; accent-color: var(--idl-gold-fill); }
.co-terms a { color: var(--idl-text); text-decoration: underline; text-underline-offset: .15rem; }
.co-page .co-confirm { margin: 0; width: 100%; font-size: .8rem; line-height: 1.6; text-transform: none; letter-spacing: 0; }
.co-page .co-confirm:disabled, .co-promo button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.co-secure { display: flex; gap: .5rem; align-items: center; justify-content: center; color: var(--idl-muted); font-size: .7rem; line-height: 1.7; text-align: center; }
.co-page :is(input,button,a):focus-visible { outline: 2px solid var(--idl-teal); outline-offset: 4px; }
.co-payment-option-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.co-payment-option > p, .co-payment-state > p { color: var(--idl-muted); font-size: .85rem; line-height: 1.9; }
.co-payment-page .co-payment-cta { margin-top: 1.25rem; font-size: .8rem; text-transform: none; letter-spacing: 0; }
.co-instapay-logo { display: flex; align-items: center; justify-content: center; flex: 0 0 150px; height: 50px; overflow: hidden; background: #fff; border: 1px solid #e9e3ef; border-radius: 10px; }
.co-instapay-logo img { width: 218px; height: 218px; max-width: none; flex-shrink: 0; }
.co-payment-state { text-align: center; padding-block: 2.5rem; }
.co-payment-state .co-item-icon { margin: 0 auto 1rem; }
.co-payment-state h2 { margin-bottom: .8rem; }
.co-pay-summary h2 { font-size: 1rem; overflow-wrap: anywhere; }
.co-pay-summary .co-notice { margin-top: 1.25rem; }
.co-payment-help { display: block; margin-top: 1.25rem; color: var(--idl-muted); font-size: .75rem; text-align: center; }
.co-payment-help:hover { color: var(--idl-gold); }
.co-payment-statement { margin-top: 2rem; color: var(--idl-muted); font-size: .72rem; line-height: 1.9; }
[dir="rtl"] .co-page :is(h1,h2,h3) { font-family: Cairo, sans-serif !important; }
[dir="rtl"] .co-back i, [dir="rtl"] .co-confirm i { transform: scaleX(-1); }
/* Existing cart quantity and remove controls remain available. */
[data-point3-page="cart"] .co-cart-summary { padding: 1.75rem; border-top: 3px solid var(--idl-gold-fill); }
.co-cart-summary h2 { font-family: var(--font-nav) !important; font-weight: 700 !important; font-size: 1.3rem; line-height: 1.5; text-transform: none; }
.co-cart-summary [data-checkout-form] { display: grid; gap: 1rem; }
.co-cart-summary [data-checkout-form] p { color: var(--idl-muted); font-size: .78rem; line-height: 1.8; }
.co-cart-summary .co-cart-progress { display: flex; align-items: center; gap: .5rem; margin-block: 1rem; color: var(--idl-muted); font-size: .72rem; }
.co-cart-summary .idl-button { width: 100%; text-transform: none; letter-spacing: 0; }
@media (max-width: 991px) { .co-layout { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); } .co-item { grid-template-columns: 2.8rem minmax(0, 1fr); } .co-item-price { grid-column: 2; } }
@media (max-width: 767px) {
    .co-layout { grid-template-columns: minmax(0, 1fr); }
    .co-header { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
    .co-progress { width: 100%; justify-content: space-between; max-width: 24rem; }
    .co-content { gap: 1rem; }
    [data-checkout-review] .co-content { display: contents; }
    [data-checkout-review] .co-summary { order: 3; }
    [data-checkout-review] .co-account { order: 2; }
    [data-checkout-review] .co-content > section:nth-child(3) { order: 4; }
    .co-payment-page .co-summary { order: -1; }
    .co-item { gap: .75rem; }
    .co-item-price { padding-top: 0; }
    .co-account { gap: .75rem; }
    .co-grand-total dd { font-size: 1.4rem; }
    .co-totals > div { flex-wrap: wrap; gap: .35rem; }
}
