/* MedExPrep Webinars — Landing page (Phase 14.51 rewrite)
 *
 * High-conversion funnel. Sits under the theme header/footer, namespaced with
 * .mxpwbn-landing. Two-column split hero with the register card on the right
 * (primary CTA, always in the fold). Dark hero background, light page body.
 * Uses --mxpwbn-tint-* for the admin-chosen gradient that threads through
 * every section.
 */

/* ─── Root theming (page body is light) ─────────────────────────────── */
.mxpwbn-landing {
    --mxpwbn-ink:        #0f172a;
    --mxpwbn-ink-soft:   #475569;
    --mxpwbn-ink-mute:   #64748b;
    --mxpwbn-line:       #e2e8f0;
    --mxpwbn-card:       #ffffff;
    --mxpwbn-bg:         #f8fafc;
    --mxpwbn-bg-soft:    #f1f5f9;
    --mxpwbn-radius:     14px;
    --mxpwbn-radius-lg:  22px;
    --mxpwbn-shadow:     0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.06);
    --mxpwbn-shadow-lg:  0 10px 30px rgba(15,23,42,.10), 0 2px 8px rgba(15,23,42,.06);
    --mxpwbn-shadow-xl:  0 24px 60px rgba(15,23,42,.18), 0 8px 20px rgba(15,23,42,.10);

    color: var(--mxpwbn-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, sans-serif;
    line-height: 1.55;
    background: var(--mxpwbn-bg);
    -webkit-font-smoothing: antialiased;
}

.mxpwbn-landing *,
.mxpwbn-landing *::before,
.mxpwbn-landing *::after { box-sizing: border-box; }

.mxpwbn-landing h1,
.mxpwbn-landing h2,
.mxpwbn-landing h3 { color: var(--mxpwbn-ink); margin: 0 0 .5em; line-height: 1.2; letter-spacing: -0.01em; }
.mxpwbn-landing p { margin: 0 0 1em; color: var(--mxpwbn-ink-soft); }
.mxpwbn-landing a { color: inherit; }

.mxpwbn-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(16px, 3vw, 32px);
}
.mxpwbn-wrap--narrow { max-width: 780px; }

.mxpwbn-eyebrow {
    display: inline-block;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--mxpwbn-tint-to, #0891b2);
    background: color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 10%, #fff);
    padding: 4px 10px;
    border-radius: 999px;
    margin-bottom: 14px;
}

