/* =========================================================================
   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:    16px;
    --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: 1280px; }

/* -------------------------------------------------------------------------
   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: 1px solid var(--neu-border);
    padding: 4px 6px 4px 14px;
    border-radius: var(--neu-r-pill);
    width: 240px;
    transition: border-color 0.2s ease;
}
@media (min-width: 768px) { .wt-h__search { display: flex; } }
.wt-h__search:focus-within { border-color: var(--neu-accent); }
.wt-h__search input {
    flex: 1;
    background: transparent;
    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: 40px !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: 22px 22px 18px;
    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; }

.wp-card__date-block {
    flex-shrink: 0;
    width: 58px; height: 68px;
    padding: 6px 4px;
    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;
    gap: 1px;
}
.wp-card__date-day {
    font-family: var(--neu-font-display);
    font-size: 20px; font-weight: 800;
    color: var(--neu-fg); line-height: 1;
}
.wp-card__date-month {
    font-size: 9px; letter-spacing: 0.12em;
    font-weight: 700; color: var(--neu-accent);
    line-height: 1; margin-top: 2px;
}
.wp-card__date-year {
    font-size: 9px; font-weight: 600;
    color: var(--neu-muted);
    line-height: 1; margin-top: 3px;
    padding-top: 3px;
    border-top: 1px solid var(--neu-border);
    width: 100%; text-align: center;
}

.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;
    border-top: 1px solid var(--neu-divider);
}

.wp-card__avatar {
    width: 38px; height: 38px;
    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: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wp-card__speaker-role { color: var(--neu-muted); font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.wp-card__arrow {
    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;
    transition: all 0.2s ease;
    flex-shrink: 0;
}
.wp-card:hover .wp-card__arrow { background: var(--neu-accent); color: #fff; transform: rotate(-15deg); }

/* -------------------------------------------------------------------------
   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;
    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);
    box-shadow: 0 12px 32px rgba(17, 24, 39, 0.10);
    border-color: var(--neu-accent-soft);
}
.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: 18px;
    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::before,
.wp-banner__ribbon::after {
    content: "";
    position: absolute;
    border: 5px solid transparent;
}
.wp-banner__ribbon::before {
    border-top-color: #B91C1C;
    border-right-color: #B91C1C;
    left: 0; bottom: -10px;
}
.wp-banner__ribbon::after {
    border-top-color: #B91C1C;
    border-left-color: #B91C1C;
    right: 0; bottom: -10px;
}
.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: 28px 32px;
    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;
    padding: 14px 16px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
}
.wp-banner__date-block {
    flex-shrink: 0;
    width: 72px;
    height: 84px;
    background: var(--neu-card);
    border: 1px solid var(--neu-accent-soft);
    border-radius: var(--neu-r-base);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px 4px;
}
.wp-banner__date-week {
    font-size: 9.5px;
    font-weight: 700;
    color: var(--neu-muted);
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.wp-banner__date-day {
    font-family: var(--neu-font-display);
    font-size: 28px;
    font-weight: 800;
    color: var(--neu-accent);
    line-height: 1;
    margin: 2px 0;
}
.wp-banner__date-mon {
    font-size: 9.5px;
    font-weight: 800;
    color: var(--neu-fg);
    letter-spacing: 0.1em;
}
.wp-banner__schedule-info { display: flex; flex-direction: column; gap: 6px; }
.wp-banner__schedule-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--neu-fg);
    font-size: 13px;
    font-weight: 500;
}
.wp-banner__schedule-row svg { color: var(--neu-accent); 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;
    border-top: 1px solid var(--neu-border);
    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;
    box-shadow: 0 4px 12px rgba(0, 171, 228, 0.3);
}
.wp-banner--rec .wp-banner__cta { background: var(--neu-fg); box-shadow: 0 4px 12px rgba(26, 35, 50, 0.3); }
.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-direction: column; align-items: stretch; }
    .wp-banner__date-block { width: 100%; height: auto; flex-direction: row; gap: 10px; padding: 10px 16px; justify-content: center; }
    .wp-banner__date-day { margin: 0; font-size: 22px; }
}

/* 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: 12px 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: 36px; 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-banner { padding: 24px; }
    .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; }
@media (min-width: 992px) { .confhero__order { position: sticky; top: 90px; } }

.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 { padding-bottom: 12px; border-bottom: 1px solid var(--neu-border); }
.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: 5px 12px !important;
    background: var(--neu-accent-light) !important;
    border-radius: var(--neu-r-pill) !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 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px;
    padding: 14px 16px;
    background: var(--neu-card) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-base) !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    min-height: 60px;
    overflow: hidden;
}
.cv8-item::before {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 0;
    background: var(--neu-accent);
    transition: width 0.25s ease;
}
.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) {
    border-color: var(--neu-accent) !important;
    background: var(--neu-accent-light) !important;
    box-shadow: none !important;
}
.cv8-item:has(input:checked)::before { width: 4px; }
.cv8-group:last-child .cv8-item::before { background: var(--neu-accent-2); }

.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;
    padding: 14px !important;
    margin-top: 6px;
    background: var(--neu-bg) !important;
    border: 1px solid var(--neu-border) !important;
    border-radius: var(--neu-r-card) !important;
    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;
}
.cv8-perks li {
    display: 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;
}
.cv8-perks svg { color: var(--neu-accent-2); flex-shrink: 0; width: 14px !important; height: 14px !important; }
.cv8-perks li::before { display: none; }

.cv7-links {
    display: flex !important;
    gap: 6px;
    margin-top: 10px !important;
    flex-wrap: wrap;
}
.cv7-links > span { display: none !important; }
.cv7-links a {
    flex: 1; min-width: 0;
    color: var(--neu-accent) !important;
    font-weight: 600;
    font-size: 12px;
    text-align: center;
    padding: 8px 10px;
    background: var(--neu-accent-light) !important;
    border-radius: var(--neu-r-base);
    transition: all 0.2s ease;
}
.cv7-links a:hover { background: var(--neu-accent) !important; color: #fff !important; }

/* Related */
.cv-related-section { background: var(--neu-bg) !important; padding: 40px 0 80px; }
.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(--neu-bg);
    margin: 12px;
    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; }
