/* ============================================================
   InfluentialWomen.com — Member Profile (Redesign)
   All rules scoped under .profile-redesign to avoid leaking
   into other pages via Critical CSS extraction.
   ============================================================ */
.profile-redesign {
    /* brand */
    --pink: #FF68B4;
    --pink-light: #FFA3D1;
    --magenta: #D65DB1;
    --soft-pink: #F8C8E0;
    --pale-pink: #FFF3FA;
    --plum: #571545;
    --ink: #1E1E1E;
    --ink-soft: #6b5a66;
    --line: #f0e4ef;
    --cta-grad: linear-gradient(135deg, #FF68B4 0%, #FFA3D1 100%);

    --display: "Playfair Display", Georgia, serif;
    --ui: "Poppins", system-ui, sans-serif;
    --body: "Inter", system-ui, sans-serif;

    --r-sm: 8px;
    --r-md: 12px;
    --r-lg: 18px;
    --r-pill: 999px;

    --shadow-sm: 0 2px 10px rgba(87, 21, 69, .06);
    --shadow-md: 0 10px 30px rgba(87, 21, 69, .08);
    --shadow-lg: 0 24px 60px rgba(87, 21, 69, .12);

    --pr-maxw: 1200px;
    --pr-pad: 40px;

    background: var(--pale-pink);
    color: var(--ink);
    font-family: var(--body);
    font-size: 17px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

.profile-redesign * { box-sizing: border-box; }
.profile-redesign img { display: block; max-width: 100%; }
.profile-redesign a { color: inherit; text-decoration: none; }

.profile-redesign .wrap {
    max-width: var(--pr-maxw);
    margin: 0 auto;
    padding: 0 var(--pr-pad);
}

/* Override Bootstrap .breadcrumb defaults. `display: block` undoes
   BS's flex on the nav so the inner .wrap fills the row and centers
   via its own max-width + margin: 0 auto (same column as the hero);
   otherwise the wrap would shrink to its content width and float-
   center inside the flex container. */
.profile-redesign .breadcrumb {
    display: block;
    padding: 22px 0 6px;
    margin: 0;
    background: transparent;
    background-color: transparent;
    border-radius: 0;
}
.profile-redesign .breadcrumb ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    font-family: var(--ui);
    font-size: 13.5px;
    color: var(--ink-soft);
}
.profile-redesign .breadcrumb a {
    color: var(--ink-soft);
    transition: color .15s ease;
}
.profile-redesign .breadcrumb a:hover { color: var(--pink); }
.profile-redesign .breadcrumb .sep { color: var(--soft-pink); }
.profile-redesign .breadcrumb [aria-current] {
    color: var(--plum);
    font-weight: 600;
}

.profile-redesign .eyebrow {
    font-family: var(--ui);
    font-weight: 600;
    font-size: 12.5px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--pink);
    margin: 0 0 14px;
}
.profile-redesign .section-title {
    font-family: var(--display);
    font-weight: 700;
    color: var(--plum);
    font-size: 38px;
    line-height: 1.12;
    margin: 0;
}
.profile-redesign .section { padding: 78px 0; }

/* shared CTA buttons (scoped so they don't fight Bootstrap .btn) */
.profile-redesign .pr-btn {
    font-family: var(--ui);
    font-weight: 600;
    font-size: 15px;
    border: none;
    cursor: pointer;
    border-radius: var(--r-pill);
    padding: 13px 26px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.profile-redesign .pr-btn-primary {
    background: var(--cta-grad);
    color: #fff;
    box-shadow: 0 8px 20px rgba(255, 104, 180, .34);
}
.profile-redesign .pr-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(255, 104, 180, .44);
    color: #fff;
}

/* =========================================================
   Authority hero
   ========================================================= */
.profile-redesign .hero { padding: 30px 0 60px; }
.profile-redesign .hero-grid {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 56px;
    align-items: center;
}
.profile-redesign .headshot-card {
    background: #fff;
    border-radius: var(--r-lg);
    padding: 14px;
    box-shadow: var(--shadow-md);
    position: relative;
}
.profile-redesign .headshot {
    aspect-ratio: 4/5;
    border-radius: var(--r-md);
    overflow: hidden;
    background: #f4e3ef;
}
.profile-redesign .headshot img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.profile-redesign .headshot-card .verified-float {
    position: absolute;
    left: 50%;
    bottom: -16px;
    transform: translateX(-50%);
}
.profile-redesign .badge-verified {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: var(--pink);
    color: #fff;
    font-family: var(--ui);
    font-weight: 600;
    font-size: 13px;
    padding: 8px 16px;
    border-radius: var(--r-pill);
    box-shadow: 0 8px 18px rgba(255, 104, 180, .34);
    white-space: nowrap;
}
.profile-redesign .badge-verified svg { width: 15px; height: 15px; }

