/* =========================================================================
   FLAT DESIGN SYSTEM (replaces neumorphism — same class names)
   Clean, modern, minimal — solid colors, crisp borders, subtle shadows.
   File name kept as neumorphism.css for path-compatibility with nav.php.
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. DESIGN TOKENS
   ------------------------------------------------------------------------- */
:root {
    /* Surfaces */
    --neu-bg: #EAF1FB;
    /* Light blue page background */
    --neu-card: #FFFFFF;
    /* White cards */
    --neu-fg: #0B1E3F;
    /* Logo dark navy (WEBINARS / "W") */
    --neu-muted: #56657F;
    --neu-placeholder: #8B97AE;

    /* Borders */
    --neu-border: #D2DEF1;
    /* Light blue-grey border */
    --neu-border-strong: #A7BEE3;
    --neu-divider: #DEE8F6;

    /* Accent (Logo Royal Blue — the "E" stripes / EXPERTS / arc) */
    --neu-accent: #1E66E0;
    /* Logo bright blue */
    --neu-accent-hover: #134FB8;
    /* Darker on hover */
    --neu-accent-light: #E5EEFC;
    /* Light blue tint (matches bg) */
    --neu-accent-soft: #A9C5F4;
    /* Soft mid-tone for rings/borders */

    /* Status — kept minimal but functional. Success/live = logo deep navy as secondary tone. */
    --neu-accent-2: #0B2A66;
    /* success / live — logo navy (two-tone with accent) */
    --neu-success: #134FB8;
    --neu-success-bg: #DCE8FC;
    --neu-warning: #F59E0B;
    /* small accent for warnings only */
    --neu-warning-bg: #FEF3C7;
    --neu-danger: #EF4444;
    /* errors only */
    --neu-danger-bg: #FEE2E2;

    /* Shadows — subtle only */
    --neu-shadow-sm: 0 1px 2px rgba(17, 24, 39, 0.05);
    --neu-shadow: 0 2px 6px rgba(17, 24, 39, 0.06);
    --neu-shadow-md: 0 4px 12px rgba(17, 24, 39, 0.08);
    --neu-shadow-lg: 0 8px 24px rgba(17, 24, 39, 0.10);

    /* Legacy aliases for back-compat with components written against neumorphic tokens */
    --neu-extruded: var(--neu-shadow);
    --neu-extruded-hover: var(--neu-shadow-md);
    --neu-extruded-sm: var(--neu-shadow-sm);
    --neu-extruded-xs: var(--neu-shadow-sm);
    --neu-inset: none;
    --neu-inset-deep: none;
    --neu-inset-sm: none;

    /* Radii */
    --neu-r-card: 12px;
    --neu-r-base: 8px;
    --neu-r-inner: 6px;
    --neu-r-pill: 9999px;

    /* Typography */
    --neu-font-display: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    --neu-font-body: 'DM Sans', system-ui, -apple-system, sans-serif;
}

/* -------------------------------------------------------------------------
   2. GLOBAL RESET / BASE
   ------------------------------------------------------------------------- */
html {
    scroll-behavior: smooth;
}

html,
body {
    background: var(--neu-bg) !important;
}

body {
    color: var(--neu-fg) !important;
    font-family: var(--neu-font-body) !important;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6,
.wp-hero-v2__heading,
.wp-highlights__heading,
.wp-cta__heading,
.wp-section__title,
.ce-speakers-title,
.wp-banner__title,
.wp-card__title,
.wp-tcard__text {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    letter-spacing: -0.02em;
}

p,
span,
a,
li,
label,
input,
textarea,
button {
    font-family: var(--neu-font-body);
}

a {
    color: var(--neu-accent);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--neu-accent-hover);
}

::selection {
    background: var(--neu-accent);
    color: #fff;
}

*:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--neu-accent-soft) !important;
    border-radius: 4px;
}

.container,
.container-fluid {
    max-width: 1400px;
}

/* -------------------------------------------------------------------------
   3. HEADER
   ------------------------------------------------------------------------- */
.wt-header {
    background: var(--neu-card) !important;
    border-bottom: 1px solid var(--neu-border) !important;
    box-shadow: none;
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: box-shadow 0.2s ease;
}

.wt-header.is-scrolled {
    box-shadow: var(--neu-shadow-sm);
}

.wt-header .container {
    padding-top: 12px;
    padding-bottom: 12px;
}

.wt-h {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.wt-h__logo img {
    height: 56px;
    width: auto;
}

.wt-h__nav {
    display: none;
    align-items: center;
    gap: 4px;
}

@media (min-width: 992px) {
    .wt-h__nav {
        display: flex;
    }
}

.wt-h__link {
    position: relative;
    padding: 8px 16px;
    color: var(--neu-fg) !important;
    font-weight: 500;
    font-size: 14px;
    border-radius: var(--neu-r-base) !important;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
}

.wt-h__link:hover {
    color: var(--neu-accent) !important;
    background: var(--neu-accent-light);
}

.wt-h__link.active {
    color: var(--neu-accent) !important;
    background: var(--neu-accent-light) !important;
    font-weight: 600 !important;
    padding-left: 30px !important;
}

.wt-h__link.active::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--neu-accent);
    transform: translateY(-50%);
}

/* Dropdown */
.wt-h__dd {
    position: relative;
}

.wt-h__dd-panel {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    min-width: 260px;
    padding: 8px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    box-shadow: var(--neu-shadow-md);
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.wt-h__dd:hover .wt-h__dd-panel,
.wt-h__dd.is-open .wt-h__dd-panel {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.wt-h__dd-panel a {
    padding: 10px 14px;
    border-radius: var(--neu-r-base);
    display: flex;
    flex-direction: column;
    gap: 2px;
    transition: background 0.15s ease;
}

.wt-h__dd-panel a:hover {
    background: var(--neu-accent-light);
}

.wt-h__dd-panel a strong {
    color: var(--neu-fg);
    font-weight: 600;
    font-size: 14px;
}

.wt-h__dd-panel a span {
    color: var(--neu-muted);
    font-size: 12px;
}

/* Search */
.wt-h__search {
    display: none;
    align-items: center;
    background: var(--neu-card);
    border-radius: var(--neu-r-pill);
    transition: border-color 0.2s ease;
}

@media (min-width: 768px) {
    .wt-h__search {
        display: flex;
    }
}

.wt-h__search:focus-within {
    border: 1px solid var(--neu-accent);
}

.wt-h__search input {
    flex: 1;
    background: transparent;
    border: 1px solid var(--neu-accent);
    border: none;
    outline: none;
    padding: 6px 4px;
    font-size: 13px;
    color: var(--neu-fg);
}

.wt-h__search input::placeholder {
    color: var(--neu-placeholder);
}

.wt-h__search button {
    background: var(--neu-accent);
    border: none;
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease;
}

.wt-h__search button:hover {
    background: var(--neu-accent-hover);
}

/* Right actions */
.wt-h__actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wt-h__btn,
.wt-h__cart {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    border: 1px solid var(--neu-border) !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    transition: all 0.2s ease;
    text-decoration: none !important;
    overflow: visible !important;
}

.wt-h__btn svg,
.wt-h__cart svg {
    width: 18px !important;
    height: 18px !important;
    stroke: var(--neu-fg) !important;
    stroke-width: 2 !important;
    fill: none !important;
}

.wt-h__btn:hover,
.wt-h__cart:hover {
    border-color: var(--neu-accent) !important;
    background: var(--neu-accent-light) !important;
}

.wt-h__btn:hover svg,
.wt-h__cart:hover svg {
    stroke: var(--neu-accent) !important;
}

@media (min-width: 992px) {
    .wt-h__btn.d-lg-none {
        display: none !important;
    }
}

.wt-h__badge {
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    background: var(--neu-accent) !important;
    color: #fff !important;
    border-radius: var(--neu-r-pill) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid var(--neu-card) !important;
    font-family: var(--neu-font-display) !important;
    line-height: 1 !important;
    z-index: 5 !important;
}

.wt-h__signin {
    padding: 10px 20px;
    border-radius: var(--neu-r-base);
    background: var(--neu-accent);
    color: #fff !important;
    font-weight: 600;
    font-size: 14px;
    transition: background 0.2s ease;
}

.wt-h__signin:hover {
    background: var(--neu-accent-hover);
    color: #fff !important;
}

/* Mobile nav */
.ce-mobile-nav {
    background: var(--neu-card);
    border-top: 1px solid var(--neu-border);
    padding: 16px;
}

.ce-mobile-search {
    display: flex;
    border: 1px solid var(--neu-border);
    padding: 4px 4px 4px 12px;
    border-radius: var(--neu-r-pill);
    margin-bottom: 12px;
    background: var(--neu-card);
}

.ce-mobile-search__input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    color: var(--neu-fg);
    font-size: 14px;
}

.ce-mobile-search__btn {
    background: var(--neu-accent);
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
}

.ce-mobile-link {
    display: block;
    padding: 12px 16px;
    color: var(--neu-fg) !important;
    font-weight: 500;
    border-radius: var(--neu-r-base);
    margin-bottom: 4px;
    transition: background 0.15s ease;
}

.ce-mobile-link:hover {
    background: var(--neu-accent-light);
    color: var(--neu-accent) !important;
}

.ce-mobile-link--cta {
    background: var(--neu-accent);
    color: #fff !important;
    text-align: center;
    margin-top: 8px;
}

.ce-mobile-link--cta:hover {
    background: var(--neu-accent-hover);
    color: #fff !important;
}

/* -------------------------------------------------------------------------
   4. BUTTONS
   ------------------------------------------------------------------------- */
.main-btn,
button.main-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 22px;
    background: var(--neu-accent) !important;
    color: #fff !important;
    font-family: var(--neu-font-body);
    font-weight: 600;
    font-size: 14px;
    border: 1px solid var(--neu-accent) !important;
    border-radius: var(--neu-r-base) !important;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.main-btn:hover {
    background: var(--neu-accent-hover) !important;
    border-color: var(--neu-accent-hover) !important;
    color: #fff !important;
}

.main-btn:active {
    transform: translateY(1px);
}

.main-btn--outline {
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    border-color: var(--neu-border) !important;
}

.main-btn--outline:hover {
    background: var(--neu-accent-light) !important;
    color: var(--neu-accent) !important;
    border-color: var(--neu-accent) !important;
}

/* -------------------------------------------------------------------------
   5. WP-HERO-V2 (legacy hero, kept in case used elsewhere)
   ------------------------------------------------------------------------- */
.wp-hero-v2 {
    background: var(--neu-bg);
    padding: 80px 0 64px;
}

.wp-hero-v2__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: center;
}

@media (min-width: 992px) {
    .wp-hero-v2__layout {
        grid-template-columns: 1.1fr 1fr;
        gap: 64px;
    }
}

.wp-hero-v2__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 20px;
}

.wp-hero-v2__heading {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.1;
    font-weight: 800;
    color: var(--neu-fg) !important;
    margin-bottom: 20px;
}

.wp-hero-v2__accent {
    color: var(--neu-accent) !important;
    -webkit-text-fill-color: var(--neu-accent) !important;
}

.wp-hero-v2__desc {
    color: var(--neu-muted) !important;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 28px;
    max-width: 520px;
}

.wp-hero-v2__btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 26px;
    background: var(--neu-accent) !important;
    color: #fff !important;
    border-radius: var(--neu-r-base);
    font-weight: 600;
    font-size: 14px;
}

.wp-hero-v2__btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 26px;
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    font-weight: 600;
    font-size: 14px;
}

/* -------------------------------------------------------------------------
   6. HEROMAX — Stacked Webinar Cards (Flat redesign)
   ------------------------------------------------------------------------- */
.heromax {
    position: relative;
    background: var(--neu-bg);
    padding: 80px 0 72px;
    overflow: hidden;
}

.heromax__decor {
    display: none;
}

.heromax__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: center;
}

@media (min-width: 992px) {
    .heromax__layout {
        grid-template-columns: 1.05fr 1fr;
        gap: 56px;
    }
}

.heromax__content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 560px;
}

.heromax__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 12px;
    font-weight: 600;
    width: fit-content;
}

.heromax__eyebrow strong {
    color: var(--neu-accent);
    font-weight: 700;
    letter-spacing: 0.04em;
}

.heromax__eyebrow-sep {
    opacity: 0.5;
}

.heromax__live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--neu-accent-2);
    flex-shrink: 0;
    animation: flatPulse 1.6s ease-out infinite;
}

@keyframes flatPulse {

    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.5;
        transform: scale(1.2);
    }
}

.heromax__title {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(2.5rem, 6vw, 4.4rem);
    font-weight: 800;
    color: var(--neu-fg) !important;
    line-height: 1.05;
    letter-spacing: -0.03em;
    margin: 0;
}

.heromax__title-mark {
    color: var(--neu-accent);
    -webkit-text-fill-color: var(--neu-accent);
    position: relative;
    display: inline-block;
    background: none;
}

.heromax__title-mark::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 4px;
    height: 8px;
    background: var(--neu-accent-light);
    z-index: -1;
    border-radius: 4px;
}

.heromax__lead {
    color: var(--neu-muted) !important;
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
    max-width: 500px;
}

.heromax__cta-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.heromax__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 24px;
    border-radius: var(--neu-r-base);
    font-weight: 600;
    font-size: 14px;
    transition: all 0.2s ease;
    text-decoration: none !important;
    border: 1px solid transparent;
}

.heromax__cta--primary {
    background: var(--neu-accent) !important;
    color: #fff !important;
    border-color: var(--neu-accent) !important;
}

.heromax__cta--primary:hover {
    background: var(--neu-accent-hover) !important;
    border-color: var(--neu-accent-hover) !important;
    color: #fff !important;
}

.heromax__cta--ghost {
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    border-color: var(--neu-border) !important;
}

.heromax__cta--ghost:hover {
    background: var(--neu-accent-light) !important;
    color: var(--neu-accent) !important;
    border-color: var(--neu-accent) !important;
}

.heromax__stats {
    display: flex;
    align-items: center;
    gap: 0;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    padding: 12px 18px;
    border-radius: var(--neu-r-base);
    width: fit-content;
    max-width: 100%;
    flex-wrap: wrap;
    margin-top: 4px;
}

.heromax__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 16px;
    min-width: 70px;
}

.heromax__stat strong {
    font-family: var(--neu-font-display);
    font-size: 18px;
    font-weight: 800;
    color: var(--neu-fg);
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.heromax__stat span {
    color: var(--neu-muted);
    font-size: 11px;
    font-weight: 500;
    margin-top: 4px;
}

.heromax__stat-divider {
    width: 1px;
    height: 24px;
    background: var(--neu-border);
}

/* Stacked cards */
.heromax__visual {
    position: relative;
    height: 520px;
    max-width: 480px;
    margin: 0 auto;
    width: 100%;
}

@media (max-width: 991px) {
    .heromax__visual {
        height: 460px;
    }
}

@media (max-width: 575px) {
    .heromax__visual {
        height: 420px;
    }
}

.heromax__surface {
    display: none;
}

.heromax__chip {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    box-shadow: var(--neu-shadow);
    color: var(--neu-fg);
    font-size: 12px;
    font-weight: 600;
    z-index: 5;
}

.heromax__chip svg {
    color: var(--neu-accent-2);
}

.heromax__chip--top {
    top: 4%;
    left: -2%;
}

.heromax__chip--bottom {
    bottom: 4%;
    right: -2%;
}

.heromax__card {
    position: absolute;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    box-shadow: var(--neu-shadow);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none !important;
    display: block;
    overflow: hidden;
}

.heromax__card--back {
    width: 64%;
    top: 4%;
    right: 6%;
    padding: 16px 18px;
    transform: rotate(4deg);
    z-index: 1;
    opacity: 0.95;
}

.heromax__card--back:hover {
    transform: rotate(2deg) translateY(-3px);
    box-shadow: var(--neu-shadow-md);
}

.heromax__card--mid {
    width: 68%;
    top: 18%;
    left: 4%;
    padding: 18px 20px;
    transform: rotate(-3deg);
    z-index: 2;
}

.heromax__card--mid:hover {
    transform: rotate(-1deg) translateY(-3px);
    box-shadow: var(--neu-shadow-md);
}

.heromax__card--front {
    width: 84%;
    bottom: 6%;
    left: 8%;
    padding: 22px 22px 18px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: var(--neu-shadow-lg);
}

.heromax__card--front:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(17, 24, 39, 0.15);
}

.heromax__card-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.heromax__mini-date {
    font-family: var(--neu-font-display);
    font-weight: 700;
    font-size: 11px;
    color: var(--neu-accent);
    background: var(--neu-accent-light);
    letter-spacing: 0.08em;
    padding: 4px 10px;
    border-radius: var(--neu-r-pill);
}

.heromax__mini-live {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--neu-accent-2);
    background: var(--neu-success-bg);
    padding: 4px 10px;
    border-radius: var(--neu-r-pill);
}

.heromax__mini-live .heromax__live-dot {
    width: 5px;
    height: 5px;
}

.heromax__mini-title {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 700;
    font-size: 13px;
    line-height: 1.35;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.heromax__front-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.heromax__front-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.heromax__front-meta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    color: var(--neu-muted);
    background: var(--neu-bg);
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 600;
}

.heromax__front-date {
    display: flex;
    align-items: center;
    gap: 14px;
}

.heromax__front-datepad {
    flex-shrink: 0;
    width: 70px;
    height: 80px;
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    background: var(--neu-bg);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px 4px;
}

.heromax__front-day {
    font-family: var(--neu-font-display);
    font-size: 24px;
    font-weight: 800;
    color: var(--neu-fg);
    line-height: 1;
}

.heromax__front-mon {
    font-size: 10px;
    font-weight: 800;
    color: var(--neu-accent);
    letter-spacing: 0.14em;
    line-height: 1;
    margin-top: 2px;
}

.heromax__front-yr {
    font-size: 10px;
    font-weight: 600;
    color: var(--neu-muted);
    line-height: 1;
    margin-top: 4px;
    padding-top: 4px;
    border-top: 1px solid var(--neu-border);
    width: 100%;
    text-align: center;
}

.heromax__front-when {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.heromax__front-when-label {
    font-size: 11px;
    color: var(--neu-muted);
    font-weight: 500;
}

.heromax__front-when-val {
    font-family: var(--neu-font-display);
    font-size: 20px;
    font-weight: 800;
    color: var(--neu-accent);
    line-height: 1;
}

.heromax__front-title {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.35;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.heromax__front-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--neu-border);
}

.heromax__front-speaker {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1;
}

.heromax__front-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--neu-accent-light);
    border: 1px solid var(--neu-border);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.heromax__front-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.heromax__front-avatar span {
    font-family: var(--neu-font-display);
    font-weight: 700;
    color: var(--neu-accent);
    font-size: 15px;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.heromax__front-speaker strong {
    display: block;
    color: var(--neu-fg);
    font-weight: 600;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.heromax__front-speaker span {
    display: block;
    color: var(--neu-muted);
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.heromax__front-arrow {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--neu-accent);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.heromax__card--front:hover .heromax__front-arrow {
    background: var(--neu-accent-hover);
    transform: rotate(-8deg);
}

/* -------------------------------------------------------------------------
   7. SECTION HEADERS
   ------------------------------------------------------------------------- */
.wp-section,
.wp-section--alt {
    background: var(--neu-bg) !important;
    padding: 72px 0;
}

.wp-section--alt {
    background: var(--neu-card) !important;
}

.wp-section__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    flex-wrap: wrap !important;
    margin-bottom: 20px !important;
}

.wp-section__title-group {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.wp-section__title-group>div {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.wp-section__accent,
.wp-section .wp-section__accent {
    display: block !important;
    width: 4px !important;
    height: 44px !important;
    flex: 0 0 4px !important;
    border-radius: 4px !important;
    background: var(--neu-accent) !important;
    position: relative !important;
}

.wp-section__accent::before,
.wp-section__accent::after {
    display: none !important;
}

.wp-section__accent--live {
    background: var(--neu-accent) !important;
}

.wp-section__accent--rec {
    background: var(--neu-accent-2) !important;
}

.wp-section__title {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(1.6rem, 3.4vw, 2.2rem) !important;
    font-weight: 800 !important;
    color: var(--neu-fg) !important;
    margin: 0 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.15 !important;
    background: transparent !important;
    -webkit-text-fill-color: var(--neu-fg) !important;
}

.wp-section__desc {
    color: var(--neu-muted) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* -------------------------------------------------------------------------
   8. WEBINAR GRID CARD
   ------------------------------------------------------------------------- */
.wp-card-col {
    padding: 12px;
}

.wp-card {
    display: block;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    box-shadow: var(--neu-shadow-sm);
    transition: all 0.25s ease;
    text-decoration: none;
    height: 100%;
    overflow: hidden;
}

.wp-card:hover {
    border-color: var(--neu-accent);
    box-shadow: var(--neu-shadow-md);
    transform: translateY(-2px);
    text-decoration: none;
}

.wp-card__strip {
    height: 4px;
    background: var(--neu-accent);
}

.wp-card__strip--rec {
    background: var(--neu-accent-2);
}

.wp-card__body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 260px;
}

.wp-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.wp-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.wp-card__badge--rec {
    background: var(--neu-success-bg);
    color: var(--neu-accent-2);
}

.wp-card__pulse {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--neu-accent);
    animation: flatPulse 1.6s ease-out infinite;
}

.wp-card__meta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--neu-muted);
    font-size: 11px;
    font-weight: 600;
}

.wp-card__title {
    font-family: var(--neu-font-display);
    font-size: 16px;
    font-weight: 700;
    color: var(--neu-fg);
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.wp-card__schedule {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
}

/* Tear-off calendar date-pad — same canvas art as the conference hero calendar */
.wp-cal-canvas {
    flex-shrink: 0;
    width: 96px;
    height: 96px;
    display: block;
    margin: -8px -4px -8px -10px;
    /* trim the canvas's internal padding */
}

.wp-card__time-block {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.wp-card__time {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--neu-fg);
    font-size: 13px;
    font-weight: 600;
}

.wp-card__countdown {
    color: var(--neu-muted);
    font-size: 11px;
    font-weight: 600;
}

.wp-card__countdown-hot {
    color: var(--neu-accent);
    font-weight: 700;
}

.wp-card__rec-info {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--neu-muted);
    font-size: 12px;
    padding: 6px 10px;
    background: var(--neu-bg);
    border-radius: var(--neu-r-base);
    width: fit-content;
    margin-top: auto;
}

.wp-card__speaker {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 14px;
}

.wp-card__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--neu-accent-light);
    border: 1px solid var(--neu-border);
    display: flex;
    align-items: center;
    justify-content: center;
}