.crt-empty { background: var(--neu-bg) !important; padding: 80px 0; }
.crt-empty__inner {
    max-width: 540px; margin: 0 auto;
    text-align: center;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    padding: 56px 32px;
    border-radius: var(--neu-r-card);
}
.crt-empty__icon {
    width: 72px; height: 72px;
    border-radius: 50%;
    background: var(--neu-accent-light);
    color: var(--neu-muted);
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: 18px;
}
.crt-empty__inner h2 { font-family: var(--neu-font-display); color: var(--neu-fg); font-weight: 800; font-size: 24px; margin: 0 0 8px; }
.crt-empty__inner p { color: var(--neu-muted); font-size: 15px; margin: 0 0 24px; }
.crt-empty__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.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 { background: var(--neu-bg) !important; padding: 56px 0 80px; }
.spkd-profile {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    padding: 36px;
    border-radius: var(--neu-r-card);
}
@media (min-width: 768px) { .spkd-profile { grid-template-columns: 240px 1fr; gap: 36px; } }

.spkd-profile__visual {
    width: 220px; height: 220px; margin: 0 auto;
    border-radius: 50%;
    border: 4px solid var(--neu-accent-light);
    overflow: hidden;
    position: relative;
}
.spkd-profile__visual img { width: 100%; height: 100%; object-fit: cover; }
.spkd-profile__visual::after {
    content: "";
    position: absolute;
    width: 40px; height: 40px;
    bottom: 12px; right: 12px;
    border-radius: 50%;
    background: var(--neu-accent-2);
    border: 3px solid var(--neu-card);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'><path d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/><polyline points='22 4 12 14.01 9 11.01'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
}

.spkd-profile__info { display: flex; flex-direction: column; gap: 14px; }
.spkd-profile__back {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    color: var(--neu-muted) !important;
    border-radius: var(--neu-r-pill);
    font-size: 12px; font-weight: 600;
    width: fit-content;
    transition: all 0.2s ease;
}
.spkd-profile__back:hover { color: var(--neu-accent) !important; border-color: var(--neu-accent); background: var(--neu-accent-light); }

.spkd-profile__name { 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; }

.spkd-profile__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.spkd-profile__tag {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px;
    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: 500;
}
.spkd-profile__tag svg { color: var(--neu-accent); }

.spkd-profile__bio {
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    padding: 20px 22px;
    color: var(--neu-fg);
    font-size: 14px;
    line-height: 1.7;
}
.spkd-profile__bio * { color: var(--neu-fg) !important; }
.spkd-profile__bio a { color: var(--neu-accent) !important; }