.profile-redesign .hero-main .eyebrow { margin-bottom: 10px; }
.profile-redesign .hero-name {
    font-family: var(--display);
    font-weight: 800;
    color: var(--plum);
    font-size: 50px;
    line-height: 1.06;
    margin: 0 0 8px;
    letter-spacing: -.01em;
}
.profile-redesign .hero-creds {
    font-family: var(--ui);
    font-weight: 500;
    color: var(--magenta);
    font-size: 16px;
    letter-spacing: .01em;
    margin: 0 0 22px;
}
.profile-redesign .hero-role {
    font-size: 19px;
    color: var(--ink);
    margin: 0;
    font-weight: 500;
}
.profile-redesign .hero-loc {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--ink-soft);
    font-size: 15.5px;
    margin: 6px 0 0;
    font-family: var(--ui);
}
.profile-redesign .hero-loc svg { width: 15px; height: 15px; color: var(--pink); }

.profile-redesign .trust-row {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 26px 0;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    max-width: 100%;
}
.profile-redesign .trust-row .stat {
    flex: 0 0 auto;
    min-width: 160px;
    padding: 18px 22px;
    border-right: 1px solid var(--line);
}
.profile-redesign .trust-row .stat:last-child { border-right: none; }
.profile-redesign .trust-row .stat b {
    display: block;
    font-family: var(--display);
    font-weight: 700;
    color: var(--plum);
    font-size: 26px;
    line-height: 1;
}
.profile-redesign .trust-row .stat span {
    font-family: var(--ui);
    font-size: 12.5px;
    color: var(--ink-soft);
    letter-spacing: .02em;
    margin-top: 5px;
    display: block;
}

.profile-redesign .hero-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 26px;
}
.profile-redesign .trust-row + .hero-actions { margin-top: 0; }
.profile-redesign .icon-link {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1.5px solid var(--soft-pink);
    color: var(--plum);
    transition: all .15s ease;
    line-height: 1;
}
.profile-redesign .icon-link:hover {
    background: var(--pink);
    border-color: var(--pink);
    color: #fff;
    transform: translateY(-2px);
}
.profile-redesign .icon-link svg { width: 19px; height: 19px; }
.profile-redesign .icon-link i { font-size: 18px; line-height: 1; display: block; }

/* =========================================================
   Credentials bar
   ========================================================= */
