:root {
    --navy: #07101d;
    --navy-2: #0b1626;
    --navy-3: #13243a;
    --ink: #111c2b;
    --muted: #66778a;
    --muted-2: #8b99a9;
    --line: #dde4ea;
    --soft: #f3f6f9;
    --paper: #ffffff;
    --red: #d7354a;
    --red-dark: #ac2639;
    --red-soft: #fbe9ec;
    --gold: #f0b44c;
    --success: #137a5b;
    --radius-sm: .65rem;
    --radius: 1rem;
    --radius-lg: 1.4rem;
    --shadow-sm: 0 8px 26px rgba(7, 16, 29, .08);
    --shadow-lg: 0 24px 70px rgba(7, 16, 29, .18);
    --shell: 1180px;
    --header-height: 72px;
    --font-headline: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --font-ui: "Montserrat", "Helvetica Neue", Arial, sans-serif;
    --font-body: "Lato", "Helvetica Neue", Arial, sans-serif;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-height) + 18px);
}

body {
    margin: 0;
    font-family: var(--font-body);
    font-weight: 400;
    letter-spacing: .02em;
    text-transform: none;
    color: var(--ink);
    background: var(--paper);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
}

button, input, select {
    font: inherit;
}

button {
    color: inherit;
}

/* Recruiting typography system
   Main headlines: Cormorant Garamond Italic
   Subheadings / UI: Montserrat
   Body: Lato
*/
h1,
h2,
.hero h1,
.section-head h2,
.primary-position-header h2,
.contact-head h2,
.prose-page h1,
.not-found h1 {
    font-family: var(--font-headline);
    font-style: italic;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

h3,
h4,
.brand strong,
.brand small,
.brand-mark,
.primary-nav,
.nav-contact,
.section-eyebrow,
.eyebrow,
.video-type,
.position-label,
.button,
.text-link-light,
.section-link,
.recruiting-line,
.hero-evidence-head > span,
.hero-metric .metric-label,
.recruiter-shortcuts strong,
.schedule-tabs button,
.stats-year-controls button,
.stats-scope-controls button,
.position-tabs button,
.next-event-jersey span,
.next-event-details dt,
.performance-summary-head > div > span,
.performance-stat span,
.sample-size span,
.verification-detail dt,
.schedule-table th,
.stats-table th,
.schedule-mobile-date,
.schedule-mobile-grid dt,
.academic-score span,
.academic-details dt,
.achievement-card > span,
.contact-card .role,
.preferred-badge,
.footer-athlete strong,
.footer-recruiting-id,
.footer-platform-mark,
.mobile-dock strong {
    font-family: var(--font-ui);
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

::selection {
    background: var(--red);
    color: white;
}

.shell, .container {
    width: min(calc(100% - 2rem), var(--shell));
    margin-inline: auto;
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.skip-link {
    position: fixed;
    top: .75rem;
    left: .75rem;
    z-index: 9999;
    padding: .7rem 1rem;
    background: white;
    color: var(--navy);
    border-radius: .5rem;
    transform: translateY(-160%);
}

.skip-link:focus {
    transform: translateY(0);
}

:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 3px;
}

.site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    height: var(--header-height);
    background: rgba(7, 16, 29, .9);
    color: white;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
    backdrop-filter: blur(14px);
    transition: background .2s ease, box-shadow .2s ease;
}

.site-header.scrolled {
    background: rgba(7, 16, 29, .98);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .16);
}

.static-header {
    position: static;
}

.nav-wrap {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    text-decoration: none;
    min-width: max-content;
}

.brand-mark {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: .5rem;
    background: var(--red);
    color: white;
    font-weight: 700;
}

.brand strong, .brand small {
    display: block;
    line-height: 1.05;
}

.brand strong {
    font-size: .91rem;
    letter-spacing: .01em;
}

.brand small {
    margin-top: .25rem;
    color: #c6d0db;
    font-size: .63rem;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.primary-nav {
    display: flex;
    align-items: center;
    gap: 1.05rem;
    font-size: .78rem;
    font-weight: 700;
}

.primary-nav a {
    text-decoration: none;
    color: #dfe7ef;
    padding: .55rem 0;
}

.primary-nav a:hover {
    color: white;
}

.primary-nav .nav-contact {
    padding: .5rem .8rem;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 999px;
}

.nav-toggle {
    display: none;
    border: 0;
    background: transparent;
    padding: .5rem;
    cursor: pointer;
}

.nav-toggle span:not(.sr-only) {
    display: block;
    width: 24px;
    height: 2px;
    margin: 5px 0;
    background: white;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: .72rem 1rem;
    border-radius: .62rem;
    text-decoration: none;
    font-size: .83rem;
    font-weight: 700;
    letter-spacing: .01em;
    border: 1px solid transparent;
    transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

.button:hover {
    transform: translateY(-1px);
}

.button-red, .button-primary {
    background: var(--red);
    color: white;
    border-color: var(--red);
}

.button-red:hover, .button-primary:hover {
    background: var(--red-dark);
    border-color: var(--red-dark);
}

.button-outline-light {
    background: transparent;
    color: white;
    border-color: rgba(255, 255, 255, .52);
}

.button-outline-light:hover {
    background: rgba(255, 255, 255, .08);
    border-color: white;
}

.button-outline-dark {
    background: transparent;
    color: var(--navy);
    border-color: #a9b5c2;
}

.button-secondary {
    background: white;
    color: var(--navy);
    border-color: white;
}

.button-small {
    min-height: 38px;
    padding: .5rem .75rem;
}

.button-full {
    width: 100%;
}

.text-link-light {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 46px;
    padding: .72rem .25rem;
    color: white;
    font-size: .83rem;
    font-weight: 700;
    text-decoration: none;
}

.text-link-light:hover {
    text-decoration: underline;
    text-underline-offset: .25rem;
}

.section-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: var(--red-dark);
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
}

.section-link:hover {
    text-decoration: underline;
    text-underline-offset: .25rem;
}

.section-link-light {
    color: white;
}

.hero {
    position: relative;
    min-height: 600px;
    color: white;
    overflow: hidden;
    background: var(--navy);
}

.hero-media {
    position: absolute;
    inset: 0;
}

.hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 65% 10%;
    filter: saturate(.84) contrast(1.04);
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4, 10, 18, .68) 0%, rgba(4, 10, 18, .48) 37%, rgba(4, 10, 18, .15) 68%, rgba(4, 10, 18, .03) 100%),
    linear-gradient(0deg, rgba(4, 10, 18, .42) 0%, transparent 55%);
}

.hero-shell {
    position: relative;
    z-index: 2;
    min-height: 500px;
    padding-top: calc(var(--header-height) + 4.5rem);
    padding-bottom: 1.25rem;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
    grid-template-areas: "copy evidence" "shortcuts shortcuts";
    align-items: end;
    gap: 2.2rem 3.2rem;
}

