
    #camp-details { scroll-margin-top: 90px; }
    .camp-season-note {
      margin-top: 18px;
      padding: 12px 16px;
      background: var(--page-accent-tint);
      border-left: 4px solid var(--sp-peach);
      border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
      font-family: var(--font-heading);
      font-size: 14.5px;
      font-weight: 700;
      color: var(--sp-ink);
      max-width: 48ch;
    }
    .camp-groups {
      background-color: var(--sp-white);
      border-block: 1px solid rgba(77, 98, 84, 0.15);
    }
    .camp-groups-intro {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(20px, 4vw, 48px);
      align-items: end;
      margin-bottom: 32px;
    }
    .camp-groups-intro p:not(.sc-kicker) {
      font-size: 17px;
      color: var(--sp-quiet);
      line-height: 1.65;
    }
    .camp-group-list {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      margin: 0;
    }
    .camp-group-list > div {
      background: var(--sp-cream);
      border: 1px solid rgba(77, 98, 84, 0.16);
      border-top: 6px solid var(--sp-sage);
      border-radius: var(--radius-md);
      padding: 24px 22px;
      box-shadow: var(--sp-shadow-card);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 12px;
    }
    .camp-group-list > div:nth-child(1) { border-top-color: var(--sp-butter); }
    .camp-group-list > div:nth-child(2) { border-top-color: var(--sp-peach); }
    .camp-group-list > div:nth-child(3) { border-top-color: var(--sp-sage); }
    .camp-group-list > div:nth-child(4) { border-top-color: var(--sp-dusty-teal); }
    .camp-group-list dt {
      font-family: var(--font-heading);
      font-size: 20px;
      font-weight: 800;
      color: var(--sp-ink);
      line-height: 1.25;
    }
    .camp-group-list dd {
      display: inline-flex;
      align-self: flex-start;
      font-family: var(--font-heading);
      font-size: 13px;
      font-weight: 800;
      color: var(--sp-ink);
      padding: 5px 12px;
      border-radius: 999px;
      margin: 0;
    }
    .camp-group-list > div:nth-child(1) dd { background: var(--sp-butter); }
    .camp-group-list > div:nth-child(2) dd { background: var(--sp-peach); }
    .camp-group-list > div:nth-child(3) dd { background: var(--sp-sage); }
    .camp-group-list > div:nth-child(4) dd { background: var(--sp-dusty-teal); }
    .camp-deposit {
      font-size: 14.5px;
      color: var(--sp-quiet);
      padding-top: 12px;
      border-top: 1px solid rgba(77, 98, 84, 0.14);
      margin: 0;
    }
    @media (max-width: 960px) {
      .camp-groups-intro { grid-template-columns: 1fr; gap: 12px; }
      .camp-group-list { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 599px) {
      .camp-group-list { grid-template-columns: 1fr; }
    }