/* ─── Buttons ───────────────────────────────────────────────────────── */
.mxpwbn-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 22px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
    white-space: nowrap;
}
.mxpwbn-btn--lg    { padding: 15px 26px; font-size: 1.0625rem; }
.mxpwbn-btn--block { width: 100%; }
.mxpwbn-btn--primary {
    background: linear-gradient(135deg, var(--mxpwbn-tint-from, #0b4a6f), var(--mxpwbn-tint-to, #0891b2));
    color: #fff;
    box-shadow: 0 6px 18px color-mix(in srgb, var(--mxpwbn-tint-from, #0b4a6f) 45%, transparent);
}
.mxpwbn-btn--primary:hover { transform: translateY(-1px); box-shadow: 0 10px 26px color-mix(in srgb, var(--mxpwbn-tint-from, #0b4a6f) 55%, transparent); }
.mxpwbn-btn--ghost {
    background: transparent;
    color: var(--mxpwbn-ink);
    border-color: var(--mxpwbn-line);
}
.mxpwbn-btn--ghost:hover { background: var(--mxpwbn-bg-soft); border-color: #cbd5e1; }
.mxpwbn-btn[disabled],
.mxpwbn-btn.is-loading { opacity: .7; cursor: wait; transform: none !important; }

.mxpwbn-btn:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 45%, transparent);
    outline-offset: 2px;
}

/* ─── Hero (dark, split) ─────────────────────────────────────────────── */
.mxpwbn-hero {
    position: relative;
    overflow: hidden;
    /* Phase 14.53 — tightened ~25% from the previous clamp(40,6vw,80)/clamp(44,6vw,88). */
    padding: clamp(28px, 4.5vw, 56px) 0 clamp(32px, 4.5vw, 64px);
    color: #f8fafc;
    isolation: isolate;
}
/* Color overrides with enough specificity to beat .mxpwbn-landing h1/p
 * (0,0,1,1). Scoped to .mxpwbn-hero-text (the left column) so they don't
 * bleed into the white register card on the right, where h2/p need to
 * keep their own dark-on-white colors. */
.mxpwbn-hero-text h1,
.mxpwbn-hero-text h2,
.mxpwbn-hero-text h3 { color: #ffffff; }
.mxpwbn-hero-text p  { color: #cbd5e1; }
.mxpwbn-hero-bg {
    position: absolute; inset: 0;
    z-index: -1;
    background:
        linear-gradient(135deg,
            color-mix(in srgb, var(--mxpwbn-tint-from, #0b4a6f) 40%, #0a0f24) 0%,
            #0a0f24 50%,
            color-mix(in srgb, var(--mxpwbn-tint-to,   #0891b2) 30%, #0a0f24) 100%);
    overflow: hidden;
}
.mxpwbn-hero-bg-img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: .18;
    mix-blend-mode: luminosity;
}
.mxpwbn-hero-bg-tint {
    position: absolute; inset: 0;
    background:
        radial-gradient(60% 60% at 80% 0%,  color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 25%, transparent) 0%, transparent 60%),
        radial-gradient(60% 60% at 0% 100%, color-mix(in srgb, var(--mxpwbn-tint-from, #0b4a6f) 35%, transparent) 0%, transparent 60%);
}
.mxpwbn-hero-orb {
    position: absolute;
    width: 520px; height: 520px;
    border-radius: 50%;
    filter: blur(80px);
    opacity: .55;
    pointer-events: none;
    animation: mxpwbn-hero-float 14s ease-in-out infinite alternate;
}
.mxpwbn-hero-orb--a {
    top: -160px; left: -140px;
    background: color-mix(in srgb, var(--mxpwbn-tint-from, #0b4a6f) 80%, #3b2a8c);
}
.mxpwbn-hero-orb--b {
    bottom: -200px; right: -160px;
    background: color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 80%, #00e0d0);
    animation-delay: -6s;
}
@keyframes mxpwbn-hero-float {
    0%   { transform: translate3d(0, 0, 0) scale(1); }
    100% { transform: translate3d(30px, -20px, 0) scale(1.08); }
}
.mxpwbn-hero-grid {
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: radial-gradient(ellipse at center, #000 10%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse at center, #000 10%, transparent 75%);
    opacity: .5;
}

/* Split inner grid */
.mxpwbn-hero--split .mxpwbn-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) 420px;
    gap: clamp(28px, 4vw, 64px);
    align-items: start;
}
@media (max-width: 999px) {
    .mxpwbn-hero--split .mxpwbn-hero-inner {
        grid-template-columns: 1fr;
    }
    /* On mobile the register card comes first so the CTA is in-fold. */
    .mxpwbn-hero--split .mxpwbn-hero-card { order: -1; }
}

/* Hero text (left column) */
.mxpwbn-hero-text { color: #e5e7eb; padding-top: 0; }
.mxpwbn-hero-text p { color: #cbd5e1; }

.mxpwbn-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #f8fafc;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    padding: 5px 11px;
    border-radius: 999px;
    margin-bottom: 12px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.mxpwbn-hero-eyebrow-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 0 rgba(34,197,94,.6);
    animation: mxpwbn-pulse 2.2s ease-out infinite;
}
@keyframes mxpwbn-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(34,197,94,.6); }
    70%  { box-shadow: 0 0 0 8px rgba(34,197,94,0); }
    100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}

.mxpwbn-hero-title {
    font-size: clamp(1.85rem, 3.4vw + .5rem, 2.95rem);
    font-weight: 800;
    color: #ffffff;
    margin: 2px 0 12px;
    letter-spacing: -.015em;
    text-wrap: balance;
    line-height: 1.12;
}
.mxpwbn-hero-hook {
    font-size: clamp(1rem, .4vw + .95rem, 1.15rem);
    color: #cbd5e1;
    max-width: 56ch;
    margin: 0 0 16px;
    line-height: 1.5;
}

.mxpwbn-hero-meta {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
}
.mxpwbn-hero-meta li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    color: #e5e7eb;
    font-size: .8125rem;
}
.mxpwbn-hero-meta svg { opacity: .85; }

/* Hero presenters pill */
.mxpwbn-hero-presenters {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    padding: 6px 16px 6px 6px;
    margin-bottom: 4px;
    max-width: 100%;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.mxpwbn-hero-avatar { width: 32px; height: 32px; }
.mxpwbn-hero-presenters-avatars { display: flex; flex-shrink: 0; }
.mxpwbn-hero-avatar {
    width: 36px; height: 36px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.12);
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: .8125rem;
    color: #fff;
    margin-left: -10px;
}
.mxpwbn-hero-avatar:first-child { margin-left: 0; }
.mxpwbn-hero-avatar img { width: 100%; height: 100%; object-fit: cover; }

.mxpwbn-hero-presenters-txt { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.mxpwbn-hero-presenters-lbl {
    font-size: .6875rem;
    color: #a5b4c7;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700;
}
.mxpwbn-hero-presenters-names {
    font-size: .9375rem;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mxpwbn-hero-presenters-role {
    font-size: .75rem;
    color: #9fb0c4;
}

/* Hero agenda preview card (dark variant) */
.mxpwbn-hero-agenda {
    display: block;
    margin: 16px 0 0;
    padding: 11px 14px 10px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.mxpwbn-hero-agenda-lbl {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 60%, #ffffff);
    margin-bottom: 7px;
}
.mxpwbn-hero-agenda-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.mxpwbn-hero-agenda-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .9375rem;
    color: #e5e7eb;
    line-height: 1.45;
}
.mxpwbn-hero-agenda-item svg {
    flex-shrink: 0;
    color: color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 50%, #5eead4);
}
.mxpwbn-hero-agenda-time {
    font-variant-numeric: tabular-nums;
    font-size: .8125rem;
    font-weight: 600;
    color: #9fb0c4;
    min-width: 42px;
}
.mxpwbn-hero-agenda-title { font-weight: 500; }
.mxpwbn-hero-agenda-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 10px;
    font-size: .8125rem;
    font-weight: 600;
    color: color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 40%, #5eead4);
    text-decoration: none;
}
.mxpwbn-hero-agenda-more:hover { text-decoration: underline; }

/* ─── Hero register card (right column) ──────────────────────────────── */
.mxpwbn-hero-card {
    scroll-margin-top: 90px;
    position: relative;
    align-self: start;
}
.mxpwbn-regcard {
    background: #ffffff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: var(--mxpwbn-radius-lg);
    padding: clamp(22px, 2.4vw, 30px);
    box-shadow: var(--mxpwbn-shadow-xl);
    color: var(--mxpwbn-ink);
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.mxpwbn-regcard-head { display: flex; flex-direction: column; gap: 6px; margin-bottom: 4px; }
.mxpwbn-regcard-eyebrow {
    font-size: .6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--mxpwbn-tint-to, #0891b2);
}
.mxpwbn-regcard-title {
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
    color: var(--mxpwbn-ink);
    text-wrap: balance;
}
.mxpwbn-regcard-sub {
    font-size: .9375rem;
    color: var(--mxpwbn-ink-soft);
    margin: 0;
    line-height: 1.5;
}

.mxpwbn-regcard-watchnow { margin-top: 4px; }

/* Phase 14.46 — force white text + icon on the regcard primary CTA so the
   active theme can't bleed its default link color in and wash out the button.
   The SVG icon is also forced white via fill + currentColor. */
.mxpwbn-regcard .mxpwbn-btn--primary,
.mxpwbn-regcard .mxpwbn-btn--primary:visited,
.mxpwbn-regcard .mxpwbn-btn--primary:hover,
.mxpwbn-regcard .mxpwbn-btn--primary:focus,
.mxpwbn-regcard .mxpwbn-btn--primary:active {
    color: #ffffff !important;
}
.mxpwbn-regcard .mxpwbn-btn--primary svg,
.mxpwbn-regcard .mxpwbn-btn--primary svg path { fill: #ffffff !important; color: #ffffff !important; }

/* Phase 14.46 — Resume / Watch again state styling on the regcard button. */
.mxpwbn-regcard-progress {
    margin: 6px 0 2px;
    font-size: .8125rem;
    color: var(--mxpwbn-ink-soft);
    display: flex;
    align-items: center;
    gap: 8px;
}
.mxpwbn-regcard-progress .mxpwbn-progress-track {
    flex: 1;
    height: 6px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 12%, transparent);
    overflow: hidden;
}
.mxpwbn-regcard-progress .mxpwbn-progress-fill {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--mxpwbn-tint-from, #0b4a6f), var(--mxpwbn-tint-to, #0891b2));
    width: 0%;
    transition: width .4s ease;
}
.mxpwbn-regcard-progress .mxpwbn-progress-pct {
    flex-shrink: 0;
    font-weight: 600;
    color: var(--mxpwbn-ink);
}
.mxpwbn-regcard-completed-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 999px;
    background: color-mix(in srgb, #10b981 12%, transparent);
    color: #047857;
    font-size: .75rem;
    font-weight: 600;
    align-self: center;
    margin-top: -2px;
}
.mxpwbn-regcard-completed-chip .dashicons,
.mxpwbn-regcard-completed-chip svg { width: 14px; height: 14px; }

.mxpwbn-regcard-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--mxpwbn-ink-mute);
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin: 2px 0;
}
.mxpwbn-regcard-divider::before,
.mxpwbn-regcard-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--mxpwbn-line);
}

/* Trust bullets below submit */
.mxpwbn-regcard-trust {
    list-style: none;
    padding: 0;
    margin: 6px 0 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.mxpwbn-regcard-trust li {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .8125rem;
    color: var(--mxpwbn-ink-soft);
}
.mxpwbn-regcard-trust svg {
    color: #10b981;
    flex-shrink: 0;
}

/* Already-registered variant */
.mxpwbn-regcard--already { text-align: center; padding: clamp(28px, 3vw, 38px); }
.mxpwbn-regcard-badge {
    width: 56px; height: 56px;
    margin: 0 auto 6px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--mxpwbn-tint-from, #0b4a6f), var(--mxpwbn-tint-to, #0891b2));
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 22px color-mix(in srgb, var(--mxpwbn-tint-from, #0b4a6f) 35%, transparent);
}
.mxpwbn-regcard--already .mxpwbn-regcard-title { margin: 0; font-size: 1.375rem; }
.mxpwbn-regcard--already .mxpwbn-regcard-sub { margin: 4px 0 8px; }

/* Form fields (shared with old classes for backwards compat) */
.mxpwbn-register-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
}
.mxpwbn-register-form .mxpwbn-field label {
    display: block;
    font-size: .8125rem;
    font-weight: 600;
    color: var(--mxpwbn-ink-soft);
    margin-bottom: 6px;
    letter-spacing: .01em;
}
.mxpwbn-register-form .mxpwbn-field input {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid var(--mxpwbn-line);
    border-radius: 10px;
    background: #fff;
    font: inherit;
    font-size: .9375rem;
    color: var(--mxpwbn-ink);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.mxpwbn-register-form .mxpwbn-field input::placeholder { color: var(--mxpwbn-ink-mute); }
.mxpwbn-register-form .mxpwbn-field input:focus {
    outline: none;
    border-color: var(--mxpwbn-tint-to, #0891b2);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 18%, transparent);
}
.mxpwbn-register-form .mxpwbn-field input[aria-invalid="true"],
.mxpwbn-register-form .mxpwbn-field input.is-invalid {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .15);
}
.mxpwbn-register-form .mxpwbn-row-2 {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
@media (max-width: 520px) { .mxpwbn-register-form .mxpwbn-row-2 { grid-template-columns: 1fr; } }

.mxpwbn-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.mxpwbn-consent {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    font-size: .8125rem;
    color: var(--mxpwbn-ink-soft);
    cursor: pointer;
    align-items: start;
    padding: 2px 0;
    line-height: 1.45;
}
.mxpwbn-consent input { margin-top: 3px; accent-color: var(--mxpwbn-tint-to, #0891b2); }

.mxpwbn-register-micro {
    font-size: .6875rem;
    color: var(--mxpwbn-ink-mute);
    text-align: center;
    margin: 4px 0 0;
    line-height: 1.5;
}
.mxpwbn-register-faqlink {
    margin: 4px 0 0;
    text-align: center;
    font-size: .75rem;
    line-height: 1.4;
}
.mxpwbn-register-faqlink a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--mxpwbn-ink-mute);
    text-decoration: none;
    border-bottom: 1px dashed currentColor;
    padding-bottom: 1px;
    transition: color .15s ease;
}
.mxpwbn-register-faqlink a:hover,
.mxpwbn-register-faqlink a:focus { color: var(--mxpwbn-tint-to, #0891b2); }

.mxpwbn-register-alert {
    border-radius: 10px;
    padding: 10px 12px;
    font-size: .875rem;
    line-height: 1.45;
    background: #fef3c7;
    color: #78350f;
    border: 1px solid #fde68a;
    margin-top: 4px;
}
.mxpwbn-register-alert[data-kind="error"]   { background: #fee2e2; color: #991b1b; border-color: #fecaca; }
.mxpwbn-register-alert[data-kind="success"] { background: #dcfce7; color: #166534; border-color: #bbf7d0; }

/* ─── Social share bar ─────────────────────────────────────────────── */
.mxpwbn-share {
    background: #fff;
    border-bottom: 1px solid var(--mxpwbn-line);
    padding: 14px 0;
}
.mxpwbn-share-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
}
.mxpwbn-share-lbl {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: .8125rem;
    font-weight: 700;
    color: var(--mxpwbn-ink);
    letter-spacing: .01em;
}
.mxpwbn-share-lbl svg { color: var(--mxpwbn-tint-to, #0891b2); }
.mxpwbn-share-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: auto;
}
.mxpwbn-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 999px;
    font: inherit;
    font-size: .8125rem;
    font-weight: 600;
    color: var(--mxpwbn-ink);
    background: var(--mxpwbn-bg);
    border: 1px solid var(--mxpwbn-line);
    text-decoration: none;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
    white-space: nowrap;
}
.mxpwbn-share-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(15,23,42,.08);
    background: #fff;
}
.mxpwbn-share-btn:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 45%, transparent);
    outline-offset: 2px;
}
.mxpwbn-share-btn--linkedin:hover { color: #fff; background: #0a66c2; border-color: #0a66c2; }
.mxpwbn-share-btn--facebook:hover { color: #fff; background: #1877f2; border-color: #1877f2; }
.mxpwbn-share-btn--twitter:hover  { color: #fff; background: #0f172a; border-color: #0f172a; }
.mxpwbn-share-btn--email:hover    { color: #fff; background: #475569; border-color: #475569; }
.mxpwbn-share-btn--copy.is-copied {
    color: #fff;
    background: #10b981;
    border-color: #10b981;
    pointer-events: none;
}
.mxpwbn-share-btn--native {
    color: #fff;
    background: linear-gradient(135deg, var(--mxpwbn-tint-from, #0b4a6f), var(--mxpwbn-tint-to, #0891b2));
    border-color: transparent;
}
/* Reassert the gradient on hover — otherwise the generic .mxpwbn-share-btn:hover
 * (which sets background:#fff) wins and flashes white. */
.mxpwbn-share-btn--native:hover {
    color: #fff;
    background: linear-gradient(135deg, var(--mxpwbn-tint-from, #0b4a6f), var(--mxpwbn-tint-to, #0891b2));
    border-color: transparent;
    opacity: .92;
}

/* ─── Generic section ───────────────────────────────────────────────── */
/* Phase 14.54 — section vertical rhythm tightened ~35% from clamp(56, 8vw, 100). */
.mxpwbn-section { padding: clamp(36px, 5.5vw, 72px) 0; }
.mxpwbn-section-head { margin-bottom: 24px; }
.mxpwbn-section-head--center { text-align: center; }
.mxpwbn-section-head--center .mxpwbn-eyebrow { margin-bottom: 10px; }
.mxpwbn-section-head h2 {
    font-size: clamp(1.4rem, 1.3vw + .95rem, 2rem);
    font-weight: 800;
    max-width: 30ch;
    text-wrap: balance;
    line-height: 1.18;
}
.mxpwbn-section-head--center h2 { margin-inline: auto; }

/* ─── Benefits (numbered cards) ──────────────────────────────────────── */
.mxpwbn-benefits { background: #fff; border-top: 1px solid var(--mxpwbn-line); border-bottom: 1px solid var(--mxpwbn-line); }
.mxpwbn-benefits-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
}
.mxpwbn-benefit {
    position: relative;
    background: var(--mxpwbn-bg);
    border: 1px solid var(--mxpwbn-line);
    border-radius: var(--mxpwbn-radius);
    padding: 28px 24px 24px;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    overflow: hidden;
}
.mxpwbn-benefit::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--mxpwbn-tint-from, #0b4a6f), var(--mxpwbn-tint-to, #0891b2));
    opacity: 0;
    transition: opacity .2s ease;
}
.mxpwbn-benefit:hover {
    transform: translateY(-3px);
    box-shadow: var(--mxpwbn-shadow);
    border-color: color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 30%, var(--mxpwbn-line));
    background: #fff;
}
.mxpwbn-benefit:hover::before { opacity: 1; }
.mxpwbn-benefit-num {
    position: absolute;
    top: 18px; right: 22px;
    font-size: 2.4rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    letter-spacing: -.02em;
    color: color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 12%, transparent);
    user-select: none;
}
.mxpwbn-benefit-icon {
    display: inline-flex;
    width: 40px; height: 40px;
    border-radius: 10px;
    align-items: center; justify-content: center;
    background: color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 14%, #fff);
    color: var(--mxpwbn-tint-to, #0891b2);
    margin-bottom: 14px;
    position: relative;
    z-index: 1;
}
.mxpwbn-benefit-title { font-size: 1.0625rem; font-weight: 700; margin: 0 0 6px; max-width: 20ch; }
.mxpwbn-benefit-desc  { font-size: .9375rem; color: var(--mxpwbn-ink-soft); margin: 0; line-height: 1.55; }

/* ─── Presenters ────────────────────────────────────────────────────── */
.mxpwbn-presenters { background: var(--mxpwbn-bg); }
.mxpwbn-presenters-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}
.mxpwbn-presenter-card {
    background: #fff;
    border: 1px solid var(--mxpwbn-line);
    border-radius: var(--mxpwbn-radius);
    padding: 24px;
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 18px;
    align-items: start;
    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.mxpwbn-presenter-card:hover {
    box-shadow: var(--mxpwbn-shadow);
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 30%, var(--mxpwbn-line));
}
.mxpwbn-presenter-avatar {
    width: 72px; height: 72px;
    border-radius: 50%;
    overflow: hidden;
    background: color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 12%, #fff);
    color: var(--mxpwbn-tint-to, #0891b2);
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 1.25rem;
}
.mxpwbn-presenter-avatar img { width: 100%; height: 100%; object-fit: cover; }
.mxpwbn-presenter-name { font-size: 1.0625rem; font-weight: 700; margin-bottom: 2px; }
.mxpwbn-presenter-role { font-size: .875rem; color: var(--mxpwbn-ink-mute); margin: 0 0 10px; }
.mxpwbn-presenter-bio { font-size: .9375rem; color: var(--mxpwbn-ink-soft); margin: 0 0 12px; line-height: 1.55; }
.mxpwbn-presenter-linkedin {
    display: inline-flex; align-items: center; gap: 6px;
    color: var(--mxpwbn-tint-to, #0891b2);
    font-size: .8125rem; font-weight: 600;
    text-decoration: none;
}
.mxpwbn-presenter-linkedin:hover { text-decoration: underline; }

/* ─── Agenda ────────────────────────────────────────────────────────── */
.mxpwbn-agenda { background: #fff; border-top: 1px solid var(--mxpwbn-line); border-bottom: 1px solid var(--mxpwbn-line); }
.mxpwbn-agenda-list {
    list-style: none;
    padding: 0; margin: 0;
    display: flex; flex-direction: column;
    gap: 0;
    position: relative;
}
.mxpwbn-agenda-item {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 16px;
    padding: 12px 0;
    border-top: 1px solid var(--mxpwbn-line);
}
.mxpwbn-agenda-item:first-child { border-top: 0; padding-top: 2px; }
.mxpwbn-agenda-item:last-child  { padding-bottom: 2px; }
.mxpwbn-agenda-num {
    font-size: .9375rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--mxpwbn-tint-to, #0891b2);
    letter-spacing: .02em;
    padding-top: 2px;
}
.mxpwbn-agenda-time {
    display: inline-block;
    font-size: .6875rem;
    font-weight: 600;
    color: var(--mxpwbn-ink-mute);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 2px;
}
.mxpwbn-agenda-body h3 { font-size: 1rem; font-weight: 700; margin: 0 0 2px; line-height: 1.35; }
.mxpwbn-agenda-body p  { font-size: .9rem; color: var(--mxpwbn-ink-soft); margin: 0; line-height: 1.45; }

/* ─── FAQ ───────────────────────────────────────────────────────────── */
.mxpwbn-faq { background: #fff; border-top: 1px solid var(--mxpwbn-line); }
.mxpwbn-faq-list {
    list-style: none;
    padding: 0; margin: 0;
    display: flex; flex-direction: column;
    gap: 10px;
}
.mxpwbn-faq-item {
    border: 1px solid var(--mxpwbn-line);
    border-radius: var(--mxpwbn-radius);
    background: #fff;
    overflow: hidden;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.mxpwbn-faq-item:hover { border-color: color-mix(in srgb, var(--mxpwbn-tint-to, #0891b2) 30%, var(--mxpwbn-line)); }
.mxpwbn-faq-q {
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 22px;
    background: transparent;
    border: 0;
    font: inherit;
    font-weight: 600;
    font-size: 1.0625rem;
    color: var(--mxpwbn-ink);
    cursor: pointer;
}
.mxpwbn-faq-q:hover { background: var(--mxpwbn-bg-soft); }
.mxpwbn-faq-chev { color: var(--mxpwbn-ink-mute); transition: transform .2s ease; }
.mxpwbn-faq-q[aria-expanded="true"] .mxpwbn-faq-chev { transform: rotate(180deg); color: var(--mxpwbn-tint-to, #0891b2); }
.mxpwbn-faq-a { padding: 0 22px 20px; color: var(--mxpwbn-ink-soft); }
.mxpwbn-faq-a p { margin: 0; font-size: .9375rem; line-height: 1.6; }

/* ─── Final CTA ─────────────────────────────────────────────────────── */
.mxpwbn-final {
    background:
        linear-gradient(135deg,
            var(--mxpwbn-tint-from, #0b4a6f),
            var(--mxpwbn-tint-to, #0891b2));
    color: #fff;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.mxpwbn-final::before,
.mxpwbn-final::after {
    content: '';
    position: absolute;
    width: 340px; height: 340px;
    border-radius: 50%;
    filter: blur(60px);
    opacity: .35;
    pointer-events: none;
}
.mxpwbn-final::before { top: -120px; left: -80px; background: rgba(255,255,255,.3); }
.mxpwbn-final::after  { bottom: -120px; right: -80px; background: rgba(255,255,255,.2); }
.mxpwbn-final-inner { position: relative; padding: 20px 0; }
.mxpwbn-final h2 {
    color: #fff;
    font-size: clamp(1.5rem, 1.5vw + 1rem, 2.25rem);
    font-weight: 800;
    text-wrap: balance;
}
.mxpwbn-final p { color: color-mix(in srgb, #fff 85%, transparent); margin-bottom: 26px; font-size: 1.0625rem; }
.mxpwbn-final .mxpwbn-btn--primary {
    background: #fff;
    color: var(--mxpwbn-tint-from, #0b4a6f);
    box-shadow: 0 10px 24px rgba(0,0,0,.2);
}
.mxpwbn-final .mxpwbn-btn--primary:hover { box-shadow: 0 14px 30px rgba(0,0,0,.25); }

/* ─── Sticky mobile CTA ─────────────────────────────────────────────── */
.mxpwbn-sticky-cta {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 60;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, .97);
    backdrop-filter: saturate(180%) blur(10px);
    -webkit-backdrop-filter: saturate(180%) blur(10px);
    border-top: 1px solid var(--mxpwbn-line);
    box-shadow: 0 -8px 20px rgba(15,23,42,.06);
    display: none;
}
.mxpwbn-sticky-cta .mxpwbn-btn { width: 100%; }
@media (max-width: 680px) {
    .mxpwbn-sticky-cta { display: block; }
    .mxpwbn-landing { padding-bottom: 72px; }
}

/* ─── Motion reduce ─────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .mxpwbn-landing *,
    .mxpwbn-landing *::before,
    .mxpwbn-landing *::after {
        transition: none !important;
        animation: none !important;
    }
}
