.kick-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(26px, 6vw, 70px);
  border-radius: 24px;
  color: #fff;
  background: radial-gradient(ellipse at 90% 10%, #246556 0%, #153b34 43%, #102824 78%);
}
.kick-hero-copy { position: relative; max-width: 580px; }
.kick-kicker {
  margin: 0 0 8px;
  color: #176657;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.kick-hero .kick-kicker { color: #a2eddf; }
.kick-hero h1 { font-size: clamp(3rem, 8vw, 6.4rem); line-height: .94; margin: 18px 0; }
.kick-hero h1 span { color: #f8afc5; }
.kick-hero-copy > p:not(.kick-kicker) { max-width: 32ch; line-height: 1.55; color: #ecf7f3; }
.kick-pitch {
  position: absolute;
  z-index: -1;
  width: min(52%, 540px);
  right: -2%;
  top: 50%;
  transform: translateY(-50%) rotate(-13deg);
  color: #81b4a5;
  opacity: .7;
}
.kick-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.kick-actions .kick-outline { background: #193c35; color: #fff; border: 1px solid #80b2a4; }
.kick-actions .kick-outline:hover { background: #2b5b50; }
.kick-section { margin: 34px 0; }
.kick-section h2 { margin: 0 0 6px; font-size: clamp(1.7rem, 4vw, 2.3rem); }
.kick-section > p:not(.kick-kicker) { color: #53635f; }
.kick-teams { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.kick-team {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 16px;
  background: #fff;
  border: 1px solid #dbe7e1;
  border-radius: 16px;
  text-decoration: none;
}
.kick-team:hover { border-color: #20957f; box-shadow: 0 4px 16px #143d3020; }
.kick-grade {
  display: grid;
  place-items: center;
  min-width: 54px;
  min-height: 54px;
  border-radius: 12px;
  background: #d9f3eb;
  color: #174e43;
  font-weight: 850;
}
.kick-team h3 { font-size: 1.1rem; margin: 0 0 4px; }
.kick-team .kick-kicker { margin-bottom: 4px; }
.kick-location { margin: 0; color: #53635f; font-size: .87rem; line-height: 1.4; }
.kick-arrow { color: #176657; font-size: 1.25rem; }
.kick-docs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  padding: 20px;
  border-radius: 16px;
  background: #f5e8ed;
}
.kick-docs h2 { margin: 0; }
.kick-docs .button { background: #fff; }
.kick-docs .button:hover { background: #fff8fb; }
@media (max-width: 700px) {
  .kick-teams { grid-template-columns: 1fr; }
  .kick-pitch { width: 74%; right: -27%; top: 39%; opacity: .32; }
}

[data-team="2nd-grade-boys"] { --team-bg: #f9ecd0; --team-ink: #694908; }
[data-team="3rd-grade-boys"] { --team-bg: #e5edff; --team-ink: #254e8b; }
[data-team="4th-grade-boys"] { --team-bg: #ddf4eb; --team-ink: #105e4b; }
[data-team="6th-grade-boys"] { --team-bg: #efe6fc; --team-ink: #603b81; }
[data-team="4th-grade-girls"] { --team-bg: #fae4ed; --team-ink: #8a3156; }
.kick-grade, .kick-slot, .kick-legend span { background: var(--team-bg); color: var(--team-ink); }
.kick-team-meta { margin: 7px 0 0; font-size: .83rem; font-weight: 750; color: var(--team-ink); }
.kick-legend { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 16px; }
.kick-legend span { font-size: .78rem; font-weight: 750; padding: 5px 9px; border-radius: 8px; }
.kick-board { margin-bottom: 14px; padding: clamp(11px, 3vw, 20px); border: 1px solid #dbe7e1; border-radius: 16px; background: #fff; }
.kick-board h3 { margin: 0 0 10px; font-size: 1.12rem; }
.kick-board table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.kick-board th, .kick-board td { padding: 7px; border-top: 1px solid #e3ece7; vertical-align: top; text-align: left; }
.kick-board th:first-child { width: 86px; white-space: nowrap; }
.kick-board thead th { font-size: .8rem; color: #53635f; }
.kick-board tbody th { font-size: .86rem; }
.kick-board td { font-size: .86rem; }
.kick-slot { display: block; padding: 5px 8px; border-radius: 8px; font-size: .84rem; font-weight: 750; text-decoration: none; }
.kick-slot:hover { text-decoration: underline; }
.kick-venue { display: block; margin-top: 3px; color: #53635f; font-size: .8rem; }
.kick-shared-label { color: #176657; font-size: .72rem; font-weight: 750; }
@media (max-width: 400px) {
  .kick-board th:first-child { width: 69px; }
  .kick-board th, .kick-board td { padding: 5px; }
}
