/* Point 3 pages reuse the existing IDL tokens and components. */
:root {
    --radius-card: var(--radius-md);
}

.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>span {
    color: var(--color-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.2rem .72rem .85rem;
    color: var(--color-white);
    background: rgba(1, 9, 18, .76);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--radius-sm);
    font-family: inherit;
    font-size: .74rem;
    font-weight: 650;
    outline: 0;
}

.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;
}

.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;
}

.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);
}

/* 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 .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: 1.35rem;
    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));
    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;
}

.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);
}

.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-left: 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-right: .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: 6rem;
    max-height: min(32rem, calc(100vh - 15rem));
    margin-top: 1rem;
    padding-right: .3rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: rgba(201, 154, 75, .65) rgba(255, 255, 255, .04);
}

.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-left: .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 {
        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: repeat(2, 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;
    }
}
