:root {
    /* Deep Navy Gold (2026-07-17): Living Résumé ledger palette onto the
       shared navy + marigold. */
    --lr-ink: #101b30;
    --lr-ink-soft: #43546c;
    --lr-paper: #fbfdff;
    --lr-cloud: #eef2f8;
    --lr-line: #cbd5e5;
    --lr-blue: #203767;
    --lr-indigo: #203767;
    --lr-cyan: #2f5296;
    --lr-amber: #b87900;
    --lr-night: #06162b;
    --lr-display: "Newsreader", Georgia, serif;
    --lr-ui: "Inter", ui-sans-serif, system-ui, sans-serif;
    --lr-content: 96rem;
}

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

/* Resume-only connected header. The global navigation and compact profile
   rail live inside one sticky header so both levels remain available while
   the visitor inspects the Ledger. Its primary row now uses the same solid
   site-wide navigation surface and spacing as every other PeerSlate room. */
.living-resume-v2-page .global-header {
    background: #f6f8fc;
    border-bottom: 1px solid rgb(125 157 198 / 34%);
    box-shadow: 0 0.45rem 1.4rem rgb(10 27 54 / 10%);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.living-resume-v2-page .platform-nav__inner {
    /* Full-bleed so the search + Sign In always hug the right edge, no matter
       the viewport width (a capped, left-aligned inner used to strand them
       ~200px from the edge on wide monitors). Content below stays capped. */
    width: 100%;
    padding-inline: clamp(1rem, 2vw, 2.25rem);
    min-height: 4rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: clamp(1.5rem, 2.8vw, 3.75rem);
}

.living-resume-v2-page .platform-brand {
    justify-self: start;
}

.living-resume-v2-page .platform-brand__logo {
    padding: 0.35rem 0.45rem;
    border-radius: 0.85rem;
    background: linear-gradient(135deg, rgb(255 255 255 / 78%), rgb(213 235 255 / 58%));
    box-shadow:
        inset 0 0 0 1px rgb(255 255 255 / 86%),
        0 0.55rem 1.4rem rgb(51 112 189 / 16%);
}

.living-resume-v2-page .platform-brand__logo img {
    height: 2.2rem;
    filter:
        saturate(1.18)
        contrast(1.08)
        drop-shadow(0 0.18rem 0.24rem rgb(18 59 112 / 28%));
}

.living-resume-v2-page .platform-nav__links {
    width: 100%;
    grid-column: auto;
    justify-content: space-evenly;
    gap: clamp(1.15rem, 2.3vw, 3rem);
    order: initial;
    padding-bottom: 0;
    overflow: visible;
}

.living-resume-v2-page .platform-nav__links a {
    font-size: clamp(0.93rem, 0.85vw, 1.02rem);
    font-weight: 620;
}

.living-resume-v2-page .platform-actions {
    justify-self: end;
    gap: 0.85rem;
}

.living-resume-v2-page .nav-search__input {
    width: 10.5rem;
}

.living-resume-v2-page .nav-search__input:focus {
    width: 14rem;
}

.living-resume-v2-page .sign-in-btn {
    min-height: 2.5rem;
    padding: 0 1.1rem;
    font-size: 0.86rem;
}

.living-resume-v2-page .profile-tabs--resume {
    position: static;
    width: 100%;
    margin: 0;
    border-top: 1px solid rgb(139 169 206 / 26%);
    border-bottom: 0;
    background: linear-gradient(180deg, rgb(236 246 255 / 70%), rgb(247 251 255 / 88%));
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.living-resume-v2-page .profile-tabs--resume::before,
.living-resume-v2-page .profile-tabs--resume::after {
    display: none;
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__inner {
    width: min(calc(100% - 3rem), 68rem);
    min-height: 2.45rem;
    justify-content: center;
    padding: 0 0.75rem;
    border: 0;
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__list {
    flex: 0 1 auto;
    width: 100%;
    justify-content: center;
    gap: clamp(1rem, 2.3vw, 2.4rem);
}

.living-resume-v2-page .profile-tabs--resume .profile-tab {
    min-height: 2.45rem;
    padding: 0 0.05rem;
    color: #43546c;
    font-size: 0.84rem;
    font-weight: 680;
    letter-spacing: 0.01em;
}

.living-resume-v2-page .profile-tabs--resume .profile-tab::after {
    height: 2px;
    background: var(--lr-indigo);
}

.living-resume-v2-page .profile-tabs--resume .profile-tab:hover,
.living-resume-v2-page .profile-tabs--resume .profile-tab:focus-visible,
.living-resume-v2-page .profile-tabs--resume .profile-tab[aria-current="page"] {
    color: var(--lr-indigo);
}

/* ============================================================
   RÉSUMÉ SUB-HEADER ASK AI
   A compact inline Ask AI field pinned to the right of the centred
   tab strip. It stays hidden until the identity card's Ask AI panel
   scrolls off screen (living-resume-v2.js toggles .is-visible), then
   fades in. Its answer drops down below the strip, right-aligned and
   light to match the résumé. Sized so it never underlaps the tabs.
   ============================================================ */
.living-resume-v2-page .profile-tabs--resume .profile-tabs__inner {
    position: relative;
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 200ms ease, visibility 200ms ease;
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* So the pinned field never sits on top of the last tab, reserve room on the
   right of the tab scroller while the field is showing. */
.living-resume-v2-page .profile-tabs--resume:has(.profile-tabs__ask.is-visible) .profile-tabs__list {
    padding-right: 19rem;
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask .hero-ai-search__box {
    min-height: 2.4rem;
    padding: 4px;
    background: linear-gradient(180deg, rgb(255 255 255 / 96%), rgb(240 248 255 / 94%));
    border: 1px solid rgb(46 200 211 / 46%);
    border-radius: 999px;
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 90%),
        0 0.4rem 1rem rgb(23 64 116 / 12%);
    overflow: visible;
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask .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 / 28%);
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask .hero-ai-search__input {
    width: 13.5rem;
    min-height: 2rem;
    padding-left: 0.9rem;
    color: var(--lr-ink);
    font-size: 0.88rem;
    outline: none;
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask .hero-ai-search__input::placeholder {
    color: #5a6b84;
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask .hero-ai-search__button {
    min-height: 2rem;
    padding: 0 0.9rem;
    background: linear-gradient(180deg, #2f5296, #1f3a69);
    border-radius: 999px;
    color: #04222a;
    font-size: 0.84rem;
    font-weight: 850;
}

/* The dropped-down answer, recoloured light for the résumé. */
.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask .hero-ai-answer {
    top: calc(100% + 0.6rem);
    right: 0;
    width: min(34rem, 88vw);
    max-height: 60vh;
    color: var(--lr-ink);
    background: linear-gradient(180deg, rgb(255 255 255 / 98%), rgb(243 249 255 / 97%));
    border: 1px solid rgb(78 163 255 / 30%);
    border-left: 3px solid #2f5296;
    border-radius: 1rem;
    box-shadow: 0 1rem 2.6rem rgb(23 64 116 / 18%);
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask .hero-ai-answer.is-loading {
    border-left-color: var(--lr-amber);
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask .hero-ai-answer::before {
    top: -7px;
    bottom: auto;
    left: auto;
    right: 2rem;
    background: rgb(255 255 255 / 98%);
    border-top: 1px solid rgb(78 163 255 / 30%);
    border-left: 1px solid rgb(78 163 255 / 30%);
    border-bottom: 0;
    border-right: 0;
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask .hero-ai-answer__question {
    color: #167582;
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask .hero-ai-answer__response {
    color: var(--lr-ink);
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask .hero-ai-answer__close {
    color: #5a6b84;
    background: rgb(23 64 116 / 5%);
    border-color: rgb(78 163 255 / 26%);
}

.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask .hero-ai-answer__close:hover,
.living-resume-v2-page .profile-tabs--resume .profile-tabs__ask .hero-ai-answer__close:focus-visible {
    color: #167582;
    background: rgb(46 200 211 / 12%);
    border-color: rgb(46 200 211 / 42%);
}

@media (max-width: 1180px) {
    .living-resume-v2-page .platform-nav__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "brand actions"
            "links links";
        gap: 0.2rem 1rem;
        padding-top: 0.55rem;
        padding-bottom: 0.45rem;
    }

    .living-resume-v2-page .platform-brand {
        grid-area: brand;
    }

    .living-resume-v2-page .platform-actions {
        grid-area: actions;
    }

    .living-resume-v2-page .platform-nav__links {
        grid-area: links;
        grid-column: auto;
        justify-content: center;
        gap: clamp(1.2rem, 4vw, 2.8rem);
        padding: 0.35rem 0 0.45rem;
        overflow-x: auto;
    }
}

@media (max-width: 743px) {
    .living-resume-v2-page .global-header,
    .living-resume-v2-page.has-mobile-tabbar .global-header {
        position: sticky;
        top: 0;
    }

    .living-resume-v2-page .platform-nav__inner {
        width: min(calc(100% - 1.25rem), 112rem);
        column-gap: 0.5rem;
    }

    .living-resume-v2-page .platform-brand__logo {
        padding: 0.25rem 0.35rem;
        border-radius: 0.7rem;
    }

    .living-resume-v2-page .platform-brand__logo img {
        height: 1.8rem;
    }

    .living-resume-v2-page .platform-actions {
        gap: 0.4rem;
    }

    .living-resume-v2-page .sign-in-btn {
        min-height: 2rem;
        padding: 0 0.65rem;
        font-size: 0.72rem;
    }

    .living-resume-v2-page .platform-nav__links {
        justify-content: flex-start;
        gap: 1.35rem;
        padding-top: 0.45rem;
        padding-bottom: 0.35rem;
        scrollbar-width: none;
    }

    .living-resume-v2-page .platform-nav__links::-webkit-scrollbar {
        display: none;
    }

    .living-resume-v2-page .profile-tabs--resume .profile-tabs__inner {
        width: 100%;
        min-height: 2.35rem;
        padding: 0 0.75rem;
        overflow: hidden;
    }

    .living-resume-v2-page .profile-tabs--resume .profile-tabs__list {
        justify-content: flex-start;
        gap: 1.25rem;
        overflow-x: auto;
        scroll-padding-inline: 0.75rem;
    }

    .living-resume-v2-page .profile-tabs--resume .profile-tab {
        min-height: 2.35rem;
        font-size: 0.8rem;
    }

    /* On phones the tab strip scrolls horizontally and the top header keeps
       its own "Ask AI" button, so the inline sub-header field would only crowd
       the tabs. Hide it and let the tab scroller use the full width. */
    .living-resume-v2-page .profile-tabs--resume .profile-tabs__ask {
        display: none;
    }

    .living-resume-v2-page .profile-tabs--resume:has(.profile-tabs__ask.is-visible) .profile-tabs__list {
        padding-right: 0;
    }
}

.lr-page,
.lr-page * {
    box-sizing: border-box;
}

.lr-icon-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.lr-page svg:not(.lr-icon-sprite):not(.lr-constellation__line) {
    width: 1.2em;
    height: 1.2em;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.lr-page {
    --lr-gap: min(10vh, 6rem);
    min-width: 0;
    padding: 2rem 0 5rem;
    color: var(--lr-ink);
    font-family: var(--lr-ui);
}

.resume-version-switch {
    position: relative;
    z-index: 5;
    display: flex;
    width: fit-content;
    margin: 0 auto 1rem;
    padding: 0.25rem;
    border: 1px solid rgb(255 255 255 / 72%);
    border-radius: 999px;
    background: rgb(246 248 252 / 78%);
    box-shadow: 0 0.6rem 1.8rem rgb(10 27 54 / 12%);
    backdrop-filter: blur(14px) saturate(1.15);
}

.resume-version-switch a {
    display: inline-flex;
    min-width: 5.9rem;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    color: var(--lr-ink);
    font: 700 0.82rem/1 var(--lr-ui);
    text-decoration: none;
}

.resume-version-switch a[aria-current="page"] {
    color: #fff;
    background: var(--lr-indigo);
    box-shadow: 0 0.35rem 1rem rgb(79 91 213 / 26%);
}

.resume-version-switch a:hover,
.resume-version-switch a:focus-visible {
    outline: 3px solid rgb(78 163 255 / 42%);
    outline-offset: 2px;
}

/* The Experience page's summit sky, fixed behind the whole résumé story. */
.lr-page::before {
    position: fixed;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(180deg, rgb(244 250 255 / 42%) 0%, rgb(236 246 255 / 26%) 40%, rgb(228 240 252 / 46%) 100%),
        url("../images/background-templates/mountains.png") center top / cover no-repeat;
    content: "";
}

.lr-identity,
.lr-timeline-shell {
    width: min(calc(100% - 4rem), var(--lr-content));
    margin: 0 auto;
}

.lr-timeline-shell {
    margin-top: 2.75rem;
}

.lr-identity {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(19rem, 1fr);
    align-items: stretch;
    border-radius: 1.5rem;
    border: 2px solid rgb(255 255 255 / 68%);
    background: linear-gradient(105deg, rgb(255 255 255 / 58%) 0%, rgb(244 250 255 / 48%) 100%);
    box-shadow:
        0 1.5rem 4rem rgb(17 44 78 / 15%),
        inset 0 0 0 0.35rem rgb(255 255 255 / 30%);
    backdrop-filter: blur(16px) saturate(1.2);
}

.lr-identity__who {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr);
    align-items: center;
    gap: 1.6rem;
    padding: 1.6rem 2rem;
}

.lr-identity__ai {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.7rem;
    padding: 1.4rem 1.6rem;
    border-left: 1px solid rgb(255 255 255 / 55%);
}

.lr-identity__ai-eyebrow {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--lr-blue);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.lr-identity__ai-eyebrow svg {
    width: 1.1rem !important;
    height: 1.1rem !important;
}

.lr-identity__ai-lead {
    margin: 0;
    color: var(--lr-ink-soft);
    font-size: 0.82rem;
    line-height: 1.45;
}

.lr-identity__ai-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.15rem;
}

.lr-identity__ai-actions button {
    padding: 0.4rem 0.85rem;
    color: var(--lr-blue);
    background: rgb(255 255 255 / 68%);
    border: 1px solid #82afe9;
    border-radius: 999px;
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 700;
}

.lr-identity__ai-actions button:hover,
.lr-identity__ai-actions button:focus-visible {
    color: #ffffff;
    background: var(--lr-blue);
}

.lr-identity__ai-ask {
    display: flex;
    min-height: 2.85rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.25rem;
    padding: 0.6rem 0.6rem 0.6rem 1rem;
    color: #4a6180;
    background: rgb(255 255 255 / 74%);
    border: 1px solid #bed3ef;
    border-radius: 0.7rem;
    cursor: pointer;
    font-size: 0.8rem;
    text-align: left;
}

.lr-identity__ai-ask span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lr-identity__ai-ask svg {
    flex: 0 0 auto;
    width: 1.9rem !important;
    height: 1.9rem !important;
    padding: 0.45rem;
    color: #ffffff;
    background: #0c2d64;
    border-radius: 0.5rem;
}

.lr-identity__ai-ask:hover,
.lr-identity__ai-ask:focus-visible {
    border-color: var(--lr-blue);
}

.lr-identity__ai-ask:hover svg,
.lr-identity__ai-ask:focus-visible svg {
    background: var(--lr-blue);
}


.lr-resume-dock {
    position: fixed;
    z-index: 90;
    top: 4.35rem;
    left: 50%;
    display: flex;
    width: min(calc(100% - 2rem), 62rem);
    overflow-x: auto;
    padding: 0.4rem;
    background: rgb(250 253 255 / 88%);
    border: 1px solid #c3d3e6;
    border-radius: 0.6rem;
    box-shadow: 0 0.75rem 2rem rgb(11 35 68 / 16%);
    backdrop-filter: blur(14px) saturate(1.2);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -0.75rem);
    transition: opacity 180ms ease, transform 180ms ease;
}

.lr-resume-dock.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.lr-resume-dock a {
    min-height: 2.25rem;
    flex: 1 0 auto;
    padding: 0.55rem 0.75rem;
    color: #405675;
    border-radius: 0.4rem;
    font-size: 0.7rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.lr-resume-dock a:hover,
.lr-resume-dock a.is-current {
    color: var(--lr-blue);
    background: #e6effd;
}

/* The floating launcher stays hidden while the identity card's Ask Pete
   AI panel (.resume-ai-panel) is on screen; chatbot.js reveals it via
   .is-visible once the reader scrolls past that panel. */
.living-resume-v2-page #chat-toggle:hover,
.living-resume-v2-page #chat-toggle:focus-visible {
    transform: translateY(-2px);
}

.lr-preview-label {
    width: min(calc(100% - 4rem), var(--lr-content));
    margin: 0 auto 1rem;
    color: #53677f;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.lr-resume-layout {
    display: grid;
    width: min(calc(100% - 4rem), var(--lr-content));
    grid-template-columns: 13.5rem minmax(0, 1fr);
    align-items: start;
    gap: 1.5rem;
    margin: 2.75rem auto 0;
}

.lr-resume-flow {
    min-width: 0;
}

.lr-ledger__portrait {
    width: 7.75rem;
    aspect-ratio: 1;
    object-fit: cover;
    border: 0.4rem solid rgb(255 255 255 / 88%);
    border-radius: 50%;
    box-shadow:
        0 0 0 1px #b8cce5,
        0 0.75rem 2rem rgb(55 137 218 / 22%);
}

.lr-ledger__intro {
    min-width: 0;
}

.lr-ledger__intro h1 {
    margin: 0;
    color: var(--lr-ink);
    font-family: var(--lr-display);
    font-size: 3.35rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

.lr-ledger__role {
    margin: 0.55rem 0 0;
    color: var(--lr-blue);
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.lr-ledger__summary {
    max-width: 56ch;
    margin: 0.6rem 0 0;
    color: var(--lr-ink-soft);
    font-size: 0.82rem;
    line-height: 1.5;
}

.lr-ledger__contact {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.4rem;
    margin-top: 0.9rem;
    color: #30445e;
    font-size: 0.78rem;
    font-style: normal;
}

.lr-ledger__contact span,
.lr-ledger__contact a {
    display: flex;
    min-height: 1.6rem;
    align-items: center;
    gap: 0.6rem;
}

.lr-ledger__contact svg {
    flex: 0 0 auto;
    color: #456991;
    font-size: 1.2rem;
}

.lr-ledger__contact a {
    color: inherit;
    text-decoration: none;
}

.lr-ledger__contact a:hover {
    color: var(--lr-blue);
    text-decoration: underline;
}

.lr-unused-quote {
    display: none;
}

.lr-timeline-region {
    padding: 1.2rem 2.25rem 0.5rem;
}

.lr-timeline {
    position: relative;
    display: grid;
    /* One column per event: --lr-timeline-count is set inline from the event
       count so the row stays evenly spaced/centered for any profile (defaults
       to 8 when unset). */
    grid-template-columns: repeat(var(--lr-timeline-count, 8), minmax(6rem, 1fr));
    gap: 0;
    min-width: 0;
}

.lr-timeline::before {
    position: absolute;
    top: 2.15rem;
    /* Start/end the connecting line exactly at the first and last node
       centers (each node is centered in its 1/N cell, so its center sits
       50%/N from the edge) — no dangling stubs past the end nodes, for any
       node count. */
    right: calc(50% / var(--lr-timeline-count, 8));
    left: calc(50% / var(--lr-timeline-count, 8));
    height: 0.55rem;
    background:
        linear-gradient(180deg, rgb(255 255 255 / 75%) 0%, rgb(255 255 255 / 0%) 55%),
        linear-gradient(90deg,
            #7c5cff 0%,
            #3f6fe0 17%,
            #2aa8e6 33%,
            #2fc38d 50%,
            #2456c9 67%,
            #e0a52e 83%,
            #2bc0c6 100%);
    border-radius: 999px;
    box-shadow:
        inset 0 -0.1rem 0.2rem rgb(9 30 66 / 22%),
        0 0.2rem 0.5rem rgb(20 50 110 / 22%);
    content: "";
}

.lr-timeline__event {
    position: relative;
    z-index: 1;
    display: grid;
    min-width: 0;
    min-height: 9.25rem;
    grid-template-rows: 4.3rem auto auto;
    justify-items: center;
    padding: 0 0.55rem 0.5rem;
    color: var(--lr-ink);
    text-align: center;
    background: transparent;
    border: 0;
    cursor: pointer;
}

/* Glossy glass orbs: the flat --orb color under a bright top specular
   highlight and a deeper bottom shade reads as a lit 3D marble, with a
   soft same-color halo behind it. */
.lr-timeline__marker {
    position: relative;
    display: grid;
    width: 4rem;
    height: 4rem;
    place-items: center;
    color: #ffffff;
    background:
        radial-gradient(circle at 50% 26%, rgb(255 255 255 / 78%) 0%, rgb(255 255 255 / 0%) 42%),
        radial-gradient(circle at 50% 116%, rgb(4 18 42 / 42%) 0%, rgb(4 18 42 / 0%) 55%),
        var(--orb, #3f6fe0);
    border-radius: 50%;
    box-shadow:
        0 0 0 0.28rem rgb(255 255 255 / 62%),
        0 0.6rem 1.5rem rgb(15 45 100 / 32%),
        inset 0 0.2rem 0.55rem rgb(255 255 255 / 62%),
        inset 0 -0.35rem 0.7rem rgb(4 18 42 / 32%);
    transition:
        transform 160ms ease-out,
        box-shadow 160ms ease-out;
}

.lr-timeline__marker::before {
    position: absolute;
    inset: -0.55rem;
    z-index: -1;
    border-radius: 50%;
    background: var(--orb);
    opacity: 0.3;
    filter: blur(0.5rem);
    content: "";
}

.lr-timeline__marker svg {
    width: 1.85rem !important;
    height: 1.85rem !important;
    stroke-width: 1.75 !important;
    filter: drop-shadow(0 1px 1px rgb(4 18 42 / 45%));
}

.lr-timeline__event strong,
.lr-timeline__event small,
.lr-timeline__kind {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.lr-timeline__event strong {
    margin-top: 0.65rem;
    font-size: 0.9rem;
    line-height: 1.25;
    text-shadow: 0 1px 8px rgb(255 255 255 / 70%);
}

.lr-timeline__event small {
    margin-top: 0.2rem;
    color: #23385a;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.25;
    text-shadow: 0 1px 8px rgb(255 255 255 / 70%);
}

.lr-timeline__kind {
    display: none;
}

.lr-timeline__event.is-selected .lr-timeline__marker,
.lr-timeline__event[aria-selected="true"] .lr-timeline__marker {
    box-shadow:
        0 0 0 0.26rem #ffffff,
        0 0 0 0.5rem var(--orb),
        0 0.7rem 1.8rem rgb(15 45 100 / 42%),
        inset 0 0.2rem 0.55rem rgb(255 255 255 / 62%),
        inset 0 -0.35rem 0.7rem rgb(4 18 42 / 32%);
    transform: scale(1.1);
}

.lr-timeline__event[aria-selected="true"]::after {
    position: absolute;
    top: 8.9rem;
    width: 0;
    height: 0;
    border-top: 0.5rem solid var(--orb);
    border-right: 0.42rem solid transparent;
    border-left: 0.42rem solid transparent;
    content: "";
}

.lr-timeline__event[aria-selected="true"] strong {
    color: var(--lr-ink);
}

.lr-timeline__event[aria-selected="true"] small {
    color: #23385a;
}

.lr-ledger__rail {
    position: sticky;
    top: var(--lr-rail-top, 4.75rem);
    display: flex;
    height: fit-content;
    flex-direction: column;
    align-self: start;
    padding: 1rem 0.75rem 0.75rem;
    background: linear-gradient(135deg, rgb(255 255 255 / 56%), rgb(241 248 255 / 46%));
    border: 2px solid rgb(255 255 255 / 74%);
    border-radius: 1rem;
    box-shadow: 0 1.25rem 3rem rgb(17 44 78 / 14%);
    backdrop-filter: blur(16px) saturate(1.2);
}

.lr-rail-pdf {
    display: flex;
    min-height: 2.35rem;
    align-items: center;
    gap: 0.5rem;
    margin: 0.35rem 0.25rem 0.25rem;
    padding: 0.45rem 0.75rem;
    color: #ffffff;
    background: #0c2d64;
    border: 1px solid #274f8d;
    border-radius: 0.5rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-decoration: none;
}

.lr-rail-pdf:hover,
.lr-rail-pdf:focus-visible {
    background: var(--lr-blue);
}

.lr-rail-pdf svg {
    width: 1rem !important;
    height: 1rem !important;
}

.lr-ledger__rail nav {
    display: grid;
    gap: 0.25rem;
}

.lr-ledger__rail a {
    display: grid;
    min-height: 3.25rem;
    grid-template-columns: 1.7rem 1fr;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 0.75rem;
    color: #405675;
    border-radius: 0.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
}

.lr-ledger__rail a span {
    color: #6781a2;
    font-size: 0.65rem;
}

.lr-ledger__rail a svg {
    width: 1.1rem !important;
    height: 1.1rem !important;
    color: #5e78a0;
    stroke-width: 1.7 !important;
}

.lr-ledger__rail a:hover,
.lr-ledger__rail a.is-current {
    color: var(--lr-blue);
    background: #e6effd;
}

.lr-ledger__rail a:hover svg,
.lr-ledger__rail a.is-current svg {
    color: var(--lr-blue);
}

.lr-ledger__rail > p {
    margin: 0.9rem 0.75rem 0.35rem;
    padding-top: 0.85rem;
    color: #6b7e96;
    border-top: 1px solid var(--lr-line);
    font-size: 0.72rem;
    line-height: 1.5;
}

.lr-ledger__rail > p strong {
    color: #405675;
}

.lr-ledger__detail {
    min-width: 0;
}

.lr-ledger-panel {
    min-height: 30rem;
    padding: 1.9rem 2.2rem 2.1rem;
}

.lr-overview-section,
.lr-vertical-section,
.lr-experience-section {
    scroll-margin-top: 8.5rem;
}

.lr-panel__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem 1.5rem;
    padding-bottom: 1.1rem;
    border-bottom: 1px solid #dbe4ef;
}

.lr-panel__role {
    margin: 0;
    color: #274f8d;
    font-size: 0.92rem;
    font-weight: 700;
    text-align: right;
}

.lr-ledger-panel[hidden] {
    display: none;
}

.lr-ledger-panel.is-active {
    animation: lr-panel-in 320ms cubic-bezier(0.22, 0.8, 0.25, 1) both;
}

.lr-panel__title-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.8rem;
}

.lr-panel__title-line h2 {
    margin: 0;
    color: var(--lr-ink);
    font-family: var(--lr-display);
    font-size: 1.75rem;
    letter-spacing: 0;
    line-height: 1.1;
}

.lr-panel__title-line > span {
    color: var(--lr-blue);
    font-size: 0.72rem;
    font-weight: 700;
}

.lr-panel__title-line > small {
    padding: 0.25rem 0.55rem;
    color: var(--lr-blue);
    background: #e6effd;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.lr-panel__subtitle {
    margin: 0.35rem 0 0;
    color: #405675;
    font-size: 0.82rem;
    font-weight: 600;
}

.lr-panel__summary {
    max-width: 82ch;
    margin: 1rem 0 0;
    color: var(--lr-ink-soft);
    font-size: 0.87rem;
    line-height: 1.55;
}

.lr-skill-section {
    margin-top: 1.1rem;
    padding-block: 0.8rem;
    border-block: 1px solid #dbe4ef;
}

.lr-section-label {
    display: flex;
    align-items: baseline;
    gap: 0.55rem;
}

.lr-section-label h3,
.lr-outcome-section > h3,
.lr-additional-impact > h3 {
    margin: 0;
    color: var(--lr-blue);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.lr-section-label span {
    color: #72849a;
    font-size: 0.64rem;
    text-transform: uppercase;
}

.lr-skill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.55rem;
}

.lr-skill {
    position: relative;
}

.lr-skill summary {
    min-height: 2rem;
    padding: 0.35rem 0.7rem;
    color: var(--lr-blue);
    background: rgb(255 255 255 / 72%);
    border: 1px solid #82afe9;
    border-radius: 0.45rem;
    cursor: pointer;
    font-size: 0.7rem;
    font-weight: 600;
    list-style: none;
}

.lr-skill summary::-webkit-details-marker {
    display: none;
}

.lr-skill[open] summary {
    color: #ffffff;
    background: #1d55ba;
}

.lr-skill > div {
    position: absolute;
    z-index: 20;
    top: calc(100% + 0.45rem);
    left: 0;
    width: min(17.5rem, 75vw);
    max-height: 12rem;
    overflow-y: auto;
    padding: 0.7rem;
    color: #ffffff;
    background: #174b93;
    border-radius: 0.5rem;
    box-shadow: 0 1rem 2rem rgb(7 35 75 / 28%);
}

.lr-skill > div ul {
    margin: 0.45rem 0 0;
    padding-left: 1.1rem;
    font-size: 0.66rem;
    line-height: 1.4;
}

.lr-outcome-section {
    margin-top: 1.3rem;
}

.lr-outcome-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.6rem;
}

.lr-outcome {
    position: relative;
    min-width: 0;
    min-height: 10.5rem;
    padding: 1.15rem 1rem 1.1rem;
    color: var(--lr-ink);
    text-align: left;
    background: rgb(255 255 255 / 46%);
    border: 1px solid rgb(255 255 255 / 72%);
    border-radius: 0.7rem;
    cursor: pointer;
    box-shadow: 0 0.45rem 1.2rem rgb(20 61 108 / 8%);
}

.lr-outcome__icon {
    position: absolute;
    top: 1.1rem;
    left: 1rem;
    width: 2.3rem !important;
    height: 2.3rem !important;
    color: #289cb9;
    stroke-width: 1.55 !important;
}

.lr-outcome:nth-child(1) .lr-outcome__icon,
.lr-outcome:nth-child(3) .lr-outcome__icon {
    color: #d99c26;
}

.lr-outcome strong {
    display: block;
    min-height: 2.3rem;
    margin-left: 3rem;
    color: #123568;
    font-family: var(--lr-display);
    font-size: 2.05rem;
    line-height: 1.05;
}

.lr-outcome span {
    display: block;
    margin-top: 0.25rem;
    margin-left: 3rem;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.3;
}

.lr-outcome small {
    display: block;
    margin-top: 0.7rem;
    color: #576b85;
    font-size: 0.68rem;
    line-height: 1.4;
}

.lr-outcome--text .lr-outcome__text {
    margin: 2.9rem 0 0;
    color: #33475f;
    font-size: 0.78rem;
    line-height: 1.45;
}

.lr-outcome:hover {
    border-color: var(--lr-blue);
    box-shadow: 0 0.65rem 1.5rem rgb(37 104 232 / 12%);
}

.lr-accomplishment-preview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 0.6rem 0 0;
    padding: 0;
    list-style: none;
    border-block: 1px solid #dbe4ef;
}

.lr-accomplishment-preview li {
    padding: 0.9rem;
    color: #344962;
    font-size: 0.76rem;
    line-height: 1.45;
}

.lr-accomplishment-preview li + li {
    border-left: 1px solid #dbe4ef;
}

.lr-education-summary {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 0.7rem;
    padding: 1rem;
    background: rgb(245 249 254 / 55%);
    border: 1px solid rgb(255 255 255 / 88%);
    border-radius: 0.65rem;
}

.lr-education-summary span {
    flex: 0 0 auto;
    color: #895f09;
    font-weight: 700;
}

.lr-education-summary p {
    margin: 0;
    color: var(--lr-ink-soft);
    font-size: 0.78rem;
}

.lr-additional-impact {
    margin-top: 1.15rem;
    padding: 0.75rem 0.9rem;
    background: rgb(248 251 255 / 52%);
    border: 1px solid rgb(255 255 255 / 88%);
    border-radius: 0.65rem;
}

.lr-additional-impact > div {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 0.55rem;
}

.lr-additional-impact button,
.lr-impact-skill {
    min-width: 0;
    padding: 0.35rem 0.75rem;
    color: #38506d;
    text-align: left;
    background: transparent;
    border: 0;
    border-left: 1px solid #d5e0ed;
    font-size: 0.64rem;
    line-height: 1.3;
}

.lr-additional-impact button svg {
    float: left;
    width: 1rem !important;
    height: 1rem !important;
    margin: 0.05rem 0.45rem 1rem 0;
    color: var(--lr-blue);
}

.lr-additional-impact button:first-child {
    border-left: 0;
}

.lr-additional-impact strong {
    display: block;
    color: var(--lr-blue);
    font-size: 0.82rem;
}

.lr-full-record {
    margin-top: 1rem;
    border-top: 1px solid #dce5ef;
}

.lr-full-record > summary {
    display: inline-flex;
    width: fit-content;
    min-height: 1.65rem;
    align-items: center;
    margin-top: 0.75rem;
    color: var(--lr-blue);
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: 700;
}

.lr-full-record__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 0.75rem;
    padding: 1rem;
    color: #405675;
    background: rgb(247 250 255 / 55%);
    border-radius: 0.65rem;
}

.lr-full-record__content h3 {
    margin: 0;
    color: var(--lr-ink);
    font-size: 0.85rem;
}

.lr-full-record__content ul {
    margin: 0.6rem 0 0;
    padding-left: 1.2rem;
    font-size: 0.73rem;
    line-height: 1.5;
}

.lr-full-record__content li + li {
    margin-top: 0.45rem;
}

.lr-ask-role {
    width: fit-content;
    min-height: 2.5rem;
    padding: 0.55rem 0.8rem;
    color: #ffffff;
    background: var(--lr-blue);
    border: 0;
    border-radius: 0.5rem;
    cursor: pointer;
    font-weight: 700;
}

.lr-vertical-section {
    padding: 2.75rem 2.5rem 3rem;
}

.lr-bubble {
    margin: var(--lr-gap) 0 0;
    background: linear-gradient(135deg, rgb(255 255 255 / 50%), rgb(241 248 255 / 40%));
    border: 2px solid rgb(255 255 255 / 72%);
    border-radius: 1.5rem;
    box-shadow:
        0 1.75rem 4.5rem rgb(17 44 78 / 15%),
        0 0 1.6rem rgb(68 154 255 / 9%),
        inset 0 0 0 0.35rem rgb(255 255 255 / 30%);
    backdrop-filter: blur(15px) saturate(1.2);
}

.lr-resume-flow > .lr-bubble:first-child {
    margin-top: 0;
}

/* Experience is a group of individual job cards under a thin intro
   card, with a slim strip of sky between each — not one big bubble. */
.lr-experience-section {
    margin-top: var(--lr-gap);
}

.lr-experience-intro {
    max-width: none;
    margin: 0 0 0.6rem;
    padding: 1.1rem 1.75rem 1.2rem;
}

.lr-ledger {
    scroll-margin-top: 6.25rem;
}

.lr-js-reveal [data-reveal] {
    opacity: 0;
    transform: translateY(2rem);
}

.lr-js-reveal [data-reveal].is-revealed {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 640ms ease,
        transform 640ms cubic-bezier(0.22, 0.8, 0.25, 1);
}

.lr-vertical-section__header {
    max-width: 52rem;
    margin-bottom: 1.4rem;
}

.lr-vertical-section__header > span {
    color: var(--lr-blue);
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.lr-vertical-section__header h2 {
    max-width: none;
    margin: 0.5rem 0 0;
    color: var(--lr-ink);
    font-family: var(--lr-display);
    font-size: 2rem;
    line-height: 1.08;
}

.lr-vertical-section__header p {
    max-width: 62ch;
    margin: 0.45rem 0 0;
    color: var(--lr-ink-soft);
    font-size: 0.88rem;
    line-height: 1.55;
}

.lr-experience-list {
    display: grid;
    gap: 0.6rem;
}

.lr-experience-row {
    --orb: #2456c9;
    position: relative;
    display: grid;
    grid-template-columns: 3.7rem minmax(10rem, 0.68fr) minmax(0, 1.32fr);
    align-items: start;
    gap: 0 1.5rem;
    margin: 0;
    padding: 1.6rem 1.85rem 1.6rem 2.5rem;
}

/* Left rail: a slim connector line with a jewel dot echoing the role's
   timeline orb color. */
.lr-experience-row::before {
    position: absolute;
    top: 2rem;
    bottom: 1.7rem;
    left: 1.3rem;
    width: 2px;
    background: linear-gradient(rgb(120 150 200 / 42%), rgb(120 150 200 / 6%));
    content: "";
}

.lr-experience-row::after {
    position: absolute;
    top: 1.75rem;
    left: 1.02rem;
    width: 0.62rem;
    height: 0.62rem;
    border-radius: 50%;
    background: var(--orb);
    box-shadow:
        0 0 0 0.2rem rgb(255 255 255 / 72%),
        0 0 0.45rem var(--orb);
    content: "";
}

/* Glossy hexagon glass badge (bottom mockup), lit like the timeline
   orbs. drop-shadow follows the clipped hexagon so the glow stays on
   shape. */
.lr-experience-row__badge {
    display: grid;
    width: 3.7rem;
    height: 3.7rem;
    margin-top: 0.15rem;
    place-items: center;
    color: #ffffff;
    background:
        radial-gradient(circle at 50% 24%, rgb(255 255 255 / 72%) 0%, rgb(255 255 255 / 0%) 44%),
        radial-gradient(circle at 50% 118%, rgb(4 18 42 / 34%) 0%, rgb(4 18 42 / 0%) 55%),
        var(--orb);
    clip-path: polygon(50% 1%, 93% 25%, 93% 75%, 50% 99%, 7% 75%, 7% 25%);
    filter:
        drop-shadow(0 0.35rem 0.55rem rgb(15 45 100 / 32%))
        drop-shadow(0 0 0.35rem color-mix(in srgb, var(--orb) 55%, transparent));
}

.lr-experience-row__badge svg {
    width: 1.65rem !important;
    height: 1.65rem !important;
    stroke-width: 1.8 !important;
    filter: drop-shadow(0 1px 1px rgb(4 18 42 / 45%));
}

.lr-experience-row small,
.lr-credential-list small {
    color: var(--lr-blue);
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.lr-experience-row h3,
.lr-credential-list h3 {
    margin: 0.4rem 0 0;
    color: var(--lr-ink);
    font-family: var(--lr-display);
    font-size: 1.45rem;
    line-height: 1.1;
}

.lr-experience-row header p,
.lr-credential-list strong {
    display: block;
    margin: 0.4rem 0 0;
    color: #405675;
    font-size: 0.78rem;
}

.lr-experience-row > div > p,
.lr-credential-list p {
    margin: 0;
    color: var(--lr-ink-soft);
    font-size: 0.82rem;
    line-height: 1.55;
}

.lr-role-skills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.8rem;
}

.lr-role-skills span {
    padding: 0.22rem 0.55rem;
    color: #174b93;
    background: rgb(255 255 255 / 68%);
    border: 1px solid #9dbfe9;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 600;
    line-height: 1.2;
}

.lr-experience-row ul {
    margin: 0.6rem 0 0;
    padding-left: 1.1rem;
    color: #344962;
    font-size: 0.78rem;
    line-height: 1.55;
}

.lr-experience-row li + li {
    margin-top: 0.35rem;
}

.lr-credential-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-block: 1px solid #cfdceb;
}

.lr-credential-list article {
    min-width: 0;
    padding: 1.25rem 1.5rem;
}

.lr-credential-list article + article {
    border-left: 1px solid #cfdceb;
}

.lr-credential-list p {
    margin-top: 0.55rem;
}

.lr-skill-flip-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.65rem;
}

.lr-skill-flip {
    position: relative;
    min-height: 9.5rem;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    perspective: 60rem;
    text-align: left;
}

.lr-skill-flip__inner {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    transition: transform 420ms cubic-bezier(0.3, 0.8, 0.3, 1);
    transform-style: preserve-3d;
}

.lr-skill-flip.is-flipped .lr-skill-flip__inner {
    transform: rotateY(180deg);
}

.lr-skill-flip__front,
.lr-skill-flip__back {
    position: absolute;
    inset: 0;
    display: grid;
    align-content: center;
    justify-items: center;
    padding: 0.7rem;
    border-radius: 0.7rem;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.lr-skill-flip__front {
    gap: 0.35rem;
    color: var(--lr-blue);
    background: rgb(255 255 255 / 60%);
    border: 1px solid #82afe9;
    text-align: center;
}

.lr-skill-flip__front strong {
    font-size: 0.92rem;
    line-height: 1.2;
}

.lr-skill-flip__front small {
    color: #6a7c92;
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.lr-skill-flip__back {
    align-content: center;
    color: #ffffff;
    background: #174b93;
    border: 1px solid #4b7fc9;
    transform: rotateY(180deg);
}

.lr-skill-flip__back ul {
    margin: 0;
    padding-left: 0.9rem;
    font-size: 0.66rem;
    line-height: 1.4;
}

.lr-skill-flip__back li {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.lr-skill-flip__back li + li {
    margin-top: 0.4rem;
}

.lr-skill-flip:hover .lr-skill-flip__front {
    border-color: var(--lr-blue);
    box-shadow: 0 0.5rem 1.2rem rgb(37 104 232 / 14%);
}

.lr-chapter-transition {
    display: grid;
    height: min(26vh, 15rem);
    place-items: center;
}

.lr-chapter-transition span {
    position: relative;
    width: 1px;
    height: 4.5rem;
    background: linear-gradient(var(--lr-blue), var(--lr-cyan));
}

.lr-chapter-transition span::after {
    position: absolute;
    top: 100%;
    left: 50%;
    width: 0.5rem;
    height: 0.5rem;
    background: var(--lr-cyan);
    border-radius: 50%;
    box-shadow: 0 0 0.75rem rgb(46 200 211 / 65%);
    content: "";
    transform: translate(-50%, -0.15rem);
}


.lr-constellation {
    width: min(calc(100% - 3rem), 100rem);
    margin: 0 auto;
    scroll-margin-top: 8.5rem;
}

.lr-constellation__scene {
    position: relative;
    min-height: 58rem;
    overflow: hidden;
    color: #f3f8ff;
    background:
        linear-gradient(100deg, #04172e 0%, #0a2b4d 34%, #8faabd 55%, #dceaf2 70%, #f5faff 100%);
    border: 2px solid rgb(170 213 245 / 82%);
    border-radius: 1.75rem;
    box-shadow:
        0 2rem 5rem rgb(4 22 43 / 28%),
        0 0 1.8rem rgb(82 176 255 / 17%),
        inset 0 0 0 0.45rem rgb(255 255 255 / 34%),
        inset 0 0 2.5rem rgb(133 206 255 / 12%);
}

.lr-constellation__intro {
    position: absolute;
    z-index: 3;
    top: 3rem;
    left: 2.5rem;
    width: 31rem;
}

.lr-constellation__intro > p:first-child {
    margin: 0;
    color: #77dce7;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
}

.lr-constellation__intro h2 {
    max-width: none;
    margin: 1rem 0 0;
    font-family: var(--lr-display);
    font-size: 3.7rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 0.98;
}

.lr-constellation__intro em {
    display: block;
    margin-top: 0.8rem;
    color: #c3d0df;
    font-family: var(--lr-display);
    font-size: 1.45rem;
}

.lr-constellation__intro > span {
    display: block;
    width: 4rem;
    height: 0.18rem;
    margin-top: 1.5rem;
    background: var(--lr-cyan);
}

.lr-constellation__intro > p:last-child {
    max-width: 20rem;
    margin: 1.2rem 0 0;
    color: #c1cfde;
    font-size: 0.83rem;
    line-height: 1.6;
}

.lr-constellation__legend {
    position: absolute;
    z-index: 4;
    top: 2.5rem;
    left: 40%;
    display: flex;
    gap: 1.3rem;
    padding: 0.7rem 1rem;
    color: #e9f3ff;
    background: rgb(7 29 55 / 36%);
    border: 1px solid rgb(255 255 255 / 28%);
    border-radius: 0.65rem;
    font-size: 0.68rem;
}

.lr-constellation__legend span {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.lr-constellation__legend i {
    width: 0.75rem;
    height: 0.75rem;
    background: var(--lr-blue);
    border-radius: 50%;
}

.lr-constellation__legend .is-experience {
    background: var(--lr-cyan);
}

.lr-constellation__legend .is-credential {
    background: var(--lr-amber);
}

.lr-constellation__legend .is-future {
    background: #78c7ff;
    box-shadow: 0 0 0.65rem #78c7ff;
}

.lr-constellation__evolution {
    position: absolute;
    z-index: 5;
    top: 7rem;
    left: 42.2%;
    width: 11.5rem;
    padding: 0.9rem 1rem;
    color: #173b5e;
    background: rgb(240 248 253 / 92%);
    border: 1px solid rgb(255 255 255 / 72%);
    border-radius: 0.7rem;
    box-shadow: 0 0.8rem 2rem rgb(9 40 69 / 16%);
}

.lr-constellation__evolution small,
.lr-constellation__evolution span {
    display: block;
    color: #326687;
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.lr-constellation__evolution small {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.lr-constellation__evolution small svg {
    width: 1.25rem !important;
    height: 1.25rem !important;
    color: #00a8be;
}

.lr-constellation__evolution::after {
    position: absolute;
    top: 100%;
    left: calc(50% + 1rem);
    width: 1px;
    height: 9.5rem;
    border-left: 2px dotted rgb(222 246 255 / 76%);
    content: "";
}

.lr-constellation__evolution p {
    margin: 0.45rem 0 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #b7cddd;
    font-size: 0.6rem;
    line-height: 1.45;
}

.lr-constellation__evolution strong {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.62rem;
    line-height: 1.4;
}

.lr-constellation__evolution i {
    color: #008ca1;
    font-style: normal;
}

.lr-constellation__canvas {
    position: absolute;
    z-index: 2;
    inset: 7.5rem 1.5rem 13rem;
}

.lr-constellation__line {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.lr-constellation__line path {
    fill: none;
    stroke: #82c8ff;
    stroke-width: 3;
}

.lr-constellation__line .lr-constellation__glow {
    stroke: rgb(84 200 255 / 26%);
    stroke-width: 13;
}

.lr-constellation__line .lr-constellation__branch {
    stroke: #87c8ff;
    stroke-width: 2;
}

.lr-constellation__line .lr-constellation__future-tail {
    stroke: #7dc9ff;
    stroke-width: 3;
}

.lr-constellation__line marker path {
    fill: #74c6ff;
    stroke: none;
}

.lr-constellation__junction {
    position: absolute;
    top: 58.9%;
    left: 50%;
    z-index: 7;
    display: grid;
    width: 4.15rem;
    height: 4.15rem;
    place-items: center;
    background: #087292;
    border: 3px solid #8bf1f6;
    border-radius: 50%;
    box-shadow:
        0 0 0 0.42rem rgb(33 203 219 / 24%),
        0 0 1.8rem rgb(69 224 238 / 86%);
    transform: translate(-50%, -50%);
}

.lr-constellation__junction i {
    width: 1.35rem;
    height: 1.35rem;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 0.8rem #ffffff;
}

.lr-constellation-node:nth-child(-n + 3) .lr-constellation-node__copy > strong,
.lr-constellation-node:nth-child(-n + 3) .lr-constellation-node__copy > span,
.lr-constellation-node:nth-child(-n + 3) .lr-constellation-node__copy ul,
.lr-constellation-node:nth-child(-n + 3) .lr-constellation-node__copy p {
    color: #eef7ff;
}

.lr-constellation-node:nth-child(-n + 3) .lr-constellation-node__copy > small {
    color: #72e1e9;
}

.lr-constellation-node:nth-child(-n + 3) .lr-constellation-node__copy {
    text-shadow:
        0 1px 10px rgb(4 23 46 / 85%),
        0 0 2px rgb(4 23 46 / 60%);
}

.lr-constellation__nodes {
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lr-constellation-node {
    position: absolute;
    top: var(--node-y);
    left: var(--node-x);
    z-index: 3;
    width: 13rem;
    transform: translate(-50%, -50%);
}

.lr-constellation-node button,
.lr-constellation-node__static {
    position: relative;
    display: grid;
    width: 100%;
    justify-items: center;
    padding: 0;
    color: var(--lr-ink);
    text-align: center;
    background: transparent;
    border: 0;
}

.lr-constellation-node button {
    cursor: pointer;
}

.lr-constellation-node__marker {
    display: grid;
    width: 3.6rem;
    height: 3.6rem;
    place-items: center;
    color: #ffffff;
    background: #126a92;
    border: 2px solid #72e2ea;
    border-radius: 50%;
    box-shadow:
        0 0 0 0.45rem rgb(48 194 218 / 14%),
        0 0 1.5rem rgb(46 200 211 / 58%);
    transition: transform 160ms ease-out;
}

.lr-constellation-node__marker svg {
    width: 1.85rem !important;
    height: 1.85rem !important;
    stroke-width: 1.7 !important;
}

.lr-constellation-node.is-education .lr-constellation-node__marker {
    background: var(--lr-indigo);
    border-color: #94a7ff;
}

.lr-constellation-node.is-credential .lr-constellation-node__marker {
    color: #573c06;
    background: var(--lr-amber);
    border-color: #ffe0a0;
    box-shadow:
        0 0 0 0.45rem rgb(215 163 62 / 14%),
        0 0 1.5rem rgb(215 163 62 / 54%);
}

.lr-constellation-node.is-future .lr-constellation-node__marker {
    background: #409dd6;
    border-color: #b4ebff;
}

.lr-constellation-node button:hover .lr-constellation-node__marker {
    transform: scale(1.1);
}

.lr-constellation-node.is-current .lr-constellation-node__marker {
    border-color: #ffffff;
    box-shadow:
        0 0 0 0.28rem rgb(255 255 255 / 62%),
        0 0 0 0.62rem rgb(46 200 211 / 22%),
        0 0 2rem rgb(46 200 211 / 72%);
    transform: scale(1.08);
}

.lr-constellation-node__copy {
    position: absolute;
    left: 50%;
    display: block;
    width: 13rem;
    color: #0b3456;
    text-align: left;
    transform: translateX(-50%);
}

.lr-constellation-node.is-credential .lr-constellation-node__copy,
.lr-constellation-node.is-future .lr-constellation-node__copy {
    width: 10.5rem;
}

.lr-constellation-node[data-event-id="role-dod"] .lr-constellation-node__copy {
    width: 14rem;
}

.lr-constellation-node[data-event-id="role-l3harris"] .lr-constellation-node__copy,
.lr-constellation-node[data-event-id="role-northrop"] .lr-constellation-node__copy,
.lr-constellation-node[data-event-id="education-ms"] .lr-constellation-node__copy {
    width: 11.5rem;
}

.label-above .lr-constellation-node__copy {
    bottom: 4.5rem;
}

.label-below .lr-constellation-node__copy {
    top: 4.5rem;
}

.lr-constellation-node__copy > small,
.lr-constellation-node__copy > strong,
.lr-constellation-node__copy > span {
    display: block;
}

.lr-constellation-node__copy > small {
    color: #007b9b;
    font-size: 0.66rem;
    font-weight: 700;
}

.lr-constellation-node__copy > strong {
    margin-top: 0.2rem;
    font-family: var(--lr-display);
    font-size: 1.08rem;
    line-height: 1.05;
}

.lr-constellation-node__copy > span {
    margin-top: 0.25rem;
    color: #183b5d;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.25;
}

.lr-constellation-node__copy ul,
.lr-constellation-node__copy p {
    margin: 0.45rem 0 0;
    padding-left: 0.9rem;
    color: #244a68;
    font-size: 0.61rem;
    line-height: 1.35;
}

.lr-constellation-node__copy p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.lr-constellation-node__copy li {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.lr-constellation-node__copy li::marker {
    color: #00a1b7;
}

.lr-constellation-node__copy p {
    padding-left: 0;
}

.lr-constellation__skills {
    position: absolute;
    z-index: 5;
    right: 5rem;
    bottom: 14.5rem;
    left: 26rem;
    display: flex;
    justify-content: space-between;
    gap: 0.45rem;
}

.lr-constellation__skills span {
    padding: 0.3rem 0.7rem;
    color: #0a526f;
    background: rgb(229 246 252 / 78%);
    border: 1px solid #2fb6c6;
    border-radius: 999px;
    font-size: 0.55rem;
    line-height: 1.15;
    text-align: center;
}

.lr-constellation__skills span:nth-child(3) {
    color: #ffffff;
    background: #08728b;
    box-shadow: 0 0 0.8rem rgb(46 200 211 / 32%);
}

.lr-constellation__evidence {
    position: absolute;
    z-index: 6;
    bottom: 17rem;
    left: 49%;
    display: grid;
    width: 10.5rem;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    color: #e9fbff;
    background: #07516d;
    border: 1px solid #74d9e4;
    border-radius: 0.55rem;
    box-shadow: 0 0.8rem 1.8rem rgb(4 34 57 / 24%);
    transform: translateX(-50%);
}

.lr-constellation__evidence h3 {
    grid-column: 1 / -1;
    margin: 0;
    padding: 0.45rem 0.65rem;
    color: #ffffff;
    background: #09677f;
    font-size: 0.62rem;
}

.lr-constellation__evidence span {
    padding: 0.45rem 0.6rem;
    font-size: 0.5rem;
    line-height: 1.2;
}

.lr-constellation__evidence strong {
    display: block;
    color: #92edf1;
    font-size: 0.72rem;
}

.lr-constellation__outcomes {
    position: absolute;
    z-index: 5;
    right: 2.5rem;
    bottom: 7.2rem;
    left: 24rem;
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    padding: 0.9rem 1rem;
    color: #e5f7ff;
    background: rgb(16 58 91 / 64%);
    border: 1px solid rgb(177 225 255 / 48%);
    border-radius: 0.8rem;
}

.lr-constellation__outcomes h3 {
    margin: 0;
    font-size: 0.66rem;
    letter-spacing: 0.16em;
    line-height: 1.5;
    text-transform: uppercase;
}

.lr-constellation__outcomes > div {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
}

.lr-constellation__outcomes span {
    position: relative;
    min-height: 3.15rem;
    min-width: 0;
    padding: 0.15rem 0.4rem 0 2.35rem;
    border-left: 1px solid rgb(206 235 255 / 34%);
    font-size: 0.55rem;
    line-height: 1.25;
}

.lr-constellation__outcomes span svg {
    position: absolute;
    top: 0.25rem;
    left: 0.55rem;
    width: 1.45rem !important;
    height: 1.45rem !important;
    color: #a2eff4;
    stroke-width: 1.55 !important;
}

.lr-constellation__outcomes strong {
    display: block;
    color: #8eeaf0;
    font-size: 1.05rem;
}

.lr-constellation__footer {
    position: absolute;
    z-index: 6;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    min-height: 6rem;
    grid-template-columns: minmax(18rem, 0.9fr) minmax(34rem, 1.7fr);
    align-items: center;
    gap: 2rem;
    padding: 1.25rem 3rem;
    background: rgb(3 22 45 / 92%);
    border-top: 1px solid rgb(154 211 248 / 42%);
}

.lr-constellation__footer blockquote {
    margin: 0;
    color: #e8f3ff;
    font-family: var(--lr-display);
    font-size: 0.85rem;
    font-style: italic;
}

.lr-constellation__footer > div {
    display: flex;
    justify-content: flex-end;
    gap: 0;
    padding-right: 4.5rem;
}

.lr-constellation__footer span {
    display: grid;
    min-width: 0;
    flex: 1;
    grid-template-columns: 1.6rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 0.5rem;
    padding: 0 0.75rem;
    color: #d4e5f5;
    border-left: 1px solid rgb(171 210 239 / 30%);
    font-size: 0.65rem;
    font-weight: 600;
}

.lr-constellation__footer span svg {
    grid-row: 1 / 3;
    width: 1.35rem !important;
    height: 1.35rem !important;
    color: #d8ecff;
}

.lr-constellation__footer span strong,
.lr-constellation__footer span small {
    min-width: 0;
}

.lr-constellation__footer span small {
    color: #aebfd0;
    font-size: 0.55rem;
    font-weight: 400;
}

.lr-constellation__compass {
    position: absolute;
    z-index: 8;
    right: 1.4rem;
    bottom: 1.1rem;
    display: grid;
    width: 4rem;
    height: 4rem;
    place-items: center;
    color: #8ce8ff;
    border: 1px dashed #27b9ed;
    border-radius: 50%;
    box-shadow: 0 0 1.2rem rgb(39 185 237 / 25%);
}

.lr-constellation__compass svg {
    width: 2rem !important;
    height: 2rem !important;
}

.lr-page :is(button, a, summary):focus-visible,
.lr-ledger-panel:focus-visible {
    outline: 3px solid #008e9a;
    outline-offset: 3px;
}

.lr-constellation :is(button, a):focus-visible {
    outline-color: #7ce8ee;
}

.lr-highlight {
    animation: lr-highlight 1400ms ease-out;
}

@keyframes lr-panel-in {
    from {
        opacity: 0;
        transform: translateY(0.75rem);
    }

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

@keyframes lr-highlight {
    0%, 100% {
        background-color: transparent;
    }

    30% {
        background-color: rgb(215 163 62 / 24%);
    }
}

@media (max-width: 75rem) {
    .lr-identity__who {
        grid-template-columns: 7rem minmax(0, 1fr);
        padding: 1.5rem 1.75rem;
    }

    .lr-ledger__portrait {
        width: 6.5rem;
    }

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

    .lr-additional-impact > div {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 64rem) {
    .lr-page {
        --lr-gap: min(16vh, 8.5rem);
    }

    .lr-resume-layout,
    .lr-identity,
    .lr-timeline-shell,
    .lr-preview-label {
        width: calc(100% - 2.5rem);
    }

    .lr-identity {
        grid-template-columns: 1fr;
    }

    .lr-identity__who {
        grid-template-columns: 6rem minmax(0, 1fr);
        padding: 1.75rem 2rem;
    }

    .lr-identity__ai {
        border-left: 0;
        border-top: 1px solid rgb(255 255 255 / 55%);
    }

    .lr-timeline-region {
        overflow-x: auto;
    }

    .lr-timeline {
        min-width: 62rem;
    }

    .lr-resume-layout {
        grid-template-columns: 11.5rem minmax(0, 1fr);
        gap: 1rem;
    }

    .lr-skill-flip-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lr-ledger__rail a {
        grid-template-columns: 1.15rem minmax(0, 1fr);
    }

    .lr-ledger__rail a span {
        display: none;
    }

    .lr-credential-list {
        grid-template-columns: 1fr;
    }

    .lr-credential-list article + article {
        border-top: 1px solid #cfdceb;
        border-left: 0;
    }

    .lr-constellation__scene {
        min-height: 0;
        padding: 5rem 2rem 2rem;
        background: linear-gradient(160deg, #06182f 0%, #0d2d50 52%, #d6e7f0 100%);
    }

    .lr-constellation__intro,
    .lr-constellation__legend,
    .lr-constellation__evolution,
    .lr-constellation__canvas,
    .lr-constellation__skills,
    .lr-constellation__evidence,
    .lr-constellation__outcomes,
    .lr-constellation__footer {
        position: relative;
        inset: auto;
    }

    .lr-constellation__intro {
        width: auto;
    }

    .lr-constellation__intro h2 {
        max-width: 12ch;
    }

    .lr-constellation__legend {
        left: auto;
        width: fit-content;
        margin-top: 2rem;
    }

    .lr-constellation__evolution {
        width: min(100%, 24rem);
        margin-top: 1.5rem;
    }

    .lr-constellation__canvas {
        margin-top: 3rem;
    }

    .lr-constellation__line {
        display: none;
    }

    .lr-constellation__junction,
    .lr-constellation__compass,
    .lr-constellation__evolution::after {
        display: none;
    }

    .lr-constellation__nodes {
        position: relative;
        display: grid;
        gap: 0;
    }

    .lr-constellation__nodes::before {
        position: absolute;
        top: 2rem;
        bottom: 2rem;
        left: 1.8rem;
        width: 3px;
        background: linear-gradient(var(--lr-indigo), var(--lr-cyan), #78c7ff);
        content: "";
    }

    .lr-constellation-node {
        position: relative;
        top: auto;
        left: auto;
        width: auto;
        transform: none;
    }

    .lr-constellation-node button,
    .lr-constellation-node__static {
        display: grid;
        min-height: 9rem;
        grid-template-columns: 3.6rem minmax(0, 1fr);
        align-items: center;
        gap: 1.25rem;
        text-align: left;
    }

    .lr-constellation-node__copy,
    .label-above .lr-constellation-node__copy,
    .label-below .lr-constellation-node__copy {
        position: static;
        width: auto;
        color: #f3f8ff;
        transform: none;
    }

    .lr-constellation-node[data-event-id] .lr-constellation-node__copy {
        right: auto;
        left: auto;
        width: auto;
        transform: none;
    }

    .lr-constellation-node__copy > strong,
    .lr-constellation-node__copy > span,
    .lr-constellation-node__copy ul,
    .lr-constellation-node__copy p {
        color: #f3f8ff;
    }

    .lr-constellation-node__copy > small {
        color: #79e2e9;
    }

    .lr-constellation__outcomes {
        grid-template-columns: 1fr;
        margin-top: 2rem;
    }

    .lr-constellation__skills {
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-top: 1.5rem;
    }

    .lr-constellation__evidence {
        width: min(100%, 18rem);
        margin-top: 1rem;
        transform: none;
    }

    .lr-constellation__outcomes > div {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1rem 0;
    }

    .lr-constellation__footer {
        grid-template-columns: 1fr;
        margin: 2rem -2rem -2rem;
    }

    .lr-constellation__footer > div {
        justify-content: flex-start;
        flex-wrap: wrap;
        padding-right: 0;
    }
}

@media (max-width: 48rem) {
    .lr-page {
        padding-top: 1.5rem;
    }

    .lr-page::before {
        background:
            linear-gradient(180deg, rgb(244 250 255 / 42%) 0%, rgb(236 246 255 / 26%) 40%, rgb(228 240 252 / 46%) 100%),
            url("../images/background-templates/mountains.png") center top / cover no-repeat;
    }

    .lr-page {
        --lr-gap: min(12vh, 6rem);
    }

    .lr-timeline-shell,
    .lr-resume-layout {
        margin-top: 1.75rem;
    }

    .lr-resume-dock {
        top: 5.85rem;
        width: calc(100% - 1rem);
    }

    .lr-resume-dock a {
        min-height: 2.15rem;
        padding: 0.5rem 0.65rem;
        font-size: 0.65rem;
    }

    .lr-resume-layout,
    .lr-identity,
    .lr-timeline-shell,
    .lr-preview-label,
    .lr-constellation {
        width: calc(100% - 1.5rem);
    }

    .lr-identity,
    .lr-timeline-shell .lr-timeline-region,
    .lr-bubble,
    .lr-constellation__scene {
        border-radius: 1rem;
    }

    .lr-resume-layout {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .lr-identity__who {
        grid-template-columns: 4.75rem minmax(0, 1fr);
        padding: 1.5rem 1.15rem;
        gap: 1rem;
    }

    .lr-ledger__portrait {
        width: 4.75rem;
        border-width: 0.25rem;
    }

    .lr-ledger__intro h1 {
        font-size: 2.35rem;
    }

    .lr-ledger__role {
        font-size: 0.68rem;
        letter-spacing: 0.07em;
    }

    .lr-ledger__summary {
        font-size: 0.83rem;
    }

    .lr-timeline-region {
        overflow: visible;
        padding: 1.4rem 1.1rem;
    }

    .lr-timeline {
        min-width: 0;
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }

    .lr-timeline::before {
        top: 1.8rem;
        right: auto;
        bottom: 1.8rem;
        left: 1.75rem;
        width: 3px;
        height: auto;
        background: linear-gradient(var(--lr-indigo), var(--lr-blue), var(--lr-cyan));
        border: 0;
    }

    .lr-timeline__event {
        min-height: 4.7rem;
        grid-template-columns: 3.6rem 1fr;
        grid-template-rows: auto auto auto;
        align-items: center;
        justify-items: start;
        gap: 0 0.8rem;
        padding: 0.4rem 0;
        text-align: left;
    }

    .lr-timeline__marker {
        grid-row: 1 / 4;
        width: 3.6rem;
        height: 3.6rem;
    }

    .lr-timeline__marker svg {
        width: 1.75rem !important;
        height: 1.75rem !important;
    }

    .lr-timeline__event strong,
    .lr-timeline__event small,
    .lr-timeline__kind {
        grid-column: 2;
        margin: 0;
        display: block;
    }

    .lr-timeline__event[aria-selected="true"]::after {
        display: none;
    }

    .lr-ledger__rail {
        top: 5.85rem;
        z-index: 25;
        min-height: 0;
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
        margin-bottom: 1rem;
        border: 0;
        border-bottom: 1px solid var(--lr-line);
        border-radius: 1rem;
        background: rgb(243 247 252 / 97%);
        box-shadow: 0 0.65rem 1rem rgb(12 45 100 / 8%);
    }

    .lr-ledger__rail nav {
        display: flex;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        padding-bottom: 0.25rem;
    }

    .lr-ledger__rail a {
        min-height: 2.65rem;
        flex: 0 0 auto;
    }

    .lr-ledger__rail > p {
        display: none;
    }

    .lr-ledger__detail {
        min-width: 0;
        max-width: 100%;
    }

    .lr-ledger-panel {
        min-height: 0;
        min-width: 0;
        max-width: 100%;
        padding: 1.35rem 1.1rem 1.6rem;
    }

    .lr-panel__header {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .lr-panel__role {
        text-align: left;
    }

    .lr-panel__title-line {
        display: grid;
        justify-items: start;
    }

    .lr-panel__title-line h2 {
        font-size: 1.65rem;
    }

    .lr-outcome-grid,
    .lr-accomplishment-preview,
    .lr-additional-impact > div,
    .lr-full-record__content {
        grid-template-columns: 1fr;
    }

    .lr-vertical-section {
        padding: 2.5rem 1.1rem;
    }

    .lr-vertical-section__header {
        margin-bottom: 1.25rem;
    }

    .lr-vertical-section__header h2 {
        font-size: 1.7rem;
    }

    .lr-experience-row {
        grid-template-columns: 3rem minmax(0, 1fr);
        gap: 0.5rem 1rem;
        padding: 1.3rem 1.15rem;
    }

    .lr-experience-row::before,
    .lr-experience-row::after {
        display: none;
    }

    .lr-experience-row__badge {
        width: 3rem;
        height: 3rem;
        grid-row: 1 / 3;
    }

    .lr-experience-row__badge svg {
        width: 1.35rem !important;
        height: 1.35rem !important;
    }

    .lr-experience-row header {
        grid-column: 2;
    }

    .lr-experience-row > div {
        grid-column: 1 / -1;
        margin-top: 0.4rem;
    }

    .lr-skill-flip-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lr-outcome {
        min-height: 0;
    }

    .lr-outcome strong {
        min-height: 0;
    }

    .lr-accomplishment-preview li + li,
    .lr-additional-impact button,
    .lr-impact-skill {
        border-top: 1px solid #dbe4ef;
        border-left: 0;
    }

    .lr-chapter-transition {
        height: 6rem;
    }

    .lr-constellation__scene {
        padding: 4rem 1.25rem 1.5rem;
    }

    .lr-constellation__intro h2 {
        font-size: 3rem;
    }

    .lr-constellation__intro em {
        font-size: 1.2rem;
    }

    .lr-constellation__legend {
        gap: 0.7rem;
        flex-wrap: wrap;
        padding: 0.75rem;
    }

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

    .lr-constellation__outcomes span {
        min-height: 3.5rem;
    }

    .lr-constellation__footer {
        margin: 2rem -1.25rem -1.5rem;
        padding: 1.5rem;
    }
}

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

    .lr-js-reveal [data-reveal] {
        opacity: 1;
        transform: none;
    }
}

@media (forced-colors: active) {
    .lr-identity,
    .lr-timeline-region,
    .lr-bubble,
    .lr-ledger__rail,
    .lr-outcome,
    .lr-additional-impact,
    .lr-constellation__scene {
        color: CanvasText;
        background: Canvas;
        border-color: CanvasText;
        box-shadow: none;
    }

    .lr-timeline::before,
    .lr-constellation__nodes::before {
        background: CanvasText;
    }

    .lr-timeline__marker,
    .lr-constellation-node__marker {
        color: ButtonText;
        background: ButtonFace;
        border-color: ButtonText;
        box-shadow: none;
    }
}

/* =====================================================================
   LAYERED INK & SIGNAL GOLD (PS-THEME-002, 2026-07-16)
   body[data-theme="dark"]: the résumé document keeps ink type on warm
   paper slabs (resume2.css floats them on the near-black canvas), so
   these tokens intentionally stay paper-side; the page chrome around
   the slabs goes dark below.
   ===================================================================== */
body[data-theme="dark"] {
    --lr-ink: #0a1730;
    --lr-ink-soft: #66645f;
    --lr-paper: #fdfcf9;
    --lr-cloud: #f1efea;
    --lr-line: #ddd9d0;
    --lr-blue: #8a6500;
    --lr-indigo: #8a6500;
    --lr-cyan: #bf8f17;
    --lr-amber: #d8a928;
    --lr-night: #0a1730;
}

/* Résumé sub-header strip: graphite layer between the ink header and the
   black stage (the light theme paints it pale blue). */
body[data-theme="dark"].living-resume-v2-page .profile-tabs--resume {
    border-top: 1px solid #253c66;
    background: linear-gradient(180deg, rgb(16 31 60 / 92%), rgb(14 29 58 / 98%));
}

body[data-theme="dark"].living-resume-v2-page .profile-tabs--resume .profile-tab {
    color: #9aa5b8;
}

body[data-theme="dark"].living-resume-v2-page .profile-tabs--resume .profile-tab:hover,
body[data-theme="dark"].living-resume-v2-page .profile-tabs--resume .profile-tab:focus-visible,
body[data-theme="dark"].living-resume-v2-page .profile-tabs--resume .profile-tab[aria-current="page"] {
    color: #e3b83a;
}

body[data-theme="dark"].living-resume-v2-page .profile-tabs--resume .profile-tab::after {
    background: #d8a928;
}

/* Constellation dark stage in mono: graphite scene, warm-gray paths,
   off-white nodes, gold highlights (brief: nodes off-white, gold when
   selected; green only for verified). */
body[data-theme="dark"] .lr-constellation__scene {
    border-color: #34497b;
    background: radial-gradient(circle at 50% 18%, #253a61 0%, #182c52 55%, #0a1730 100%);
}

body[data-theme="dark"] .lr-constellation p { color: #afb9cb; }
body[data-theme="dark"] .lr-constellation em { color: #cbd3e0; }

body[data-theme="dark"] .lr-constellation__legend {
    color: #f7f9fc;
    background: rgb(10 23 48 / 55%);
}

body[data-theme="dark"] .lr-constellation__legend i.is-future { background: #d8a928; }
