/*
 * GolfDay Results Player Profile / My Golf Story
 * Scoped stylesheet. Loaded only by /players/profile.php.
 * The visual language deliberately borrows from /assets/css/event-hub.css.
 */

.player-profile {
    --pp-green-950: #031a13;
    --pp-green-900: #063324;
    --pp-green-800: #0b4735;
    --pp-gold: #d6a937;
    --pp-gold-soft: #f3dfac;
    --pp-cream: #f4eddd;
    --pp-card: rgba(255, 255, 255, 0.94);
    --pp-ink: #09261d;
    --pp-muted: rgba(9, 38, 29, 0.66);
    --pp-line: rgba(9, 38, 29, 0.11);
    --pp-shadow: 0 18px 44px rgba(7, 30, 22, 0.10);
    --pp-shadow-strong: 0 26px 70px rgba(0, 0, 0, 0.24);
    color: var(--pp-ink);
    background:
        radial-gradient(circle at 82% 6%, rgba(214, 169, 55, 0.09), transparent 25rem),
        linear-gradient(180deg, #efe8d8 0, #f8f4eb 50rem, #f7f2e8 100%);
    min-height: 100vh;
    overflow-x: hidden;
}

.player-profile *,
.player-profile *::before,
.player-profile *::after { box-sizing: border-box; }
.player-profile a { color: inherit; }
.player-profile h1,
.player-profile h2,
.player-profile h3,
.player-profile p { margin-top: 0; }

.player-profile__wrap {
    width: min(1460px, calc(100% - 7vw));
    margin: 0 auto;
}

.pp-kicker {
    display: flex;
    align-items: center;
    gap: .7rem;
    color: var(--pp-gold);
    text-transform: uppercase;
    letter-spacing: .13em;
    font-size: .78rem;
    font-weight: 750;
}

.pp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .58rem;
    min-height: 42px;
    border: 0;
    border-radius: .55rem;
    padding: .72rem 1.15rem;
    font-size: .88rem;
    line-height: 1;
    font-weight: 780;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.pp-btn:hover { transform: translateY(-1px); }
.pp-btn--gold {
    color: #08261c;
    background: linear-gradient(180deg, #f4cf64, #d6a937);
    box-shadow: 0 12px 28px rgba(214,169,55,.24);
}
.pp-btn--dark {
    color: #fff7df;
    background: #083326;
    box-shadow: 0 12px 28px rgba(7,30,22,.16);
}
.pp-btn--ghost {
    color: var(--pp-ink);
    border: 1px solid rgba(9,38,29,.12);
    background: rgba(255,255,255,.70);
}

/* Hero: Event Hub rhythm, homepage background, player identity content */
.player-profile-hero {
    position: relative;
    min-height: 610px;
    color: #fff7df;
    isolation: isolate;
    background:
        linear-gradient(90deg, rgba(1,18,13,.96) 0%, rgba(2,29,20,.84) 43%, rgba(2,29,20,.52) 74%, rgba(2,29,20,.78) 100%),
        linear-gradient(180deg, rgba(3,29,21,.34), rgba(3,29,21,.64)),
        url('../images/home/hero-bg.jpg') center / cover no-repeat,
        #05261d;
}
.player-profile-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 79% 20%, rgba(214,169,55,.18), transparent 25rem),
        linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.18));
    pointer-events: none;
}
.player-profile-hero::after { content: none; }
.player-profile-hero__image { display: none; }
.player-profile-hero__image img { display: none; }
.player-profile-hero__content {
    position: relative;
    z-index: 1;
    width: min(1460px, calc(100% - 7vw));
    min-height: 610px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: end;
    padding: 3.2rem 0 4.6rem;
}
.player-profile-hero__main { min-width: 0; }
.player-profile-status {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border: 1px solid rgba(214, 169, 55, .46);
    border-radius: 999px;
    padding: .42rem .78rem;
    background: rgba(214, 169, 55, .11);
    color: var(--pp-gold-soft);
    text-transform: uppercase;
    letter-spacing: .105em;
    font-size: .72rem;
    font-weight: 780;
}
.player-profile-status i { color: var(--pp-gold); }
.player-profile-hero h1 {
    max-width: 920px;
    margin: 1rem 0 .9rem;
    font: inherit;
    font-size: clamp(3.65rem, 7.4vw, 7rem);
    line-height: .93;
    letter-spacing: -.055em;
    font-weight: 650;
    color: #fff8e8;
    text-shadow: 0 12px 34px rgba(0,0,0,.28);
}
.player-profile-hero__standfirst {
    margin: 0 0 1.35rem;
    max-width: 760px;
    font-size: clamp(1.14rem, 1.75vw, 1.58rem);
    font-weight: 500;
    line-height: 1.42;
    color: rgba(255,247,223,.94);
}
.player-profile-hero__quote {
    position: relative;
    margin: 0 0 0 0;
    max-width: 650px;
    padding-left: 2.1rem;
    color: #fff7df;
    font-size: clamp(1.25rem, 2.05vw, 2rem);
    line-height: 1.26;
    letter-spacing: -.035em;
    font-weight: 560;
}
.player-profile-hero__quote::before {
    content: "“";
    position: absolute;
    left: 0;
    top: -.35rem;
    color: var(--pp-gold);
    font-size: 4.4rem;
    line-height: 1;
    font-weight: 760;
}
.player-profile-ai-prefix {
    display: none !important;
    display: inline-flex;
    margin-right: .35rem;
    color: var(--pp-gold-soft);
    letter-spacing: .11em;
    text-transform: uppercase;
    font-size: .68em;
    font-weight: 820;
    vertical-align: .1em;
}
.player-profile-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem 1.35rem;
    margin-top: 1.25rem;
    color: rgba(255,247,223,.88);
    font-size: .94rem;
    font-weight: 520;
}
.player-profile-hero__cards {
    display: grid;
    grid-template-columns: minmax(215px, 1.35fr) repeat(5, minmax(118px, .9fr));
    gap: 1.05rem;
    max-width: 1120px;
    margin-top: 2.25rem;
}
.player-profile-hero-card {
    min-height: 108px;
    padding: .1rem 1.2rem .2rem;
    border-left: 1px solid rgba(255,247,223,.34);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.player-profile-hero-card:first-child {
    border-left: 0;
    padding-left: 0;
}
.player-profile-hero-card span,
.pp-section-label,
.pp-card-eyebrow {
    display: block;
    text-transform: uppercase;
    letter-spacing: .105em;
    font-size: .72rem;
    font-weight: 750;
}
.player-profile-hero-card > i {
    display: inline-grid;
    place-items: center;
    width: 1.9rem;
    height: 1.9rem;
    margin-bottom: .65rem;
    border-radius: 999px;
    color: #08261c;
    background: rgba(214,169,55,.95);
    font-size: .98rem;
    box-shadow: 0 8px 18px rgba(214,169,55,.16);
}
.player-profile-hero-card span { color: var(--pp-gold-soft); }
.player-profile-hero-card strong {
    display: block;
    margin-top: .34rem;
    font-size: clamp(1.3rem, 2.1vw, 2.05rem);
    line-height: 1.04;
    font-weight: 650;
    color: #fff9ea;
}
.player-profile-hero-card small {
    display: inline-flex;
    width: max-content;
    margin-top: auto;
    padding: .18rem .48rem;
    border-radius: .32rem;
    color: #08261c;
    background: rgba(214,169,55,.90);
    font-size: .77rem;
    font-weight: 750;
}
.player-profile-cover-card {
    align-self: center;
    justify-self: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 300px;
    text-align: center;
}
.player-profile-cover-card__photo {
    position: relative;
    overflow: hidden;
    display: grid;
    place-items: center;
    width: clamp(156px, 18vw, 230px);
    height: clamp(156px, 18vw, 230px);
    border-radius: 50%;
    border: 3px solid rgba(214,169,55,.95);
    background:
        radial-gradient(circle at 30% 24%, rgba(255,255,255,.28), transparent 34%),
        linear-gradient(135deg, var(--pp-green-700, #1f6d4d), var(--pp-green-900, #063324));
    color: #fff8e8;
    font-size: clamp(3.2rem, 6vw, 5.6rem);
    font-weight: 760;
    letter-spacing: -.05em;
    text-shadow: 0 2px 8px rgba(0,0,0,.22);
    box-shadow:
        0 20px 48px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.22);
}
.player-profile-cover-card__photo::after {
    content: "";
    position: absolute;
    inset: 10%;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(255,255,255,.22), transparent 36%);
    pointer-events: none;
}
.player-profile-cover-card__photo img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.player-profile-cover-card__label {
    display: inline-flex;
    margin: 1rem 0 .5rem;
    padding: .35rem .7rem;
    border: 1px solid rgba(214,169,55,.38);
    border-radius: 999px;
    color: var(--pp-gold-soft);
    background: rgba(0,0,0,.20);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .105em;
    font-weight: 760;
}
.player-profile-cover-card__name {
    margin: 0;
    color: #fff8e8;
    font-size: 1.2rem;
    font-weight: 650;
}
.player-profile-cover-card__meta {
    margin: .3rem 0 0;
    color: rgba(255,247,223,.70);
    line-height: 1.45;
    font-size: .9rem;
}

/* Sections */
.pp-section { padding: clamp(3.6rem, 7vw, 6.75rem) 0; }
.pp-section--tight { padding: clamp(2.3rem, 5vw, 4.25rem) 0; }
.pp-section--dark {
    color: #fff7df;
    background:
        radial-gradient(circle at 86% 12%, rgba(214,169,55,.10), transparent 24rem),
        linear-gradient(135deg, #05261d, #083729);
}
.pp-section-head {
    max-width: 760px;
    margin-bottom: 1.7rem;
}
.pp-section-head--center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.pp-section-label { color: var(--pp-gold); margin-bottom: .72rem; }
.pp-section-head h2 {
    margin: 0;
    color: var(--pp-ink);
    font-size: clamp(2.15rem, 4.4vw, 4.15rem);
    line-height: 1.02;
    letter-spacing: -.055em;
    font-weight: 650;
}
.pp-section-head h2 span { color: #b88924; }
.pp-section--dark .pp-section-head h2 { color: #fff8e8; }
.pp-section--dark .pp-section-head h2 span { color: var(--pp-gold); }
.pp-section-head p {
    margin: .9rem 0 0;
    color: var(--pp-muted);
    max-width: 720px;
    line-height: 1.68;
    font-size: 1.02rem;
}
.pp-section--dark .pp-section-head p { color: rgba(255,247,223,.72); }

.pp-panel {
    border: 1px solid var(--pp-line);
    border-radius: 18px;
    background: var(--pp-card);
    box-shadow: var(--pp-shadow);
}

/* Story feature */
.pp-story-feature {
    display: grid;
    grid-template-columns: minmax(0, .86fr) minmax(360px, 1fr);
    gap: clamp(1.6rem, 4vw, 4rem);
    align-items: center;
}
.pp-story-feature__copy {
    padding: clamp(1.8rem, 4vw, 3rem) 0;
}
.pp-story-feature h2 {
    margin: 0 0 1rem;
    font-size: clamp(2.2rem, 4.2vw, 4rem);
    line-height: 1.02;
    letter-spacing: -.052em;
    font-weight: 650;
    color: var(--pp-ink);
}
.pp-story-feature__text {
    max-width: 650px;
    color: rgba(9,38,29,.78);
    font-size: clamp(1.02rem, 1.25vw, 1.18rem);
    line-height: 1.8;
}
.pp-story-feature__media {
    position: relative;
    min-height: 420px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 22px 60px rgba(7,30,22,.16);
    background: linear-gradient(145deg, #0b3b2b, #cda035);
}
.pp-story-feature__media img { width: 100%; height: 100%; object-fit: cover; }
.pp-story-feature__pullquote {
    position: absolute;
    left: -3.5rem;
    bottom: 2rem;
    width: min(310px, 72%);
    border-radius: 13px;
    padding: 1.1rem 1.2rem;
    color: #fff7df;
    background: #062b21;
    border: 1px solid rgba(214,169,55,.32);
    box-shadow: 0 20px 40px rgba(0,0,0,.20);
    line-height: 1.5;
    font-weight: 560;
}
.pp-story-feature__pullquote::before {
    content: "“";
    display: block;
    color: var(--pp-gold);
    font-size: 2.8rem;
    line-height: .7;
    margin-bottom: .25rem;
}

/* Career highlights */
.pp-highlight-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .85rem;
}
.pp-highlight-card {
    position: relative;
    overflow: hidden;
    min-height: 178px;
    padding: 1.25rem;
    border-radius: 16px;
    border: 1px solid rgba(9,38,29,.10);
    background: rgba(255,255,255,.86);
    box-shadow: 0 12px 32px rgba(7,30,22,.07);
}
.pp-highlight-card::after {
    content: "";
    position: absolute;
    inset: auto -22% -36% 28%;
    height: 80%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(214,169,55,.12), transparent 68%);
}
.pp-highlight-card i {
    position: relative;
    z-index: 1;
    display: inline-grid;
    place-items: center;
    width: 2.55rem;
    height: 2.55rem;
    margin-bottom: 1rem;
    color: #9b711f;
    border-radius: 999px;
    background: #f4eddd;
    font-size: 1.28rem;
}
.pp-highlight-card strong {
    position: relative;
    z-index: 1;
    display: block;
    margin-bottom: .5rem;
    font-size: 1.02rem;
    line-height: 1.18;
    color: var(--pp-ink);
}
.pp-highlight-card span {
    position: relative;
    z-index: 1;
    display: block;
    color: rgba(9,38,29,.63);
    line-height: 1.42;
    font-size: .88rem;
}
.pp-highlight-card--featured {
    grid-column: span 2;
    color: #fff7df;
    background:
        linear-gradient(135deg, rgba(214,169,55,.18), transparent 45%),
        linear-gradient(135deg, #05261d, #0b4735);
    border-color: rgba(214,169,55,.26);
    box-shadow: 0 22px 56px rgba(7,30,22,.16);
}
.pp-highlight-card--featured i { color: #08261c; background: var(--pp-gold); }
.pp-highlight-card--featured strong { color: #fff8e8; font-size: clamp(1.35rem, 2.2vw, 2.05rem); letter-spacing: -.035em; }
.pp-highlight-card--featured span { color: rgba(255,247,223,.75); }

/* Recognition cabinet */
.pp-cabinet {
    position: relative;
    overflow: hidden;
    padding: clamp(1.25rem, 3vw, 2rem);
    border-radius: 22px;
    border: 1px solid rgba(214,169,55,.23);
    background:
        linear-gradient(115deg, rgba(255,255,255,.74), rgba(255,255,255,.48)),
        repeating-linear-gradient(90deg, rgba(9,38,29,.045) 0 1px, transparent 1px 12.5%),
        linear-gradient(180deg, rgba(244,237,221,.98), rgba(255,255,255,.86));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 22px 62px rgba(7,30,22,.10);
}
.pp-cabinet::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 0 20%, rgba(255,255,255,.35) 21% 23%, transparent 24% 100%);
    pointer-events: none;
}
.pp-cabinet-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 1rem;
}
.pp-award {
    appearance: none;
    width: 100%;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 16px;
    padding: 1rem;
    background: rgba(255,255,255,.56);
    border: 1px solid rgba(9,38,29,.08);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    font: inherit;
}
.pp-award:hover,
.pp-award:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(214,169,55,.48);
    box-shadow: 0 18px 42px rgba(7,30,22,.10);
    outline: none;
}
.pp-award i {
    display: inline-grid;
    place-items: center;
    width: 3.7rem;
    height: 3.7rem;
    margin-bottom: .85rem;
    color: #08261c;
    border-radius: 18px;
    background: linear-gradient(180deg, #f4cf64, #d6a937);
    box-shadow: 0 10px 20px rgba(214,169,55,.20);
    font-size: 1.65rem;
}
.pp-award strong { color: var(--pp-ink); line-height: 1.2; }
.pp-award span { margin-top: .35rem; color: rgba(9,38,29,.58); font-size: .85rem; line-height: 1.34; }
.pp-award em { margin-top: .75rem; color: var(--pp-gold-dark); font-size: .68rem; font-style: normal; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }


.pp-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
}
.pp-modal[aria-hidden="false"] { display: flex; }
.pp-modal__shade {
    position: absolute;
    inset: 0;
    background: rgba(5,25,18,.72);
    backdrop-filter: blur(8px);
}
.pp-modal__card {
    position: relative;
    width: min(640px, 100%);
    max-height: calc(100vh - 2rem);
    overflow: auto;
    border-radius: 24px;
    padding: clamp(1.25rem, 3vw, 2rem);
    background: linear-gradient(180deg, #fffdf6, #f5efe2);
    border: 1px solid rgba(214,169,55,.35);
    box-shadow: 0 34px 90px rgba(0,0,0,.35);
    color: var(--pp-ink);
}
.pp-modal__close {
    position: absolute;
    top: .9rem;
    right: .9rem;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(9,38,29,.12);
    background: rgba(255,255,255,.75);
    color: var(--pp-ink);
    display: grid;
    place-items: center;
    cursor: pointer;
}
.pp-modal__kicker {
    color: var(--pp-gold-dark);
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .72rem;
    font-weight: 900;
    margin-bottom: .65rem;
}
.pp-modal__card h3 {
    margin: 0;
    max-width: 86%;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: .95;
    letter-spacing: -.06em;
    color: var(--pp-ink);
}
.pp-modal__lead {
    margin: .8rem 0 1.2rem;
    color: rgba(9,38,29,.62);
    font-size: 1.04rem;
}
.pp-modal__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: .75rem;
    margin: 1rem 0 1.25rem;
}
.pp-modal__facts div {
    border-radius: 16px;
    padding: .9rem;
    background: rgba(9,38,29,.06);
    border: 1px solid rgba(9,38,29,.08);
}
.pp-modal__facts span {
    display: block;
    color: rgba(9,38,29,.52);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .66rem;
    font-weight: 850;
}
.pp-modal__facts strong {
    display: block;
    margin-top: .35rem;
    color: var(--pp-ink);
    font-size: 1.1rem;
}
.pp-modal__note {
    padding-left: 1rem;
    border-left: 3px solid var(--pp-gold);
    color: rgba(9,38,29,.72);
}
.pp-modal__small {
    margin-top: 1rem;
    color: rgba(9,38,29,.48);
    font-size: .82rem;
}
.pp-modal-is-open { overflow: hidden; }

/* Magazine rows/cards */
.pp-layout-two {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(320px, .72fr);
    gap: 1.1rem;
    align-items: start;
}
.pp-review-list,
.pp-rival-list { padding: 1.1rem; }
.pp-review-item,
.pp-rival-item {
    display: grid;
    grid-template-columns: 78px minmax(0,1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(9,38,29,.10);
}
.pp-review-item:first-child,
.pp-rival-item:first-child { padding-top: .25rem; }
.pp-review-item:last-child,
.pp-rival-item:last-child { border-bottom: 0; }
.pp-review-thumb {
    width: 78px;
    aspect-ratio: 1.2/1;
    border-radius: 11px;
    overflow: hidden;
    background: linear-gradient(145deg, #0b3b2b, #cda035);
}
.pp-review-thumb img { width: 100%; height: 100%; object-fit: cover; display:block; }
.pp-review-item h3,
.pp-rival-item h3 { margin: 0 0 .25rem; color: var(--pp-ink); font-size: 1.08rem; font-weight: 650; }
.pp-review-item p,
.pp-rival-item p { margin: 0; color: rgba(9,38,29,.62); line-height: 1.42; font-size: .9rem; }
.pp-review-quote {
    margin-top: .45rem;
    color: rgba(9,38,29,.72) !important;
    font-style: italic;
}

.pp-moments-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: .85rem;
}
.pp-moment {
    position: relative;
    overflow: hidden;
    min-height: 230px;
    display: flex;
    align-items: end;
    border-radius: 16px;
    background: #062b21;
    color: #fff7df;
    box-shadow: 0 15px 36px rgba(7,30,22,.12);
}
.pp-moment img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .68; }
.pp-moment::before { content: ""; position:absolute; inset:0; background: linear-gradient(180deg, transparent 24%, rgba(2,18,13,.86)); }
.pp-moment__body { position: relative; z-index: 1; padding: 1rem; }
.pp-moment__icon { display:inline-grid; place-items:center; width:2.15rem; height:2.15rem; margin-bottom:.6rem; border-radius:999px; color:#08261c; background:var(--pp-gold); }
.pp-moment strong { display:block; line-height:1.15; }
.pp-moment span { display:block; margin-top:.35rem; color:rgba(255,247,223,.78); font-size:.85rem; line-height:1.34; }

.pp-course-grid,
.pp-scorecard-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 1rem;
}
.pp-course-card,
.pp-scorecard-card {
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(9,38,29,.10);
    background: var(--pp-card);
    box-shadow: 0 12px 32px rgba(7,30,22,.07);
}
.pp-course-card__image { height: 140px; background:linear-gradient(145deg,#0b3b2b,#cda035); overflow:hidden; }
.pp-course-card__image img { width:100%; height:100%; object-fit:cover; display:block; }
.pp-course-card__body,
.pp-scorecard-card { padding: 1rem; }
.pp-course-card h3,
.pp-scorecard-card h3 { margin:0 0 .35rem; color:var(--pp-ink); font-size:1.1rem; font-weight:650; }
.pp-course-card p,
.pp-scorecard-card p { margin:0; color:rgba(9,38,29,.62); font-size:.9rem; line-height:1.45; }
.pp-course-stats,
.pp-score-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin-top:1rem; padding-top:.85rem; border-top:1px solid rgba(9,38,29,.09); }
.pp-course-stats span,
.pp-score-stats span { display:block; color:rgba(9,38,29,.53); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; font-weight:760; }
.pp-course-stats strong,
.pp-score-stats strong { display:block; margin-top:.2rem; color:var(--pp-ink); font-weight:650; }

.pp-performance {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border-radius: 18px;
    color: #fff7df;
    background: linear-gradient(135deg, #05261d, #0b4735);
    box-shadow: var(--pp-shadow);
}
.pp-performance__item {
    padding: 1.3rem;
    border-left: 1px solid rgba(255,247,223,.12);
}
.pp-performance__item:first-child { border-left: 0; }
.pp-performance__item span { color: var(--pp-gold-soft); text-transform: uppercase; letter-spacing: .105em; font-size: .7rem; font-weight: 750; }
.pp-performance__item strong { display:block; margin-top:.55rem; color: #fff8e8; font-size: clamp(1.65rem, 3vw, 2.7rem); line-height:1; letter-spacing:-.04em; font-weight:650; }
.pp-performance__item small { display:block; margin-top:.35rem; color: rgba(255,247,223,.62); }

.pp-detail-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.45fr);
    gap:1rem;
    align-items:start;
}
.pp-table-panel { overflow:hidden; }
.pp-table-scroll { overflow-x:auto; }
.pp-table {
    width:100%;
    min-width:760px;
    border-collapse:collapse;
    font-size:.9rem;
}
.pp-table th {
    text-align:left;
    padding:.85rem 1rem;
    color:rgba(9,38,29,.58);
    background:rgba(244,237,221,.72);
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:.68rem;
    font-weight:780;
}
.pp-table td {
    padding:.9rem 1rem;
    border-top:1px solid rgba(9,38,29,.08);
    color:rgba(9,38,29,.78);
    vertical-align:middle;
}
.pp-table strong { color:var(--pp-ink); font-weight:650; }
.pp-side-list { padding:1rem; }
.pp-side-list__item { display:flex; gap:.85rem; padding:.8rem 0; border-bottom:1px solid rgba(9,38,29,.08); }
.pp-side-list__item:last-child { border-bottom:0; }
.pp-side-list__item i { color:#9b711f; }
.pp-side-list__item strong { display:block; color:var(--pp-ink); }
.pp-side-list__item span { display:block; color:rgba(9,38,29,.60); font-size:.9rem; line-height:1.4; }

.pp-empty {
    padding: 1.15rem;
    border: 1px dashed rgba(9,38,29,.22);
    border-radius: 16px;
    color: rgba(9,38,29,.64);
    background: rgba(255,255,255,.52);
    line-height: 1.6;
}
.pp-footer-reflection {
    padding: clamp(2.2rem, 5vw, 3.75rem) 0;
    color: #fff7df;
    background: linear-gradient(135deg, #031a13, #063324);
}
.pp-footer-reflection__inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.pp-footer-reflection p { margin:0; max-width:760px; font-size:clamp(1.05rem,2vw,1.42rem); line-height:1.5; }
.pp-footer-reflection p::before { content:"“"; color:var(--pp-gold); font-size:3rem; line-height:0; vertical-align:-.35em; margin-right:.25rem; }

@media (max-width: 1180px) {
    .player-profile-hero__cards { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .player-profile-hero-card { border-left: 1px solid rgba(255,247,223,.25); padding-left:1rem; }
    .player-profile-hero-card:first-child { border-left: 1px solid rgba(255,247,223,.25); padding-left:1rem; }
    .pp-highlight-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .pp-highlight-card--featured { grid-column: span 1; }
    .pp-moments-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .pp-course-grid, .pp-scorecard-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 900px) {
    .player-profile-hero__content { grid-template-columns: 1fr; align-items:end; }
    .player-profile-cover-card { max-width:420px; justify-self:start; }
    .pp-story-feature, .pp-layout-two, .pp-detail-grid { grid-template-columns:1fr; }
    .pp-story-feature__pullquote { left:1rem; bottom:1rem; }
    .pp-cabinet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pp-performance { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pp-performance__item { border-left:0; border-top:1px solid rgba(255,247,223,.12); }
    .pp-performance__item:first-child { border-top:0; }
}

@media (max-width: 640px) {
    .player-profile__wrap,
    .player-profile-hero__content { width: min(100% - 1.2rem, 680px); }
    .player-profile-hero { min-height:auto; }
    .player-profile-hero__content { min-height:auto; padding:2rem 0 3.2rem; gap:1.2rem; }
    .player-profile-hero h1 { font-size:clamp(3rem,15vw,4.6rem); line-height:.94; font-weight:620; letter-spacing:-.052em; }
    .player-profile-hero__standfirst { font-size:1rem; }
    .player-profile-hero__quote { font-size:1.2rem; padding-left:1.55rem; }
    .player-profile-hero__quote::before { font-size:3.2rem; }
    .player-profile-hero__meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; font-size:.82rem; }
    .player-profile-hero__cards { display:flex; overflow-x:auto; gap:.75rem; margin-top:1.25rem; padding-bottom:.3rem; }
    .player-profile-hero-card { flex:0 0 min(180px,72vw); min-height:128px; padding:.85rem; border:1px solid rgba(255,247,223,.18); border-radius:14px; background:rgba(0,0,0,.14); }
    .player-profile-cover-card { display:flex; align-items:flex-start; text-align:left; }
    .player-profile-cover-card__photo { width:116px; height:116px; font-size:2.3rem; }
    .pp-section { padding:3rem 0; }
    .pp-section-head h2, .pp-story-feature h2 { font-size:clamp(2.2rem,10vw,3.1rem); }
    .pp-story-feature__copy { padding:0; }
    .pp-story-feature__media { min-height:260px; }
    .pp-story-feature__pullquote { position:relative; width:auto; left:auto; bottom:auto; margin:-3.5rem 1rem 1rem; }
    .pp-highlight-grid, .pp-moments-grid, .pp-course-grid, .pp-scorecard-grid { grid-template-columns:1fr; }
    .pp-cabinet-grid { grid-template-columns:1fr; }
    .pp-review-item, .pp-rival-item { grid-template-columns:64px minmax(0,1fr); }
    .pp-review-item .pp-btn, .pp-rival-item .pp-btn { grid-column:2; width:max-content; min-height:36px; padding:.55rem .85rem; }
    .pp-review-thumb { width:64px; }
    .pp-performance { grid-template-columns:1fr; }
    .pp-footer-reflection__inner { display:block; }
}

/* v1.0.3: story image gallery + safer overlay/button treatment */
.pp-btn--dark,
.player-profile .pp-btn--dark {
    color: #fff8e8 !important;
    background: #063324 !important;
    border: 1px solid rgba(214, 169, 55, .22);
}
.pp-btn--dark i { color: var(--pp-gold-soft); }

.pp-story-feature__media {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}
.pp-story-feature__lead-image {
    position: absolute;
    inset: 0;
}
.pp-story-feature__lead-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.pp-story-feature__media--gallery {
    min-height: 500px;
}
.pp-story-feature__media--gallery .pp-story-feature__lead-image {
    bottom: 132px;
}
.pp-story-feature__thumbs {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .55rem;
    padding: .65rem;
    border: 1px solid rgba(255, 247, 223, .18);
    border-radius: 14px;
    background: rgba(3, 26, 19, .78);
    backdrop-filter: blur(10px);
    box-shadow: 0 18px 42px rgba(0,0,0,.18);
}
.pp-story-feature__thumbs img {
    width: 100%;
    height: 88px;
    border-radius: 10px;
    object-fit: cover;
    display: block;
}
.pp-story-feature__pullquote {
    left: 1.25rem;
    bottom: 1.25rem;
    z-index: 4;
    max-width: min(340px, calc(100% - 2.5rem));
    width: auto;
    transform: none;
}
.pp-story-feature__media--gallery .pp-story-feature__pullquote {
    bottom: 148px;
}

@media (max-width: 760px) {
    .pp-story-feature__media--gallery {
        min-height: auto;
        display: block;
        overflow: visible;
        background: transparent;
        box-shadow: none;
    }
    .pp-story-feature__media--gallery .pp-story-feature__lead-image,
    .pp-story-feature__lead-image {
        position: relative;
        inset: auto;
        height: 280px;
        display: block;
        overflow: hidden;
        border-radius: 16px;
        box-shadow: 0 18px 44px rgba(7,30,22,.14);
    }
    .pp-story-feature__thumbs {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        margin-top: .7rem;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        background: rgba(3, 26, 19, .92);
    }
    .pp-story-feature__thumbs img { height: 72px; }
    .pp-story-feature__pullquote,
    .pp-story-feature__media--gallery .pp-story-feature__pullquote {
        position: relative;
        left: auto;
        bottom: auto;
        margin: .7rem 0 0;
        max-width: none;
        width: 100%;
    }
}

/* V5 social/course refinement: broader mate cards + horizontal course magazine rail */
.pp-social-course-layout {
    display: grid;
    grid-template-columns: minmax(360px, .78fr) minmax(0, 1fr);
    gap: 1.35rem;
    align-items: stretch;
}
.pp-mates-panel {
    padding: 1.4rem;
    min-height: 100%;
}
.pp-panel-kicker {
    color: var(--pp-gold-dark);
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .72rem;
    font-weight: 800;
    margin-bottom: .55rem;
}
.pp-mates-panel > h3 {
    margin: 0;
    color: var(--pp-ink);
    font-size: clamp(1.4rem, 2vw, 2rem);
    line-height: .98;
    letter-spacing: -.04em;
}
.pp-panel-intro {
    margin: .7rem 0 1.05rem;
    color: rgba(9,38,29,.66);
    line-height: 1.55;
    max-width: 42rem;
}
.pp-mate-stack {
    display: grid;
    gap: .75rem;
}
.pp-mate-item {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    gap: .9rem;
    align-items: center;
    padding: .85rem;
    border-radius: 16px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(9,38,29,.08);
}
.pp-mate-avatar {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.28), transparent 32%), linear-gradient(135deg, #093326, #cda035);
    color: #fff7df;
    font-weight: 800;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.pp-mate-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pp-mate-main h4 {
    margin: 0 0 .25rem;
    color: var(--pp-ink);
    font-size: 1.05rem;
    line-height: 1.1;
}
.pp-mate-main p {
    margin: 0;
    color: rgba(9,38,29,.62);
    line-height: 1.35;
    font-size: .9rem;
}
.pp-mate-main small {
    display: block;
    margin-top: .25rem;
    color: rgba(9,38,29,.48);
    font-size: .78rem;
}
.pp-mate-meta {
    min-width: 86px;
    text-align: right;
}
.pp-mate-meta strong {
    display: block;
    color: var(--pp-ink);
    font-size: 1rem;
    line-height: 1;
}
.pp-mate-meta span {
    display: block;
    margin-top: .25rem;
    color: rgba(9,38,29,.52);
    font-size: .68rem;
    font-weight: 760;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.pp-mate-badges {
    grid-column: 2 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}
.pp-mate-badges span {
    display: inline-flex;
    align-items: center;
    min-height: 1.7rem;
    padding: .25rem .55rem;
    border-radius: 999px;
    background: rgba(214,169,55,.12);
    border: 1px solid rgba(214,169,55,.22);
    color: rgba(9,38,29,.72);
    font-size: .72rem;
    font-weight: 800;
}
.pp-courses-panel { min-width: 0; }
.pp-course-rail {
    --course-card-w: 292px;
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, minmax(0, auto));
    grid-auto-columns: var(--course-card-w);
    gap: 1rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding: .15rem .2rem 1.15rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-color: rgba(9,38,29,.25) transparent;
}
.pp-course-rail .pp-course-card {
    scroll-snap-align: start;
    min-width: 0;
}
.pp-course-rail .pp-course-card__image { height: 155px; }
.pp-course-rail .pp-course-card h3 { font-size: 1.25rem; line-height: 1.05; }
.pp-course-rail .pp-course-stats { grid-template-columns: repeat(3, minmax(72px, 1fr)); }
.pp-course-rail::after {
    content: "";
    width: .2rem;
}

@media (max-width: 980px) {
    .pp-social-course-layout { grid-template-columns: 1fr; }
    .pp-course-rail { grid-template-rows: none; grid-auto-columns: minmax(250px, 76vw); }
}
@media (max-width: 640px) {
    .pp-mates-panel { padding: 1rem; }
    .pp-mate-item { grid-template-columns: 52px minmax(0, 1fr); }
    .pp-modal__facts { grid-template-columns: 1fr; }
    .pp-mate-avatar { width: 52px; height: 52px; border-radius: 15px; }
    .pp-mate-meta { grid-column: 2; text-align: left; display: flex; gap: .5rem; align-items: baseline; }
    .pp-course-rail { grid-auto-columns: minmax(230px, 84vw); }
    .pp-course-rail .pp-course-card__image { height: 140px; }
}

/* v1.0.4: profile photo badges, modal/lightbox fixes and Event Hub-style player media */
.player-profile-cover-card__photo { position: relative; }
.player-profile-cover-card__hcp {
    position: absolute;
    right: -.35rem;
    bottom: .35rem;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    height: 30px;
    padding: 0 .7rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #f4cf64, #cda035);
    color: #06251b;
    border: 2px solid rgba(255,248,224,.95);
    box-shadow: 0 12px 26px rgba(0,0,0,.26);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.pp-story-feature__lead-image {
    appearance: none;
    border: 0;
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    overflow: hidden;
    cursor: zoom-in;
    background: var(--pp-ink);
    text-align: inherit;
}
.pp-story-feature__lead-image span {
    position: absolute;
    left: 1rem;
    top: 1rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    padding: .5rem .7rem;
    border-radius: 999px;
    background: rgba(6,37,27,.82);
    color: #fff7df;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .04em;
    backdrop-filter: blur(10px);
}
.pp-story-feature__thumbs button {
    appearance: none;
    border: 0;
    padding: 0;
    margin: 0;
    border-radius: 16px;
    overflow: hidden;
    cursor: zoom-in;
    background: var(--pp-ink);
}
.pp-story-feature__thumbs button img { transition: transform .25s ease; }
.pp-story-feature__thumbs button:hover img { transform: scale(1.04); }
.pp-mate-avatar {
    border-radius: 999px;
    position: relative;
}
.pp-mate-avatar::after {
    content: '';
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(244,207,100,.38);
    pointer-events: none;
}
.pp-modal[aria-hidden="false"] { display: flex !important; }
.pp-photo-lightbox[hidden] { display: none !important; }
.pp-photo-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 3vw, 2.5rem);
}
.pp-photo-lightbox__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(4,23,17,.84);
    backdrop-filter: blur(10px);
    cursor: zoom-out;
}
.pp-photo-lightbox__figure {
    position: relative;
    z-index: 2;
    width: min(1080px, 100%);
    max-height: calc(100vh - 3rem);
    margin: 0;
    display: grid;
    gap: .85rem;
}
.pp-photo-lightbox__figure img {
    width: 100%;
    max-height: calc(100vh - 7rem);
    object-fit: contain;
    border-radius: 24px;
    background: #031b13;
    box-shadow: 0 34px 100px rgba(0,0,0,.48);
}
.pp-photo-lightbox__figure figcaption {
    justify-self: center;
    max-width: 720px;
    padding: .55rem .9rem;
    border-radius: 999px;
    background: rgba(255,248,224,.1);
    color: #fff7df;
    font-weight: 750;
    text-align: center;
}
.pp-photo-lightbox__close,
.pp-photo-lightbox__nav {
    position: absolute;
    z-index: 3;
    border: 1px solid rgba(255,248,224,.22);
    background: rgba(6,37,27,.78);
    color: #fff7df;
    border-radius: 999px;
    display: grid;
    place-items: center;
    cursor: pointer;
    backdrop-filter: blur(10px);
}
.pp-photo-lightbox__close {
    top: -18px;
    right: -18px;
    width: 46px;
    height: 46px;
}
.pp-photo-lightbox__nav {
    top: 50%;
    width: 48px;
    height: 48px;
    transform: translateY(-50%);
}
.pp-photo-lightbox__nav--prev { left: -18px; }
.pp-photo-lightbox__nav--next { right: -18px; }
.pp-photo-lightbox-open { overflow: hidden; }
@media (max-width: 760px) {
    .player-profile-cover-card__hcp { right: -.15rem; bottom: .15rem; height: 28px; min-width: 52px; font-size: .66rem; }
    .pp-photo-lightbox { padding: .75rem; }
    .pp-photo-lightbox__figure img { border-radius: 16px; max-height: calc(100vh - 6rem); }
    .pp-photo-lightbox__close { top: .5rem; right: .5rem; }
    .pp-photo-lightbox__nav--prev { left: .5rem; }
    .pp-photo-lightbox__nav--next { right: .5rem; }
}

/* v1.0.5: linked records, prize values, upcoming rounds and performance trends */
.pp-award-value {
    margin-top: .65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.7rem;
    padding: .22rem .62rem;
    border-radius: 999px;
    background: rgba(9,38,29,.08);
    color: var(--pp-ink);
    font-size: .76rem;
    font-weight: 850;
}
.pp-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1.2rem;
}
.pp-mate-item {
    color: inherit;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pp-mate-item:hover,
.pp-mate-item:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(214,169,55,.38);
    box-shadow: 0 16px 38px rgba(7,30,22,.10);
    outline: none;
}
.pp-table-link {
    color: var(--pp-ink);
    text-decoration: none;
}
.pp-table-link:hover { text-decoration: underline; text-decoration-color: var(--pp-gold); text-underline-offset: .18em; }
.pp-side-list__item--link {
    color: inherit;
    text-decoration: none;
    border-radius: 14px;
    padding: .85rem;
    margin: 0 -.35rem;
    transition: background .18s ease, transform .18s ease;
}
.pp-side-list__item--link:hover,
.pp-side-list__item--link:focus-visible {
    background: rgba(214,169,55,.10);
    transform: translateX(2px);
    outline: none;
}
.pp-side-list__item em {
    display: inline-flex;
    margin-top: .32rem;
    color: #9b711f;
    font-size: .72rem;
    font-style: normal;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.pp-trend-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.pp-trend-card {
    min-height: 245px;
    border-radius: 18px;
    padding: 1.2rem;
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(250,247,239,.82));
    border: 1px solid rgba(9,38,29,.09);
    box-shadow: 0 18px 46px rgba(7,30,22,.08);
}
.pp-trend-card > div:first-child {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.pp-trend-card span {
    display: block;
    color: var(--pp-gold-dark);
    text-transform: uppercase;
    letter-spacing: .105em;
    font-size: .68rem;
    font-weight: 850;
}
.pp-trend-card strong {
    display: block;
    color: var(--pp-ink);
    font-size: 1.05rem;
    line-height: 1.2;
    text-align: right;
}
.pp-trend-card p {
    margin: 1.35rem 0 0;
    color: rgba(9,38,29,.62);
    line-height: 1.55;
}
.pp-trend-card svg {
    width: 100%;
    height: auto;
    overflow: visible;
}
.pp-chart-grid {
    fill: none;
    stroke: rgba(9,38,29,.10);
    stroke-width: 1;
}
.pp-chart-line {
    fill: none;
    stroke: #d6a937;
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 6px 10px rgba(214,169,55,.18));
}
.pp-chart-line--muted {
    stroke: #0b4735;
    stroke-width: 4;
    opacity: .78;
}
.pp-chart-key {
    display: flex !important;
    justify-content: flex-end !important;
    gap: .85rem !important;
    margin: .45rem 0 0 !important;
}
.pp-chart-key span {
    position: relative;
    padding-left: .95rem;
    color: rgba(9,38,29,.58);
    font-size: .68rem;
}
.pp-chart-key span::before {
    content: '';
    position: absolute;
    left: 0;
    top: .42rem;
    width: .5rem;
    height: .5rem;
    border-radius: 999px;
    background: #d6a937;
}
.pp-chart-key span:nth-child(2)::before { background: #0b4735; }
@media (max-width: 820px) {
    .pp-trend-grid { grid-template-columns: 1fr; }
    .pp-trend-card > div:first-child { display: block; }
    .pp-trend-card strong { margin-top: .35rem; text-align: left; }
}

/* v1.0.6: exploratory performance cards and chart context */
.pp-performance__item--button {
    appearance: none;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    border-color: rgba(255,247,223,.12);
    background: transparent;
    text-align: left;
    cursor: pointer;
    color: inherit;
    font: inherit;
    position: relative;
    transition: background .18s ease, transform .18s ease;
}
.pp-performance__item--button:hover,
.pp-performance__item--button:focus-visible {
    background: rgba(255,247,223,.06);
    outline: none;
}
.pp-performance__item--button em {
    display: inline-flex;
    margin-top: .8rem;
    color: var(--pp-gold-soft);
    font-size: .67rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .9;
}
.pp-modal__card--performance { width: min(720px, 100%); }
.pp-modal__lead strong { color: var(--pp-ink); font-size: 1.25em; }
.pp-chart-dot {
    fill: #d6a937;
    stroke: #fff8e8;
    stroke-width: 2;
    cursor: help;
    filter: drop-shadow(0 4px 8px rgba(7,30,22,.18));
}
.pp-chart-dot--gross {
    fill: #0b4735;
}
.pp-chart-dot--key {
    stroke: #08261c;
    stroke-width: 2.4;
}
.pp-chart-context {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .55rem;
}
.pp-chart-context span {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    padding: .28rem .65rem;
    border-radius: 999px;
    background: rgba(9,38,29,.06);
    color: rgba(9,38,29,.64);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}
@media (max-width: 820px) {
    .pp-performance__item--button { border-left: 0; }
}

/* v1.0.7: mobile rails, richer modals, tappable chart points and Event Hub-style table headers */
.pp-table thead th {
    background: #063326;
    color: #fff8e8;
    border-top: 0;
    border-bottom: 1px solid rgba(255,247,223,.16);
}
.pp-table thead th:first-child { border-top-left-radius: 12px; }
.pp-table thead th:last-child { border-top-right-radius: 12px; }

.pp-chart-hit {
    fill: transparent;
    cursor: pointer;
    pointer-events: all;
}
.pp-chart-point { cursor: pointer; outline: none; }
.pp-chart-point:focus-visible .pp-chart-hit,
.pp-chart-point.is-active .pp-chart-hit {
    fill: rgba(214,169,55,.14);
    stroke: rgba(214,169,55,.44);
    stroke-width: 1;
}
.pp-chart-point.is-active .pp-chart-dot {
    stroke: #08261c;
    stroke-width: 3;
}
.pp-chart-readout {
    margin-top: .75rem;
    padding: .72rem .85rem;
    border-radius: 14px;
    background: rgba(9,38,29,.055);
    color: rgba(9,38,29,.72);
    font-size: .86rem;
    line-height: 1.45;
    font-weight: 650;
}
.pp-chart-readout a {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    margin-left: .45rem;
    color: var(--pp-ink);
    text-decoration: none;
    font-weight: 900;
}
.pp-chart-readout a:hover { text-decoration: underline; text-decoration-color: var(--pp-gold); text-underline-offset: .2em; }

.pp-modal__story-list {
    display: grid;
    gap: .65rem;
    margin: 1rem 0 0;
}
.pp-modal__story-item {
    display: grid;
    grid-template-columns: minmax(72px, auto) 1fr;
    gap: .3rem .8rem;
    align-items: center;
    padding: .85rem;
    border-radius: 16px;
    border: 1px solid rgba(9,38,29,.10);
    background: rgba(244,237,221,.52);
    color: var(--pp-ink);
    text-decoration: none;
}
.pp-modal__story-item span {
    grid-row: span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    padding: .35rem .6rem;
    border-radius: 999px;
    background: linear-gradient(135deg,#e7c45a,#c89522);
    color: #08261c;
    font-weight: 900;
}
.pp-modal__story-item strong { font-size: .98rem; line-height: 1.1; }
.pp-modal__story-item em { color: rgba(9,38,29,.62); font-style: normal; font-size: .84rem; }
a.pp-modal__story-item:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(7,30,22,.10); }

@media (max-width: 820px) {
    .pp-performance {
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        gap: .75rem;
        padding: .75rem;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }
    .pp-performance__item,
    .pp-performance__item--button {
        flex: 0 0 min(245px, 76vw);
        border-left: 0;
        border-radius: 14px;
        background: rgba(255,247,223,.05);
        scroll-snap-align: start;
    }
    .pp-highlight-grid,
    .pp-cabinet-grid,
    .pp-mate-stack {
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        gap: .85rem;
        padding: .2rem .1rem 1rem;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }
    .pp-highlight-card,
    .pp-award,
    .pp-mate-item {
        flex: 0 0 min(255px, 78vw);
        scroll-snap-align: start;
    }
    .pp-highlight-card--featured { flex-basis: min(300px, 84vw); }
    .pp-cabinet { padding: 1rem; }
    .pp-table thead th { white-space: nowrap; }
}

/* v11 refinement: tighter mobile rails, richer moments and recognition */
.pp-social-course-layout,
.pp-mates-panel,
.pp-panel {
    min-width: 0;
}
.pp-mates-panel {
    overflow: hidden;
}
.pp-mates-panel > h3,
.pp-panel-intro,
.pp-mate-main h4,
.pp-mate-main p,
.pp-mate-main small {
    overflow-wrap: anywhere;
}
.pp-mate-stack::after,
.pp-highlight-grid::after,
.pp-cabinet-grid::after {
    content: none;
}
.pp-moment {
    color: inherit;
    text-decoration: none;
}
.pp-moment:hover,
.pp-moment:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 18px 44px rgba(0,0,0,.18);
}
.pp-moment__body em {
    display: block;
    margin-top: .45rem;
    color: rgba(255,247,223,.66);
    font-style: normal;
    font-size: .75rem;
    line-height: 1.25;
}
.pp-award i.bi-bullseye,
.pp-highlight-card i.bi-bullseye { color: #0b4735; }
.pp-award i.bi-people,
.pp-award i.bi-people-fill { color: #0b4735; }
.pp-award i.bi-lightning-charge { color: #6e5219; }
.pp-award i.bi-graph-down-arrow,
.pp-award i.bi-bar-chart-line { color: #0b4735; }

@media (max-width: 760px) {
    .pp-section-head,
    .pp-mates-panel > h3,
    .pp-panel-intro {
        max-width: 100%;
    }
    .pp-social-course-layout {
        overflow: hidden;
    }
    .pp-mate-stack,
    .pp-highlight-grid,
    .pp-cabinet-grid {
        margin-left: -0.15rem;
        margin-right: -1rem;
        padding-left: .15rem;
        padding-right: 1.25rem;
        scroll-padding-left: .15rem;
        scroll-padding-right: 1.25rem;
    }
    .pp-mate-stack::after,
    .pp-highlight-grid::after,
    .pp-cabinet-grid::after {
        content: "";
        display: block;
        flex: 0 0 .9rem;
    }
    .pp-mate-item {
        flex-basis: min(285px, 82vw);
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: start;
    }
    .pp-mate-meta {
        grid-column: 2;
        text-align: left;
    }
    .pp-mate-badges {
        grid-column: 1 / -1;
    }
}


/* v11c moments polish */
.pp-moment {
    align-items: stretch;
    min-height: 245px;
}
.pp-moment::before {
    background:
        linear-gradient(180deg, rgba(3,31,23,.12) 0%, rgba(3,31,23,.34) 38%, rgba(2,18,13,.92) 100%);
}
.pp-moment__body {
    width: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1rem;
    background: linear-gradient(180deg, rgba(2,18,13,.22) 0%, rgba(2,18,13,.08) 35%, rgba(2,18,13,.68) 100%);
}
.pp-moment__icon {
    position: absolute;
    top: .85rem;
    left: .85rem;
    margin: 0;
    box-shadow: 0 12px 24px rgba(0,0,0,.18);
}
.pp-moment strong,
.pp-moment span,
.pp-moment__body em {
    max-width: 100%;
}
@media (max-width: 700px) {
    .pp-moment { min-width: 230px; }
}

/* v12: moment cards must read cleanly over images and recognition must reflect finish context */
.player-profile .pp-moment {
    position: relative;
    overflow: hidden;
    min-height: 255px;
}
.player-profile .pp-moment > img {
    opacity: .84;
    transform: scale(1.01);
}
.player-profile .pp-moment::before {
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(3,31,23,.18) 0%, rgba(3,31,23,.30) 34%, rgba(2,18,13,.90) 100%),
        linear-gradient(90deg, rgba(2,18,13,.52) 0%, rgba(2,18,13,.08) 58%, rgba(2,18,13,.26) 100%);
}
.player-profile .pp-moment__body {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: .25rem;
    padding: 3.4rem 1rem 1rem;
    background: linear-gradient(180deg, rgba(2,18,13,.06) 0%, rgba(2,18,13,.16) 42%, rgba(2,18,13,.72) 100%);
}
.player-profile .pp-moment__icon {
    position: absolute;
    top: .85rem;
    left: .85rem;
    z-index: 3;
    width: 2.15rem;
    height: 2.15rem;
    margin: 0;
    background: linear-gradient(135deg, #f6d66e, var(--pp-gold));
    color: var(--pp-green);
    box-shadow: 0 12px 24px rgba(0,0,0,.22);
}
.player-profile .pp-moment strong,
.player-profile .pp-moment span,
.player-profile .pp-moment__body em {
    text-shadow: 0 2px 12px rgba(0,0,0,.42);
}

.player-profile .pp-award i {
    background: linear-gradient(135deg, #f6d66e, var(--pp-gold));
}
.player-profile .pp-award--silver i {
    background: linear-gradient(135deg, #f4f4f0, #bfc4bd);
}
.player-profile .pp-award--bronze i {
    background: linear-gradient(135deg, #e6b77c, #a86531);
}
.player-profile .pp-award--recognition i,
.player-profile .pp-award--standard i {
    background: linear-gradient(135deg, rgba(246,214,110,.92), rgba(255,247,223,.88));
}
.player-profile .pp-modal__praise {
    margin: 0 0 1.1rem;
    padding: 1rem 1.1rem;
    border-radius: 18px;
    background: rgba(246,214,110,.15);
    border: 1px solid rgba(201,145,28,.22);
    color: #24493d;
    font-weight: 800;
    line-height: 1.45;
}


/* v13: softer moment artwork, magazine spacing and single-point trend support */
.player-profile .player-profile-hero__content {
    gap: clamp(2.6rem, 6vw, 6.6rem);
    padding-top: 3.9rem;
    padding-bottom: 5.1rem;
}
.player-profile .player-profile-status { margin-bottom: .45rem; }
.player-profile .player-profile-hero h1 { margin-top: 1.25rem; margin-bottom: 1.15rem; }
.player-profile .player-profile-hero__standfirst { margin-bottom: 1.75rem; }
.player-profile .player-profile-hero__quote { margin-top: .45rem; }
.player-profile .player-profile-hero__cards { margin-top: 2.75rem; }
.player-profile .player-profile-cover-card { padding-top: 1.2rem; }

.player-profile .pp-moment > img {
    opacity: .98;
    filter: saturate(1.04) contrast(1.02);
}
.player-profile .pp-moment::before {
    background: linear-gradient(90deg, rgba(2,18,13,.10) 0%, rgba(2,18,13,.03) 50%, rgba(2,18,13,0) 100%);
}
.player-profile .pp-moment__body {
    position: absolute;
    left: .78rem;
    bottom: .78rem;
    width: min(78%, 15rem);
    min-height: auto;
    padding: 2.85rem .9rem .86rem;
    border: 1px solid rgba(255,247,223,.14);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(3,31,23,.70), rgba(2,18,13,.82));
    backdrop-filter: blur(5px);
    box-shadow: 0 18px 34px rgba(0,0,0,.18);
}
.player-profile .pp-moment__icon {
    top: .72rem;
    left: .72rem;
    width: 1.85rem;
    height: 1.85rem;
    font-size: .88rem;
}
.player-profile .pp-moment strong { font-size: .98rem; }
.player-profile .pp-moment span { font-size: .78rem; line-height: 1.3; }
.player-profile .pp-moment strong,
.player-profile .pp-moment span,
.player-profile .pp-moment__body em {
    text-shadow: none;
}

.player-profile .pp-chart-point { cursor: pointer; }
.player-profile .pp-chart-dot--single { r: 6; }

@media (max-width: 900px) {
    .player-profile .player-profile-hero__content {
        gap: 1.35rem;
        padding-top: 2.25rem;
        padding-bottom: 3.25rem;
    }
    .player-profile .player-profile-hero__cards { margin-top: 1.6rem; }
    .player-profile .pp-moment__body { width: calc(100% - 1.4rem); max-width: 15.8rem; }
}


/* v14: keep career highlights as one premium rail across desktop and mobile */
.pp-highlight-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: .95rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding: .25rem .25rem 1.1rem;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}
.pp-highlight-grid::after {
    content: "";
    flex: 0 0 .25rem;
}
.pp-highlight-card {
    flex: 0 0 clamp(210px, 16vw, 280px) !important;
    scroll-snap-align: start;
}
.pp-highlight-card--featured {
    flex: 0 0 clamp(320px, 32vw, 520px) !important;
}
@media (max-width: 820px) {
    .pp-highlight-grid {
        margin-left: -0.15rem;
        margin-right: -1rem;
        padding-left: .15rem;
        padding-right: 1.25rem;
        scroll-padding-left: .15rem;
        scroll-padding-right: 1.25rem;
    }
    .pp-highlight-grid::after { flex-basis: .9rem; }
    .pp-highlight-card { flex-basis: min(255px, 78vw) !important; }
    .pp-highlight-card--featured { flex-basis: min(300px, 84vw) !important; }
}


/* v15: hero alignment polish */
.player-profile .player-profile-status {
    margin-top: 1rem;
    margin-bottom: .85rem;
}
.player-profile .player-profile-hero h1 {
    margin-top: .9rem;
}
.player-profile .player-profile-hero__meta {
    margin-top: 1.45rem;
    gap: 1rem 1.55rem;
}
.player-profile .player-profile-hero__cards {
    align-items: stretch;
}
.player-profile .player-profile-hero-card {
    min-height: 136px;
    padding-top: .18rem;
    padding-bottom: .18rem;
}
.player-profile .player-profile-hero-card > i {
    flex: 0 0 auto;
    margin-bottom: .72rem;
}
.player-profile .player-profile-hero-card span {
    min-height: 2.15em;
    display: flex;
    align-items: flex-start;
    line-height: 1.22;
}
.player-profile .player-profile-hero-card strong {
    min-height: 2.15rem;
    display: flex;
    align-items: flex-end;
    margin-top: .18rem;
}
.player-profile .player-profile-hero-card small {
    margin-top: auto;
}
@media (min-width: 901px) {
    .player-profile .player-profile-hero__main {
        padding-top: .2rem;
    }
    .player-profile .player-profile-hero__cards {
        gap: 1.25rem;
    }
}
@media (max-width: 900px) {
    .player-profile .player-profile-status {
        margin-top: .75rem;
        margin-bottom: .55rem;
    }
    .player-profile .player-profile-hero-card span,
    .player-profile .player-profile-hero-card strong {
        min-height: 0;
    }
}

/* v22: expanded AI magazine layer */
.player-profile .player-profile-hero__identity {
    max-width: 620px;
    margin: .75rem 0 0;
    color: rgba(255, 247, 223, .78);
    font-size: clamp(1rem, 1.18vw, 1.16rem);
    line-height: 1.62;
    font-weight: 500;
}
.player-profile .pp-story-feature__signature {
    margin: 1.25rem 0 1.35rem;
    padding-left: 1rem;
    border-left: 3px solid var(--pp-gold);
    color: rgba(9, 38, 29, .68);
    font-size: .98rem;
    line-height: 1.65;
    max-width: 620px;
}
.player-profile .pp-section-head__feature {
    position: relative;
    margin-top: 1rem !important;
    padding: .95rem 1.1rem;
    border: 1px solid rgba(205, 160, 53, .28);
    border-radius: 16px;
    background: rgba(255, 248, 232, .72);
    color: rgba(9, 38, 29, .76) !important;
    box-shadow: 0 14px 34px rgba(7, 30, 22, .06);
}
.player-profile .pp-section--dark .pp-section-head__feature {
    border-color: rgba(205, 160, 53, .35);
    background: rgba(255, 248, 232, .08);
    color: rgba(255, 247, 223, .82) !important;
    box-shadow: none;
}
.player-profile .pp-section-head--center .pp-section-head__feature {
    margin-left: auto;
    margin-right: auto;
}
.player-profile .pp-section-head:has(.pp-section-head__feature) {
    max-width: min(1120px, 100%);
}
.player-profile .pp-section-head__feature {
    width: min(100%, 1120px);
}

@media (max-width: 900px) {
    .player-profile .player-profile-hero__identity {
        margin-top: .6rem;
        font-size: .98rem;
    }
    .player-profile .pp-story-feature__signature {
        margin-top: 1rem;
    }
}

/* v28 editorial polish: magazine pull-quotes, warm empty states and Event Hub style orbs */
.player-profile .pp-story-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.35rem;
}

.player-profile .pp-section-head__feature {
    width: min(100%, 1120px);
    margin-top: 1.35rem !important;
    padding: 0 0 0 2.6rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: rgba(9, 38, 29, .78) !important;
    font-size: clamp(1.15rem, 1.7vw, 1.62rem);
    line-height: 1.45;
    font-weight: 600;
    letter-spacing: -.02em;
}
.player-profile .pp-section-head__feature::before {
    content: '“';
    position: absolute;
    left: 0;
    top: -.18em;
    color: var(--pp-gold);
    font-size: 3.1rem;
    line-height: 1;
    font-weight: 900;
}
.player-profile .pp-section--dark .pp-section-head__feature {
    color: rgba(255, 247, 223, .88) !important;
    background: transparent;
    border: 0;
}
.player-profile .pp-section-head--center .pp-section-head__feature {
    text-align: left;
    margin-left: auto;
    margin-right: auto;
}

.player-profile .pp-story-feature__pullquote {
    background: rgba(3, 45, 33, .92);
    border: 1px solid rgba(232, 186, 70, .35);
    box-shadow: 0 18px 44px rgba(7, 30, 22, .18);
    font-size: clamp(1rem, 1.25vw, 1.22rem);
    line-height: 1.35;
}

.player-profile .pp-editorial-empty {
    min-height: 250px;
    display: grid;
    place-items: center;
    text-align: center;
    gap: .75rem;
    padding: clamp(2rem, 4vw, 3.5rem);
    border-radius: 24px;
    border: 1px solid rgba(205, 160, 53, .22);
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 18px 42px rgba(7, 30, 22, .08);
    color: var(--pp-ink);
}
.player-profile .pp-editorial-empty i {
    display: inline-grid;
    place-items: center;
    width: 3.1rem;
    height: 3.1rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #e7c45a, #c89522);
    color: #08261c;
    font-size: 1.25rem;
    box-shadow: 0 12px 28px rgba(205, 160, 53, .22);
}
.player-profile .pp-editorial-empty strong {
    display: block;
    font-size: clamp(1.45rem, 2.2vw, 2.2rem);
    line-height: 1;
    letter-spacing: -.045em;
}
.player-profile .pp-editorial-empty span {
    max-width: 44rem;
    color: rgba(9, 38, 29, .66);
    font-size: 1.02rem;
    line-height: 1.6;
}
.player-profile .pp-editorial-empty--dark {
    background: rgba(255, 247, 223, .06);
    border-color: rgba(205, 160, 53, .28);
    color: #fff7df;
    box-shadow: none;
}
.player-profile .pp-editorial-empty--dark span {
    color: rgba(255, 247, 223, .72);
}
.player-profile .pp-editorial-empty--cabinet {
    width: 100%;
}

.player-profile .pp-mate-avatar {
    border-radius: 999px !important;
    background:
        radial-gradient(circle at 30% 22%, rgba(255,255,255,.32), transparent 34%),
        radial-gradient(circle at 72% 76%, rgba(205,160,53,.95), rgba(205,160,53,.20) 36%, transparent 62%),
        linear-gradient(135deg, #063d2d 0%, #0b553f 42%, #c99b26 100%);
    color: #fff7df;
    border: 2px solid rgba(231, 196, 90, .72);
    box-shadow: 0 10px 24px rgba(7,30,22,.14), inset 0 0 0 1px rgba(255,255,255,.15);
}
.player-profile .pp-mate-avatar span {
    font-size: 1.2rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-shadow: 0 1px 8px rgba(0,0,0,.18);
}
.player-profile .pp-mate-avatar::after {
    inset: -4px;
    border: 1px solid rgba(231, 196, 90, .34);
    box-shadow: none;
}
.player-profile .pp-mate-avatar img {
    border-radius: inherit;
}

@media (max-width: 820px) {
    .player-profile .pp-section-head__feature {
        padding-left: 2rem;
        font-size: 1.08rem;
    }
    .player-profile .pp-section-head__feature::before {
        font-size: 2.45rem;
    }
    .player-profile .pp-story-actions .pp-btn {
        width: 100%;
        justify-content: center;
    }
    .player-profile .pp-editorial-empty {
        min-height: 220px;
        padding: 1.5rem;
    }
}


/* v29: final orb polish and trophy-modal editorial pull quotes */
.player-profile .player-profile-cover-card__photo,
.player-profile .pp-mate-avatar {
    background:
        radial-gradient(circle at 28% 20%, rgba(255,255,255,.26), transparent 28%),
        radial-gradient(circle at 68% 72%, rgba(39,130,91,.48), transparent 44%),
        linear-gradient(145deg, #0b5b40 0%, #064731 48%, #053224 100%) !important;
    border-color: rgba(232, 186, 70, .95) !important;
    color: #fff7df !important;
    box-shadow:
        0 14px 34px rgba(7,30,22,.18),
        inset 0 0 0 1px rgba(255,255,255,.16),
        inset 0 20px 40px rgba(255,255,255,.06) !important;
}
.player-profile .player-profile-cover-card__photo::before,
.player-profile .pp-mate-avatar::before {
    content: "";
    position: absolute;
    inset: 9%;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,.20), transparent 42%);
    pointer-events: none;
    z-index: 1;
}
.player-profile .player-profile-cover-card__photo::after,
.player-profile .pp-mate-avatar::after {
    content: "";
    position: absolute;
    inset: -5px;
    border-radius: inherit;
    border: 1px solid rgba(232,186,70,.45);
    pointer-events: none;
    box-shadow: none !important;
}
.player-profile .player-profile-cover-card__photo img,
.player-profile .pp-mate-avatar img,
.player-profile .pp-mate-avatar span,
.player-profile .player-profile-cover-card__photo > :not(img):not(.player-profile-cover-card__hcp) {
    position: relative;
    z-index: 2;
}
.player-profile .pp-mate-avatar span {
    font-size: clamp(1.1rem, 1.8vw, 1.45rem);
    font-weight: 900;
    letter-spacing: .02em;
    color: #fff7df;
    text-shadow: 0 2px 12px rgba(0,0,0,.28);
}

.player-profile .pp-modal__praise {
    position: relative;
    margin: 1.35rem 0 1.55rem;
    padding: .2rem 0 .15rem 2.65rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(9,38,29,.82);
    font-size: clamp(1.15rem, 1.75vw, 1.62rem);
    line-height: 1.42;
    font-weight: 800;
    letter-spacing: -.025em;
}
.player-profile .pp-modal__praise::before {
    content: '“';
    position: absolute;
    left: 0;
    top: -.22em;
    color: var(--pp-gold);
    font-size: 3.25rem;
    line-height: 1;
    font-weight: 900;
}
.player-profile .pp-modal__lead {
    max-width: 52rem;
}
.player-profile .pp-modal__facts div {
    background: rgba(255,255,255,.46);
    border-color: rgba(9,38,29,.10);
    box-shadow: 0 10px 22px rgba(7,30,22,.045);
}
.player-profile .pp-modal__note {
    margin-top: 1rem;
    padding: .95rem 1.05rem;
    border-left: 0;
    border-radius: 16px;
    background: rgba(3,45,33,.06);
    color: rgba(9,38,29,.74);
}
@media (max-width: 820px) {
    .player-profile .pp-modal__praise {
        padding-left: 2rem;
        font-size: 1.1rem;
    }
    .player-profile .pp-modal__praise::before {
        font-size: 2.55rem;
    }
}

/* v30: final editorial recognition and social copy polish */
.player-profile .pp-modal__praise {
    max-width: 48rem;
    font-size: clamp(1.02rem, 1.28vw, 1.32rem);
    line-height: 1.48;
    font-weight: 760;
    letter-spacing: -.018em;
}
.player-profile .pp-modal__praise::before {
    top: -.15em;
    font-size: 2.65rem;
}
@media (max-width: 820px) {
    .player-profile .pp-modal__praise {
        font-size: 1.02rem;
        line-height: 1.48;
    }
}

/* v1.0.32: final magazine polish for mates + mobile moment rail */
.pp-mates-panel .pp-panel-kicker {
    margin-bottom: 1rem;
}
@media (max-width: 640px) {
    .pp-moments-grid {
        display: flex;
        grid-template-columns: none;
        overflow-x: auto;
        gap: .85rem;
        padding: .15rem max(1.2rem, calc((100vw - 100%) / 2)) .75rem 0;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }
    .pp-moments-grid::after {
        content: "";
        flex: 0 0 .25rem;
    }
    .pp-moments-grid .pp-moment {
        flex: 0 0 min(82vw, 330px);
        scroll-snap-align: start;
    }
}

/* v1.0.15: profile local nav, course round reveal and record scorecard pills */
.player-profile-local-nav {
    position: sticky;
    top: var(--front-header-height, var(--site-header-height, 0px));
    z-index: 80;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(.7rem, 2vw, 1.6rem);
    min-height: 56px;
    padding: 0 clamp(1rem, 3vw, 2.2rem);
    background: linear-gradient(180deg, rgba(5, 51, 38, .98), rgba(6, 63, 45, .98));
    border-top: 1px solid rgba(255, 247, 223, .08);
    border-bottom: 1px solid rgba(214, 169, 55, .32);
    box-shadow: 0 14px 28px rgba(3, 24, 17, .16);
}
.player-profile-local-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: .3rem .8rem;
    color: rgba(255, 247, 223, .78);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .78rem;
    font-weight: 840;
    white-space: nowrap;
}
.player-profile-local-nav a::after {
    content: "";
    position: absolute;
    left: 22%;
    right: 22%;
    bottom: .72rem;
    height: 3px;
    border-radius: 999px;
    background: transparent;
}
.player-profile-local-nav a.is-active,
.player-profile-local-nav a:hover { color: #fff8e8; }
.player-profile-local-nav a.is-active::after,
.player-profile-local-nav a:hover::after { background: var(--pp-gold); }

.player-profile-hero,
#moments,
#scorecards { scroll-margin-top: calc(var(--front-header-height, var(--site-header-height, 72px)) + 70px); }

.pp-course-card__body { display: flex; flex-direction: column; }
.pp-course-card__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    width: 100%;
    min-height: 40px;
    margin-top: 1rem;
    border: 1px solid rgba(9, 38, 29, .12);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: var(--pp-ink);
    font: inherit;
    font-size: .82rem;
    line-height: 1;
    font-weight: 860;
    text-transform: uppercase;
    letter-spacing: .075em;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.pp-course-card__action:hover {
    transform: translateY(-1px);
    background: #fff;
    box-shadow: 0 10px 20px rgba(7, 30, 22, .08);
}
.pp-course-card__action i { color: #9b711f; }
.pp-modal__story-list--scorecards .pp-modal__story-item span { min-width: 4.4rem; }

.pp-scorecard-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: .48rem .78rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #f4cf64, #d6a937);
    color: #08261c;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .075em;
    font-size: .68rem;
    line-height: 1;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(214, 169, 55, .18);
    white-space: nowrap;
}
.pp-scorecard-pill:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(214, 169, 55, .24); }

@media (max-width: 820px) {
    .player-profile-local-nav {
        top: var(--front-header-height, var(--site-header-height, 0px));
        justify-content: flex-start;
        min-height: 52px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .player-profile-local-nav::-webkit-scrollbar { display: none; }
    .player-profile-local-nav a {
        flex: 0 0 auto;
        min-height: 52px;
        min-width: 112px;
        font-size: .7rem;
    }
    .player-profile-local-nav a::after { bottom: .62rem; height: 2px; }
    .player-profile-hero,
    #moments,
    #scorecards { scroll-margin-top: calc(var(--front-header-height, var(--site-header-height, 62px)) + 62px); }
}

/* v1.0.17: profile nav placement/weight, modal stacking and scorecard action polish */
.player-profile .player-profile-status {
    margin-top: .2rem;
    margin-bottom: 1rem;
    color: var(--pp-gold) !important;
}
.player-profile .player-profile-status i { color: var(--pp-gold) !important; }
.player-profile .player-profile-hero h1 { margin-bottom: .65rem; }

.player-profile-local-nav {
    width: min(100% - 7vw, 980px) !important;
    margin: 0 auto clamp(1.4rem, 3vw, 2.2rem) !important;
    top: var(--front-header-height, var(--site-header-height, 0px)) !important;
    min-height: 56px !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-left-radius: 32px !important;
    border-bottom-right-radius: 32px !important;
    border-bottom: 1px solid rgba(214, 169, 55, .36) !important;
}
.player-profile-local-nav a {
    min-height: 56px !important;
    color: #fff !important;
    font-weight: 640 !important;
}
.player-profile-local-nav a.is-active {
    color: var(--pp-gold) !important;
}
.player-profile-local-nav a:hover {
    color: var(--pp-gold) !important;
}
.player-profile-local-nav a::after { height: 2px !important; }
.player-profile-local-nav a.is-active::after,
.player-profile-local-nav a:hover::after { background: var(--pp-gold) !important; }

.player-profile-hero,
#moments,
#scorecards { scroll-margin-top: calc(var(--front-header-height, var(--site-header-height, 72px)) + 66px) !important; }

.player-profile .pp-modal {
    z-index: 2147483000 !important;
}
.player-profile .pp-modal__shade { z-index: 0; }
.player-profile .pp-modal__card { z-index: 1; }

.player-profile .pp-course-card__action {
    font-size: .76rem;
    font-weight: 760;
}
.player-profile .pp-scorecard-pill {
    min-height: 32px;
    border: 1px solid rgba(9, 38, 29, .12);
    border-radius: .5rem;
    background: rgba(255, 255, 255, .82);
    color: var(--pp-ink);
    box-shadow: none;
    font-weight: 780;
}
.player-profile .pp-scorecard-pill:hover {
    background: #fff;
    box-shadow: 0 10px 20px rgba(7, 30, 22, .08);
}

@media (max-width: 820px) {
    .player-profile-local-nav {
        width: 100% !important;
        margin: 0 0 1rem !important;
        border-radius: 0 !important;
        min-height: 52px !important;
    }
    .player-profile-local-nav a {
        min-height: 52px !important;
        font-size: .68rem !important;
        font-weight: 640 !important;
    }
    .player-profile .pp-course-card__action {
        min-height: 38px;
        padding: .55rem .7rem;
        font-size: .66rem;
        letter-spacing: .06em;
    }
    .player-profile .pp-scorecard-pill {
        min-height: 30px;
        padding: .44rem .68rem;
        border-radius: .45rem;
        font-size: .64rem;
    }
    .player-profile-hero,
    #moments,
    #scorecards { scroll-margin-top: calc(var(--front-header-height, var(--site-header-height, 62px)) + 58px) !important; }
}

/* v1.0.18: sticky nav lock and true viewport modals */
.player-profile {
    overflow-x: clip !important;
    overflow-y: visible !important;
}

.player-profile-local-nav {
    position: sticky !important;
    top: var(--player-profile-sticky-offset, var(--front-header-height, var(--site-header-height, 72px))) !important;
    z-index: 1038 !important;
    transform: translateZ(0);
}

.player-profile-local-nav a {
    color: #fff !important;
    font-weight: 640 !important;
}

.player-profile-local-nav a.is-active,
.player-profile-local-nav a:hover {
    color: var(--pp-gold) !important;
}

html.pp-modal-is-open,
body.pp-modal-is-open {
    overflow: hidden !important;
}

body > .pp-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
}

body > .pp-modal[aria-hidden="false"] {
    display: flex !important;
}

body > .pp-modal .pp-modal__shade {
    position: fixed !important;
    inset: 0 !important;
}

body > .pp-modal .pp-modal__card {
    position: relative !important;
    z-index: 1 !important;
}

@supports not (height: 100dvh) {
    body > .pp-modal { height: 100vh !important; }
}

@media (max-width: 820px) {
    .player-profile-local-nav {
        top: var(--player-profile-sticky-offset-mobile, var(--front-header-height, var(--site-header-height, 64px))) !important;
        z-index: 1038 !important;
    }
}



/* v1.0.20: final sticky offsets + course links */
.player-profile {
    --player-profile-sticky-offset: 64px;
    --player-profile-sticky-offset-mobile: 60px;
}

.player-profile-local-nav {
    top: 64px !important;
}

.player-profile .pp-course-card__title-link,
.player-profile .pp-modal__title-link,
.player-profile .pp-record-course-link {
    color: inherit;
    text-decoration: none;
}

.player-profile .pp-course-card__title-link:hover,
.player-profile .pp-course-card__title-link:focus,
.player-profile .pp-modal__title-link:hover,
.player-profile .pp-modal__title-link:focus,
.player-profile .pp-record-course-link:hover,
.player-profile .pp-record-course-link:focus {
    color: var(--pp-gold);
    text-decoration: none;
}

@media (max-width: 820px) {
    .player-profile-local-nav {
        top: 60px !important;
    }
}


/* v1.0.33: Honours-style stable profile navigation. */
.player-profile-local-nav {
    transform: none !important;
    backface-visibility: visible !important;
    will-change: auto !important;
}

.player-profile-local-nav-spacer {
    display: none;
    width: 100%;
    height: 52px;
}

@media (max-width: 820px) {
    .player-profile-local-nav {
        position: relative !important;
        top: auto !important;
        height: 52px !important;
        max-height: 52px !important;
    }

    .player-profile-local-nav.is-mobile-fixed {
        position: fixed !important;
        top: 60px !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 1038 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .player-profile-local-nav-spacer.is-active {
        display: block;
    }
}

/* 4D.5I.8 — Player Profile Match Play history */
.pp-match-play-history{overflow:hidden}
.pp-match-play-summary{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.5rem 0 1.7rem}
.pp-match-play-summary article{min-width:118px;padding:1rem 1.1rem;border:1px solid rgba(6,51,36,.1);border-radius:16px;background:#fffaf0}
.pp-match-play-summary article span{display:block;margin-bottom:.2rem;color:#6e7c76;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pp-match-play-summary article strong{color:#063324;font-size:1.8rem;font-weight:700;line-height:1}
.pp-match-play-summary article.is-gold{border-color:rgba(214,169,55,.45);background:#063324}
.pp-match-play-summary article.is-gold span{color:#d6a937}.pp-match-play-summary article.is-gold strong{color:#fffaf0}
.pp-match-play-rail{display:flex;gap:1rem;overflow-x:auto;padding:.1rem 0 1rem;scroll-snap-type:x proximity}
.pp-match-play-card{flex:0 0 min(430px,82vw);overflow:hidden;border:1px solid rgba(6,51,36,.1);border-radius:20px;background:#063324;color:#fffaf0;text-decoration:none;scroll-snap-align:start;box-shadow:0 16px 38px rgba(6,51,36,.09)}
.pp-match-play-card__top,.pp-match-play-card__meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem}
.pp-match-play-card__top{border-bottom:1px solid rgba(255,250,240,.12)}
.pp-match-play-card__top span{color:#d6a937;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pp-match-play-card__top em{color:rgba(255,250,240,.7);font-size:.82rem;font-style:normal;font-weight:750}
.pp-match-play-card__result{padding:1.15rem;background:#fffaf0}
.pp-match-play-card__result small{display:block;margin-bottom:.25rem;color:#ad8219;font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.pp-match-play-card__result strong{color:#063324;font-size:clamp(1.55rem,2.8vw,2.3rem);line-height:1;letter-spacing:-.03em}
.pp-match-play-card__versus{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.7rem;padding:1.05rem 1.15rem}
.pp-match-play-card__versus b{font-size:.96rem;line-height:1.15}.pp-match-play-card__versus b:last-child{text-align:right}
.pp-match-play-card__versus span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(214,169,55,.45);border-radius:50%;color:#d6a937;font-size:.65rem;font-weight:900}
.pp-match-play-card__meta{padding-top:.8rem;border-top:1px solid rgba(255,250,240,.1);color:rgba(255,250,240,.72);font-size:.82rem}
.pp-match-play-card__meta em{display:flex;gap:.4rem;align-items:center;color:#d6a937;font-style:normal;font-weight:800}
@media(max-width:700px){.pp-match-play-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pp-match-play-summary article{min-width:0}.pp-match-play-card{flex-basis:88vw}}


/* 4D.5I.8.1 — Match Play profile integration parity */
.pp-match-play-history{
    scroll-margin-top:190px;
    padding-top:clamp(3.5rem,6vw,6rem);
    padding-bottom:clamp(3.5rem,6vw,5.5rem);
}
.pp-match-play-history .pp-section-head{
    max-width:900px;
}
.pp-match-play-history .pp-section-head h2{
    max-width:850px;
}
.pp-match-play-history .pp-section-head p{
    max-width:760px;
}
.pp-match-play-card__versus,
.pp-match-play-card__versus b,
.pp-match-play-card__meta,
.pp-match-play-card__meta span{
    color:#fffaf0 !important;
}
.pp-match-play-card__versus b{
    opacity:1 !important;
}
.pp-match-play-card__top em{
    color:rgba(255,250,240,.78) !important;
}
.pp-match-play-card.is-win{
    box-shadow:inset 0 4px 0 #d6a937,0 16px 38px rgba(6,51,36,.11);
}
.pp-match-play-card.is-win .pp-match-play-card__result{
    background:#fff8e8;
}
.pp-match-play-card.is-half{
    box-shadow:inset 0 4px 0 #c5b67b,0 16px 38px rgba(6,51,36,.09);
}
.pp-match-play-card.is-half .pp-match-play-card__result{
    background:#f3f0e5;
}
.pp-match-play-card.is-half .pp-match-play-card__result small{
    color:#776a39;
}
.pp-match-play-card.is-loss{
    box-shadow:inset 0 4px 0 #8e9a94,0 16px 38px rgba(6,51,36,.08);
}
.pp-match-play-card.is-loss .pp-match-play-card__result{
    background:#eef0ec;
}
.pp-match-play-card.is-loss .pp-match-play-card__result small{
    color:#68766f;
}
.pp-match-play-card.is-loss .pp-match-play-card__result strong{
    color:#30483f;
}
@media (min-width:1100px){
    .pp-match-play-card{
        flex-basis:calc((100% - 2rem)/2.35);
    }
}
@media(max-width:700px){
    .pp-match-play-history{
        scroll-margin-top:155px;
        padding-top:3.2rem;
        padding-bottom:3.5rem;
    }
}


/* 4E.25G.2 — Seasons + bounded Moments rail */
.pp-season-grid{align-items:stretch}
.pp-season-card{display:flex;flex-direction:column}
.pp-season-card__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}
.pp-season-card__state{
    display:inline-flex;align-items:center;min-height:30px;padding:.38rem .66rem;
    border:1px solid rgba(9,38,29,.12);border-radius:.5rem;background:#fff;
    color:var(--pp-ink);font-size:.78rem;font-weight:780
}
.pp-season-card__state.is-active{background:#eaf6ef;color:#0b6b4a}
.pp-season-card__summary{margin-top:.65rem!important;margin-bottom:auto!important}
.pp-season-card .pp-course-card__action{border-radius:.5rem}

.player-profile .pp-moments-grid{
    display:grid!important;
    grid-template-rows:repeat(2,minmax(245px,auto))!important;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(250px,calc((100% - 3.4rem)/5))!important;
    gap:.85rem!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:.15rem .15rem .85rem!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin!important
}
.player-profile .pp-moments-grid .pp-moment{
    min-width:0!important;width:100%!important;scroll-snap-align:start!important
}
@media(max-width:760px){
    .player-profile .pp-moments-grid{
        display:flex!important;flex-flow:row nowrap!important;gap:.85rem!important;
        overflow-x:auto!important;padding:.15rem 0 .85rem!important
    }
    .player-profile .pp-moments-grid .pp-moment{
        flex:0 0 min(82vw,330px)!important;width:min(82vw,330px)!important
    }
}