.wp-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wp-card__avatar span {
    font-family: var(--neu-font-display);
    font-weight: 700;
    color: var(--neu-accent);
    font-size: 15px;
}

.wp-card__speaker-info {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.wp-card__speaker-name {
    color: var(--neu-fg);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wp-card__speaker-role {
    color: var(--neu-muted);
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Fixed 32px slot in flow so the expanding pill never shifts the layout */
.wp-card__arrow-slot {
    position: relative;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

/* The pill: absolutely pinned to the slot's right edge; grows leftward on hover.
   Width is animated directly (32px circle -> auto pill) so it can't collapse. */
.wp-card__arrow {
    position: absolute !important;
    top: 0;
    right: 0;
    height: 32px;
    width: 32px;
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-end;
    padding: 0 8px;
    border: 0 !important;
    border-radius: var(--neu-r-pill) !important;
    background: var(--neu-accent-light) !important;
    color: var(--neu-accent);
    white-space: nowrap;
    overflow: hidden;
    opacity: 1 !important;
    transform: none !important;
    transition: width 0.34s cubic-bezier(0.22, 1, 0.36, 1),
        background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.wp-card__arrow svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-right: 0;
}

.wp-card__arrow-label {
    flex-shrink: 0;
    order: -1;
    /* label sits LEFT of the arrow */
    margin-right: 7px;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1;
    color: inherit;
    opacity: 0;
    transition: opacity 0.2s ease 0.06s;
}

.wp-card:hover .wp-card__arrow {
    width: 116px;
    /* expands left to reveal the label */
    background: var(--neu-accent) !important;
    color: #fff;
    justify-content: center;
    box-shadow: 0 6px 16px -6px rgba(30, 102, 224, 0.5);
}

.wp-card:hover .wp-card__arrow-label {
    opacity: 1;
}

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

    .wp-card__arrow,
    .wp-card__arrow-label {
        transition: none;
    }
}

/* -------------------------------------------------------------------------
   9. BANNER CARD
   ------------------------------------------------------------------------- */
/* ─── Banner Card — Magazine layout with big speaker media ─── */
.wp-banner {
    display: grid;
    grid-template-columns: 1fr;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: 20px;
    padding: 0;
    overflow: hidden;
    margin-bottom: 28px;
    transition: all 0.3s ease;
    text-decoration: none !important;
    position: relative;
}

@media (min-width: 768px) {
    .wp-banner {
        grid-template-columns: 260px 1fr;
    }
}

@media (min-width: 992px) {
    .wp-banner {
        grid-template-columns: 300px 1fr;
    }
}

.wp-banner:hover {
    transform: translateY(-3px);
}

.wp-banner::before {
    display: none;
}

.wp-banner__glow,
.wp-banner__content,
.wp-banner__left,
.wp-banner__right {
    display: contents;
}

/* ═══ LEFT: Stylized Visual Block (no speaker photo) ═══ */
.wp-banner__visual {
    position: relative;
    min-height: 280px;
    padding: 20px 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

/* Live visual is content-driven — match on-demand height naturally */
.wp-banner__visual--live {
    min-height: 280px;
    height: 100%;
}

/* ───── LIVE: Broadcast Transmission Hero ───── */
.wp-banner__visual--live {
    background: linear-gradient(135deg, var(--neu-accent) 0%, var(--neu-accent-hover) 100%);
    color: #fff;
    isolation: isolate;
}

/* Subtle grid pattern overlay */
.wp-banner__visual-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: 24px 24px;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 30%, transparent 100%);
    mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 30%, transparent 100%);
}

/* Diagonal "ON AIR" corner ribbon */
.wp-banner__ribbon {
    position: absolute;
    top: 14px;
    right: -32px;
    width: 130px;
    transform: rotate(35deg);
    background: var(--neu-danger);
    color: #fff;
    text-align: center;
    padding: 4px 0;
    font-family: var(--neu-font-display);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.18em;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
    z-index: 4;
}

.wp-banner__ribbon span {
    position: relative;
    z-index: 1;
}

/* Radial transmission rings — expanding pulse from center */
.wp-banner__rings {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 280px;
    height: 280px;
    pointer-events: none;
    z-index: 0;
}

.wp-banner__rings span {
    position: absolute;
    inset: 0;
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    opacity: 0;
    animation: bannerRings 3.2s ease-out infinite;
}

.wp-banner__rings span:nth-child(1) {
    animation-delay: 0s;
}

.wp-banner__rings span:nth-child(2) {
    animation-delay: 0.8s;
}

.wp-banner__rings span:nth-child(3) {
    animation-delay: 1.6s;
}

.wp-banner__rings span:nth-child(4) {
    animation-delay: 2.4s;
}

@keyframes bannerRings {
    0% {
        transform: scale(0.3);
        opacity: 0.7;
    }

    100% {
        transform: scale(1.4);
        opacity: 0;
    }
}

/* Rotating circular seal/stamp (top-left corner) */
.wp-banner__seal {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 60px;
    height: 60px;
    z-index: 3;
    color: #fff;
}

.wp-banner__seal-svg {
    width: 100%;
    height: 100%;
    animation: bannerSealRotate 14s linear infinite;
}

.wp-banner__seal-text {
    font-family: var(--neu-font-display);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.04em;
    fill: rgba(255, 255, 255, 0.95);
}

@keyframes bannerSealRotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.wp-banner__seal-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    color: var(--neu-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* "ON AIR SOON" tag at top */
.wp-banner__visual-tag {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    border-radius: var(--neu-r-pill);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.14em;
    align-self: flex-start;
}

.wp-banner__visual-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--neu-danger);
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
    animation: edhPulse 1.4s ease-out infinite;
}

/* Mega date typography (centerpiece) */
.wp-banner__megadate {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
    text-align: center;
}

.wp-banner__megadate-week {
    font-family: var(--neu-font-display);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.2em;
    color: rgba(255, 255, 255, 0.85);
}

.wp-banner__megadate-day {
    font-family: var(--neu-font-display);
    font-size: clamp(52px, 9vw, 72px);
    font-weight: 800;
    color: #fff;
    line-height: 0.9;
    letter-spacing: -0.05em;
    margin: 2px 0 4px;
    text-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
}

.wp-banner__megadate-mon {
    font-family: var(--neu-font-display);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.16em;
    color: rgba(255, 255, 255, 0.95);
}

/* Time chip */
.wp-banner__visual-time {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    border-radius: var(--neu-r-pill);
    font-size: 12px;
    font-weight: 700;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

/* Countdown clock — digital display (compact, 4 units: D H M S) */
.wp-banner__countdown {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 6px 10px;
    background: rgba(0, 0, 0, 0.32);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: var(--neu-r-base);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

.wp-banner__countdown-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
    padding: 0 3px;
    min-width: 28px;
}

.wp-banner__countdown-unit strong {
    font-family: 'Courier New', monospace;
    font-size: 14px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.02em;
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.3);
    font-variant-numeric: tabular-nums;
    transition: transform 0.15s ease;
}

.wp-banner__countdown-unit span {
    font-family: var(--neu-font-display);
    font-size: 7px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.7);
    letter-spacing: 0.1em;
    margin-top: 2px;
}

.wp-banner__countdown-sep {
    color: rgba(255, 255, 255, 0.45);
    font-size: 13px;
    font-weight: 800;
    align-self: flex-start;
    margin-top: 1px;
    animation: bannerColonBlink 1s ease-in-out infinite;
}

/* When event has started — flash "LIVE NOW" */
.wp-banner__countdown.is-live {
    background: var(--neu-danger);
    border-color: var(--neu-danger);
    animation: bannerLivePulse 1.4s ease-in-out infinite;
}

.wp-banner__countdown.is-live::after {
    content: "● LIVE NOW";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: var(--neu-font-display);
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 0.16em;
    background: var(--neu-danger);
    border-radius: var(--neu-r-base);
}

@keyframes bannerLivePulse {

    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.55);
    }

    50% {
        box-shadow: 0 0 0 8px rgba(239, 68, 68, 0);
    }
}

@keyframes bannerColonBlink {

    0%,
    49%,
    100% {
        opacity: 0.85;
    }

    50%,
    99% {
        opacity: 0.3;
    }
}

/* Animated sound wave bars */
.wp-banner__visual-waves {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    gap: 4px;
    height: 22px;
    margin-top: 4px;
}

.wp-banner__visual-waves span {
    width: 3px;
    background: rgba(255, 255, 255, 0.85);
    border-radius: 2px;
    animation: bannerWave 1.4s ease-in-out infinite;
}

.wp-banner__visual-waves span:nth-child(1) {
    height: 8px;
    animation-delay: 0.0s;
}

.wp-banner__visual-waves span:nth-child(2) {
    height: 14px;
    animation-delay: 0.1s;
}

.wp-banner__visual-waves span:nth-child(3) {
    height: 20px;
    animation-delay: 0.2s;
}

.wp-banner__visual-waves span:nth-child(4) {
    height: 12px;
    animation-delay: 0.3s;
}

.wp-banner__visual-waves span:nth-child(5) {
    height: 18px;
    animation-delay: 0.4s;
}

.wp-banner__visual-waves span:nth-child(6) {
    height: 22px;
    animation-delay: 0.5s;
}

.wp-banner__visual-waves span:nth-child(7) {
    height: 10px;
    animation-delay: 0.6s;
}

.wp-banner__visual-waves span:nth-child(8) {
    height: 16px;
    animation-delay: 0.7s;
}

.wp-banner__visual-waves span:nth-child(9) {
    height: 12px;
    animation-delay: 0.8s;
}

.wp-banner__visual-waves span:nth-child(10) {
    height: 20px;
    animation-delay: 0.9s;
}

.wp-banner__visual-waves span:nth-child(11) {
    height: 8px;
    animation-delay: 1.0s;
}

.wp-banner__visual-waves span:nth-child(12) {
    height: 14px;
    animation-delay: 1.1s;
}

@keyframes bannerWave {

    0%,
    100% {
        transform: scaleY(1);
    }

    50% {
        transform: scaleY(0.3);
    }
}

/* ───── ON-DEMAND: Stylized Video Player Card ───── */
.wp-banner__visual--rec {
    background: linear-gradient(135deg, #0B1E3F 0%, #143A7A 100%);
    color: #fff;
    align-items: stretch;
    justify-content: center;
    gap: 16px;
}

.wp-banner__visual--rec::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: 18px 18px;
    opacity: 0.5;
    pointer-events: none;
}

/* Mock video player frame */
.wp-banner__player {
    position: relative;
    z-index: 2;
    background: rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    aspect-ratio: 16 / 10;
    width: 100%;
    max-width: 220px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

/* Top control row */
.wp-banner__player-top {
    position: absolute;
    top: 10px;
    left: 12px;
    right: 12px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.wp-banner__player-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}

.wp-banner__player-dot:first-child {
    background: #FF5F57;
}

.wp-banner__player-dot:nth-child(2) {
    background: #FFBD2E;
}

.wp-banner__player-dot:nth-child(3) {
    background: #28C940;
}

.wp-banner__player-rec {
    margin-left: auto;
    font-size: 9px;
    font-weight: 800;
    color: var(--neu-danger);
    letter-spacing: 0.14em;
    padding: 2px 8px;
    background: rgba(239, 68, 68, 0.18);
    border-radius: var(--neu-r-pill);
}

/* Big play button center */
.wp-banner__player-play {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    color: var(--neu-accent);
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    position: relative;
    transition: all 0.3s ease;
}

.wp-banner__player-play::before {
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.5);
    animation: edhRings 2.4s ease-out infinite;
}

.wp-banner__player-play::after {
    content: "";
    position: absolute;
    inset: -16px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3);
    animation: edhRings 2.4s ease-out infinite 0.8s;
}

.wp-banner__player-play svg {
    margin-left: 3px;
}

.wp-banner:hover .wp-banner__player-play {
    transform: scale(1.08);
    background: #fff;
}

/* Timeline bar at bottom */
.wp-banner__player-timeline {
    position: absolute;
    bottom: 10px;
    left: 12px;
    right: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.wp-banner__player-time {
    font-family: 'Courier New', monospace;
    font-size: 9px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.85);
}

.wp-banner__player-track {
    flex: 1;
    height: 3px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
    overflow: hidden;
}

.wp-banner__player-fill {
    height: 100%;
    width: 35%;
    background: var(--neu-accent);
    border-radius: 2px;
    box-shadow: 0 0 6px rgba(0, 171, 228, 0.6);
}

/* Below player: info chips */
.wp-banner__player-info {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
}

.wp-banner__player-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
    border-radius: var(--neu-r-pill);
    font-size: 10.5px;
    font-weight: 600;
}

.wp-banner__player-chip svg {
    color: var(--neu-accent);
}

/* Hover lift */
.wp-banner:hover .wp-banner__visual--live .wp-banner__megadate-day {
    transform: scale(1.02);
    transition: transform 0.3s ease;
}

.wp-banner:hover .wp-banner__visual--rec .wp-banner__player {
    transform: translateY(-2px);
    transition: transform 0.3s ease;
}

/* RIGHT — Content body */
.wp-banner__body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.wp-banner__topline {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.wp-banner__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 14px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.wp-banner__badge--rec {
    background: var(--neu-success-bg);
    color: var(--neu-accent-2);
}

.wp-banner__badge svg {
    stroke: none;
}

.wp-banner__cat {
    display: inline-flex;
    padding: 5px 12px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    color: var(--neu-muted);
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 600;
}

.wp-banner__title {
    font-family: var(--neu-font-display);
    font-size: clamp(1.3rem, 2.6vw, 1.7rem);
    font-weight: 800;
    color: var(--neu-fg);
    line-height: 1.25;
    margin: 0;
    letter-spacing: -0.015em;
}

/* Live: rich schedule block (date pad + time/cert info) */
.wp-banner__schedule {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Spiral-bound tear-off calendar (matches reference): navy header + rings,
   big navy day, weekday + year, peeling corner. */
.wp-banner__date-block {
    position: relative;
    flex-shrink: 0;
    width: 72px;
    min-height: 80px;
    /* grows with content — no overflow */
    margin-top: 6px;
    /* room for the spiral rings poking above */
    background: var(--neu-card);
    border: 0;
    border-radius: 7px;
    box-shadow: 0 8px 18px -9px rgba(11, 30, 63, 0.45);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 0 8px;
}

/* navy month header */
.wp-banner__date-head {
    width: 100%;
    background: #0B2A52;
    color: #fff;
    font-family: var(--neu-font-display);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-align: center;
    padding: 6px 4px 4px;
    border-radius: 7px 7px 0 0;
    white-space: nowrap;
}

/* spiral binding rings straddling the header top (drawn with a repeating gradient) */
.wp-banner__date-rings {
    position: absolute;
    top: -6px;
    left: 8px;
    right: 8px;
    height: 11px;
    z-index: 2;
    background-image: radial-gradient(circle at center, #0B2A52 0 2.4px, transparent 3px);
    background-size: 13px 11px;
    background-repeat: repeat-x;
    background-position: center top;
}

.wp-banner__date-day {
    font-family: var(--neu-font-display);
    font-size: 32px;
    font-weight: 800;
    color: var(--neu-accent);
    line-height: 1;
    margin: 10px 0 8px;
}

/* word values ("Today") shrink to fit the calendar width */
.wp-banner__date-day--word {
    font-size: 17px;
    margin: 15px 0 13px;
    letter-spacing: -0.01em;
}

.wp-banner__date-week {
    font-size: 9.5px;
    font-weight: 700;
    color: var(--neu-muted);
    letter-spacing: 0.04em;
}

/* peeling bottom-right corner */
.wp-banner__date-block::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 18px;
    height: 18px;
    background: linear-gradient(135deg, transparent 50%, #E3E9F2 52%, #C7D2E3 100%);
    border-top-left-radius: 6px;
    border-bottom-right-radius: 8px;
    box-shadow: -2px -2px 4px rgba(11, 30, 63, 0.10);
}

/* Schedule segments: Time | Countdown, split by a hairline divider */
.wp-banner__sched-seg {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--neu-fg);
}

.wp-banner__sched-seg>svg {
    width: 32px;
    height: 32px;
    padding: 8px;
    box-sizing: border-box;
    border-radius: 9px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    flex-shrink: 0;
}

.wp-banner__sched-seg small {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--neu-muted);
    line-height: 1;
    margin-bottom: 4px;
}

.wp-banner__sched-seg strong {
    display: block;
    font-family: var(--neu-font-display);
    font-size: 16px;
    font-weight: 800;
    color: var(--neu-fg);
    line-height: 1;
    letter-spacing: -0.01em;
}

.wp-banner__sched-seg--days strong {
    color: var(--neu-accent);
}

.wp-banner__sched-seg--days strong span {
    font-family: var(--neu-font-body);
    font-size: 12px;
    font-weight: 600;
    color: var(--neu-muted);
    letter-spacing: 0;
    margin-left: 2px;
}

/* Speaker segment (replaces the time/countdown) */
.wp-banner__sched-avatar {
    width: 76px;
    height: 76px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--neu-accent-light);
    border: 2px solid var(--neu-card);
    box-shadow: 0 0 0 1px var(--neu-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.wp-banner__sched-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wp-banner__sched-avatar>span {
    font-family: var(--neu-font-display);
    font-weight: 700;
    color: var(--neu-accent);
    font-size: 16px;
}

.wp-banner__sched-role {
    display: block;
    font-family: var(--neu-font-body);
    font-size: 12px;
    font-weight: 500;
    color: var(--neu-muted);
    line-height: 1.2;
    margin-top: 3px;
}

.wp-banner__sched-divider {
    width: 1px;
    align-self: stretch;
    min-height: 36px;
    background: var(--neu-border);
    flex-shrink: 0;
}

/* On-demand: simpler meta pills row */
.wp-banner__meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.wp-banner__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    color: var(--neu-fg);
    font-size: 12px;
    font-weight: 600;
}

.wp-banner__meta-item svg {
    color: var(--neu-accent);
}

/* Bottom CTA strip */
.wp-banner__bottom {
    margin-top: auto;
    padding-top: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.wp-banner__bottom-meta {
    color: var(--neu-muted);
    font-size: 12.5px;
}

.wp-banner__bottom-meta strong {
    color: var(--neu-fg);
    font-weight: 700;
}

.wp-banner__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 22px;
    background: var(--neu-accent);
    color: #fff !important;
    border-radius: var(--neu-r-pill);
    font-weight: 700;
    font-size: 13px;
    transition: all 0.2s ease;
}

.wp-banner--rec .wp-banner__cta {
    background: var(--neu-fg);
}

.wp-banner:hover .wp-banner__cta {
    background: var(--neu-accent-hover);
    transform: translateX(2px);
}

.wp-banner--rec:hover .wp-banner__cta {
    background: #143A7A;
}

@media (max-width: 767px) {
    .wp-banner__media {
        min-height: 220px;
    }

    .wp-banner__body {
        padding: 22px 22px;
    }

    .wp-banner__schedule {
        flex-wrap: wrap;
        gap: 14px;
        align-items: center;
    }

    .wp-banner__sched-divider {
        display: none;
    }

    /* calendar keeps its fixed compact size on mobile (don't stretch) */
}

/* Empty state */
.ce-empty {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 56px 32px;
    text-align: center;
}

.ce-empty__icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--neu-muted);
    margin-bottom: 16px;
}

