/* ========================================================================
   About page — page-specific sections (uses page-common.css)
   ======================================================================== */

.about-experience {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 28px;
  min-height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff !important;
  box-shadow: 0 12px 32px rgba(11, 30, 63, 0.18);
}

.about-experience__bg {
  position: absolute;
  inset: 0;
  background: center / cover no-repeat;
  transform: scale(1.02);
}

.about-experience__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(8, 18, 40, 0.72) 0%,
    rgba(8, 18, 40, 0.78) 100%
  );
}

.about-experience__body {
  position: relative;
  z-index: 1;
  padding: 48px 28px;
  max-width: 640px;
  color: #fff !important;
}

.page-shell h2.about-experience__title,
.about-experience__title {
  margin: 0 0 18px !important;
  font-size: clamp(24px, 3.5vw, 32px) !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  line-height: 1.35 !important;
  color: #ffffff !important;
}

.about-experience__list {
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
  display: grid;
  gap: 10px;
  justify-items: center;
}

.about-experience__list li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #ffffff !important;
}

.about-experience__list li::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--page-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center / 12px no-repeat;
  flex: 0 0 22px;
}

.about-split {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
}

.about-split--schedule {
  grid-template-columns: 1.05fr 1fr;
}

.about-split__aside {
  padding: 34px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
}

.about-split__aside > .page-card__title {
  margin-bottom: 10px !important;
}

.about-split__aside > * + * {
  margin-top: 16px !important;
}

.about-split__aside > .page-card__title + * {
  margin-top: 0 !important;
}

.about-map {
  min-height: 320px;
  background: #dbe3ef;
}

.about-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  border: 0;
}

.about-place-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #eef3f9;
  color: var(--page-navy);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.about-place-name {
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  color: var(--page-navy) !important;
}

.about-place-address {
  margin: 0 !important;
  font-size: var(--page-fs-small) !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  color: var(--page-muted) !important;
}

.about-schedule-rows {
  display: grid;
  gap: 12px;
  margin: 0;
}

.about-schedule-row {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 14px;
  align-items: start;
}

.about-day {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #e8eef5;
  color: var(--page-navy);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center;
}

.about-schedule-meta {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: #334155 !important;
}

.about-schedule-meta strong {
  display: block;
  color: var(--page-navy) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  margin-bottom: 2px;
}

.about-schedule-note {
  margin: 8px 0 0 !important;
  padding: 12px 14px;
  border-radius: 12px;
  background: #eef3f9;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: #475569 !important;
}

.about-contact {
  padding: 30px 34px;
}

.about-contact__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.about-contact__list li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  color: var(--page-navy) !important;
}

.about-contact__list a {
  color: var(--page-navy) !important;
  text-decoration: none;
  font-weight: 600 !important;
}

.about-contact__list a:hover {
  color: var(--page-orange) !important;
}

.about-contact__icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #eef3f9;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--page-navy);
  flex: 0 0 40px;
}

/* ---------- Team uniform ---------- */
.about-uniform {
  margin-bottom: 28px;
}

.about-uniform__lead {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  color: #64748b !important;
}

.about-uniform__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 22px;
}

.about-uniform__card {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
}

.about-uniform__card--home {
  background: #ffffff;
  border-color: #d7dee8;
}

.about-uniform__card--away {
  background: #0B1E3F;
  border-color: #0B1E3F;
}

.about-uniform__label {
  padding: 16px 18px 12px;
}

.about-uniform__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 0 12px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
}

.about-uniform__card--home .about-uniform__badge {
  background: #0B1E3F;
  color: #fff;
}

.about-uniform__card--away .about-uniform__badge {
  background: #FF6600;
  color: #fff;
}

.page-shell h3.about-uniform__name,
.about-uniform__name {
  margin: 10px 0 4px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.35 !important;
}

.about-uniform__card--home .about-uniform__name {
  color: #0B1E3F !important;
}

.about-uniform__card--away .about-uniform__name {
  color: #ffffff !important;
}

.about-uniform__color {
  margin: 0 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  line-height: 1.5 !important;
}

.about-uniform__card--home .about-uniform__color {
  color: #64748b !important;
}

.about-uniform__card--away .about-uniform__color {
  color: rgba(255, 255, 255, 0.72) !important;
}

.about-uniform__media {
  padding: 4px 10px 14px;
  flex: 1;
  display: flex;
  align-items: stretch;
}

.about-uniform__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: contain;
  object-position: center;
  border-radius: 0;
  border: 0;
  box-shadow: none;
  background: #ffffff;
}

.about-uniform__card--home .about-uniform__media img,
.about-uniform__card--away .about-uniform__media img {
  background: #ffffff;
}

@media (max-width: 900px) {
  .about-split,
  .about-split--schedule {
    grid-template-columns: 1fr;
  }

  .about-split__aside,
  .about-contact {
    padding: 28px 22px;
  }

  .about-map,
  .about-map iframe {
    min-height: 260px;
  }

  .about-uniform__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .about-experience__body {
    padding: 40px 18px;
  }
}

/* Keep full team (incl. sticks/edges) visible in about hero */
.page-shell .page-hero__frame {
  min-height: 0;
}

.page-shell .page-hero__frame img {
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center center;
  background: #061228;
}

@media (max-width: 900px) {
  .page-shell .page-hero__frame img {
    max-height: none;
  }
}
