/* mya — Partner Directory (grid only)
   Primary #E8645E · Accent #319E91 · Soft #CFE9E1 · Background Neutral #F8F0EB · Text Dark #1B363A
   Derived: #B8433D primary deep (AA links/hover) · #4A6468 muted body · #E4D6CD hairline
   Zero radius throughout — website surface rule. */
.myapd { --primary: #E8645E; --primary-deep: #B8433D; --accent: #319E91;
  --soft: #CFE9E1; --bg: #F8F0EB; --text: #1B363A; --muted: #4A6468; --line: #E4D6CD;
  padding: 40px 24px 56px; background: #FFFFFF; color: var(--text);
  font-family: 'Open Sans', system-ui, sans-serif; }
.myapd *, .myapd *::before, .myapd *::after { box-sizing: border-box; }
.myapd h3 { margin: 0; font-family: Lora, Georgia, serif; letter-spacing: -0.005em; }
.myapd p { margin: 0; }
.myapd a { text-decoration: none; }
.myapd :is(a, button):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.myapd-wrap { max-width: 1120px; margin: 0 auto; display: flex; flex-direction: column; gap: 32px; }

.myapd-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  padding-bottom: 4px; border-bottom: 2px solid var(--text); }
.myapd-filters__label { … letter-spacing: 0.12em; text-transform: uppercase; … }
.myapd-chip { padding: 9px 18px; border: 1px solid var(--line); border-radius: 0; background: #FFFFFF;
  color: var(--text); font-family: inherit; font-size: 15px; font-weight: 600;
  text-transform: capitalize;
  white-space: nowrap; cursor: pointer; }
.myapd-chip.is-active { background: var(--text); border-color: var(--text); color: #FFFFFF; }

.myapd-grid { display: grid; grid-template-columns: repeat(var(--myapd-cols, 3), minmax(0, 1fr)); gap: 24px; }
.myapd-card { display: flex; flex-direction: column; gap: 16px; padding: 28px;
  border: 1px solid var(--line); border-radius: 0; background: #FFFFFF; }
.myapd-card:hover { border-color: var(--accent); }
.myapd-card__logo { display: flex; align-items: center; justify-content: center; height: 108px; padding: 8px; }
.myapd-card__logo img { max-height: 76px; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.myapd-card__wordmark { font-size: 18px; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--text); line-height: 1.3; text-align: center; }
.myapd-card__head { display: flex; flex-direction: column; gap: 6px; }
.myapd-card__name { font-size: 24px; font-weight: 600; line-height: 1.15; }
.myapd-card__kind { font-size: 13px; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--accent); }
.myapd-card__body { flex: 1; font-size: 16px; line-height: 1.6; color: var(--muted); }
.myapd-card__cta { display: inline-flex; align-items: center; align-self: flex-start; gap: 8px;
  font-size: 16px; font-weight: 600; color: var(--primary); }
.myapd-card__cta:hover { color: var(--primary-deep); }

@media (max-width: 1023px) { .myapd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) {
  .myapd { padding: 32px 20px 48px; }
  .myapd-grid { grid-template-columns: 1fr; }
}