/* Public platforms catalog: hero and list share one framed surface. */
body.page-platforms .platforms-showcase {
  padding: calc(var(--header-height) + 2.5rem) 1rem 3.5rem;
  background: var(--bg-primary);
}

body.page-platforms .platforms-showcase .search-container {
  max-width: 1240px;
}

body.page-platforms .platforms-showcase .search-panel {
  max-width: none;
  padding: clamp(1.5rem, 3vw, 3rem);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: clamp(28px, 4vw, 48px);
  background: linear-gradient(155deg, #171717 0%, #090909 42%, #050505 100%);
  box-shadow: 0 28px 70px rgba(0, 0, 0, .35);
}

body.page-platforms .platforms-showcase .search-header {
  max-width: 100%;
  margin: 1.25rem auto 2.25rem;
}

body.page-platforms .platforms-showcase .search-kicker {
  margin-bottom: 1.25rem;
  color: #a5a5ad;
  font-size: clamp(.72rem, .6rem + .45vw, 1rem);
  font-weight: 500;
  letter-spacing: .34em;
}

body.page-platforms .platforms-showcase .search-title {
  margin-bottom: 1.35rem;
  color: #fff;
  font-size: clamp(2.6rem, 5.65vw, 5.1rem);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -.06em;
}

body.page-platforms .platforms-showcase .search-subtitle {
  max-width: 790px;
  color: #a7a7af;
  font-size: clamp(1.1rem, 2.2vw, 2rem);
  font-weight: 400;
  line-height: 1.42;
}

body.page-platforms .platforms-showcase .search-input-wrapper {
  max-width: none;
  margin: 0 0 1.5rem;
}

body.page-platforms .platforms-showcase .search-input {
  height: clamp(68px, 8vw, 104px);
  padding-left: clamp(4rem, 7vw, 7rem);
  border: 2px solid #414141;
  border-radius: 999px;
  background: linear-gradient(110deg, #1e1e1e, #191919);
  color: #fff;
  font-size: clamp(1.05rem, 2vw, 1.85rem);
  font-weight: 400;
}

body.page-platforms .platforms-showcase .search-input::placeholder {
  color: #8e8e95;
}

body.page-platforms .platforms-showcase .search-input:focus {
  border-color: #888;
  background: #1e1e1e;
  box-shadow: 0 0 0 4px rgba(255,255,255,.07);
  transform: none;
}

body.page-platforms .platforms-showcase .search-icon {
  left: clamp(1.5rem, 3.7vw, 3.3rem);
  color: #d2d2d8;
  width: 32px;
  height: 32px;
}

body.page-platforms .platforms-showcase .search-icon svg {
  width: 32px;
  height: 32px;
}

body.page-platforms .platforms-showcase .filters {
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: .55rem;
  padding-bottom: .35rem;
}

body.page-platforms .platforms-showcase .filter-btn {
  min-height: 52px;
  padding: .7rem 1.15rem;
  border-color: #303030;
  background: #111;
  color: #d2d2d8;
  font-size: clamp(.78rem, 1.1vw, 1rem);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

body.page-platforms .platforms-showcase .filter-btn.active,
body.page-platforms .platforms-showcase .filter-btn:hover {
  border-color: #fff;
  background: #fff;
  color: #111;
  box-shadow: 0 5px 18px rgba(255,255,255,.1);
}

body.page-platforms .platforms-showcase .groups-section {
  margin-top: 2rem;
  padding: 2.5rem 0 0;
  border-top: 1px solid #292929;
  background: transparent;
  overflow: visible;
}

body.page-platforms .platforms-showcase .section-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: start;
  gap: .75rem;
  margin-bottom: 1.6rem;
  text-align: left;
}

body.page-platforms .platforms-showcase .section-header > div { min-width: 0; }

body.page-platforms .platforms-showcase .section-title {
  margin: 0 0 .2rem;
  color: #fff;
  font-size: clamp(1.65rem, 3.1vw, 2.9rem);
  font-weight: 700;
  letter-spacing: -.05em;
}

body.page-platforms .platforms-showcase .search-meta {
  margin: 0;
  color: #a5a5ad;
  font-size: clamp(.9rem, 1.45vw, 1.35rem);
  font-weight: 400;
  text-align: left;
}

body.page-platforms .platforms-view-all {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-height: 44px;
  justify-self: end;
  padding: .25rem 0 .25rem .5rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #d7d7dd;
  font: inherit;
  font-size: clamp(.9rem, 1.3vw, 1.2rem);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

body.page-platforms .platforms-view-all:hover { color: #fff; }
body.page-platforms .platforms-view-all:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
body.page-platforms .platforms-view-all[hidden] { display: none; }
body.page-platforms .platforms-view-all span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  font-size: 0;
  flex: none;
}

body.page-platforms .platforms-view-all span::before {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
}

body.page-platforms .platforms-showcase .groups-grid {
  max-width: none;
  gap: 1rem;
}

body.page-platforms .platforms-showcase .platforms-loading {
  padding: 2rem 0;
  color: #a5a5ad;
  text-align: center;
}

body.page-platforms .platforms-showcase .group-card {
  border: 1px solid #303030;
  border-radius: 30px;
  background: linear-gradient(135deg, #191919, #0b0b0b);
}

body.page-platforms .platforms-showcase .group-card:hover,
body.page-platforms .platforms-showcase .group-card.open {
  border-color: #555;
  background: linear-gradient(135deg, #202020, #0d0d0d);
  transform: none;
  box-shadow: 0 12px 35px rgba(0,0,0,.28);
}

body.page-platforms .platforms-showcase .group-card .group-toggle {
  align-items: center;
  gap: clamp(1rem, 3vw, 2.3rem);
  padding: clamp(1rem, 2vw, 1.4rem) clamp(1.2rem, 3vw, 2.2rem);
}

body.page-platforms .platforms-showcase .group-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 clamp(86px, 11vw, 146px);
  width: clamp(86px, 11vw, 146px);
  height: clamp(86px, 11vw, 146px);
  overflow: hidden;
  border: 1px solid #353535;
  border-radius: 28px;
  background: linear-gradient(155deg, #202020, #020202 72%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  color: #f5f5f5;
  font-size: clamp(1.65rem, 3.5vw, 3.25rem);
  font-weight: 800;
  font-style: italic;
  letter-spacing: -.08em;
  text-shadow: 0 2px 5px rgba(255,255,255,.15);
}

body.page-platforms .platforms-showcase .group-logo-long {
  font-size: clamp(1rem, 1.7vw, 1.5rem);
  letter-spacing: -.05em;
}

body.page-platforms .platforms-showcase .group-card:is(
  [data-logo="777"], [data-logo="VOY"], [data-logo="W1"], [data-logo="ANJO"],
  [data-logo="91"], [data-logo="WE"], [data-logo="FP"], [data-logo="VARIADOS"],
  [data-logo="DY"], [data-logo="WP"], [data-logo="KF"], [data-logo="XW"]
) .group-logo {
  border: 0;
  background-image: url("../img/group-models.png");
  background-size: 430% auto;
  background-repeat: no-repeat;
  background-position: var(--sprite-x) var(--sprite-y);
  box-shadow: none;
}

body.page-platforms .platforms-showcase .group-card[data-logo="777"] { --sprite-x: 1%; --sprite-y: 3.8%; }
body.page-platforms .platforms-showcase .group-card[data-logo="VOY"] { --sprite-x: 33.5%; --sprite-y: 3.8%; }
body.page-platforms .platforms-showcase .group-card[data-logo="W1"] { --sprite-x: 66%; --sprite-y: 3.8%; }
body.page-platforms .platforms-showcase .group-card[data-logo="ANJO"] { --sprite-x: 98.5%; --sprite-y: 3.8%; }
body.page-platforms .platforms-showcase .group-card[data-logo="91"] { --sprite-x: 1%; --sprite-y: 48%; }
body.page-platforms .platforms-showcase .group-card[data-logo="WE"] { --sprite-x: 33.5%; --sprite-y: 48%; }
body.page-platforms .platforms-showcase .group-card[data-logo="FP"] { --sprite-x: 66%; --sprite-y: 48%; }
body.page-platforms .platforms-showcase .group-card[data-logo="VARIADOS"] { --sprite-x: 98.5%; --sprite-y: 48%; }
body.page-platforms .platforms-showcase .group-card[data-logo="DY"] { --sprite-x: 1%; --sprite-y: 92%; }
body.page-platforms .platforms-showcase .group-card[data-logo="WP"] { --sprite-x: 33.5%; --sprite-y: 92%; }
body.page-platforms .platforms-showcase .group-card[data-logo="KF"] { --sprite-x: 66%; --sprite-y: 92%; }
body.page-platforms .platforms-showcase .group-card[data-logo="XW"] { --sprite-x: 98.5%; --sprite-y: 92%; }

body.page-platforms .platforms-showcase .group-card[data-group="equipe777"] .group-logo {
  color: #dfb664;
  text-shadow: 0 2px 7px rgba(223,182,100,.38);
}

body.page-platforms .platforms-showcase .group-toggle-meta { align-self: center; }
body.page-platforms .platforms-showcase .group-toggle-topline { margin-bottom: .55rem; }

body.page-platforms .platforms-showcase .group-card .group-name {
  color: #fff;
  font-size: clamp(1.3rem, 2.3vw, 2.2rem);
  font-weight: 700;
  letter-spacing: -.04em;
}

body.page-platforms .platforms-showcase .group-card .group-meta-line {
  margin: 0 0 .3rem;
  color: #a7a7af;
  font-size: clamp(.95rem, 1.5vw, 1.35rem);
}

body.page-platforms .platforms-showcase .group-affiliation {
  display: flex;
  align-items: center;
  gap: .6rem;
  color: #a7a7af;
  font-size: clamp(.88rem, 1.35vw, 1.2rem);
}

body.page-platforms .platforms-showcase .group-affiliation svg {
  width: 22px;
  height: 22px;
  flex: none;
}

body.page-platforms .platforms-showcase .group-card .group-chevron {
  width: clamp(54px, 6vw, 76px);
  height: clamp(54px, 6vw, 76px);
  border-color: #393939;
  background: #1c1c1c;
  color: #f4f4f5;
}

body.page-platforms .platforms-showcase .group-card .group-chevron svg {
  width: 27px;
  height: 27px;
}

body.page-platforms .platforms-showcase .group-card.open .group-chevron {
  transform: rotate(90deg);
}

body.page-platforms .platforms-showcase .group-body {
  border-top: 1px solid #303030;
  padding-top: 1.5rem;
}

[data-theme="light"] body.page-platforms .platforms-showcase .search-panel {
  border-color: #d4d4d4;
  background: linear-gradient(155deg, #fbfbfb, #f0f0f0);
}

[data-theme="light"] body.page-platforms .platforms-showcase .search-title,
[data-theme="light"] body.page-platforms .platforms-showcase .section-title,
[data-theme="light"] body.page-platforms .platforms-showcase .group-card .group-name { color: #111; }

[data-theme="light"] body.page-platforms .platforms-showcase .search-kicker,
[data-theme="light"] body.page-platforms .platforms-showcase .search-subtitle,
[data-theme="light"] body.page-platforms .platforms-showcase .search-meta { color: #666; }

[data-theme="light"] body.page-platforms .platforms-showcase .search-input { background: #fff; color: #111; }
[data-theme="light"] body.page-platforms .platforms-showcase .group-card { background: #fff; }
[data-theme="light"] body.page-platforms .platforms-showcase .group-card:hover,
[data-theme="light"] body.page-platforms .platforms-showcase .group-card.open { background: #f7f7f7; }
[data-theme="light"] body.page-platforms .platforms-showcase .group-card .group-chevron { background: #f0f0f0; color: #111; }
[data-theme="light"] body.page-platforms .platforms-showcase .group-card .group-meta-line,
[data-theme="light"] body.page-platforms .platforms-showcase .group-affiliation { color: #555; }
[data-theme="light"] body.page-platforms .platforms-showcase .search-icon { color: #555; }
[data-theme="light"] body.page-platforms .platforms-view-all { color: #333; }

@media (max-width: 700px) {
  body.page-platforms .platforms-showcase { padding: calc(var(--header-height) + 1rem) .7rem 2rem; }
  body.page-platforms .platforms-showcase .search-panel { padding: 1.6rem 1.1rem; border-radius: 30px; }
  body.page-platforms .platforms-showcase .search-header { margin: .75rem auto 1.7rem; }
  body.page-platforms .platforms-showcase .search-kicker { letter-spacing: .2em; }
  body.page-platforms .platforms-showcase .search-title { font-size: clamp(2.4rem, 9vw, 4rem); }
  body.page-platforms .platforms-showcase .search-subtitle { font-size: 1.05rem; }
  body.page-platforms .platforms-showcase .search-input { height: 66px; padding-left: 3.7rem; font-size: 1rem; }
  body.page-platforms .platforms-showcase .search-icon { left: 1.4rem; }
  body.page-platforms .platforms-showcase .search-icon svg { width: 24px; height: 24px; }
  body.page-platforms .platforms-showcase .filters { gap: .4rem; }
  body.page-platforms .platforms-showcase .filter-btn { min-height: 36px; padding: .4rem .55rem; font-size: .72rem; }
  body.page-platforms .platforms-showcase .groups-section { margin-top: 1.4rem; padding-top: 1.6rem; }
  body.page-platforms .platforms-showcase .section-header { gap: .4rem; }
  body.page-platforms .platforms-showcase .search-meta { font-size: .82rem; }
  body.page-platforms .platforms-view-all { font-size: .85rem; min-height: 36px; }
  body.page-platforms .platforms-showcase .group-card { border-radius: 20px; }
  body.page-platforms .platforms-showcase .group-card .group-toggle { gap: .9rem; padding: .9rem; }
  body.page-platforms .platforms-showcase .group-logo { flex-basis: 72px; width: 72px; height: 72px; border-radius: 18px; font-size: 1.55rem; }
  body.page-platforms .platforms-showcase .group-logo-long { font-size: .8rem; }
  body.page-platforms .platforms-showcase .group-card .group-name { font-size: 1.05rem; }
  body.page-platforms .platforms-showcase .group-card .group-meta-line,
  body.page-platforms .platforms-showcase .group-affiliation { font-size: .78rem; }
  body.page-platforms .platforms-showcase .group-affiliation svg { width: 16px; height: 16px; }
  body.page-platforms .platforms-showcase .group-card .group-chevron { width: 38px; height: 38px; }
  body.page-platforms .platforms-showcase .group-card .group-chevron svg { width: 18px; height: 18px; }
}

@media (min-width: 701px) {
  body.page-platforms .platforms-showcase .search-title {
    font-size: 2rem;
    line-height: 1.15;
    letter-spacing: -.04em;
  }

  body.page-platforms .platforms-showcase .search-subtitle {
    max-width: 700px;
    font-size: clamp(1rem, .95rem + .35vw, 1.2rem);
    font-weight: 300;
    line-height: 1.65;
  }

  body.page-platforms .platforms-showcase .search-input {
    height: 72px;
    padding-left: 4rem;
    font-size: var(--fs-base);
  }

  body.page-platforms .platforms-showcase .search-icon { left: 1.5rem; }
  body.page-platforms .platforms-showcase .search-icon svg { width: 24px; height: 24px; }
  body.page-platforms .platforms-showcase .filter-btn { font-size: var(--fs-sm); }

  body.page-platforms .platforms-showcase .section-title {
    font-size: 2rem;
  }

  body.page-platforms .platforms-showcase .search-meta,
  body.page-platforms .platforms-view-all { font-size: var(--fs-sm); }

  body.page-platforms .platforms-showcase .group-card .group-name {
    font-size: clamp(1.1rem, 1.02rem + .35vw, 1.35rem);
  }

  body.page-platforms .platforms-showcase .group-card .group-meta-line,
  body.page-platforms .platforms-showcase .group-affiliation { font-size: var(--fs-sm); }
}