/* 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: 22px;
    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;
    box-shadow: 0 6px 18px rgba(239, 68, 68, 0.4);
    z-index: 5;
}

.cf-hero__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
}
.cf-hero__pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
.cf-hero__pill--live {
    background: rgba(239, 68, 68, 0.25);
    border-color: rgba(239, 68, 68, 0.5);
}
.cf-hero__pulse {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: #fff;
    animation: edhBlink 1.2s ease-in-out infinite;
}
.cf-hero__pill--days { background: rgba(0, 0, 0, 0.25); }
.cf-hero__pill--accredited {
    background: rgba(255, 255, 255, 0.95);
    color: var(--neu-accent-hover);
    border-color: #fff;
}

.cf-hero__title {
    font-family: var(--neu-font-display) !important;
    font-size: clamp(1.8rem, 4.4vw, 3.2rem) !important;
    font-weight: 800;
    color: #fff !important;
    line-height: 1.1;
    margin: 0 0 32px;
    letter-spacing: -0.025em;
    max-width: 900px;
}

/* Meta rail — horizontal strip */
.cf-hero__meta {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--neu-r-base);
    padding: 4px;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    width: fit-content;
    max-width: 100%;
    flex-wrap: wrap;
}
.cf-hero__meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
}
.cf-hero__meta-ico {
    width: 36px; height: 36px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cf-hero__meta-text { display: flex; flex-direction: column; gap: 1px; }
.cf-hero__meta-text small { font-size: 10px; color: rgba(255,255,255,0.75); text-transform: uppercase; letter-spacing: 0.1em; font-weight: 700; }
.cf-hero__meta-text strong { color: #fff; font-weight: 700; font-size: 13.5px; white-space: nowrap; }
.cf-hero__meta-sep {
    width: 1px;
    align-self: stretch;
    background: rgba(255, 255, 255, 0.2);
    margin: 8px 0;
}
@media (max-width: 767px) {
    .cf-hero__meta-sep { display: none; }
    .cf-hero__meta-item { flex: 1 1 calc(50% - 8px); }
}

/* ─── 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; }

/* Speaker Spotlight Card */
.cf-speaker {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 24px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    transition: all 0.25s ease;
    text-decoration: none !important;
    box-shadow: var(--neu-shadow-sm);
}
.cf-speaker:hover { border-color: var(--neu-accent); box-shadow: var(--neu-shadow); transform: translateY(-2px); }
.cf-speaker__img {
    position: relative;
    width: 70px; height: 70px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--neu-accent-light);
    flex-shrink: 0;
}
.cf-speaker__img img { width: 100%; height: 100%; object-fit: cover; }
.cf-speaker__badge {
    position: absolute;
    bottom: -2px; right: -2px;
    width: 24px; height: 24px;
    border-radius: 50%;
    background: var(--neu-accent);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--neu-card);
}
.cf-speaker__info { flex: 1; min-width: 0; }
.cf-speaker__info small {
    display: block;
    color: var(--neu-muted);
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin-bottom: 2px;
}
.cf-speaker__info strong {
    display: block;
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: 18px;
    letter-spacing: -0.01em;
}
.cf-speaker__title-line {
    display: block;
    color: var(--neu-muted);
    font-size: 12.5px;
    margin-top: 2px;
}
.cf-speaker__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}
.cf-speaker__chips span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 10.5px;
    font-weight: 600;
}
.cf-speaker__link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 14px;
    color: var(--neu-accent) !important;
    font-size: 12.5px;
    font-weight: 600;
    flex-shrink: 0;
}
@media (max-width: 575px) {
    .cf-speaker { flex-wrap: wrap; }
    .cf-speaker__link { width: 100%; justify-content: center; padding: 10px; background: var(--neu-accent-light); border-radius: var(--neu-r-pill); margin-top: 4px; }
}