.profile-redesign .creds-bar {
    background: #fff;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
.profile-redesign .creds-bar .wrap { padding-top: 30px; padding-bottom: 30px; }
.profile-redesign .creds-head {
    font-family: var(--ui);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ink-soft);
    margin: 0 0 16px;
}
.profile-redesign .chips { display: flex; flex-wrap: wrap; gap: 12px; }
.profile-redesign .chip {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-family: var(--ui);
    font-size: 14px;
    font-weight: 500;
    color: var(--plum);
    background: var(--pale-pink);
    border: 1px solid var(--magenta);
    border-radius: var(--r-pill);
    padding: 9px 18px;
    transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.profile-redesign .chip:hover {
    background: var(--pink);
    border-color: var(--pink);
    color: #fff;
    transform: translateY(-1px);
}
.profile-redesign .chip .chip-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--pink);
    transition: background .15s ease;
}
.profile-redesign .chip:hover .chip-dot { background: #fff; }
.profile-redesign .chip .chip-kind {
    font-size: 11px;
    color: var(--magenta);
    font-weight: 600;
    letter-spacing: .04em;
    transition: color .15s ease;
}
.profile-redesign .chip:hover .chip-kind { color: rgba(255, 255, 255, .85); }

/* =========================================================
   In her own words (pull quote)
   ========================================================= */
.profile-redesign .quote-band {
    background: linear-gradient(135deg, #F8E1F4 0%, #E8C5E8 100%);
    text-align: center;
}
.profile-redesign .quote-band .wrap {
    padding: 84px var(--pr-pad);
    max-width: 980px;
}
.profile-redesign .quote-mark {
    font-family: var(--display);
    font-size: 120px;
    line-height: .4;
    color: var(--soft-pink);
    display: block;
    height: 60px;
}
.profile-redesign .pull-quote {
    font-family: var(--display);
    font-weight: 600;
    font-style: italic;
    color: var(--plum);
    font-size: 40px;
    line-height: 1.32;
    margin: 0 0 28px;
    letter-spacing: -.005em;
}
.profile-redesign .pull-quote em { color: var(--pink); font-style: italic; }
.profile-redesign .quote-attr {
    font-family: var(--ui);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--magenta);
    text-transform: uppercase;
}

/* "From How She Did It" feature cards inside the quote band */
.profile-redesign .hsdi { margin-top: 72px; text-align: left; }
.profile-redesign .hsdi-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}
.profile-redesign .hsdi-label {
    font-family: var(--ui);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--magenta);
}
.profile-redesign .hsdi-all {
    font-family: var(--ui);
    font-size: 13.5px;
    font-weight: 600;
    color: var(--pink);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap .15s ease;
}
.profile-redesign .hsdi-all:hover { gap: 10px; color: var(--pink); }
.profile-redesign .hsdi-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
}
.profile-redesign .hsdi-card {
    background: #fff;
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-md);
    border: 1px solid var(--line);
    padding: 34px 36px;
    position: relative;
    display: flex;
    flex-direction: column;
}
.profile-redesign .hsdi-mark {
    font-family: var(--display);
    font-weight: 700;
    font-size: 72px;
    line-height: .5;
    color: var(--soft-pink);
    display: block;
    height: 34px;
}
.profile-redesign .hsdi-quote {
    font-family: var(--display);
    font-style: italic;
    font-weight: 500;
    color: var(--plum);
    font-size: 22px;
    line-height: 1.45;
    margin: 0 0 22px;
    flex: 1;
}
.profile-redesign .hsdi-title {
    font-family: var(--ui);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ink);
    margin: 0 0 16px;
    line-height: 1.5;
}
.profile-redesign .hsdi-link {
    align-self: flex-start;
    font-family: var(--ui);
    font-weight: 600;
    font-size: 14px;
    color: var(--pink);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    transition: gap .15s ease;
}
.profile-redesign .hsdi-link:hover { gap: 11px; color: var(--pink); }
@media (max-width: 640px) {
    .profile-redesign .hsdi-grid { grid-template-columns: 1fr; }
    .profile-redesign .hsdi-card { padding: 24px 22px; }
    .profile-redesign .hsdi-quote { font-size: 19px; }
}

/* =========================================================
   Video (portrait card + optional transcript panel)
   ========================================================= */