.hero-copy {
    grid-area: copy;
    align-self: center;
}

.hero-evidence {
    grid-area: evidence;
    align-self: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: var(--radius-lg);
    background: rgba(8, 18, 31, .76);
    backdrop-filter: blur(13px);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.hero-eyebrow {
    color: #f6c0c8;
}

.section-eyebrow {
    margin: 0 0 .55rem;
    color: var(--red-dark);
    font-size: .69rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .14em;
}

.inverse-eyebrow {
    color: #f4a8b3;
}

.hero h1 {
    margin: 0;
    max-width: 780px;
    font-size: clamp(3.25rem, 7vw, 6.5rem);
    line-height: .9;
    letter-spacing: -.06em;
    text-wrap: balance;
}

.recruiting-line {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 0;
    margin: 1rem 0 .75rem;
    font-size: .88rem;
    font-weight: 700;
    color: white;
}

.recruiting-line span {
    display: inline-flex;
    align-items: center;
}

.recruiting-line span + span::before {
    content: "•";
    margin: 0 10px;
    opacity: .45;
}

.hero-position-hierarchy {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1.15rem;
    margin: 0;
    font-size: .93rem;
}

.hero-position-hierarchy strong {
    color: white;
}

.hero-position-hierarchy span {
    color: #cbd6e1;
}

.hero-affiliations {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .55rem;
    margin: .75rem 0 0;
    color: #aebdcb;
    font-size: .79rem;
}

.hero-affiliations strong {
    color: #dce5ee;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem .9rem;
    align-items: center;
    margin-top: 1.35rem;
}

.hero-evidence-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.hero-evidence-head > span {
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hero-evidence-head small {
    color: rgba(255, 255, 255, .5);
    font-size: .62rem;
}

.hero-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hero-metric {
    min-width: 0;
    padding: .95rem 1rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
}

.hero-metric:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, .09);
}

.hero-metric:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.hero-metric .metric-label {
    display: block;
    color: #aebdcb;
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.hero-metric .metric-value {
    display: block;
    margin-top: .16rem;
    color: white;
    font-size: 1.27rem;
    line-height: 1.15;
}

.hero-metric small {
    display: block;
    margin-top: 5px;
    color: rgba(255, 255, 255, .46);
    font-size: .64rem;
    line-height: 1.3;
}

.recruiter-shortcuts {
    grid-area: shortcuts;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, .13);
    border-bottom: 1px solid rgba(255, 255, 255, .09);
}

.recruiter-shortcuts a {
    padding: .82rem 1rem;
    text-decoration: none;
    border-right: 1px solid rgba(255, 255, 255, .1);
}

.recruiter-shortcuts a:last-child {
    border-right: 0;
}

.recruiter-shortcuts strong, .recruiter-shortcuts span {
    display: block;
}

.recruiter-shortcuts strong {
    font-size: .76rem;
}

.recruiter-shortcuts span {
    margin-top: .1rem;
    color: rgba(255, 255, 255, .52);
    font-size: .62rem;
}

.recruiter-shortcuts a:hover {
    background: rgba(255, 255, 255, .04);
}

.section {
    padding: clamp(56px, 6vw, 84px) 0;
}

.section--compact {
    padding: clamp(42px, 5vw, 68px) 0;
}

.section-light {
    background: var(--soft);
}

.section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.section-head.compact {
    margin-bottom: 1.5rem;
}

.section-head h2, h2 {
    margin: 0;
    font-size: clamp(2rem, 3.4vw, 3.4rem);
    line-height: .98;
    letter-spacing: -.04em;
}

.section-subtitle {
    max-width: 720px;
    margin: .65rem 0 0;
    color: var(--muted);
    font-size: .9rem;
}

.section-meta {
    flex: 0 0 auto;
    padding-bottom: .15rem;
}

.evidence-meta {
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.4;
}

.empty-state {
    padding: 1.2rem;
    border: 1px dashed #c5ced8;
    border-radius: var(--radius);
    color: var(--muted);
    background: rgba(255, 255, 255, .55);
}

.dark-empty {
    border-color: rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .04);
    color: #bac6d2;
}

.muted {
    color: var(--muted);
}

.evaluation-section {
    background: white;
}

.evaluation-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 1.15rem;
    align-items: stretch;
}

.featured-evaluation-card {
    height: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(270px, .85fr);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: white;
    box-shadow: var(--shadow-sm);
}

.featured-media {
    min-height: 320px;
    background: var(--navy);
}

.featured-copy {
    padding: 1.4rem;
    align-self: center;
}

.featured-copy h3 {
    margin: .55rem 0 .65rem;
    font-size: 1.45rem;
    letter-spacing: -.025em;
}

.featured-copy > p {
    margin: 0 0 1rem;
    color: var(--muted);
    font-size: .88rem;
}

.video-type-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
}

.video-type {
    display: inline-flex;
    width: max-content;
    color: var(--red-dark);
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.video-poster {
    position: relative;
    min-height: 220px;
    height: 100%;
    overflow: hidden;
    background: var(--navy);
}

.video-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-poster-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(5, 12, 21, .65), rgba(5, 12, 21, .12));
}

.video-poster iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    border: 0;
    background: #000;
}

.video-embed-shell {
    background: #000;
}

.video-poster-pending .video-poster-shade {
    background: rgba(5, 12, 21, .74);
}

.video-pending-label {
    position: absolute;
    inset: auto 1rem 1rem;
    color: white;
}

.video-pending-label strong, .video-pending-label span {
    display: block;
}

.video-pending-label strong {
    font-size: .85rem;
}

.video-pending-label span {
    margin-top: .2rem;
    color: #b9c5d0;
    font-size: .66rem;
}

.next-event-card {
    display: flex;
    flex-direction: column;
    padding: 1.4rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--navy);
    color: white;
    box-shadow: var(--shadow-sm);
}

.next-event-top {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.next-event-top .section-eyebrow {
    color: #f2a9b4;
}

.next-event-date {
    margin: 0;
    color: #c0ccd8;
    font-size: .8rem;
    font-weight: 700;
}

.next-event-jersey {
    flex: 0 0 auto;
    min-width: 82px;
    padding: .7rem .8rem;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: .85rem;
    text-align: center;
    background: rgba(255, 255, 255, .04);
}

.next-event-jersey span, .next-event-jersey strong {
    display: block;
}

.next-event-jersey span {
    color: #98a8b9;
    font-size: .6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .09em;
}

.next-event-jersey strong {
    margin-top: .15rem;
    font-size: 1.65rem;
    line-height: 1;
}

.next-event-card h3 {
    margin: 1.25rem 0 .35rem;
    font-size: 1.45rem;
    line-height: 1.1;
}

.next-event-location {
    margin: 0;
    color: #bdc9d5;
    font-size: .82rem;
}

.next-event-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
    margin: 1.25rem 0;
}

