.members-page { background: #fff; }

.members-hero { position: relative; min-height: 375px; overflow: hidden; color: #fff; background: linear-gradient(118deg, #061f3c, #0b527e 58%, #0a7785); }
.members-hero-grid { position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(90deg,#000,transparent 78%); }
.members-hero-orbit { position: absolute; top: -290px; right: 4%; width: 680px; height: 680px; border: 1px solid rgba(113,215,205,.2); border-radius: 50%; box-shadow: 0 0 0 75px rgba(113,215,205,.025),0 0 0 150px rgba(113,215,205,.018); }
.members-hero-inner { position: relative; z-index: 2; display: flex; min-height: 375px; flex-direction: column; justify-content: center; }
.members-hero .breadcrumb { margin-bottom: 28px; color: rgba(255,255,255,.55); }
.members-hero-inner > p { margin: 0 0 7px; color: var(--cyan-300); font: 10px Arial,sans-serif; letter-spacing: .22em; }
.members-hero h1 { margin: 0; font-size: 46px; letter-spacing: .1em; }
.members-hero-line { display: flex; align-items: center; gap: 12px; margin-top: 20px; color: rgba(255,255,255,.6); font-size: 14px; }
.members-hero-line i { width: 30px; height: 2px; background: var(--cyan-500); }
.members-hero-stats { display: flex; gap: 44px; margin-top: 40px; }
.members-hero-stats span { display: flex; align-items: baseline; gap: 9px; }
.members-hero-stats strong { color: var(--cyan-300); font: 22px Arial,sans-serif; }
.members-hero-stats small { color: rgba(255,255,255,.5); font-size: 11px; }

.member-directory-section { padding: 95px 0 110px; background: #f5f8fb; }
.directory-intro { display: grid; grid-template-columns: 390px 1fr; align-items: end; gap: 70px; margin-bottom: 65px; }
.directory-intro .section-heading h2 { margin-bottom: 15px; }
.directory-intro > p { max-width: 670px; margin: 0 0 17px; color: #68798c; font-size: 15px; line-height: 1.95; }
.directory-group + .directory-group { margin-top: 72px; }
.directory-group-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 25px; padding-bottom: 20px; border-bottom: 1px solid #ccd9e4; }
.directory-group-head > div { display: grid; grid-template-columns: 38px 1fr; align-items: end; }
.directory-group-head span { grid-row: 1 / 3; color: var(--blue-600); font: 13px Consolas,monospace; }
.directory-group-head p { margin: 0 0 5px; color: #8b9cad; font: 9px Arial,sans-serif; letter-spacing: .18em; }
.directory-group-head h2 { margin: 0; color: var(--blue-950); font-size: 28px; }
.directory-group-head > strong { color: #c3d0dc; font: 42px Arial,sans-serif; font-weight: 400; }
.member-directory-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0; padding: 0; list-style: none; }
.member-directory-grid li { position: relative; display: grid; min-height: 118px; grid-template-columns: 50px 1fr; align-items: center; gap: 18px; overflow: hidden; padding: 23px 27px; border: 1px solid #dbe5ed; background: #fff; transition: border-color .25s ease,box-shadow .25s ease,transform .25s ease; }
.member-directory-grid li::after { position: absolute; right: -34px; bottom: -34px; width: 85px; height: 85px; border: 1px solid rgba(23,111,192,.08); border-radius: 50%; content: ""; }
.member-directory-grid li:hover { border-color: #b7ccdd; box-shadow: 0 15px 35px rgba(17,55,91,.09); transform: translateY(-4px); }
.member-directory-grid li > span { display: grid; width: 42px; height: 42px; place-items: center; color: var(--blue-600); background: #edf5fb; font: 11px Consolas,monospace; }
.member-directory-grid h3 { margin: 0; color: #243d56; font-size: 16px; line-height: 1.65; }
.member-directory-grid small { display: block; margin-bottom: 7px; color: var(--cyan-500); font-size: 9px; letter-spacing: .12em; }
.initiating-grid li { border-color: #c4ddd9; background: linear-gradient(135deg,#fff,#f0faf8); }
.initiating-grid li > span { color: #087d76; background: #dff5f1; }
.initiating-grid h3 a { display: inline-flex; align-items: center; gap: 8px; transition: color .2s ease; }
.initiating-grid h3 a::after { color: var(--cyan-500); content: "↗"; font-size: 13px; font-weight: 400; opacity: .62; transition: opacity .2s ease,transform .2s ease; }
.initiating-grid h3 a:hover,.initiating-grid h3 a:focus-visible { color: var(--blue-600); }
.initiating-grid h3 a:hover::after,.initiating-grid h3 a:focus-visible::after { opacity: 1; transform: translate(2px,-2px); }
.all-member-grid { grid-template-columns: repeat(3,1fr); }
.all-member-grid li { min-height: 105px; grid-template-columns: 43px 1fr; padding: 20px 20px; }
.all-member-grid li > span { width: 36px; height: 36px; }
.all-member-grid h3 { font-size: 14px; }
.member-more-placeholder { border-style: dashed !important; background: rgba(255,255,255,.48) !important; }
.member-more-placeholder > span { color: #8195a8 !important; background: #eaf0f5 !important; font-size: 17px !important; }
.member-more-placeholder h3 { color: #8b9cad; font-size: 22px; letter-spacing: .18em; }

.members-closing { color: #fff; background: linear-gradient(105deg,var(--blue-700),#0b7b88); }
.members-closing-inner { display: flex; min-height: 210px; align-items: center; justify-content: space-between; gap: 30px; }
.members-closing p { margin: 0 0 10px; color: rgba(255,255,255,.55); font: 10px Arial,sans-serif; letter-spacing: .2em; }
.members-closing h2 { margin: 0; font-size: 30px; }
.members-closing .button-light { display: inline-flex; gap: 8px; }

@media (max-width: 900px) {
  .members-hero,.members-hero-inner { min-height: 320px; }
  .members-hero h1 { font-size: 39px; }
  .directory-intro { grid-template-columns: 1fr; gap: 20px; }
  .all-member-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .members-hero,.members-hero-inner { min-height: 285px; }
  .members-hero h1 { font-size: 34px; }
  .members-hero-line { font-size: 12px; line-height: 1.7; }
  .members-hero-stats { gap: 19px; margin-top: 30px; }
  .members-hero-stats span { align-items: center; flex-direction: column; gap: 3px; }
  .members-hero-stats strong { font-size: 18px; }
  .members-hero-stats small { font-size: 9px; }
  .member-directory-section { padding: 65px 0 75px; }
  .directory-intro { margin-bottom: 45px; }
  .directory-intro > p { font-size: 13px; }
  .directory-group + .directory-group { margin-top: 55px; }
  .directory-group-head > strong { font-size: 34px; }
  .member-directory-grid,.all-member-grid { grid-template-columns: 1fr; gap: 11px; }
  .member-directory-grid li,.all-member-grid li { min-height: 96px; grid-template-columns: 42px 1fr; padding: 18px 17px; }
  .member-directory-grid li > span,.all-member-grid li > span { width: 36px; height: 36px; }
  .member-directory-grid h3,.all-member-grid h3 { font-size: 14px; }
  .members-closing-inner { min-height: 245px; align-items: flex-start; flex-direction: column; justify-content: center; }
  .members-closing h2 { font-size: 25px; }
}