.profile-redesign .video-section { background: #fff; }
.profile-redesign .video-grid {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 48px;
    align-items: start;
}
.profile-redesign .video-grid--single {
    grid-template-columns: 380px;
    justify-content: center;
}
/* Landscape sources stack the player on top of the transcript and span a wider column. */
.profile-redesign .video-grid--landscape {
    grid-template-columns: minmax(0, 960px);
    justify-content: center;
    gap: 32px;
}
.profile-redesign .video-col { min-width: 0; width: 100%; }
.profile-redesign .transcript-col { display: flex; flex-direction: column; }
.profile-redesign .vplayer {
    position: relative;
    width: 100%;
    aspect-ratio: 9/16;
    border-radius: var(--r-lg);
    overflow: hidden;
    cursor: pointer;
    background: #0b0b0d;
    box-shadow: var(--shadow-lg);
    display: block;
}
.profile-redesign .vplayer--landscape { aspect-ratio: 16/9; }
.profile-redesign .vplayer-embed {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.profile-redesign .vplayer-embed .plyr,
.profile-redesign .vplayer-embed .plyr__video-embed,
.profile-redesign .vplayer-embed iframe,
.profile-redesign .vplayer-native {
    width: 100%;
    height: 100%;
    border: 0;
}
/* Cover button is the click target — covers the player and fades away on play. */
.profile-redesign .vplayer-cover {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: inherit;
    text-align: inherit;
    font: inherit;
    z-index: 4;
    transition: opacity .25s ease;
}
.profile-redesign .vplayer.is-playing .vplayer-cover {
    opacity: 0;
    pointer-events: none;
}
/* Landscape covers are short — tighten branded overlay padding and center the play button. */
.profile-redesign .vplayer--landscape .vcard {
    padding: 20px 24px 28px;
    background: linear-gradient(to bottom, rgba(11, 11, 13, .45) 0%, rgba(11, 11, 13, .1) 35%, rgba(11, 11, 13, .25) 60%, rgba(11, 11, 13, .8) 100%);
}
.profile-redesign .vplayer--landscape .vcard-tagline { margin-bottom: 12px; }
.profile-redesign .vplayer--landscape .vcard-name { font-size: 26px; }
.profile-redesign .vplayer--landscape .vcard-logo { top: 18px; font-size: 22px; }
.profile-redesign .vplayer--landscape .play-btn { top: 50%; }
.profile-redesign .vcard {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    text-align: center;
    padding: 32px 32px 56px;
    background: linear-gradient(to bottom, rgba(11, 11, 13, .55) 0%, rgba(11, 11, 13, .15) 35%, rgba(11, 11, 13, .35) 60%, rgba(11, 11, 13, .85) 100%);
}
/* When a poster (Vimeo thumbnail) is present, the vcard overlay sits ON TOP of it. */
.profile-redesign .vplayer:not(:has(.vplayer-poster)) .vcard {
    /* Fallback for clients with no thumbnail — keep the original dark radial. */
    background: radial-gradient(120% 80% at 50% 38%, #1c1320 0%, #0b0b0d 70%);
}
.profile-redesign .vcard-logo {
    position: absolute;
    top: 26px;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--display);
    font-weight: 800;
    font-size: 26px;
    color: var(--pink);
    letter-spacing: .02em;
}
.profile-redesign .vcard-center {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.profile-redesign .vcard-tagline {
    font-family: var(--ui);
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--soft-pink);
    margin: 0 0 22px;
}
.profile-redesign .vcard-name {
    font-family: var(--display);
    font-weight: 700;
    font-size: 34px;
    color: #fff;
    margin: 0 0 8px;
    line-height: 1.1;
}
.profile-redesign .vcard-role {
    font-family: var(--ui);
    font-weight: 400;
    font-size: 14px;
    letter-spacing: .04em;
    color: rgba(255, 255, 255, .62);
    margin: 0;
}
.profile-redesign .vplayer .play-btn {
    position: absolute;
    top: 38%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: var(--cta-grad);
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 34px rgba(255, 104, 180, .5);
    transition: transform .18s ease;
}
.profile-redesign .vplayer:hover .play-btn { transform: translate(-50%, -50%) scale(1.07); }
.profile-redesign .vplayer .play-btn svg,
.profile-redesign .vplayer .play-btn i { color: #fff; font-size: 22px; }
.profile-redesign .vplayer-poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
.profile-redesign .vplayer .vcard { z-index: 1; }
.profile-redesign .vplayer .play-btn { z-index: 2; }

/* Transcript panel */
.profile-redesign .transcript {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}
.profile-redesign .transcript summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 28px;
}
.profile-redesign .transcript summary::-webkit-details-marker { display: none; }
.profile-redesign .ts-toggle {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    font-family: var(--ui);
    font-weight: 600;
    font-size: 16px;
    color: var(--plum);
}
.profile-redesign .ts-chevron { color: var(--pink); transition: transform .2s ease; }
.profile-redesign .transcript[open] .ts-chevron { transform: rotate(180deg); }
.profile-redesign .ts-meta { font-family: var(--ui); font-size: 13px; color: var(--ink-soft); }
.profile-redesign .ts-body { padding: 0 28px 6px; }
.profile-redesign .ts-fade {
    position: relative;
    max-height: 340px;
    overflow: hidden;
    padding-bottom: 28px;
}
.profile-redesign .ts-fade::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 90px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
    pointer-events: none;
}
.profile-redesign .ts-qa { margin-bottom: 24px; }
.profile-redesign .ts-q {
    font-family: var(--ui);
    font-weight: 600;
    font-size: 16px;
    color: var(--pink);
    margin: 0 0 10px;
    line-height: 1.4;
}
.profile-redesign .ts-a {
    font-family: var(--body);
    font-size: 16px;
    color: var(--ink);
    margin: 0;
    line-height: 1.7;
}
.profile-redesign .ts-speaker { font-weight: 600; color: var(--plum); }
.profile-redesign .ts-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 14px;
    padding: 0 4px;
}
.profile-redesign .ts-note-left {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--ui);
    font-size: 13.5px;
    color: var(--ink-soft);
}
.profile-redesign .ts-note-left svg { color: var(--pink); }
.profile-redesign .ts-expand {
    font-family: var(--ui);
    font-weight: 600;
    font-size: 13.5px;
    color: var(--pink);
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 5px 0;
    transition: color .15s ease;
}
.profile-redesign .ts-expand:hover { color: var(--magenta); }
.profile-redesign .ts-expand .ts-expand__less { display: none; }
.profile-redesign .transcript-col.is-expanded .ts-expand .ts-expand__more { display: none; }
.profile-redesign .transcript-col.is-expanded .ts-expand .ts-expand__less { display: inline; }
.profile-redesign .transcript-col.is-expanded .ts-fade { max-height: none; }
.profile-redesign .transcript-col.is-expanded .ts-fade::after { display: none; }