.next-event-details > div {
    padding-top: .7rem;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.next-event-details dt {
    color: #8fa0b1;
    font-size: .6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.next-event-details dd {
    margin: .15rem 0 0;
    font-size: .78rem;
    font-weight: 700;
}

.next-event-card .button {
    margin-top: auto;
}

.current-performance {
    background: var(--soft);
}

.performance-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.performance-summary {
    padding: 24px 0;
    border-top: 1px solid var(--line);
}

.performance-summary-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.performance-summary-head > div > span {
    color: var(--red-dark);
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.performance-summary-head h3 {
    margin: .2rem 0 .2rem;
    font-size: 1.05rem;
}

.performance-summary-head p {
    margin: 0;
}

.sample-size {
    display: grid;
    grid-template-columns: auto auto;
    gap: 0 .35rem;
    align-items: baseline;
    padding-left: 1rem;
    border-left: 1px solid var(--line);
}

.sample-size strong {
    font-size: 1.1rem;
    color: var(--navy);
}

.sample-size span {
    color: var(--muted);
    font-size: .58rem;
    font-weight: 700;
}

.performance-stat-row {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.performance-stat strong {
    display: block;
    color: var(--navy);
    font-size: 1.35rem;
    line-height: 1.1;
}

.performance-stat span {
    display: block;
    margin-top: .2rem;
    color: var(--muted);
    font-size: .62rem;
    font-weight: 700;
    text-transform: uppercase;
}

.current-performance > .shell > .section-link {
    margin-top: .75rem;
}

.primary-position-section {
    background: var(--navy);
    color: white;
}

.primary-position-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    padding-bottom: 1.4rem;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.primary-position-header h2 {
    color: white;
}

.primary-position-header p {
    margin: .35rem 0 0;
    color: #9fb0c1;
    font-size: .82rem;
}

.primary-position-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: 1.25rem;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: var(--radius);
    overflow: hidden;
    background: rgba(255, 255, 255, .1);
}

.primary-metric-card {
    padding: 1.15rem;
    background: var(--navy-2);
}

.primary-metric-card > span {
    display: block;
    min-height: 2.1em;
    color: #aab8c7;
    font-size: .64rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.primary-metric-card > strong {
    display: block;
    margin-top: .35rem;
    font-size: 1.55rem;
    line-height: 1.1;
}

.primary-metric-card > p {
    margin: .35rem 0 0;
    color: #718399;
}

.verification-detail {
    margin: .8rem 0 0;
    padding-top: .7rem;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.verification-detail > div {
    display: flex;
    justify-content: space-between;
    gap: .65rem;
    margin-top: .25rem;
}

.verification-detail dt {
    color: #718399;
    font-size: .58rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.verification-detail dd {
    margin: 0;
    color: #b8c4d0;
    font-size: .62rem;
    text-align: right;
}

.primary-position-evidence {
    display: grid;
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
    gap: 1.5rem;
    margin-top: 1.5rem;
    align-items: start;
}

.primary-evidence-copy {
    padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: var(--radius);
    background: rgba(255, 255, 255, .03);
}

.primary-evidence-copy h3 {
    margin: 0;
    font-size: 1.08rem;
}

.primary-evidence-copy p {
    margin: .6rem 0 0;
    color: #aab8c7;
    font-size: .82rem;
}

.primary-evidence-copy ul {
    margin: .8rem 0 0;
    padding-left: 1.1rem;
    color: #d7dfe8;
    font-size: .78rem;
}

.primary-evidence-copy li + li {
    margin-top: .35rem;
}

.primary-evidence-videos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.compact-video-card {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: var(--radius);
    background: var(--navy-2);
}

.compact-poster {
    min-height: 155px;
    aspect-ratio: 16 / 9;
}

.compact-video-copy {
    padding: .85rem;
}

.compact-video-copy h4 {
    margin: .3rem 0 .25rem;
    font-size: .88rem;
}

.compact-video-copy p {
    margin: .2rem 0 0;
    color: #7f91a5;
}

.compact-video-copy a {
    display: inline-flex;
    margin-top: .5rem;
    color: #f4a4af;
    font-size: .7rem;
    font-weight: 700;
    text-decoration: none;
}

.game-context span {
    display: block;
}

.schedule-section {
    background: white;
}

.schedule-tabs, .stats-year-controls, .stats-scope-controls, .position-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.schedule-tabs {
    margin-bottom: 1rem;
}

.schedule-tabs button, .stats-year-controls button, .stats-scope-controls button, .position-tabs button {
    border: 1px solid var(--line);
    border-radius: 999px;
    background: white;
    padding: .48rem .78rem;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 700;
    cursor: pointer;
}

.schedule-tabs button[aria-pressed="true"], .stats-year-controls button[aria-pressed="true"], .stats-scope-controls button[aria-pressed="true"], .position-tabs button[aria-selected="true"] {
    background: var(--navy);
    border-color: var(--navy);
    color: white;
}

.table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: white;
}

.schedule-table, .stats-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .74rem;
}

.schedule-table th, .stats-table th {
    padding: .78rem .75rem;
    background: #f7f9fb;
    color: var(--muted);
    text-align: left;
    font-size: .59rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    white-space: nowrap;
    border-bottom: 1px solid var(--line);
}

.schedule-table td, .stats-table td {
    padding: .83rem .75rem;
    vertical-align: top;
    border-bottom: 1px solid #edf1f4;
}

.schedule-table tr:last-child td, .stats-table tr:last-child td {
    border-bottom: 0;
}

.schedule-table td span, .stats-table td span {
    display: block;
    margin-top: .18rem;
    color: var(--muted);
    font-size: .64rem;
}

.schedule-table a {
    color: var(--red-dark);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.schedule-mobile {
    display: none;
}

.video-library-section {
    background: var(--soft);
}

.video-group + .video-group {
    margin-top: 2.5rem;
}

.video-group-header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--line);
    margin-bottom: 1rem;
}

.video-group-header h3 {
    margin: 0;
    font-size: 1.18rem;
}

.video-group-header p {
    margin: .2rem 0 0;
    color: var(--muted);
    font-size: .74rem;
}

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

.video-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: white;
    box-shadow: 0 5px 20px rgba(7, 16, 29, .05);
}

.video-card .video-poster {
    min-height: 180px;
    aspect-ratio: 16 / 9;
}

.video-card-copy {
    padding: 1rem;
}

.video-card-copy h3 {
    margin: .45rem 0 .4rem;
    font-size: 1rem;
}

.video-card-copy > p:not(.game-context) {
    margin: .45rem 0 .7rem;
    color: var(--muted);
    font-size: .76rem;
}

.video-card-copy .game-context {
    margin: .25rem 0 0;
}

.secondary-positions {
    background: #eef2f6;
}

.secondary-tabs {
    margin-bottom: 1rem;
}

.secondary-position-panel {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, .9fr) minmax(280px, .8fr);
    gap: 1rem;
    padding: 1.25rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: white;
    box-shadow: var(--shadow-sm);
}

.position-label {
    display: inline-flex;
    color: var(--red-dark);
    font-size: .61rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .09em;
}

.secondary-position-copy h3 {
    margin: .25rem 0 .5rem;
    font-size: 1.35rem;
}

.secondary-position-copy p {
    margin: 0;
    color: var(--muted);
    font-size: .8rem;
}

.secondary-position-copy ul {
    margin: .75rem 0 0;
    padding-left: 1.1rem;
    font-size: .76rem;
}

.secondary-position-copy li + li {
    margin-top: .3rem;
}

.secondary-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    align-content: start;
}