.ce-empty h4 {
    color: var(--neu-fg);
    font-weight: 700;
    margin: 0 0 6px;
}

.ce-empty p {
    color: var(--neu-muted);
    margin: 0;
    font-size: 14px;
}

/* -------------------------------------------------------------------------
   10. HIGHLIGHTS SECTION
   ------------------------------------------------------------------------- */
.wp-highlights {
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    padding: 80px 0;
    border-top: 1px solid var(--neu-border);
    border-bottom: 1px solid var(--neu-border);
}

.wp-highlights__bg,
.wp-highlights__orb {
    display: none;
}

.wp-highlights__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: start;
}

@media (min-width: 992px) {
    .wp-highlights__layout {
        grid-template-columns: 1fr 1fr;
        gap: 64px;
    }
}

.wp-highlights__kicker {
    display: inline-block;
    padding: 6px 14px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.wp-highlights__heading {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 800;
    color: var(--neu-fg) !important;
    line-height: 1.15;
    margin: 0 0 20px;
}

.wp-highlights__heading span {
    color: var(--neu-accent);
    -webkit-text-fill-color: var(--neu-accent);
}

.wp-highlights__text {
    color: var(--neu-muted) !important;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 28px;
}

.wp-highlights__numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.wp-highlights__num {
    flex: 1;
    min-width: 110px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    padding: 18px;
}

.wp-highlights__num strong {
    font-family: var(--neu-font-display);
    font-size: 26px;
    font-weight: 800;
    color: var(--neu-accent);
    line-height: 1;
}

.wp-highlights__num span {
    color: var(--neu-muted);
    font-size: 11px;
    font-weight: 600;
}

.wp-highlights__right {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

@media (min-width: 640px) {
    .wp-highlights__right {
        grid-template-columns: 1fr 1fr;
    }
}

.wp-hl-card {
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 24px;
    transition: all 0.25s ease;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wp-hl-card:hover {
    border-color: var(--neu-accent);
    background: var(--neu-card);
    box-shadow: var(--neu-shadow-sm);
}

.wp-hl-card__icon {
    width: 44px;
    height: 44px;
    border-radius: var(--neu-r-base);
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.wp-hl-card__icon--green,
.wp-hl-card__icon--amber {
    background: var(--neu-success-bg);
    color: var(--neu-accent-2);
}

.wp-hl-card__icon svg {
    stroke: currentColor !important;
}

.wp-hl-card__title {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 700;
    font-size: 16px;
    margin: 0;
}

.wp-hl-card__desc {
    color: var(--neu-muted);
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

/* -------------------------------------------------------------------------
   11. TESTIMONIALS
   ------------------------------------------------------------------------- */
.wp-ticker-reviews {
    background: var(--neu-bg);
    padding: 80px 0 64px;
    overflow: hidden;
}

.wp-ticker-reviews__header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 40px;
}

.wp-steps__kicker {
    display: inline-block;
    padding: 6px 14px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.wp-steps__heading {
    font-family: var(--neu-font-display);
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    font-weight: 800;
    color: var(--neu-fg);
    margin: 0 0 12px;
}

.wp-ticker-reviews__sub {
    color: var(--neu-muted);
    font-size: 15px;
    margin: 0;
}

.wp-ticker-reviews__sub strong {
    color: var(--neu-accent);
}

.wp-ticker-reviews__track-wrap {
    overflow: hidden;
    position: relative;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.wp-ticker-reviews__track {
    display: flex;
    gap: 20px;
    width: max-content;
    animation: neuMarquee 50s linear infinite;
    padding: 12px 0;
}

@keyframes neuMarquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.wp-tcard {
    width: 320px;
    flex-shrink: 0;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wp-tcard__stars {
    display: inline-flex;
    gap: 2px;
    width: fit-content;
}

.wp-tcard__text {
    color: var(--neu-fg) !important;
    font-family: var(--neu-font-body) !important;
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
    flex: 1;
}

.wp-tcard__author {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px solid var(--neu-divider);
}

.wp-tcard__avatar {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    background: var(--neu-accent) !important;
}

.wp-tcard__author strong {
    display: block;
    color: var(--neu-fg);
    font-weight: 700;
    font-size: 14px;
}

.wp-tcard__author span {
    color: var(--neu-muted);
    font-size: 12px;
}

/* -------------------------------------------------------------------------
   12. SPEAKERS
   ------------------------------------------------------------------------- */
.ce-speakers-section {
    background: var(--neu-card);
    padding: 80px 0;
    border-top: 1px solid var(--neu-border);
}

.ce-speakers-bg,
.ce-speakers-bg__shape {
    display: none;
}

.ce-speakers-header {
    text-align: center;
    margin-bottom: 40px;
}

.ce-speakers-kicker {
    display: inline-block;
    padding: 6px 14px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.ce-speakers-title {
    font-family: var(--neu-font-display);
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    font-weight: 800;
    color: var(--neu-fg);
    margin: 0 0 12px;
}

.ce-speakers-desc {
    color: var(--neu-muted);
    font-size: 15px;
    max-width: 540px;
    margin: 0 auto;
}

.spk-col {
    padding: 12px;
}

.spk2 {
    display: block;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 24px 22px;
    text-align: center;
    transition: all 0.25s ease;
    text-decoration: none;
}

.spk2:hover {
    border-color: var(--neu-accent);
    box-shadow: var(--neu-shadow-md);
    transform: translateY(-3px);
    text-decoration: none;
}

.spk2__img-wrap {
    position: relative;
    width: 120px;
    height: 120px;
    margin: 0 auto 16px;
}

.spk2__img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--neu-accent-light);
}

.spk2__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.spk2__badge {
    position: absolute;
    bottom: 4px;
    right: 4px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--neu-accent-2);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--neu-card);
}

.spk2__name {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 700;
    font-size: 16px;
    margin: 0 0 4px;
}

.spk2__role {
    display: block;
    color: var(--neu-muted);
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 14px;
}

.spk2__link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--neu-accent);
    font-size: 12px;
    font-weight: 600;
    padding: 6px 14px;
    background: var(--neu-accent-light);
    border-radius: var(--neu-r-pill);
    transition: all 0.2s ease;
}

.spk2:hover .spk2__link {
    background: var(--neu-accent);
    color: #fff;
}

.ce-speakers-footer {
    text-align: center;
    margin-top: 32px;
}

/* -------------------------------------------------------------------------
   13. CTA SECTION
   ------------------------------------------------------------------------- */
.wp-cta {
    background: var(--neu-bg) !important;
    padding: 80px 0;
}

.wp-cta__bg,
.wp-cta__orb {
    display: none;
}

.wp-cta__inner {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
    background: var(--neu-card);
    padding: 56px 40px;
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    box-shadow: var(--neu-shadow-sm);
}

.wp-cta__heading {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 800;
    color: var(--neu-fg) !important;
    margin: 0 0 14px;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.wp-cta__heading span {
    color: var(--neu-accent);
    -webkit-text-fill-color: var(--neu-accent);
}

.wp-cta__text {
    color: var(--neu-muted) !important;
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 28px;
}

.wp-cta__form {
    display: flex;
    gap: 8px;
    max-width: 480px;
    margin: 0 auto 28px;
    flex-wrap: wrap;
}

.wp-cta__form input[type="email"] {
    flex: 1;
    min-width: 200px;
    background: var(--neu-card) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-base) !important;
    padding: 14px 18px;
    font-size: 14px;
    color: var(--neu-fg) !important;
    outline: none;
    transition: border-color 0.2s ease;
}

.wp-cta__form input[type="email"]:focus {
    border-color: var(--neu-accent) !important;
}

.wp-cta__form input[type="email"]::placeholder {
    color: var(--neu-placeholder);
}

.wp-cta__form button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 22px;
    background: var(--neu-accent) !important;
    color: #fff !important;
    border: 1px solid var(--neu-accent) !important;
    border-radius: var(--neu-r-base);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.wp-cta__form button:hover {
    background: var(--neu-accent-hover) !important;
    border-color: var(--neu-accent-hover) !important;
}

/* Old stats kept hidden; new perks pill row used instead */
.wp-cta__stats {
    display: none !important;
}

.wp-cta__perks {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 8px;
}

.wp-cta__perk {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 12.5px;
    font-weight: 600;
}

.wp-cta__perk svg {
    color: var(--neu-accent);
}

/* -------------------------------------------------------------------------
   14. FOOTER
   ------------------------------------------------------------------------- */
.wp-ft {
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    margin-top: 48px;
    border-top: 1px solid var(--neu-border);
}

.wp-ft__trust {
    padding: 40px 0 0;
}

.wp-ft__trust-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 20px 32px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    max-width: 960px;
    margin: 0 auto;
    transform: translateY(-32px);
}

.wp-ft__trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 90px;
    text-align: center;
}

.wp-ft__trust-item strong {
    font-family: var(--neu-font-display);
    color: var(--neu-accent);
    font-weight: 800;
    font-size: 22px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

.wp-ft__trust-item span {
    color: var(--neu-muted);
    font-size: 10.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.wp-ft__trust-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--neu-border-strong);
}

@media (max-width: 767px) {
    .wp-ft__trust-dot {
        display: none;
    }

    .wp-ft__trust-item {
        min-width: calc(50% - 8px);
    }
}

.wp-ft__main {
    padding: 40px 0 40px;
}

.wp-ft__main::before {
    display: none;
}

.wp-ft__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 36px;
}

@media (min-width: 640px) {
    .wp-ft__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 992px) {
    .wp-ft__grid {
        grid-template-columns: 1.8fr 1fr 1fr 1.4fr;
        gap: 48px;
    }
}

.wp-ft__brand {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.wp-ft__logo-wrap {
    display: inline-block;
    padding: 0;
    background: transparent;
}

.wp-ft__logo {
    height: 80px;
    width: auto;
    display: block;
}

.wp-ft__tagline {
    color: var(--neu-muted) !important;
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
    max-width: 280px;
}

.wp-ft__social {
    display: flex;
    gap: 8px;
}

.wp-ft__social a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    color: var(--neu-muted) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.wp-ft__social a:hover {
    color: #fff !important;
    background: var(--neu-accent);
    border-color: var(--neu-accent);
}

.wp-ft__col-title {
    font-family: var(--neu-font-display);
    color: var(--neu-fg) !important;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin: 0 0 18px;
    padding-left: 0;
}

.wp-ft__col-title::before {
    display: none;
}

.wp-ft__links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.wp-ft__links a {
    display: inline-flex;
    align-items: center;
    padding: 4px 0;
    color: var(--neu-muted) !important;
    font-size: 14px;
    transition: color 0.15s ease;
}

.wp-ft__links a::before {
    display: none;
}

.wp-ft__links a:hover {
    color: var(--neu-accent) !important;
    padding-left: 0;
}

.wp-ft__links--contact {
    gap: 10px;
}

.wp-ft__links--contact li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--neu-muted);
    font-size: 13px;
    line-height: 1.5;
    padding: 0;
    background: transparent;
}

.wp-ft__links--contact svg {
    flex-shrink: 0;
    margin-top: 3px;
    color: var(--neu-accent);
}

.wp-ft__links--contact a {
    color: var(--neu-fg) !important;
    padding: 0 !important;
}

.wp-ft__links--contact a:hover {
    color: var(--neu-accent) !important;
}

.wp-ft__bottom {
    padding: 0 0 20px;
}

.wp-ft__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 16px 24px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
}

.wp-ft__copy {
    color: var(--neu-muted);
    font-size: 12px;
}

.wp-ft__bottom-links {
    display: flex;
    gap: 6px;
}

.wp-ft__bottom-links a {
    padding: 4px 12px;
    color: var(--neu-muted) !important;
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.wp-ft__bottom-links a:hover {
    color: var(--neu-accent) !important;
    background: var(--neu-accent-light);
}

.wp-ft__top-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--neu-card);
    color: var(--neu-accent);
    border: 1px solid var(--neu-border);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.wp-ft__top-btn:hover {
    background: var(--neu-accent);
    color: #fff;
    border-color: var(--neu-accent);
}

/* -------------------------------------------------------------------------
   15. MODAL
   ------------------------------------------------------------------------- */
.modal-content {
    background: var(--neu-card) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-card) !important;
    box-shadow: var(--neu-shadow-lg) !important;
}

.modal-header {
    border-bottom: 1px solid var(--neu-border) !important;
    padding: 16px 20px !important;
}

.modal-header .close {
    color: var(--neu-muted) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.modal-title {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 700;
}

.modal-body {
    padding: 24px !important;
}

.form-control {
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-base) !important;
    padding: 10px 14px !important;
    font-family: var(--neu-font-body);
    transition: border-color 0.2s ease;
}

.form-control:focus {
    border-color: var(--neu-accent) !important;
    box-shadow: 0 0 0 3px var(--neu-accent-soft) !important;
    outline: none;
}

.form-control::placeholder {
    color: var(--neu-placeholder) !important;
}

.form-label {
    color: var(--neu-fg);
    font-weight: 600;
    font-size: 13px;
    margin-bottom: 6px;
}

.treqired {
    color: var(--neu-danger) !important;
}

/* -------------------------------------------------------------------------
   16. FADE ANIMATIONS
   ------------------------------------------------------------------------- */
.wp-hl-card {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.wp-hl-card.et-visible,
.et-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 991px) {
    .wp-hero-v2 {
        padding: 56px 0;
    }

    .wp-section,
    .wp-section--alt,
    .wp-highlights,
    .wp-cta,
    .wp-ticker-reviews,
    .ce-speakers-section {
        padding: 56px 0;
    }


    .wp-cta__inner {
        padding: 40px 24px;
    }

    .wp-card__body {
        min-height: 0;
    }
}

/* =========================================================================
   ABOUT PAGE
   ========================================================================= */
.abt-hero {
    background: var(--neu-bg) !important;
    padding: 72px 0 56px;
}

.abt-hero::before,
.abt-hero::after {
    display: none;
}

