/* Athlete pages share FTJ's solid condensed headings and Subtle tracking. */
.athlete-films{padding-bottom:14px;scroll-margin-top:24px}
.athlete-films .film-grid .film-card{color:inherit;border-bottom-color:#bbb}
.athlete-films .film-card .film-title{font:900 clamp(2rem,2.8vw,3rem)/1.05 var(--display);margin:12px 0;overflow-wrap:anywhere}
.athlete-films .film-meta,.athlete-films .film-card .film-credit{color:#555}
.athlete-films .film-meta .film-select{color:#0a0a0a;background:#ffcf00;padding:0 5px}
.athlete-films .film-card:focus-visible{outline-color:#9b7400}
.athlete-films>p{font-size:16px;line-height:1.6}
/* Profile-only phone containment; desktop and the directory keep their existing layout. */
@media (max-width: 560px) {
  .athlete-shell.athlete-profile-page { width: 100%; min-width: 0; }
  .athlete-profile-page > section,
  .athlete-profile-page .athlete-stat-grid,
  .athlete-profile-page .athlete-stat > * { min-width: 0; max-width: 100%; }
  .athlete-profile-page .athlete-stat-grid { grid-template-columns: minmax(0, 1fr); }
  .athlete-profile-page .athlete-stat { min-width: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .athlete-profile-page .athlete-stat h3,
  .athlete-profile-page .athlete-stat p,
  .athlete-profile-page .athlete-section-heading h2 { overflow-wrap: anywhere; }
  .athlete-profile-page .athlete-stat-value { font-size: clamp(32px, 10vw, 48px); overflow-wrap: anywhere; }
  .athlete-profile-page .athlete-results-scroll { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; }
  .athlete-profile-page .athlete-results-scroll:focus-visible { outline: 3px solid #9b7400; outline-offset: 3px; }
}
.athlete-shell{max-width:1600px;margin:0 auto;padding:50px clamp(20px,4vw,64px) 90px;color:#0a0a0a}
.athlete-eyebrow,.athlete-result-count,.athlete-group-title>span,.athlete-row-events,.athlete-search label,.athlete-profile-disciplines,.athlete-details dt,.athlete-section-heading>span,.athlete-stat p,.athlete-stat-value>span,.athlete-portrait figcaption{font:700 12px/1.5 'Courier New',monospace}
.athlete-directory-heading h1{font:900 clamp(5rem,12vw,11rem)/.9 Impact,'Arial Narrow',sans-serif;margin:22px 0 20px;overflow-wrap:anywhere}
.athlete-directory-heading h1>span{color:#ffcf00}.athlete-directory-heading>p{font-size:clamp(18px,2vw,25px);margin:0 0 40px}
.athlete-search{display:flex;gap:16px;align-items:end;padding:25px 0;border-block:2px solid #0a0a0a;flex-wrap:wrap}
.athlete-search>div{flex:1 1 155px;min-width:0}.athlete-search>.athlete-search-name{flex:3 1 260px}.athlete-search label{font-size:14px;display:block;margin-bottom:9px}
.athlete-search input,.athlete-search select{height:48px;border:1px solid #777;border-radius:0;background:transparent;color:#0a0a0a;font:16px Arial,sans-serif;box-shadow:none;padding:10px 13px}.athlete-search select{padding-right:32px}.athlete-search [data-slot=native-select-wrapper]{width:100%}
.athlete-search-button{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:48px;padding:12px 20px;background:#0a0a0a;color:#ffcf00;border:1px solid #0a0a0a;font:700 14px Arial,sans-serif;cursor:pointer}.athlete-search-button:hover{background:#ffcf00;color:#0a0a0a}
.athlete-result-count{display:flex;justify-content:space-between;gap:20px;padding:22px 0;scroll-margin-top:20px}.athlete-result-count a{text-decoration:underline}
.athlete-directory-group{margin-top:28px}.athlete-group-title{display:flex;gap:18px;align-items:baseline;border-bottom:3px solid #0a0a0a;padding-bottom:14px}.athlete-group-title h2{font-size:clamp(2.7rem,5vw,4rem);line-height:1;margin:0}.athlete-group-title>span{background:#ffcf00;padding:2px 8px}
.athlete-directory-list{list-style:none;padding:0;margin:0}.athlete-directory-row{display:grid;grid-template-columns:64px minmax(0,1.7fr) minmax(140px,1fr) 85px 22px;gap:24px;align-items:center;padding:23px 0;border-bottom:1px solid #bbb;text-decoration:none;color:inherit}.athlete-directory-row:hover{background:#ffcf0020}.athlete-directory-row:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.athlete-avatar{display:flex;width:64px;height:64px;align-items:center;justify-content:center;background:#0a0a0a;color:#ffcf00;font:900 28px Impact,'Arial Narrow',sans-serif;overflow:hidden}.athlete-avatar img{width:100%;height:100%;object-fit:cover}.athlete-row-name h3{font-size:clamp(1.7rem,2.7vw,2.5rem);line-height:1.05;margin:0;overflow-wrap:anywhere}.athlete-row-name>span{display:block;font-size:14px;margin-top:7px}.athlete-row-disciplines{display:flex;gap:6px;flex-wrap:wrap}.athlete-row-disciplines>span{border:1px solid #aaa;padding:4px 7px;font-size:12px}.athlete-row-events{text-align:right;font-size:11px}.athlete-directory-row>.diagonal-arrow{width:22px;height:22px}
.athlete-back{display:inline-block;font:700 12px 'Courier New',monospace;margin-bottom:40px}.athlete-back:hover{text-decoration:underline}.athlete-profile-hero{display:grid;gap:45px;padding-bottom:45px;border-bottom:2px solid #0a0a0a}.athlete-profile-hero.with-portrait{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:center}.athlete-profile-title{min-width:0}.athlete-profile-title h1{font:900 clamp(3.8rem,8vw,8.5rem)/.92 Impact,'Arial Narrow',sans-serif;text-transform:uppercase;overflow-wrap:anywhere;margin:22px 0 28px}.athlete-profile-disciplines{display:flex;flex-wrap:wrap;gap:9px}.athlete-profile-disciplines>span{background:#ffcf00;padding:6px 11px;font-size:13px}
.athlete-details{display:flex;gap:35px;flex-wrap:wrap;margin:30px 0 0}.athlete-details dt{color:#555}.athlete-details dd{font-size:18px;margin:4px 0 0}.athlete-socials{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px}.athlete-socials a{display:flex;align-items:center;gap:8px;text-decoration:underline;font-size:15px}.athlete-socials svg{width:15px;height:15px}.athlete-portrait{margin:0;max-width:530px}.athlete-portrait img{width:100%;max-height:600px;object-fit:cover}.athlete-portrait figcaption{font-size:11px;margin-top:8px;color:#555}
.athlete-bio{display:grid;grid-template-columns:1fr 2fr;gap:40px;border-bottom:1px solid #bbb;padding:38px 0}.athlete-bio h2{font-size:32px;margin:0}.athlete-bio p{font-size:18px;line-height:1.65;white-space:pre-line;max-width:800px}.athlete-bio p:last-child{margin-bottom:0}.athlete-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:45px 0 20px}.athlete-section-heading h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.05;margin:0}.athlete-section-heading>a{display:flex;align-items:center;gap:8px;font:700 12px 'Courier New',monospace}.athlete-section-heading>a:hover{text-decoration:underline}
.athlete-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:#888;border:1px solid #0a0a0a}.athlete-stat{background:#0a0a0a;color:#f4f4ef;padding:28px 25px}.athlete-stat h3{font-size:26px;line-height:1.1;margin:0 0 24px}.athlete-stat-value{font:900 clamp(2.5rem,5.4vw,5rem)/1 Impact,'Arial Narrow',sans-serif;color:#ffcf00}.athlete-stat-value>span{display:block;margin-top:7px;color:#f4f4ef}.athlete-stat p{margin:24px 0 0;font-size:11px}.athlete-stat p strong{font-size:16px;color:#ffcf00}
.athlete-results table{width:100%;border-collapse:collapse;font:16px/1.4 Arial,sans-serif;color:#0a0a0a}.athlete-results th{font:700 12px 'Courier New',monospace;padding:14px;text-align:left;color:#0a0a0a;border-bottom:2px solid #0a0a0a}.athlete-results td{padding:20px 14px;border-bottom:1px solid #bbb;white-space:normal}.athlete-results td:first-child{min-width:230px}.athlete-results td:last-child,.athlete-results th:last-child{text-align:right}.athlete-results td>a{font-weight:700;display:block;margin:5px 0;max-width:620px}.athlete-results td>a:hover{text-decoration:underline}.athlete-results time,.athlete-results small{display:block;font:12px/1.6 'Courier New',monospace;color:#555}.athlete-results .diagonal-arrow{display:inline-block;width:14px;height:14px}.athlete-not-counted{color:#555;font-size:13px}.athlete-empty{padding:50px 0;min-height:240px}.athlete-empty h2{font-size:40px}.athlete-empty p{font-size:18px}.athlete-empty a{font-weight:bold;text-decoration:underline}
.podium-athlete-link:hover,.ranking-list a:hover{color:#9b7400;text-decoration:underline}.ranking-list a{color:inherit}.ranking-list a:hover{color:#ffcf00}.podium-athlete-link{color:inherit;text-decoration:none}
@media(max-width:850px){.athlete-directory-row{grid-template-columns:56px minmax(0,1fr) 22px;gap:15px}.athlete-avatar{width:56px;height:56px;grid-row:1/3}.athlete-row-name{grid-column:2}.athlete-row-disciplines{grid-column:2;grid-row:2}.athlete-row-events{display:none}.athlete-directory-row>.diagonal-arrow{grid-column:3;grid-row:1/3}.athlete-profile-hero.with-portrait{grid-template-columns:minmax(0,1fr) minmax(0,.75fr)}.athlete-stat{padding:22px 16px}.athlete-stat p{line-height:1.7}.athlete-section-heading{align-items:start;flex-wrap:wrap}.athlete-bio{grid-template-columns:1fr;gap:16px}}
@media(max-width:560px){.athlete-shell{padding-top:30px}.athlete-search{gap:14px}.athlete-search>.athlete-search-name{flex-basis:100%}.athlete-search-button{flex:1 1 100%}.athlete-profile-hero.with-portrait{grid-template-columns:1fr}.athlete-portrait{max-width:none}.athlete-profile-title h1{font-size:clamp(3rem,14vw,5rem)}.athlete-stat-grid{grid-template-columns:1fr}.athlete-stat{display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:20px}.athlete-stat h3{margin:0}.athlete-stat-value{text-align:right;font-size:48px}.athlete-stat-value>span{font-size:11px}.athlete-stat p{grid-column:1/-1;margin-top:15px}.athlete-back{margin-bottom:28px}.athlete-results td,.athlete-results th{padding:14px 10px}.athlete-results table{min-width:580px}.athlete-row-name h3{font-size:28px}}

.season-selector{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:30px 0;padding:18px 0;border-block:1px solid #999;max-width:520px}.season-selector label{font:700 14px 'Courier New',monospace;margin-right:8px}.season-selector select{min-width:120px;height:46px;border:1px solid #0a0a0a;border-radius:0;background:#fff;color:#0a0a0a;font:700 18px Arial,sans-serif;box-shadow:none}.season-selector button{height:46px;padding:10px 20px;background:#0a0a0a;color:#ffcf00;font:700 14px Arial,sans-serif;border:1px solid #0a0a0a;cursor:pointer}.season-selector button:hover{background:#ffcf00;color:#0a0a0a}.season-selector :focus-visible{outline:3px solid #9b7400;outline-offset:3px}.event-archive{list-style:none;padding:0;margin:30px 0}.event-archive li{border-bottom:1px solid #aaa}.event-archive a{display:block;position:relative;padding:26px 42px 26px 0;color:inherit;text-decoration:none}.event-archive a:hover h2{text-decoration:underline;text-underline-offset:5px}.event-archive-meta{display:flex;gap:20px;font:700 14px 'Courier New',monospace}.event-archive-meta span{background:#ffcf00;padding:2px 6px}.event-archive h2{font:900 clamp(28px,4vw,48px)/1.1 Impact,'Arial Narrow',sans-serif;margin:15px 0 8px}.event-archive p{font-size:16px;margin:0}.event-archive svg{position:absolute;right:0;top:50%;width:24px;height:24px}.event-links{display:flex;gap:28px;flex-wrap:wrap;border-top:2px solid #0a0a0a;padding-top:25px;margin-top:40px}.event-links a,.event-season-link a{display:inline-flex;align-items:center;gap:8px;font:700 14px 'Courier New',monospace;text-decoration:underline}.event-links svg,.event-season-link svg{width:18px;height:18px}.event-note{font-size:18px;line-height:1.6;max-width:850px;margin:28px 0}.podium-sources li strong a{font:inherit}.podium-hero .season-selector{margin-bottom:0}.athlete-results td:first-child{min-width:100px}@media(max-width:560px){.season-selector{gap:10px}.season-selector label{width:100%}.season-selector button{flex:1}.event-archive a{padding-right:30px}.article-header nav{gap:12px;flex-wrap:wrap}}