.secondary-metrics article {
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: .8rem;
    background: var(--soft);
}

.secondary-metrics span, .secondary-metrics strong, .secondary-metrics small {
    display: block;
}

.secondary-metrics span {
    color: var(--muted);
    font-size: .62rem;
    font-weight: 700;
    text-transform: uppercase;
}

.secondary-metrics strong {
    margin-top: .25rem;
    color: var(--navy);
    font-size: 1.25rem;
}

.secondary-metrics small {
    margin-top: .25rem;
}

.secondary-video-link .compact-video-card {
    height: 100%;
    border-color: var(--line);
    background: white;
    color: var(--ink);
}

.secondary-video-link .compact-video-copy p {
    color: var(--muted);
}

.secondary-video-link .compact-video-copy a {
    color: var(--red-dark);
}

.stats-section {
    background: white;
}

.stats-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
}

.stats-context {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}

.stats-context-item {
    padding: .85rem 1rem;
    border-left: 3px solid var(--red);
    background: var(--soft);
    border-radius: 0 .7rem .7rem 0;
}

.stats-context-item strong, .stats-context-item span, .stats-context-item small {
    display: block;
}

.stats-context-item strong {
    font-size: .82rem;
}

.stats-context-item span {
    margin-top: .14rem;
    color: var(--muted);
    font-size: .72rem;
}

.stats-context-item small {
    margin-top: .15rem;
}

.stats-table th:not(:first-child), .stats-table td:not(:first-child) {
    text-align: center;
    white-space: nowrap;
}

.stats-table td:first-child {
    min-width: 155px;
}

.stats-table td strong {
    font-size: .76rem;
}

.defensive-stats {
    margin-top: 1.6rem;
}


.defensive-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.defensive-stat-card {
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--soft);
}

.defensive-stat-card > div > span {
    color: var(--red-dark);
    font-size: .61rem;
    font-weight: 700;
}

.defensive-stat-card h4 {
    margin: .15rem 0 .7rem;
    font-size: .95rem;
}

.defensive-stat-card dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    margin: 0;
}

.defensive-stat-card dl > div {
    padding: .6rem;
    border-radius: .6rem;
    background: white;
}

.defensive-stat-card dt {
    color: var(--muted);
    font-size: .57rem;
    font-weight: 700;
    text-transform: uppercase;
}

.defensive-stat-card dd {
    margin: .12rem 0 0;
    font-size: 1rem;
    font-weight: 700;
}

.defensive-stat-card > p {
    margin: .7rem 0 0;
}

.academics-section {
    background: var(--soft);
}

.academic-grid {
    display: grid;
    grid-template-columns: minmax(280px, .65fr) minmax(0, 1.35fr);
    gap: 1rem;
}

.academic-score-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.academic-score {
    min-height: 120px;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.academic-score span, .academic-score strong, .academic-score small {
    display: block;
}

.academic-score span {
    color: var(--muted);
    font-size: .62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.academic-score strong {
    margin-top: .25rem;
    color: var(--navy);
    font-size: 2rem;
    line-height: 1;
}

.academic-score small {
    margin-top: .3rem;
    color: var(--muted);
    font-size: .65rem;
}

.academic-details {
    margin: 0;
    padding: .25rem 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: white;
}

.academic-details > div {
    display: grid;
    grid-template-columns: minmax(150px, .55fr) 1.45fr;
    gap: 1rem;
    padding: .72rem 0;
    border-bottom: 1px solid #edf1f4;
}

.academic-details > div:last-child {
    border-bottom: 0;
}

.academic-details dt {
    color: var(--muted);
    font-size: .68rem;
    font-weight: 700;
}

.academic-details dd {
    margin: 0;
    font-size: .76rem;
    font-weight: 700;
    text-align: right;
}

.achievements-section {
    background: white;
}

.timeline {
    display: grid;
    gap: .9rem;
}

.timeline-year {
    display: grid;
    grid-template-columns: 95px 1fr;
    gap: 1rem;
    align-items: start;
}

.timeline-year > strong {
    padding-top: .9rem;
    color: var(--red-dark);
    font-size: .8rem;
}

.timeline-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.achievement-card {
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--soft);
}

.achievement-card > span {
    color: var(--red-dark);
    font-size: .6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.achievement-card h3 {
    margin: .3rem 0 .35rem;
    font-size: .94rem;
}

.achievement-card p {
    margin: 0;
    color: var(--muted);
    font-size: .73rem;
}

.athlete-profile-compact {
    background: var(--soft);
}

.athlete-profile-grid {
    display: grid;
    grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
    gap: 1.4rem;
    align-items: center;
}

.about-photo {
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius-lg);
    aspect-ratio: 4 / 3;
    background: var(--navy);
}

.about-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-copy h2 {
    margin-bottom: .8rem;
}

.about-copy #about-text p {
    max-width: 720px;
    margin: 0;
    color: #45576b;
    font-size: .89rem;
}

.about-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1.2rem;
    margin: 1rem 0 0;
}

.about-meta > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .52rem 0;
    border-top: 1px solid var(--line);
}

.about-meta dt {
    color: var(--muted);
    font-size: .65rem;
    font-weight: 700;
}

.about-meta dd {
    margin: 0;
    font-size: .7rem;
    font-weight: 700;
    text-align: right;
}

.gallery-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .65rem;
    margin-top: 1.2rem;
}

.gallery-strip-item {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: .8rem;
    aspect-ratio: 4 / 3;
    background: var(--navy);
}

.gallery-strip-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .2s ease;
}

.gallery-strip-item figcaption {
    position: absolute;
    inset: auto 0 0;
    padding: .65rem;
    color: white;
    background: linear-gradient(0deg, rgba(5, 12, 21, .82), transparent);
}

.gallery-strip-item figcaption strong, .gallery-strip-item figcaption span {
    display: block;
}

.gallery-strip-item figcaption strong {
    font-size: .68rem;
}