.abt-hero__inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.abt-hero__pill {
    display: inline-block;
    padding: 6px 14px;
    background: var(--neu-accent-light);
    color: var(--neu-accent) !important;
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.abt-hero__title {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 800;
    color: var(--neu-fg) !important;
    line-height: 1.1;
    margin: 0 0 18px;
    letter-spacing: -0.025em;
}

.abt-hero__title span {
    color: var(--neu-accent);
    -webkit-text-fill-color: var(--neu-accent);
}

.abt-hero__desc {
    color: var(--neu-muted) !important;
    font-size: 16px;
    line-height: 1.7;
    max-width: 700px;
    margin: 0 auto;
}

.abt-stats {
    background: var(--neu-bg) !important;
    padding: 24px 0 56px;
}

.abt-stats__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

@media (min-width: 768px) {
    .abt-stats__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.abt-stats__item {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 24px 20px;
    text-align: center;
    transition: all 0.2s ease;
}

.abt-stats__item:hover {
    border-color: var(--neu-accent);
    box-shadow: var(--neu-shadow-sm);
}

.abt-stats__icon {
    width: 48px;
    height: 48px;
    border-radius: var(--neu-r-base);
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}

.abt-stats__item strong {
    font-family: var(--neu-font-display);
    font-size: 26px;
    font-weight: 800;
    color: var(--neu-accent);
    line-height: 1;
    display: block;
}

.abt-stats__item span {
    color: var(--neu-muted);
    font-size: 12px;
    font-weight: 500;
}

.abt-why {
    background: var(--neu-card) !important;
    padding: 56px 0 80px;
    border-top: 1px solid var(--neu-border);
    border-bottom: 1px solid var(--neu-border);
}

.abt-why__head {
    text-align: center;
    margin-bottom: 40px;
}

.abt-why__head h2 {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(1.7rem, 3.8vw, 2.4rem);
    font-weight: 800;
    color: var(--neu-fg) !important;
    margin: 0;
}

.abt-why__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

@media (min-width: 640px) {
    .abt-why__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 992px) {
    .abt-why__grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

.abt-why__card {
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 28px 24px;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.abt-why__card:hover {
    border-color: var(--neu-accent);
    background: var(--neu-card);
    box-shadow: var(--neu-shadow-sm);
}

.abt-why__card-icon {
    width: 52px;
    height: 52px;
    border-radius: var(--neu-r-base);
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.abt-why__card h4 {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 700;
    font-size: 16px;
    margin: 0;
}

.abt-why__card p {
    color: var(--neu-muted);
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

.abt-body {
    background: var(--neu-bg) !important;
    padding: 32px 0 80px;
}

.abt-body__content {
    max-width: 800px;
    margin: 0 auto;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    padding: 40px 36px;
    border-radius: var(--neu-r-card);
    color: var(--neu-fg);
    font-size: 15px;
    line-height: 1.8;
}

.abt-body__content h1,
.abt-body__content h2,
.abt-body__content h3,
.abt-body__content h4 {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 700;
    margin-top: 20px;
    margin-bottom: 12px;
}

.abt-body__content a {
    color: var(--neu-accent);
}

.abt-cta {
    background: var(--neu-bg) !important;
    padding: 56px 0 80px;
}

.abt-cta__inner {
    max-width: 700px;
    margin: 0 auto;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 48px 36px;
    text-align: center;
}

.abt-cta__inner h2 {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800;
    font-size: clamp(1.5rem, 3vw, 2rem);
    margin: 0 0 12px;
}

.abt-cta__inner p {
    color: var(--neu-muted) !important;
    font-size: 15px;
    margin: 0 0 24px;
}

.abt-cta__btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

/* =========================================================================
   CONTACT PAGE
   ========================================================================= */
.ctp {
    background: var(--neu-bg) !important;
    padding: 56px 0 80px;
}

.ctp__bread {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    color: var(--neu-muted);
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 28px;
}

.ctp__bread a {
    color: var(--neu-muted);
}

.ctp__bread a:hover {
    color: var(--neu-accent);
}

.ctp__bread span {
    color: var(--neu-fg);
    font-weight: 600;
}

.ctp__header {
    margin-bottom: 40px;
}

.ctp__header h1 {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 800;
    color: var(--neu-fg) !important;
    margin: 0 0 10px;
}

.ctp__header p {
    color: var(--neu-muted) !important;
    font-size: 15px;
    line-height: 1.7;
    max-width: 580px;
    margin: 0;
}

.ctp__alert {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    background: var(--neu-success-bg);
    color: var(--neu-accent-2);
    border: 1px solid var(--neu-accent-2);
    border-radius: var(--neu-r-base);
    margin-bottom: 28px;
    font-size: 14px;
    font-weight: 500;
}

.ctp__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
}

@media (min-width: 992px) {
    .ctp__grid {
        grid-template-columns: 1.4fr 1fr;
        gap: 32px;
    }
}

.ctp__form-card {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 36px 32px;
}

.ctp__form-card h3 {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 700;
    font-size: 20px;
    margin: 0 0 20px;
}

.ctp__form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

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

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

.ctp__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ctp__field label {
    color: var(--neu-fg);
    font-weight: 600;
    font-size: 13px;
}

.ctp__field input,
.ctp__field textarea,
.ctp__field select {
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-base) !important;
    padding: 12px 16px !important;
    font-family: var(--neu-font-body);
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s ease;
    width: 100%;
}

.ctp__field input:focus,
.ctp__field textarea:focus,
.ctp__field select:focus {
    border-color: var(--neu-accent) !important;
    box-shadow: 0 0 0 3px var(--neu-accent-soft) !important;
}

.ctp__field textarea {
    resize: vertical;
    min-height: 120px;
}

.ctp__field select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 14px !important;
    padding-right: 36px !important;
}

.ctp__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 26px;
    background: var(--neu-accent) !important;
    color: #fff !important;
    border: 1px solid var(--neu-accent) !important;
    border-radius: var(--neu-r-base) !important;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s ease;
    align-self: flex-start;
}

.ctp__submit:hover {
    background: var(--neu-accent-hover) !important;
    border-color: var(--neu-accent-hover) !important;
}

.ctp__sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ctp__info-block {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    padding: 20px 22px;
    transition: border-color 0.2s ease;
}

.ctp__info-block:hover {
    border-color: var(--neu-accent);
}

.ctp__info-block h4 {
    color: var(--neu-accent);
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 8px;
}

.ctp__info-block p,
.ctp__info-block a {
    color: var(--neu-fg) !important;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.ctp__info-block a:hover {
    color: var(--neu-accent) !important;
}

.ctp__help {
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    padding: 20px 22px;
}

.ctp__help strong {
    display: block;
    color: var(--neu-fg);
    font-weight: 700;
    font-size: 13px;
    margin-bottom: 10px;
}

.ctp__help-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.ctp__help-links a {
    padding: 5px 12px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    color: var(--neu-muted) !important;
    border-radius: var(--neu-r-pill);
    font-size: 12px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.ctp__help-links a:hover {
    color: var(--neu-accent) !important;
    border-color: var(--neu-accent);
    background: var(--neu-accent-light);
}

/* =========================================================================
   LISTING PAGES
   ========================================================================= */
.layered-bg {
    background: var(--neu-bg) !important;
    padding: 56px 16px 80px;
}

.section-heading {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 800;
    color: var(--neu-fg) !important;
    margin: 0 0 40px;
    text-align: center;
    position: relative;
    padding-bottom: 16px;
}

.section-heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    border-radius: 2px;
    background: var(--neu-accent);
}

.alert.alert-info {
    background: var(--neu-card) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-card) !important;
    color: var(--neu-fg) !important;
    padding: 40px 32px !important;
    text-align: center;
    max-width: 700px !important;
    margin: 0 auto !important;
    width: auto !important;
}

.alert.alert-info .alert-heading {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 700;
    font-size: 18px;
    margin: 0;
}

/* Pagination */
.pagination {
    display: inline-flex;
    gap: 6px;
    padding: 6px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    margin: 32px auto 0;
    list-style: none;
    flex-wrap: wrap;
    justify-content: center;
}

.pagination li,
.pagination .page-link,
.pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 12px;
    background: var(--neu-card);
    color: var(--neu-fg) !important;
    border-radius: var(--neu-r-pill) !important;
    border: none !important;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.pagination li:hover,
.pagination a:hover {
    color: var(--neu-accent) !important;
    background: var(--neu-accent-light);
}

.pagination .active,
.pagination .current,
.pagination li.active a,
.pagination li.active {
    background: var(--neu-accent) !important;
    color: #fff !important;
}

.pagination .disabled,
.pagination .disabled a {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

/* =========================================================================
   AUTH PAGES
   ========================================================================= */
.auth-page {
    background: var(--neu-bg) !important;
    padding: 56px 0 80px;
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: center;
}

.auth-page::before,
.auth-page::after {
    display: none;
}

.auth-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    max-width: 1080px;
    margin: 0 auto;
    width: 100%;
}

@media (min-width: 992px) {
    .auth-grid {
        grid-template-columns: 1fr 1fr;
        align-items: center;
        gap: 40px;
    }
}

.auth-side {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 44px 36px;
}

.auth-side::before {
    display: none;
}

.auth-side__content {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.auth-side__icon {
    width: 60px;
    height: 60px;
    border-radius: var(--neu-r-base);
    background: var(--neu-accent-light);
    color: var(--neu-accent) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.auth-side__title {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    margin: 0;
}

.auth-side__desc {
    color: var(--neu-muted) !important;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.auth-side__features {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.auth-side__feat {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    color: var(--neu-fg);
    font-size: 13px;
    font-weight: 500;
}

.auth-side__feat .fa {
    color: var(--neu-accent-2);
    font-size: 14px;
}

.auth-form-wrap {
    width: 100%;
}

.auth-form-card {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 44px 36px;
    box-shadow: var(--neu-shadow-sm);
}

.auth-form__title {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800;
    font-size: 24px;
    margin: 0 0 6px;
}

.auth-form__subtitle {
    color: var(--neu-muted) !important;
    font-size: 14px;
    margin: 0 0 24px;
}

.auth-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: var(--neu-r-base);
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 18px;
    border: 1px solid;
}

.auth-alert .fa {
    font-size: 15px;
}

.auth-alert--error {
    background: var(--neu-danger-bg);
    color: var(--neu-danger);
    border-color: var(--neu-danger);
}

.auth-alert--success {
    background: var(--neu-success-bg);
    color: var(--neu-accent-2);
    border-color: var(--neu-accent-2);
}

.auth-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.auth-form__group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.auth-form__label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.auth-form__group label {
    color: var(--neu-fg);
    font-weight: 600;
    font-size: 13px;
}

.auth-form__forgot {
    color: var(--neu-accent) !important;
    font-size: 12px;
    font-weight: 600;
}

.auth-form__forgot:hover {
    color: var(--neu-accent-hover) !important;
}

.auth-form__input-wrap {
    position: relative;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.auth-form__input-wrap:focus-within {
    border-color: var(--neu-accent);
    box-shadow: 0 0 0 3px var(--neu-accent-soft);
}

.auth-form__input-wrap>.fa {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--neu-muted);
    font-size: 14px;
    pointer-events: none;
}

.auth-form__input {
    width: 100%;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    padding: 12px 16px 12px 40px !important;
    font-size: 14px;
    color: var(--neu-fg) !important;
}

.auth-form__input::placeholder {
    color: var(--neu-placeholder);
}

.auth-form__eye {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: var(--neu-muted);
    cursor: pointer;
    transition: color 0.2s ease;
}

.auth-form__eye:hover {
    color: var(--neu-accent);
}

.auth-form__submit {
    margin-top: 8px;
    justify-content: center;
    width: 100%;
}

.auth-form__footer {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--neu-border);
    text-align: center;
    font-size: 14px;
    color: var(--neu-muted);
}

.auth-form__footer a {
    color: var(--neu-accent) !important;
    font-weight: 600;
    margin-left: 4px;
}

/* =========================================================================
   SPEAKER LIST + FAQ + Generic
   ========================================================================= */
.spklist-page {
    background: var(--neu-bg) !important;
    padding: 56px 0 80px;
}

.spklist-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.spklist-head__text {
    flex: 1;
    min-width: 280px;
}

.spklist-head__title {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    font-weight: 800;
    color: var(--neu-fg) !important;
    margin: 0 0 8px;
}

.spklist-head__desc {
    color: var(--neu-muted) !important;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
    max-width: 540px;
}

.spklist-head__count {
    padding: 8px 18px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 13px;
    font-weight: 700;
}

/* FAQ */
.faq-page {
    background: var(--neu-bg) !important;
    padding: 56px 0 80px;
}

.faq-page__head {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 40px;
}

.faq-page__icon {
    width: 64px;
    height: 64px;
    border-radius: var(--neu-r-card);
    background: var(--neu-accent-light);
    color: var(--neu-accent) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

.faq-page__title {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 800;
    color: var(--neu-fg) !important;
    margin: 0 0 10px;
}

.faq-page__desc {
    color: var(--neu-muted) !important;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.faq-list {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.faq-item {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.faq-item.is-open {
    border-color: var(--neu-accent);
    box-shadow: var(--neu-shadow-sm);
}

.faq-item__q {
    width: 100%;
    background: transparent;
    border: none;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    gap: 14px;
    cursor: pointer;
    text-align: left;
    color: var(--neu-fg);
    font-size: 15px;
    font-weight: 600;
    transition: color 0.2s ease;
}

.faq-item__q:hover {
    color: var(--neu-accent);
}

.faq-item.is-open .faq-item__q {
    color: var(--neu-accent);
}

.faq-item__num {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--neu-font-display);
    font-weight: 800;
    font-size: 13px;
}

.faq-item.is-open .faq-item__num {
    background: var(--neu-accent);
    color: #fff;
}

.faq-item__text {
    flex: 1;
}

.faq-item__arrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--neu-bg);
    color: var(--neu-fg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.faq-item.is-open .faq-item__arrow {
    transform: rotate(180deg);
    background: var(--neu-accent);
    color: #fff;
}

.faq-item__a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.faq-item__a--open {
    max-height: 9999px;
}

.faq-item__content {
    padding: 0 22px 20px 72px;
    color: var(--neu-muted);
    font-size: 14px;
    line-height: 1.7;
}

.faq-item__content p {
    margin: 0 0 10px;
}

.faq-item__content a {
    color: var(--neu-accent);
}

.faq-page__cta {
    text-align: center;
    margin-top: 40px;
    padding: 36px 32px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.faq-page__cta p {
    color: var(--neu-fg);
    font-family: var(--neu-font-display);
    font-weight: 700;
    font-size: 16px;
    margin: 0 0 14px;
}

/* Generic form inputs */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="datetime-local"],
input[type="date"],
input[type="url"],
textarea,
select {
    font-family: var(--neu-font-body);
}

select.form-control {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 14px !important;
    padding-right: 36px !important;
}

/* =========================================================================
   CONFERENCE PAGE
   ========================================================================= */
.confhero {
    background: var(--neu-bg) !important;
    padding: 40px 0 32px;
}

.confhero__decor {
    display: none;
}

.confhero__bread {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    font-size: 12px;
    margin-bottom: 24px;
    max-width: 100%;
    overflow: hidden;
}

.confhero__bread a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--neu-muted) !important;
    font-weight: 500;
    white-space: nowrap;
}

.confhero__bread a:hover {
    color: var(--neu-accent) !important;
}

.confhero__bread-sep {
    color: var(--neu-border-strong);
}

.confhero__bread-current {
    color: var(--neu-fg);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 320px;
}

.confhero__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: start;
}

@media (min-width: 992px) {
    .confhero__layout {
        grid-template-columns: 1.4fr 1fr;
        gap: 28px;
    }
}

.confhero__order {
    position: relative;
}


.confhero__main {
    background: var(--neu-card) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-card) !important;
    padding: 28px 30px !important;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.confhero__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
}

.confhero__pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    color: var(--neu-muted);
}

.confhero__pill--live {
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-color: var(--neu-accent-soft);
}

.confhero__pill--rec {
    background: var(--neu-success-bg);
    color: var(--neu-accent-2);
    border-color: var(--neu-accent-2);
}

.confhero__pill--cat {
    color: var(--neu-fg);
}

.confhero__pill--countdown {
    background: var(--neu-warning-bg);
    color: var(--neu-warning);
    border-color: var(--neu-warning);
}

.confhero__pulse {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--neu-accent);
    animation: flatPulse 1.6s ease-out infinite;
}

.confhero__title {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(1.4rem, 2.8vw, 1.9rem) !important;
    font-weight: 800;
    color: var(--neu-fg) !important;
    line-height: 1.25;
    margin: 0 0 18px;
}

.confhero__meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-bottom: 14px;
}

@media (min-width: 575px) {
    .confhero__meta {
        grid-template-columns: repeat(3, 1fr);
    }
}

.confhero__meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
}

.confhero__meta-ico {
    width: 34px;
    height: 34px;
    border-radius: var(--neu-r-inner);
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.confhero__meta-text {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.confhero__meta-text small {
    color: var(--neu-muted);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
}

.confhero__meta-text strong {
    color: var(--neu-fg);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.confhero__speaker {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    text-decoration: none !important;
    transition: border-color 0.2s ease;
}

.confhero__speaker:hover {
    border-color: var(--neu-accent);
}

.confhero__speaker-img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--neu-card);
    border: 2px solid var(--neu-accent-light);
    flex-shrink: 0;
}

.confhero__speaker-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.confhero__speaker-info {
    flex: 1;
    min-width: 0;
}

.confhero__speaker-info small {
    display: block;
    color: var(--neu-muted);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 2px;
}

.confhero__speaker-info strong {
    display: block;
    color: var(--neu-fg);
    font-weight: 600;
    font-size: 15px;
    font-family: var(--neu-font-display);
}

.confhero__speaker-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--neu-accent);
    font-size: 12px;
    font-weight: 600;
    padding: 6px 12px;
    background: var(--neu-accent-light);
    border-radius: var(--neu-r-pill);
}

.confhero__section {
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    padding: 18px 22px;
}

.confhero__section-title {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    margin: 0 0 10px !important;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--neu-border);
}

.confhero__section-body {
    color: var(--neu-fg);
    font-size: 13.5px;
    line-height: 1.7;
}

.confhero__section-body p {
    margin: 0 0 10px;
    color: var(--neu-fg);
}

.confhero__section-body p:last-child {
    margin-bottom: 0;
}

.confhero__section-body a {
    color: var(--neu-accent);
}

.confhero__section-body ul,
.confhero__section-body ol {
    padding-left: 22px;
}

.confhero__section-body strong {
    color: var(--neu-fg);
    font-weight: 700;
}

.webinar-desc * {
    color: var(--neu-fg) !important;
}

.webinar-desc a {
    color: var(--neu-accent) !important;
}

.confhero__share-row-inline {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    flex-wrap: wrap;
}

.confhero__share-row-inline>span {
    color: var(--neu-muted);
    font-size: 12px;
    font-weight: 600;
}

.confhero__share-btns {
    display: flex;
    gap: 4px;
}

.confhero__share-btns a,
.confhero__share-btns button {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    color: var(--neu-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.confhero__share-btns a:hover,
.confhero__share-btns button:hover {
    color: #fff;
    background: var(--neu-accent);
    border-color: var(--neu-accent);
}

/* Old cv-page hidden */
.cv-page,
.cv-page__content,
.cv-page__speaker-card,
.cv-page__sidebar,
.cv-page__main,
.cv-page__grid,
.cv-page__share,
.cv-page__share-btns,
.cv-page__section,
.confhero__quickcard,
.confhero__price-block,
.confhero__perks,
.confhero__cta {
    display: none !important;
}

/* Order sidebar (cv8-*) */
.cv8-sidebar {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 24px 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cv8-head__title {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: 17px;
    margin: 0 0 4px;
}

.cv8-head__sub {
    color: var(--neu-muted);
    font-size: 12px;
    margin: 0;
}

.cv8-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cv8-group__head {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-accent) !important;
    font-weight: 800 !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    padding: 4px !important;
    border-radius: 4px !important;
    width: fit-content !important;
    border: none !important;
    margin-bottom: 4px !important;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
}

.cv8-group__head::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--neu-accent);
}

.cv8-group:last-child .cv8-group__head {
    color: var(--neu-accent-2) !important;
    background: var(--neu-success-bg) !important;
}

.cv8-group:last-child .cv8-group__head::before {
    background: var(--neu-accent-2);
}

.cv8-item:hover {
    border-color: var(--neu-accent) !important;
    background: var(--neu-accent-light) !important;
}

.cv8-item input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.cv8-item:has(input:checked) {
    box-shadow: none !important;
}