/* =========================================================
   Her story
   ========================================================= */
.profile-redesign .story-section { background: #fff; }
.profile-redesign .story-grid {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 60px;
    align-items: start;
    margin-top: 36px;
}
.profile-redesign .prose p {
    margin: 0 0 22px;
    color: var(--ink);
}
.profile-redesign .prose p:first-of-type {
    font-size: 20px;
    line-height: 1.65;
    color: var(--plum);
}
.profile-redesign .prose p:first-of-type::first-letter {
    font-family: var(--display);
    font-weight: 700;
    color: var(--pink);
    font-size: 64px;
    line-height: .8;
    float: left;
    margin: 6px 12px 0 0;
}
.profile-redesign .prose strong,
.profile-redesign .prose b,
.profile-redesign .qa .a strong,
.profile-redesign .qa .a b {
    color: var(--magenta);
    font-weight: 700;
}

.profile-redesign aside.sidebar {
    position: sticky;
    top: 96px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}
.profile-redesign .side-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 24px;
    box-shadow: var(--shadow-sm);
}
.profile-redesign .side-card h4 {
    font-family: var(--ui);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--magenta);
    margin: 0 0 18px;
}
.profile-redesign .milestones {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.profile-redesign .milestone figure { margin: 0; }
.profile-redesign .milestone .ph {
    aspect-ratio: 1/1;
    border-radius: var(--r-sm);
    overflow: hidden;
    background: #f4e3ef;
}
.profile-redesign .milestone .ph img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.profile-redesign .milestone figcaption {
    font-family: var(--ui);
    font-size: 11.5px;
    color: var(--ink-soft);
    margin-top: 7px;
    line-height: 1.35;
}
.profile-redesign .milestone .milestone-caption {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.profile-redesign .milestone .milestone-caption.is-expanded {
    display: block;
    overflow: visible;
}
.profile-redesign .milestone .milestone-caption-toggle {
    display: inline-block;
    margin-top: 4px;
    padding: 0;
    font-family: var(--ui);
    font-size: 11.5px;
    font-weight: 600;
    color: var(--pink);
    background: none;
    border: none;
    cursor: pointer;
}
.profile-redesign .milestone .milestone-caption-toggle:hover {
    text-decoration: underline;
}
.profile-redesign .milestone .milestone-caption-toggle[hidden] {
    display: none;
}
.profile-redesign .facts {
    list-style: none;
    margin: 0;
    padding: 0;
}
.profile-redesign .facts li.fact {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 13px 0;
    border-bottom: 1px dashed var(--line);
    font-family: var(--ui);
    font-size: 14px;
}
.profile-redesign .facts li.fact:last-child { border-bottom: none; }
.profile-redesign .facts .k { color: var(--ink-soft); white-space: nowrap; }
.profile-redesign .facts .v {
    color: var(--plum);
    font-weight: 600;
    text-align: right;
    min-width: 0;
}
.profile-redesign .v-items {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
    overflow-wrap: anywhere;
}
.profile-redesign .facts-more {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 9px;
    font: inherit;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--plum);
    background: var(--pale-pink);
    border: 1px solid var(--line);
    border-radius: 999px;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.profile-redesign .facts-more:hover,
.profile-redesign .facts-more[aria-expanded="true"] {
    background: #fff;
    border-color: var(--magenta);
}
.profile-redesign .facts-popover {
    position: absolute;
    top: 100%;
    right: -4px;
    left: -4px;
    margin-top: 6px;
    z-index: 20;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    padding: 12px 14px;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.14);
    opacity: 0;
    visibility: hidden;
    transform: scale(0.85);
    transform-origin: top right;
    transition: opacity 0.18s ease,
                transform 0.18s cubic-bezier(0.4, 0.0, 0.2, 1),
                visibility 0s linear 0.18s;
}
.profile-redesign .facts-popover.facts-popover-up {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: 6px;
    transform-origin: bottom right;
}
.profile-redesign .facts-popover.is-open {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    transition: opacity 0.18s ease,
                transform 0.18s cubic-bezier(0.4, 0.0, 0.2, 1);
}
.profile-redesign .facts-popover ul {
    list-style: none;
    margin: 0;
    padding: 0;
    font-family: var(--ui);
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
    color: var(--ink);
    font-weight: 500;
}
.profile-redesign .facts-popover li {
    display: block;
    padding: 7px 0;
    border: none;
    border-bottom: 1px solid var(--line);
    font: inherit;
    word-break: break-word;
    overflow-wrap: anywhere;
}
.profile-redesign .facts-popover li:last-child {
    border-bottom: none;
}

/* =========================================================
   Interview Q&A
   ========================================================= */
.profile-redesign .interview { background: var(--pale-pink); }
.profile-redesign .qa-list {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.profile-redesign .qa {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 30px 34px;
    margin-bottom: 18px;
    box-shadow: var(--shadow-sm);
}
.profile-redesign .qa .q {
    font-family: var(--display);
    font-weight: 700;
    font-style: italic;
    color: var(--plum);
    font-size: 23px;
    line-height: 1.3;
    margin: 0 0 14px;
    display: flex;
    gap: 14px;
}
.profile-redesign .qa .q .qnum {
    font-style: normal;
    font-family: var(--ui);
    font-weight: 700;
    font-size: 14px;
    color: var(--pink);
    background: var(--pale-pink);
    border: 1px solid var(--soft-pink);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    margin-top: 2px;
}
.profile-redesign .qa .a {
    margin: 0;
    padding-left: 48px;
    color: var(--ink);
}
.profile-redesign .qa .a p { margin: 0 0 14px; }
.profile-redesign .qa .a p:last-child { margin-bottom: 0; }

/* =========================================================
   Content hub
   ========================================================= */
.profile-redesign .hub { background: #fff; }
.profile-redesign .hub .section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 34px;
}
.profile-redesign .link-more {
    font-family: var(--ui);
    font-weight: 600;
    font-size: 14px;
    color: var(--pink);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}
.profile-redesign .link-more:hover { gap: 10px; color: var(--pink); }

.profile-redesign .article-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}
.profile-redesign .article-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    transition: transform .18s ease, box-shadow .18s ease;
}
.profile-redesign .article-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}
.profile-redesign .article-card .article-thumb {
    aspect-ratio: 16/10;
    background: #f4e3ef;
    overflow: hidden;
}
.profile-redesign .article-card .article-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.profile-redesign .article-card .body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.profile-redesign .tag {
    align-self: flex-start;
    font-family: var(--ui);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--magenta);
    background: var(--pale-pink);
    border-radius: var(--r-pill);
    padding: 5px 12px;
    margin-bottom: 14px;
}
.profile-redesign .article-card h3 {
    font-family: var(--display);
    font-weight: 700;
    color: var(--plum);
    font-size: 21px;
    line-height: 1.28;
    margin: 0 0 12px;
}
.profile-redesign .article-card p {
    font-size: 15px;
    color: var(--ink-soft);
    margin: 0 0 18px;
    flex: 1;
}
.profile-redesign .read-more {
    font-family: var(--ui);
    font-weight: 600;
    font-size: 14px;
    color: var(--pink);
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.profile-redesign .read-more:hover { gap: 11px; color: var(--pink); }
.profile-redesign .article-meta {
    font-family: var(--ui);
    font-size: 12px;
    color: var(--ink-soft);
    display: flex;
    gap: 12px;
    margin-bottom: 14px;
}

.profile-redesign .media-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    margin-top: 64px;
}
.profile-redesign .media-split.single { grid-template-columns: 1fr; max-width: 720px; margin-left: auto; margin-right: auto; }
.profile-redesign .media-col h3.col-title {
    font-family: var(--ui);
    font-weight: 600;
    font-size: 18px;
    color: var(--plum);
    margin: 0 0 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.profile-redesign .media-col h3.col-title svg,
.profile-redesign .media-col h3.col-title i {
    width: 20px;
    height: 20px;
    color: var(--pink);
    font-size: 20px;
}
.profile-redesign .media-item {
    display: flex;
    gap: 16px;
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    padding: 14px;
    margin-bottom: 14px;
    box-shadow: var(--shadow-sm);
    transition: transform .15s ease, box-shadow .15s ease;
}
.profile-redesign .media-item:hover {
    transform: translateX(4px);
    box-shadow: var(--shadow-md);
}
.profile-redesign .media-item .thumb {
    width: 84px;
    height: 84px;
    border-radius: var(--r-sm);
    flex: none;
    overflow: hidden;
    background: #f4e3ef;
}
.profile-redesign .media-item.mc .thumb { width: 120px; height: 74px; }
.profile-redesign .media-item .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.profile-redesign .media-item .meta { min-width: 0; }
.profile-redesign .media-item .meta b {
    font-family: var(--display);
    font-weight: 700;
    color: var(--plum);
    font-size: 17px;
    display: block;
    line-height: 1.25;
    margin-bottom: 5px;
}
.profile-redesign .media-item .meta span {
    font-family: var(--ui);
    font-size: 12.5px;
    color: var(--ink-soft);
    display: block;
}
.profile-redesign .media-item .play-mini {
    margin-left: auto;
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--pale-pink);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pink);
    border: 1px solid var(--soft-pink);
}
.profile-redesign .media-item:hover .play-mini {
    background: var(--pink);
    color: #fff;
    border-color: var(--pink);
}
.profile-redesign .media-item .play-mini svg,
.profile-redesign .media-item .play-mini i { font-size: 14px; }

