.partner-net main { max-width: 1120px; }
.partner-net .recruit-textlink[aria-current="page"] { box-shadow: inset 0 -2px 0 #e30613; }
.partner-hero { padding: 1.4rem 0 0.4rem; }
.partner-concept {
  display: inline-block;
  margin: 0.35rem 0 0.8rem;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: rgba(227, 6, 19, 0.16);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.partner-hero .hero-title { max-width: 16ch; margin: 0.2rem 0 0.7rem; }
.partner-lead, .partner-note, .partner-rules { max-width: 44rem; }
.partner-lead { font-size: 1.08rem; }
.partner-note, .partner-rules { color: #d5deea; }
.partner-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1rem 0; }
.partner-filters, .partner-card, .partner-seat, .partner-profile {
  background: #fff;
  color: var(--ink);
  border-radius: 18px;
}
.partner-filters { padding: 0.9rem; margin: 0.8rem 0 0.7rem; }
.partner-filter-label { margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #3e4e66; }
.partner-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.partner-chips button {
  border: 1px solid rgba(8, 21, 45, 0.16);
  background: #f4f7fb;
  color: #08152d;
  border-radius: 999px;
  padding: 0.42rem 0.75rem;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 800;
  cursor: pointer;
}
.partner-chips button.is-on { background: #e30613; border-color: #e30613; color: #fff; }
.partner-fields { display: grid; gap: 0.55rem; margin-top: 0.7rem; }
.partner-fields label { display: grid; gap: 0.25rem; font-size: 0.82rem; font-weight: 800; color: #3e4e66; }
.partner-fields input, .partner-fields select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #d5deea;
  border-radius: 10px;
  padding: 0.45rem 0.7rem;
  font: inherit;
  color: var(--ink);
  background: #fff;
}
.partner-count { margin: 0.2rem 0 0.7rem; color: #d5deea; font-weight: 700; }
.partner-grid { display: grid; gap: 0.9rem; }
.partner-card, .partner-seat { overflow: hidden; display: flex; flex-direction: column; min-width: 0; }
.partner-back { margin: 0.85rem 0 0.15rem; }
.partner-back a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #fff;
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid rgba(244, 247, 251, 0.45);
  border-radius: 999px;
  padding: 0.38rem 0.75rem;
  background: transparent;
}
.partner-back a::before {
  content: "";
  width: 0.48rem;
  height: 0.48rem;
  border-left: 2.5px solid currentColor;
  border-bottom: 2.5px solid currentColor;
  transform: rotate(45deg);
  flex: 0 0 auto;
}
.partner-back-home a {
  background: #fff;
  color: #08152d;
  border: 0;
  min-height: 44px;
  padding: 0.62rem 1.05rem;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
}
.partner-visual {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 0.25rem;
  min-height: 11.5rem;
  padding: 1.2rem;
  overflow: hidden;
  text-align: center;
  color: #fff;
  background: #08152d;
}
.partner-visual:has(.photo-trainer, .photo-studio, .photo-nutrition, .photo-weight, .photo-seat-open, .photo-seat-next) {
  aspect-ratio: 16 / 9;
  min-height: 0;
  padding: 0;
}
.partner-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.photo-trainer { object-position: center 34%; }
.photo-studio { object-position: center 42%; }
.photo-nutrition { object-position: center 24%; }
.photo-weight { object-position: center 46%; }
.photo-seat-open { object-position: center 32%; }
.photo-seat-next { object-position: center 8%; }
.partner-visual::after { content: none; }
.partner-visual span {
  position: absolute;
  z-index: 1;
  left: 0.7rem;
  bottom: 0.7rem;
  background: #e30613;
  color: #fff;
  border-radius: 999px;
  padding: 0.2rem 0.55rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.partner-visual-open { min-height: 8.5rem; background: linear-gradient(160deg, #102a52, #08152d 70%); }
.partner-body { display: flex; flex-direction: column; gap: 0.35rem; flex: 1; padding: 0.95rem 1rem 1.05rem; }
.partner-body h3, .partner-body h4, .partner-profile h1, .partner-profile h2 { color: var(--ink); }
.partner-body h3 { margin: 0.15rem 0; font-size: 1.45rem; }
.partner-body h4 { margin: 0.45rem 0 0; font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: #3e4e66; }
.partner-body p, .partner-profile p { margin: 0.2rem 0; }
.partner-badges { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0; }
.partner-example, .partner-phase {
  display: inline-block;
  border-radius: 999px;
  padding: 0.18rem 0.55rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.partner-example { background: #e30613; color: #fff; }
.partner-phase { background: #08152d; color: #fff; }
.partner-meta { color: #3e4e66; font-weight: 700; }
.partner-tags { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.15rem 0 0.2rem; padding: 0; list-style: none; }
.partner-tags li { background: #f4f7fb; color: #08152d; border-radius: 999px; padding: 0.28rem 0.6rem; font-size: 0.82rem; font-weight: 700; }
.partner-links { margin-top: auto; padding-top: 0.7rem; }
.partner-seat { border: 1px dashed rgba(227, 6, 19, 0.7); }
.partner-empty, .partner-rules { margin: 0.9rem 0 0.2rem; }
.partner-profile { padding: 1rem 1rem 1.2rem; }
.partner-profile .hero-title { max-width: 18ch; font-size: clamp(2rem, 5vw, 3.3rem); }
#alex-demo-slot { display: contents; }
.partner-hero-photo { margin: 0.75rem 0 0.85rem; border-radius: 18px; overflow: hidden; aspect-ratio: 16 / 9; background: #08152d; }
.partner-hero-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.partner-intro { max-width: 42rem; }
.partner-gallery-note { color: #3e4e66; max-width: 42rem; }
.partner-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin: 0.55rem 0 0.2rem; }
.partner-gallery figure { margin: 0; min-width: 0; background: #f4f7fb; border-radius: 14px; overflow: hidden; }
.partner-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.partner-gallery figcaption { padding: 0.55rem 0.65rem 0.7rem; }
.partner-gallery strong { display: block; font-size: 0.84rem; line-height: 1.25; color: #08152d; }
.partner-gallery span { display: block; margin-top: 0.2rem; color: #3e4e66; font-size: 0.78rem; line-height: 1.35; }
.partner-services, .partner-channels { margin: 0.35rem 0 0.5rem; padding: 0; list-style: none; display: grid; gap: 0.45rem; }
.partner-services li, .partner-channels li { padding: 0.65rem 0.75rem; border-radius: 12px; background: #f4f7fb; }
.partner-channels li { display: flex; justify-content: space-between; gap: 0.75rem; align-items: baseline; }
.partner-channels em { font-style: normal; color: #3e4e66; font-size: 0.82rem; font-weight: 700; text-align: right; }
.photo-trainer { object-position: center 32%; }
.photo-studio { object-position: center 42%; }
.photo-nutrition { object-position: center 24%; }
.photo-weight { object-position: center 46%; }
.photo-gym { object-position: center 40%; }
.frame-form { object-position: center 20%; }
.frame-coach { object-position: center 24%; }
.frame-mobility { object-position: center 38%; }
.frame-group { object-position: center 22%; }
.frame-class { object-position: center 42%; }
.frame-machine { object-position: center 42%; }
.frame-cardio { object-position: center 30%; }
.frame-spot { object-position: center 28%; }
.frame-plan { object-position: center 32%; }
.frame-prep { object-position: center 62%; }
.frame-shop { object-position: center 42%; }
.frame-call { object-position: center 48%; }
.frame-walk { object-position: center 28%; }
.partner-net .partner-sheet a { color: #08152d; }
@media (min-width: 800px) {
  .partner-fields { grid-template-columns: 1.4fr 1fr 0.8fr; align-items: end; }
  .partner-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
  .partner-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .partner-gallery-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .partner-actions .button { flex: 1 1 12rem; }
}