.cv8-item__left {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.cv8-item__icon {
    width: 36px;
    height: 36px;
    border-radius: var(--neu-r-inner);
    background: var(--neu-accent-light) !important;
    color: var(--neu-accent) !important;
    border: none !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.cv8-item__icon svg {
    width: 16px !important;
    height: 16px !important;
    stroke: currentColor !important;
}

.cv8-item:has(input:checked) .cv8-item__icon {
    background: var(--neu-accent) !important;
    color: #fff !important;
}

.cv8-item__name {
    color: var(--neu-fg) !important;
    font-weight: 600;
    font-size: 14px;
}

.cv8-item:has(input:checked) .cv8-item__name {
    font-weight: 700;
}

.cv8-item__right {
    display: flex;
    align-items: center;
    gap: 12px !important;
    flex-shrink: 0;
}

.cv8-item__price {
    color: var(--neu-fg) !important;
    font-weight: 700;
    font-size: 16px;
    font-family: var(--neu-font-display);
}

.cv8-item:has(input:checked) .cv8-item__price {
    color: var(--neu-accent) !important;
    font-weight: 800 !important;
}

.cv8-item__check {
    width: 22px !important;
    height: 22px !important;
    border-radius: 6px !important;
    background: var(--neu-card) !important;
    border: 2px solid var(--neu-border) !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: transparent !important;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.cv8-item:has(input:checked) .cv8-item__check {
    background: var(--neu-accent) !important;
    border-color: var(--neu-accent) !important;
    color: #fff !important;
}

.cv8-item__check svg {
    display: none;
    width: 12px !important;
    height: 12px !important;
}

.cv8-item:has(input:checked) .cv8-item__check svg {
    display: block !important;
    stroke: #fff !important;
}

.cv8-bottom {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 6px;
    box-shadow: none !important;
}

.cv8-bottom__total {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 14px !important;
    background: var(--neu-card) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-base) !important;
    box-shadow: none !important;
}

.cv8-bottom__total span {
    color: var(--neu-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.cv8-bottom__total strong {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-accent) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
}

.cv8-bottom__btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 13px 22px !important;
    background: var(--neu-accent) !important;
    color: #fff !important;
    border: 1px solid var(--neu-accent) !important;
    border-radius: var(--neu-r-base) !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    cursor: pointer;
    transition: background 0.2s ease !important;
    width: 100% !important;
}

.cv8-bottom__btn:hover {
    background: var(--neu-accent-hover) !important;
    border-color: var(--neu-accent-hover) !important;
}

.cv8-perks {
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    position: relative;
}

.cv8-perks::before {
    content: "WHAT'S INCLUDED";
    display: block;
    font-family: var(--neu-font-display);
    color: var(--neu-accent);
    font-weight: 800;
    font-size: 10px;
    letter-spacing: 0.14em;
    padding: 5px 12px;
    background: var(--neu-accent-light);
    border-radius: var(--neu-r-pill);
    width: fit-content;
    margin-bottom: 4px;
}

/* Unboxed rows (no per-item border/bg — they sat nested in the order card) */
.cv8-perks li {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 7px 4px;
    color: var(--neu-fg);
    font-size: 13px;
    font-weight: 600;
    /* staggered entrance, sequenced by --i */
    opacity: 0;
    transform: translateY(6px);
    animation: cvPerkIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: calc(var(--i, 0) * 90ms + 80ms);
}

.cv8-perks li+li {
    border-top: 1px solid var(--neu-divider);
}

/* Distinct icon tile per perk */
.cv8-perks__ico {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
}

.cv8-perks__ico svg {
    width: 15px !important;
    height: 15px !important;
}

@keyframes cvPerkIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cv8-perks li::before {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    .cv8-perks li {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

/* Secondary actions below the CTA — quiet, icon-led rows, distinct by purpose */
.cv7-links {
    display: flex !important;
    flex-direction: column;
    gap: 2px;
}

/* Hide only the old middot separators (direct-child spans), not our spans */
.cv7-links>span {
    display: none !important;
}

.cv7-links a {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 10px;
    border-radius: var(--neu-r-inner);
    background-color: var(--bg-page);

    color: var(--neu-fg) !important;
    text-decoration: none !important;
    transition: background 0.18s ease;
}

.cv7-links a:hover {
    background: var(--neu-accent-light) !important;
}

/* high-specificity display so main.css's `.cv7-links span{display:none}` can't win */
.cv7-links a .cv7-links__ico {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--neu-bg);
    color: var(--neu-muted);
    transition: background 0.18s ease, color 0.18s ease;
}

.cv7-links a:hover .cv7-links__ico {
    background: var(--neu-card);
    color: var(--neu-accent);
}

.cv7-links a .cv7-links__txt {
    display: flex !important;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
    flex: 1;
}

.cv7-links__txt strong {
    font-family: var(--neu-font-body);
    font-weight: 600;
    font-size: 13px;
    line-height: 1.2;
    color: var(--neu-fg);
}

.cv7-links__txt small {
    font-size: 11px;
    color: var(--neu-muted);
    line-height: 1.2;
}

.cv7-links__arr {
    flex-shrink: 0;
    color: var(--neu-placeholder);
    transition: transform 0.2s ease, color 0.18s ease;
}

.cv7-links a:hover .cv7-links__arr {
    color: var(--neu-accent);
    transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
    .cv7-links a:hover .cv7-links__arr {
        transform: none;
    }
}



.cv-related-section__title {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800 !important;
    font-size: 22px !important;
    margin: 0 0 24px !important;
}

.cv-related-section__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

@media (min-width: 575px) {
    .cv-related-section__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 992px) {
    .cv-related-section__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.cv-rel-card {
    display: flex;
    flex-direction: column;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    overflow: hidden;
    transition: all 0.25s ease;
    text-decoration: none !important;
}

.cv-rel-card:hover {
    border-color: var(--neu-accent);
    box-shadow: var(--neu-shadow-sm);
    transform: translateY(-2px);
}

.cv-rel-card__img {
    aspect-ratio: 16/10;
    overflow: hidden;
    background: var(--bg-page);
    border-radius: var(--neu-r-base);
    border: 1px solid var(--neu-border);
}

.cv-rel-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cv-rel-card__body {
    padding: 8px 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cv-rel-card__title {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cv-rel-card__meta {
    color: var(--neu-muted);
    font-size: 11px;
    font-weight: 500;
}

.cv-stickybar {
    position: fixed;
    bottom: -100px;
    left: 0;
    right: 0;
    background: var(--neu-card);
    border-top: 1px solid var(--neu-border);
    padding: 12px 0;
    transition: bottom 0.3s ease;
    z-index: 999;
    box-shadow: var(--neu-shadow-md);
}

.cv-stickybar.is-visible {
    bottom: 0;
}

.cv-stickybar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.cv-stickybar__info {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
    min-width: 0;
}

.cv-stickybar__info strong {
    color: var(--neu-fg);
    font-family: var(--neu-font-display);
    font-size: 14px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}

.cv-stickybar__price {
    color: var(--neu-accent);
    font-family: var(--neu-font-display);
    font-size: 18px;
    font-weight: 800;
    padding: 4px 12px;
    background: var(--neu-accent-light);
    border-radius: var(--neu-r-pill);
    flex-shrink: 0;
}

.cv-stickybar__btn {
    white-space: nowrap;
}

@media (max-width: 575px) {
    .cv-stickybar__info strong {
        display: none;
    }
}

.cv-read-more {
    margin-top: 10px;
    padding: 6px 16px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border: none;
    border-radius: var(--neu-r-pill);
    font-weight: 600;
    font-size: 12px;
    cursor: pointer;
}

.cv-read-more:hover {
    background: var(--neu-accent);
    color: #fff;
}

/* =========================================================================
   CART PAGE
   ========================================================================= */
.crt-page {
    background: var(--neu-bg) !important;
    padding: 56px 0 80px;
}

/* Minimal empty state — no card, just illustration + copy + actions */
.crt-empty {
    background: var(--neu-bg) !important;
    padding: 96px 0;
}

.crt-empty__inner {
    max-width: 460px;
    margin: 0 auto;
    text-align: center;
    background: transparent !important;
    border: 0 !important;
    padding: 0 20px !important;
    border-radius: 0 !important;
}

.crt-empty__art {
    width: 180px;
    max-width: 60%;
    margin: 0 auto 22px;
    animation: crtFloat 5s ease-in-out infinite;
}

.crt-empty__art svg {
    width: 100%;
    height: auto;
    display: block;
}

@keyframes crtFloat {

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

    50% {
        transform: translateY(-7px);
    }
}

.crt-empty__inner h2 {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: 24px;
    letter-spacing: -0.02em;
    margin: 0 0 8px;
}

.crt-empty__inner p {
    color: var(--neu-muted);
    font-size: 15px;
    line-height: 1.6;
    margin: 0 auto 26px;
    max-width: 340px;
}

.crt-empty__actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

@media (prefers-reduced-motion: reduce) {
    .crt-empty__art {
        animation: none;
    }
}

.crt-steps {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 32px;
    flex-wrap: wrap;
    justify-content: center;
}

.crt-step {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--neu-muted);
    font-size: 13px;
    font-weight: 600;
}

.crt-step__num {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--neu-bg);
    color: var(--neu-muted);
    border: 1px solid var(--neu-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
}

.crt-step--active {
    color: var(--neu-accent);
}

.crt-step--active .crt-step__num {
    background: var(--neu-accent);
    color: #fff;
    border-color: var(--neu-accent);
}

.crt-step__line {
    width: 36px;
    height: 2px;
    background: var(--neu-border);
    border-radius: 2px;
}

.crt-step__line--active {
    background: var(--neu-accent);
}

.crt-page__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}

.crt-page__title {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800;
    font-size: clamp(1.6rem, 3.8vw, 2.2rem);
    margin: 0;
}

.crt-page__count {
    padding: 6px 14px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 12px;
    font-weight: 700;
}

.crt-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: start;
}

@media (min-width: 992px) {
    .crt-layout {
        grid-template-columns: 1.4fr 1fr;
        gap: 28px;
    }
}

.crt-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.crt-item {
    display: grid;
    grid-template-columns: 36px 1fr auto auto auto;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    transition: border-color 0.2s ease;
}

.crt-item:hover {
    border-color: var(--neu-accent);
}

@media (max-width: 767px) {
    .crt-item {
        grid-template-columns: 36px 1fr;
    }

    .crt-item__qty,
    .crt-item__price,
    .crt-item__remove {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

.crt-item__num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--neu-font-display);
    font-weight: 800;
    font-size: 12px;
}

.crt-item__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.crt-item__title {
    color: var(--neu-fg) !important;
    font-family: var(--neu-font-display);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.crt-item__title:hover {
    color: var(--neu-accent) !important;
}

.crt-item__formats {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.crt-item__format {
    padding: 3px 8px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    color: var(--neu-muted);
    border-radius: var(--neu-r-pill);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
}

.crt-item__qty {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
}

.crt-item__qty label {
    font-size: 10px;
    color: var(--neu-muted);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
}

.crt-item__qty input,
.iquantity {
    width: 60px;
    background: var(--neu-card) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-inner) !important;
    box-shadow: none !important;
    padding: 6px 10px !important;
    color: var(--neu-fg) !important;
    font-weight: 700;
    text-align: center;
    outline: none;
}

.crt-item__price {
    display: flex;
    flex-direction: column;
    gap: 2px;
    align-items: flex-end;
}

.crt-item__unit {
    color: var(--neu-muted);
    font-size: 11px;
}

.crt-item__total {
    color: var(--neu-fg);
    font-family: var(--neu-font-display);
    font-weight: 800;
    font-size: 15px;
}

.crt-item__remove {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    color: var(--neu-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.crt-item__remove:hover {
    background: var(--neu-danger-bg);
    color: var(--neu-danger);
    border-color: var(--neu-danger);
}

.crt-summary {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 22px;
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.crt-summary__coupon {
    width: 100%;
}

.crt-coupon-form {
    display: flex;
    gap: 6px;
    background: var(--neu-bg);
    padding: 4px;
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
}

.crt-coupon-form__input {
    flex: 1;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    padding: 8px 14px !important;
    color: var(--neu-fg) !important;
    font-size: 13px;
}

.crt-coupon-form__input::placeholder {
    color: var(--neu-placeholder);
}

.crt-coupon-form__btn {
    padding: 8px 20px;
    background: var(--neu-accent);
    color: #fff;
    border: none;
    border-radius: var(--neu-r-pill);
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
}

.crt-coupon-form__btn:hover {
    background: var(--neu-accent-hover);
}

.crt-summary__totals {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    background: var(--neu-bg) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-base) !important;
    padding: 14px 18px !important;
    box-shadow: none !important;
}

.crt-summary__row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 6px 0 !important;
    color: var(--neu-fg) !important;
    font-size: 14px !important;
    font-weight: 500;
    border: none !important;
}

.crt-summary__row span,
.crt-summary__row b {
    color: var(--neu-fg) !important;
}

.crt-summary__row--discount,
.crt-summary__row--discount span {
    color: var(--neu-accent-2) !important;
    font-weight: 700 !important;
}

.crt-summary__row--total,
.crt-summary__row--total span,
.crt-summary__row--total b {
    color: var(--neu-fg) !important;
    padding-top: 10px !important;
    margin-top: 2px;
    border-top: 1px solid var(--neu-border) !important;
    font-family: var(--neu-font-display) !important;
    font-weight: 800 !important;
    font-size: 18px !important;
}

.crt-summary__row--total span:last-child,
.crt-summary__row--total b {
    color: var(--neu-accent) !important;
    font-size: 20px !important;
}

.crt-billing {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 24px;
    position: sticky;
    top: 90px;
}

.crt-billing__head {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: 17px;
    margin-bottom: 18px;
}

.crt-billing__step {
    display: block;
    color: var(--neu-accent);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin-bottom: 4px;
}

.crt-billing__form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.crt-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.crt-input {
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-base) !important;
    padding: 10px 14px !important;
    font-size: 13px;
    outline: none;
    transition: border-color 0.2s ease;
    width: 100%;
}

.crt-input:focus {
    border-color: var(--neu-accent) !important;
    box-shadow: 0 0 0 3px var(--neu-accent-soft) !important;
}

.crt-input::placeholder {
    color: var(--neu-placeholder);
}

select.crt-input {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
    padding-right: 32px !important;
}

.crt-billing__pay {
    margin-top: 8px !important;
    justify-content: center !important;
    width: 100%;
}

.crt-billing__secure {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 12px auto 0;
    padding: 6px 14px;
    background: var(--neu-success-bg);
    color: var(--neu-accent-2);
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    width: fit-content;
}

/* =========================================================================
   SPEAKER DETAIL PAGE
   ========================================================================= */


.spkd-page {
    padding: 28px 0 64px;
}

/* Back link */
.spkd-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 13px 7px 11px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    color: var(--neu-muted) !important;
    border-radius: var(--neu-r-pill);
    font-size: 12.5px;
    font-weight: 600;
    margin-bottom: 18px;
    transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.spkd-back svg {
    transition: transform 0.2s ease;
}

.spkd-back:hover {
    color: var(--neu-accent) !important;
    border-color: var(--neu-accent);
    background: var(--neu-accent-light);
}

.spkd-back:hover svg {
    transform: translateX(-3px);
}

/* Container */
.spkd {
    margin: 0 auto;
    animation: spkdIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes spkdIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Identity hero — compact: avatar + identity side by side */
.spkd__hero {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 20px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    box-shadow: var(--neu-shadow-sm);
    padding: 28px 28px 26px;
}

@media (min-width: 640px) {
    .spkd__hero {
        grid-template-columns: 132px 1fr;
        justify-items: start;
        text-align: left;
        gap: 26px;
        align-items: center;
        padding: 26px 30px;
    }
}

.spkd__avatar {
    width: 132px;
    height: 132px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 3px solid var(--neu-card);
    box-shadow: 0 0 0 3px var(--neu-accent-soft), 0 10px 26px -12px rgba(11, 30, 63, 0.5);
}

.spkd__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.spkd__id {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.spkd__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 11px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-family: var(--neu-font-display);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    width: fit-content;
}

.spkd__name {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800;
    font-size: clamp(1.5rem, 3.4vw, 2rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 0;
}

.spkd__role {
    margin: 0;
    color: var(--neu-muted);
    font-size: 14px;
    line-height: 1.4;
}

.spkd__role strong {
    color: var(--neu-accent);
    font-weight: 700;
}

.spkd__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.spkd__chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    color: var(--neu-fg);
    border-radius: var(--neu-r-pill);
    font-size: 12px;
    font-weight: 600;
}

.spkd__chip svg {
    color: var(--neu-accent);
    flex-shrink: 0;
}

.spkd__cta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 4px;
    padding: 10px 18px;
    background: var(--neu-accent);
    color: #fff !important;
    border-radius: var(--neu-r-base);
    font-size: 13.5px;
    font-weight: 700;
    width: fit-content;
    box-shadow: 0 6px 16px -8px rgba(30, 102, 224, 0.6);
    transition: background 0.2s ease, transform 0.2s ease;
}

.spkd__cta svg {
    transition: transform 0.2s ease;
}

.spkd__cta:hover {
    background: var(--neu-accent-hover);
    color: #fff !important;
    transform: translateY(-1px);
}

.spkd__cta:hover svg {
    transform: translateX(3px);
}

/* Bio */
.spkd__bio {
    margin-top: 16px;
    padding: 24px 28px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    color: var(--neu-fg);
    font-size: 14.5px;
    line-height: 1.75;
}

.spkd__bio-title {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800;
    font-size: 16px;
    margin: 0 0 12px;
    letter-spacing: -0.01em;
}

.spkd__bio * {
    color: var(--neu-fg) !important;
}

.spkd__bio a {
    color: var(--neu-accent) !important;
}

.spkd__bio p {
    margin: 0 0 12px;
}

.spkd__bio p:last-child {
    margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
    .spkd {
        animation: none;
    }

    .spkd-back svg,
    .spkd__cta,
    .spkd__cta svg {
        transition: none;
    }
}

/* Tabs Dashboard */
.site-wrapper {
    background: var(--neu-bg) !important;
}

.tabs-wrapper {
    background: var(--neu-bg) !important;
    padding: 40px 0 80px;
    margin: 0 !important;
    width: 100% !important;
}

.tabs-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

.tabs {
    display: flex;
    flex-wrap: wrap;
    background: transparent !important;
    min-width: 0 !important;
    width: 100% !important;
    gap: 6px !important;
}

.tabs label {
    width: auto !important;
    display: inline-flex !important;
    padding: 10px 22px !important;
    margin: 0 6px 16px 0 !important;
    cursor: pointer;
    background: var(--neu-card) !important;
    color: var(--neu-muted) !important;
    font-family: var(--neu-font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-pill) !important;
    box-shadow: none !important;
    order: 1;
    transition: all 0.2s ease;
}

.tabs label:hover {
    color: var(--neu-accent) !important;
    border-color: var(--neu-accent);
    background: var(--neu-accent-light) !important;
}

.tabs [type=radio]:checked+label {
    color: #fff !important;
    background: var(--neu-accent) !important;
    border-color: var(--neu-accent) !important;
}

.tabs .tab {
    flex-grow: 1;
    width: 100% !important;
    display: none !important;
    padding: 30px !important;
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-card) !important;
    box-shadow: none !important;
    order: 9;
}

.tabs [type=radio]:checked+label+.tab {
    display: block !important;
}

.tabs [type=radio] {
    display: none;
}

.tabs .tab h2 {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800;
    font-size: 20px;
    margin: 0 0 18px;
}

.tabs .tab h2 b {
    color: var(--neu-accent);
}

/* Bootstrap overrides */
.table {
    background: var(--neu-card) !important;
    border-radius: var(--neu-r-base);
    overflow: hidden;
    border: 1px solid var(--neu-border);
    border-collapse: separate !important;
    border-spacing: 0;
    margin: 14px 0;
}

.table th,
.table td {
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    border: none !important;
    border-bottom: 1px solid var(--neu-border) !important;
    padding: 12px 16px !important;
    vertical-align: middle !important;
    font-size: 13px;
}

.table th {
    font-family: var(--neu-font-display);
    color: var(--neu-accent) !important;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background: var(--neu-bg) !important;
}

.table tr:last-child td {
    border-bottom: none !important;
}

.table-bordered {
    border: 1px solid var(--neu-border) !important;
}

.alert {
    background: var(--neu-card) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-base) !important;
    padding: 12px 16px !important;
    color: var(--neu-fg) !important;
    margin: 14px 0;
}

.alert-success {
    background: var(--neu-success-bg) !important;
    color: var(--neu-accent-2) !important;
    border-color: var(--neu-accent-2) !important;
}

.alert-danger,
.alert-error {
    background: var(--neu-danger-bg) !important;
    color: var(--neu-danger) !important;
    border-color: var(--neu-danger) !important;
}

.alert .close {
    color: var(--neu-fg) !important;
    opacity: 0.6;
    text-shadow: none !important;
}

.btn {
    font-family: var(--neu-font-body) !important;
    font-weight: 600 !important;
    padding: 8px 18px !important;
    border-radius: var(--neu-r-base) !important;
    border: 1px solid transparent !important;
    transition: all 0.2s ease !important;
}

.btn-success,
.btn-primary {
    background: var(--neu-accent) !important;
    color: #fff !important;
    border-color: var(--neu-accent) !important;
}

.btn-success:hover,
.btn-primary:hover {
    background: var(--neu-accent-hover) !important;
    border-color: var(--neu-accent-hover) !important;
    color: #fff !important;
}

.btn-danger {
    background: var(--neu-card) !important;
    color: var(--neu-danger) !important;
    border-color: var(--neu-danger) !important;
}

.btn-danger:hover {
    background: var(--neu-danger) !important;
    color: #fff !important;
}

.fa.fa-arrow-alt-circle-down,
.fa.fa-eye,
.text-primary {
    color: var(--neu-accent) !important;
}

/* =========================================================================
   LEGAL PAGES (terms, privacy, refund)
   ========================================================================= */
.legal-page {
    background: var(--neu-bg) !important;
    padding: 56px 0 80px;
}

.legal-page::before {
    display: none;
}

.legal-page__head {
    max-width: 800px;
    margin: 0 auto 40px;
    text-align: center;
}

.legal-page__icon {
    width: 64px;
    height: 64px;
    border-radius: var(--neu-r-card);
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

.legal-page__head h1 {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800;
    font-size: clamp(1.8rem, 4.5vw, 2.8rem);
    margin: 0 0 10px;
}

.legal-page__head>p {
    color: var(--neu-muted) !important;
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 20px;
    max-width: 580px;
    margin-left: auto;
    margin-right: auto;
}

.legal-page__meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    flex-wrap: wrap;
    justify-content: center;
}

.legal-page__meta>span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    color: var(--neu-muted);
    font-size: 12px;
    font-weight: 500;
}

.legal-page__print {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border: none;
    border-radius: var(--neu-r-pill);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}

.legal-page__print:hover {
    background: var(--neu-accent);
    color: #fff;
}

.legal-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
}

@media (min-width: 992px) {
    .legal-layout {
        grid-template-columns: 240px 1fr;
        gap: 36px;
    }
}

.legal-toc {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 20px;
}

@media (min-width: 992px) {
    .legal-toc {
        position: sticky;
        top: 90px;
    }
}

.legal-toc__title {
    font-family: var(--neu-font-display);
    color: var(--neu-accent);
    font-weight: 800;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 4px 10px;
    background: var(--neu-accent-light);
    border-radius: var(--neu-r-pill);
    width: fit-content;
    margin-bottom: 14px;
}

.legal-toc__nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.legal-toc__link {
    display: block;
    padding: 8px 12px;
    color: var(--neu-muted) !important;
    font-size: 13px;
    font-weight: 500;
    border-radius: var(--neu-r-inner);
    transition: all 0.2s ease;
    text-decoration: none;
}

.legal-toc__link:hover {
    color: var(--neu-accent) !important;
    background: var(--neu-accent-light);
    padding-left: 14px;
}

.legal-page__body {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 36px 40px;
    color: var(--neu-fg);
    font-size: 14.5px;
    line-height: 1.8;
}

.legal-page__body * {
    color: var(--neu-fg) !important;
}

.legal-page__body h1,
.legal-page__body h2,
.legal-page__body h3,
.legal-page__body h4,
.legal-page__body h5,
.legal-page__body h6 {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 700 !important;
    margin: 22px 0 12px !important;
    scroll-margin-top: 90px;
}

.legal-page__body h2 {
    font-size: 22px;
}

.legal-page__body h3 {
    font-size: 18px;
}

.legal-page__body h4 {
    font-size: 16px;
}

.legal-page__body p {
    margin: 0 0 14px;
}

.legal-page__body a {
    color: var(--neu-accent) !important;
}

.legal-page__body ul,
.legal-page__body ol {
    padding-left: 22px;
    margin: 10px 0;
}

.legal-page__body strong,
.legal-page__body b {
    color: var(--neu-fg) !important;
    font-weight: 700;
}

.legal-page__body blockquote {
    margin: 16px 0;
    padding: 14px 20px;
    background: var(--neu-bg);
    border-left: 3px solid var(--neu-accent);
    border-radius: var(--neu-r-base);
    color: var(--neu-muted) !important;
    font-style: italic;
}

.legal-page__foot {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 40px;
    padding: 16px 20px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
}

.legal-page__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: var(--neu-accent-light);
    color: var(--neu-accent) !important;
    border-radius: var(--neu-r-pill);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.legal-page__link:hover {
    background: var(--neu-accent);
    color: #fff !important;
}

/* Refund page (.rf-*) */
.rf-page {
    background: var(--neu-bg) !important;
    padding: 40px 0 80px;
}

.rf-page::before {
    display: none;
}

.rf-bread {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    font-size: 12px;
    margin-bottom: 28px;
}

.rf-bread a {
    color: var(--neu-muted) !important;
    font-weight: 500;
}

.rf-bread a:hover {
    color: var(--neu-accent) !important;
}

.rf-bread span {
    color: var(--neu-fg);
    font-weight: 600;
}

.rf-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
}

@media (min-width: 992px) {
    .rf-grid {
        grid-template-columns: 260px 1fr;
        gap: 36px;
    }
}

