.paper-texture {
  background:
    linear-gradient(rgba(255, 255, 255, 0.93), rgba(255, 255, 255, 0.93)),
    radial-gradient(circle at 20% 20%, rgba(0, 0, 0, 0.025), transparent 25%),
    radial-gradient(circle at 80% 30%, rgba(0, 0, 0, 0.02), transparent 20%),
    radial-gradient(circle at 40% 70%, rgba(0, 0, 0, 0.018), transparent 18%),
    #f5f2ea;
}

.hero-overlay {
  background: linear-gradient(90deg, rgba(7, 39, 31, 0.92) 0%, rgba(7, 39, 31, 0.8) 40%, rgba(7, 39, 31, 0.28) 100%);
}

.section-line::before,
.section-line::after {
  content: '';
  height: 3px;
  background: linear-gradient(90deg, transparent, #9aca3c, transparent);
  flex: 1;
}

.section-line {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.story-overlay {
  background: linear-gradient(180deg, rgba(7, 39, 31, 0.05) 10%, rgba(7, 39, 31, 0.86) 100%);
}

.college-stripes {
  background-image: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.07) 0, rgba(255, 255, 255, 0.07) 8px, transparent 8px, transparent 18px);
}

.field-line {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: rgba(255, 255, 255, 0.1);
}

.ribbon-edge::before,
.ribbon-edge::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  background: #0b3a2d;
  transform: translateY(-50%) rotate(45deg);
}

.ribbon-edge::before {
  left: -9px;
}

.ribbon-edge::after {
  right: -9px;
}

.badge-notch {
  clip-path: polygon(0 0, 100% 0, 100% 82%, 50% 100%, 0 82%);
}

.score-card {
  clip-path: polygon(0 0, 100% 0, 100% 86%, 50% 100%, 0 86%);
}

.varsity-outline {
  text-shadow:
    -2px -2px 0 rgba(7, 39, 31, 0.95),
     2px -2px 0 rgba(7, 39, 31, 0.95),
    -2px 2px 0 rgba(7, 39, 31, 0.95),
     2px 2px 0 rgba(7, 39, 31, 0.95),
     0 4px 18px rgba(0, 0, 0, 0.28);
}

.panel-lines {
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.08)),
    linear-gradient(to right, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.08));
  background-size: 1px 100%, 1px 100%;
  background-position: 33.333% 0, 66.666% 0;
  background-repeat: no-repeat;
}

.champion-bar {
  background: linear-gradient(90deg, #9aca3c 0%, #d4ec8a 50%, #9aca3c 100%);
}

.stitched-border {
  position: relative;
}

.stitched-border::after {
  content: '';
  position: absolute;
  inset: 10px;
  border: 1px dashed rgba(255, 255, 255, 0.22);
  border-radius: 1.25rem;
  pointer-events: none;
}

.varsity-tab {
  clip-path: polygon(0 0, 100% 0, 92% 100%, 8% 100%);
}

.athletics-card {
  position: relative;
  overflow: hidden;
}

.athletics-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), transparent 35%);
  pointer-events: none;
}

.sport-card-active {
  box-shadow: 0 14px 34px rgba(7, 39, 31, 0.18);
  transform: translateY(-4px);
}

.varsity-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.24em;
  color: #159447;
}

.varsity-kicker::before,
.varsity-kicker::after {
  content: '';
  width: 18px;
  height: 2px;
  background: #9aca3c;
}

.varsity-section-title {
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 0.95;
}

.varsity-pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(154, 202, 60, 0.35);
  background: rgba(11, 58, 45, 0.95);
  color: #d9f0a1;
  border-radius: 9999px;
  padding: 0.5rem 1rem;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.2em;
}

.varsity-button {
  position: relative;
  overflow: hidden;
  border-radius: 0.9rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.varsity-button::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), transparent 40%);
  pointer-events: none;
}

.varsity-card {
  position: relative;
  overflow: hidden;
  border-radius: 1.5rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #fff;
  box-shadow: 0 12px 30px rgba(7, 39, 31, 0.1);
}

.varsity-card::after {
  content: '';
  position: absolute;
  left: 1rem;
  right: 1rem;
  top: 1rem;
  height: 4px;
  border-radius: 9999px;
  background: linear-gradient(90deg, #0b3a2d, #9aca3c, #0b3a2d);
  opacity: 0.9;
}

.label-small {
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}

.content-block {
  h2 {
    --tw-text-opacity: 1;
    color: rgb(7 39 31 / var(--tw-text-opacity, 1));
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  p {
    margin-top: 1rem;
    line-height: 2rem;
  }
}