/* =========================================================
   Join CTA band
   ========================================================= */
.profile-redesign .join-band {
    background: #F8C8E0;
    text-align: center;
}
.profile-redesign .join-band .wrap {
    padding: 36px var(--pr-pad);
}
.profile-redesign .join-band p {
    margin: 0;
    font-family: var(--ui);
    font-weight: 500;
    font-size: 21px;
    color: var(--plum);
}
.profile-redesign .join-band a {
    font-weight: 700;
    color: #D65DB1;
}
.profile-redesign .join-band a:hover { text-decoration: underline; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 992px) {
    .profile-redesign .hero-grid { grid-template-columns: 1fr; gap: 40px; }
    .profile-redesign .headshot-card { max-width: 380px; margin: 0 auto; }
    .profile-redesign .story-grid { grid-template-columns: 1fr; gap: 40px; }
    .profile-redesign aside.sidebar { position: static; }
    .profile-redesign .article-grid { grid-template-columns: repeat(2, 1fr); }
    .profile-redesign .media-split { grid-template-columns: 1fr; gap: 32px; }
    .profile-redesign .video-grid { grid-template-columns: 1fr; gap: 32px; justify-items: center; }
    .profile-redesign .video-col { width: 100%; max-width: 480px; }
    .profile-redesign .video-grid--landscape .video-col { max-width: 720px; }
}