.rf-sidebar {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

@media (min-width: 992px) {
    .rf-sidebar {
        position: sticky;
        top: 90px;
    }
}

.rf-sidebar__card {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rf-sidebar__title {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: 16px;
    margin: 0;
}

.rf-sidebar__desc {
    color: var(--neu-muted);
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

.rf-sidebar__meta {
    display: flex;
}

.rf-sidebar__meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    color: var(--neu-muted);
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 500;
}

.rf-sidebar__print {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 16px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border: none;
    border-radius: var(--neu-r-base);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 4px;
}

.rf-sidebar__print:hover {
    background: var(--neu-accent);
    color: #fff;
}

.rf-sidebar__toc {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 18px 20px;
}

.rf-sidebar__toc-title {
    font-family: var(--neu-font-display);
    color: var(--neu-accent);
    font-weight: 800;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 10px;
}

.rf-sidebar__toc nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rf-toc__link {
    display: block;
    padding: 6px 10px;
    color: var(--neu-muted) !important;
    font-size: 12.5px;
    font-weight: 500;
    border-radius: var(--neu-r-inner);
    transition: all 0.2s ease;
}

.rf-toc__link:hover {
    color: var(--neu-accent) !important;
    background: var(--neu-accent-light);
    padding-left: 12px;
}

.rf-sidebar__links {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
}

.rf-sidebar__links a {
    display: block;
    padding: 8px 12px;
    color: var(--neu-fg) !important;
    font-size: 13px;
    font-weight: 500;
    border-radius: var(--neu-r-inner);
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    text-decoration: none;
    transition: all 0.2s ease;
}

.rf-sidebar__links a:hover {
    color: var(--neu-accent) !important;
    border-color: var(--neu-accent);
    background: var(--neu-accent-light);
}

.rf-content {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 36px 40px;
    color: var(--neu-fg);
    font-size: 14.5px;
    line-height: 1.8;
}

.rf-content * {
    color: var(--neu-fg) !important;
}

.rf-content h1,
.rf-content h2,
.rf-content h3,
.rf-content h4 {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 700 !important;
    margin: 22px 0 12px !important;
    scroll-margin-top: 90px;
}

.rf-content h2 {
    font-size: 22px;
}

.rf-content h3 {
    font-size: 18px;
}

.rf-content p {
    margin: 0 0 14px;
}

.rf-content a {
    color: var(--neu-accent) !important;
}

.rf-content ul,
.rf-content ol {
    padding-left: 22px;
    margin: 10px 0;
}

.rf-content strong,
.rf-content b {
    color: var(--neu-fg) !important;
    font-weight: 700;
}

@media (max-width: 991px) {

    .legal-page__body,
    .rf-content {
        padding: 24px 22px;
    }
}

/* Subscribe page */
.sub-page {
    background: var(--neu-bg) !important;
    padding: 40px 0 80px;
}

.sub-page::before,
.sub-page::after {
    display: none;
}

.sub-page__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 1080px;
    margin: 0 auto;
}

@media (min-width: 992px) {
    .sub-page__inner {
        grid-template-columns: 1fr 1.3fr;
        gap: 36px;
    }
}

.sub-info {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 36px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.sub-info::before {
    display: none;
}

.sub-info__icon {
    width: 64px;
    height: 64px;
    border-radius: var(--neu-r-base);
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sub-info__title {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800;
    font-size: clamp(1.6rem, 3.8vw, 2.2rem);
    margin: 0;
}

.sub-info__desc {
    color: var(--neu-muted) !important;
    font-size: 14px;
    line-height: 1.7;
    margin: 0 0 8px;
}

.sub-info__perks {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sub-info__perk {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    color: var(--neu-fg);
    font-size: 13px;
    font-weight: 500;
}

.sub-info__perk svg {
    color: var(--neu-accent-2);
    flex-shrink: 0;
}

.sub-form-card {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 32px;
}

.sub-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.sub-form__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

@media (min-width: 640px) {
    .sub-form__row {
        grid-template-columns: 1fr 1fr;
    }
}

.sub-form__group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sub-form__group label {
    color: var(--neu-fg);
    font-weight: 600;
    font-size: 12.5px;
}

.sub-form__group label span {
    color: var(--neu-muted);
    font-weight: 400;
}

.sub-form__captcha {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sub-form__captcha label {
    color: var(--neu-fg);
    font-weight: 600;
    font-size: 12.5px;
}

.sub-form__captcha-row {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.sub-form__captcha-code {
    flex-shrink: 0;
    padding: 0 20px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    color: var(--neu-accent);
    font-family: 'Courier New', monospace;
    font-weight: 800;
    font-size: 18px;
    letter-spacing: 0.22em;
    border-radius: var(--neu-r-base);
    display: inline-flex;
    align-items: center;
    -webkit-user-select: none;
    user-select: none;
    text-decoration: line-through;
    text-decoration-color: var(--neu-accent-soft);
}

.sub-form__captcha-row .crt-input {
    flex: 1;
}

.sub-form__terms {
    margin: 4px 0;
}

.sub-form__terms label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    cursor: pointer;
    color: var(--neu-muted);
    font-size: 12.5px;
    line-height: 1.55;
}

.sub-form__terms input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background: var(--neu-card);
    border: 2px solid var(--neu-border);
    cursor: pointer;
    flex-shrink: 0;
    margin: 0;
    position: relative;
    transition: all 0.2s ease;
}

.sub-form__terms input[type="checkbox"]:checked {
    background: var(--neu-accent);
    border-color: var(--neu-accent);
}

.sub-form__terms input[type="checkbox"]:checked::after {
    content: "✓";
    position: absolute;
    color: #fff;
    font-weight: 800;
    font-size: 12px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.sub-form__btn {
    margin-top: 4px;
    justify-content: center !important;
}

/* Unsubscribe page */
.unsub-page {
    background: var(--neu-bg) !important;
    padding: 40px 0 80px;
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: center;
}

.unsub-page::before {
    display: none;
}

.unsub-wrap {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}

.unsub-card {
    display: grid;
    grid-template-columns: 1fr;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    overflow: hidden;
}

@media (min-width: 768px) {
    .unsub-card {
        grid-template-columns: 1fr 1.3fr;
    }
}

.unsub-card__left {
    padding: 36px;
    border-bottom: 1px solid var(--neu-border);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

@media (min-width: 768px) {
    .unsub-card__left {
        border-bottom: none;
        border-right: 1px solid var(--neu-border);
    }
}

.unsub-card__title {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800;
    font-size: clamp(1.6rem, 3.8vw, 2.2rem);
    margin: 0;
}

.unsub-card__desc {
    color: var(--neu-muted) !important;
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

.unsub-card__points {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.unsub-card__point {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    color: var(--neu-fg);
    font-size: 13px;
    font-weight: 500;
}

.unsub-card__point svg {
    color: var(--neu-accent-2);
    flex-shrink: 0;
}

.unsub-card__right {
    padding: 36px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.unsub-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--neu-danger-bg);
    color: var(--neu-danger);
    border: 1px solid var(--neu-danger);
    border-radius: var(--neu-r-base);
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 4px;
}

.unsub-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.unsub-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.unsub-field label {
    color: var(--neu-fg);
    font-weight: 600;
    font-size: 12.5px;
}

.unsub-field label span {
    color: var(--neu-muted);
    font-weight: 400;
}

.unsub-field input,
.unsub-field select {
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-base) !important;
    padding: 11px 14px !important;
    font-size: 13.5px;
    outline: none;
    transition: border-color 0.2s ease;
    width: 100%;
}

.unsub-field input:focus,
.unsub-field select:focus {
    border-color: var(--neu-accent) !important;
    box-shadow: 0 0 0 3px var(--neu-accent-soft) !important;
}

.unsub-field input::placeholder {
    color: var(--neu-placeholder);
}

.unsub-field select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
    padding-right: 32px !important;
}

.unsub-captcha {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.unsub-captcha__question {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 14px;
    background: var(--neu-bg);
    color: var(--neu-fg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    font-size: 13px;
    font-weight: 600;
}

.unsub-captcha__question svg {
    color: var(--neu-accent);
}

.unsub-captcha__question strong {
    color: var(--neu-accent);
    font-family: var(--neu-font-display);
}

.unsub-captcha input {
    flex: 1;
}

.unsub-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 22px;
    border-radius: var(--neu-r-base);
    font-weight: 600;
    font-size: 13.5px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none !important;
}

.unsub-btn--primary {
    background: var(--neu-accent) !important;
    color: #fff !important;
    border-color: var(--neu-accent);
}

.unsub-btn--primary:hover {
    background: var(--neu-accent-hover) !important;
    border-color: var(--neu-accent-hover);
    color: #fff !important;
}

.unsub-btn--ghost {
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    border-color: var(--neu-border);
}

.unsub-btn--ghost:hover {
    color: var(--neu-accent) !important;
    border-color: var(--neu-accent);
    background: var(--neu-accent-light) !important;
}

.unsub-btn--full {
    width: 100%;
    padding: 13px 22px;
    margin-top: 4px;
}

.unsub-footer {
    text-align: center;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--neu-border);
    color: var(--neu-muted);
    font-size: 13px;
}

.unsub-footer a {
    color: var(--neu-accent) !important;
    font-weight: 600;
    margin-left: 4px;
}

.unsub-done {
    max-width: 540px;
    margin: 0 auto;
    text-align: center;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    padding: 48px 32px;
    border-radius: var(--neu-r-card);
}

.unsub-done__icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: var(--neu-success-bg);
    color: var(--neu-accent-2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.unsub-done h2 {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: 24px;
    margin: 0 0 10px;
}

.unsub-done p {
    color: var(--neu-muted);
    font-size: 14px;
    line-height: 1.7;
    margin: 0 0 24px;
}

.unsub-done__actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

/* =========================================================================
   CONFERENCE PAGE — Premium Redesign (.cf-*)
   ========================================================================= */

/* ─── 1. Breadcrumb Strip ─── */
.cf-bread {
    background: var(--neu-card);
    border-bottom: 1px solid var(--neu-border);
    padding: 14px 0;
}

.cf-bread__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 12.5px;
}

.cf-bread__list a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--neu-muted) !important;
    font-weight: 500;
    transition: color 0.2s ease;
}

.cf-bread__list a:hover {
    color: var(--neu-accent) !important;
}

.cf-bread__sep {
    color: var(--neu-border-strong);
}

.cf-bread__current {
    color: var(--neu-fg);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 380px;
}

/* ─── 2. Hero Banner ─── */
.cf-hero {
    position: relative;
    background: linear-gradient(135deg, var(--neu-accent) 0%, var(--neu-accent-hover) 100%);
    color: #fff;
    padding: 60px 0 56px;
    overflow: hidden;
    isolation: isolate;
}

.cf-hero__grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
    background-size: 32px 32px;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, #000 30%, transparent 100%);
    mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, #000 30%, transparent 100%);
    z-index: -1;
}

.cf-hero__glow {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    pointer-events: none;
    filter: blur(60px);
    z-index: -1;
}

.cf-hero__glow--1 {
    width: 400px;
    height: 400px;
    top: -120px;
    right: -100px;
}

.cf-hero__glow--2 {
    width: 320px;
    height: 320px;
    bottom: -120px;
    left: -80px;
}

/* Diagonal corner ribbon (live only) */
.cf-hero__ribbon {
    position: absolute;
    top: 14px;
    right: -38px;
    width: 150px;
    transform: rotate(35deg);
    background: var(--neu-danger);
    color: #fff;
    text-align: center;
    padding: 5px 0;
    font-family: var(--neu-font-display);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    z-index: 5;
}

.cf-hero__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
}

/* Status pills: solid tinted capsules, no glass, no borders. A coherent set —
   a confident LIVE pill, subtle navy tints for category/countdown, and one solid
   white trust pill for accreditation. */
.cf-hero__pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 15px;
    background: rgba(8, 21, 46, 0.30);
    border: 0;
    color: #fff;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
}

/* LIVE — the one bright, solid capsule */
.cf-hero__pill--live {
    background: #fff;
    color: var(--neu-accent-hover);
}

.cf-hero__pulse {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--neu-accent);
    box-shadow: 0 0 0 0 rgba(30, 102, 224, 0.5);
    animation: cfPulse 1.5s ease-out infinite;
}

@keyframes cfPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(30, 102, 224, 0.5);
    }

    70% {
        box-shadow: 0 0 0 6px rgba(30, 102, 224, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(30, 102, 224, 0);
    }
}

/* Category + countdown — quiet navy tints */
.cf-hero__pill--cat,
.cf-hero__pill--days {
    background: rgba(8, 21, 46, 0.34);
}

/* Accreditation — soft white tint so it reads as trust without competing with LIVE */
.cf-hero__pill--accredited {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.cf-hero__pill--accredited svg {
    color: #fff;
}

.cf-hero__title {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(1.8rem, 4.4vw, 3.2rem) !important;
    font-weight: 500;
    color: #fff !important;
    line-height: 1.1;
    margin: 0 0 32px;
    letter-spacing: -0.025em;
}

/* Meta rail — horizontal strip */
/* Borderless, radius-free solid panel: a deeper-navy band on the blue hero.
   Elevation comes from a top hairline of light + soft shadow, not a box. No glass. */
.cf-hero__meta {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: rgba(8, 21, 46, 0.34);
    border: 0;
    border-radius: 0;
    padding: 0;
    width: fit-content;
    max-width: 100%;
    flex-wrap: wrap;
}

.cf-hero__meta-item {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 16px 26px;
}

/* Schedule row: meta rail + standalone countdown calendar */
.cf-hero__schedule {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    max-width: 100%;
}

/* Standalone dynamic tear-off calendar block */
/* Calendar + label read as one continuous unit */
.cf-hero__countdown {
    display: inline-flex;
    align-items: center;
}

.cf-cal-canvas {
    width: 108px;
    height: 108px;
    display: block;
    flex-shrink: 0;
}

/* pull the label closer: the canvas has built-in right padding around the art */
.cf-hero__countdown-text {
    display: flex;
    align-items: center;
    margin-left: -16px;
}

.cf-hero__countdown-text strong {
    color: #fff;
    font-family: var(--neu-font-display);
    font-weight: 800;
    font-size: 18px;
    letter-spacing: -0.015em;
    line-height: 1;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .cf-hero__schedule {
        flex-direction: column;
        align-items: flex-start;
    }
}

.cf-hero__meta-ico {
    width: 24px;
    height: 24px;
    color: rgba(255, 255, 255, 0.55);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.cf-hero__meta-ico svg {
    width: 36px;
    height: 36px;
}

/* Presenter avatar (replaces icon) — rounded 8px, white border */
.cf-hero__meta-avatar {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #fff;
    border: 2px solid #fff;
    box-shadow: 0 2px 6px rgba(8, 21, 46, 0.25);
}

.cf-hero__meta-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cf-hero__meta-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cf-hero__meta-text small {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.62);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 700;
    line-height: 1;
}

.cf-hero__meta-text strong {
    color: #fff;
    font-family: var(--neu-font-display);
    font-weight: 800;
    font-size: 16px;
    letter-spacing: -0.01em;
    line-height: 1;
    white-space: nowrap;
}

.cf-hero__meta-sep {
    width: 1px;
    align-self: stretch;
    background: rgba(255, 255, 255, 0.13);
    margin: 14px 0;
}

@media (max-width: 767px) {
    .cf-hero__meta {
        width: 100%;
    }

    .cf-hero__meta-sep {
        display: none;
    }

    .cf-hero__meta-item {
        flex: 1 1 calc(50% - 1px);
        padding: 14px 18px;
    }

    /* keep a subtle grid feel without borders: hairline gaps via background bleed */
    .cf-hero__meta-text strong {
        font-size: 15px;
    }
}

/* ─── 3. Body Content ─── */
.cf-body {
    background: var(--neu-bg);
    padding: 48px 0 80px;
}

.cf-body__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
}

@media (min-width: 992px) {
    .cf-body__layout {
        grid-template-columns: minmax(0, 1fr) 380px;
        gap: 32px;
    }
}

.cf-body__content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

/* Presenter card — compact, sidebar (sits below cv7-links) */
.cf-spk {
    display: block;
    margin-top: 14px;
    padding: 18px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    box-shadow: var(--neu-shadow-sm);
    text-decoration: none !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.cf-spk:hover {
    border-color: var(--neu-accent);
    box-shadow: var(--neu-shadow-md);
    transform: translateY(-2px);
}

.cf-spk__eyebrow {
    display: block;
    color: var(--neu-muted);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 700;
    margin-bottom: 12px;
}

.cf-spk__head {
    display: flex;
    align-items: center;
    gap: 13px;
}

.cf-spk__img {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid var(--neu-card);
    box-shadow: 0 0 0 2px var(--neu-accent-soft);
}

.cf-spk__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cf-spk__id {
    min-width: 0;
}

.cf-spk__id strong {
    display: block;
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: 16px;
    letter-spacing: -0.01em;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cf-spk__id span {
    display: block;
    color: var(--neu-muted);
    font-size: 12px;
    margin-top: 2px;
}

/* Full-width action that fills with accent on card hover */
.cf-spk__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 16px;
    padding: 11px;
    color: var(--neu-accent) !important;
    background: var(--neu-accent-light);
    border-radius: var(--neu-r-base);
    font-size: 13px;
    font-weight: 700;
    transition: background 0.2s ease, color 0.2s ease;
}

.cf-spk__btn svg {
    transition: transform 0.2s ease;
}

.cf-spk:hover .cf-spk__btn {
    background: var(--neu-accent);
    color: #fff !important;
}

.cf-spk:hover .cf-spk__btn svg {
    transform: translateX(3px);
}

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

    .cf-spk,
    .cf-spk__btn svg {
        transition: none;
    }

    .cf-spk:hover {
        transform: none;
    }

    .cf-spk:hover .cf-spk__btn svg {
        transform: none;
    }
}

/* Tabs */
.cf-tabs {
    position: relative;
    display: flex;
    gap: 4px;
    padding: 3px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: 8px;
    width: 100%;
    max-width: 100%;
}

/* Sliding active indicator (positioned by JS) */
.cf-tabs__ind {
    position: absolute;
    top: 0;
    left: 0;
    height: 0;
    width: 0;
    border-radius: 8px;
    background: var(--neu-accent);
    box-shadow: 0 2px 8px rgba(30, 102, 224, 0.30);
    transform: translate(0, 0);
    transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
        width 0.38s cubic-bezier(0.22, 1, 0.36, 1),
        height 0.38s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
    z-index: 0;
}