/* Tabs */
.cf-tabs {
    display: flex;
    gap: 4px;
    padding: 4px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    width: fit-content;
    max-width: 100%;
    flex-wrap: wrap;
}
.cf-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    background: transparent;
    border: none;
    color: var(--neu-muted);
    font-family: var(--neu-font-body);
    font-size: 13px;
    font-weight: 600;
    border-radius: var(--neu-r-pill);
    cursor: pointer;
    transition: all 0.2s ease;
}
.cf-tab:hover { color: var(--neu-accent); background: var(--neu-accent-light); }
.cf-tab.is-active { background: var(--neu-accent); color: #fff; box-shadow: 0 2px 8px rgba(0, 171, 228, 0.25); }
.cf-tab.is-active svg { color: #fff; }

/* Tab Panels */
.cf-panel {
    display: none;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 28px 32px;
    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;
    border-bottom: 1px solid var(--neu-border);
    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 */
.cf-benefits {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.cf-benefits li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 18px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
}
.cf-benefits li svg {
    color: var(--neu-accent-2);
    flex-shrink: 0;
    margin-top: 2px;
    width: 22px;
    height: 22px;
    padding: 2px;
    background: var(--neu-success-bg);
    border-radius: 50%;
    box-sizing: content-box;
}
.cf-benefits li div { display: flex; flex-direction: column; gap: 2px; }
.cf-benefits li strong {
    color: var(--neu-fg);
    font-family: var(--neu-font-display);
    font-weight: 700;
    font-size: 14.5px;
}
.cf-benefits li span {
    color: var(--neu-muted);
    font-size: 13px;
    line-height: 1.55;
}

/* 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: var(--neu-r-pill);
    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);
}

/* Right sidebar (using existing confhero__order class — still positioned sticky) */
@media (min-width: 992px) {
    .cf-body .confhero__order { position: sticky; top: 90px; }
}

/* Hide old confhero internals that don't apply to new layout */
.cf-body__layout .confhero__main,
.cf-body__layout .confhero__pills,
.cf-body__layout .confhero__title,
.cf-body__layout .confhero__meta,
.cf-body__layout .confhero__speaker,
.cf-body__layout .confhero__section,
.cf-body__layout .confhero__share-row-inline { /* no-op — these don't exist anymore */ }

/* =========================================================================
   CART / CHECKOUT — Premium Redesign (.ck-*)
   ========================================================================= */
.ck {
    background: var(--neu-bg);
    padding: 32px 0 80px;
}

/* ─── 1. Progress Stepper ─── */
.ck-steps {
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-card);
    padding: 22px 28px 18px;
    margin-bottom: 24px;
    position: relative;
}
.ck-steps__bar {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 18px;
    height: 4px;
    background: var(--neu-border);
    border-radius: 2px;
}
.ck-steps__progress {
    height: 100%;
    background: linear-gradient(90deg, var(--neu-accent), var(--neu-accent-hover));
    border-radius: 2px;
    transition: width 0.4s ease;
}
.ck-steps__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    padding-bottom: 14px;
}
.ck-step {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--neu-muted);
    transition: color 0.25s ease;
}
.ck-step__icon {
    width: 38px; height: 38px;
    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;
    flex-shrink: 0;
    transition: all 0.25s ease;
}
.ck-step small {
    display: block;
    font-size: 10.5px;
    color: var(--neu-muted);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
}
.ck-step strong {
    display: block;
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 700;
    font-size: 14px;
}
.ck-step--active .ck-step__icon {
    background: var(--neu-accent);
    border-color: var(--neu-accent);
    color: #fff;
    box-shadow: 0 4px 12px rgba(0, 171, 228, 0.3);
}
.ck-step--active small { color: var(--neu-accent); }
.ck-step--done .ck-step__icon {
    background: var(--neu-accent-2);
    border-color: var(--neu-accent-2);
    color: #fff;
}
@media (max-width: 575px) {
    .ck-steps__list { grid-template-columns: 1fr; gap: 8px; }
    .ck-steps__bar { display: 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: 24px 28px;
    box-shadow: var(--neu-shadow-sm);
}
.ck-section__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 16px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--neu-border);
}
.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 auto auto;
    align-items: center;
    gap: 16px;
    padding: 16px 18px;
    background: var(--neu-bg);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-base);
    transition: border-color 0.2s ease;
}
.ck-item:hover { border-color: var(--neu-accent-soft); }
@media (max-width: 767px) {
    .ck-item { grid-template-columns: 56px 1fr auto; }
    .ck-item__qty { grid-column: 1 / -1; justify-content: flex-start; }
}

.ck-item__visual {
    width: 56px; height: 56px;
    border-radius: var(--neu-r-base);
    background: linear-gradient(135deg, var(--neu-accent), var(--neu-accent-hover));
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--neu-font-display);
    font-weight: 800;
    font-size: 22px;
    flex-shrink: 0;
    text-transform: uppercase;
    box-shadow: 0 2px 6px rgba(0, 171, 228, 0.2);
}

.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: 5px; }
.ck-item__format {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    background: var(--neu-accent-light);
    color: var(--neu-accent);
    border-radius: var(--neu-r-pill);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
}
.ck-item__format svg { color: var(--neu-accent); }

.ck-item__bottom { font-size: 12px; }
.ck-item__unit-price {
    color: var(--neu-muted);
    font-weight: 500;
}
.ck-item__unit-price small { font-size: 10.5px; opacity: 0.7; }

/* Quantity stepper */
.ck-item__qty {
    display: inline-flex;
    align-items: center;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    overflow: hidden;
    height: 36px;
}
.ck-qty-btn {
    width: 32px; height: 100%;
    background: transparent;
    border: none;
    color: var(--neu-fg);
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease;
}
.ck-qty-btn:hover { background: var(--neu-accent-light); color: var(--neu-accent); }
.ck-qty__input {
    width: 44px;
    height: 100%;
    background: transparent !important;
    border: none !important;
    border-left: 1px solid var(--neu-border) !important;
    border-right: 1px solid var(--neu-border) !important;
    text-align: center;
    font-weight: 700;
    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;
}