@media (max-width: 640px) {
    .profile-redesign { font-size: 16px; }
    .profile-redesign .section { padding: 56px 0; }
    .profile-redesign .hero-name { font-size: 36px; }
    .profile-redesign .section-title { font-size: 28px; }
    .profile-redesign .pull-quote { font-size: 26px; }
    .profile-redesign .article-grid { grid-template-columns: 1fr; }
    .profile-redesign .trust-row { display: flex; }
    .profile-redesign .trust-row .stat { flex: 1 1 50%; min-width: 0; border-right: 1px solid var(--line); }
    .profile-redesign .trust-row .stat:nth-child(2n) { border-right: none; }
    .profile-redesign .qa .a { padding-left: 0; }
    .profile-redesign .wrap { padding: 0 20px; }
}

/* -------------------------------------------------------------------------
   Article modals
   Pre-rendered full content for each card; CSS-collapsed (hidden attribute)
   so crawlers still see it in the initial HTML. JS toggles [hidden].
   ------------------------------------------------------------------------- */
/* The thumb, title, and "Read more" are <button> elements now (modal triggers,
   not navigation). Strip the user-agent button chrome so the existing
   .article-thumb / .read-more / h3 rules continue to define color, font, and
   thumb placeholder — but force background: transparent here because Chrome
   still paints a UA background even with appearance: none. */