.gallery-strip-item figcaption span {
    margin-top: .1rem;
    color: rgba(255, 255, 255, .65);
    font-size: .52rem;
}

.gallery-strip-item:hover img {
    transform: scale(1.02);
}

.contact-section {
    background: var(--navy);
    color: white;
}

.contact-head h2 {
    color: white;
}

.contact-primary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.contact-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
}

.contact-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--radius);
    background: rgba(255, 255, 255, .035);
}

.preferred-contact {
    border-color: rgba(215, 53, 74, .65);
    background: rgba(215, 53, 74, .08);
}

.contact-role-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.contact-card .role {
    color: #aebdcb;
    font-size: .6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.preferred-badge {
    padding: .2rem .4rem;
    border-radius: 999px;
    background: var(--red);
    color: white;
    font-size: .52rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.contact-card h3 {
    margin: .55rem 0 .2rem;
    font-size: .98rem;
}

.contact-card p {
    margin: .22rem 0 0;
    color: #aebdcb;
    font-size: .7rem;
    overflow-wrap: anywhere;
}

.contact-card a {
    color: white;
    text-decoration: none;
}

.contact-card a:hover {
    text-decoration: underline;
}


/* Compact two-line recruiting footer */
.site-footer {
    padding: 1rem 0;
    background: #040a12;
    color: #7f90a1;
}

.footer-compact {
    display: grid;
    gap: .5rem;
}

.footer-primary,
.footer-secondary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    min-width: 0;
}

.footer-athlete {
    display: flex;
    align-items: baseline;
    gap: .8rem;
    min-width: 0;
}

.footer-athlete strong {
    flex: 0 0 auto;
    color: #d8e0e8;
    font-family: var(--font-ui);
    font-size: .8rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .015em;
    text-transform: uppercase;
}

.footer-recruiting-id {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    min-width: 0;
    color: #9eacba;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.footer-social {
    display: flex;
    align-items: center;
    flex: 0 1 auto;
    gap: .34rem;
    min-width: 0;
    white-space: nowrap;
}

.footer-social a {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    color: #aebdcb;
    text-decoration: none;
    background: rgba(255, 255, 255, .025);
    transition: color .18s ease,
    border-color .18s ease,
    background .18s ease,
    transform .18s ease;
}

.footer-social a:hover {
    color: white;
    border-color: rgba(255, 255, 255, .38);
    background: rgba(255, 255, 255, .065);
    transform: translateY(-1px);
}

.footer-social a:focus-visible {
    color: white;
    border-color: rgba(240, 180, 76, .8);
}

.footer-social svg {
    display: block;
    width: 14px;
    height: 14px;
    fill: currentColor;
}

.footer-platform-mark {
    display: inline-grid;
    place-items: center;
    min-width: 17px;
    height: 17px;
    padding: 0 2px;
    border: 1px solid currentColor;
    border-radius: 4px;
    font-family: var(--font-ui);
    font-size: .47rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.footer-platform-mark--single {
    min-width: 16px;
    padding-inline: 0;
    font-size: .58rem;
}

.footer-secondary {
    padding-top: .45rem;
    border-top: 1px solid rgba(255, 255, 255, .08);
    color: #718294;
    font-size: .63rem;
    line-height: 1.2;
}

.footer-secondary > span {
    white-space: nowrap;
}

.footer-legal {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.footer-secondary a {
    color: #aab7c4;
    text-decoration: none;
}

.footer-secondary a:hover {
    color: white;
    text-decoration: underline;
    text-underline-offset: .2rem;
}

.mobile-dock {
    display: none;
}

.simple-page {
    background: var(--soft);
}

.prose-page {
    max-width: 820px;
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.prose-page h1, .not-found h1 {
    margin: 0 0 1.5rem;
    color: var(--navy);
    font-size: clamp(2.2rem, 5vw, 4rem);
    line-height: 1;
    letter-spacing: -.045em;
}

.prose-page h2 {
    margin-top: 2.1rem;
    font-size: 1.2rem;
}

.prose-page p {
    color: #45576b;
}

.not-found {
    min-height: 75vh;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.not-found p:not(.section-eyebrow):not(.eyebrow) {
    max-width: 520px;
    color: var(--muted);
}

.eyebrow.dark {
    color: var(--red-dark);
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
}

@media (max-width: 1060px) {
    .primary-nav {
        gap: .75rem;
        font-size: .72rem;
    }

    .hero-shell {
        grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr);
        gap: 1.8rem;
    }

    .featured-evaluation-card {
        grid-template-columns: 1fr;
    }

    .featured-media {
        min-height: 260px;
    }

    .primary-position-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .primary-position-evidence {
        grid-template-columns: 1fr;
    }

    .secondary-position-panel {
        grid-template-columns: 1fr 1fr;
    }

    .secondary-video-link {
        grid-column: 1 / -1;
    }

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

@media (max-width: 900px) {
    :root {
        --header-height: 66px;
    }

    .nav-toggle {
        display: block;
    }

    .primary-nav {
        position: absolute;
        top: calc(100% + 1px);
        left: 1rem;
        right: 1rem;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: .5rem;
        border: 1px solid rgba(255, 255, 255, .11);
        border-radius: var(--radius);
        background: rgba(7, 16, 29, .98);
        box-shadow: var(--shadow-lg);
    }

    .primary-nav.open {
        display: flex;
    }

    .primary-nav a {
        padding: .7rem .8rem;
        border-radius: .55rem;
    }

    .primary-nav a:hover {
        background: rgba(255, 255, 255, .05);
    }

    .primary-nav .nav-contact {
        border: 0;
    }

    .hero-shell {
        grid-template-columns: 1fr;
        grid-template-areas: "copy" "evidence" "shortcuts";
        align-items: end;
        padding-top: calc(var(--header-height) + 3rem);
    }

    .hero-evidence {
        max-width: 650px;
    }

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

    .recruiter-shortcuts a:nth-child(2) {
        border-right: 0;
    }

    .recruiter-shortcuts a:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }

    .evaluation-grid {
        grid-template-columns: 1fr;
    }

    .featured-evaluation-card {
        grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
    }

    .performance-summary-grid {
        grid-template-columns: 1fr;
    }

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

    .academic-grid {
        grid-template-columns: 1fr;
    }

    .athlete-profile-grid {
        grid-template-columns: 1fr 1.2fr;
    }

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

    .gallery-strip-item:nth-child(n + 4) {
        display: none;
    }
}

@media (max-width: 760px) {
    body {
        padding-bottom: calc(62px + env(safe-area-inset-bottom));
    }

    .shell, .container {
        width: min(calc(100% - 1.2rem), var(--shell));
    }

    .section {
        padding: 54px 0;
    }

    .section--compact {
        padding: 42px 0;
    }

    .section-head {
        align-items: flex-start;
        flex-direction: column;
        gap: .55rem;
    }

    .section-meta {
        padding: 0;
    }

    .hero {
        min-height: auto;
        padding-top: 260px;
    }

    .hero-media {
        height: 260px;
        bottom: auto;
    }

    .hero-media img {
        object-position: center top;
    }

    .hero-overlay {
        background: linear-gradient(0deg, rgba(7, 16, 29, 1) 0%, rgba(7, 16, 29, .91) 50%, rgba(7, 16, 29, .16) 100%);
    }

    .hero-shell {
        min-height: 0;
        padding-top: 1rem;
        padding-bottom: .8rem;
        display: block;
    }

    .hero-copy {
        padding-top: .2rem;
    }

    .hero h1 {
        font-size: clamp(2.65rem, 13vw, 4.6rem);
    }

    .hero-evidence {
        margin-top: 1.2rem;
        max-width: none;
    }

    .hero-metric {
        padding: .78rem .8rem;
    }

    .hero-metric .metric-value {
        font-size: 1.08rem;
    }

    .hero-metric small {
        font-size: .57rem;
        white-space: normal;
    }

    .hero-actions {
        margin-top: 1.05rem;
    }

    .recruiter-shortcuts {
        margin-top: 1rem;
    }

    .featured-evaluation-card {
        grid-template-columns: 1fr;
    }

    .featured-media {
        min-height: 220px;
    }

    .next-event-card {
        padding: 1.15rem;
    }

    .performance-summary-grid {
        grid-template-columns: 1fr;
    }

    .performance-stat-row {
        grid-template-columns: repeat(4, 1fr);
    }

    .performance-stat strong {
        font-size: 1.18rem;
    }

    .primary-position-header {
        align-items: flex-start;
        flex-direction: column;
        gap: .75rem;
    }

    .primary-position-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .primary-evidence-videos {
        grid-template-columns: 1fr;
    }

    .schedule-desktop {
        display: none;
    }

    .schedule-mobile {
        display: grid;
        gap: .75rem;
    }

    .schedule-mobile-card {
        padding: 1rem;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        background: white;
        box-shadow: 0 5px 18px rgba(7, 16, 29, .05);
    }

    .schedule-mobile-date {
        margin: 0;
        color: var(--red-dark);
        font-size: .7rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .05em;
    }

    .schedule-mobile-card h3 {
        margin: .25rem 0 .25rem;
        font-size: 1.04rem;
    }

    .schedule-mobile-location {
        margin: 0;
        color: var(--muted);
        font-size: .72rem;
    }

    .schedule-mobile-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .65rem 1rem;
        margin: .9rem 0;
    }

    .schedule-mobile-grid > div {
        padding-top: .55rem;
        border-top: 1px solid var(--line);
    }

    .schedule-mobile-grid .wide {
        grid-column: 1 / -1;
    }

    .schedule-mobile-grid dt {
        color: var(--muted);
        font-size: .57rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .06em;
    }

    .schedule-mobile-grid dd {
        margin: .15rem 0 0;
        font-size: .75rem;
        font-weight: 700;
    }

    .video-grid {
        grid-template-columns: 1fr;
    }

    .secondary-position-panel {
        grid-template-columns: 1fr;
        padding: 1rem;
    }

    .secondary-video-link {
        grid-column: auto;
    }

    .stats-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .stats-context {
        grid-template-columns: 1fr;
    }


    .defensive-stat-grid {
        grid-template-columns: 1fr;
    }

    .defensive-stat-card dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .academic-score-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .academic-details > div {
        grid-template-columns: 1fr;
        gap: .15rem;
    }

    .academic-details dd {
        text-align: left;
    }

    .timeline-year {
        grid-template-columns: 1fr;
        gap: .25rem;
    }

    .timeline-year > strong {
        padding: 0;
    }

    .timeline-items {
        grid-template-columns: 1fr;
    }

    .athlete-profile-grid {
        grid-template-columns: 1fr;
    }

    .about-photo {
        max-height: 300px;
    }

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

    .about-meta {
        grid-template-columns: 1fr;
    }

    .contact-cards {
        grid-template-columns: 1fr;
    }

    .contact-primary-actions {
        width: 100%;
    }

    .contact-primary-actions .button {
        flex: 1 1 auto;
    }

    .site-footer {
        padding: .85rem 0;
    }

    .footer-compact {
        gap: .42rem;
    }

    .footer-primary,
    .footer-secondary {
        gap: .7rem;
    }

    .footer-athlete {
        gap: .45rem;
        min-width: 0;
    }

    .footer-athlete strong {
        font-size: .71rem;
    }

    .footer-recruiting-id {
        gap: .27rem;
        font-size: .6rem;
    }

    .footer-social {
        max-width: 52vw;
        gap: .28rem;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch;
    }

    .footer-social::-webkit-scrollbar {
        display: none;
    }

    .footer-social a {
        width: 28px;
        height: 28px;
    }

    .footer-social svg {
        width: 13px;
        height: 13px;
    }

    .footer-platform-mark {
        min-width: 16px;
        height: 16px;
        font-size: .44rem;
    }

    .footer-secondary {
        padding-top: .4rem;
        font-size: .58rem;
    }

    .mobile-dock {
        position: fixed;
        z-index: 1100;
        inset: auto 0 0;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        min-height: 62px;
        padding-bottom: env(safe-area-inset-bottom);
        background: rgba(7, 16, 29, .98);
        border-top: 1px solid rgba(255, 255, 255, .12);
        box-shadow: 0 -10px 28px rgba(0, 0, 0, .14);
    }

    .mobile-dock a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: .1rem;
        color: white;
        text-decoration: none;
        border-right: 1px solid rgba(255, 255, 255, .08);
        font-size: .58rem;
    }

    .mobile-dock a:last-child {
        border-right: 0;
    }

    .mobile-dock a > span {
        color: #f2a4af;
        font-size: .8rem;
    }

    .mobile-dock strong {
        font-size: .59rem;
    }
}

@media (max-width: 430px) {
    .hero {
        padding-top: 150px;
    }

    .hero-media {
        height: 150px;
    }

    .hero h1 {
        font-size: 2.8rem;
    }

    .recruiting-line {
        font-size: .76rem;
    }

    .recruiting-line span + span::before {
        margin: 0 7px;
    }

    .hero-position-hierarchy {
        font-size: .8rem;
    }

    .hero-affiliations {
        font-size: .7rem;
    }

    .hero-actions .button {
        min-height: 43px;
        padding: .65rem .78rem;
        font-size: .75rem;
    }

    .text-link-light {
        min-height: 43px;
        font-size: .75rem;
    }

    .hero-evidence-head {
        padding: .7rem .75rem;
    }

    .hero-metric {
        padding: .7rem .72rem;
    }

    .hero-metric .metric-label {
        font-size: .57rem;
    }

    .hero-metric .metric-value {
        font-size: 1rem;
    }

    .recruiter-shortcuts a {
        padding: .7rem .75rem;
    }

    .performance-stat-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .8rem .45rem;
    }

    .sample-size {
        padding-left: .65rem;
    }

    .primary-position-metrics {
        grid-template-columns: 1fr 1fr;
    }

    .primary-metric-card {
        padding: .85rem;
    }

    .primary-metric-card > strong {
        font-size: 1.2rem;
    }

    .verification-detail {
        display: none;
    }

    .secondary-metrics {
        grid-template-columns: 1fr 1fr;
    }

    .academic-score strong {
        font-size: 1.6rem;
    }

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

    .gallery-strip-item:nth-child(3) {
        display: none;
    }

    .footer-primary {
        gap: .42rem;
    }

    .footer-athlete {
        gap: .32rem;
    }

    .footer-athlete strong {
        font-size: .66rem;
    }

    .footer-recruiting-id {
        gap: .2rem;
        font-size: .55rem;
    }

    .footer-social {
        max-width: 48vw;
        gap: .24rem;
    }

    .footer-social a {
        width: 27px;
        height: 27px;
    }

    .footer-social svg {
        width: 12px;
        height: 12px;
    }

    .footer-platform-mark {
        min-width: 15px;
        height: 15px;
        font-size: .4rem;
    }

    .footer-platform-mark--single {
        font-size: .5rem;
    }

    .footer-secondary {
        font-size: .54rem;
    }
}


/* Final typography role enforcement */
h1,
h2,
.hero h1,
.section-head h2,
.primary-position-header h2,
.contact-head h2,
.prose-page h1,
.not-found h1 {
    font-family: var(--font-headline);
    font-style: italic;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

h3,
h4,
.brand strong,
.brand small,
.brand-mark,
.primary-nav,
.nav-contact,
.section-eyebrow,
.eyebrow,
.video-type,
.position-label,
.button,
.text-link-light,
.section-link,
.recruiting-line,
.hero-evidence-head > span,
.hero-metric .metric-label,
.recruiter-shortcuts strong,
.schedule-tabs button,
.stats-year-controls button,
.stats-scope-controls button,
.position-tabs button,
.next-event-jersey span,
.next-event-details dt,
.performance-summary-head > div > span,
.performance-stat span,
.sample-size span,
.verification-detail dt,
.schedule-table th,
.stats-table th,
.schedule-mobile-date,
.schedule-mobile-grid dt,
.academic-score span,
.academic-details dt,
.achievement-card > span,
.contact-card .role,
.preferred-badge,
.footer-athlete strong,
.footer-recruiting-id,
.footer-platform-mark,
.mobile-dock strong {
    font-family: var(--font-ui);
    font-style: normal;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

/* Footer social/recruiting icons are the single social-link treatment */
.footer-social:empty {
    display: none;
}

.footer-social a {
    font-family: var(--font-ui);
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.footer-platform-mark {
    font-family: var(--font-ui);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 760px) {
    h1,
    h2,
    .hero h1,
    .section-head h2,
    .primary-position-header h2,
    .contact-head h2,
    .prose-page h1,
    .not-found h1 {
        font-weight: 500;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

.hero-evidence[hidden],
[hidden] {
    display: none !important;
}

.primary-position-metrics:empty {
    display: none;
}

.verified-mark {
    display: inline-flex;
    align-items: center;
    padding: .12rem .32rem;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    font-family: var(--font-ui);
    font-size: .52rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.primary-metric-card .verified-mark,
.secondary-metrics .verified-mark {
    border-color: rgba(7, 16, 29, .16);
}

.evidence-meta a {
    color: inherit;
    font-weight: 700;
    text-underline-offset: .16rem;
}

.evidence-skill-block {
    margin-top: .9rem;
}

.evidence-skill-block > span {
    display: block;
    margin-bottom: .45rem;
    color: inherit;
    opacity: .68;
    font-family: var(--font-ui);
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.evidence-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .38rem;
}

.evidence-chips > span {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    padding: .28rem .52rem;
    border: 1px solid currentColor;
    border-radius: 999px;
    opacity: .76;
    font-size: .66rem;
    font-weight: 700;
    line-height: 1.15;
}

.video-timestamps {
    display: grid;
    gap: .35rem;
    margin-top: .8rem;
}

.video-timestamps > span {
    display: grid;
    grid-template-columns: 3.3rem 1fr;
    gap: .5rem;
    padding-top: .35rem;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: .7rem;
}

.video-timestamps strong {
    color: var(--navy);
    font-family: var(--font-ui);
    font-size: .65rem;
    letter-spacing: .04em;
}

.primary-position-section .video-timestamps > span,
.primary-position-section .video-timestamps strong {
    color: rgba(255, 255, 255, .72);
}

.evidence-not-published,
.metric-status-note {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 112px;
    padding: 1rem;
    border: 1px dashed rgba(127, 145, 165, .4);
    border-radius: var(--radius);
    background: rgba(127, 145, 165, .06);
    color: var(--muted);
    font-size: .74rem;
}

.evidence-not-published strong {
    color: inherit;
    font-size: .78rem;
}

.evidence-not-published span {
    margin-top: .25rem;
    opacity: .78;
}

.primary-position-section .evidence-not-published {
    border-color: rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .04);
    color: rgba(255, 255, 255, .68);
}

.secondary-video-link {
    display: grid;
    gap: .8rem;
}

.schedule-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    margin: .65rem 0 .8rem;
    color: var(--muted);
    font-size: .7rem;
    line-height: 1.35;
}

.schedule-status > span {
    display: inline-flex;
    padding: .22rem .45rem;
    border-radius: 999px;
    background: rgba(166, 29, 50, .09);
    color: var(--red-dark);
    font-family: var(--font-ui);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.next-event-card .schedule-status {
    color: rgba(255, 255, 255, .68);
}

.next-event-card .schedule-status > span {
    background: rgba(255, 255, 255, .12);
    color: white;
}

.schedule-assignment {
    display: block;
    max-width: 230px;
    color: var(--muted);
    font-size: .67rem;
    line-height: 1.35;
}

.schedule-assignment.is-published {
    color: var(--navy);
    font-weight: 700;
}

.primary-position-section + .secondary-positions {
    padding-top: clamp(38px, 4vw, 54px);
}

.noscript-message {
    position: fixed;
    z-index: 2000;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    padding: 1rem;
    border: 1px solid #d7b456;
    border-radius: var(--radius);
    background: #fff8dc;
    color: #302600;
    box-shadow: 0 12px 35px rgba(0, 0, 0, .16);
    font-weight: 700;
}

@media (max-width: 760px) {
    /* Get recruiting identity into the first mobile viewport faster. */
    .hero {
        padding-top: 190px;
    }

    .hero-media {
        height: 190px;
    }

    .hero h1 {
        font-size: clamp(2.55rem, 12vw, 3.8rem);
        line-height: .95;
    }

    .recruiter-shortcuts {
        display: none;
    }

    .hero-shell {
        padding-top: .8rem;
        padding-bottom: .65rem;
    }

    .hero-actions {
        margin-top: .85rem;
    }

    .hero-evidence {
        margin-top: .85rem;
    }

    .secondary-position-panel {
        gap: 1rem;
    }

    .evidence-chips {
        gap: .3rem;
    }

    .evidence-chips > span {
        min-height: 1.6rem;
        padding: .24rem .44rem;
        font-size: .61rem;
    }
}

@media (max-width: 430px) {
    .hero {
        padding-top: 135px;
    }

    .hero-media {
        height: 135px;
    }

    .hero h1 {
        font-size: 2.55rem;
    }

    .hero-affiliations {
        font-size: .72rem;
    }

    .hero-actions .button {
        min-height: 42px;
        padding-inline: .8rem;
    }
}

.hero.no-verified-metrics {
    min-height: 520px;
}

.hero.no-verified-metrics .hero-shell {
    grid-template-columns: minmax(0, 760px);
    grid-template-areas:
        "copy"
        "shortcuts";
}

.hero.no-verified-metrics .hero-copy {
    max-width: 760px;
}

.current-defense-snapshot {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: .85rem;
}

.position-stat-snapshot {
    margin-top: 1rem;
}

.position-stat-snapshot-card {
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--soft);
}

.position-stat-snapshot-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .75rem;
}

.position-stat-snapshot-head span,
.position-stat-snapshot-head strong {
    display: block;
}

.position-stat-snapshot-head span {
    color: var(--red-dark);
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.position-stat-snapshot-head strong {
    margin-top: .18rem;
    color: var(--navy);
    font-size: .82rem;
}

.position-stat-snapshot-head a {
    flex: 0 0 auto;
    color: var(--red-dark);
    font-size: .68rem;
    font-weight: 700;
    text-decoration: none;
}

.position-stat-snapshot-card dl {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .5rem;
    margin: 0;
}

.position-stat-snapshot-card dl > div {
    min-width: 0;
    padding: .62rem;
    border: 1px solid var(--line);
    border-radius: .65rem;
    background: white;
}

.position-stat-snapshot-card dt {
    color: var(--muted);
    font-size: .57rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.position-stat-snapshot-card dd {
    margin: .12rem 0 0;
    color: var(--navy);
    font-size: 1rem;
    font-weight: 700;
}

.position-stat-snapshot-card > .evidence-meta {
    margin: .65rem 0 0;
}

.primary-position-section .position-stat-snapshot-card {
    border-color: rgba(255, 255, 255, .13);
    background: rgba(255, 255, 255, .04);
}

.primary-position-section .position-stat-snapshot-head span {
    color: #f2a4af;
}

.primary-position-section .position-stat-snapshot-head strong,
.primary-position-section .position-stat-snapshot-head a,
.primary-position-section .position-stat-snapshot-card dd {
    color: white;
}

.primary-position-section .position-stat-snapshot-card dl > div {
    border-color: rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .05);
}

.primary-position-section .position-stat-snapshot-card dt,
.primary-position-section .position-stat-snapshot-card > .evidence-meta {
    color: #9fb0c1;
}

.secondary-defense-snapshot {
    grid-column: 2 / -1;
}

.secondary-defense-snapshot:empty {
    display: none;
}

.stats-subsection {
    margin-top: 1.3rem;
}

.stats-subsection + .stats-subsection {
    margin-top: 2rem;
    padding-top: 1.6rem;
    border-top: 1px solid var(--line);
}

.stats-subsection-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1rem;
}

.stats-subsection-head h3 {
    margin: .12rem 0 0;
    color: var(--navy);
    font-size: 1.15rem;
}

.stats-subsection-head p {
    max-width: 760px;
    margin: .35rem 0 0;
    color: var(--muted);
    font-size: .76rem;
    line-height: 1.45;
}

.stats-kicker,
.stats-control-label {
    display: block;
    color: var(--red-dark);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.stats-toolbar--stackable {
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: flex-end;
    padding: .8rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--soft);
}

.stats-control-group {
    display: grid;
    gap: .4rem;
}

.stats-year-controls,
.stats-scope-controls,
.stats-career-through-controls {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.stats-career-through-controls {
    margin: -.35rem 0 1rem;
}

.stats-career-through-controls::before {
    content: "Career view";
    display: inline-flex;
    align-items: center;
    margin-right: .2rem;
    color: var(--muted);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.stats-career-through-controls button {
    min-height: 2rem;
    padding: .38rem .65rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: white;
    color: var(--navy);
    font: inherit;
    font-size: .66rem;
    font-weight: 700;
    cursor: pointer;
}

.stats-career-through-controls button[aria-pressed="true"] {
    border-color: var(--navy);
    background: var(--navy);
    color: white;
}

.defense-toolbar {
    margin-bottom: 1rem;
}

.defense-stats-block .stats-context {
    margin-top: .2rem;
}

.defensive-stats {
    margin-top: .9rem;
}

.defensive-stat-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.defensive-stat-card-head > div > span {
    color: var(--red-dark);
    font-size: .61rem;
    font-weight: 700;
}

.defensive-stat-card-head > small {
    color: var(--muted);
    font-size: .62rem;
    font-weight: 700;
}

.stats-table td:first-child span {
    display: block;
    margin-top: .12rem;
    color: var(--muted);
    font-size: .66rem;
}

@media (max-width: 1060px) {
    .secondary-defense-snapshot {
        grid-column: 1 / -1;
    }

    .position-stat-snapshot-card dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .hero.no-verified-metrics .hero-shell {
        grid-template-columns: 1fr;
        grid-template-areas: "copy" "shortcuts";
    }
}

@media (max-width: 760px) {
    .hero.no-verified-metrics {
        min-height: auto;
    }

    .current-defense-snapshot {
        grid-template-columns: 1fr;
    }

    .stats-subsection-head {
        align-items: flex-start;
        flex-direction: column;
        gap: .4rem;
    }

    .stats-toolbar--stackable {
        align-items: stretch;
        flex-direction: column;
    }

    .stats-control-group {
        width: 100%;
    }

    .stats-year-controls,
    .stats-scope-controls,
    .stats-career-through-controls {
        width: 100%;
    }

    .stats-career-through-controls {
        margin-top: -.15rem;
    }
}

@media (max-width: 430px) {
    .position-stat-snapshot-head {
        flex-direction: column;
        gap: .4rem;
    }

    .position-stat-snapshot-card dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .defensive-stat-card dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