.cf-tab {
    flex: 1 1 0;
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px;
    background: transparent;
    border: none;
    color: var(--neu-muted);
    font-family: var(--neu-font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
    border-radius: 8px;
    cursor: pointer;
    transition: color 0.25s ease;
}

.cf-tab:not(.is-active):hover {
    color: var(--neu-accent);
}

.cf-tab.is-active {
    background: transparent;
    color: #fff;
    font-weight: 500;
}

.cf-tab.is-active svg {
    color: #fff;
}

/* Mobile: tighten so all three tabs fit; drop icons on small screens */
@media (max-width: 575px) {
    .cf-tab {
        padding: 11px 6px;
        font-size: 12px;
        gap: 0;
    }

    .cf-tab svg {
        display: none;
    }
}

@media (max-width: 360px) {
    .cf-tab {
        font-size: 11px;
        letter-spacing: -0.01em;
    }
}

/* Tab Panels */
.cf-panel {
    display: none;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 16px;
    animation: cfPanelIn 0.3s ease;
}

.cf-panel.is-active {
    display: block;
}

@keyframes cfPanelIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cf-panel__title {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800 !important;
    font-size: 20px !important;
    margin: 0 0 16px !important;
    padding-bottom: 14px;
    letter-spacing: -0.01em;
}

.cf-panel__body {
    color: var(--neu-fg);
    font-size: 14.5px;
    line-height: 1.75;
}

.cf-panel__body * {
    color: var(--neu-fg) !important;
}

.cf-panel__body p {
    margin: 0 0 12px;
    color: var(--neu-fg);
}

.cf-panel__body p:last-child {
    margin-bottom: 0;
}

.cf-panel__body a {
    color: var(--neu-accent) !important;
}

.cf-panel__body ul,
.cf-panel__body ol {
    padding-left: 22px;
    margin: 10px 0;
}

.cf-panel__body li {
    margin-bottom: 6px;
}

.cf-panel__body strong {
    color: var(--neu-fg);
    font-weight: 700;
}

.cf-panel__body .webinar-desc * {
    color: var(--neu-fg) !important;
}

.cf-panel__body .webinar-desc a {
    color: var(--neu-accent) !important;
}

/* Why Attend benefits list */
/* Why Attend — compact 2x2 grid of icon-led feature cells */
.cf-benefits {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.cf-benefit {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 5px;
    padding: 16px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.cf-benefit:hover {
    border-color: var(--neu-accent);
    box-shadow: var(--neu-shadow-sm);
    transform: translateY(-2px);
}

.cf-benefit__ico {
    grid-row: 1 / 3;
    align-self: start;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    flex-shrink: 0;
}

.cf-benefit strong {
    align-self: center;
    color: var(--neu-fg);
    font-family: var(--neu-font-display);
    font-weight: 700;
    font-size: 14.5px;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.cf-benefit__desc {
    color: var(--neu-muted);
    font-size: 12.5px;
    line-height: 1.5;
}

@media (max-width: 575px) {
    .cf-benefits {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cf-benefit {
        transition: none;
    }

    .cf-benefit:hover {
        transform: none;
    }
}

/* Share row */
.cf-share {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 22px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: 8px;
    flex-wrap: wrap;
}

.cf-share>span {
    color: var(--neu-muted);
    font-size: 12.5px;
    font-weight: 600;
}

.cf-share__btns {
    display: flex;
    gap: 6px;
}

.cf-share__btns a,
.cf-share__btns button {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    color: var(--neu-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cf-share__btns a:hover,
.cf-share__btns button:hover {
    color: #fff;
    background: var(--neu-accent);
    border-color: var(--neu-accent);
}

/* =========================================================================
   CART / CHECKOUT — Premium Redesign (.ck-*)
   ========================================================================= */
.ck {
    background: var(--neu-bg);
    padding: 32px 0 80px;
}

/* ─── 1. Progress Stepper ─── */
/* Compact stepper — progress shown as a bottom bar, not a line through labels */
.ck-steps {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 16px 24px;
    margin-bottom: 24px;
    overflow: hidden;
}

/* full-width progress underline pinned to the bottom edge */
.ck-steps__track {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: var(--neu-divider);
    z-index: 1;
}

.ck-steps__fill {
    height: 100%;
    background: linear-gradient(90deg, var(--neu-accent), var(--neu-accent-hover));
    transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.ck-step {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 11px;
}

.ck-step__icon {
    position: relative;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--neu-card);
    border: 2px solid var(--neu-border);
    color: var(--neu-placeholder);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.ck-step__glyph,
.ck-step__check {
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.ck-step__check {
    position: absolute;
    opacity: 0;
    transform: scale(0.6);
}

.ck-step__label small {
    display: block;
    font-size: 10px;
    color: var(--neu-muted);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 4px;
    transition: color 0.25s ease;
}

.ck-step__label strong {
    display: block;
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
}

/* Active step */
.ck-step--active .ck-step__icon {
    background: var(--neu-accent);
    border-color: var(--neu-accent);
    color: #fff;
    box-shadow: 0 0 0 4px var(--neu-accent-soft);
    animation: ckStepPulse 2.2s ease-out infinite;
}

.ck-step--active .ck-step__label small {
    color: var(--neu-accent);
}

@keyframes ckStepPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(30, 102, 224, 0.45);
    }

    70% {
        box-shadow: 0 0 0 7px rgba(30, 102, 224, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(30, 102, 224, 0);
    }
}

/* Completed step → checkmark swaps in */
.ck-step--done .ck-step__icon {
    background: var(--neu-accent);
    border-color: var(--neu-accent);
    color: #fff;
}

.ck-step--done .ck-step__glyph {
    opacity: 0;
    transform: scale(0.6);
}

.ck-step--done .ck-step__check {
    opacity: 1;
    transform: scale(1);
}

@media (max-width: 640px) {
    .ck-steps {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px 18px;
    }

    .ck-steps__track {
        display: none;
    }

    .ck-step__label small {
        margin-bottom: 2px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ck-step--active .ck-step__icon {
        animation: none;
    }

    .ck-steps__fill {
        transition: none;
    }
}

/* ─── 2. Page Heading ─── */
.ck-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.ck-head h1 {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(1.8rem, 4vw, 2.4rem);
    font-weight: 800;
    color: var(--neu-fg) !important;
    margin: 0 0 4px;
    letter-spacing: -0.025em;
}

.ck-head p {
    color: var(--neu-muted);
    font-size: 14px;
    margin: 0;
}

.ck-continue {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    color: var(--neu-fg) !important;
    border-radius: var(--neu-r-pill);
    font-size: 13px;
    font-weight: 600;
    transition: all 0.2s ease;
}

.ck-continue:hover {
    color: var(--neu-accent) !important;
    border-color: var(--neu-accent);
    background: var(--neu-accent-light);
}

/* ─── 3. Layout ─── */
.ck-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: start;
}

@media (min-width: 992px) {
    .ck-layout {
        grid-template-columns: minmax(0, 1fr) 360px;
        gap: 28px;
    }
}

.ck-main {
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-width: 0;
}

/* ─── 4. Section Card (Items + Billing) ─── */
.ck-section {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 12px;
    box-shadow: var(--neu-shadow-sm);
}

.ck-section__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 16px;
}

.ck-section__num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--neu-accent);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--neu-font-display);
    font-weight: 800;
    font-size: 14px;
}

.ck-section__head h2 {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800;
    font-size: 18px !important;
    margin: 0 !important;
    letter-spacing: -0.015em;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.ck-section__count {
    padding: 3px 10px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 700;
}

/* ─── 5. Cart Items ─── */
.ck-items {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ck-item {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    align-items: start;
    gap: 16px;
    padding: 8px;
    background: var(--neu-bg);
    border: 1px solid transparent;
    border-radius: var(--neu-r-base);
    transition: border-color 0.2s ease, background 0.2s ease;
}

.ck-item:hover {
    border-color: var(--neu-accent-soft);
}

@media (max-width: 767px) {
    .ck-item {
        grid-template-columns: 56px 1fr;
        row-gap: 12px;
    }

    .ck-item__controls {
        grid-column: 1 / -1;
        justify-content: space-between;
    }
}

.ck-item__visual {
    width: 64px;
    height: 64px;
    border-radius: var(--neu-r-base);
    overflow: hidden;
    background: var(--neu-accent-light);
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #fff;
}

.ck-item__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--neu-r-base);
    display: block;
    padding: 2px;
}

.ck-item__main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ck-item__title {
    font-family: var(--neu-font-display);
    color: var(--neu-fg) !important;
    font-weight: 700;
    font-size: 14.5px;
    line-height: 1.35;
    text-decoration: none !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ck-item__title:hover {
    color: var(--neu-accent) !important;
}

.ck-item__formats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* "Included format" tokens: a filled check disc + label on a soft tinted pill */
.ck-item__format {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 11px 4px 5px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border: 1px solid transparent;
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1;
    transition: border-color 0.18s ease, background 0.18s ease;
}

.ck-item__format:hover {
    border-color: var(--neu-accent-soft);
}

/* the check sits in its own filled disc so it reads as "ticked / included" */
.ck-item__format svg {
    width: 12px;
    height: 12px;
    padding: 3px;
    box-sizing: content-box;
    border-radius: 50%;
    background: var(--neu-accent);
    color: #fff;
    stroke: #fff;
    flex-shrink: 0;
}

/* Inline unit price — divided from the format chips */
.ck-item__unit-price {
    display: inline-flex;
    align-items: center;
    color: var(--neu-muted);
    font-size: 12px;
    font-weight: 600;
    padding-left: 10px;
    margin-left: 2px;
    border-left: 1px solid var(--neu-border);
}

.ck-item__unit-price small {
    font-size: 11px;
    font-weight: 500;
    opacity: 0.75;
    margin-left: 2px;
}

/* Right cluster: stepper · total · remove */
.ck-item__controls {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Quantity stepper — solid, round buttons that press */
.ck-item__qty {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    padding: 4px;
}

.ck-qty-btn {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--neu-bg);
    border: none;
    color: var(--neu-fg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, transform 0.1s ease;
}

.ck-qty-btn:hover {
    background: var(--neu-accent);
    color: #fff;
}

.ck-qty-btn:active {
    transform: scale(0.9);
}

.ck-qty__input {
    width: 30px;
    height: 28px;
    background: transparent !important;
    border: none !important;
    text-align: center;
    font-family: var(--neu-font-display);
    font-weight: 800;
    color: var(--neu-fg) !important;
    font-size: 14px;
    outline: none;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    -moz-appearance: textfield;
    appearance: textfield;
}

.ck-qty__input::-webkit-outer-spin-button,
.ck-qty__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Total — label over value */
.ck-item__total {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    min-width: 64px;
}

.ck-item__total small {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--neu-muted);
    line-height: 1;
}

.ck-item__total strong,
.ck-item__total .itotal {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: 19px;
    line-height: 1;
    letter-spacing: -0.01em;
}

/* Remove — quiet by default, danger on hover */
.ck-item__remove {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: transparent;
    color: var(--neu-placeholder);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease;
    text-decoration: none !important;
    flex-shrink: 0;
}

.ck-item__remove:hover {
    color: var(--neu-danger);
    background: var(--neu-danger-bg);
}

.ck-item__remove:active {
    transform: scale(0.92);
}

/* Interactive feedback on quantity / total changes */
.ck-qty__input {
    transition: transform 0.18s cubic-bezier(0.22, 1, 0.36, 1);
}

.ck-qty__input.is-bump {
    animation: ckBump 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes ckBump {
    0% {
        transform: scale(1);
    }

    45% {
        transform: scale(1.22);
    }

    100% {
        transform: scale(1);
    }
}

.ck-item__total .itotal {
    display: inline-block;
    transition: color 0.2s ease;
}

.ck-item__total.is-bump .itotal {
    animation: ckPop 0.34s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes ckPop {
    0% {
        transform: translateY(0) scale(1);
    }

    40% {
        transform: translateY(-3px) scale(1.08);
        color: var(--neu-accent);
    }

    100% {
        transform: translateY(0) scale(1);
    }
}

/* Item removal */
.ck-item.is-removing {
    animation: ckRemove 0.32s cubic-bezier(0.4, 0, 1, 1) forwards;
    overflow: hidden;
}

@keyframes ckRemove {
    to {
        opacity: 0;
        transform: translateX(16px);
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
        margin-bottom: 0;
    }
}

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

    .ck-qty-btn:active,
    .ck-item__remove:active {
        transform: none;
    }

    .ck-qty__input.is-bump,
    .ck-item__total.is-bump .itotal,
    .ck-item.is-removing {
        animation: none;
    }
}

/* ─── Remove confirmation modal ─── */
.ck-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    visibility: hidden;
    pointer-events: none;
}

.ck-modal.is-open {
    visibility: visible;
    pointer-events: auto;
}

.ck-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(8, 21, 46, 0.55);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    opacity: 0;
    transition: opacity 0.25s ease;
}

.ck-modal.is-open .ck-modal__overlay {
    opacity: 1;
}

.ck-modal__dialog {
    position: relative;
    width: 100%;
    max-width: 380px;
    background: var(--neu-card);
    border-radius: var(--neu-r-card);
    padding: 28px 26px 22px;
    text-align: center;
    box-shadow: 0 30px 70px -20px rgba(8, 21, 46, 0.5);
    transform: translateY(12px) scale(0.96);
    opacity: 0;
    transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.25s ease;
}

.ck-modal.is-open .ck-modal__dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.ck-modal__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--neu-danger);
    background: var(--neu-danger-bg);
}

.ck-modal__title {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: 19px;
    letter-spacing: -0.01em;
    margin: 0 0 8px;
}

.ck-modal__text {
    color: var(--neu-muted);
    font-size: 13.5px;
    line-height: 1.55;
    margin: 0 0 22px;
}

.ck-modal__text span {
    color: var(--neu-fg);
    font-weight: 600;
}

.ck-modal__actions {
    display: flex;
    gap: 10px;
}

.ck-modal__btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 12px 14px;
    border-radius: var(--neu-r-base);
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none !important;
    border: 1px solid transparent;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.1s ease;
}

.ck-modal__btn:active {
    transform: scale(0.97);
}

.ck-modal__btn--ghost {
    background: var(--neu-bg);
    color: var(--neu-fg);
    border-color: var(--neu-border);
}

.ck-modal__btn--ghost:hover {
    background: var(--neu-card);
    border-color: var(--neu-border-strong);
}

.ck-modal__btn--danger {
    background: var(--neu-danger);
    color: #fff !important;
    box-shadow: 0 8px 18px -8px rgba(239, 68, 68, 0.6);
}

.ck-modal__btn--danger:hover {
    background: #DC2626;
}

/* Swapped weights: "Keep it" is the filled primary, "Remove" is a quiet danger ghost */
.ck-modal__btn--primary {
    background: var(--neu-accent);
    color: #fff !important;
    box-shadow: 0 8px 18px -8px rgba(30, 102, 224, 0.55);
}

.ck-modal__btn--primary:hover {
    background: var(--neu-accent-hover);
}

.ck-modal__btn--ghost-danger {
    border: 1px solid var(--neu-danger-bg);
    color: var(--neu-danger) !important;
    border-color: transparent;
}

.ck-modal__btn--ghost-danger:hover {
    background: #FBD5D5;
}

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

    .ck-modal__overlay,
    .ck-modal__dialog {
        transition: none;
    }

    .ck-modal__dialog {
        transform: none;
    }

    .ck-modal__btn:active {
        transform: none;
    }
}

/* ─── 6. Billing Form ─── */
.ck-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ck-form__group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ck-form__group-title {
    font-family: var(--neu-font-display);
    color: var(--neu-accent);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 6px 14px;
    background: var(--neu-accent-light);
    border-radius: 4px;
    width: fit-content;
    margin-bottom: 4px;
}

.ck-form__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

@media (min-width: 575px) {
    .ck-form__row {
        grid-template-columns: 1fr 1fr;
    }
}

.ck-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.ck-field label {
    color: var(--neu-fg);
    font-weight: 600;
    font-size: 12.5px;
}

.ck-field label .ck-opt {
    color: var(--neu-muted);
    font-weight: 400;
}

.ck-input {
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-base) !important;
    padding: 12px 14px !important;
    font-family: var(--neu-font-body);
    font-size: 13.5px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
}

.ck-input:focus {
    border-color: var(--neu-accent) !important;
    box-shadow: 0 0 0 3px var(--neu-accent-soft) !important;
}

.ck-input::placeholder {
    color: var(--neu-placeholder);
}

select.ck-input {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
    padding-right: 36px !important;
}

.ck-pay-btn {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 24px;
    background: var(--neu-accent);
    color: #fff;
    border: 0;
    border-radius: var(--neu-r-base);
    font-family: var(--neu-font-body);
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

.ck-pay-btn svg {
    flex-shrink: 0;
}

.ck-pay-btn>svg:last-child {
    transition: transform 0.2s ease;
}

.ck-pay-btn:hover {
    background: var(--neu-accent-hover);
    transform: translateY(-1px);
}

.ck-pay-btn:hover>svg:last-child {
    transform: translateX(3px);
}

.ck-pay-btn:active {
    transform: scale(0.99);
}

.ck-secure {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--neu-success);
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    width: fit-content;
    margin: 0 auto;
}

/* secure line under the sidebar button */
.ck-secure--summary {
    display: flex;
    background: transparent;
    color: var(--neu-muted);
    padding: 0;
}

.ck-secure--summary svg {
    color: var(--neu-success);
}

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

    .ck-pay-btn,
    .ck-pay-btn>svg:last-child {
        transition: none;
    }

    .ck-pay-btn:hover {
        transform: none;
    }

    .ck-pay-btn:hover>svg:last-child {
        transform: none;
    }
}

/* ─── 7. Order Summary (sticky right) ─── */
.ck-summary {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 22px 24px;
    box-shadow: var(--neu-shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media (min-width: 992px) {
    .ck-summary {
        position: sticky;
        top: 90px;
    }
}

.ck-summary__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--neu-border);
}

.ck-summary__head h3 {
    font-family: var(--neu-font-display) !important;
    color: var(--neu-fg) !important;
    font-weight: 800;
    font-size: 16px !important;
    margin: 0 !important;
}

.ck-summary__head>span {
    padding: 3px 10px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 700;
}

/* Mini item rows */
.ck-summary__items {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 220px;
    overflow-y: auto;
    padding-right: 4px;
}

.ck-summary__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    padding: 8px 12px;
    background: var(--neu-bg);
    border-radius: var(--neu-r-inner);
    font-size: 12.5px;
}

.ck-summary__item-name {
    color: var(--neu-fg);
    font-weight: 500;
    line-height: 1.4;
    min-width: 0;
    flex: 1;
}

.ck-summary__item-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
    flex-shrink: 0;
}

.ck-summary__qty {
    color: var(--neu-muted);
    font-size: 11px;
}

.ck-summary__item-meta strong {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: 13px;
}

/* Coupon */
.ck-summary__coupon {
    padding: 12px 0;
}

.ck-coupon {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--neu-bg);
    border: 1px dashed var(--neu-accent-soft);
    border-radius: var(--neu-r-base);
    padding: 4px 4px 4px 14px;
}

.ck-coupon>svg {
    color: var(--neu-accent);
    flex-shrink: 0;
}

.ck-coupon__input {
    flex: 1;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    padding: 8px 4px !important;
    color: var(--neu-fg) !important;
    font-size: 12.5px;
    font-weight: 500;
}

.ck-coupon__input::placeholder {
    color: var(--neu-placeholder);
}

.ck-coupon__btn {
    padding: 8px 18px;
    background: var(--neu-accent);
    color: #fff;
    border: none;
    border-radius: var(--neu-r-base);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s ease;
}

.ck-coupon__btn:hover {
    background: var(--neu-accent-hover);
}

/* Totals */
.ck-summary__totals {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ck-summary__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--neu-fg);
    font-size: 13.5px;
}

.ck-summary__row b {
    font-family: var(--neu-font-display);
    font-weight: 700;
}

.ck-summary__row--discount {
    color: var(--neu-accent-2);
    font-weight: 600;
}

.ck-summary__row--discount span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.ck-summary__row--discount svg {
    color: var(--neu-accent-2);
}

.ck-summary__row--total {
    padding-top: 12px;
    margin-top: 4px;
    border-top: 1px solid var(--neu-border);
    font-family: var(--neu-font-display);
    font-weight: 800;
    font-size: 19px;
}

.ck-summary__row--total span:last-child,
.ck-summary__row--total b {
    color: var(--neu-accent);
    font-size: 22px !important;
}

/* Trust badges */
.ck-summary__trust {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--neu-border);
}

.ck-trust {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--neu-muted);
    font-size: 12px;
    font-weight: 500;
}

.ck-trust svg {
    color: var(--neu-accent-2);
    flex-shrink: 0;
}

/* =========================================================================
   PAYMENT PAGE (pay.php) — bring main.css's red theme onto the brand blue
   ========================================================================= */
.pay-page__title svg {
    color: var(--neu-accent) !important;
}

.pay-page__order {
    color: var(--neu-accent) !important;
    background: var(--neu-accent-light) !important;
    border-color: var(--neu-border) !important;
}

.pay-items,
.pay-summary {
    background: var(--neu-card) !important;
    border-color: var(--neu-border) !important;
    border-radius: var(--neu-r-card) !important;
}

.pay-items__head {
    border-color: var(--neu-border) !important;
    color: var(--neu-muted) !important;
}

.pay-row {
    border-color: var(--neu-divider) !important;
}

.pay-row__num {
    background: var(--neu-accent-light) !important;
    color: var(--neu-accent) !important;
    border-radius: 8px !important;
}

.pay-row__name {
    color: var(--neu-fg) !important;
}

.pay-row__name:hover {
    color: var(--neu-accent) !important;
}

.pay-row__formats span {
    color: var(--neu-accent) !important;
    background: var(--neu-accent-light) !important;
    border-radius: var(--neu-r-pill) !important;
    padding: 3px 9px !important;
}

.pay-row__total,
.pay-summary__title,
.pay-summary__row--total {
    color: var(--neu-fg) !important;
}

.pay-summary__row--discount {
    color: var(--neu-accent-2) !important;
}

.pay-summary__title,
.pay-summary__row--total {
    border-color: var(--neu-border) !important;
}

/* Stripe pay button -> brand blue */
.pay-stripe .stripe-button-el {
    background: var(--neu-accent) !important;
    border-radius: var(--neu-r-base) !important;
}

.pay-stripe .stripe-button-el:hover {
    background: var(--neu-accent-hover) !important;
}

.pay-secure svg {
    color: var(--neu-success) !important;
}

/* =========================================================================
   EDITORIAL HERO V2 — Asymmetric with Live Broadcast Card (Unique design)
   ========================================================================= */

.edhero--v2 {
    background: var(--neu-bg);
    padding: 80px 0 96px;
    position: relative;
    overflow: hidden;
}

/* Dotted background pattern */
.edhero__pattern {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, var(--neu-border-strong) 1px, transparent 1px);
    background-size: 28px 28px;
    opacity: 0.4;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 30%, transparent 100%);
    mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 30%, transparent 100%);
}

/* Decorative blue blobs */
.edhero__deco {
    position: absolute;
    border-radius: 50%;
    background: var(--neu-accent);
    opacity: 0.06;
    pointer-events: none;
    filter: blur(60px);
}

.edhero__deco--1 {
    width: 400px;
    height: 400px;
    top: -120px;
    right: -80px;
}

.edhero__deco--2 {
    width: 300px;
    height: 300px;
    bottom: -80px;
    left: -100px;
}

.edhero__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: center;
    position: relative;
    z-index: 2;
}

@media (min-width: 992px) {
    .edhero__layout {
        grid-template-columns: 1.15fr 1fr;
        gap: 56px;
    }
}

/* LEFT — Editorial Content */
.edhero__content {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

/* Segmented hero status bar: bg + border container, with a filled LIVE capsule,
   a weighted session count, and a muted trust segment, split by hairline dividers. */
.edhero__eyebrow {
    display: inline-flex;
    align-items: stretch;
    width: fit-content;
    max-width: 100%;
    padding: 5px;
    gap: 0;
    background: var(--neu-card);
    border-radius: var(--neu-r-pill);
}

/* 1. Filled LIVE capsule — the single saturated, eye-catching element */
.edhero__eyebrow-live {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 14px;
    border-radius: var(--neu-r-pill);
    background: var(--neu-accent);
    color: #fff;
    font-family: var(--neu-font-display);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.edhero__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    flex-shrink: 0;
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    animation: edhPulse 1.5s ease-out infinite;
}

@keyframes edhPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.65);
    }

    70% {
        box-shadow: 0 0 0 7px rgba(255, 255, 255, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    }
}

/* 2 & 3. Text segments, separated by hairline dividers */
.edhero__eyebrow-seg {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 16px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--neu-muted);
    white-space: nowrap;
}

