/* Parallel tracks share one visual hierarchy, without mixing their rules. */
.competition-section { margin:46px 0 0; padding:0; scroll-margin-top:26px; }
.competition-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:26px; margin-bottom:25px; }
.competition-kicker { font-size:12px; font-weight:550; letter-spacing:.12em; color:#88601e; margin:0 0 9px; }
.competition-heading h2 { font-size:clamp(23px,2.4vw,30px); font-weight:600; letter-spacing:-.04em; line-height:1.4; margin:0; color:#29282f; }
.competition-heading > p { margin:0; font-size:12px; line-height:1.8; color:#656570; }
.competition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.competition-card { min-width:0; padding:29px; border:1px solid #e4e3e9; border-radius:9px; background:#fff; color:#34333c; display:flex; flex-direction:column; overflow-wrap:anywhere; }
.competition-card-top { display:flex; justify-content:space-between; align-items:center; gap:10px; color:#88601e; font-size:12px; letter-spacing:.045em; }
.competition-tag { border:1px solid #e9e5dd; padding:4px 6px; color:#656570; border-radius:4px; font-size:12px; letter-spacing:0; }
.competition-card h3 { margin:23px 0 12px; font-size:24px; font-weight:580; letter-spacing:-.035em; color:#29282e; line-height:1.4; }
.competition-description { margin:0; color:#656570; font-size:13px; line-height:1.9; max-width:400px; }
.competition-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; margin:25px 0; padding-block:23px; border-block:1px solid #eeeef2; }
.competition-card dt { font-size:12px; color:#656570; margin-bottom:7px; }
.competition-card dd { margin:0; font-size:12px; color:#605e69; line-height:1.7; }
.competition-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:auto; }
.competition-actions a { color:#88601e; font-size:12px; text-decoration:none; display:inline-flex; align-items:center; gap:23px; min-height:38px; }
.competition-actions a:hover { color:#73501a; text-decoration:underline; }
.competition-actions .competition-primary { color:#48454f; border:1px solid #dfdde5; padding:8px 12px; border-radius:6px; background:#fafafb; }
.competition-actions .competition-primary:hover { color:#29262f; border-color:#c8c3cd; text-decoration:none; }
.competition-footnote { margin:15px 0 0; color:#656570; font-size:12px; line-height:1.8; }
.competition-section-compact { margin-top:28px; }
.competition-section-compact .competition-heading h2 { font-size:21px; }
.competition-section-compact .competition-card { padding:23px; }
.competition-section-compact .competition-card h3 { font-size:21px; }
.competition-switcher { display:flex; flex-wrap:wrap; gap:5px; width:fit-content; max-width:100%; border:1px solid #e8e6ec; border-radius:7px; background:#f6f5f8; padding:4px; margin:0 0 24px; }
.competition-switcher a { display:flex; gap:12px; align-items:center; padding:9px 14px; font-size:12px; color:#656570; border-radius:4px; text-decoration:none; }
.competition-switcher a > span { font:12px ui-monospace,monospace; color:#656570; }
.competition-switcher a[aria-current="page"] { background:#fff; color:#5c5140; box-shadow:0 1px 4px #29223209; }
.competition-switcher a[aria-current="page"] > span { color:#88601e; }
.competition-switcher a:hover { color:#7d622e; }
.public-page .landing-main > .competition-switcher { margin-top:45px; }
.public-page .competition-switcher + .leaderboard-heading { padding-top:4px; }
.competition-scope-note { color:#656570; background:#faf7f0; border-left:2px solid #d1b47c; padding:12px 16px; font-size:12px; line-height:1.8; margin:0 0 28px; }
.competition-scope-note a { color:#88601e; }
.competition-public-note { display:flex; gap:14px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin:22px 0; padding:16px 20px; border:1px solid #e9e6de; border-radius:7px; color:#656570; font-size:12px; line-height:1.8; background:#fcfaf6; }
.competition-public-note p { margin:0; }
.competition-public-note a { font-size:12px; color:#88601e; text-decoration:none; }
.competition-public-note a:hover { text-decoration:underline; }
.public-nav .competition-nav-link { display:inline-flex; align-items:center; min-height:36px; gap:6px; }
.public-nav .competition-nav-link[aria-current="page"] { color:#88601e; font-weight:550; }
@media (max-width:850px) { .competition-heading { align-items:flex-start; flex-direction:column; gap:12px; } .competition-card { padding:23px; } .competition-card-top { flex-wrap:wrap; } }
@media (max-width:600px) {
  .competition-section { margin-top:35px; }
  .competition-grid { grid-template-columns:1fr; gap:16px; }
  .competition-heading { margin-bottom:20px; }
  .competition-card { padding:24px 22px; }
  .competition-card h3 { margin-top:20px; }
  .competition-card dl { column-gap:18px; }
  .competition-switcher { width:100%; flex-wrap:nowrap; }
  .competition-switcher a { flex:1; gap:8px; justify-content:center; padding:9px 7px; font-size:12px; }
  .public-page .landing-main > .competition-switcher { margin-top:30px; }
  .competition-public-note { padding:15px 16px; }
}
