.resume-v2-page .main-content {
    overflow: clip;
    background: transparent;
}

.resume-v2 {
    position: relative;
    min-width: 0;
    isolation: isolate;
    padding: clamp(1.25rem, 2vw, 2.5rem) 0 5rem;
    background: #dceefe;
}

/* 10% smaller résumé on desktop (Pete, 2026-07-17). Zoom is applied to
   the CHILDREN, not .resume-v2 itself, so the fixed full-bleed ::before/
   ::after backdrops keep covering the whole viewport. */
@media (min-width: 861px) {
    .resume-v2 > * {
        zoom: 0.9;
    }
}

.resume-v2::before {
    position: fixed;
    z-index: -2;
    inset: 0;
    background:
        radial-gradient(circle at 18% 16%, rgb(255 255 255 / 58%), transparent 32%),
        linear-gradient(180deg, rgb(235 247 255 / 18%) 0%, rgb(225 242 255 / 28%) 55%, rgb(219 236 251 / 58%) 100%),
        image-set(
            url("../images/Mockups/resume2/resume2-blue-mountain-background.avif") type("image/avif"),
            url("../images/Mockups/resume2/resume2-blue-mountain-background.webp") type("image/webp")
        ) center top / cover no-repeat;
    content: "";
}

.resume-v2::after {
    position: fixed;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(90deg, rgb(246 250 255 / 18%), transparent 18%, transparent 82%, rgb(232 244 255 / 24%)),
        linear-gradient(180deg, transparent 0%, rgb(224 239 252 / 22%) 70%, rgb(225 239 252 / 42%) 100%);
    pointer-events: none;
    content: "";
}

.resume2-story {
    /* Deep Navy Gold (2026-07-17): the résumé's own palette moves off
       Foundation-C periwinkle/teal onto the shared navy + marigold. Ink
       stays a deep navy for the name; indigo/azure/cyan collapse to the
       one navy primary (a slightly lighter navy for AI/secondary spots so
       gradients keep depth); amber becomes marigold. */
    --r2-ink: #101b30;
    --r2-muted: #43546c;
    --r2-indigo: #203767;
    --r2-azure: #2f5296;
    --r2-cyan: #2f5296;
    --r2-amber: #b87900;
    --r2-cloud: #f6f7fa;
    --r2-display: "Newsreader", "Newsreader", Georgia, serif;
    --r2-ui: "Inter", ui-sans-serif, system-ui, sans-serif;
    position: relative;
    z-index: 1;
    color: var(--r2-ink);
    font-family: var(--r2-ui);
}

.r2-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.resume2-story [hidden] {
    display: none !important;
}

.resume2-story .resume-version-switch {
    margin-bottom: clamp(1.25rem, 2vw, 2rem);
}

.r2-identity-stage {
    display: grid;
    width: min(96vw, 114rem);
    grid-template-columns: minmax(0, 1.42fr) minmax(28rem, 0.95fr);
    grid-template-areas:
        "identity quote"
        "identity ai";
    align-items: start;
    gap: 1.25rem;
    margin: 0 auto;
}

.r2-identity-card,
.r2-quote-card,
.r2-ai-card,
.r2-ledger,
.r2-section {
    border: 1px solid rgb(255 255 255 / 82%);
    background: linear-gradient(135deg, rgb(255 255 255 / 86%), rgb(244 249 255 / 74%));
    box-shadow:
        0 1.75rem 5rem rgb(10 38 78 / 16%),
        inset 0 1px 0 rgb(255 255 255 / 92%);
    backdrop-filter: blur(22px) saturate(1.18);
}

.r2-identity-card {
    grid-area: identity;
    display: grid;
    min-height: 26rem;
    grid-template-columns: clamp(11rem, 15vw, 16.5rem) minmax(0, 1fr);
    align-items: center;
    gap: clamp(1.75rem, 3.2vw, 3.5rem);
    padding: clamp(2rem, 4vw, 4rem);
    border-radius: 2rem;
    /* Hand-placed offset: drop the card so it sits roughly centered
       between the top of the quote card and the bottom of the AI card.
       A grid item's margin % resolves against its own column width, so
       this stays proportional across screen sizes. */
    margin-top: 11.5%;
}

.r2-portrait {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border: 0.5rem solid rgb(255 255 255 / 94%);
    border-radius: 50%;
    box-shadow:
        0 0 0 1px rgb(78 163 255 / 40%),
        0 1.25rem 3rem rgb(22 75 130 / 22%);
}

.r2-identity-copy {
    min-width: 0;
}

.r2-eyebrow,
.r2-section-heading > span,
.r2-panel-header p,
.r2-rail-kicker,
.r2-evidence-panel > article > span {
    margin: 0;
    color: #315fb8;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.r2-identity-copy h1 {
    margin: 0.4rem 0 0;
    color: var(--r2-ink);
    font-family: var(--r2-display);
    font-size: clamp(3.5rem, 5.4vw, 6rem);
    font-weight: 650;
    letter-spacing: -0.025em;
    line-height: 0.94;
}

.r2-role {
    margin: 1rem 0 0;
    color: #215fca;
    font-size: clamp(1rem, 1.25vw, 1.25rem);
    font-weight: 800;
}

.r2-summary {
    max-width: 62ch;
    margin: 0.9rem 0 0;
    color: var(--r2-muted);
    font-size: clamp(1rem, 1.08vw, 1.12rem);
    line-height: 1.62;
}

.r2-contact-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 1.4rem;
    margin-top: 1.25rem;
    color: #30465f;
    font-size: 0.92rem;
    font-style: normal;
}

.r2-contact-list span,
.r2-contact-list a {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    gap: 0.55rem;
    color: inherit;
    text-decoration: none;
}

.r2-contact-list svg {
    color: #326dc6;
    font-size: 1.15rem;
}

.r2-contact-list a:hover,
.r2-contact-list a:focus-visible {
    color: #174fae;
    text-decoration: underline;
}

.r2-identity-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    margin-top: 1.2rem;
}

.r2-action {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 1rem;
    color: #173d70;
    background: rgb(255 255 255 / 78%);
    border: 1px solid rgb(52 111 190 / 38%);
    border-radius: 999px;
    cursor: pointer;
    font: 750 0.86rem/1 var(--r2-ui);
    text-decoration: none;
    transition: transform 180ms ease-out, box-shadow 180ms ease-out, background 180ms ease-out;
}

.r2-action--primary {
    color: #fff;
    background: var(--r2-indigo);
    border-color: var(--r2-indigo);
}

.r2-action:hover,
.r2-action:focus-visible {
    background: #fff;
    box-shadow: 0 0.65rem 1.5rem rgb(27 71 132 / 15%);
    transform: translateY(-2px);
}

.r2-action--primary:hover,
.r2-action--primary:focus-visible {
    color: #fff;
    background: #3541b6;
}

.r2-identity-actions .r2-action:nth-child(3) {
    color: #173d70;
    background: #fffaf0;
    border-color: rgb(179 143 73 / 42%);
}

.r2-identity-actions .r2-action:nth-child(3):hover,
.r2-identity-actions .r2-action:nth-child(3):focus-visible {
    background: #fffdf7;
    border-color: #b38f49;
}

.r2-share-status {
    color: var(--r2-muted);
    font-size: 0.8rem;
}

.r2-quote-card {
    grid-area: quote;
    position: relative;
    overflow: hidden;
    width: calc(100% - 5rem);
    min-height: 12rem;
    justify-self: end;
    padding: 1.9rem 2rem 1.7rem;
    background: linear-gradient(140deg, rgb(255 255 255 / 88%), rgb(255 248 239 / 72%));
    border-radius: 1.5rem 1.5rem 0.75rem 1.5rem;
    transform: translate(-1.6rem, -1.55rem);
}

.r2-quote-card::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.3rem;
    background: linear-gradient(90deg, var(--r2-amber), rgb(215 163 62 / 0%) 72%);
    content: "";
}

.r2-quote-mark {
    position: absolute;
    top: 0.35rem;
    left: 1.1rem;
    color: var(--r2-amber);
    font-family: var(--r2-display);
    font-size: 4.75rem;
    line-height: 1;
    opacity: 0.85;
}

.r2-quote-card blockquote {
    margin: 2.1rem 0 0;
    color: #163f8e;
    font-family: var(--r2-display);
    font-size: clamp(1.6rem, 2.1vw, 2.35rem);
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.12;
}

.r2-quote-card small {
    display: block;
    margin-top: 1.1rem;
    color: #8a6323;
    font-size: 0.78rem;
    font-weight: 750;
    letter-spacing: 0.08em;
}

.r2-ai-card {
    grid-area: ai;
    display: grid;
    align-self: start;
    align-content: start;
    width: calc(100% + 0.5rem);
    justify-self: end;
    gap: 1rem;
    margin-top: 2.5rem;
    padding: 1.9rem 2.1rem 2rem;
    border-radius: 0.75rem 1.5rem 1.5rem;
    transform: translateX(clamp(0.5rem, 1vw, 1rem));
}

.r2-ai-kicker {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: #167582;
    font-size: 0.82rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.r2-ai-sub {
    color: var(--r2-muted);
    font-size: clamp(1rem, 1.05vw, 1.15rem);
    line-height: 1.58;
}

.r2-ai-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.r2-ai-chip {
    min-height: 2.75rem;
    padding: 0.55rem 0.95rem;
    color: #10606b;
    text-align: left;
    background: rgb(46 200 211 / 12%);
    border: 1px solid rgb(22 123 135 / 32%);
    border-radius: 999px;
    cursor: pointer;
    font: 650 0.88rem/1.3 var(--r2-ui);
    transition: background 160ms ease-out, color 160ms ease-out, border-color 160ms ease-out;
}

.r2-ai-chip:hover,
.r2-ai-chip:focus-visible {
    color: #fff;
    background: #1f3a69;
    border-color: #1f3a69;
}

/* The shared Ask AI form, recut for this card: pill input bar with a
   teal submit, matching the card's existing color language. */
.r2-ai-card .hero-ai-search {
    max-width: none;
}

.r2-ai-card .hero-ai-search__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* Light-glass Ask AI bar (was dark navy) so it belongs to the light
   résumé card. */
.r2-ai-card .hero-ai-search__box {
    min-height: 3.25rem;
    padding: 5px;
    background: linear-gradient(180deg, rgb(255 255 255 / 94%), rgb(240 248 255 / 92%));
    border: 1px solid rgb(46 200 211 / 42%);
    border-radius: 999px;
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 90%),
        0 0.5rem 1.4rem rgb(23 64 116 / 10%);
}

.r2-ai-card .hero-ai-search__box::before {
    border-radius: 999px;
}

.r2-ai-card .hero-ai-search__input {
    padding-left: 1.2rem;
    color: var(--r2-ink);
    font-size: 1rem;
}

.r2-ai-card .hero-ai-search__input::placeholder {
    color: var(--r2-muted);
}

/* No harsh blue focus outline on the Ask AI field (Pete). The résumé's
   global :focus-visible rule paints a 3px #0b6dd7 ring on every input; here
   the whole pill lights up in the card's own teal instead, so keyboard focus
   stays clearly visible without the jarring blue box. */
.r2-ai-card .hero-ai-search__input:focus,
.r2-ai-card .hero-ai-search__input:focus-visible {
    outline: none;
    outline-offset: 0;
}

.r2-ai-card .hero-ai-search:focus-within .hero-ai-search__box {
    border-color: #2f5296;
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 90%),
        0 0 0 3px rgb(46 200 211 / 26%),
        0 0.5rem 1.4rem rgb(23 64 116 / 12%);
}

.r2-ai-card .hero-ai-search__button {
    background: linear-gradient(180deg, #2f5296, #1f3a69);
    border-radius: 999px;
    color: #04222a;
    font-weight: 850;
}

.r2-ai-card .hero-ai-search__status {
    color: var(--r2-muted);
    font-size: 0.76rem;
}

/* Light-themed answer popup with soft, rounded edges. It floats UP over the
   card's suggestion area, sitting above the input bar, so a long answer
   never disappears under the timeline below the card. Anchored to the card
   (its transform is the containing block); scrolls internally if long. */
.r2-ai-card .hero-ai-answer {
    position: absolute;
    left: clamp(1.75rem, 2vw, 2.1rem);
    right: clamp(1.75rem, 2vw, 2.1rem);
    bottom: 9.3rem;
    top: auto;
    z-index: 6;
    margin-top: 0;
    max-height: 17rem;
    overflow-y: auto;
    color: var(--r2-ink);
    background: linear-gradient(180deg, rgb(255 255 255 / 98%), rgb(243 249 255 / 97%));
    border: 1px solid rgb(78 163 255 / 30%);
    border-bottom: 3px solid #2f5296;
    border-left: 1px solid rgb(78 163 255 / 30%);
    border-radius: 1.1rem;
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 88%),
        0 1rem 2.6rem rgb(23 64 116 / 16%);
}

.r2-ai-card .hero-ai-answer.is-loading {
    border-bottom-color: var(--r2-amber);
}

/* Arrow now points DOWN toward the bar beneath it. */
.r2-ai-card .hero-ai-answer::before {
    top: auto;
    bottom: -7px;
    left: 28px;
    background: rgb(243 249 255 / 97%);
    border-top: 0;
    border-left: 0;
    border-bottom: 1px solid rgb(78 163 255 / 30%);
    border-right: 1px solid rgb(78 163 255 / 30%);
}

.r2-ai-card .hero-ai-answer__question {
    color: #167582;
}

.r2-ai-card .hero-ai-answer__response {
    color: var(--r2-ink);
}

.r2-ai-card .hero-ai-answer__close {
    color: var(--r2-muted);
    background: rgb(23 64 116 / 5%);
    border-color: rgb(78 163 255 / 26%);
}

.r2-ai-card .hero-ai-answer__close:hover,
.r2-ai-card .hero-ai-answer__close:focus-visible {
    color: #167582;
    background: rgb(46 200 211 / 12%);
    border-color: rgb(46 200 211 / 42%);
}

/* ---- Conversation takeover ----------------------------------------------
   Instead of a bubble popping out under the bar, the card's intro (kicker +
   blurb + suggestion chips) steps aside and the answer fills that same space
   above the input. chatbot.js toggles .is-conversing; the answer's × restores
   the intro. The intro keeps the card's 1rem rhythm on its own so hiding it
   leaves no gap. */
.r2-ai-intro {
    display: grid;
    gap: 1rem;
}

.r2-ai-card .hero-ai-search {
    display: flex;
    flex-direction: column;
}

.r2-ai-card.is-conversing .r2-ai-intro {
    display: none;
}

/* The answer stops floating and sits in the freed space, above the input. */
.r2-ai-card.is-conversing .hero-ai-answer {
    position: static;
    order: -1;
    inset: auto;
    margin: 0 0 0.85rem;
    max-height: min(52vh, 24rem);
    min-height: 11rem;
}

.r2-ai-card.is-conversing .hero-ai-answer::before {
    display: none;
}

.resume2-story .r2-timeline-shell {
    /* Center the timeline over the LEDGER CARD (not the page): match the
       ledger layout's width, then indent past the rail + gap so the timeline
       sits directly above the card and shares its right edge. */
    width: min(98vw, 118rem);
    box-sizing: border-box;
    padding-left: calc(16.25rem + 1.5rem);
    margin-top: clamp(3rem, 6vw, 6rem);
}

.r2-timeline-shell .lr-timeline-region {
    padding-inline: clamp(0.75rem, 1.8vw, 1.75rem);
}

.r2-timeline-shell .lr-timeline__event {
    min-height: 9.25rem;
    grid-template-rows: 4.75rem auto auto;
}

.r2-timeline-shell .lr-timeline__marker {
    width: 4.45rem;
    height: 4.45rem;
}

.r2-timeline-shell .lr-timeline::before {
    top: 2.1rem;
}

.r2-timeline-shell .lr-timeline__event strong {
    font-size: 0.9rem;
}

.r2-timeline-shell .lr-timeline__event small {
    color: #273d59;
    font-size: 0.76rem;
}

.r2-timeline-shell .lr-timeline__event[aria-selected="true"]::after {
    top: 7.75rem;
}

.resume2-story .r2-ledger-layout {
    width: min(98vw, 118rem);
    grid-template-columns: 16.25rem minmax(0, 1fr);
    gap: 1.5rem;
    margin-top: 2.5rem;
}

.resume2-story .r2-ledger-rail {
    min-height: 30rem;
    padding: 1.4rem 1rem 1rem;
    transform: translateX(-1rem);
}

.resume2-story .r2-ledger-rail nav {
    gap: 0.45rem;
}

.resume2-story .r2-ledger-rail nav a {
    min-height: 3.65rem;
    padding-inline: 0.85rem;
    font-size: 0.9rem;
}

.r2-rail-kicker {
    padding: 0 0.75rem 0.5rem;
}

.r2-ledger {
    overflow: hidden;
    border-radius: 2rem;
}

/* Ledger overview card height (2026-07-12): trimmed from 37rem to 28rem
   after the Evidence-highlights and full-chapter-details sections were
   removed, so the card fits its remaining content (headline + summary +
   Key outcomes) without dead space and the Experience section moves up. */
.r2-ledger .lr-ledger__detail {
    min-height: 28rem;
}

.r2-ledger-panel {
    min-height: 28rem;
    padding: clamp(1.75rem, 2.4vw, 2.75rem);
}

.r2-panel-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.55fr);
    align-items: center;
    gap: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgb(42 81 130 / 18%);
}

.r2-panel-header h2,
.r2-section-heading h2 {
    margin: 0.3rem 0 0;
    color: var(--r2-ink);
    font-family: var(--r2-display);
    font-weight: 650;
    letter-spacing: -0.022em;
}

.r2-panel-header h2 {
    font-size: clamp(2.25rem, 2.45vw, 3.2rem);
    letter-spacing: -0.035em;
    line-height: 0.98;
    white-space: nowrap;
}

.r2-panel-header span {
    display: block;
    margin-top: 0.4rem;
    color: #335c91;
    font-size: 0.92rem;
    font-weight: 750;
}

.r2-panel-header > strong {
    color: #204d87;
    font-size: clamp(1.05rem, 1.3vw, 1.35rem);
    line-height: 1.35;
    text-align: right;
}

.r2-panel-summary {
    max-width: 84ch;
    margin: 0.9rem 0 0;
    color: var(--r2-muted);
    font-size: clamp(0.98rem, 1vw, 1.08rem);
    line-height: 1.48;
}

.r2-metrics,
.r2-evidence-highlights {
    margin-top: 1.15rem;
}

.r2-metrics > h3,
.r2-evidence-highlights > h3 {
    margin: 0 0 0.85rem;
    color: #315fb8;
    font-size: 0.75rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.r2-metric-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.8rem;
}

.r2-metric-card {
    display: grid;
    min-width: 0;
    min-height: 9.75rem;
    align-content: center;
    gap: 0.55rem;
    overflow: hidden;
    padding: 0;
    color: var(--r2-ink);
    text-align: center;
    background: rgb(255 255 255 / 78%);
    border: 1px solid rgb(67 114 170 / 22%);
    border-radius: 1rem;
    box-shadow: 0 0.8rem 2rem rgb(30 77 126 / 9%);
}

.r2-metric-card svg {
    color: var(--r2-amber);
    font-size: 1.6rem;
}

.r2-metric-card:nth-child(even) svg {
    color: #1b9ba8;
}

.r2-metric-card strong {
    max-width: 100%;
    color: #173f82;
    font-family: var(--r2-display);
    font-size: clamp(1.7rem, 1.95vw, 2.45rem);
    letter-spacing: -0.025em;
    line-height: 1;
    overflow-wrap: normal;
    white-space: nowrap;
}