.ck-item__total {
    text-align: right;
    font-family: var(--neu-font-display);
    color: var(--neu-fg);
    font-weight: 800;
    font-size: 17px;
}
.ck-item__total strong { color: var(--neu-fg); }

.ck-item__remove {
    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;
    transition: all 0.2s ease;
    text-decoration: none !important;
}
.ck-item__remove:hover {
    color: var(--neu-danger);
    border-color: var(--neu-danger);
    background: var(--neu-danger-bg);
}

/* ─── 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: 800;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 6px 14px;
    background: var(--neu-accent-light);
    border-radius: var(--neu-r-pill);
    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: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 24px;
    background: var(--neu-accent);
    color: #fff;
    border: 1px solid var(--neu-accent);
    border-radius: var(--neu-r-base);
    font-family: var(--neu-font-body);
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 4px 14px rgba(0, 171, 228, 0.3);
    margin-top: 4px;
}
.ck-pay-btn:hover {
    background: var(--neu-accent-hover);
    border-color: var(--neu-accent-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0, 171, 228, 0.4);
}
.ck-pay-btn:active { transform: translateY(0.5px); }

.ck-secure {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--neu-success-bg);
    color: var(--neu-success);
    border: 1px solid var(--neu-accent-soft);
    border-radius: var(--neu-r-pill);
    font-size: 11.5px;
    font-weight: 600;
    width: fit-content;
    margin: 0 auto;
}

/* ─── 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; border-top: 1px solid var(--neu-border); border-bottom: 1px solid var(--neu-border); }
.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;
    padding-top: 14px;
    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; }

/* =========================================================================
   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;
}

.edhero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    background: var(--neu-card);
    border: 1px solid var(--neu-border);
    border-radius: var(--neu-r-pill);
    font-size: 12px;
    font-weight: 600;
    color: var(--neu-muted);
    width: fit-content;
    box-shadow: var(--neu-shadow-sm);
}
.edhero__eyebrow strong {
    color: var(--neu-danger);
    font-weight: 800;
    letter-spacing: 0.1em;
    font-size: 11px;
}
.edhero__dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--neu-danger);
    flex-shrink: 0;
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.6);
    animation: edhPulse 1.4s ease-out infinite;
}
@keyframes edhPulse {
    0%   { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.5); }
    70%  { box-shadow: 0 0 0 8px rgba(239, 68, 68, 0); }
    100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}
.edhero__counter {
    color: var(--neu-fg);
    font-weight: 700;
}
.edhero__sep { color: var(--neu-border-strong); }

/* 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;
    box-shadow: 0 6px 16px rgba(0, 171, 228, 0.3);
}
.edhero__cta--primary:hover {
    background: var(--neu-accent-hover) !important;
    border-color: var(--neu-accent-hover) !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 171, 228, 0.4);
}
.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); box-shadow: 0 12px 32px rgba(0, 171, 228, 0.3); }

.bento__cell-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 16px;
}
.bento__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: var(--neu-r-pill);
    font-size: 10.5px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.1em;
}
.bento__tag .edhero__dot { background: #fff; }
.bento__cat {
    padding: 4px 12px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: var(--neu-r-pill);
    font-size: 11px;
    font-weight: 600;
    color: #fff;
}

.bento__featured-title {
    font-family: var(--neu-font-display);
    font-size: clamp(1.4rem, 2.4vw, 1.8rem);
    font-weight: 800;
    color: #fff !important;
    line-height: 1.25;
    margin: 0 0 18px;
    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; }
.bento__date-pad {
    flex-shrink: 0;
    width: 60px; height: 64px;
    border-radius: var(--neu-r-base);
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.25);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.bento__date-day { font-family: var(--neu-font-display); font-size: 22px; font-weight: 800; line-height: 1; color: #fff; }
.bento__date-mon { font-size: 10px; font-weight: 800; letter-spacing: 0.14em; margin-top: 3px; color: rgba(255,255,255,0.85); }
.bento__featured-info { display: flex; flex-direction: column; gap: 4px; }
.bento__featured-when { display: inline-flex; align-items: center; gap: 5px; color: rgba(255,255,255,0.9); font-size: 13px; font-weight: 600; }
.bento__featured-year { color: rgba(255,255,255,0.7); font-size: 12px; }

.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: 40px; height: 40px;
    border-radius: 50%;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.2);
    border: 2px solid rgba(255, 255, 255, 0.3);
    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); }
