/* Athletics uses the portfolio palette and type, with its own results layout. */
.athletics-hero { height:370px }
.athletics-hero .hero-content { padding-top:65px }
.athletics-hero h1 { font-size:clamp(42px,5.6vw,70px); letter-spacing:-2px; max-width:760px }
.athletics-hero .banner { object-position:center }
.athletics-hero .hero-shade { background:linear-gradient(90deg,#102e2bcc,transparent) }
.athletics-hero-intro { max-width:530px; color:#ecf1e9; font-size:16px }
.athlete-profile { display:inline-block; margin-top:22px; color:#eef3e9; font-size:12px; text-decoration:none; border-bottom:1px solid #b4c9b8; padding-bottom:4px }
.athletics-page .nav-links a[aria-current] { color:var(--accent); text-decoration:underline; text-underline-offset:7px }
.pb-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px }
.pb-card { background:#fff; border:1px solid var(--line); border-top:3px solid #a5c2ae; border-radius:5px; padding:25px; min-width:0 }
.pb-card:first-child { background:#edf3ec }
.pb-card .eyebrow { margin-bottom:15px }
.pb-card h3 { font-family:var(--serif); font-size:clamp(25px,2.6vw,34px); font-weight:400; font-variant-numeric:tabular-nums; letter-spacing:-1px; margin-bottom:13px }
.pb-card p:not(.eyebrow) { color:var(--muted); font-size:11px; margin-top:6px }
.pb-card .pb-event { color:var(--ink)!important }
.pb-notes { margin-top:15px }
.race-note { display:inline-block; background:#e6eee4; color:#2f5f4b; border-radius:3px; padding:2px 6px; font-size:10px; font-weight:600; margin:2px 0 }
.athletics-fine-print { color:var(--muted); font-size:11px; margin-top:20px; max-width:820px }
.race-controls { display:grid; grid-template-columns:140px minmax(160px,1fr) minmax(190px,1fr) auto; align-items:end; gap:16px; margin-top:28px; padding:22px; background:#edf1eb; border-radius:5px }
.race-controls label { display:flex; flex-direction:column; gap:7px; color:var(--muted); font-size:11px; font-weight:600 }
.race-controls select { width:100%; min-width:0; min-height:42px; padding:9px 30px 9px 12px; border:1px solid #c9d7cd; border-radius:4px; color:var(--ink); background:#fff; font:inherit; font-size:12px }
.reset-races { border:0; background:none; color:var(--accent); min-height:42px; padding:10px 4px; font-size:11px; text-decoration:underline; text-underline-offset:4px }
.race-legend { color:var(--muted); font-size:12px; margin-top:18px; max-width:830px }
.race-legend strong { color:var(--ink) }
.race-table-scroll { position:relative; width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:5px; background:#fff }
.race-table { border-collapse:collapse; width:100%; min-width:980px; font-size:12px; line-height:1.55; text-align:left }
.race-table th { background:#eef3ed; padding:16px 12px; color:#4f6659; font-size:9px; letter-spacing:1px; text-transform:uppercase; white-space:nowrap; font-weight:600 }
.race-table td { padding:21px 12px; border-top:1px solid var(--line); vertical-align:top }
.race-table th:first-child,.race-table td:first-child { padding-left:20px }
.race-table tbody tr:nth-child(even) { background:#fafbf8 }
.race-table td:nth-child(4) { width:24%; min-width:190px }
.race-table td:nth-child(5) { width:17%; min-width:130px; color:var(--muted) }
.race-date { white-space:nowrap; font-size:11px; color:var(--muted) }
.race-event-name { display:block; min-width:110px; font-weight:500 }
.race-surface { display:block; font-size:10px; color:var(--muted); margin-top:3px }
.race-performance { font-variant-numeric:tabular-nums; white-space:nowrap; font-size:13px; font-weight:400 }
.race-performance strong { font-weight:750; color:#205a45 }
.performance-note { display:block; font-size:10px; color:var(--muted); font-weight:400; white-space:normal; max-width:180px }
.race-points { text-align:right; font-variant-numeric:tabular-nums }
.race-place a { white-space:nowrap; font-weight:600; text-decoration:none; border-bottom:1px solid #b8cbb9 }
.race-empty { text-align:center; padding:40px!important; color:var(--muted) }
@media(max-width:950px) {
  .pb-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .race-controls { grid-template-columns:1fr 1fr; gap:14px }
  .reset-races { justify-self:start }
}
@media(max-width:620px) {
  .athletics-hero { height:350px }
  .athletics-hero .hero-content { padding-top:45px }
  .athletics-hero h1 { font-size:42px; line-height:1.1 }
  .athletics-hero-intro { font-size:14px }
  .pb-grid { gap:12px }
  .pb-card { padding:17px 14px }
  .pb-card h3 { font-size:23px }
  .pb-card .eyebrow { font-size:9px; letter-spacing:1px }
  .race-controls { padding:16px; grid-template-columns:1fr }
  .race-table { min-width:940px }
  .athletics-page .nav-links { flex-wrap:wrap; justify-content:flex-start; gap:10px 18px }
}
@media(max-width:370px) {
  .pb-grid { grid-template-columns:1fr }
}