.edhero__eyebrow-seg+.edhero__eyebrow-seg {
    border-left: 1px solid var(--neu-divider);
}

.edhero__eyebrow-seg strong {
    font-family: var(--neu-font-display);
    font-size: 14px;
    font-weight: 800;
    color: var(--neu-fg);
    letter-spacing: -0.01em;
}

.edhero__eyebrow-seg--trust {
    color: var(--neu-accent-2);
    font-weight: 600;
}

.edhero__eyebrow-seg--trust svg {
    color: var(--neu-accent);
    flex-shrink: 0;
}

@media (max-width: 575px) {
    .edhero__eyebrow {
        flex-wrap: wrap;
        gap: 4px;
        border-radius: 16px;
    }

    .edhero__eyebrow-seg {
        padding: 4px 10px;
    }

    .edhero__eyebrow-seg+.edhero__eyebrow-seg,
    .edhero__eyebrow-live+.edhero__eyebrow-seg {
        border-left: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .edhero__dot {
        animation: none;
    }
}

/* Massive editorial title */
.edhero__title {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(1.4rem, 5vw, 3.6rem);
    font-weight: 600;
    color: var(--neu-fg) !important;
    line-height: 1.12;
    letter-spacing: -0.035em;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.edhero__title-line {
    display: block;
}

/* Highlighter marker effect (replaces strikethrough) */
.edhero__hl {
    position: relative;
    display: inline-block;
    color: var(--neu-fg);
    padding: 0 6px;
    z-index: 0;
}

.edhero__hl::before {
    content: "";
    position: absolute;
    left: -2px;
    right: -2px;
    top: 14%;
    bottom: 8%;
    background: var(--neu-warning-bg);
    border-radius: 4px;
    z-index: -1;
    transform: skew(-3deg, -0.5deg);
    transform-origin: left center;
    animation: edhHighlight 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.5s both;
    /* Brush-stroke effect: uneven edges */
    box-shadow: 0 2px 0 -1px rgba(245, 158, 11, 0.4);
}

.edhero__hl--yellow::before {
    background: #FEE89F;
}

/* warm yellow marker */
.edhero__hl--blue::before {
    background: var(--neu-accent-soft);
    animation-delay: 0.9s;
}

@keyframes edhHighlight {
    from {
        transform: scaleX(0) skew(-3deg, -0.5deg);
    }

    to {
        transform: scaleX(1) skew(-3deg, -0.5deg);
    }
}

/* Star decoration next to "compliance" */
.edhero__hl-star {
    position: absolute;
    top: -8%;
    right: -22px;
    color: var(--neu-warning);
    transform: rotate(15deg) scale(0);
    animation: edhPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 1.2s forwards;
}

@keyframes edhPop {
    to {
        transform: rotate(15deg) scale(1);
    }
}

/* "professionals" — blue word with squiggle underline + arrow annotation */
.edhero__title-mark {
    color: var(--neu-accent);
    -webkit-text-fill-color: var(--neu-accent);
    position: relative;
    display: inline-block;
    white-space: nowrap;
}

.edhero__title-mark-underline {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.05em;
    width: 100%;
    height: 0.18em;
    color: var(--neu-accent);
    pointer-events: none;
    stroke-dasharray: 320;
    stroke-dashoffset: 320;
    animation: edhDraw 1.4s cubic-bezier(0.4, 0, 0.2, 1) 1.4s forwards;
}

@keyframes edhDraw {
    to {
        stroke-dashoffset: 0;
    }
}

.edhero__lead {
    color: var(--neu-muted) !important;
    font-size: 17px;
    line-height: 1.7;
    margin: 0;
    max-width: 540px;
}

.edhero__lead strong {
    color: var(--neu-fg);
    font-weight: 700;
}

/* CTA row */
.edhero__cta-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.edhero__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 24px;
    border-radius: var(--neu-r-base);
    font-weight: 600;
    font-size: 14.5px;
    border: 1px solid transparent;
    text-decoration: none !important;
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
}

.edhero__cta--primary {
    background: var(--neu-accent) !important;
    color: #fff !important;
    border-color: var(--neu-accent) !important;
}

.edhero__cta--primary:hover {
    background: var(--neu-accent-hover) !important;
    border-color: var(--neu-accent-hover) !important;
    color: #fff !important;
    transform: translateY(-2px);
}

.edhero__cta-pulse {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transform: translateX(-100%);
    animation: edhShimmer 3s ease-in-out infinite;
}

@keyframes edhShimmer {

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

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

.edhero__cta--ghost {
    background: var(--neu-card) !important;
    color: var(--neu-fg) !important;
    border-color: var(--neu-border) !important;
}

.edhero__cta--ghost:hover {
    color: var(--neu-accent) !important;
    border-color: var(--neu-accent) !important;
    background: var(--neu-accent-light) !important;
}

/* Trust row with avatars */
.edhero__trust {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 10px 20px;
    width: fit-content;
    max-width: 100%;
    margin-top: 8px;
}

/* Rating block: big number leads, stars sit beneath */
.edhero__trust-score {
    display: flex;
    align-items: center;
    gap: 9px;
}

.edhero__trust-num {
    font-family: var(--neu-font-display);
    font-weight: 800;
    font-size: 26px;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--neu-fg);
}

.edhero__trust-stars {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
}

.edhero__trust-stars {
    flex-direction: row;
    align-items: center;
    gap: 1.5px;
}

.edhero__trust-stars svg {
    fill: #F5A623;
}

/* Hairline divider replaces the old avatar cluster as the visual separator */
.edhero__trust-divider {
    width: 1px;
    align-self: stretch;
    margin: 2px 0;
    background: var(--neu-border);
}

.edhero__trust-text {
    display: flex;
    flex-direction: column;
    gap: 1px;
    line-height: 1.15;
}

.edhero__trust-count {
    font-family: var(--neu-font-display);
    font-weight: 800;
    font-size: 15px;
    letter-spacing: -0.01em;
    color: var(--neu-accent);
}

.edhero__trust-text>span {
    color: var(--neu-muted);
    font-size: 11.5px;
}

/* ────── RIGHT — Live Pulse Console (Radar Visualization) ────── */
/* ─── Hero Image (full-bleed, tilted fade into content) ─── */
/* The <img> is a direct child of .edhero--v2. On mobile it flows after the text
   (via flex order); on desktop it's pinned to the section's top + right edges at
   full height, with the left side faded on a tilt. .edhero__visual is an empty
   spacer that reserves the right grid column on desktop only. */
.edhero__visual {
    display: none;
}

/* Mobile: section is a flex column so the image can be ordered after the content */
.edhero--v2 {
    display: flex;
    flex-direction: column;
}

.edhero--v2>.container {
    order: 1;
}

.edhero__media {
    order: 2;
    display: block;
    width: calc(100% - 40px);
    height: auto;
    margin: 4px auto 0;
    max-width: 600px;
    object-fit: cover;
    border-radius: 18px;
    /* Mobile look: gentle radial blend, no hard frame */
    -webkit-mask-image: radial-gradient(130% 130% at 50% 45%, #000 70%, transparent 100%);
    mask-image: radial-gradient(130% 130% at 50% 45%, #000 70%, transparent 100%);
}

@media (min-width: 992px) {

    /* Back to block flow; image is taken out via absolute positioning */
    .edhero--v2 {
        display: block;
    }

    /* The empty spacer reserves the right grid column so text never overlaps */
    .edhero__visual {
        display: block;
        width: 100%;
        min-height: 420px;
    }

    .edhero__media {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        height: 100%;
        width: 56%;
        /* a bit wider so the diagonal cut doesn't eat the subject */
        max-width: none;
        margin: 0;
        border-radius: 0;
        /* bleeds to top + right edges, no rounding */
        z-index: 1;
        /* above bg pattern (0), below text content */
        /* Tedha (slanted) edge: clip the content-facing side on a diagonal,
           so the image shape itself is angled like a clip-path cut. */
        -webkit-clip-path: polygon(18% 0, 100% 0, 100% 100%, 0% 100%);
        clip-path: polygon(18% 0, 100% 0, 100% 100%, 0% 100%);
        /* Fade wash along that diagonal so the cut edge feathers, not razor-sharp;
           plus a soft top/bottom feather into the hero bg. */
        -webkit-mask-image:
            linear-gradient(110deg, transparent 8%, rgba(0, 0, 0, 0.45) 24%, #000 46%),
            linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
        mask-image:
            linear-gradient(110deg, transparent 8%, rgba(0, 0, 0, 0.45) 24%, #000 46%),
            linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
        -webkit-mask-composite: source-in;
        mask-composite: intersect;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
    }

    /* Keep hero text above the image */
    .edhero__layout {
        z-index: 2;
    }

    .edhero__content {
        position: relative;
        z-index: 3;
    }
}

/* The live broadcast card */
.edhero__broadcast {
    position: relative;
    display: block;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: 20px;
    padding: 26px 26px 22px;
    box-shadow: 0 12px 36px rgba(0, 171, 228, 0.12), 0 2px 8px rgba(17, 24, 39, 0.04);
    text-decoration: none !important;
    overflow: hidden;
    transition: all 0.3s ease;
}

.edhero__broadcast::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0, 171, 228, 0.05) 0%, transparent 50%);
    pointer-events: none;
}

.edhero__broadcast:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 44px rgba(0, 171, 228, 0.2), 0 4px 12px rgba(17, 24, 39, 0.06);
    border-color: var(--neu-accent-soft);
}

/* Concentric pulse rings behind the live badge */
.edhero__broadcast-rings {
    position: absolute;
    top: 26px;
    left: 26px;
    width: 80px;
    height: 80px;
    pointer-events: none;
    z-index: 0;
}

.edhero__broadcast-rings span {
    position: absolute;
    inset: 0;
    border: 1.5px solid var(--neu-danger);
    border-radius: 50%;
    opacity: 0;
    animation: edhRings 2.4s ease-out infinite;
}

.edhero__broadcast-rings span:nth-child(2) {
    animation-delay: 0.8s;
}

.edhero__broadcast-rings span:nth-child(3) {
    animation-delay: 1.6s;
}

@keyframes edhRings {
    0% {
        transform: scale(0.4);
        opacity: 0.7;
    }

    100% {
        transform: scale(1.8);
        opacity: 0;
    }
}

.edhero__broadcast-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    position: relative;
    z-index: 1;
}

.edhero__broadcast-live {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    background: var(--neu-danger);
    color: #fff;
    border-radius: var(--neu-r-pill);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.edhero__broadcast-livedot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
    animation: edhBlink 1.2s ease-in-out infinite;
}

@keyframes edhBlink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }
}

.edhero__broadcast-watching {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--neu-muted);
    font-size: 12px;
    font-weight: 500;
}

.edhero__broadcast-watching strong {
    color: var(--neu-fg);
    font-weight: 700;
}

.edhero__broadcast-cat {
    display: inline-block;
    padding: 4px 11px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 600;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.edhero__broadcast-title {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: clamp(1.1rem, 2.2vw, 1.4rem);
    line-height: 1.3;
    margin: 0 0 14px;
    letter-spacing: -0.015em;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.edhero__broadcast-meta {
    display: flex;
    gap: 14px;
    padding: 10px 14px;
    background: var(--neu-bg);
    border-radius: var(--neu-r-base);
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.edhero__broadcast-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--neu-fg);
    font-size: 12.5px;
    font-weight: 600;
}

.edhero__broadcast-meta svg {
    color: var(--neu-accent);
}

.edhero__broadcast-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--neu-border);
}

.edhero__broadcast-speaker {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1;
}

.edhero__broadcast-speaker img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--neu-accent-light);
}

.edhero__broadcast-speaker strong {
    display: block;
    color: var(--neu-fg);
    font-weight: 700;
    font-size: 12.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.edhero__broadcast-speaker span {
    display: block;
    color: var(--neu-muted);
    font-size: 11px;
}

.edhero__broadcast-cta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 16px;
    background: var(--neu-accent);
    color: #fff;
    border-radius: var(--neu-r-pill);
    font-size: 12px;
    font-weight: 700;
    transition: all 0.2s ease;
}

.edhero__broadcast:hover .edhero__broadcast-cta {
    background: var(--neu-accent-hover);
}

/* Sound wave decoration below card */
.edhero__waves {
    position: absolute;
    bottom: -32px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: flex-end;
    gap: 5px;
    height: 26px;
    z-index: 1;
}

.edhero__waves span {
    width: 4px;
    background: var(--neu-accent);
    border-radius: 2px;
    opacity: 0.6;
    animation: edhWave 1.2s ease-in-out infinite;
}

.edhero__waves span:nth-child(1) {
    height: 8px;
    animation-delay: 0.0s;
}

.edhero__waves span:nth-child(2) {
    height: 14px;
    animation-delay: 0.1s;
}

.edhero__waves span:nth-child(3) {
    height: 22px;
    animation-delay: 0.2s;
}

.edhero__waves span:nth-child(4) {
    height: 16px;
    animation-delay: 0.3s;
}

.edhero__waves span:nth-child(5) {
    height: 24px;
    animation-delay: 0.4s;
}

.edhero__waves span:nth-child(6) {
    height: 12px;
    animation-delay: 0.5s;
}

.edhero__waves span:nth-child(7) {
    height: 20px;
    animation-delay: 0.6s;
}

.edhero__waves span:nth-child(8) {
    height: 10px;
    animation-delay: 0.7s;
}

.edhero__waves span:nth-child(9) {
    height: 16px;
    animation-delay: 0.8s;
}

.edhero__waves span:nth-child(10) {
    height: 8px;
    animation-delay: 0.9s;
}

@keyframes edhWave {

    0%,
    100% {
        transform: scaleY(1);
    }

    50% {
        transform: scaleY(0.4);
    }
}

@media (max-width: 991px) {
    .edhero--v2 {
        padding: 56px 0 80px;
    }

    .edhero__visual {
        max-width: 420px;
        margin-top: 8px;
    }
}

@media (max-width: 575px) {
    .edhero__cta {
        flex: 1;
        justify-content: center;
    }
}

/* ─── Bento Grid ─── */
.bento {
    background: var(--neu-bg);
    padding: 0 0 64px;
}

.bento__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 160px;
    gap: 14px;
}

@media (max-width: 991px) {
    .bento__grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 140px;
    }
}

@media (max-width: 575px) {
    .bento__grid {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
        gap: 10px;
    }
}

.bento__cell {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 22px;
    transition: all 0.25s ease;
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.bento__cell:hover {
    border-color: var(--neu-accent);
    box-shadow: var(--neu-shadow);
    transform: translateY(-2px);
}

/* A. Featured Live (large 2x2) */
.bento__cell--featured {
    grid-column: span 2;
    grid-row: span 2;
    background: var(--neu-card);
    color: var(--neu-fg);
    position: relative;
    overflow: hidden;
    justify-content: space-between;
    padding: 28px 30px;
}

.bento__cell--featured::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--neu-accent) 0%, var(--neu-accent-hover) 100%);
    z-index: 0;
}

.bento__cell--featured>* {
    position: relative;
    z-index: 1;
    color: #fff;
}

.bento__cell--featured:hover {
    border-color: var(--neu-accent-hover);
    transform: translateY(-3px);
}

.bento__cell-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 16px;
}

/* Minimal "Featured Live" eyebrow: live dot + label, no chip */
.bento__tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--neu-font-display);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.92);
}

.bento__tag-dot {
    position: relative;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    flex-shrink: 0;
}

.bento__tag-dot::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: #fff;
    animation: bentoLivePulse 1.8s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

@keyframes bentoLivePulse {
    0% {
        transform: scale(1);
        opacity: 0.6;
    }

    70% {
        transform: scale(2.6);
        opacity: 0;
    }

    100% {
        transform: scale(2.6);
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bento__tag-dot::after {
        animation: none;
    }
}

.bento__featured-title {
    font-family: var(--neu-font-display);
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    color: #fff !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.28);
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bento__featured-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

/* Tear-off calendar (white) on the featured bento cell */
.bento__cal {
    position: relative;
    flex-shrink: 0;
    width: 64px;
    min-height: 70px;
    margin-top: 6px;
    background: #fff;
    border-radius: 7px;
    box-shadow: 0 8px 18px -9px rgba(8, 21, 46, 0.55);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 0 7px;
}

.bento__cal-head {
    width: 100%;
    background: #0B2A52;
    color: #fff;
    font-family: var(--neu-font-display);
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 5px 3px 4px;
    border-radius: 7px 7px 0 0;
    white-space: nowrap;
}

.bento__cal-rings {
    position: absolute;
    top: -5px;
    left: 7px;
    right: 7px;
    height: 9px;
    z-index: 2;
    background-image: radial-gradient(circle at center, #0B2A52 0 2px, transparent 2.6px);
    background-size: 11px 9px;
    background-repeat: repeat-x;
    background-position: center top;
}

.bento__cal-day {
    font-family: var(--neu-font-display);
    font-size: 28px;
    font-weight: 800;
    color: #0B2A52;
    line-height: 1;
    margin: 8px 0 2px;
}

/* peeling bottom-right corner */
.bento__cal::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 15px;
    height: 15px;
    background: linear-gradient(135deg, transparent 50%, #E3E9F2 52%, #C7D2E3 100%);
    border-top-left-radius: 5px;
    border-bottom-right-radius: 7px;
    box-shadow: -2px -2px 4px rgba(8, 21, 46, 0.12);
}

.bento__featured-info {
    display: flex;
    align-items: center;
    gap: 20px;
}

.bento__featured-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bento__featured-stat small {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1;
}

.bento__featured-stat strong {
    font-family: var(--neu-font-display);
    font-size: 15px;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    letter-spacing: -0.01em;
}

.bento__featured-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.bento__speaker {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.bento__speaker-img {
    width: 44px;
    height: 44px;
    border-radius: 9px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.2);
    border: 2px solid rgba(255, 255, 255, 0.85);
    flex-shrink: 0;
}

.bento__speaker-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bento__speaker strong {
    display: block;
    color: #fff;
    font-weight: 700;
    font-size: 13.5px;
}

.bento__speaker span {
    display: block;
    color: rgba(255, 255, 255, 0.8);
    font-size: 11.5px;
}

.bento__arrow {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fff;
    color: var(--neu-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s ease;
    flex-shrink: 0;
}

.bento__cell--featured:hover .bento__arrow {
    transform: rotate(-15deg) scale(1.1);
}

/* B-C. Stat cells */
.bento__cell--stat {
    justify-content: center;
    align-items: flex-start;
}

.bento__stat-label {
    font-size: 11px;
    color: var(--neu-muted);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.bento__stat-num {
    font-family: var(--neu-font-display);
    font-size: clamp(2.2rem, 4vw, 3rem);
    font-weight: 800;
    color: var(--neu-accent);
    line-height: 1;
    letter-spacing: -0.03em;
    margin: 8px 0 6px;
}

.bento__stat-foot {
    font-size: 12px;
    color: var(--neu-muted);
}

.bento__cell--stat-2 .bento__stat-num {
    color: var(--neu-accent-2);
}

/* D-E. Promise cells */
.bento__cell--promise,
.bento__cell--qa {
    justify-content: center;
    align-items: flex-start;
}

.bento__promise-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--neu-r-base);
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.bento__promise-icon--2 {
    background: var(--neu-success-bg);
    color: var(--neu-accent-2);
}

.bento__cell--promise strong,
.bento__cell--qa strong {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: 16px;
    margin-bottom: 4px;
    display: block;
}

.bento__cell--promise span,
.bento__cell--qa span {
    color: var(--neu-muted);
    font-size: 12.5px;
    line-height: 1.5;
}

/* F. Industries (full width) */
.bento__cell--industries {
    grid-column: span 4;
    grid-row: auto;
    height: auto;
    min-height: 120px;
    padding: 22px 26px;
}

@media (max-width: 991px) {
    .bento__cell--industries {
        grid-column: span 2;
    }
}

@media (max-width: 575px) {
    .bento__cell--industries {
        grid-column: span 1;
    }
}

.bento__industries-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    gap: 10px;
    flex-wrap: wrap;
}

.bento__industries-head strong {
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: 15px;
}

.bento__industries-head a {
    color: var(--neu-accent);
    font-size: 12.5px;
    font-weight: 600;
}

.bento__industries-head a:hover {
    color: var(--neu-accent-hover);
}

.bento__industries-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bento__industry {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: var(--neu-accent-light);
    color: var(--neu-accent) !important;
    border-radius: var(--neu-r-pill);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.bento__industry:hover {
    background: var(--neu-accent);
    color: #fff !important;
    transform: translateY(-1px);
}

.bento__industry small {
    padding: 2px 8px;
    background: rgba(0, 171, 228, 0.15);
    border-radius: var(--neu-r-pill);
    font-size: 10.5px;
    font-weight: 700;
}

.bento__industry:hover small {
    background: rgba(255, 255, 255, 0.25);
}