.r2-metric-card span {
    color: #1e3552;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.r2-metric-card small {
    color: var(--r2-muted);
    font-size: 0.82rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.r2-metric-card--text {
    min-height: 9.75rem;
}

.r2-outcome-flip .lr-skill-flip__inner {
    display: block;
    min-height: inherit;
    margin: 0;
}

.r2-outcome-flip,
.r2-skill-card {
    perspective: 120rem;
}

.r2-outcome-flip__front,
.r2-outcome-flip__back {
    display: grid;
    width: auto;
    gap: 0.45rem;
    margin: 0;
    padding: 0.85rem;
    border-radius: 1rem;
}

.r2-outcome-flip .r2-outcome-flip__front,
.r2-outcome-flip .r2-outcome-flip__back {
    display: grid;
}

.r2-outcome-flip :is(strong, span, small) {
    min-height: 0;
    margin: 0;
}

.r2-metric-card .r2-outcome-flip__back,
.r2-metric-card .r2-outcome-flip__back * {
    color: #fff;
}

.r2-outcome-flip__front {
    align-content: center;
    justify-items: center;
    color: var(--r2-ink);
    background: rgb(255 255 255 / 82%);
    border: 0;
    text-align: center;
}

.r2-outcome-flip__front > span {
    max-width: 16ch;
    text-align: center;
}

.r2-outcome-flip__front > small {
    color: #315f8e;
    font-size: 0.65rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.r2-outcome-flip__back {
    align-content: center;
    justify-items: center;
    color: #fff;
    background: linear-gradient(145deg, #173f82, #1f3a69);
    border: 0;
    text-align: center;
}

.r2-outcome-flip__back strong,
.r2-outcome-flip__back span,
.r2-outcome-flip__back small {
    color: inherit;
    white-space: normal;
}

.r2-outcome-flip__back strong {
    font: 800 0.72rem/1.2 var(--r2-ui);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.r2-outcome-flip__back span {
    font-size: clamp(0.72rem, 0.72vw, 0.82rem);
    font-weight: 600;
    line-height: 1.38;
}

.r2-outcome-flip__back small {
    font-size: 0.62rem;
    opacity: 0.82;
}

.r2-evidence-highlights > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.r2-evidence-highlights details {
    min-width: 0;
    background: rgb(255 255 255 / 74%);
    border: 1px solid rgb(58 108 166 / 20%);
    border-radius: 0.9rem;
}

.r2-evidence-highlights summary,
.r2-full-record > summary {
    display: flex;
    min-height: 2.9rem;
    align-items: center;
    gap: 0.5rem;
    padding: 0.8rem 0.95rem;
    color: #204d87;
    cursor: pointer;
    font-size: 0.92rem;
    font-weight: 800;
}

.r2-evidence-highlights details ul {
    margin: 0;
    padding: 0.1rem 1rem 1rem 2rem;
    color: var(--r2-muted);
    font-size: 0.88rem;
    line-height: 1.55;
}

.r2-full-record {
    margin-top: 1.25rem;
}

.r2-full-record .lr-full-record__content li {
    font-size: 0.95rem;
    line-height: 1.6;
}

.r2-education-summary {
    display: grid;
    gap: 0.5rem;
    padding: 1.25rem;
    color: var(--r2-muted);
    background: rgb(255 255 255 / 76%);
    border-radius: 1rem;
}

.r2-section {
    position: relative;
    margin-top: clamp(5.5rem, 10vw, 9rem);
    padding: clamp(2rem, 3.6vw, 3.75rem);
    border-radius: 1.75rem;
    scroll-margin-top: 7rem;
}

.r2-section-heading {
    max-width: 52rem;
}

.r2-section-heading h2 {
    font-size: clamp(3rem, 4.7vw, 5rem);
    line-height: 0.98;
}

.r2-section-heading > p {
    max-width: 60ch;
    margin: 0.75rem 0 0;
    color: var(--r2-muted);
    font-size: 1rem;
    line-height: 1.6;
}

/* Experience floats directly on the sky: the section wrapper loses its
   glass shell, the intro heading becomes its own compact card, and each
   role is a standalone card in an expandable stage. */
.r2-experience {
    /* Nudged right: the right edge is already at the page edge, so shift the
       left edge in and keep the right pinned — the block and its chapter cards
       move rightward without overflowing. */
    width: 98%;
    margin-top: clamp(3rem, 6vw, 5.5rem);
    margin-left: 2.5%;
    /* Bottom room so the downward-staggered cards never reach the section
       below (their translateY doesn't add layout height on its own). */
    padding: 0 0 5rem;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: none;
}

.r2-exp-intro-card {
    display: inline-block;
    max-width: 40rem;
    padding: clamp(1.75rem, 3vw, 2.75rem) clamp(2rem, 3.4vw, 3.25rem);
    border: 1px solid rgb(255 255 255 / 82%);
    background: linear-gradient(135deg, rgb(255 255 255 / 86%), rgb(244 249 255 / 74%));
    border-radius: 1.5rem 1.5rem 1.5rem 0.75rem;
    box-shadow:
        0 1.75rem 5rem rgb(10 38 78 / 16%),
        inset 0 1px 0 rgb(255 255 255 / 92%);
    backdrop-filter: blur(22px) saturate(1.18);
}

.r2-exp-stage {
    display: flex;
    align-items: stretch;
    gap: 1.25rem;
    margin-top: 2.25rem;
}

.r2-experience-card {
    --r2-card-offset: 0rem;
    position: relative;
    display: flex;
    overflow: hidden;
    min-width: 0;
    min-height: 33rem;
    /* Keeps an opened chapter's top clear of the sticky header when the
       expand handler scrolls it into view (see frameOpenCard). */
    scroll-margin-top: 7rem;
    flex: 1 1 0;
    flex-direction: column;
    padding: clamp(1.5rem, 2vw, 2rem);
    border: 1px solid rgb(255 255 255 / 82%);
    background: linear-gradient(135deg, rgb(255 255 255 / 88%), rgb(244 249 255 / 76%));
    border-radius: 1.5rem;
    box-shadow:
        0 1.5rem 4rem rgb(10 38 78 / 14%),
        inset 0 1px 0 rgb(255 255 255 / 92%);
    backdrop-filter: blur(22px) saturate(1.18);
    /* One coordinated easing/duration for every part of the open/close so
       the grow, the re-stagger, and the shadow settle together instead of
       finishing at three different times (which read as jerky). */
    transition:
        flex-grow 560ms cubic-bezier(.22, .82, .26, 1),
        transform 560ms cubic-bezier(.22, .82, .26, 1),
        box-shadow 560ms ease;
    /* Hint the compositor so the re-stagger/hover transforms stay smooth. */
    will-change: transform;
}

/* Gentle, downward-only stagger — playful but never enough to overlap the
   header above or the section below (the section keeps 5rem bottom room). */
.r2-exp-stage:not(.is-expanded) .r2-experience-card:nth-child(1) {
    --r2-card-offset: 0rem;
    transform: translateY(var(--r2-card-offset));
}

.r2-exp-stage:not(.is-expanded) .r2-experience-card:nth-child(2) {
    --r2-card-offset: 2rem;
    transform: translateY(var(--r2-card-offset));
}

.r2-exp-stage:not(.is-expanded) .r2-experience-card:nth-child(3) {
    --r2-card-offset: 1rem;
    transform: translateY(var(--r2-card-offset));
}

.r2-exp-stage:not(.is-expanded) .r2-experience-card:hover,
.r2-exp-stage:not(.is-expanded) .r2-experience-card:focus-within {
    box-shadow: 0 1.75rem 4.5rem rgb(24 64 115 / 20%);
    transform: translateY(calc(var(--r2-card-offset) - 0.35rem));
    /* Snappy hover lift (the base 460ms is tuned for the big expand, which
       would feel laggy for a small hover). Hover-out keeps the gentle base
       timing for a soft settle. */
    transition:
        transform 220ms cubic-bezier(.22, .82, .26, 1),
        box-shadow 220ms ease;
}

/* Expanded state: the open chapter takes the stage; the others step
   aside into slim, still-clickable spines. */
.r2-exp-stage.is-expanded .r2-experience-card.is-open {
    flex-grow: 3.4;
}

.r2-exp-stage.is-expanded .r2-experience-card.is-aside {
    flex-grow: 0.62;
    cursor: pointer;
    background: linear-gradient(135deg, rgb(255 255 255 / 68%), rgb(244 249 255 / 54%));
}

.r2-exp-stage.is-expanded .r2-experience-card.is-aside:hover,
.r2-exp-stage.is-expanded .r2-experience-card.is-aside:focus-within {
    border-color: rgb(78 163 255 / 65%);
    box-shadow: 0 1.75rem 4.5rem rgb(24 64 115 / 22%);
}

.r2-exp-stage.is-expanded .r2-experience-card.is-aside .r2-exp-card__preview {
    max-height: 0;
    margin: 0;
    opacity: 0;
    overflow: hidden;
}

/* The open chapter shows the full record instead of its preview —
   never both. */
.r2-exp-stage.is-expanded .r2-experience-card.is-open .r2-exp-card__preview {
    display: none;
}

.r2-exp-card__preview {
    max-height: 60rem;
    transition: opacity 340ms ease, max-height 560ms cubic-bezier(.22, .82, .26, 1);
}

.r2-experience-card :is(h3, h4, p, li, strong, span, small) {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.r2-experience-card :is(h3, h4) {
    text-wrap: balance;
}

.r2-experience-card :is(p, li) {
    text-wrap: pretty;
}

.r2-exp-card__full {
    /* Emerges with the grow (slight lead-in delay) on the same easing so the
       record fades up as the card opens rather than before it. */
    animation: r2-exp-reveal 500ms cubic-bezier(.22, .82, .26, 1) 80ms both;
}

@keyframes r2-exp-reveal {
    from {
        opacity: 0;
        transform: translateY(0.75rem);
    }

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

.r2-exp-card__full h4 {
    margin: 1.6rem 0 0.75rem;
    color: #315fb8;
    font-size: 0.8rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.r2-exp-summary {
    margin: 0.9rem 0 0;
    font-size: 1rem !important;
}

.r2-exp-note {
    margin: 0.75rem 0 0;
    padding: 0.6rem 0.9rem;
    color: #6a5518;
    background: rgb(215 163 62 / 12%);
    border-left: 3px solid var(--r2-amber);
    border-radius: 0.5rem;
    font-size: 0.85rem !important;
}

.r2-exp-bullets {
    margin: 0;
    padding-left: 1.2rem;
}

@media (min-width: 64rem) {
    .r2-exp-stage.is-expanded .is-open .r2-exp-bullets {
        column-count: 2;
        column-gap: 2.25rem;
    }

    .r2-exp-stage.is-expanded .is-open .r2-exp-bullets li {
        break-inside: avoid;
    }
}

.r2-exp-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 1.4rem;
}

.r2-exp-tags span {
    padding: 0.35rem 0.75rem;
    color: #24405f;
    background: rgb(32 55 103 / 10%);
    border: 1px solid rgb(32 55 103 / 24%);
    border-radius: 999px;
    font: 650 0.74rem/1.2 var(--r2-ui);
}

.r2-exp-ask {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    gap: 0.55rem;
    margin-top: 1.5rem;
    padding: 0.65rem 1.1rem;
    color: #fff;
    background: #1f3a69;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font: 750 0.82rem/1 var(--r2-ui);
}

.r2-exp-ask:hover,
.r2-exp-ask:focus-visible {
    background: #105e67;
}

.r2-card-icon {
    display: grid;
    width: 3.25rem;
    height: 3.25rem;
    place-items: center;
    color: #fff;
    background: var(--orb, var(--r2-indigo));
    border: 0.2rem solid rgb(255 255 255 / 82%);
    border-radius: 1rem;
    box-shadow: 0 0.6rem 1.4rem rgb(23 64 116 / 20%);
}

.r2-exp-card__head small,
.r2-education-grid article > small,
.r2-development-row article > small {
    display: block;
    margin-top: 1rem;
    color: #315fb8;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.r2-experience-card h3,
.r2-education-grid h3,
.r2-development-row h3,
.r2-evidence-panel h3 {
    margin: 0.4rem 0 0;
    color: var(--r2-ink);
    font-family: var(--r2-display);
    font-size: clamp(1.65rem, 2vw, 2.2rem);
    line-height: 1.08;
}

.r2-card-role {
    color: #204d87 !important;
    font-weight: 750;
}

.r2-experience-card p,
.r2-experience-card li,
.r2-education-grid p,
.r2-development-row p,
.r2-evidence-panel p,
.r2-evidence-panel li {
    color: var(--r2-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.r2-experience-card ul {
    margin: 0.65rem 0 1.25rem;
    padding-left: 1.2rem;
}

.r2-experience-card li + li {
    margin-top: 0.45rem;
}

.r2-exp-toggle {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: auto;
    color: #1d58b4;
    background: transparent;
    border: 1px solid rgb(50 101 176 / 28%);
    border-radius: 999px;
    cursor: pointer;
    font: 800 0.82rem/1 var(--r2-ui);
    transition: background 160ms ease-out, color 160ms ease-out;
}

.r2-exp-toggle:hover,
.r2-exp-toggle:focus-visible {
    color: #fff;
    background: #1d58b4;
}

.r2-exp-toggle__arrow {
    display: inline-block;
    transition: transform 300ms cubic-bezier(.22,.8,.25,1);
}

.r2-experience-card.is-open .r2-exp-toggle__arrow {
    transform: rotate(90deg);
}

.r2-experience-card.is-open .r2-exp-toggle {
    margin-top: 1.75rem;
}

.r2-education {
    width: 90%;
    margin-left: 5%;
}

.r2-education-grid {
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    gap: 1rem;
    margin-top: 2rem;
}

.r2-education-grid article {
    position: relative;
    overflow: hidden;
    min-height: 13rem;
    padding: 1.75rem 1.5rem 1.5rem;
    background:
        linear-gradient(160deg, color-mix(in srgb, var(--edu-accent, #203767) 9%, transparent), transparent 42%),
        rgb(255 255 255 / 80%);
    border: 1px solid color-mix(in srgb, var(--edu-accent, #203767) 30%, rgb(255 255 255 / 82%));
    border-radius: 1.2rem;
}

.r2-education-grid article::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.3rem;
    background: linear-gradient(90deg, var(--edu-accent, #203767), color-mix(in srgb, var(--edu-accent, #203767) 25%, transparent));
    content: "";
}

.r2-edu-icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    color: var(--edu-accent, #203767);
    background: color-mix(in srgb, var(--edu-accent, #203767) 13%, white);
    border: 1px solid color-mix(in srgb, var(--edu-accent, #203767) 35%, white);
    border-radius: 0.9rem;
}

.r2-education-grid .r2-edu-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.32rem 0.75rem;
    color: color-mix(in srgb, var(--edu-accent, #203767) 40%, #0a1b36);
    background: color-mix(in srgb, var(--edu-accent, #203767) 13%, white);
    border-radius: 999px;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
}

/* Status badge + attended date share one row (the graduation-cap icon was
   removed to make the cards shorter). */
.r2-edu-statusline {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.r2-edu-date {
    color: color-mix(in srgb, var(--edu-accent, #203767) 60%, #0a1b36);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.r2-education-grid article.is-primary {
    display: grid;
    align-content: center;
    justify-items: start;
    grid-row: span 2;
    min-height: 26rem;
    padding: clamp(2rem, 3vw, 3.25rem);
    background:
        linear-gradient(160deg, color-mix(in srgb, var(--edu-accent, #203767) 12%, transparent), transparent 48%),
        linear-gradient(150deg, rgb(255 255 255 / 92%), rgb(240 246 255 / 80%));
}

.r2-education-grid article.is-primary .r2-edu-icon {
    width: 3.5rem;
    height: 3.5rem;
}

.r2-education-grid strong,
.r2-development-row strong {
    display: block;
    margin-top: 0.55rem;
    color: #204d87;
    font-size: 0.9rem;
}

.r2-skills {
    width: 99%;
    margin-left: -1%;
}

.r2-skill-explorer {
    display: grid;
    grid-template-columns: minmax(11rem, 0.6fr) minmax(15rem, 0.9fr) minmax(0, 1.55fr);
    gap: 1rem;
    margin-top: 2rem;
}

.r2-category-list,
.r2-skill-lists,
.r2-evidence-panel {
    min-width: 0;
    padding: 1rem;
    background: rgb(255 255 255 / 74%);
    border: 1px solid rgb(67 114 170 / 18%);
    border-radius: 1.1rem;
}

.r2-category-list,
.r2-skill-lists > div {
    display: grid;
    align-content: start;
    gap: 0.5rem;
}

.r2-category-list button,
.r2-skill-lists button {
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    color: #24405f;
    text-align: left;
    background: rgb(255 255 255 / 68%);
    border: 1px solid transparent;
    border-radius: 0.75rem;
    cursor: pointer;
    font: 750 0.82rem/1.25 var(--r2-ui);
}

.r2-category-list button[aria-selected="true"],
.r2-category-list button[aria-pressed="true"],
.r2-skill-lists button[aria-pressed="true"] {
    color: #fff;
    background: var(--r2-indigo);
    border-color: var(--r2-indigo);
}

.r2-skill-lists button small {
    color: #526983;
    font-size: 0.68rem;
    font-weight: 650;
}

.r2-skill-lists button[aria-pressed="true"] small {
    color: #fff;
}

.r2-evidence-panel {
    min-height: 24rem;
    padding: clamp(1.4rem, 2.5vw, 2.4rem);
}

.r2-evidence-panel > article > p {
    margin: 0.7rem 0 0;
}

.r2-evidence-panel ul {
    display: grid;
    gap: 0.65rem;
    margin: 1.2rem 0 0;
    padding: 0;
    list-style: none;
}

.r2-evidence-panel li {
    position: relative;
    padding: 0.85rem 0.9rem 0.85rem 2.35rem;
    background: rgb(240 247 255 / 82%);
    border: 1px solid rgb(66 117 180 / 16%);
    border-radius: 0.75rem;
}

.r2-evidence-panel li::before {
    position: absolute;
    top: 0.9rem;
    left: 0.85rem;
    width: 0.8rem;
    height: 0.8rem;
    border: 2px solid var(--r2-azure);
    border-radius: 0.2rem;
    content: "";
}

.r2-evidence-panel details {
    margin-top: 1rem;
}

.r2-evidence-panel summary {
    min-height: 2.75rem;
    padding: 0.75rem 0;
    color: #204d87;
    cursor: pointer;
    font-weight: 800;
}

.r2-development {
    width: 92%;
    margin-left: 5%;
}

.r2-development-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 1rem;
    margin-top: 2rem;
}

.r2-development-row article {
    min-height: 19rem;
    padding: 1.5rem;
    background: rgb(255 255 255 / 78%);
    border: 1px solid rgb(67 114 170 / 20%);
    border-radius: 1.2rem;
}

.r2-development-row article:nth-child(2) {
    transform: translateY(1.25rem);
}

.r2-development-row article:nth-child(3) {
    transform: translateY(0.4rem);
}

.r2-development-row article > span:first-child {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    color: #fff;
    background: linear-gradient(145deg, var(--r2-indigo), var(--r2-cyan));
    border-radius: 0.9rem;
}

/* Education, Skills, and Development become one vertical desktop collage.
   The semantic document order stays Education → Skills → Development; the
   grid only changes their visual placement. Narrow screens return to normal
   document flow below. */
/* Skills moved up next to the Experience intro, so this block is now just
   Education → Development, in a clean vertical stack with generous spacing —
   no overlapping collage. */
.r2-vertical-composition {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: clamp(2.75rem, 4.5vw, 4.5rem);
    margin: clamp(2.75rem, 4vw, 4rem) 0 0;
    padding-bottom: 4rem;
}

.r2-vertical-composition > .r2-section {
    margin-top: 0;
}

.r2-vertical-composition .r2-section-heading h2 {
    font-size: clamp(2.6rem, 3.4vw, 3.8rem);
}

.r2-vertical-composition .r2-section-heading > p {
    font-size: 0.94rem;
}

/* Development header runs horizontally to save vertical space: the intro line
   sits on the same band as the "Development" title — baseline-aligned, over at
   the right end of the card — instead of stacked beneath it. */
.r2-vertical-composition .r2-development .r2-section-heading {
    display: grid;
    max-width: none;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
        "kicker kicker"
        "title  subtitle";
    align-items: baseline;
    column-gap: clamp(1.25rem, 2vw, 2rem);
    row-gap: 0.5rem;
}

.r2-vertical-composition .r2-development .r2-section-heading > span {
    grid-area: kicker;
}

.r2-vertical-composition .r2-development .r2-section-heading h2 {
    grid-area: title;
    margin: 0;
}

.r2-vertical-composition .r2-development .r2-section-heading > p {
    grid-area: subtitle;
    justify-self: start;
    align-self: baseline;
    max-width: none;
    margin: 0;
}

/* Skills header runs horizontally too: "Skills & Evidence" on the left with
   its summary baseline-aligned at the right end of the card. The card is
   narrower than Development, so the title steps down a size to leave room. */
.r2-vertical-composition .r2-skills .r2-section-heading {
    display: grid;
    max-width: none;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
        "kicker  kicker"
        "title   summary";
    align-items: baseline;
    column-gap: clamp(1rem, 2vw, 2rem);
    row-gap: 0.4rem;
}

.r2-vertical-composition .r2-skills .r2-section-heading > span {
    grid-area: kicker;
}

.r2-vertical-composition .r2-skills .r2-section-heading h2 {
    grid-area: title;
    margin: 0;
    font-size: clamp(2.1rem, 2.8vw, 3.2rem);
}

.r2-vertical-composition .r2-skills .r2-section-heading > p {
    grid-area: summary;
    justify-self: end;
    max-width: 20ch;
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.45;
    text-align: right;
}

/* On narrow screens the composition stacks and the cards get tight — revert
   both horizontal headers to their normal stacked flow. */
@media (max-width: 64rem) {
    .r2-vertical-composition .r2-development .r2-section-heading,
    .r2-vertical-composition .r2-skills .r2-section-heading {
        display: block;
    }

    .r2-vertical-composition .r2-development .r2-section-heading > p,
    .r2-vertical-composition .r2-skills .r2-section-heading > p {
        justify-self: stretch;
        max-width: none;
        margin-top: 0.6rem;
        text-align: left;
    }

    .r2-vertical-composition .r2-skills .r2-section-heading h2 {
        font-size: clamp(2.6rem, 3.4vw, 3.8rem);
    }
}

.r2-vertical-composition .r2-education {
    position: relative;
    grid-column: 1;
    grid-row: auto;
    width: 100%;
    margin-left: 0;
    padding: clamp(1.6rem, 2.4vw, 2.4rem);
    top: 0;
    left: 0;
}

.r2-vertical-composition .r2-education-grid {
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 1rem;
    margin-top: 1.4rem;
}

.r2-vertical-composition .r2-education-grid article,
.r2-vertical-composition .r2-education-grid article.is-primary {
    display: block;
    min-height: 0;
    grid-row: auto;
    padding: 1rem;
}

.r2-vertical-composition .r2-education-grid article.is-primary {
    min-height: 0;
}

.r2-vertical-composition .r2-education-grid article:not(.is-primary) {
    min-height: 0;
}

.r2-vertical-composition .r2-education-grid h3 {
    font-size: clamp(1.25rem, 1.45vw, 1.6rem);
}

.r2-vertical-composition .r2-education-grid .r2-edu-icon {
    width: 2.5rem;
    height: 2.5rem;
}

.r2-vertical-composition .r2-education-grid .r2-edu-status {
    margin-top: 0.65rem;
}

.r2-vertical-composition .r2-education-grid p {
    font-size: 0.8rem;
    line-height: 1.4;
}

.r2-vertical-composition .r2-skills {
    /* The gutter the card keeps between its right edge and the viewport when
       it bleeds out on big screens. */
    --r2-skills-gutter: 1.75rem;
    /* How far the card is held to the right inside column 3. Smaller = the
       card elongates leftward, tightening the gap to the Education card. */
    --r2-skills-left: 0.5rem;
    position: relative;
    /* Sit above the Development band (a later grid sibling) so the evidence
       popup, which overlays downward into it, always paints on top. */
    z-index: 5;
    grid-column: 3;
    grid-row: 1;
    /* Held-left, bleed-right. The left edge is held --r2-skills-left into
       column 3; the right edge bleeds toward the viewport edge — on wide
       screens the page content caps at min(98vw, 118rem) and the leftover
       right margin becomes a deliberate rightward pop-out past the
       Ledger/Experience above (the fun horizontal play Pete wants). On normal
       screens that leftover margin is tiny, so the card never runs off-screen.
       max(0px, …) keeps the bleed from ever going negative. */
    width: calc(
        100% - var(--r2-skills-left) +
        max(0px, (100vw - min(98vw, 118rem)) / 2 - var(--r2-skills-gutter))
    );
    margin: 4rem 0 0;
    padding: clamp(2rem, 3vw, 3rem);
    left: var(--r2-skills-left);
}

/* Column count for the chip grid is driven by the card's own width via a
   container query (see .r2-skillmap__grid), so no viewport rule is needed
   here. */

.r2-vertical-composition .r2-skill-explorer {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 1.6rem;
}

.r2-vertical-composition .r2-category-list,
.r2-vertical-composition .r2-skill-lists,
.r2-vertical-composition .r2-evidence-panel {
    grid-column: auto;
}

.r2-vertical-composition .r2-evidence-panel {
    min-height: 28rem;
}

/* ==========================================================================
   Skills & Evidence — horizontal 4×4 chip map with an overlay evidence popup
   (2026-07-12, Pete). Replaces the tall flip cards: clicking a chip highlights
   it and floats a popup bubble that overlays whatever sits below it instead of
   pushing the layout down. Big-screen focused, per the approved mockup.
   ========================================================================== */
.r2-skillmap {
    position: relative;
    margin-top: 1.9rem;
    container: skillmap / inline-size;
}

/* Column count follows the card's OWN width, not the viewport: the held-left
   card widens as it bleeds out on big screens, so a container query lands the
   4×4 exactly when there's room for readable chips, and falls back to 3 / 2. */
.r2-skillmap__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

/* Phones: one full-width column so long single words ("Engineering",
   "Management") never break mid-word. */
@container skillmap (max-width: 24rem) {
    .r2-skillmap__grid {
        grid-template-columns: 1fr;
    }
}

@container skillmap (min-width: 33rem) {
    .r2-skillmap__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@container skillmap (min-width: 47rem) {
    .r2-skillmap__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* When the card is narrow (its 2-column state — phones and stacked layouts),
   tighten the chips so long single words like "Management" keep to one line
   instead of clipping. */
@container skillmap (max-width: 33rem) {
    .r2-skillchip {
        gap: 0.5rem;
        padding: 0.55rem 0.6rem;
    }

    .r2-skillchip__icon {
        width: 1.7rem;
        height: 1.7rem;
    }

    .r2-skillchip__icon svg {
        width: 1.05rem;
        height: 1.05rem;
    }

    .r2-skillchip__label {
        font-size: 0.82rem;
    }
}

.r2-skillchip {
    display: flex;
    min-width: 0;
    min-height: 4rem;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 1rem;
    color: var(--r2-ink);
    text-align: left;
    background: linear-gradient(145deg, rgb(255 255 255 / 92%), rgb(244 249 255 / 82%));
    border: 1px solid rgb(32 55 103 / 14%);
    border-radius: 0.85rem;
    box-shadow: 0 1px 2px rgb(16 42 92 / 6%), 0 6px 16px rgb(16 42 92 / 5%);
    cursor: pointer;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.r2-skillchip:hover {
    transform: translateY(-1px);
    border-color: rgb(32 55 103 / 32%);
    box-shadow: 0 2px 5px rgb(16 42 92 / 8%), 0 12px 26px rgb(16 42 92 / 9%);
}

.r2-skillchip:focus-visible {
    outline: 3px solid var(--r2-indigo);
    outline-offset: 2px;
}

.r2-skillchip__icon {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 2.1rem;
    height: 2.1rem;
    color: var(--r2-indigo);
}

.r2-skillchip__icon svg {
    width: 1.25rem;
    height: 1.25rem;
}

.r2-skillchip__label {
    min-width: 0;
    font: 650 clamp(0.86rem, 0.72vw, 0.98rem)/1.2 var(--r2-ui);
    color: var(--r2-ink);
    overflow-wrap: break-word;
}

.r2-skillchip[aria-expanded="true"] {
    color: var(--r2-indigo);
    background: linear-gradient(145deg, rgb(238 240 255 / 96%), rgb(228 236 255 / 90%));
    border-color: var(--r2-indigo);
    box-shadow: inset 0 0 0 1px var(--r2-indigo), 0 10px 24px rgb(32 55 103 / 20%);
}

.r2-skillchip[aria-expanded="true"] .r2-skillchip__label {
    color: var(--r2-indigo);
    font-weight: 750;
}

/* --- Overlay evidence popup ------------------------------------------------ */
.r2-skillpop {
    position: fixed;
    z-index: 2147483000;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: min(38rem, calc(100vw - 1.5rem));
    overflow: visible;
}

.r2-skillpop__content {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    max-height: calc(100vh - 1.5rem);
    padding: 1.15rem 1.25rem;
    background: linear-gradient(150deg, rgb(255 255 255 / 97%), rgb(238 245 255 / 93%));
    border: 1px solid rgb(32 55 103 / 16%);
    border-radius: 1.5rem;
    box-shadow: 0 26px 64px rgb(16 42 92 / 20%), 0 2px 8px rgb(16 42 92 / 8%);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    overflow-x: hidden;
    overflow-y: auto;
    isolation: isolate;
}

.r2-skillpop:not([hidden]) {
    animation: r2-skillpop-in 220ms cubic-bezier(0.2, 0.7, 0.3, 1) both;
}

@keyframes r2-skillpop-in {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
}

/* Soft sky bleed on the right, echoing the page's mountain-sky backdrop. */
.r2-skillpop__content::after {
    position: absolute;
    z-index: -1;
    inset: 0 0 0 auto;
    width: 52%;
    background:
        image-set(
            url("../images/Mockups/resume2/resume2-blue-mountain-background.avif") type("image/avif"),
            url("../images/Mockups/resume2/resume2-blue-mountain-background.webp") type("image/webp")
        ) right center / cover no-repeat;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 78%);
    mask-image: linear-gradient(90deg, transparent, #000 78%);
    opacity: 0.32;
    pointer-events: none;
    content: "";
}

.r2-skillpop__tail {
    position: absolute;
    top: -0.45rem;
    left: 8%;
    width: 0.9rem;
    height: 0.9rem;
    background: rgb(252 253 255 / 98%);
    border-top: 1px solid rgb(32 55 103 / 16%);
    border-left: 1px solid rgb(32 55 103 / 16%);
    border-radius: 0.24rem 0 0 0;
    transform: translateX(-50%) rotate(45deg);
    transition: left 220ms cubic-bezier(0.2, 0.7, 0.3, 1);
}

.r2-skillpop.is-above .r2-skillpop__tail {
    top: auto;
    bottom: -0.45rem;
    transform: translateX(-50%) rotate(225deg);
}

.r2-skillpop__close {
    position: absolute;
    top: 0.65rem;
    right: 0.65rem;
    display: grid;
    place-items: center;
    width: 2.1rem;
    height: 2.1rem;
    color: var(--r2-muted);
    background: transparent;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    transition: background 160ms ease, color 160ms ease;
}

.r2-skillpop__close:hover {
    color: var(--r2-ink);
    background: rgb(32 55 103 / 10%);
}

.r2-skillpop__close svg {
    width: 1.2rem;
    height: 1.2rem;
}

.r2-skillpop__title {
    margin: 0;
    padding-right: 2.5rem;
    color: var(--r2-ink);
    font: 600 clamp(1.35rem, 1.5vw, 1.7rem)/1.08 var(--r2-display);
}

.r2-skillpop__summary {
    max-width: 48ch;
    margin: 0.4rem 0 0;
    color: var(--r2-muted);
    font-size: clamp(0.95rem, 0.8vw, 1.05rem);
    line-height: 1.45;
}

.r2-skillpop__list {
    display: grid;
    max-width: 62ch;
    gap: 0.6rem;
    margin: 0.9rem 0 0;
    padding: 0;
    list-style: none;
}

.r2-skillpop__list li {
    position: relative;
    min-height: 1.6rem;
    padding: 0.1rem 0 0 2.55rem;
    color: var(--r2-ink);
    font-size: clamp(0.92rem, 0.78vw, 1.02rem);
    line-height: 1.45;
}

.r2-skillpop__list li::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 1.6rem;
    height: 1.6rem;
    border: 1.5px solid rgb(78 163 255 / 60%);
    border-radius: 50%;
    background: rgb(240 247 255 / 85%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l3.8 3.8L18 7' fill='none' stroke='%234f5bd5' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 1rem no-repeat;
    content: "";
}

.r2-skillpop__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.9rem;
    padding: 0;
    color: var(--r2-indigo);
    background: transparent;
    border: 0;
    cursor: pointer;
    font: 750 clamp(0.9rem, 0.75vw, 1rem)/1 var(--r2-ui);
}

.r2-skillpop__cta:focus-visible {
    outline: 3px solid var(--r2-indigo);
    outline-offset: 3px;
    border-radius: 0.3rem;
}

.r2-skillpop__arrow {
    font-size: 1.1em;
    transition: transform 160ms ease;
}

.r2-skillpop__cta:hover .r2-skillpop__arrow {
    transform: translateX(4px);
}

.r2-vertical-composition .r2-development {
    position: relative;
    z-index: 1;
    /* Twice as wide as before (was columns 1–2): now spans the full
       composition so it sits squarely underneath both the Education and
       Skills cards. Left anchor is unchanged. */
    grid-column: 1 / -1;
    grid-row: auto;
    width: 100%;
    margin: 0;
    padding: clamp(1.5rem, 2.2vw, 2.2rem);
    left: 0;
}

/* Wide and low-slung: the credentials sit side by side so the card reads as a
   short horizontal band under the two cards above, not a tall stack. auto-fit
   keeps it generic — 3 credentials land 3-up on the full-width card, 2 land
   2-up, without hardcoding a count. */
.r2-vertical-composition .r2-development-row {
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 1.25rem;
    margin-top: 1.2rem;
}

.r2-vertical-composition .r2-development-row article,
.r2-vertical-composition .r2-development-row article:nth-child(n) {
    min-height: 0;
    padding: 1.1rem 1.35rem;
    transform: none;
}

.r2-vertical-composition .r2-development-row h3 {
    font-size: clamp(1.35rem, 1.6vw, 1.75rem);
}

.r2-vertical-composition .r2-development-row strong {
    font-size: 1rem;
}

.r2-vertical-composition .r2-development-row p {
    font-size: 0.95rem;
    line-height: 1.5;
}

/* "See how the work became the story" — the constellation is a full-width
   stage from its first rendered frame. It no longer begins as a capped card
   and snaps wider when the observer fires during a slow scroll. */
.resume-v2 .lr-constellation {
    width: 100%;
    margin-inline: 0;
}

.resume-v2 .lr-constellation__scene {
    border-radius: 0;
    border-right: 0;
    border-left: 0;
}

@media (min-width: 64rem) {
    .resume-v2 .lr-constellation__scene {
        min-height: max(58rem, 100svh);
    }
}

.resume2-story :is(a, button, summary, input):focus-visible,
.resume-v2 .lr-constellation :is(a, button, summary):focus-visible {
    outline: 3px solid #0b6dd7;
    outline-offset: 3px;
}

.resume-v2-page #chat-toggle {
    right: max(1.25rem, env(safe-area-inset-right));
    bottom: max(5.5rem, calc(env(safe-area-inset-bottom) + 4.75rem));
}

@supports not (backdrop-filter: blur(1px)) {
    .r2-identity-card,
    .r2-quote-card,
    .r2-ai-card,
    .r2-ledger,
    .r2-section,
    .r2-exp-intro-card,
    .r2-experience-card {
        background: rgb(246 248 252 / 96%);
    }

    .r2-experience {
        background: none;
    }
}

@media (max-width: 75rem) {
    .r2-identity-stage {
        grid-template-columns: minmax(0, 1.4fr) minmax(16rem, 0.6fr);
    }

    .r2-identity-card {
        grid-template-columns: 7.5rem minmax(0, 1fr);
        padding: 2.25rem;
        /* Single-column stack below this width: no hand-placed offset. */
        margin-top: 0;
    }

    .r2-quote-card {
        width: 100%;
        transform: translate(0.45rem, -0.7rem);
    }

    .r2-ai-card {
        width: 100%;
    }

    .r2-panel-header {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .r2-panel-header h2 {
        font-size: clamp(2rem, 3vw, 2.5rem);
    }

    .r2-panel-header > strong {
        text-align: left;
    }

    .r2-panel-header h2 {
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .r2-metric-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .r2-evidence-highlights > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .r2-skill-explorer {
        grid-template-columns: minmax(10rem, 0.6fr) minmax(14rem, 0.85fr) minmax(0, 1.25fr);
    }

    .r2-exp-stage {
        flex-direction: column;
    }

    .r2-exp-stage:not(.is-expanded) .r2-experience-card:nth-child(n),
    .r2-experience-card {
        min-height: 0;
        flex: 0 0 auto;
        transform: none;
    }

    .r2-vertical-composition {
        display: block;
        width: 100%;
        margin: 5rem 0 0;
        padding-bottom: 0;
    }

    .r2-vertical-composition > .r2-section,
    .r2-vertical-composition .r2-education,
    .r2-vertical-composition .r2-skills,
    .r2-vertical-composition .r2-development {
        width: 100%;
        margin: 5rem 0 0;
    }

    .r2-vertical-composition .r2-education {
        margin-top: 0;
        top: 0;
        left: 0;
    }

    .r2-vertical-composition .r2-skills {
        left: 0;
        padding: clamp(1.1rem, 3.5vw, 2.4rem);
    }

    .r2-vertical-composition .r2-development {
        left: 0;
    }

    .r2-vertical-composition .r2-education-grid p,
    .r2-vertical-composition .r2-development-row p {
        font-size: 0.9rem;
        line-height: 1.5;
    }
}

@media (max-width: 64rem) {
    .r2-identity-stage {
        grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.5fr);
        grid-template-areas:
            "identity identity"
            "quote ai";
    }

    .r2-quote-card,
    .r2-ai-card {
        transform: none;
    }

    /* Below desktop the timeline becomes a horizontal-scroll strip, so drop
       the card-alignment indent and let it use the full width. */
    .resume2-story .r2-timeline-shell {
        padding-left: 0;
    }

    .r2-timeline-shell .lr-timeline-region {
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    .r2-timeline-shell .lr-timeline {
        width: calc(var(--lr-timeline-count, 8) * 8rem);
        grid-template-columns: repeat(var(--lr-timeline-count, 8), minmax(7rem, 1fr));
    }

    .r2-timeline-shell .lr-timeline__event {
        scroll-snap-align: center;
    }

    .resume2-story .r2-ledger-layout {
        grid-template-columns: 11rem minmax(0, 1fr);
    }

    .resume2-story .r2-ledger-rail {
        min-height: 0;
        padding: 1rem 0.75rem 0.75rem;
        transform: translateX(-0.5rem);
    }

    .r2-panel-header {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .r2-panel-header > strong {
        text-align: left;
    }

    .r2-exp-stage {
        flex-direction: column;
    }

    .r2-exp-stage:not(.is-expanded) .r2-experience-card:nth-child(n) {
        min-height: 0;
        transform: none;
    }

    .r2-experience-card {
        min-height: 0;
    }

    .r2-skill-explorer {
        grid-template-columns: 0.7fr 1fr;
    }

    .r2-evidence-panel {
        grid-column: 1 / -1;
    }

    .r2-vertical-composition {
        display: block;
        width: 100%;
        margin: 5rem 0 0;
        padding-bottom: 0;
    }

    .r2-vertical-composition > .r2-section,
    .r2-vertical-composition .r2-education,
    .r2-vertical-composition .r2-skills,
    .r2-vertical-composition .r2-development {
        width: 100%;
        margin: 5rem 0 0;
    }

    .r2-vertical-composition .r2-education {
        margin-top: 0;
    }
}

@media (max-width: 48rem) {
    .resume-v2 {
        padding-top: 1rem;
    }

    .resume-v2::before {
        position: absolute;
        background:
            linear-gradient(180deg, rgb(237 248 255 / 28%) 0%, rgb(223 239 252 / 56%) 75%, #deedfa 100%),
            image-set(
                url("../images/Mockups/resume2/resume2-blue-mountain-background-mobile.avif") type("image/avif"),
                url("../images/Mockups/resume2/resume2-blue-mountain-background-mobile.webp") type("image/webp")
            ) center top / 100% auto no-repeat,
            #deedfa;
    }

    .resume-v2::after {
        position: absolute;
    }

    .resume2-story .resume-version-switch {
        width: min(calc(100% - 2.5rem), 18rem);
    }

    .resume2-story .resume-version-switch a {
        flex: 1;
        min-width: 0;
    }

    .resume2-story .lr-resume-dock {
        display: none !important;
    }

    .r2-identity-stage,
    .resume2-story .r2-timeline-shell,
    .resume2-story .r2-ledger-layout {
        width: min(calc(100% - 2.5rem), 42rem);
    }

    .r2-identity-stage {
        display: block;
    }

    .r2-identity-card,
    .r2-quote-card,
    .r2-ai-card {
        margin-top: 1rem;
        border-radius: 1.35rem;
        transform: none;
    }

    .r2-identity-card {
        display: grid;
        min-height: 0;
        grid-template-columns: 5.75rem minmax(0, 1fr);
        align-items: start;
        gap: 1.1rem;
        padding: 1.35rem;
    }

    .r2-identity-copy h1 {
        font-size: clamp(2.75rem, 13vw, 4rem);
    }

    .r2-role {
        font-size: 0.95rem;
    }

    .r2-summary,
    .r2-contact-list,
    .r2-identity-actions {
        grid-column: 1 / -1;
    }

    .r2-summary {
        font-size: 1rem;
    }

    .r2-contact-list {
        display: grid;
        gap: 0.15rem;
    }

    .r2-contact-list span,
    .r2-contact-list a {
        overflow-wrap: anywhere;
    }

    .r2-identity-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .r2-share-status {
        grid-column: 1 / -1;
    }

    .resume2-story .r2-timeline-shell {
        margin-top: 4rem;
    }

    .r2-timeline-shell .lr-timeline-region {
        padding-inline: 0.35rem;
    }

    .r2-timeline-shell .lr-timeline {
        width: calc(var(--lr-timeline-count, 8) * 7.25rem);
        grid-template-columns: repeat(var(--lr-timeline-count, 8), minmax(6.5rem, 1fr));
    }

    .r2-timeline-shell .lr-timeline__event {
        min-height: 9.75rem;
        grid-template-rows: 4.5rem auto auto;
    }

    .r2-timeline-shell .lr-timeline__marker {
        width: 4.1rem;
        height: 4.1rem;
    }

    .resume2-story .r2-ledger-layout {
        display: block;
        margin-top: 1.25rem;
    }

    .resume2-story [data-resume-section] {
        scroll-margin-top: 9.5rem;
    }

    .resume2-story .r2-ledger-rail {
        position: sticky;
        z-index: 15;
        top: 8.75rem;
        display: block;
        overflow-x: auto;
        margin-bottom: 0.85rem;
        padding: 0.45rem;
        border-radius: 0.9rem;
        transform: none;
        scrollbar-width: none;
    }

    .resume2-story .r2-ledger-rail::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    .r2-timeline-shell .lr-timeline-region {
        scrollbar-width: none;
    }

    .r2-timeline-shell .lr-timeline-region::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    .r2-ledger-rail nav {
        display: flex;
        width: max-content;
    }

    .r2-ledger-rail nav a {
        min-width: 8.5rem;
        min-height: 2.75rem;
        grid-template-columns: 1.2rem auto;
    }

    .r2-ledger-rail > p,
    .r2-ledger-rail > .lr-rail-pdf,
    .r2-rail-kicker {
        display: none;
    }

    .r2-ledger {
        border-radius: 1.25rem;
    }

    .r2-ledger-panel {
        min-height: 0;
        padding: 1.35rem;
    }

    .r2-panel-header h2 {
        font-size: clamp(2.3rem, 11vw, 3.4rem);
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .r2-metric-grid,
    .r2-evidence-highlights > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .r2-metric-card {
        min-height: 10.5rem;
        padding: 0.9rem;
    }

    .r2-section {
        width: 100%;
        margin-top: 5rem;
        margin-left: 0;
        padding: 1.35rem;
        border-radius: 1.25rem;
    }

    .r2-section-heading h2 {
        font-size: clamp(2.45rem, 11vw, 3.5rem);
    }

    .r2-education-grid,
    .r2-skill-explorer,
    .r2-development-row {
        grid-template-columns: 1fr;
    }

    .r2-exp-stage {
        flex-direction: column;
        gap: 1rem;
    }

    .r2-exp-intro-card {
        display: block;
        padding: 1.5rem 1.35rem;
    }

    .r2-experience-card,
    .r2-experience-card:last-child,
    .r2-education-grid article,
    .r2-education-grid article.is-primary,
    .r2-development-row article {
        grid-column: auto;
        grid-row: auto;
        min-height: 0;
        transform: none;
    }

    .r2-category-list,
    .r2-skill-lists,
    .r2-evidence-panel {
        grid-column: auto;
    }

    .r2-development-row article:nth-child(n) {
        transform: none;
    }

    .resume-v2-page #chat-toggle {
        right: max(0.85rem, env(safe-area-inset-right));
        bottom: max(5.75rem, calc(env(safe-area-inset-bottom) + 5rem));
    }
}

@media (max-width: 30rem) {
    .r2-identity-card {
        grid-template-columns: 1fr;
    }

    .r2-portrait {
        width: 5.75rem;
        justify-self: start;
    }

    .r2-identity-copy h1 {
        font-size: clamp(2.75rem, 15vw, 3.6rem);
    }

    .r2-identity-actions,
    .r2-metric-grid,
    .r2-evidence-highlights > div {
        grid-template-columns: 1fr;
    }

    .r2-metric-card {
        min-height: 9rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .resume-v2::before,
    .resume-v2::after {
        position: absolute;
    }

    .resume2-story *,
    .resume2-story *::before,
    .resume2-story *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .r2-experience-card:nth-child(n),
    .r2-exp-stage:not(.is-expanded) .r2-experience-card:nth-child(n),
    .r2-development-row article:nth-child(n) {
        transform: none;
    }

    .r2-exp-card__full {
        animation: none;
    }

    .resume2-story .lr-skill-flip__inner,
    .resume2-story .lr-skill-flip.is-flipped .lr-skill-flip__inner {
        transform: none !important;
    }

    .resume2-story .lr-skill-flip__back {
        display: none;
        transform: none;
    }

    .resume2-story .lr-skill-flip.is-flipped .lr-skill-flip__front {
        display: none;
    }

    .resume2-story .lr-skill-flip.is-flipped .lr-skill-flip__back {
        display: grid;
    }
}

@media (forced-colors: active) {
    .r2-identity-card,
    .r2-quote-card,
    .r2-ai-card,
    .r2-ledger,
    .r2-section,
    .r2-exp-intro-card,
    .r2-experience-card,
    .r2-education-grid article,
    .r2-development-row article,
    .r2-category-list,
    .r2-skill-lists,
    .r2-evidence-panel,
    .r2-skillchip,
    .r2-skillpop,
    .r2-outcome-flip__front,
    .r2-outcome-flip__back {
        border: 2px solid CanvasText;
        background: Canvas;
        box-shadow: none;
        backdrop-filter: none;
    }

    .r2-experience {
        border: 0;
        background: none;
    }

    .r2-action--primary,
    .r2-ai-chip:hover,
    .r2-exp-ask,
    .r2-category-list button[aria-selected="true"],
    .r2-category-list button[aria-pressed="true"],
    .r2-skill-lists button[aria-pressed="true"] {
        color: HighlightText;
        background: Highlight;
    }
}

/* =====================================================================
   RÉSUMÉ LAYOUT PASS (2026-07-13b, Pete's feedback)
   - Skills spans full width ABOVE the Experience title (8 × 2 chip grid).
   - Experience title drops down close to the chapter cards.
   - Smaller section-heading titles; title + summary each on one line.
   - Education stacks vertically (left); Development stays horizontal to its
     right; Certifications sit below Education; Achievements below Development.
   ===================================================================== */

/* --- Smaller section titles (were oversized), title + summary one line each */
.resume-v2 .r2-section-heading h2 {
    font-size: clamp(1.4rem, 1.9vw, 2rem);
    line-height: 1.12;
}
.resume-v2 .r2-section-heading > span {
    font-size: 0.72rem;
}
.resume-v2 .r2-section-heading > p {
    margin-top: 0.35rem;
    font-size: 0.9rem;
}

/* --- Skills full-width panel above the Experience title ---------------- */
.r2-skills--top {
    width: 100%;
    margin: 0 0 clamp(1.75rem, 3vw, 2.75rem);
    padding: clamp(1.25rem, 2vw, 2rem);
    background: linear-gradient(135deg, rgb(255 255 255 / 86%), rgb(244 249 255 / 74%));
    border: 1px solid rgb(255 255 255 / 82%);
    border-radius: 1.5rem;
    box-shadow:
        0 1.5rem 4rem rgb(10 38 78 / 14%),
        inset 0 1px 0 rgb(255 255 255 / 92%);
    backdrop-filter: blur(22px) saturate(1.18);
}
.r2-skills--top .r2-section-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
        "kicker kicker"
        "title summary";
    align-items: baseline;
    column-gap: clamp(1.5rem, 4vw, 4rem);
    row-gap: 0.35rem;
    max-width: none;
}
.r2-skills--top .r2-section-heading > span { grid-area: kicker; }
.r2-skills--top .r2-section-heading h2 {
    grid-area: title;
    margin: 0;
}
.r2-skills--top .r2-section-heading > p {
    grid-area: summary;
    justify-self: end;
    margin: 0;
    text-align: right;
}
.r2-skills--top .r2-skillmap { margin-top: 0.75rem; }

/* Two rows of eight. Higher specificity than the container-query defaults. */
.r2-skills--top .r2-skillmap__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 0.6rem;
}
.r2-skills--top .r2-skillchip {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.4rem;
    min-height: 4.4rem;
    padding: 0.7rem 0.5rem;
    text-align: center;
}
.r2-skills--top .r2-skillchip__label {
    font-size: 0.7rem;
    line-height: 1.15;
}
@media (max-width: 78rem) {
    .r2-skills--top .r2-skillmap__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
    .r2-skills--top .r2-skillmap__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .r2-skills--top .r2-section-heading { display: block; }
    .r2-skills--top .r2-section-heading > p {
        margin-top: 0.35rem;
        text-align: left;
    }
}

/* --- Experience title drops down toward the chapter cards -------------- */
.r2-experience .r2-exp-intro-card {
    display: inline-block;
    margin-top: clamp(1.5rem, 3vw, 3rem);
}
.r2-experience .r2-exp-stage {
    margin-top: 1rem;
}

/* --- Vertical composition becomes a 2 × 2 grid ------------------------- */
/* Education (tall, left) | Development (wide, right)
   Certifications (left)  | Achievements (right)                          */
.r2-vertical-composition {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    grid-template-rows: auto auto;
    gap: clamp(1.25rem, 2.4vw, 2.4rem);
}
.r2-vertical-composition .r2-education { grid-column: 1; grid-row: 1; }
.r2-vertical-composition .r2-development { grid-column: 2; grid-row: 1; width: 100%; margin: 0; left: 0; }
.r2-vertical-composition .r2-certifications { grid-column: 1; grid-row: 2; }
.r2-vertical-composition .r2-achievements {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    width: 66.666%;
}
.r2-vertical-composition .r2-certifications,
.r2-vertical-composition .r2-achievements {
    padding: clamp(1.25rem, 1.7vw, 1.5rem);
}

/* Education stacks its degree cards vertically. */
.r2-vertical-composition .r2-education-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

/* Development stays horizontal but fits the right column (2-up), no stagger. */
.r2-vertical-composition .r2-development-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}
.r2-vertical-composition .r2-development-row article { transform: none; min-height: 0; }

/* --- Certifications card ---------------------------------------------- */
.r2-cert-grid { display: grid; gap: 0.75rem; margin-top: 1rem; }
.r2-cert-card {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    padding: 1.1rem 1.25rem;
    background: linear-gradient(160deg, rgb(255 252 245 / 92%), rgb(255 255 255 / 82%));
    border: 1px solid rgb(215 163 62 / 34%);
    border-radius: 1.1rem;
    box-shadow: 0 0.75rem 2.5rem rgb(113 73 8 / 8%);
}
.r2-cert-badge {
    display: grid;
    place-items: center;
    flex: none;
    width: 2.9rem;
    height: 2.9rem;
    color: #b9822a;
    background: rgb(255 249 238 / 85%);
    border: 1px solid rgb(215 163 62 / 42%);
    border-radius: 0.85rem;
}
.r2-cert-badge svg { width: 1.5rem; height: 1.5rem; }
.r2-cert-status {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #8a6323;
    background: rgb(255 244 224 / 80%);
    border-radius: 999px;
}
.r2-cert-body h3 { margin: 0.4rem 0 0.15rem; font-size: 1.1rem; }
.r2-cert-body strong { display: block; color: #203767; font-size: 0.85rem; }
.r2-cert-body p { margin: 0.3rem 0 0; font-size: 0.82rem; line-height: 1.45; color: #42516a; }

/* --- Achievements card ------------------------------------------------ */
.r2-achieve-list { list-style: none; margin: 0.75rem 0 0; padding: 0; display: grid; gap: 0.5rem; }
.r2-achieve-item {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
    padding: 0.65rem 0.75rem;
    background: rgb(255 255 255 / 82%);
    border: 1px solid rgb(67 114 170 / 20%);
    border-radius: 1rem;
}
.r2-achieve-item.is-featured {
    border-color: rgb(215 163 62 / 46%);
    background: linear-gradient(160deg, rgb(255 250 240 / 94%), rgb(255 255 255 / 84%));
    box-shadow: 0 0.75rem 2.5rem rgb(113 73 8 / 9%);
}
.r2-achieve-icon {
    display: grid;
    place-items: center;
    flex: none;
    width: 2.4rem;
    height: 2.4rem;
    color: #203767;
    background: rgb(240 243 255 / 80%);
    border: 1px solid rgb(32 55 103 / 24%);
    border-radius: 0.7rem;
}
.r2-achieve-item.is-featured .r2-achieve-icon {
    color: #b9822a;
    background: rgb(255 249 238 / 85%);
    border-color: rgb(215 163 62 / 42%);
}
.r2-achieve-icon svg { width: 1.25rem; height: 1.25rem; }
.r2-achieve-head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.6rem; }
.r2-achieve-head h3 { margin: 0; font-size: 0.98rem; line-height: 1.2; }
.r2-achieve-year { flex: none; font-size: 0.72rem; font-weight: 700; color: #6f7d94; }
.r2-achieve-body > strong { display: block; margin-top: 0.1rem; font-size: 0.78rem; color: #203767; }
.r2-achieve-body > p { margin: 0.25rem 0 0; font-size: 0.8rem; line-height: 1.45; color: #42516a; }

/* --- Narrow screens: everything returns to a single readable column --- */
@media (max-width: 60rem) {
    .r2-vertical-composition {
        grid-template-columns: 1fr;
    }
    .r2-vertical-composition .r2-education,
    .r2-vertical-composition .r2-development,
    .r2-vertical-composition .r2-certifications,
    .r2-vertical-composition .r2-achievements {
        grid-column: 1;
    }
    .r2-vertical-composition .r2-education { grid-row: auto; }
    .r2-vertical-composition .r2-development { grid-row: auto; }
    .r2-vertical-composition .r2-certifications { grid-row: auto; }
    .r2-vertical-composition .r2-achievements { grid-row: auto; width: 100%; }
    .r2-vertical-composition .r2-development-row { grid-template-columns: 1fr; }
}

/* ========================================================================
   Consolidated public career page (2026-07-14)
   The rules below intentionally sit after the previous Resume 2 experiment.
   They preserve the shared background, AI, and Career Constellation while
   giving the canonical page one clear Summary -> Impact -> Skills ->
   Experience -> Credentials flow.
   ======================================================================== */

.resume-consolidated {
    --r2-ink: #0a1b36;
    --r2-muted: #4a5e7a;
    --r2-indigo: #405cf5;
    --r2-azure: #4ea3ff;
    --r2-cyan: #159eaa;
    --r2-amber: #b87900;
    --r2-cloud: #f6f8fc;
    --r2-line: rgb(77 116 176 / 21%);
    --r2-shadow: 0 1.4rem 3.6rem rgb(38 76 133 / 14%);
    --r2-display: "Newsreader", Georgia, serif;
    --r2-ui: "Inter", ui-sans-serif, system-ui, sans-serif;
    color: var(--r2-ink);
    font-family: var(--r2-ui);
    padding-top: clamp(1.25rem, 2vw, 2.25rem);
}

.resume-consolidated [hidden] {
    display: none !important;
}

.resume-consolidated :is(a, button):focus-visible {
    outline: 3px solid #0f79d8;
    outline-offset: 3px;
}

.resume-consolidated .r2-anchor-alias {
    position: absolute;
    inset-block-start: -9rem;
}

.r2-page-grid {
    display: grid;
    width: min(96vw, 100rem);
    grid-template-columns: minmax(0, 1fr) 8.75rem;
    grid-template-rows: auto;
    align-items: start;
    gap: clamp(1rem, 2vw, 2rem);
    margin-inline: auto;
}

.r2-content {
    display: grid;
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    /* PS-RESUME-PUBLIC-REFINE-001: tighter inter-section rhythm. */
    gap: clamp(1.25rem, 2.2vw, 2.25rem);
}

.r2-section-ribbon {
    position: sticky;
    z-index: 40;
    top: 9.25rem;
    display: flex;
    overflow: hidden;
    min-width: 0;
    grid-column: 2;
    grid-row: 1;
    flex-direction: column;
    border: 1px solid rgb(88 126 188 / 23%);
    border-radius: 1.65rem;
    background: rgb(255 255 255 / 83%);
    box-shadow: 0 1.15rem 2.8rem rgb(24 68 132 / 15%);
    backdrop-filter: blur(18px) saturate(1.18);
}

.r2-section-ribbon__links,
.r2-section-ribbon__actions {
    display: grid;
    gap: 0.3rem;
    padding: 0.65rem;
}

.r2-section-ribbon__actions {
    border-top: 1px solid var(--r2-line);
    padding-block: 0.8rem;
}

.r2-section-ribbon :is(a, button) {
    display: flex;
    min-height: 3.35rem;
    align-items: center;
    gap: 0.62rem;
    border: 0;
    border-radius: 0.9rem;
    background: transparent;
    color: #17345f;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.15;
    padding: 0.65rem 0.7rem;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.r2-section-ribbon :is(a, button):hover,
.r2-section-ribbon a.is-current {
    background: linear-gradient(135deg, rgb(237 243 255 / 97%), rgb(250 253 255 / 97%));
    color: #244fe5;
    box-shadow: 0 0.55rem 1.25rem rgb(59 91 175 / 12%);
}

.r2-section-ribbon__actions button {
    color: #087e89;
}

.r2-section-ribbon__actions a {
    color: #2857ee;
}

.r2-section-ribbon svg {
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.r2-summary,
.resume-consolidated .r2-section {
    position: relative;
    scroll-margin-top: 9rem;
}

.r2-summary {
    display: grid;
    width: 100%;
    max-width: none;
    /* PS-RESUME-PUBLIC-REFINE-001: trim the opening floor so the identity
       column no longer carries dead space beneath its content. */
    min-height: 34rem;
    grid-template-columns: minmax(15rem, 0.86fr) minmax(20rem, 1.12fr) minmax(18rem, 0.92fr);
    align-items: stretch;
    gap: clamp(1rem, 1.7vw, 1.5rem);
    margin: 0;
}

.r2-summary__portrait,
.r2-summary__identity,
.resume-consolidated .r2-ai-card,
.resume-consolidated .r2-section {
    margin: 0;
    border: 1px solid rgb(255 255 255 / 88%);
    border-radius: 1.75rem;
    background: rgb(255 255 255 / 76%);
    box-shadow: var(--r2-shadow);
    backdrop-filter: blur(18px) saturate(1.08);
}

.r2-summary__portrait {
    overflow: hidden;
    min-height: 34rem;
    background: #dce6f4;
}

.r2-summary__portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 42%;
}

.r2-summary__identity {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.8rem, 3.2vw, 3.2rem);
}

.r2-eyebrow,
.resume-consolidated .r2-section-heading > span,
.r2-section-heading > div > span {
    margin: 0;
    color: #3157d7;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1.35;
    text-transform: uppercase;
}

.r2-summary__identity h1 {
    margin: 0.38rem 0 0;
    color: var(--r2-ink);
    font-family: var(--r2-display);
    font-size: clamp(3.9rem, 5.8vw, 6.8rem);
    font-weight: 600;
    letter-spacing: -0.045em;
    line-height: 0.82;
}

.r2-summary__role {
    /* PS-RESUME-PUBLIC-REFINE-001: tighter identity stack. */
    margin: 1.1rem 0 0;
    color: #315ce7;
    font-size: clamp(1.05rem, 1.7vw, 1.45rem);
    font-weight: 750;
    line-height: 1.25;
}

.r2-summary__tags {
    margin: 0.85rem 0 0;
    color: #3157d7;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1.5;
    text-transform: uppercase;
}

.r2-summary__intro {
    max-width: 38rem;
    margin: 0.9rem 0 0;
    color: #233b5e;
    font-family: var(--r2-display);
    font-size: clamp(1.05rem, 1.55vw, 1.3rem);
    line-height: 1.55;
}

.r2-summary__actions,
.r2-skill-panel__actions,
.r2-credential-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    /* PS-RESUME-PUBLIC-REFINE-001: tighter action spacing. */
    margin-top: 1.25rem;
}

.r2-button {
    display: inline-flex;
    min-height: 2.85rem;
    align-items: center;
    justify-content: center;
    gap: 0.48rem;
    border: 1px solid rgb(73 107 170 / 24%);
    border-radius: 0.78rem;
    background: rgb(255 255 255 / 76%);
    color: #142c50;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 750;
    padding: 0.7rem 1rem;
    text-decoration: none;
    cursor: pointer;
}

.r2-button:hover {
    border-color: rgb(64 92 245 / 45%);
    background: #fff;
    color: #274fe7;
}

.r2-button--primary {
    border-color: transparent;
    background: linear-gradient(135deg, #405cf5, #526cf8);
    color: #fff;
    box-shadow: 0 0.7rem 1.5rem rgb(64 92 245 / 25%);
}

.r2-button--primary:hover {
    background: #2f4de8;
    color: #fff;
}

.r2-button svg {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
}

.resume-consolidated .r2-ai-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 34rem;
    grid-area: auto;
    align-self: stretch;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.5rem, 2.4vw, 2.25rem);
    transform: none;
}

.resume-consolidated .r2-ai-kicker {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin: 0;
    color: #087d88;
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.resume-consolidated .r2-ai-kicker svg {
    width: 1.45rem;
    height: 1.45rem;
    fill: none;
    stroke: currentColor;
}

.resume-consolidated .r2-ai-sub {
    display: block;
    margin-top: 1.15rem;
    color: #283f61;
    font-size: 0.96rem;
    line-height: 1.55;
}

.resume-consolidated .r2-ai-suggestions {
    display: grid;
    gap: 0.55rem;
    margin-top: 1.25rem;
}

.resume-consolidated .r2-ai-chip {
    min-height: 2.65rem;
    border: 1px solid rgb(16 145 158 / 20%);
    border-radius: 999px;
    background: linear-gradient(135deg, rgb(231 250 251 / 92%), rgb(239 247 251 / 92%));
    color: #087684;
    font: inherit;
    font-size: 0.79rem;
    font-weight: 700;
    line-height: 1.35;
    padding: 0.6rem 0.85rem;
    text-align: left;
    cursor: pointer;
}

.resume-consolidated .r2-ai-card .hero-ai-search {
    margin-top: 1.45rem;
}

.resume-consolidated .r2-ai-card .hero-ai-search__box {
    border-color: rgb(48 129 171 / 20%);
    background: rgb(255 255 255 / 84%);
}

.resume-consolidated .r2-ai-card .hero-ai-search__status {
    font-size: 0.82rem;
}

.resume-consolidated .r2-section {
    min-width: 0;
    /* PS-RESUME-PUBLIC-REFINE-001: tighter section padding. */
    padding: clamp(1.5rem, 2.4vw, 2.4rem);
}

.resume-consolidated .r2-section-heading {
    display: block;
    max-width: 58rem;
    /* PS-RESUME-PUBLIC-REFINE-001: tighter heading-to-content gap. */
    margin: 0 0 clamp(1.1rem, 1.8vw, 1.8rem);
    text-align: left;
}

.resume-consolidated .r2-section-heading h2,
.r2-story-transition h2 {
    margin: 0.35rem 0 0;
    color: var(--r2-ink);
    font-family: var(--r2-display);
    font-size: clamp(2.45rem, 4.4vw, 4.5rem);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 0.98;
}

.resume-consolidated .r2-section-heading p {
    max-width: 46rem;
    margin: 0.8rem 0 0;
    color: var(--r2-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.r2-impact__panel {
    display: grid;
    overflow: hidden;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border: 1px solid var(--r2-line);
    border-radius: 1.2rem;
    background: rgb(255 255 255 / 61%);
}

.r2-impact__item {
    display: flex;
    min-width: 0;
    /* PS-RESUME-PUBLIC-REFINE-001: trim tile dead space. */
    min-height: 9.5rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    border: 0;
    border-inline-start: 1px solid var(--r2-line);
    background: transparent;
    color: var(--r2-ink);
    font: inherit;
    padding: 1.15rem;
    text-align: center;
    cursor: pointer;
}

.r2-impact__item:first-child {
    border-inline-start: 0;
}

.r2-impact__item:hover {
    background: rgb(239 247 255 / 78%);
}

.r2-impact__item svg {
    width: 1.8rem;
    height: 1.8rem;
    margin-bottom: 0.15rem;
    fill: none;
    stroke: var(--r2-cyan);
    stroke-width: 1.8;
}

.r2-impact__item:nth-child(2n) svg {
    stroke: var(--r2-amber);
}

.r2-impact__item strong {
    font-family: var(--r2-display);
    font-size: clamp(1.8rem, 2.5vw, 2.75rem);
    font-weight: 650;
    line-height: 1;
}

.r2-impact__item > span {
    min-height: 2.4em;
    color: #233c61;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.3;
}

.r2-impact__item small {
    margin-top: 0.35rem;
    color: #2d59df;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.r2-section-heading--split,
.r2-section-heading--credentials {
    display: flex !important;
    max-width: none !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
}

.r2-evidence-badge {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.75rem;
    border: 1px solid var(--r2-line);
    border-radius: 1.25rem;
    background: rgb(250 253 255 / 73%);
    padding: 0.9rem 1.1rem;
}

.r2-evidence-badge svg {
    width: 2rem;
    height: 2rem;
    fill: none;
    stroke: var(--r2-cyan);
}

.r2-evidence-badge span {
    display: grid;
    gap: 0.15rem;
}

.r2-evidence-badge strong {
    font-size: 0.88rem;
}

.r2-evidence-badge small {
    color: var(--r2-muted);
    font-size: 0.78rem;
}

.r2-skill-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem 1.2rem;
}

.r2-skill-group {
    min-width: 0;
}

.r2-skill-group > h3 {
    margin: 0 0 0.65rem;
    color: #0d7d88;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.015em;
}

.r2-skill-group__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.resume-consolidated .r2-skill-card {
    display: flex;
    min-width: 0;
    min-height: 8.5rem;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    border: 1px solid var(--r2-line);
    border-radius: 1rem;
    background: rgb(255 255 255 / 66%);
    color: var(--r2-ink);
    font: inherit;
    padding: 0.9rem;
    text-align: left;
    cursor: pointer;
}

.resume-consolidated .r2-skill-card:hover,
.resume-consolidated .r2-skill-card[aria-expanded="true"] {
    border-color: rgb(21 158 170 / 55%);
    background: #fff;
    box-shadow: 0 0.8rem 1.6rem rgb(32 89 143 / 11%);
    transform: translateY(-2px);
}

.r2-skill-card__icon,
.r2-skill-panel__icon,
.r2-credential-card__icon {
    display: inline-flex;
    width: 2.3rem;
    height: 2.3rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.8rem;
    background: rgb(235 242 255 / 88%);
    color: #405cf5;
}

.r2-skill-card__icon svg,
.r2-skill-panel__icon svg,
.r2-credential-card__icon svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: none;
    stroke: currentColor;
}

.r2-skill-card__copy {
    display: grid;
    gap: 0.35rem;
}

.r2-skill-card__copy strong {
    font-size: 0.84rem;
    line-height: 1.25;
}

.r2-skill-card__copy small {
    color: var(--r2-muted);
    font-size: 0.7rem;
    line-height: 1.4;
}

.r2-skill-card__arrow {
    align-self: flex-end;
    color: #315be7;
}

.r2-skill-panels {
    margin-top: 1.5rem;
}

.r2-skill-panel,
.r2-credential-panel {
    width: min(100%, 60rem);
    margin-inline: auto;
    scroll-margin-top: 10rem;
    border: 1px solid rgb(21 158 170 / 45%);
    border-radius: 1.4rem;
    background: linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(246 251 255 / 94%));
    box-shadow: 0 1.45rem 3.6rem rgb(20 74 124 / 18%);
    padding: clamp(1.25rem, 2.5vw, 2.25rem);
}

.r2-skill-panel > header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.9rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--r2-line);
}

.r2-skill-panel header p,
.r2-credential-panel header p {
    margin: 0;
    color: #3157d7;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.r2-skill-panel header h3,
.r2-credential-panel header h3 {
    margin: 0.15rem 0 0;
    font-family: var(--r2-display);
    font-size: clamp(1.8rem, 3vw, 2.65rem);
    line-height: 1.05;
}

.r2-skill-panel__status {
    border: 1px solid rgb(21 158 170 / 24%);
    border-radius: 999px;
    background: rgb(234 250 251 / 74%);
    color: #087985;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0.45rem 0.7rem;
}

.r2-skill-panel__summary {
    max-width: 48rem;
    margin: 1.15rem 0 0;
    color: var(--r2-muted);
    font-size: 0.98rem;
    line-height: 1.6;
}

.r2-skill-panel > h4,
.r2-exp-card__preview > h4,
.r2-exp-card__full > h4 {
    margin: 1.2rem 0 0.65rem;
    color: #58708f;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.r2-skill-panel__evidence {
    display: grid;
    gap: 0.65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.r2-skill-panel__evidence li {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    border-top: 1px solid rgb(77 116 176 / 13%);
    color: #2b4264;
    font-size: 0.9rem;
    line-height: 1.55;
    padding-top: 0.7rem;
}

.r2-skill-panel__evidence svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    margin-top: 0.15rem;
    fill: none;
    stroke: var(--r2-cyan);
}

.r2-skill-panel__evidence small {
    display: block;
    margin-top: 0.2rem;
    color: #647792;
    font-size: 0.74rem;
    font-weight: 700;
}

.r2-panel-close {
    width: 100%;
    min-height: 2.9rem;
    margin-top: 1rem;
    border: 1px solid rgb(75 108 168 / 25%);
    border-radius: 0.75rem;
    background: transparent;
    color: #203b65;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 800;
    cursor: pointer;
}

.resume-consolidated .r2-experience {
    overflow: visible;
}

.resume-consolidated .r2-exp-stage {
    display: grid;
    align-items: stretch;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
}

.resume-consolidated .r2-experience-card {
    position: relative;
    display: flex;
    overflow: hidden;
    min-width: 0;
    /* PS-RESUME-PUBLIC-REFINE-001: default preview is now summary + selected
       impact (bullets moved to the on-demand chapter), so the resting card no
       longer needs the tall floor; content determines height. */
    min-height: 34rem;
    flex-direction: column;
    flex: initial;
    padding: 0;
    border: 1px solid rgb(70 108 173 / 19%);
    border-radius: 1.35rem;
    background: rgb(255 255 255 / 77%);
    box-shadow: 0 1rem 2.35rem rgb(30 72 128 / 11%);
    transform: none;
    backdrop-filter: none;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    will-change: auto;
}

.resume-consolidated .r2-exp-stage:not(.is-expanded) .r2-experience-card:nth-child(n) {
    margin: 0;
    transform: none;
}

.resume-consolidated .r2-exp-stage:not(.is-expanded) .r2-experience-card:hover,
.resume-consolidated .r2-exp-stage:not(.is-expanded) .r2-experience-card:focus-within {
    border-color: color-mix(in srgb, var(--role-accent) 55%, #4ea3ff);
    box-shadow: 0 1.25rem 2.8rem rgb(30 72 128 / 16%);
    transform: translateY(-3px);
}

.r2-exp-card__visual {
    position: relative;
    display: flex;
    min-height: 8.8rem;
    align-items: flex-start;
    justify-content: space-between;
    background: linear-gradient(135deg, color-mix(in srgb, var(--role-accent) 8%, #f7f9ff), rgb(244 249 255 / 95%));
    padding: 1.4rem;
}

.r2-exp-card__marker {
    display: inline-flex;
    min-width: 3.55rem;
    height: 3.55rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgb(77 116 176 / 18%);
    border-radius: 1rem;
    background: rgb(255 255 255 / 88%);
    color: var(--role-accent);
    font-size: 1rem;
    font-weight: 850;
    box-shadow: 0 0.8rem 1.8rem rgb(48 80 131 / 9%);
}

.r2-exp-card__number {
    color: color-mix(in srgb, var(--role-accent) 25%, transparent);
    font-family: var(--r2-display);
    font-size: 3rem;
    line-height: 1;
}

.r2-exp-card__selected {
    position: absolute;
    inset: 0.8rem auto auto 0.9rem;
    display: none;
    border-radius: 999px;
    background: var(--r2-cyan);
    color: #fff;
    font-size: 0.64rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    padding: 0.38rem 0.6rem;
    text-transform: uppercase;
}

.r2-exp-card__body {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1.55rem 1.4rem 1rem;
}

.resume-consolidated .r2-exp-card__head small {
    color: #3157d7;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.resume-consolidated .r2-experience-card h3 {
    margin: 0.38rem 0 0;
    color: var(--r2-ink);
    font-family: var(--r2-display);
    font-size: clamp(1.55rem, 2vw, 2.05rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.02;
}

.resume-consolidated .r2-exp-card__head > p {
    margin: 0.4rem 0 0;
    color: #2d58df;
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.35;
}

.r2-exp-card__preview > p,
.resume-consolidated .r2-exp-summary {
    margin: 0.9rem 0 0;
    color: #4d6280;
    font-size: 0.88rem;
    line-height: 1.55;
}

.r2-exp-card__impacts,
.r2-exp-key-impact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.r2-exp-card__impacts span,
.r2-exp-key-impact span {
    display: grid;
    gap: 0.2rem;
    border: 1px solid var(--r2-line);
    border-radius: 0.75rem;
    background: rgb(251 253 255 / 70%);
    padding: 0.65rem;
}

.r2-exp-card__impacts strong,
.r2-exp-key-impact strong {
    overflow-wrap: anywhere;
    color: #153f75;
    font-family: var(--r2-display);
    font-size: 1.03rem;
    line-height: 1.15;
}

.r2-exp-card__impacts small,
.r2-exp-key-impact small {
    color: #657793;
    font-size: 0.65rem;
    line-height: 1.35;
}

.r2-exp-card__preview > ul,
.resume-consolidated .r2-exp-bullets {
    display: grid;
    gap: 0.5rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.r2-exp-card__preview > ul li,
.resume-consolidated .r2-exp-bullets li {
    position: relative;
    color: #4a5f7c;
    font-size: 0.78rem;
    line-height: 1.45;
    padding-left: 0.9rem;
}

.r2-exp-card__preview > ul li::before,
.resume-consolidated .r2-exp-bullets li::before {
    position: absolute;
    inset: 0.5em auto auto 0;
    width: 0.32rem;
    height: 0.32rem;
    border-radius: 50%;
    background: var(--r2-cyan);
    content: "";
}

.r2-exp-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    margin-top: auto;
    border-top: 1px solid var(--r2-line);
    padding: 1rem 1.35rem;
}

.r2-exp-card__footer > span {
    color: #61748f;
    font-size: 0.7rem;
    font-weight: 750;
}

.resume-consolidated .r2-exp-toggle {
    min-height: 2.55rem;
    border: 1px solid rgb(71 105 168 / 25%);
    border-radius: 0.7rem;
    background: rgb(255 255 255 / 83%);
    color: #16365f;
    font: inherit;
    font-size: 0.74rem;
    font-weight: 800;
    padding: 0.6rem 0.8rem;
    cursor: pointer;
}

.resume-consolidated .r2-exp-toggle:hover {
    border-color: #405cf5;
    color: #2e54e6;
}

.resume-consolidated .r2-exp-stage.is-expanded {
    grid-template-columns: minmax(0, 1fr);
}

.resume-consolidated .r2-exp-stage.is-expanded .r2-experience-card.is-aside {
    display: none;
}

.resume-consolidated .r2-exp-stage.is-expanded .r2-experience-card.is-open {
    width: min(100%, 64rem);
    min-height: 0;
    margin-inline: auto;
    scroll-margin-top: 10rem;
    border-color: rgb(21 158 170 / 55%);
    box-shadow: 0 1.7rem 4.2rem rgb(28 74 128 / 19%);
    transform: none;
}

.resume-consolidated .r2-exp-stage.is-expanded .r2-experience-card.is-open .r2-exp-card__visual {
    min-height: 7rem;
}

.resume-consolidated .r2-experience-card.is-open .r2-exp-card__marker {
    margin-top: 1.35rem;
}

.resume-consolidated .r2-experience-card.is-open .r2-exp-card__selected {
    display: inline-flex;
}

.resume-consolidated .r2-experience-card.is-open .r2-exp-card__preview {
    display: none;
}

.resume-consolidated .r2-exp-card__full {
    padding-top: 0.25rem;
    animation: r2-consolidated-reveal 300ms ease-out both;
}

.resume-consolidated .r2-exp-card__full:focus-visible {
    outline: 2px solid rgb(46 200 211 / 65%);
    outline-offset: 0.25rem;
    border-radius: 0.65rem;
}

@keyframes r2-consolidated-reveal {
    from { opacity: 0; transform: translateY(0.8rem); }
    to { opacity: 1; transform: translateY(0); }
}

.resume-consolidated .r2-exp-key-impact {
    grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
    margin-top: 1.15rem;
}

.resume-consolidated .r2-exp-bullets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem 1.6rem;
}

.resume-consolidated .r2-exp-bullets li {
    font-size: 0.84rem;
}

.resume-consolidated .r2-exp-ask {
    display: inline-flex;
    min-height: 2.8rem;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1.3rem;
    border: 0;
    border-radius: 0.75rem;
    background: #0b9eaa;
    color: #fff;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 800;
    padding: 0.72rem 1rem;
    cursor: pointer;
}

.resume-consolidated .r2-exp-ask svg {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
}

.resume-consolidated .r2-experience-card.is-open .r2-exp-card__footer {
    display: block;
}

.resume-consolidated .r2-experience-card.is-open .r2-exp-card__footer > span {
    display: none;
}

.resume-consolidated .r2-experience-card.is-open .r2-exp-toggle {
    width: 100%;
    min-height: 3rem;
    margin-top: 0;
    background: transparent;
}

.r2-credential-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
}

.r2-credential-card {
    display: flex;
    min-width: 0;
    /* PS-RESUME-PUBLIC-REFINE-001: trim category-card dead space. */
    min-height: 31rem;
    flex-direction: column;
    border: 1px solid var(--r2-line);
    border-radius: 1.3rem;
    background: rgb(255 255 255 / 69%);
    padding: 1.15rem;
}

.r2-credential-card:nth-child(1) {
    border-color: rgb(21 158 170 / 45%);
}

.r2-credential-card h3 {
    margin: 0.8rem 0 0;
    font-family: var(--r2-display);
    font-size: 1.55rem;
    line-height: 1.05;
}

.r2-credential-card > p {
    margin: 0.55rem 0 0;
    color: var(--r2-muted);
    font-size: 0.8rem;
    line-height: 1.5;
}

.r2-credential-card > ul {
    display: grid;
    gap: 0;
    margin: 0.9rem 0 0;
    padding: 0;
    list-style: none;
}

.r2-credential-card > ul li {
    display: grid;
    gap: 0.16rem;
    border-top: 1px solid var(--r2-line);
    /* PS-RESUME-PUBLIC-REFINE-001: tighter preview rows. */
    padding: 0.62rem 0;
}

.r2-credential-card > ul li:first-child {
    border-top: 0;
}

.r2-credential-card li strong {
    color: #183961;
    font-size: 0.76rem;
    line-height: 1.3;
}

.r2-credential-card li small {
    color: #627590;
    font-size: 0.68rem;
    line-height: 1.35;
}

.r2-credential-card li > span {
    width: fit-content;
    border-radius: 999px;
    background: rgb(224 249 250 / 80%);
    color: #087b86;
    font-size: 0.61rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    padding: 0.25rem 0.45rem;
    text-transform: uppercase;
}

.r2-credential-card footer {
    display: grid;
    gap: 0.7rem;
    margin-top: auto;
    border-top: 1px solid var(--r2-line);
    padding-top: 0.9rem;
}

.r2-credential-card footer > span {
    color: #63748e;
    font-size: 0.69rem;
    font-weight: 750;
}

.r2-credential-card footer button {
    min-height: 2.65rem;
    border: 1px solid rgb(73 106 169 / 24%);
    border-radius: 0.7rem;
    background: rgb(255 255 255 / 76%);
    color: #17375f;
    font: inherit;
    font-size: 0.73rem;
    font-weight: 800;
    cursor: pointer;
}

.r2-credential-card footer button:hover {
    border-color: #405cf5;
    color: #2d55e8;
}

.r2-credential-panel {
    width: 100%;
    max-width: 66rem;
}

.r2-credential-panel > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid var(--r2-line);
    padding-bottom: 1.15rem;
}

.r2-credential-panel > header > div > span {
    display: block;
    max-width: 46rem;
    margin-top: 0.4rem;
    color: var(--r2-muted);
    font-size: 0.88rem;
    line-height: 1.5;
}

.r2-credential-panel > header > button {
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 auto;
    border: 1px solid var(--r2-line);
    border-radius: 50%;
    background: #fff;
    color: #31506f;
    font-size: 1.1rem;
    cursor: pointer;
}

.r2-credential-panel__records {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
    margin-top: 1.25rem;
}

.r2-credential-record {
    min-width: 0;
    border: 1px solid var(--r2-line);
    border-radius: 1rem;
    background: rgb(255 255 255 / 72%);
    padding: 1.05rem;
}

.r2-credential-record__heading > p {
    margin: 0;
    color: #3157d7;
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.r2-credential-record__heading h4 {
    margin: 0.3rem 0 0;
    color: var(--r2-ink);
    font-family: var(--r2-display);
    font-size: 1.25rem;
    line-height: 1.12;
}

.r2-credential-record__heading strong {
    display: block;
    margin-top: 0.25rem;
    color: #3157d7;
    font-size: 0.76rem;
}

.r2-credential-record > p {
    margin: 0.7rem 0 0;
    color: var(--r2-muted);
    font-size: 0.82rem;
    line-height: 1.5;
}

.r2-credential-record__skills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.8rem;
}

.r2-credential-record__skills span {
    border: 1px solid var(--r2-line);
    border-radius: 999px;
    color: #385577;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.3rem 0.5rem;
}

.r2-credential-record__metrics {
    display: grid;
    gap: 0.35rem;
    margin: 0.75rem 0 0;
    padding: 0;
    list-style: none;
}

.r2-credential-record__metrics li {
    color: #405572;
    font-size: 0.73rem;
    line-height: 1.4;
}

.r2-credential-record__metrics strong {
    color: #0a8290;
}

.r2-credential-panel__records.is-timeline {
    position: relative;
    grid-template-columns: minmax(0, 1fr);
    padding-left: 2rem;
}

.r2-credential-panel__records.is-timeline::before {
    position: absolute;
    inset: 0.35rem auto 0.35rem 0.75rem;
    width: 2px;
    background: linear-gradient(#405cf5, #2f5296);
    content: "";
}

.r2-credential-panel__records.is-timeline .r2-credential-record {
    position: relative;
    border: 0;
    border-bottom: 1px solid var(--r2-line);
    border-radius: 0;
    background: transparent;
    padding: 0.65rem 0.6rem 1rem;
}

.r2-credential-panel__records.is-timeline .r2-credential-record::before {
    position: absolute;
    inset: 1rem auto auto -1.78rem;
    width: 0.85rem;
    height: 0.85rem;
    border: 3px solid #405cf5;
    border-radius: 50%;
    background: #fff;
    content: "";
}

.resume-consolidated .lr-constellation {
    width: 100%;
    margin-top: clamp(2.5rem, 5vw, 5rem);
}

.r2-story-transition {
    width: min(92vw, 72rem);
    margin: clamp(2rem, 5vw, 5rem) auto 1rem;
    border: 1px solid rgb(255 255 255 / 88%);
    border-radius: 1.75rem;
    background: rgb(255 255 255 / 76%);
    box-shadow: var(--r2-shadow);
    padding: clamp(2rem, 4vw, 4rem);
    text-align: center;
}

.r2-story-transition > p {
    margin: 0;
    color: #3157d7;
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.r2-story-transition .r2-button {
    margin-top: 1.3rem;
}

@media (max-width: 82rem) {
    .r2-page-grid {
        width: min(97vw, 92rem);
        grid-template-columns: minmax(0, 1fr) 8.1rem;
        gap: 1rem;
    }

    .r2-summary {
        grid-template-columns: minmax(14rem, 0.8fr) minmax(18rem, 1.05fr);
    }

    .resume-consolidated .r2-ai-card {
        min-height: 0;
        grid-column: 1 / -1;
    }

    .r2-impact__panel {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .r2-impact__item:nth-child(n) {
        border-inline-start: 1px solid var(--r2-line);
        border-top: 1px solid var(--r2-line);
    }

    .r2-impact__item:nth-child(-n + 3) {
        border-top: 0;
    }

    .r2-impact__item:nth-child(3n + 1) {
        border-inline-start: 0;
    }

    .r2-skill-group__cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .resume-consolidated .r2-skill-card {
        min-height: 6.2rem;
    }

    .r2-credential-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .r2-credential-card {
        min-height: 31rem;
    }
}

@media (max-width: 62rem) {
    .resume-consolidated {
        padding-top: 0;
    }

    .r2-page-grid {
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .r2-section-ribbon {
        top: 7.4rem;
        display: flex;
        overflow-x: auto;
        grid-column: 1;
        grid-row: 1;
        flex-direction: row;
        border-inline: 0;
        border-radius: 0;
        box-shadow: 0 0.65rem 1.4rem rgb(35 73 129 / 12%);
        scrollbar-width: none;
        white-space: nowrap;
    }

    .r2-section-ribbon::-webkit-scrollbar {
        display: none;
    }

    .r2-section-ribbon__links,
    .r2-section-ribbon__actions {
        display: flex;
        flex: 0 0 auto;
        gap: 0.2rem;
        border: 0;
        padding: 0.38rem;
    }

    .r2-section-ribbon__actions {
        border-inline-start: 1px solid var(--r2-line);
    }

    .r2-section-ribbon :is(a, button) {
        min-height: 2.7rem;
        padding: 0.5rem 0.7rem;
    }

    .r2-content {
        grid-column: 1;
        grid-row: 2;
        gap: 1.25rem;
        padding: 1rem;
    }

    .r2-summary,
    .resume-consolidated .r2-section {
        scroll-margin-top: 10rem;
    }

    .r2-summary {
        grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    }

    .r2-summary__portrait,
    .r2-summary__identity {
        min-height: 31rem;
    }

    .resume-consolidated .r2-ai-card {
        min-height: 27rem;
    }

    .r2-skill-groups {
        grid-template-columns: minmax(0, 1fr);
    }

    .resume-consolidated .r2-exp-stage {
        grid-template-columns: minmax(0, 1fr);
    }

    .resume-consolidated .r2-experience-card {
        min-height: 0;
    }

    /* PS-RESUME-PUBLIC-REFINE-001: the preview no longer carries a bullet
       column, so it reads as a single-column summary + selected impact. */
    .r2-exp-card__preview {
        display: block;
    }
}

@media (max-width: 46.5rem) {
    .r2-section-ribbon {
        position: sticky;
        /* The résumé intentionally keeps the compact global header pinned on
           phones. Keep this section rail immediately beneath it instead of
           letting the two sticky layers cover one another. */
        top: 5.95rem;
    }

    .r2-section-ribbon :is(a, button) {
        min-width: 4.2rem;
        flex-direction: column;
        justify-content: center;
        gap: 0.2rem;
        font-size: 0.68rem;
    }

    .r2-content {
        padding: 0.75rem;
    }

    .r2-summary {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.75rem;
    }

    .r2-summary__portrait {
        min-height: 27rem;
        max-height: 75svh;
    }

    .r2-summary__identity,
    .resume-consolidated .r2-ai-card {
        min-height: 0;
    }

    .r2-summary__identity,
    .resume-consolidated .r2-ai-card,
    .resume-consolidated .r2-section {
        border-radius: 1.25rem;
        padding: 1.25rem;
    }

    .r2-summary__identity h1 {
        font-size: clamp(3.7rem, 19vw, 5.5rem);
    }

    .r2-summary__actions,
    .r2-skill-panel__actions,
    .r2-credential-panel__actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .r2-button {
        width: 100%;
    }

    .resume-consolidated .r2-section-heading h2,
    .r2-story-transition h2 {
        font-size: clamp(2.25rem, 12vw, 3.25rem);
    }

    .r2-impact__panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .r2-impact__item:nth-child(n) {
        min-height: 9.5rem;
        border-inline-start: 1px solid var(--r2-line);
        border-top: 1px solid var(--r2-line);
    }

    .r2-impact__item:nth-child(-n + 2) {
        border-top: 0;
    }

    .r2-impact__item:nth-child(2n + 1) {
        border-inline-start: 0;
    }

    .r2-section-heading--split,
    .r2-section-heading--credentials {
        display: block !important;
    }

    .r2-evidence-badge,
    .r2-section-heading--credentials > .r2-button {
        width: fit-content;
        margin-top: 1rem;
    }

    .r2-skill-panel > header {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .r2-skill-panel__status {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .r2-exp-card__preview {
        display: block;
    }

    .r2-exp-card__impacts,
    .r2-exp-key-impact,
    .resume-consolidated .r2-exp-bullets {
        grid-template-columns: minmax(0, 1fr);
    }

    .r2-exp-card__footer {
        display: grid;
    }

    .resume-consolidated .r2-exp-toggle {
        width: 100%;
    }

    .r2-credential-overview,
    .r2-credential-panel__records {
        grid-template-columns: minmax(0, 1fr);
    }

    .r2-credential-card {
        min-height: 0;
    }

    .r2-credential-panel {
        padding: 1.15rem;
    }

    .r2-story-transition {
        border-radius: 1.25rem;
        padding: 1.5rem;
    }
}

@media (max-width: 25rem) {
    .r2-impact__panel {
        grid-template-columns: minmax(0, 1fr);
    }

    .r2-impact__item:nth-child(n) {
        border-inline-start: 0;
        border-top: 1px solid var(--r2-line);
    }

    .r2-impact__item:first-child {
        border-top: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .resume-consolidated *,
    .resume-consolidated *::before,
    .resume-consolidated *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .resume-consolidated .r2-skill-card:hover,
    .resume-consolidated .r2-exp-stage:not(.is-expanded) .r2-experience-card:hover {
        transform: none;
    }
}

@media (forced-colors: active) {
    .r2-section-ribbon,
    .r2-summary__portrait,
    .r2-summary__identity,
    .resume-consolidated .r2-ai-card,
    .resume-consolidated .r2-section,
    .resume-consolidated .r2-experience-card,
    .r2-skill-panel,
    .r2-credential-panel {
        border: 2px solid CanvasText;
        background: Canvas;
        box-shadow: none;
    }
}

/* =====================================================================
   LAYERED INK & SIGNAL GOLD (PS-THEME-002, 2026-07-16)
   body[data-theme="dark"]: the résumé stays a museum-paper DOCUMENT —
   ink type, warm paper, one gold accent — but the page around it drops
   to the near-black canvas, so the paper sections read as white slabs
   floating on black: the site's black/white/gold layering. Every rule
   below that keeps ink-on-paper values is therefore still correct; the
   card surfaces stay light on purpose. Light theme above is untouched.
   ===================================================================== */
body[data-theme="dark"] .resume-v2 {
    --r2-ink: #0a1730;
    --r2-muted: #66645f;
    --r2-indigo: #8a6500;
    --r2-azure: #8a6500;
    --r2-cyan: #8a6500;
    --r2-amber: #8a6500;
    --r2-cloud: #f1efea;
    --r2-shadow: 0 4px 14px rgb(0 0 0 / 45%), 0 30px 70px rgb(0 0 0 / 55%);
}

/* The paper slabs: the glass washes of the light theme become SOLID warm
   paper so the document pops crisply against the black stage and the ink
   type inside keeps full contrast. */
body[data-theme="dark"] .r2-summary__portrait,
body[data-theme="dark"] .r2-summary__identity,
body[data-theme="dark"] .resume-consolidated .r2-ai-card,
body[data-theme="dark"] .resume-consolidated .r2-section {
    background: #f6f5f0;
    border-color: rgb(255 255 255 / 14%);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* Primary action: signal gold with ink text (the one strong CTA). */
body[data-theme="dark"] .r2-action {
    color: #0a1730;
    background: #ffffff;
    border-color: #ddd9d0;
}

body[data-theme="dark"] .r2-action--primary {
    color: #0a1730;
    background: #d8a928;
    border-color: #d8a928;
}

body[data-theme="dark"] .r2-action:hover,
body[data-theme="dark"] .r2-action:focus-visible {
    background: #fffdf6;
    box-shadow: 0 0.65rem 1.5rem rgb(11 12 14 / 12%);
}

body[data-theme="dark"] .r2-action--primary:hover,
body[data-theme="dark"] .r2-action--primary:focus-visible {
    color: #0a1730;
    background: #e3b83a;
    border-color: #e3b83a;
}

body[data-theme="dark"] .r2-identity-actions .r2-action:nth-child(3) {
    color: #0a1730;
    background: #fffaf0;
    border-color: rgb(216 169 40 / 55%);
}

body[data-theme="dark"] .r2-quote-card {
    background: #ffffff;
}

body[data-theme="dark"] .r2-quote-card::after {
    background: linear-gradient(90deg, #d8a928, rgb(216 169 40 / 0%) 72%);
}

body[data-theme="dark"] .r2-quote-card blockquote {
    color: #0a1730;
}

/* --- Dark theme: literal-color sweep (selectors found via hue audit) ---
   The page canvas behind the paper slabs: the fixed ::before backdrop
   (which carries the mountain photo in the light theme) becomes the
   near-black stage with a whisper of gold atmosphere; the ::after wash
   layer is switched off so it cannot gray the stage. */
body[data-theme="dark"] .resume-v2 {
    background: #0e1d3a;
}

body[data-theme="dark"] .resume-v2::before {
    background:
        radial-gradient(80rem 40rem at 82% -8rem, rgb(216 169 40 / 6%), transparent 60%),
        linear-gradient(180deg, #0a1730 0%, #0e1d3a 55%, #0a1730 100%);
}

body[data-theme="dark"] .resume-v2::after {
    background: none;
}

body[data-theme="dark"] .resume-consolidated {
    --r2-ink: #0a1730;
    --r2-indigo: #8a6500;
    --r2-azure: #8a6500;
    --edu-accent: #8a6500;
}

body[data-theme="dark"] .r2-experience-card,
body[data-theme="dark"] .r2-education-grid article {
    --role-accent: #8a6500;
    --edu-accent: #8a6500;
}

/* Royal-blue accent text → text-safe gold. */
body[data-theme="dark"] .r2-evidence-panel > article > span,
body[data-theme="dark"] .r2-evidence-highlights > h3,
body[data-theme="dark"] .r2-panel-header > strong,
body[data-theme="dark"] .r2-exp-card__full h4,
body[data-theme="dark"] .r2-development-row article > small,
body[data-theme="dark"] .r2-development-row strong,
body[data-theme="dark"] .r2-full-record > summary,
body[data-theme="dark"] .r2-evidence-panel summary,
body[data-theme="dark"] .r2-metric-card strong,
body[data-theme="dark"] .r2-section-heading > div > span,
body[data-theme="dark"] .r2-summary__role,
body[data-theme="dark"] .r2-summary__tags,
body[data-theme="dark"] .r2-cert-body strong,
body[data-theme="dark"] .r2-achieve-body > strong,
body[data-theme="dark"] .r2-credential-panel header p,
body[data-theme="dark"] .resume-consolidated .r2-exp-card__head small,
body[data-theme="dark"] .r2-credential-record__heading > p,
body[data-theme="dark"] .r2-eyebrow {
    color: #8a6500;
}

body[data-theme="dark"] .r2-card-role {
    color: #66645f !important;
}

/* Navy body/heading text → ink & graphite. */
body[data-theme="dark"] .r2-quote-card blockquote,
body[data-theme="dark"] .r2-summary__intro,
body[data-theme="dark"] .r2-exp-tags span,
body[data-theme="dark"] .r2-cert-body p,
body[data-theme="dark"] .r2-achieve-body > p {
    color: #3a3d42;
}

body[data-theme="dark"] .r2-button {
    color: #0a1730;
    border-color: #ddd9d0;
}

body[data-theme="dark"] .r2-button--primary {
    background: #d8a928;
    color: #0a1730;
}

/* Section ribbon (right rail): ink links, gold current, gold actions. */
body[data-theme="dark"] .r2-section-ribbon {
    border-color: #e2ddd2;
}

body[data-theme="dark"] .r2-section-ribbon a {
    color: #3a3d42;
}

body[data-theme="dark"] .r2-section-ribbon a.is-current {
    color: #8a6500;
}

body[data-theme="dark"] .r2-section-ribbon__actions {
    border-color: #e2ddd2;
}

body[data-theme="dark"] .r2-section-ribbon__actions button,
body[data-theme="dark"] .r2-section-ribbon__actions a {
    color: #8a6500;
}

body[data-theme="dark"] .r2-summary__portrait {
    background: #f1efea;
}

/* AI panel: teal accents → gold; Ask button gold with ink text. */
body[data-theme="dark"] .r2-ai-kicker,
body[data-theme="dark"] .resume-consolidated .r2-ai-kicker,
body[data-theme="dark"] .r2-skill-group > h3,
body[data-theme="dark"] .r2-ai-card .hero-ai-answer__question,
body[data-theme="dark"] .r2-ai-card .hero-ai-answer__close:focus-visible {
    color: #8a6500;
}

body[data-theme="dark"] .r2-ai-chip {
    color: #6f5100;
    border-color: rgb(216 169 40 / 45%);
}

body[data-theme="dark"] .r2-ai-chip:hover,
body[data-theme="dark"] .r2-ai-chip:focus-visible {
    background: #d8a928;
    border-color: #d8a928;
    color: #0a1730;
}

body[data-theme="dark"] .r2-ai-card .hero-ai-search__button {
    background: #d8a928;
    color: #0a1730;
}

body[data-theme="dark"] .r2-ai-card .hero-ai-search:focus-within .hero-ai-search__box {
    border-color: #d8a928;
}

body[data-theme="dark"] .r2-ai-card .hero-ai-answer {
    border-color: rgb(216 169 40 / 45%);
}

/* Flip-card back: ink panel instead of navy/teal gradient. */
body[data-theme="dark"] .r2-outcome-flip__back {
    background: linear-gradient(145deg, #182c52, #253a61);
}

body[data-theme="dark"] .r2-exp-toggle {
    color: #8a6500;
}

body[data-theme="dark"] .r2-exp-toggle:hover,
body[data-theme="dark"] .resume-consolidated .r2-exp-toggle:hover {
    border-color: #d8a928;
}

body[data-theme="dark"] .r2-exp-toggle:focus-visible {
    background: #d8a928;
    color: #0a1730;
}

body[data-theme="dark"] .r2-credential-card footer button:hover {
    border-color: #d8a928;
}

body[data-theme="dark"] .resume-v2 .lr-constellation :is(a, button, summary):focus-visible {
    outline: 3px solid #d8a928;
}

body[data-theme="dark"] .resume-consolidated .r2-exp-stage:not(.is-expanded) .r2-experience-card:focus-within {
    border-color: #d8a928;
}

body[data-theme="dark"] .r2-education-grid .r2-edu-status,
body[data-theme="dark"] .r2-edu-date {
    color: #6f5100;
}

body[data-theme="dark"] .r2-achieve-year {
    color: #66645f;
}

/* --- Mono theme: deep-content sweep (grouped, wins by order+specificity) --- */

/* Skill cards + panels: gold icon chips, ink/graphite text. */
body[data-theme="dark"] .r2-skill-card { border-color: #e2ddd2; }

body[data-theme="dark"] .r2-skill-card__icon,
body[data-theme="dark"] .r2-skill-panel__icon,
body[data-theme="dark"] .r2-credential-card__icon {
    color: #8a6500;
    background: rgb(216 169 40 / 14%);
}

body[data-theme="dark"] .r2-skill-card__icon svg,
body[data-theme="dark"] .r2-skill-panel__icon svg,
body[data-theme="dark"] .r2-credential-card__icon svg {
    color: #8a6500;
    stroke: #8a6500;
}

body[data-theme="dark"] .r2-skill-card__arrow { color: #8a6500; }

body[data-theme="dark"] .r2-skill-panel { border-color: rgb(216 169 40 / 45%); }
body[data-theme="dark"] .r2-skill-panel header { border-color: #e2ddd2; }
body[data-theme="dark"] .r2-skill-panel > header p { color: #8a6500; }

body[data-theme="dark"] .r2-skill-panel__status {
    color: #6f5100;
    border-color: rgb(216 169 40 / 35%);
}

body[data-theme="dark"] .r2-skill-panel h4 { color: #66645f; }
body[data-theme="dark"] .r2-skill-panel li { color: #3a3d42; }
body[data-theme="dark"] .r2-skill-panel li svg { color: #8a6500; stroke: #8a6500; }
body[data-theme="dark"] .r2-skill-panel li small { color: #66645f; }
body[data-theme="dark"] .r2-panel-close { color: #3a3d42; border-color: #ddd9d0; }

/* Experience cards. */
body[data-theme="dark"] .r2-experience-card { border-color: #e2ddd2; }
body[data-theme="dark"] .r2-exp-card__marker { color: #8a6500; border-color: #e2ddd2; }
body[data-theme="dark"] .r2-experience-card p { color: #3a3d42; }
body[data-theme="dark"] .r2-experience-card strong { color: #0a1730; }
body[data-theme="dark"] .r2-experience-card small { color: #66645f; }
body[data-theme="dark"] .r2-experience-card li { color: #3a3d42; }
body[data-theme="dark"] .r2-exp-summary { color: #3a3d42; }

body[data-theme="dark"] .r2-exp-ask {
    background: #d8a928;
    color: #0a1730;
}

/* Credential cards/panels/records. */
body[data-theme="dark"] .r2-credential-card { border-color: #e2ddd2; }
body[data-theme="dark"] .r2-credential-card strong { color: #0a1730; }
body[data-theme="dark"] .r2-credential-card small { color: #66645f; }
body[data-theme="dark"] .r2-credential-card span { color: #66645f; }

body[data-theme="dark"] .r2-credential-card footer button {
    color: #3a3d42;
    border-color: #ddd9d0;
}

body[data-theme="dark"] .r2-credential-panel { border-color: rgb(216 169 40 / 45%); }
body[data-theme="dark"] .r2-credential-panel button { color: #3a3d42; border-color: #ddd9d0; }
body[data-theme="dark"] .r2-credential-record { border-color: #e2ddd2; }
body[data-theme="dark"] .r2-credential-record strong { color: #8a6500; }
body[data-theme="dark"] .r2-credential-record li { color: #3a3d42; }
body[data-theme="dark"] .r2-credential-record span { color: #66645f; }

/* Verified/status chips inside credentials: gold-soft, not teal. */
body[data-theme="dark"] .r2-credential-card span[class*="status"],
body[data-theme="dark"] .r2-credential-card .r2-cert-chip {
    color: #6f5100;
    background: rgb(216 169 40 / 16%);
}

/* Impact panel + evidence badges. */
body[data-theme="dark"] .r2-impact__panel { border-color: #e2ddd2; }
body[data-theme="dark"] .r2-impact__panel span { color: #3a3d42; }
body[data-theme="dark"] .r2-impact__panel small { color: #8a6500; }
body[data-theme="dark"] .r2-evidence-badge { border-color: #e2ddd2; }
body[data-theme="dark"] .r2-ai-sub { color: #3a3d42; }

/* Shared AI search box: warm border, gold button, ink text. */
body[data-theme="dark"] .resume-v2 .hero-ai-search__box { border-color: rgb(216 169 40 / 45%); }
body[data-theme="dark"] .resume-v2 .hero-ai-search__button { background: #d8a928; color: #0a1730; }
body[data-theme="dark"] .resume-v2 .hero-ai-answer { border-color: rgb(216 169 40 / 40%); }
body[data-theme="dark"] .r2-ai-card { border-color: #e2ddd2; }

body[data-theme="dark"] .r2-section-heading span { color: #8a6500; }
body[data-theme="dark"] .r2-section-heading h2 { color: #0a1730; }
body[data-theme="dark"] .r2-section-heading p { color: #66645f; }

body[data-theme="dark"] .r2-exp-card__visual {
    background: linear-gradient(135deg, color-mix(in srgb, var(--role-accent) 10%, #fbf9f2), rgb(250 248 242 / 95%));
}

/* =====================================================================
   PS-OVERVIEW-PUBLIC-INTEGRATION-001
   The published Overview and retained résumé share one normal-scale center
   stage. The Career Constellation stays outside this grid and therefore keeps
   its existing large/full-width presentation and legacy scale unchanged.
   ===================================================================== */

.resume-v2[data-public-overview] > .r2-page-grid {
    zoom: 1;
}

.resume-v2 .r2-page-grid {
    width: min(98vw, 118rem);
    grid-template-columns: 11rem minmax(0, 90rem) 15rem;
    justify-content: center;
    gap: 1rem;
}

.resume-v2 .r2-content {
    grid-column: 2;
    grid-row: 1;
}

.resume-v2[data-public-overview] .member-overview {
    scroll-margin-top: 9rem;
    border-radius: 1.25rem;
}

.resume-v2[data-public-overview] .overview-resume-transition {
    scroll-margin-top: 9rem;
}

.resume-v2[data-public-overview] .member-overview .overview-button--primary {
    color: #fff;
}

.r2-overview-context-rail {
    z-index: 40;
    top: 8.75rem;
    grid-column: 1;
    grid-row: 1;
}

.r2-overview-avatar {
    display: block;
    object-fit: cover;
    object-position: 50% 42%;
}

.r2-overview-context-rail nav svg,
.r2-context-actions svg,
.r2-overview-mobile-nav svg,
.r2-overview-ai-rail .overview-ai-icon svg {
    width: 1.05rem;
    height: 1.05rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.r2-overview-context-rail nav a.is-current {
    background: #edf4ff;
    color: #075cf0;
}

.r2-context-actions {
    display: grid;
    gap: 0.35rem;
}

.r2-context-actions > a,
.r2-context-actions > button {
    width: 100%;
    min-height: 2.65rem;
    grid-template-columns: 1.5rem minmax(0, 1fr);
    align-items: center;
    gap: 0.35rem;
    border: 0;
    border-radius: 0.42rem;
    background: transparent;
    color: #173c6c;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.55rem 0.6rem;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.r2-context-actions > :is(a, button):hover {
    background: #edf4ff;
    color: #075cf0;
}

.r2-context-ask-compact {
    display: none;
}

.resume-consolidated .r2-overview-ai-rail {
    position: sticky;
    z-index: 35;
    top: 8.75rem;
    display: block;
    min-height: 0;
    max-height: calc(100vh - 10rem);
    grid-column: 3;
    grid-row: 1;
    align-self: start;
    overflow: auto;
    padding: 1.1rem;
    border-radius: 0.75rem;
}

.r2-overview-ai-rail .overview-ai-icon svg {
    width: 1.2rem;
    height: 1.2rem;
}

.r2-overview-ai-rail .r2-ai-suggestions {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.9rem;
}

.r2-ai-context {
    display: grid;
    gap: 0.18rem;
    margin-top: 0.85rem;
    padding: 0.7rem;
    border: 1px solid rgb(48 129 171 / 18%);
    border-radius: 0.55rem;
    background: rgb(246 250 255 / 88%);
}

.r2-ai-context > span {
    color: #64758a;
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.r2-ai-context > strong {
    color: #173c6c;
    font-family: var(--r2-display);
    font-size: 1.05rem;
}

.r2-ai-context > small {
    color: #52637a;
    font-size: 0.7rem;
    line-height: 1.4;
}

.resume-consolidated .r2-overview-ai-rail .r2-ai-chip {
    min-height: 0;
    border-radius: 0.55rem;
    font-size: 0.72rem;
    padding: 0.55rem 0.65rem;
}

.resume-consolidated .r2-overview-ai-rail .hero-ai-search {
    margin-top: 1rem;
}

.resume-consolidated .r2-overview-ai-rail .hero-ai-search__label {
    font-size: 0.72rem;
}

.resume-consolidated .r2-overview-ai-rail .hero-ai-search__box {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.45rem;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.resume-consolidated .r2-overview-ai-rail .hero-ai-search__input,
.resume-consolidated .r2-overview-ai-rail .hero-ai-search__button {
    width: 100%;
    min-height: 2.7rem;
    border-radius: 0.45rem;
}

.resume-consolidated .r2-overview-ai-rail .hero-ai-search__button {
    color: #fff;
}

.resume-consolidated .r2-overview-ai-rail .hero-ai-search__input {
    border: 1px solid rgb(48 129 171 / 26%);
    background: #fff;
    padding: 0.65rem 0.7rem;
}

.resume-consolidated .r2-overview-ai-rail .hero-ai-search__status {
    font-size: 0.72rem;
    line-height: 1.4;
}

.r2-overview-mobile-nav {
    display: none;
}

.r2-summary--fallback {
    grid-template-columns: minmax(15rem, 0.8fr) minmax(20rem, 1.2fr);
}

body[data-theme="dark"] .r2-overview-context-rail,
body[data-theme="dark"] .resume-consolidated .r2-overview-ai-rail {
    border-color: #e2ddd2;
    background: #f6f5f0;
    color: #0a1730;
}

body[data-theme="dark"] .r2-overview-context-rail nav a,
body[data-theme="dark"] .r2-context-actions > :is(a, button) {
    color: #3a3d42;
}

body[data-theme="dark"] .r2-overview-context-rail nav a.is-current,
body[data-theme="dark"] .r2-overview-context-rail nav a:hover,
body[data-theme="dark"] .r2-context-actions > :is(a, button):hover {
    background: #fffaf0;
    color: #8a6500;
}

@media (max-width: 82rem) {
    .resume-v2 .r2-page-grid {
        width: min(97vw, 78rem);
        grid-template-columns: 10.5rem minmax(0, 1fr);
    }

    .resume-v2 .r2-content {
        grid-column: 2;
    }

    .resume-consolidated .r2-overview-ai-rail {
        display: none;
    }

    .r2-context-ask-compact {
        display: grid;
    }

    .r2-summary--fallback {
        grid-template-columns: minmax(14rem, 0.8fr) minmax(18rem, 1.2fr);
    }
}

@media (max-width: 64rem) {
    .resume-v2 .r2-page-grid {
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .r2-overview-context-rail {
        display: none;
    }

    .r2-overview-mobile-nav {
        position: sticky;
        z-index: 45;
        top: 7.4rem;
        display: flex;
        overflow-x: auto;
        grid-column: 1;
        grid-row: 1;
        border-block: 1px solid var(--r2-line);
        background: rgb(255 255 255 / 96%);
        box-shadow: 0 0.65rem 1.4rem rgb(35 73 129 / 12%);
        scrollbar-width: none;
        white-space: nowrap;
    }

    .r2-overview-mobile-nav::-webkit-scrollbar {
        display: none;
    }

    .r2-overview-mobile-nav :is(a, button) {
        display: flex;
        min-height: 3rem;
        flex: 0 0 auto;
        align-items: center;
        gap: 0.35rem;
        border: 0;
        border-right: 1px solid var(--r2-line);
        background: transparent;
        color: #17345f;
        font: inherit;
        font-size: 0.76rem;
        font-weight: 750;
        padding: 0.55rem 0.7rem;
        text-decoration: none;
        cursor: pointer;
    }

    .r2-overview-mobile-nav :is(a.is-current, a:hover, button:hover) {
        background: #edf4ff;
        color: #075cf0;
    }

    .resume-v2 .r2-content {
        grid-column: 1;
        grid-row: 2;
        gap: 1.25rem;
        padding: 1rem;
    }

    .resume-v2[data-public-overview] .member-overview {
        scroll-margin-top: 11rem;
    }

    .r2-summary--fallback {
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    }
}

@media (max-width: 46.5rem) {
    .r2-overview-mobile-nav {
        top: 5.95rem;
    }

    .r2-overview-mobile-nav :is(a, button) {
        min-width: 4.25rem;
        flex-direction: column;
        justify-content: center;
        gap: 0.15rem;
        font-size: 0.66rem;
    }

    .resume-v2 .r2-content {
        padding: 0.75rem;
    }

    .r2-summary--fallback {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* =====================================================================
   PS-OVERVIEW-LIVE-FIDELITY-CORRECTION-001

   The approved Overview is an editorial page, not a display poster. These
   rules restore the locked three-region geometry and compact type/spacing
   rhythm while keeping every section at normal browser scale.
   ===================================================================== */

.resume-v2[data-public-overview] {
    padding-top: 0;
    background: #f7f9fc;
}

.resume-overview-public-page .platform-nav__inner {
    min-height: 3.45rem;
}

.resume-overview-public-page .profile-tabs__ask {
    display: none;
}

/* The approved width contract requires true CSS geometry. The older résumé
   used child zoom as a one-off global shrink; the Overview must not inherit
   that behavior. */
.resume-v2[data-public-overview] > * {
    zoom: 1;
}

.resume-v2[data-public-overview]::before,
.resume-v2[data-public-overview]::after {
    display: none;
}

.resume-v2[data-public-overview] .r2-page-grid {
    /* 10rem left rail + 69rem center + 20rem AI rail + two 2rem gaps.
       The prior 60rem center becomes 69rem: an exact 15% wide-screen gain
       shared by Story & Career and Work & Impact. */
    width: min(calc(100% - 2rem), 103rem);
    grid-template-columns: 10rem minmax(0, 1fr) 20rem;
    gap: 2rem;
}

.resume-v2[data-public-overview] .r2-overview-context-rail {
    top: 6.4rem;
    padding: 0.75rem;
    border-radius: 0.75rem;
}

.resume-v2[data-public-overview] .overview-context-person {
    gap: 0.3rem;
    padding-bottom: 0.75rem;
}

.resume-v2[data-public-overview] .overview-avatar {
    width: 4rem;
    height: 4rem;
}

.resume-v2[data-public-overview] .overview-context-person strong {
    font-family: var(--r2-display);
    font-size: 0.96rem;
    font-weight: 600;
}

.resume-v2[data-public-overview] .overview-context-person small {
    display: none;
}

.resume-v2[data-public-overview] .overview-rail-label {
    margin: 0.75rem 0 0.35rem;
    font-size: 0.58rem;
}

.resume-v2[data-public-overview] .r2-overview-context-rail nav {
    gap: 0.12rem;
}

.resume-v2[data-public-overview] .r2-overview-context-rail nav a,
.resume-v2[data-public-overview] .r2-context-actions > a,
.resume-v2[data-public-overview] .r2-context-actions > button {
    min-height: 2.7rem;
    grid-template-columns: 1.15rem minmax(0, 1fr);
    gap: 0.35rem;
    padding: 0.42rem 0.45rem;
    font-size: 0.7rem;
}

.resume-v2[data-public-overview] .r2-overview-style-picker {
    display: grid;
    gap: 0.25rem;
    margin-top: 0.7rem;
    padding-top: 0.65rem;
    border-top: 1px solid #e0e6ed;
}

.resume-v2[data-public-overview] .r2-overview-style-picker > span {
    color: #607189;
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.resume-v2[data-public-overview] .r2-overview-style-picker a {
    display: flex;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #d8e1eb;
    border-radius: 0.42rem;
    background: #fff;
    color: #17345f;
    font-size: 0.64rem;
    font-weight: 760;
    line-height: 1.15;
    padding: 0.35rem 0.3rem;
    text-align: center;
    text-decoration: none;
}

.resume-v2[data-public-overview] .r2-overview-style-picker a:is(:hover, :focus-visible) {
    border-color: #8eb5ff;
    background: #f3f7ff;
    color: #075cf0;
}

.resume-v2[data-public-overview] .r2-overview-style-picker a.is-current {
    border-color: #075cf0;
    background: #edf4ff;
    color: #075cf0;
    box-shadow: inset 3px 0 0 #075cf0;
}

.r2-overview-mobile-style-picker {
    display: none;
}

.resume-v2[data-public-overview] .r2-context-actions {
    margin-top: 0.55rem;
    padding-top: 0.55rem;
}

.resume-v2[data-public-overview] .r2-context-ask-compact {
    display: grid;
    border: 1px solid rgb(0 169 157 / 42%);
    color: #008f86;
}

.resume-v2[data-public-overview] .r2-context-ask-primary {
    width: 100%;
    min-height: 2.7rem;
    grid-template-columns: 1.15rem minmax(0, 1fr);
    align-items: center;
    gap: 0.35rem;
    padding: 0.42rem 0.45rem;
    border-radius: 0.42rem;
    background: #fff;
    font-size: 0.7rem;
    font-weight: 750;
    text-align: left;
}

.resume-v2[data-public-overview] .member-overview {
    border-color: #e8e1d5;
    border-radius: 0.75rem;
    background: #fffdf9;
    box-shadow: 0 0.85rem 2.6rem rgb(44 50 58 / 7%);
}

.resume-v2[data-public-overview] .member-overview p,
.resume-v2[data-public-overview] .member-overview li {
    font-size: 0.78rem;
    line-height: 1.45;
}

.resume-v2[data-public-overview] .overview-opening {
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 28%);
    background: linear-gradient(100deg, #f0f4f5 0 24%, #fffdf9 52%);
}

.resume-v2[data-public-overview] .overview-hero--with-media {
    min-height: 18.5rem;
    grid-template-columns: minmax(14.5rem, 43%) minmax(0, 57%);
}

.resume-v2[data-public-overview] .overview-hero-media {
    min-height: 17.1rem;
    height: 17.1rem;
    align-self: start;
    margin-top: 0.6rem;
    margin-right: 0.3rem;
    margin-left: 1.2rem;
    overflow: hidden;
    border-radius: 0.35rem;
}

.resume-v2[data-public-overview] .overview-hero-copy {
    justify-content: flex-start;
    height: 100%;
    padding: 1rem 1.6rem 0.8rem;
}

.resume-v2[data-public-overview] .overview-hero h1,
.resume-v2[data-public-overview] .member-overview--story .overview-hero h1 {
    font-size: clamp(2rem, 2.5vw, 2.15rem);
    letter-spacing: -0.02em;
    line-height: 0.98;
}

.resume-v2[data-public-overview] .overview-kicker,
.resume-v2[data-public-overview] .overview-section-kicker {
    margin-bottom: 0.42rem;
    font-size: 0.62rem !important;
    letter-spacing: 0.09em;
}

/* Story & Career's approved hero begins with the member name and concise
   professional headline. Its separate eyebrow belongs to Work & Impact. */
.resume-v2[data-public-overview] .member-overview--story .overview-kicker {
    display: none;
}

.resume-v2[data-public-overview] .overview-headline {
    margin: 0.55rem 0 0.65rem;
    font-size: 0.76rem;
    line-height: 1.35;
    letter-spacing: 0.07em;
}

.resume-v2[data-public-overview] .overview-intro {
    margin-bottom: 0.6rem;
    font-size: 0.84rem;
    line-height: 1.5;
}

.resume-v2[data-public-overview] .overview-location {
    margin-bottom: 0.35rem;
    font-size: 0.72rem;
}

.resume-v2[data-public-overview] .overview-contact-list {
    order: 6;
    display: grid;
    gap: 0.18rem;
    margin: 0 0 0.65rem;
}

.resume-v2[data-public-overview] .overview-contact-list a {
    display: grid;
    min-width: 0;
    grid-template-columns: 0.85rem minmax(0, 1fr);
    align-items: center;
    gap: 0.38rem;
    color: #264664;
    font-size: 0.6rem;
    line-height: 1.25;
    text-decoration: none;
}

.resume-v2[data-public-overview] .overview-contact-list svg {
    width: 0.75rem;
    height: 0.75rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
}

.resume-v2[data-public-overview] .overview-contact-list span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.resume-v2[data-public-overview] .overview-hero-actions {
    order: 7;
    gap: 0.55rem;
    margin-top: auto;
}

.resume-v2[data-public-overview] .overview-button {
    min-height: 2.1rem;
    padding: 0.45rem 1rem;
    font-size: 0.64rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-proof {
    grid-template-rows: repeat(4, minmax(0, 1fr));
    align-content: stretch;
    padding: 0.4rem 1rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-proof-item {
    display: flex;
    min-height: 0;
    flex-direction: column;
    justify-content: center;
    padding: 0.45rem 0;
}

.resume-v2[data-public-overview] .overview-proof-item strong {
    font-size: clamp(1.65rem, 2vw, 2rem);
}

.resume-v2[data-public-overview] .overview-proof-item span:not(.overview-proof-icon) {
    margin-top: 0.28rem;
    font-size: 0.6rem;
    line-height: 1.22;
}

.resume-v2[data-public-overview] .overview-media figcaption {
    font-size: 0.5rem;
}

.resume-v2[data-public-overview] .overview-story {
    height: 11rem;
    min-height: 11rem;
    margin: 0.95rem;
    overflow: hidden;
}

.resume-v2[data-public-overview] .overview-story--with-media {
    grid-template-columns: minmax(17rem, 36%) minmax(0, 64%);
}

.resume-v2[data-public-overview] .overview-story-copy {
    padding: 1.15rem 1.5rem;
}

.resume-v2[data-public-overview] .overview-story h2,
.resume-v2[data-public-overview] .overview-philosophy h2,
.resume-v2[data-public-overview] .overview-future h2,
.resume-v2[data-public-overview] .overview-connect h2 {
    font-size: clamp(1.18rem, 1.45vw, 1.35rem);
}

.resume-v2[data-public-overview] .overview-story-copy > p:not(.overview-section-kicker) {
    margin-bottom: 0.65rem;
}

.resume-v2[data-public-overview] .overview-accent-rule {
    width: 1.4rem;
    margin: 0.5rem 0 0.65rem;
}

.resume-v2[data-public-overview] .overview-text-link {
    font-size: 0.62rem;
}

.resume-v2[data-public-overview] .overview-story-media {
    height: 100%;
    min-height: 0;
}

.resume-v2[data-public-overview] .overview-story-media img {
    min-height: 0;
}

.resume-v2[data-public-overview] .overview-career {
    gap: 0.75rem;
    padding: 0.9rem 1rem 1rem;
}

.resume-v2[data-public-overview] .overview-timeline {
    gap: 0.55rem;
    margin-top: 0.6rem;
}

.resume-v2[data-public-overview] .overview-timeline > li {
    grid-template-columns: minmax(6rem, 22%) minmax(0, 1fr);
    gap: 0.75rem;
    padding-left: 1.1rem;
}

.resume-v2[data-public-overview] .overview-timeline::before {
    left: 0.24rem;
}

.resume-v2[data-public-overview] .overview-timeline > li::before {
    top: 0.3rem;
    width: 0.5rem;
    height: 0.5rem;
}

.resume-v2[data-public-overview] .overview-record-period {
    font-size: 0.64rem;
}

.resume-v2[data-public-overview] .overview-record-period span {
    font-size: 0.62rem;
}

.resume-v2[data-public-overview] .overview-career h3 {
    font-size: 0.72rem;
}

.resume-v2[data-public-overview] .overview-record-org {
    margin: 0.05rem 0 0.22rem;
    font-size: 0.6rem !important;
}

.resume-v2[data-public-overview] .overview-timeline li p:last-child,
.resume-v2[data-public-overview] .overview-career-focus > p,
.resume-v2[data-public-overview] .overview-career-focus li {
    margin-top: 0.18rem;
    font-size: 0.62rem;
    line-height: 1.3;
}

.resume-v2[data-public-overview] .overview-inline-action {
    min-height: 1.85rem;
    margin-top: 0.55rem;
    padding: 0.35rem 0.55rem;
    font-size: 0.56rem;
}

.resume-v2[data-public-overview] .overview-impact {
    gap: 0.65rem;
    padding: 0.9rem 1rem;
}

.resume-v2[data-public-overview] .overview-impact-grid article {
    padding: 0.7rem;
}

.resume-v2[data-public-overview] .overview-impact-icon {
    width: 2rem;
    height: 2rem;
    font-size: 0.9rem;
}

.resume-v2[data-public-overview] .overview-impact-grid strong {
    margin-top: 0.4rem;
    font-size: 1.1rem;
}

.resume-v2[data-public-overview] .overview-impact-grid h3 {
    margin: 0.45rem 0 0.25rem;
    font-size: 0.62rem;
}

.resume-v2[data-public-overview] .overview-impact-grid p {
    font-size: 0.65rem;
}

.resume-v2[data-public-overview] .overview-story-skills {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    border-bottom: 1px solid var(--overview-warm-line);
}

.resume-v2[data-public-overview] .overview-story-skills--single {
    grid-template-columns: minmax(0, 1fr);
}

.resume-v2[data-public-overview] .overview-story-skills > section {
    min-width: 0;
}

.resume-v2[data-public-overview] .overview-story-skills > section + section {
    border-left: 1px solid var(--overview-warm-line);
}

.resume-v2[data-public-overview] .overview-chapters,
.resume-v2[data-public-overview] .overview-skills {
    padding: 0.9rem 1rem;
}

.resume-v2[data-public-overview] .overview-chapters ol {
    gap: 0.45rem;
}

.resume-v2[data-public-overview] .overview-chapters li {
    padding-left: 1.1rem;
}

.resume-v2[data-public-overview] .overview-chapters strong {
    font-size: 0.6rem;
}

.resume-v2[data-public-overview] .overview-chapters span {
    font-size: 0.65rem;
    line-height: 1.3;
}

.resume-v2[data-public-overview] .overview-skills ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.42rem 0.8rem;
    margin-top: 0.55rem;
}

.resume-v2[data-public-overview] .overview-skills li {
    padding-left: 1.15rem;
    font-size: 0.66rem;
}

.resume-v2[data-public-overview] .overview-credentials {
    padding: 0.85rem 1rem;
}

.resume-v2[data-public-overview] .overview-credentials > section {
    padding-inline: 0.85rem;
}

.resume-v2[data-public-overview] .overview-record-list {
    gap: 0.55rem;
}

.resume-v2[data-public-overview] .overview-record-list strong {
    font-size: 0.72rem;
}

.resume-v2[data-public-overview] .overview-record-list span,
.resume-v2[data-public-overview] .overview-record-list p {
    font-size: 0.62rem;
    line-height: 1.35;
}

.resume-v2[data-public-overview] .overview-record-list p {
    margin-top: 0.2rem;
}

.resume-v2[data-public-overview] .overview-quote,
.resume-v2[data-public-overview] .overview-philosophy {
    padding: 1rem 1.25rem;
}

.resume-v2[data-public-overview] .overview-quote blockquote {
    font-size: 1.2rem;
}

.resume-v2[data-public-overview] .overview-future {
    height: 8.5rem;
    min-height: 8.5rem;
    overflow: hidden;
}

.resume-v2[data-public-overview] .overview-future > div {
    padding: 1rem 1.25rem;
}

.resume-v2[data-public-overview] .overview-future-media {
    height: 100%;
    min-height: 0;
}

.resume-v2[data-public-overview] .overview-future-media img {
    min-height: 0;
}

.resume-v2[data-public-overview] .overview-resume-transition {
    min-height: 4.5rem;
    gap: 0.85rem;
    padding: 0.8rem 1rem;
    border-top-width: 3px;
}

.resume-v2[data-public-overview] .overview-resume-transition h2 {
    font-size: 1.25rem;
}

.resume-v2[data-public-overview] .overview-resume-transition p {
    font-size: 0.72rem;
}

.resume-consolidated .r2-overview-ai-rail {
    top: 6.4rem;
    display: flex;
    width: 100%;
    height: calc(100vh - 8rem);
    max-height: calc(100vh - 8rem);
    flex-direction: column;
    justify-content: flex-start;
    justify-self: stretch;
    padding: 0;
    overflow: hidden auto;
    border-color: #dde6f0;
    border-radius: 0.75rem;
    background: rgb(255 255 255 / 98%);
}

.r2-ai-rail-header {
    display: grid;
    grid-template-columns: 2.6rem minmax(0, 1fr);
    align-items: center;
    gap: 0.65rem;
    padding: 0.8rem;
    border-bottom: 1px solid #e3e9f0;
}

.r2-ai-rail-header img {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 50%;
    object-fit: cover;
    object-position: 50% 42%;
}

.r2-ai-rail-header h2 {
    margin: 0;
    font-size: 1rem;
}

.r2-ai-rail-header p {
    margin: 0.08rem 0 0;
    color: #68788c;
    font-size: 0.62rem;
}

.r2-ai-rail-intro {
    display: grid;
    justify-items: center;
    gap: 0.55rem;
    padding: 1rem 0.9rem 0.75rem;
    text-align: center;
}

.r2-ai-rail-intro .overview-ai-icon {
    width: 3rem;
    height: 3rem;
}

.r2-ai-rail-intro h3 {
    max-width: 15rem;
    margin: 0;
    font-family: var(--r2-display);
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.25;
}

.resume-consolidated .r2-overview-ai-rail .r2-ai-context {
    margin: 0 0.8rem;
    padding: 0.7rem;
}

.resume-consolidated .r2-overview-ai-rail .r2-ai-context > span {
    color: #173c6c;
    font-size: 0.68rem;
    letter-spacing: 0;
    text-transform: none;
}

.resume-consolidated .r2-overview-ai-rail .r2-ai-context > span strong {
    font-family: var(--r2-display);
}

.r2-ai-quick-label {
    margin: 0.8rem 0.8rem 0 !important;
    color: #173c6c !important;
    font-size: 0.6rem !important;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.r2-overview-ai-rail .r2-ai-suggestions {
    margin: 0.45rem 0.8rem 0;
}

.resume-consolidated .r2-overview-ai-rail .r2-ai-chip {
    position: relative;
    min-height: 4.125rem;
    padding: 0.62rem 1.6rem 0.62rem 0.7rem;
    border-color: #dce5ef;
    background: #fff;
    color: #173c6c;
    font-size: 0.72rem;
    line-height: 1.3;
    text-align: left;
}

.resume-consolidated .r2-overview-ai-rail .r2-ai-chip::after {
    position: absolute;
    top: 50%;
    right: 0.65rem;
    content: "›";
    font-size: 1rem;
    transform: translateY(-50%);
}

.resume-consolidated .r2-overview-ai-rail .hero-ai-search {
    margin: auto 0.8rem 0.8rem;
}

.resume-consolidated .r2-overview-ai-rail .hero-ai-search__box {
    grid-template-columns: minmax(0, 1fr) 2.35rem;
    gap: 0.35rem;
}

.resume-consolidated .r2-overview-ai-rail .hero-ai-search__input,
.resume-consolidated .r2-overview-ai-rail .hero-ai-search__button {
    min-height: 2.75rem;
}

.resume-consolidated .r2-overview-ai-rail .hero-ai-search__button {
    width: 2.75rem;
    padding: 0;
    overflow: hidden;
    font-size: 0;
}

.resume-consolidated .r2-overview-ai-rail .hero-ai-search__button::after {
    content: "➤";
    font-size: 0.95rem;
}

.resume-consolidated .r2-overview-ai-rail .overview-ai-truth {
    min-height: 7.5rem;
    margin: 0 0.8rem 0.85rem;
    padding: 1rem;
    border-left: 0;
    background: #f7f9fc;
    font-size: 0.64rem;
}

/* A complete three-region desktop remains viable through common 1366px and
   1440px screens. Undock the 20rem AI rail only when the center would fall
   below the proven 49rem readable width. */
@media (max-width: 82rem) {
    .resume-v2[data-public-overview] .r2-page-grid {
        width: min(calc(100% - 2rem), 94rem);
        grid-template-columns: 10rem minmax(0, 1fr);
        gap: 2rem;
    }

    .resume-v2[data-public-overview] .r2-content {
        grid-column: 2;
    }

    .resume-consolidated .r2-overview-ai-rail {
        display: none;
    }
}

@media (min-width: 60.01rem) and (max-width: 73.75rem) {
    .resume-overview-public-page .platform-nav__inner {
        min-height: 3.45rem;
        grid-template-areas: "brand links actions";
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 1rem;
        padding-top: 0;
        padding-bottom: 0;
    }

    .resume-overview-public-page .platform-brand {
        grid-area: brand;
    }

    .resume-overview-public-page .platform-nav__links {
        grid-area: links;
        grid-column: auto;
        justify-content: space-evenly;
        gap: 1rem;
        padding: 0;
        overflow: visible;
    }

    .resume-overview-public-page .platform-actions {
        grid-area: actions;
    }
}

@media (min-width: 60.01rem) and (max-width: 66rem) {
    .resume-v2[data-public-overview] .r2-overview-context-rail {
        display: block;
    }

    .resume-v2[data-public-overview] .r2-overview-mobile-nav {
        display: none;
    }

    .resume-v2[data-public-overview] .r2-overview-mobile-style-picker {
        display: none;
    }

    .resume-v2[data-public-overview] .r2-content {
        grid-column: 2;
        grid-row: auto;
        padding: 0;
    }

    /* The approved narrow-desktop authority keeps the complete opening above
       the story band in roughly 15rem. Reduce the media and proof typography
       instead of scaling the whole page or allowing the long metric to wrap
       into an oversized 21rem opening. */
    .resume-v2[data-public-overview] .overview-opening,
    .resume-v2[data-public-overview] .overview-hero--with-media {
        min-height: 15rem;
    }

    .resume-v2[data-public-overview] .overview-hero-media {
        height: 14rem;
        min-height: 14rem;
    }

    .resume-v2[data-public-overview] .overview-hero-copy {
        padding: 1rem 1.2rem;
    }

    .resume-v2[data-public-overview] .overview-hero h1,
    .resume-v2[data-public-overview] .member-overview--story .overview-hero h1 {
        font-size: 1.8rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-proof {
        padding: 0.35rem 0.65rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-proof-item {
        padding: 0.45rem 0.2rem;
    }

    .resume-v2[data-public-overview] .overview-proof-item strong {
        font-size: 1.3rem;
    }

    .resume-v2[data-public-overview] .overview-proof-item span:not(.overview-proof-icon) {
        font-size: 0.52rem;
    }
}

@media (min-width: 46.51rem) and (max-width: 66rem) {
    .resume-v2[data-public-overview] .overview-story {
        height: 12rem;
        min-height: 12rem;
    }
}

@media (max-width: 60rem) {
    .resume-v2[data-public-overview] {
        padding-top: 0;
    }

    .resume-overview-public-page .platform-nav__inner {
        min-height: 3.45rem;
        grid-template-areas: "brand actions";
        grid-template-columns: minmax(0, 1fr) auto;
        padding-top: 0.35rem;
        padding-bottom: 0.35rem;
    }

    .resume-overview-public-page .platform-nav__links,
    .resume-overview-public-page .profile-tabs--resume {
        display: none;
    }

    .resume-v2[data-public-overview] .r2-page-grid {
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .resume-v2[data-public-overview] .r2-content {
        grid-column: 1;
    }

    .r2-overview-mobile-nav {
        position: sticky;
        z-index: 45;
        top: 3.45rem;
        display: grid;
        overflow: visible;
        grid-template-columns: minmax(0, 1fr) auto auto;
        align-items: stretch;
        border-block: 1px solid var(--r2-line);
        background: rgb(255 255 255 / 98%);
        box-shadow: 0 0.35rem 1rem rgb(35 73 129 / 9%);
    }

    .r2-overview-mobile-person {
        display: grid;
        grid-template-columns: 2.15rem minmax(0, 1fr);
        align-items: center;
        gap: 0.55rem;
        min-width: 0;
        padding: 0.45rem 0.7rem;
    }

    .r2-overview-mobile-person img {
        width: 2.15rem;
        height: 2.15rem;
        border-radius: 50%;
        object-fit: cover;
        object-position: 50% 42%;
    }

    .r2-overview-mobile-person strong {
        overflow: hidden;
        font-family: var(--r2-display);
        font-size: 0.88rem;
        font-weight: 600;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .r2-overview-mobile-nav > a,
    .r2-overview-mobile-sections > summary {
        display: flex;
        min-width: 6rem;
        min-height: 3.1rem;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        border: 0;
        border-left: 1px solid var(--r2-line);
        background: transparent;
        color: #17345f;
        font-size: 0.78rem;
        font-weight: 750;
        padding: 0.55rem 0.7rem;
        text-decoration: none;
        cursor: pointer;
        list-style: none;
    }

    .r2-overview-mobile-nav > a.is-current {
        border-bottom: 3px solid #075cf0;
        background: #f5f9ff;
        color: #075cf0;
    }

    .r2-overview-mobile-sections {
        position: relative;
    }

    .r2-overview-mobile-sections > summary::-webkit-details-marker {
        display: none;
    }

    .r2-overview-mobile-sections nav {
        position: absolute;
        top: calc(100% + 0.35rem);
        right: 0.35rem;
        display: grid;
        width: 12rem;
        overflow: hidden;
        border: 1px solid #dce5ef;
        border-radius: 0.7rem;
        background: #fff;
        box-shadow: 0 0.9rem 2rem rgb(20 45 78 / 17%);
    }

    .r2-overview-mobile-sections nav :is(a, button) {
        display: grid;
        min-height: 2.65rem;
        grid-template-columns: 1.25rem minmax(0, 1fr);
        align-items: center;
        gap: 0.45rem;
        border: 0;
        border-bottom: 1px solid #edf1f5;
        background: #fff;
        color: #17345f;
        font: inherit;
        font-size: 0.72rem;
        font-weight: 700;
        padding: 0.55rem 0.7rem;
        text-align: left;
        text-decoration: none;
    }

    .resume-v2[data-public-overview] .r2-content {
        gap: 1rem;
        padding: 1rem;
    }

    .r2-overview-mobile-style-picker {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.35rem;
        padding: 0.35rem;
        border: 1px solid #dce5ef;
        border-radius: 0.6rem;
        background: #fff;
        box-shadow: 0 0.35rem 0.9rem rgb(20 45 78 / 8%);
    }

    .r2-overview-mobile-style-picker a {
        display: flex;
        min-height: 2.5rem;
        align-items: center;
        justify-content: center;
        border: 1px solid transparent;
        border-radius: 0.42rem;
        color: #17345f;
        font-size: 0.72rem;
        font-weight: 760;
        line-height: 1.2;
        padding: 0.45rem 0.55rem;
        text-align: center;
        text-decoration: none;
    }

    .r2-overview-mobile-style-picker a:is(:hover, :focus-visible) {
        border-color: #8eb5ff;
        background: #f3f7ff;
        color: #075cf0;
    }

    .r2-overview-mobile-style-picker a.is-current {
        border-color: #075cf0;
        background: #edf4ff;
        color: #075cf0;
        box-shadow: inset 0 -3px 0 #075cf0;
    }

    .resume-v2[data-public-overview] .member-overview {
        border-radius: 0.8rem;
    }
}

@media (max-width: 46.5rem) {
    .resume-overview-public-page .mobile-tabbar {
        display: none !important;
    }

    .resume-overview-public-page .platform-nav__inner {
        min-height: 3.75rem;
        grid-template-areas: "brand actions";
        grid-template-columns: minmax(0, 1fr) auto;
        padding-top: 0.4rem;
        padding-bottom: 0.4rem;
    }

    .resume-overview-public-page .platform-nav__links {
        display: none;
    }

    .resume-v2[data-public-overview] .r2-content {
        padding: 0.75rem;
    }

    .r2-overview-mobile-nav {
        top: 3.75rem;
    }

    .r2-overview-mobile-nav > a,
    .r2-overview-mobile-sections > summary {
        min-width: 5.8rem;
        flex-direction: row;
        font-size: 0.72rem;
    }

    .resume-v2[data-public-overview] .overview-opening {
        grid-template-columns: minmax(0, 1fr);
    }

    .resume-v2[data-public-overview] .overview-hero--with-media {
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
    }

    .resume-v2[data-public-overview] .overview-hero-media {
        min-height: 14.5rem;
        height: 14.5rem;
        margin: 0;
        border-radius: 0;
    }

    .resume-v2[data-public-overview] .overview-hero-copy {
        padding: 1.2rem;
    }

    .resume-v2[data-public-overview] .overview-hero h1,
    .resume-v2[data-public-overview] .member-overview--story .overview-hero h1 {
        font-size: 2rem;
    }

    .resume-v2[data-public-overview] .overview-headline {
        font-size: 0.74rem;
    }

    .resume-v2[data-public-overview] .overview-intro {
        font-size: 0.9rem;
    }

    .resume-v2[data-public-overview] .overview-contact-list a {
        font-size: 0.7rem;
    }

    .resume-v2[data-public-overview] .overview-hero-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .resume-v2[data-public-overview] .overview-proof {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 0.55rem;
        border-top: 1px solid var(--overview-warm-line);
        border-left: 0;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-proof-item {
        min-height: 5.8rem;
        padding: 0.75rem;
    }

    .resume-v2[data-public-overview] .overview-proof-item strong {
        font-size: 1.65rem;
    }

    .resume-v2[data-public-overview] .overview-story {
        height: auto;
        min-height: 0;
        margin: 0;
        border-radius: 0;
    }

    .resume-v2[data-public-overview] .overview-story-copy,
    .resume-v2[data-public-overview] .overview-career,
    .resume-v2[data-public-overview] .overview-impact,
    .resume-v2[data-public-overview] .overview-chapters,
    .resume-v2[data-public-overview] .overview-skills,
    .resume-v2[data-public-overview] .overview-credentials {
        padding: 1.2rem;
    }

    .resume-v2[data-public-overview] .overview-story-media {
        height: 10rem;
        min-height: 10rem;
    }

    .resume-v2[data-public-overview] .overview-story-skills {
        grid-template-columns: minmax(0, 1fr);
    }

    .resume-v2[data-public-overview] .overview-story-skills > section + section {
        border-top: 1px solid var(--overview-warm-line);
        border-left: 0;
    }

    .resume-v2[data-public-overview] .overview-skills ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .resume-v2[data-public-overview] .overview-credentials {
        grid-auto-flow: row;
        grid-template-columns: minmax(0, 1fr);
    }

    .resume-v2[data-public-overview] .overview-credentials > section {
        padding: 0.85rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--overview-warm-line);
    }

    .resume-v2[data-public-overview] .overview-credentials > section:first-child {
        padding-top: 0;
    }

    .resume-v2[data-public-overview] .overview-credentials > section:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .resume-v2[data-public-overview] .overview-resume-transition {
        grid-template-columns: minmax(0, 1fr);
        text-align: center;
    }

    .resume-v2[data-public-overview] .overview-future {
        height: auto;
        min-height: 0;
    }

    .resume-v2[data-public-overview] .overview-future-media {
        height: 10rem;
        min-height: 10rem;
    }
}

@media (forced-colors: active) {
    .r2-overview-context-rail,
    .resume-consolidated .r2-overview-ai-rail,
    .r2-overview-mobile-nav,
    .member-overview {
        border: 2px solid CanvasText;
        background: Canvas;
        box-shadow: none;
    }
}

/* =====================================================================
   PS-OVERVIEW-LIVE-FIDELITY-CORRECTION-001 — complete Story & Career

   The owner-locked center composition includes the full visual sequence.
   Keep these selectors route-scoped so the retained résumé and the separate
   Work & Impact style remain independent.
   ===================================================================== */

.resume-v2[data-public-overview] .member-overview--story .overview-media figcaption {
    display: none;
}

.resume-v2[data-public-overview] .member-overview--story .overview-career {
    height: 21.55rem;
    grid-template-columns: minmax(0, 56%) minmax(0, 44%);
    gap: 0.8rem;
    overflow: hidden;
}

.resume-v2[data-public-overview] .member-overview--story .overview-timeline h3,
.resume-v2[data-public-overview] .member-overview--story .overview-timeline li p:last-child {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
}

.resume-v2[data-public-overview] .member-overview--story .overview-timeline h3 {
    -webkit-line-clamp: 2;
}

.resume-v2[data-public-overview] .member-overview--story .overview-timeline li p:last-child {
    -webkit-line-clamp: 2;
}

.resume-v2[data-public-overview] .member-overview--story .overview-career-copy,
.resume-v2[data-public-overview] .member-overview--story .overview-career-aside {
    min-width: 0;
    min-height: 0;
}

.resume-v2[data-public-overview] .member-overview--story .overview-career-copy {
    display: flex;
    height: 100%;
    flex-direction: column;
}

.resume-v2[data-public-overview] .member-overview--story .overview-career-copy .overview-timeline {
    flex: 1 1 auto;
    align-content: space-between;
    margin: 0.72rem 0 0.68rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-career-copy > .overview-inline-action {
    align-self: flex-start;
    margin-top: 0;
}

.resume-v2[data-public-overview] .member-overview--story .overview-career-aside {
    display: grid;
    height: 100%;
    grid-template-rows: 7.2rem 4.75rem 7.15rem;
    gap: 0.35rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-career-media {
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border-radius: 0.2rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-career-media img {
    min-height: 0;
}

.resume-v2[data-public-overview] .member-overview--story .overview-career-quote {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    padding: 0.65rem 1rem 0.55rem 2.2rem;
    background: linear-gradient(90deg, #fffaf1, #fffdf9);
}

.resume-v2[data-public-overview] .member-overview--story .overview-career-quote::before {
    position: absolute;
    top: 0.45rem;
    left: 0.8rem;
    color: var(--overview-gold);
    content: "“";
    font-family: var(--overview-serif);
    font-size: 1.8rem;
    line-height: 1;
}

.resume-v2[data-public-overview] .member-overview--story .overview-career-quote blockquote {
    margin: 0;
    color: var(--overview-navy);
    font-family: var(--overview-serif);
    font-size: 0.86rem;
    line-height: 1.35;
}

.resume-v2[data-public-overview] .member-overview--story .overview-career-quote figcaption {
    margin-top: 0.3rem;
    color: var(--overview-gold);
    font-family: var(--overview-serif);
    font-size: 0.64rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-impact {
    gap: 0.42rem;
    padding: 0.82rem 1rem 0.9rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-impact-grid article {
    display: flex;
    min-height: 6.65rem;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0.68rem 0.86rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-impact-icon {
    width: 1.85rem;
    height: 1.85rem;
    color: var(--overview-navy);
    border: 0;
    font-size: 0;
}

.resume-v2[data-public-overview] .member-overview--story .overview-impact-icon svg {
    width: 1.55rem;
    height: 1.55rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.35;
}

.resume-v2[data-public-overview] .member-overview--story .overview-impact-grid h3 {
    margin-top: 0.45rem;
    font-size: 0.66rem;
    line-height: 1.25;
}

.resume-v2[data-public-overview] .member-overview--story .overview-impact-grid p {
    max-width: 22ch;
    margin-top: 0.18rem;
    font-size: 0.66rem;
    line-height: 1.4;
}

.resume-v2[data-public-overview] .member-overview--story .overview-skills li::before {
    display: none;
}

.resume-v2[data-public-overview] .member-overview--story .overview-skill-icon {
    position: absolute;
    top: 0.05rem;
    left: 0;
    display: inline-grid;
    width: 1.1rem;
    height: 1.1rem;
    place-items: center;
    color: var(--overview-navy);
}

.resume-v2[data-public-overview] .member-overview--story .overview-skill-icon svg,
.resume-v2[data-public-overview] .member-overview--story .overview-chapter-icon svg,
.resume-v2[data-public-overview] .member-overview--story .overview-credential-kicker svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.35;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapters li::before {
    display: none;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapters li {
    display: grid;
    grid-template-columns: 0.85rem minmax(0, 1fr);
    align-items: start;
    gap: 0.35rem;
    padding-left: 0;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapter-icon {
    width: 0.85rem;
    height: 0.85rem;
    margin-top: 0.08rem;
    color: #66758a;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapter-copy {
    display: grid;
}

.resume-v2[data-public-overview] .member-overview--story .overview-credential-kicker {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-credential-kicker svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
}

.resume-v2[data-public-overview] .member-overview--story .overview-story-skills {
    min-height: 14.65rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapters--with-media {
    grid-template-columns: minmax(7rem, 46%) minmax(0, 54%);
    gap: 0.55rem;
    align-items: stretch;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapters--with-media > div,
.resume-v2[data-public-overview] .member-overview--story .overview-skills {
    display: flex;
    min-height: 0;
    flex-direction: column;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapters-media {
    width: 100%;
    height: 100%;
    min-height: 0;
    align-self: stretch;
    border-radius: 0.18rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapters-media img {
    min-height: 0;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapters .overview-inline-action,
.resume-v2[data-public-overview] .member-overview--story .overview-skills .overview-inline-action {
    align-self: flex-start;
    margin-top: auto;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapters-action span {
    display: inline;
    color: inherit;
    font-size: inherit;
}

.resume-v2[data-public-overview] .member-overview--story .overview-record-list p {
    display: none;
}

.resume-v2[data-public-overview] .member-overview--story .overview-philosophy {
    display: grid;
    height: 7rem;
    min-height: 7rem;
    grid-template-columns: minmax(0, 46%) minmax(0, 54%);
    padding: 0;
    overflow: hidden;
    background: #fbf8f2;
}

.resume-v2[data-public-overview] .member-overview--story .overview-philosophy > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 0.8rem 1.25rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-philosophy h2 {
    max-width: 34ch;
    font-size: 1.05rem;
    line-height: 1.2;
}

.resume-v2[data-public-overview] .member-overview--story .overview-philosophy p:last-child {
    margin: 0.35rem 0 0;
    font-size: 0.6rem;
    line-height: 1.35;
}

.resume-v2[data-public-overview] .member-overview--story .overview-philosophy-media {
    position: relative;
    isolation: isolate;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.resume-v2[data-public-overview] .member-overview--story .overview-philosophy-media img {
    min-height: 0;
    filter: hue-rotate(225deg) saturate(0.55) brightness(0.82) contrast(1.05);
}

.resume-v2[data-public-overview] .member-overview--story .overview-philosophy-media::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgb(6 26 51 / 42%),
        rgb(10 38 69 / 26%) 58%,
        rgb(180 119 44 / 18%)
    );
    content: "";
    pointer-events: none;
}

.resume-v2[data-public-overview] .member-overview--story .overview-future {
    height: 8.25rem;
    min-height: 8.25rem;
    grid-template-columns: minmax(9rem, 24%) minmax(0, 76%);
}

.resume-v2[data-public-overview] .member-overview--story .overview-future > div {
    grid-column: 2;
    grid-row: 1;
    padding: 0.75rem 1.25rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-future-media {
    grid-column: 1;
    grid-row: 1;
}

.resume-v2[data-public-overview] .member-overview--story .overview-future h2 {
    font-size: 1.15rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-future p {
    margin: 0.3rem 0 0;
    font-size: 0.6rem;
    line-height: 1.35;
}

.resume-v2[data-public-overview] .member-overview--story .overview-future-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.8rem;
    margin-top: 0.5rem;
    color: #274563;
    font-size: 0.54rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-future-actions > :not(.overview-button) {
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.resume-v2[data-public-overview] .member-overview--story .overview-future-actions .overview-button {
    min-height: 1.7rem;
    flex: 0 0 auto;
    padding: 0.3rem 0.7rem;
    font-size: 0.52rem;
}

/* The approved story block is one panoramic image with a warm paper fade
   behind the text, not two adjacent cards. */
.resume-v2[data-public-overview] .member-overview--story .overview-story--with-media {
    position: relative;
    display: block;
    isolation: isolate;
}

.resume-v2[data-public-overview] .member-overview--story .overview-story-copy {
    position: relative;
    z-index: 2;
    width: min(39%, 23rem);
    height: 100%;
    background: linear-gradient(
        90deg,
        rgb(251 248 242 / 100%) 0%,
        rgb(251 248 242 / 96%) 72%,
        rgb(251 248 242 / 0%) 100%
    );
}

.resume-v2[data-public-overview] .member-overview--story .overview-story-media {
    position: absolute;
    z-index: 1;
    inset: 0;
    width: 100%;
    height: 100%;
}

.resume-v2[data-public-overview] .member-overview--story .overview-story-media img {
    width: 100%;
    height: 100%;
}

/* Match the approved handoff marker: centered label between dashed rules,
   with the retained-résumé explanation available to assistive technology. */
.resume-v2[data-public-overview] .member-overview--story .overview-resume-transition {
    display: grid;
    min-height: 2.25rem;
    grid-template-columns: minmax(2rem, 1fr) auto minmax(2rem, 1fr);
    align-items: center;
    gap: 1rem;
    padding: 0.55rem 1rem;
    border-top: 0;
    background: transparent;
    text-align: center;
}

.resume-v2[data-public-overview] .member-overview--story .overview-resume-transition::before,
.resume-v2[data-public-overview] .member-overview--story .overview-resume-transition::after {
    border-top: 1px dashed #66758a;
    content: "";
}

.resume-v2[data-public-overview] .member-overview--story .overview-resume-transition h2 {
    font-family: var(--r2-sans);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.resume-v2[data-public-overview] .member-overview--story .overview-resume-transition p {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

@media (min-width: 60.01rem) and (max-width: 66rem) {
    /* Keep the approved narrow-desktop composition. At this width the hero
       still has a portrait/copy field plus the vertical four-point proof rail;
       it does not become the mobile 2 x 2 proof grid. */
    .resume-v2[data-public-overview] .member-overview--story .overview-opening {
        min-height: 15.75rem;
        grid-template-columns: minmax(0, 1fr) minmax(10.25rem, 24%);
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-hero--with-media {
        min-height: 15.75rem;
        grid-template-columns: minmax(12.75rem, 41%) minmax(0, 59%);
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-hero-media {
        width: auto;
        height: 14.45rem;
        min-height: 14.45rem;
        margin: 0.5rem 0.2rem 0.8rem 0.75rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-hero-copy {
        padding: 0.82rem 1rem 0.72rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-headline {
        margin: 0.45rem 0 0.55rem;
        font-size: 0.61rem;
        letter-spacing: 0.045em;
        white-space: nowrap;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-intro {
        margin-bottom: 0.42rem;
        font-size: 0.69rem;
        line-height: 1.42;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-contact-list {
        gap: 0.12rem;
        margin-bottom: 0.42rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-contact-list a {
        font-size: 0.52rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-proof {
        display: grid;
        grid-template-rows: repeat(4, minmax(0, 1fr));
        grid-template-columns: minmax(0, 1fr);
        align-content: stretch;
        padding: 0.4rem 0.75rem;
        border-top: 0;
        border-left: 1px solid var(--overview-warm-line);
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-proof-item,
    .resume-v2[data-public-overview] .member-overview--story .overview-proof-item:nth-child(odd),
    .resume-v2[data-public-overview] .member-overview--story .overview-proof-item:nth-child(even) {
        min-height: 0;
        padding: 0.48rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--overview-warm-line);
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-proof-item:last-child {
        border-bottom: 0;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-proof-item strong {
        font-size: 1.2rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-proof-item span:not(.overview-proof-icon) {
        margin-top: 0.12rem;
        font-size: 0.45rem;
        line-height: 1.16;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-career {
        height: 21rem;
        grid-template-columns: minmax(0, 55%) minmax(0, 45%);
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-career-aside {
        grid-template-rows: 6.75rem 4.5rem 7rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-career-quote blockquote {
        font-size: 0.75rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-impact-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-chapters--with-media {
        grid-template-columns: minmax(7rem, 46%) minmax(0, 54%);
        gap: 0.35rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-chapters-media {
        display: block;
        height: 100%;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-story-skills {
        min-height: 14.5rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-chapters,
    .resume-v2[data-public-overview] .member-overview--story .overview-skills {
        padding: 0.8rem 0.85rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-chapters ol {
        gap: 0.24rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-chapters li {
        padding-left: 0.9rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-chapters strong {
        font-size: 0.54rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-chapters span {
        font-size: 0.56rem;
        line-height: 1.2;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-skills ul {
        gap: 0.24rem 0.55rem;
        margin-top: 0.35rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-skills li {
        min-height: 1.15rem;
        padding-left: 1.45rem;
        font-size: 0.56rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-skills .overview-inline-action {
        margin-top: auto;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-credentials {
        grid-auto-flow: column;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding: 0.62rem 0.75rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-credentials > section,
    .resume-v2[data-public-overview] .member-overview--story .overview-credentials > section:first-child,
    .resume-v2[data-public-overview] .member-overview--story .overview-credentials > section:last-child {
        padding: 0 0.75rem;
        border-right: 1px solid var(--overview-warm-line);
        border-bottom: 0;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-credentials > section:first-child {
        padding-left: 0;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-credentials > section:last-child {
        padding-right: 0;
        border-right: 0;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-record-list {
        gap: 0.34rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-record-list strong {
        font-size: 0.64rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-record-list span {
        font-size: 0.54rem;
        line-height: 1.25;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-credentials .overview-inline-action {
        min-height: 1.55rem;
        margin-top: 0.35rem;
        padding-block: 0.25rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-future {
        height: 6.35rem;
        min-height: 6.35rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-future > div {
        padding: 0.5rem 0.8rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-future h2 {
        font-size: 1rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-future p {
        margin-top: 0.18rem;
        font-size: 0.52rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-future-actions {
        display: flex;
        gap: 0.48rem;
        margin-top: 0.3rem;
        font-size: 0.46rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-future-actions .overview-button {
        width: auto;
        min-height: 1.45rem;
        padding: 0.22rem 0.55rem;
        font-size: 0.45rem;
    }
}

@media (max-width: 46.5rem) {
    .resume-v2[data-public-overview] .member-overview--story .overview-proof {
        grid-template-rows: repeat(2, minmax(0, 1fr));
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-hero-media img {
        object-position: 50% 35% !important;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-story--with-media {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-story-copy {
        width: 100%;
        height: auto;
        background: #fbf8f2;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-story-media {
        position: relative;
        inset: auto;
        height: 10rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-career {
        height: auto;
        grid-template-columns: minmax(0, 1fr);
        overflow: visible;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-career-aside {
        height: auto;
        grid-template-rows: 10rem auto 10rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-career-quote {
        min-height: 7rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-impact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-impact-grid article:nth-child(2) {
        border-right: 0;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-impact-grid article:nth-child(-n + 2) {
        border-bottom: 1px solid var(--overview-warm-line);
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-chapters--with-media {
        grid-template-columns: minmax(0, 1fr);
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-chapters-media {
        height: 12rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-philosophy,
    .resume-v2[data-public-overview] .member-overview--story .overview-future {
        height: auto;
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-philosophy > div,
    .resume-v2[data-public-overview] .member-overview--story .overview-future > div {
        grid-column: 1;
        grid-row: auto;
        padding: 1.2rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-philosophy-media,
    .resume-v2[data-public-overview] .member-overview--story .overview-future-media {
        height: 10rem;
        min-height: 10rem;
        grid-column: 1;
        grid-row: auto;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-future-media {
        order: -1;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-future-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0.55rem;
        font-size: 0.68rem;
    }
}

@media (forced-colors: active) {
    .resume-v2[data-public-overview] .member-overview--story .overview-career-quote,
    .resume-v2[data-public-overview] .member-overview--story .overview-philosophy {
        background: Canvas;
    }
}

/* =====================================================================
   PS-OVERVIEW-LIVE-FIDELITY-CORRECTION-001 — owner review closeout

   These final, route-scoped adjustments preserve the locked composition while
   correcting density, intermediate desktop reflow, and contextual-AI spacing.
   ===================================================================== */

.resume-v2[data-public-overview] .member-overview--story .overview-location {
    margin-bottom: 0.48rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-contact-list {
    gap: 0.28rem;
    margin-bottom: 0.72rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-contact-list a {
    font-size: 0.62rem;
    line-height: 1.35;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapters ol {
    display: grid;
    flex: 1 1 auto;
    grid-template-rows: repeat(3, minmax(0, 1fr));
    align-content: stretch;
    gap: 0.3rem;
    margin: 0.45rem 0 0.55rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapters li {
    align-items: center;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapter-icon {
    margin-top: 0;
}

.resume-v2[data-public-overview] .member-overview--story .overview-chapter-copy {
    align-content: center;
}

.resume-v2[data-public-overview] .member-overview--story .overview-skills ul {
    flex: 1 1 auto;
    grid-template-rows: repeat(5, minmax(1.15rem, 1fr));
    align-content: stretch;
    gap: 0.22rem 0.8rem;
    margin: 0.45rem 0 0.55rem;
}

.resume-v2[data-public-overview] .member-overview--story .overview-skills li {
    align-items: center;
}

.resume-v2[data-public-overview] .member-overview--story .overview-future-actions {
    gap: 0.85rem;
    margin-top: 0.65rem;
    font-size: 0.61rem;
}

.resume-consolidated .r2-overview-ai-rail .hero-ai-search {
    margin: 0 0.8rem 0.8rem;
}

.resume-v2[data-public-overview] #impact.r2-section {
    padding: clamp(1.35rem, 2vw, 2rem);
}

.resume-v2[data-public-overview] #impact .r2-section-heading {
    margin-bottom: clamp(0.9rem, 1.25vw, 1.2rem);
}

.resume-v2[data-public-overview] #impact .r2-section-heading h2 {
    font-size: clamp(2.35rem, 3.45vw, 3.25rem);
}

.resume-v2[data-public-overview] #impact .r2-section-heading p {
    margin-top: 0.58rem;
    font-size: 0.9rem;
    line-height: 1.5;
}

.resume-v2[data-public-overview] #impact .r2-impact__item {
    min-height: 8.35rem;
    gap: 0.28rem;
    padding: 0.85rem;
}

.resume-v2[data-public-overview] #impact .r2-impact__item strong {
    font-size: clamp(1.45rem, 2vw, 2.1rem);
    letter-spacing: -0.025em;
    white-space: nowrap;
}

/* member-overview.css changes Story & Career's proof rail to four columns at
   this breakpoint. The opening is still a two-column hero + proof composition,
   so the rail itself must remain a vertical stack. */
@media (min-width: 60.01rem) and (max-width: 82rem) {
    .resume-v2[data-public-overview] .member-overview--story .overview-proof {
        display: grid;
        grid-template-rows: repeat(4, minmax(0, 1fr));
        grid-template-columns: minmax(0, 1fr);
        align-content: stretch;
        border-top: 0;
        border-left: 1px solid var(--overview-warm-line);
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-proof-item,
    .resume-v2[data-public-overview] .member-overview--story .overview-proof-item:nth-child(odd),
    .resume-v2[data-public-overview] .member-overview--story .overview-proof-item:nth-child(even) {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid var(--overview-warm-line);
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-proof-item:last-child {
        border-bottom: 0;
    }
}

@media (min-width: 60.01rem) and (max-width: 66rem) {
    .resume-v2[data-public-overview] .member-overview--story .overview-location {
        margin-bottom: 0.34rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-contact-list {
        gap: 0.2rem;
        margin-bottom: 0.52rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-contact-list a {
        font-size: 0.55rem;
        line-height: 1.3;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-chapters ol {
        gap: 0.18rem;
        margin: 0.3rem 0 0.4rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-skills ul {
        gap: 0.14rem 0.55rem;
        margin: 0.3rem 0 0.4rem;
    }

    .resume-v2[data-public-overview] .member-overview--story .overview-future-actions {
        gap: 0.58rem;
        margin-top: 0.42rem;
        font-size: 0.51rem;
    }
}

@media (max-width: 46.5rem) {
    .resume-v2[data-public-overview] #impact .r2-impact__item strong {
        font-size: clamp(1.35rem, 7vw, 1.8rem);
    }
}
