/* ═══════════════════════════════════════════════════
   REM MEMBER DIRECTORY
   ═══════════════════════════════════════════════════ */

/* ── Hero ── */
.rem-directory-page .dir-hero { position:relative; height:450px; overflow:hidden; }
.rem-directory-page .dir-hero > img { width:100%; height:100%; object-fit:cover; object-position:right center; display:block; }
.rem-directory-page .dir-hero-ov { position:absolute; inset:0; background:linear-gradient(100deg,rgba(13,27,42,0.92) 0%,rgba(13,27,42,0.6) 50%,rgba(13,27,42,0.15) 100%); display:flex; align-items:flex-end; padding:60px; }
.rem-directory-page .dir-hero-box { max-width:620px; }
.rem-directory-page .dir-hero-box h1 { font-family:var(--font-display); font-size:clamp(36px,5vw,64px); font-weight:800; line-height:1.06; color:#fff; margin:12px 0 20px; letter-spacing:-.025em; }
.rem-directory-page .dir-hero-box h1 em { font-style:normal; color:var(--primary,#29ABE2); }
.rem-directory-page .dir-hero-box p { font-family:var(--font-body); font-size:18px; color:rgba(255,255,255,0.75); line-height:1.7; max-width:520px; }

/* ── Stats Bar ── */
.rem-directory-page .dir-stats { display:flex; justify-content:center; gap:0; background:var(--authority,#0D1B2A); border-bottom:1px solid rgba(201,168,76,0.15); padding:0; }
.rem-directory-page .dir-stat { flex:1; text-align:center; padding:32px 20px; border-right:1px solid rgba(255,255,255,0.06); }
.rem-directory-page .dir-stat:last-child { border-right:none; }
.rem-directory-page .dir-stat-n { display:block; font-family:var(--font-display); font-size:clamp(28px,3vw,42px); font-weight:800; color:#fff; letter-spacing:-.02em; }
.rem-directory-page .dir-stat-l { display:block; font-family:var(--font-body); font-size:13px; color:rgba(255,255,255,0.45); text-transform:uppercase; letter-spacing:.12em; margin-top:6px; }

/* ── Filter Bar ── */
.rem-directory-page .dir-filter-wrap { background:#f7f8fa; border-bottom:none; padding:40px 40px 15px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.rem-directory-page .dir-filters { display:flex; gap:8px; flex-wrap:wrap; max-width:1180px; margin:0 auto; }
.rem-directory-page .dir-fbtn { font-family:var(--font-body); font-size:13px; font-weight:600; letter-spacing:.04em; padding:8px 18px; border:1px solid rgba(0,0,0,0.12); border-radius:100px; background:transparent; color:var(--authority,#0D1B2A); cursor:pointer; transition:all .2s; white-space:nowrap; }
.rem-directory-page .dir-fbtn:hover { border-color:var(--primary,#29ABE2); color:var(--primary,#29ABE2); }
.rem-directory-page .dir-fbtn.on { background:var(--authority,#0D1B2A); color:#fff; border-color:var(--authority,#0D1B2A); }

/* ── Shared Section ── */
.rem-directory-page .dir-inner { max-width:1180px; margin:0 auto; padding:60px 40px; }
.rem-directory-page .dir-featured { background:#fff; }
.rem-directory-page .dir-all { background:#f7f8fa; }
.rem-directory-page .dir-all .dir-inner { padding-top:15px; }

/* ── Cards ── */
.rem-directory-page .dir-grid,
.rem-directory-page .dir-feat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:36px; }
.rem-directory-page .dir-feat-grid { grid-template-columns:repeat(3,1fr); gap:24px; }

.rem-directory-page .dir-card { display:flex; flex-direction:column; background:#fff; border-radius:8px; overflow:hidden; text-decoration:none; color:inherit; border:1px solid rgba(0,0,0,0.06); transition:transform .25s,box-shadow .25s; }
.rem-directory-page .dir-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,0.1); }
.rem-directory-page .dir-card-img { aspect-ratio:1/1; overflow:hidden; background:var(--slate,#4A5568); }
.rem-directory-page .dir-card-img img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; transition:transform .4s; }
.rem-directory-page .dir-card:hover .dir-card-img img { transform:scale(1.04); }
.rem-directory-page .dir-card-info { padding:16px 18px 8px; flex:1; }
.rem-directory-page .dir-card-name { font-family:var(--font-display); font-size:17px; font-weight:700; color:var(--authority,#0D1B2A); line-height:1.25; margin-bottom:4px; }
.rem-directory-page .dir-card-title { font-family:var(--font-body); font-size:13px; color:var(--primary,#29ABE2); font-weight:600; letter-spacing:.02em; }
.rem-directory-page .dir-card-company { font-family:var(--font-body); font-size:13px; color:var(--slate,#4A5568); margin-top:2px; }
.rem-directory-page .dir-card-market { font-family:var(--font-body); font-size:12px; color:rgba(0,0,0,0.4); margin-top:4px; }
.rem-directory-page .dir-card-cta { display:block; padding:12px 18px; font-family:var(--font-body); font-size:12px; font-weight:700; color:var(--primary,#29ABE2); letter-spacing:.06em; text-transform:uppercase; border-top:1px solid rgba(0,0,0,0.04); }

/* ── Featured card variant ── */
.rem-directory-page .dir-card-feat { border:2px solid rgba(201,168,76,0.25); }
.rem-directory-page .dir-card-feat:hover { border-color:rgba(201,168,76,0.5); }

/* ── Closing CTA ── */
.rem-directory-page .dir-cta { background:var(--authority,#0D1B2A); padding:90px 40px; border-top:3px solid var(--accent,#C9A84C); color:#fff; position:relative; z-index:1; }
.rem-directory-page .dir-cta .eye,
.rem-directory-page .dir-cta .eye-lt { color:rgba(255,255,255,0.5); }
.rem-directory-page .dir-cta h2,
.rem-directory-page .dir-cta h2.lt { color:#fff; }
.rem-directory-page .dir-cta h2 em { color:var(--primary,#29ABE2); font-style:normal; }
.rem-directory-page .dir-cta p,
.rem-directory-page .dir-cta .body-lt { color:rgba(255,255,255,0.65); }
.rem-directory-page .dir-cta a { color:var(--primary,#29ABE2); }
.rem-directory-page .dir-cta a.btn-p { color:#fff; }

/* ── Empty state ── */
.rem-directory-page .dir-empty { font-family:var(--font-body); font-size:17px; color:var(--slate,#4A5568); text-align:center; padding:60px 0; }

/* ── Mobile ── */
@media (max-width: 960px) {
  .rem-directory-page .dir-grid { grid-template-columns:repeat(3,1fr); }
  .rem-directory-page .dir-feat-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 768px) {
  .rem-directory-page .dir-hero { height:330px; }
  .rem-directory-page .dir-hero-ov { padding:36px 24px; background:linear-gradient(to top,rgba(13,27,42,0.95) 0%,rgba(13,27,42,0.5) 60%,rgba(13,27,42,0.1) 100%); }
  .rem-directory-page .dir-stats { flex-wrap:wrap; }
  .rem-directory-page .dir-stat { flex:1 1 50%; border-bottom:1px solid rgba(255,255,255,0.06); }
  .rem-directory-page .dir-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .rem-directory-page .dir-feat-grid { grid-template-columns:1fr; }
  .rem-directory-page .dir-inner { padding:48px 24px; }
  .rem-directory-page .dir-filter-wrap { padding:16px 20px; }
  .rem-directory-page .dir-cta { padding:64px 24px; }
}
@media (max-width: 480px) {
  .rem-directory-page .dir-grid { grid-template-columns:1fr; }
}

/* ── Image row ── */
.rem-directory-page .imgrow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  width: 100%;
}
.rem-directory-page .imgrow-short { height: 240px; }
.rem-directory-page .imgrow .imgrow-i {
  overflow: hidden;
  height: 240px;
}
.rem-directory-page .imgrow .imgrow-i img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 768px) {
  .rem-directory-page .imgrow { grid-template-columns: 1fr; }
  .rem-directory-page .imgrow-short,
  .rem-directory-page .imgrow .imgrow-i { height: 200px; }
}
@media (max-width: 640px) {
  .rem-directory-page .imgrow .imgrow-i:nth-child(2),
  .rem-directory-page .imgrow .imgrow-i:nth-child(3) { display: none; }
  .rem-directory-page .imgrow-short,
  .rem-directory-page .imgrow .imgrow-i { height: 240px; }
}