.profile-redesign .article-thumb.js-article-open,
.profile-redesign .read-more.js-article-open,
.profile-redesign .article-title-btn {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}
.profile-redesign .article-thumb.js-article-open {
    display: block;
    width: 100%;
    /* Leave background unset so .article-thumb's #f4e3ef placeholder shows. */
}
/* Read More: original was an inline <a>, so it never took the full-row stretch
   that a <button> flex-item gets. align-self: flex-start anchors it to its
   content width again. background: transparent kills the grey UA fill. */
.profile-redesign .read-more.js-article-open {
    background: transparent;
    align-self: flex-start;
}
/* Title button: needs font/color from h3 (UA button defaults to system font). */
.profile-redesign .article-title-btn {
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
}
.profile-redesign .article-title-btn:hover {
    text-decoration: underline;
}
/* Branded focus ring instead of the browser default (blue outline). */
.profile-redesign .article-thumb.js-article-open:focus,
.profile-redesign .read-more.js-article-open:focus,
.profile-redesign .article-title-btn:focus {
    outline: none;
}
.profile-redesign .article-thumb.js-article-open:focus-visible,
.profile-redesign .read-more.js-article-open:focus-visible,
.profile-redesign .article-title-btn:focus-visible {
    outline: 2px solid var(--pink);
    outline-offset: 3px;
    border-radius: 4px;
}

.profile-redesign .article-modal[hidden] {
    display: none;
}
.profile-redesign .article-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
}
.profile-redesign .article-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    cursor: pointer;
}
.profile-redesign .article-modal-content {
    position: absolute;
    inset: 0;
    background: #fff;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 56px 24px 64px;
    outline: none;
}
.profile-redesign .article-modal-close {
    position: fixed;
    top: 16px;
    right: 20px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid var(--line, #e2e2e2);
    border-radius: 50%;
    cursor: pointer;
    color: inherit;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
    z-index: 1;
}
.profile-redesign .article-modal-close:hover {
    background: #f8f8f8;
}
.profile-redesign .article-modal-article {
    max-width: 720px;
    margin: 0 auto;
}
.profile-redesign .article-modal-article .tag {
    display: inline-block;
    margin-bottom: 16px;
}
.profile-redesign .article-modal-title {
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    line-height: 1.15;
    margin: 0 0 16px;
    font-weight: 700;
}
.profile-redesign .article-modal-lead {
    font-size: 20px;
    line-height: 1.45;
    color: var(--muted, #555);
    margin: 0 0 16px;
}
.profile-redesign .article-modal-meta {
    display: flex;
    gap: 8px;
    color: var(--muted, #777);
    font-size: 14px;
    margin: 0 0 24px;
}
.profile-redesign .article-modal-hero {
    width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 0 0 24px;
}
.profile-redesign .article-modal-body {
    font-size: 18px;
    line-height: 1.65;
}
.profile-redesign .article-modal-body p {
    margin: 0 0 1em;
}
.profile-redesign .article-modal-body h4 {
    margin: 1.5em 0 0.5em;
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
}
.profile-redesign .article-modal-body img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 1em 0;
}
.profile-redesign .article-modal-body a {
    text-decoration: underline;
}
.profile-redesign .article-modal-body ul,
.profile-redesign .article-modal-body ol {
    margin: 0 0 1em 1.25em;
}
.profile-redesign .article-modal-body blockquote {
    margin: 1em 0;
    padding-left: 1em;
    border-left: 3px solid var(--line, #e2e2e2);
    color: var(--muted, #555);
    font-style: italic;
}
.profile-redesign .article-modal-footer-link {
    margin: 32px 0 0;
    padding-top: 24px;
    border-top: 1px solid var(--line, #e2e2e2);
    font-size: 16px;
}
.profile-redesign .article-modal-footer-link a {
    text-decoration: underline;
}

body.has-article-modal-open {
    overflow: hidden;
}

@media (max-width: 640px) {
    .profile-redesign .article-modal-content { padding: 56px 16px 48px; }
    .profile-redesign .article-modal-title { font-size: 30px; }
    .profile-redesign .article-modal-body { font-size: 17px; }
}
