.activities {
  padding-block: var(--pa-space-3xl);
}
.activities__header {
  margin-bottom: var(--pa-space-lg);
}
.activities__eyebrow {
  margin-bottom: var(--pa-space-sm);
  font-family: "Work Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.125rem;
  letter-spacing: 1.5px;
  color: var(--pa-color-blue);
  text-transform: uppercase;
}
.activities__heading {
  margin: 0;
  max-width: 40rem;
  font-family: "Ancizar Serif", Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: 2.625rem;
  line-height: 1.1;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  .activities__heading {
    font-weight: 500;
    font-size: 3rem;
    letter-spacing: 0.853px;
  }
}
.activities__filters {
  position: relative;
  margin-bottom: var(--pa-space-xl);
}
@media (min-width: 768px) {
  .activities__filters::after {
    content: "";
    position: absolute;
    left: calc(50% - 50vw);
    width: 100vw;
    bottom: -3px;
    height: 0.625rem;
    background: url("../../images/activities-tabline.svg") no-repeat center/1440px 100%;
  }
}
.activities__tabs {
  display: none;
}
@media (min-width: 768px) {
  .activities__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pa-space-3xs);
  }
}
.activities__tab {
  appearance: none;
  cursor: pointer;
  border: 0;
  border-radius: var(--pa-radius-md) var(--pa-radius-md) 0 0;
  padding: var(--pa-space-sm) var(--pa-space-md);
  background: var(--pa-color-light-blue);
  color: var(--pa-color-navy);
  font-family: "Work Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.125rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.activities__tab.is-active {
  background: var(--pa-color-blue);
  color: var(--pa-color-light-bg);
  box-shadow: inset 0 -4px 0 var(--pa-color-blue);
}
.activities__tab:focus-visible {
  outline: 2px solid var(--pa-color-blue);
  outline-offset: 2px;
}
.activities__select {
  position: relative;
}
@media (min-width: 768px) {
  .activities__select {
    display: none;
  }
}
.activities__select select {
  display: block;
  width: 100%;
  appearance: none;
  cursor: pointer;
  border: 1px solid var(--pa-color-red);
  border-radius: var(--pa-radius-md);
  padding: var(--pa-space-xs) var(--pa-space-2xl) var(--pa-space-xs) var(--pa-space-md);
  background: var(--pa-color-white);
  color: var(--pa-color-red);
  text-transform: uppercase;
  font-family: "Work Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.125rem;
  letter-spacing: 1.5px;
}
.activities__select::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: var(--pa-space-md);
  margin: auto;
  width: 0.875rem;
  height: 0.625rem;
  background: var(--pa-color-red);
  clip-path: polygon(100% 0%, 0 0%, 50% 100%);
  pointer-events: none;
}
.activities__grid {
  display: flex;
  flex-direction: column;
  gap: var(--pa-space-lg);
}
.activities__row {
  display: flex;
  gap: var(--pa-space-lg);
}
@media (max-width: 1023px) {
  .activities__row {
    flex-direction: column;
  }
}
.activities__card {
  position: relative;
  aspect-ratio: 295/376;
  border-radius: var(--pa-radius-md);
  background: var(--pa-color-light-bg);
  transition: transform 0.4s ease, opacity 0.4s ease, border-top-right-radius 0.3s ease;
}
@media (min-width: 1024px) {
  .activities__card {
    flex: 0 0 18.4375rem;
    aspect-ratio: auto;
    height: 23.5rem;
  }
  .activities__card.is-large {
    flex-basis: 39.0625rem;
  }
}
.activities__card.is-hidden {
  opacity: 0;
  transform: scale(0.85);
  pointer-events: none;
}
.activities__card:hover, .activities__card:focus, .activities__card:focus-within {
  border-top-right-radius: 10rem;
}
.activities__media {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: var(--pa-color-navy);
  border-radius: inherit;
  overflow: hidden;
  transition: border-top-right-radius 0.3s ease;
}
.activities__card:hover .activities__media, .activities__card:focus .activities__media, .activities__card:focus-within .activities__media {
  border-top-right-radius: 10rem;
}
.activities__card.is-large .activities__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: linear-gradient(to bottom, rgba(7, 27, 47, 0), rgba(7, 27, 47, 0));
  transition: background 0.3s ease;
  pointer-events: none;
}
.activities__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.activities__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: var(--pa-space-md);
  background: var(--pa-color-light-bg);
  transition: padding-top 0.3s ease;
}
.activities__card.is-large .activities__caption {
  left: auto;
  width: 18.4375rem;
  border-top-left-radius: var(--pa-radius-md);
}
.activities__type {
  font-family: "Work Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.125rem;
  letter-spacing: 1.5px;
  margin-bottom: var(--pa-space-3xs);
  color: var(--pa-color-navy);
  text-transform: uppercase;
}
@media (max-width: 1023px) {
  .activities__type {
    font-size: 0.875rem;
  }
}
.activities__title {
  font-family: var(--pa-font-heading);
  font-weight: 400;
  font-size: 2rem;
  line-height: 1;
  color: var(--pa-color-navy);
}
@media (min-width: 1024px) {
  .activities__title {
    font-size: 1.75rem;
  }
}
.activities__description {
  font-family: var(--pa-font-body);
  font-weight: 400;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: var(--pa-color-navy);
  margin-top: var(--pa-space-sm);
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.3s ease, opacity 0.3s ease, margin-top 0.3s ease;
}
@media (min-width: 1024px) {
  .activities__description {
    font-size: 0.625rem;
  }
}
.activities__card:hover .activities__description, .activities__card:focus .activities__description, .activities__card:focus-within .activities__description {
  max-height: 12rem;
  opacity: 1;
}
.activities__trigger {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.125rem 1.375rem;
  border-radius: 3.75rem;
  background: var(--pa-color-blue);
  color: var(--pa-color-light-blue);
  font-family: var(--pa-font-body);
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.125rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.activities__card:hover .activities__trigger, .activities__card:focus .activities__trigger, .activities__card:focus-within .activities__trigger {
  opacity: 1;
}
