.meridian-page main > .inspiration-hero,
.meridian-page main > .inspiration-countries { display: none; }

.m-directory {
  width: min(1440px, 100%);
  min-height: calc(100vh - 68px);
  margin-inline: auto;
  padding: 32px 48px 0;
  color: var(--color-text);
  background: var(--sheet);
  backdrop-filter: var(--sheet-blur);
}

.m-directory__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 36px;
  padding-bottom: 18px;
}
.m-directory__head h1 {
  margin: 8px 0 0;
  font-family: var(--font-display);
  font-size: clamp(44px, 4.2vw, 58px);
  line-height: .94;
  letter-spacing: var(--heading-track);
  text-transform: var(--heading-case);
}
.m-directory__head > div > p:last-child { margin: 8px 0 0; color: var(--color-neutral-700); font-size: 15px; }

.m-directory-search {
  width: min(390px, 100%);
  min-height: 50px;
  display: flex;
  border: var(--rule) solid var(--rule-color);
  border-radius: var(--radius-ctl);
}
.m-directory-search input {
  min-width: 0;
  flex: 1;
  padding: 0 15px;
  border: 0;
  outline: 0;
  color: var(--color-text);
  background: transparent;
  font: 400 14px/1 var(--font-body);
}
.m-directory-search input::placeholder { color: var(--color-neutral-700); opacity: 1; }
.m-directory-search button {
  padding: 0 16px;
  border: 0;
  border-left: var(--rule) solid var(--rule-color);
  color: var(--color-bg);
  background: var(--color-accent);
  font: 700 11px/1 var(--font-body);
  letter-spacing: .08em;
  cursor: pointer;
  text-transform: uppercase;
}

.m-directory-tabs {
  display: flex;
  align-items: stretch;
  gap: 0;
  overflow-x: auto;
  border-block: var(--rule) solid var(--rule-color);
}
.m-directory-tabs a {
  position: relative;
  flex: none;
  padding: 14px 20px;
  color: var(--color-text);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}
.m-directory-tabs a:first-child { padding-left: 0; }
.m-directory-tabs a[aria-current="page"]::after { content: ""; position: absolute; inset: auto 18px -2px; height: 3px; background: var(--color-text); }
.m-directory-tabs a:first-child[aria-current="page"]::after { left: 0; }
.m-directory-tabs a:hover { color: var(--color-accent-700); }
.m-directory-tabs__clear { margin-left: auto; color: var(--color-accent-700) !important; text-transform: none !important; letter-spacing: 0 !important; }

.m-directory-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px 24px;
  padding-block: 28px 48px;
}
.m-directory-card { min-width: 0; }
.m-directory-card > a { display: block; height: 100%; color: var(--color-text); text-decoration: none; }
.m-directory-card__image { height: 178px; overflow: hidden; background: var(--color-neutral-300); }
.m-directory-card__image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.32) contrast(1.03); transition: filter 240ms ease, transform 240ms ease; }
.m-directory-card:hover .m-directory-card__image img { filter: grayscale(0); transform: scale(1.025); }
.m-directory-card__image.is-empty { display: grid; place-items: center; border: var(--rule) solid var(--rule-soft); }
.m-directory-card__image.is-empty span { color: var(--color-neutral-700); font-family: var(--font-display); font-size: 42px; font-weight: 700; }
.m-directory-card__body { min-height: 190px; display: flex; flex-direction: column; padding-top: 11px; margin-top: 12px; border-top: var(--rule) solid var(--rule-color); }
.m-directory-card__flags { display:flex;flex-wrap:wrap;gap:5px;margin:0 0 8px; }
.m-directory-card__flags span { padding:3px 6px;border:var(--rule) solid var(--rule-color);border-radius:var(--radius-ctl);color:var(--color-accent-700);background:var(--tint);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase; }
.m-directory-card__body h2 { margin: 0; font-family: var(--font-display); font-size: 25px; line-height: 1.08; letter-spacing: -.02em; text-transform: var(--heading-case); }
.m-directory-card__meta { margin: 5px 0 0; color: var(--color-neutral-700); font-size: 13px; }
.m-directory-card__description { display: -webkit-box; margin: 10px 0 12px; overflow: hidden; font-size: 14px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.m-directory-card__coverage { margin:0 0 12px;color:var(--color-neutral-700);font-size:11px;line-height:1.4; }
.m-directory-card__body > span { margin-top: auto; color: var(--color-accent-700); font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }

.m-directory-empty { min-height: 430px; display: grid; place-content: center; justify-items: center; padding: 50px 20px; text-align: center; }
.m-directory-empty h2 { max-width: 680px; margin: 0; font-family: var(--font-display); font-size: 38px; text-transform: var(--heading-case); }
.m-directory-empty p { color: var(--color-neutral-700); }
.m-directory-empty .m-btn { width: auto; }

.m-directory-footer { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 0; border-top: var(--rule) solid var(--rule-color); color: var(--color-neutral-700); font-size: 12px; }
.m-directory-footer a { color: var(--color-accent-700); font-weight: 700; text-transform: uppercase; }

@media (max-width: 1050px) {
  .m-directory { padding-inline: 28px; }
  .m-directory-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 720px) {
  .m-directory { min-height: calc(100vh - 52px); padding: 16px 16px 0; }
  .m-directory__head { display: block; padding-bottom: 14px; }
  .m-directory__head h1 { font-size: 28px; }
  .m-directory__head .m-eyebrow,
  .m-directory__head > div > p:last-child { display: none; }
  .m-directory-search { width: 100%; margin-top: 12px; }
  .m-directory-search button { padding-inline: 12px; }
  .m-directory-tabs { gap: 8px; margin-inline: -16px; padding: 11px 16px; border-bottom-width: 1px; }
  .m-directory-tabs a,
  .m-directory-tabs a:first-child { padding: 10px 14px; border: var(--rule) solid var(--rule-color); font-size: 11px; letter-spacing: 0; text-transform: none; }
  .m-directory-tabs a[aria-current="page"] { border-color: var(--select-edge); color: var(--select-ink); background: var(--select-bg); }
  .m-directory-tabs a[aria-current="page"]::after { display: none; }
  .m-directory-tabs__clear { margin-left: 0; }
  .m-directory-grid { grid-template-columns: 1fr; gap: 0; padding: 0 0 28px; }
  .m-directory-card { padding: 16px 0; border-bottom: 1px solid var(--color-divider); }
  .m-directory-card__image { height: 138px; }
  .m-directory-card__body { min-height: 0; padding-top: 0; margin-top: 10px; border-top: 0; }
  .m-directory-card__body h2 { font-size: 22px; }
  .m-directory-card__description,
  .m-directory-card__body > span { display: none; }
  .m-directory-footer { display: block; padding-bottom: 28px; line-height: 1.5; }
  .m-directory-footer a { display: block; margin-top: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .m-directory-card__image img { transition: none; }
}
