/* Walker – Related People / Connected People
   Modes: Board, Stylized Grid, Simple Grid, List, Panel Compact
*/

.wkpe-wrap,
.wkpe-wrap *{box-sizing:border-box;}

.wkpe-wrap{
  width:100%;
  max-width:var(--wkpe-max-width,1520px);
  margin:1rem auto 2rem;
  color:#25353d;
  font-family:inherit;
}

.wkpe-wrap a{text-decoration:none;color:inherit;}
.wkpe-wrap img{max-width:100%;height:auto;}
.wkpe-ic{width:15px;height:15px;display:block;}

/* ---------- Shared Header ---------- */
.wkpe-header{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);
  gap:clamp(28px,5vw,86px);
  align-items:end;
  margin:0 0 clamp(30px,4vw,54px);
}
.wkpe-kicker{
  margin:0 0 12px;
  color:#B7A36A;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:11px;
  line-height:1.2;
  font-weight:900;
}
.wkpe-header h2{
  margin:0;
  max-width:780px;
  color:#25353d;
  font-size:clamp(42px,5vw,78px);
  line-height:1.01;
  letter-spacing:-.065em;
  font-weight:900;
}
.wkpe-header > p{
  margin:0;
  max-width:700px;
  color:rgba(37,53,61,.70);
  font-size:clamp(17px,1.25vw,21px);
  line-height:1.45;
}

/* ---------- Shared Contact Icons ---------- */
.wkpe-simple-icons,
.wkpe-stylized-icons,
.wkpe-board-icons{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.wkpe-simple-icons a,
.wkpe-stylized-icons a,
.wkpe-board-icons a{
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(15,27,34,.07);
  color:#0f1b22 !important;
  border:1px solid rgba(16,32,39,.10);
  text-decoration:none !important;
  transition:background 180ms ease,color 180ms ease,transform 180ms ease,border-color 180ms ease;
}
.wkpe-simple-icons a:hover,
.wkpe-simple-icons a:focus,
.wkpe-stylized-icons a:hover,
.wkpe-stylized-icons a:focus,
.wkpe-board-icons a:hover,
.wkpe-board-icons a:focus{
  background:var(--person-accent,#18a8b5);
  color:#fff !important;
  border-color:transparent;
  transform:translateY(-1px);
}
.wkpe-simple-icons a{width:27px;height:27px;}
.wkpe-simple-icons .wkpe-ic{width:13px;height:13px;}
.wkpe-stylized-icons a{width:34px;height:34px;}
.wkpe-stylized-icons .wkpe-ic{width:15px;height:15px;}
.wkpe-board-icons a{width:30px;height:30px;}
.wkpe-board-icons .wkpe-ic{width:14px;height:14px;}

/* ===========================================================
   Board Mode: featured expert + roster
   =========================================================== */
.wkpe-mode-board .wkpe-board-layout{
  display:grid;
  grid-template-columns:minmax(430px,.86fr) minmax(560px,1.14fr);
  gap:18px;
  align-items:stretch;
}
.wkpe-board-feature{
  position:relative;
  min-height:650px;
  display:grid;
  grid-template-rows:minmax(300px,.9fr) auto;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(16,32,39,.12);
  background:linear-gradient(145deg,#fff,rgba(255,255,255,.76));
  box-shadow:0 30px 84px rgba(16,32,39,.12);
  isolation:isolate;
}
.wkpe-board-feature::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 82% 14%, color-mix(in srgb,var(--person-accent,#18a8b5) 18%,transparent), transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.76));
}
.wkpe-board-feature::after{
  content:"";
  position:absolute;
  left:clamp(26px,3vw,46px);
  right:clamp(26px,3vw,46px);
  top:0;
  height:3px;
  border-radius:0 0 999px 999px;
  background:var(--person-accent,#18a8b5);
  opacity:.95;
}
.wkpe-board-photo{
  position:relative;
  min-height:330px;
  margin:clamp(24px,3vw,40px) clamp(24px,3vw,40px) 0;
  border-radius:28px;
  overflow:hidden;
  display:block;
  background:
    linear-gradient(180deg,rgba(15,27,34,.02),rgba(15,27,34,.72)),
    var(--feature-photo),
    linear-gradient(145deg,#d8dede,#7c8f97 58%,#52656d);
  background-size:cover;
  background-position:center top;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.38), 0 20px 52px rgba(16,32,39,.14);
}
.wkpe-board-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg,rgba(255,255,255,.16),transparent 38%),
    linear-gradient(180deg,rgba(15,27,34,0),rgba(15,27,34,.66));
  pointer-events:none;
}
.wkpe-board-content{
  padding:clamp(24px,3vw,40px);
  align-self:end;
}
.wkpe-board-kicker{
  margin:0 0 12px;
  color:#B7A36A;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:11px;
  line-height:1.2;
  font-weight:900;
}
.wkpe-board-feature h3{
  margin:0 0 8px;
  color:#1f2f38;
  font-size:clamp(42px,4.6vw,76px);
  line-height:.98;
  letter-spacing:-.07em;
  font-weight:900;
}
.wkpe-board-role{
  margin:0 0 18px;
  color:var(--person-accent,#18a8b5);
  font-size:clamp(14px,1vw,16px);
  line-height:1.25;
  font-weight:900;
  letter-spacing:.02em;
}
.wkpe-board-summary{
  margin:0 0 22px;
  max-width:620px;
  color:rgba(37,53,61,.74);
  font-size:clamp(15px,1.05vw,18px);
  line-height:1.5;
}
.wkpe-board-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 22px;
}
.wkpe-board-meta span{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(16,32,39,.10);
  background:rgba(255,255,255,.68);
  color:rgba(37,53,61,.72);
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.035em;
}
.wkpe-board-feature-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.wkpe-board-button,
.wkpe-board-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:13px 18px;
  border-radius:999px;
  text-decoration:none !important;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:transform 220ms ease,box-shadow 220ms ease;
}
.wkpe-board-button{
  background:#0f1b22;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(16,32,39,.20);
}
.wkpe-board-secondary{
  color:#0f1b22 !important;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(16,32,39,.12);
}
.wkpe-board-button:hover,
.wkpe-board-button:focus,
.wkpe-board-secondary:hover,
.wkpe-board-secondary:focus{
  transform:translateY(-2px);
  box-shadow:0 22px 50px rgba(16,32,39,.18);
}
.wkpe-board-roster{
  position:relative;
  min-height:650px;
  max-height:var(--wkpe-roster-height,760px);
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(16,32,39,.12);
  background:rgba(255,255,255,.44);
  box-shadow:0 24px 70px rgba(16,32,39,.08);
  padding:16px;
}
.wkpe-board-roster-top{
  position:sticky;
  top:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:62px;
  padding:0 8px 14px;
  background:linear-gradient(180deg,rgba(240,239,239,1),rgba(240,239,239,.84));
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.wkpe-board-roster-top p,
.wkpe-board-roster-top span{
  margin:0;
  color:rgba(37,53,61,.72);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
  line-height:1;
  font-weight:900;
}
.wkpe-board-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  max-height:calc(var(--wkpe-roster-height,760px) - 92px);
  overflow:auto;
  padding:0 4px 4px 0;
  scrollbar-width:thin;
  scrollbar-color:rgba(16,32,39,.24) transparent;
}
.wkpe-board-list::-webkit-scrollbar{width:8px;}
.wkpe-board-list::-webkit-scrollbar-track{background:transparent;}
.wkpe-board-list::-webkit-scrollbar-thumb{background:rgba(16,32,39,.22);border-radius:999px;}
.wkpe-board-person{
  position:relative;
  min-height:150px;
  border-radius:24px;
  border:1px solid rgba(16,32,39,.10);
  background:rgba(255,255,255,.70);
  overflow:hidden;
  isolation:isolate;
  transition:transform 220ms ease,border-color 220ms ease,background 220ms ease,box-shadow 220ms ease;
}
.wkpe-board-person::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 88% 12%, color-mix(in srgb,var(--person-accent,#18a8b5) 18%,transparent), transparent 36%);
  opacity:0;
  pointer-events:none;
  transition:opacity 220ms ease;
}
.wkpe-board-person:hover,
.wkpe-board-person:focus-within,
.wkpe-board-person.is-active{
  transform:translateY(-2px);
  border-color:rgba(16,32,39,.18);
  background:#fff;
  box-shadow:0 16px 42px rgba(16,32,39,.10);
}
.wkpe-board-person:hover::before,
.wkpe-board-person:focus-within::before,
.wkpe-board-person.is-active::before{opacity:1;}
.wkpe-board-person.is-active{border-color:color-mix(in srgb,var(--person-accent,#18a8b5) 45%,rgba(16,32,39,.12));}
.wkpe-board-person-main{
  position:relative;
  z-index:2;
  width:100%;
  min-height:110px;
  display:grid;
  grid-template-columns:76px 1fr;
  gap:14px;
  align-items:center;
  text-align:left;
  padding:16px 16px 8px;
  border:0;
  background:transparent;
  color:#25353d;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
.wkpe-board-avatar{
  width:76px;
  height:94px;
  border-radius:20px;
  overflow:hidden;
  display:block;
  background:
    linear-gradient(180deg,rgba(15,27,34,.02),rgba(15,27,34,.34)),
    var(--person-photo),
    linear-gradient(145deg,#d8dede,#7c8f97);
  background-size:cover;
  background-position:center top;
  box-shadow:0 12px 28px rgba(16,32,39,.14);
}
.wkpe-board-person-copy{position:relative;z-index:2;min-width:0;display:block;}
.wkpe-board-person-copy strong{
  display:block;
  margin:0 0 6px;
  color:#1f2f38;
  font-size:17px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.035em;
}
.wkpe-board-person-copy em{
  display:block;
  color:rgba(37,53,61,.65);
  font-style:normal;
  font-size:13px;
  line-height:1.25;
  font-weight:600;
}
.wkpe-board-icons{
  position:relative;
  z-index:2;
  margin:-8px 16px 14px 106px;
}

/* ===========================================================
   Stylized Grid Mode
   =========================================================== */
.wkpe-stylized-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  margin:0 0 18px;
  padding:0 2px;
}
.wkpe-stylized-meta span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 12px;
  border:1px solid rgba(16,32,39,.10);
  border-radius:999px;
  background:rgba(255,255,255,.58);
  color:rgba(37,53,61,.68);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  line-height:1;
  font-weight:900;
}
.wkpe-stylized-meta span:first-child{color:#18a8b5;}
.wkpe-stylized-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--wkpe-card-min,260px)),1fr));
  gap:16px;
  align-items:stretch;
}
.wkpe-stylized-card{
  position:relative;
  min-height:460px;
  display:grid;
  grid-template-rows:220px 1fr;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(16,32,39,.12);
  background:linear-gradient(145deg,#fff,rgba(255,255,255,.78));
  box-shadow:0 24px 70px rgba(16,32,39,.10);
  isolation:isolate;
  transition:transform 240ms ease,box-shadow 240ms ease,border-color 240ms ease;
}
.wkpe-stylized-card::before{
  content:"";
  position:absolute;
  top:0;
  left:clamp(24px,2.4vw,34px);
  right:clamp(24px,2.4vw,34px);
  height:3px;
  border-radius:0 0 999px 999px;
  background:var(--person-accent,#18a8b5);
  z-index:5;
  opacity:.95;
}
.wkpe-stylized-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 86% 12%, color-mix(in srgb,var(--person-accent,#18a8b5) 17%,transparent), transparent 30%),
    linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.76));
  pointer-events:none;
}
.wkpe-stylized-card:hover,
.wkpe-stylized-card:focus-within{
  transform:translateY(-4px);
  border-color:rgba(16,32,39,.18);
  box-shadow:0 34px 88px rgba(16,32,39,.14);
}
.wkpe-stylized-card--wide{
  grid-column:span 2;
  grid-template-columns:minmax(260px,.46fr) minmax(360px,.54fr);
  grid-template-rows:auto;
  min-height:330px;
}
.wkpe-stylized-photo{
  position:relative;
  display:block;
  min-height:100%;
  aspect-ratio:auto;
  overflow:hidden;
  text-decoration:none !important;
  background:
    linear-gradient(180deg,rgba(15,27,34,.00),rgba(15,27,34,.66)),
    var(--person-photo),
    linear-gradient(145deg,#d8dede,#7c8f97 58%,#52656d);
  background-size:cover;
  background-position:center top;
}
.wkpe-stylized-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg,rgba(255,255,255,.18),transparent 38%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 18px);
  opacity:.38;
  pointer-events:none;
}
.wkpe-stylized-content{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:clamp(21px,2.2vw,30px);
}
.wkpe-stylized-specialty{
  margin:0 0 12px;
  color:var(--person-accent,#18a8b5);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:10px;
  line-height:1.2;
  font-weight:900;
}
.wkpe-stylized-card h3{
  margin:0 0 8px;
  color:#1f2f38;
  font-size:clamp(27px,2.05vw,38px);
  line-height:1.02;
  letter-spacing:-.058em;
  font-weight:900;
}
.wkpe-stylized-card h3 a:hover,
.wkpe-stylized-card h3 a:focus{color:var(--person-accent,#18a8b5) !important;}
.wkpe-stylized-role{
  margin:0 0 14px;
  color:rgba(37,53,61,.72);
  font-size:14px;
  line-height:1.3;
  font-weight:700;
}
.wkpe-stylized-summary{
  margin:0 0 20px;
  color:rgba(37,53,61,.68);
  font-size:14px;
  line-height:1.42;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.wkpe-stylized-card--wide .wkpe-stylized-summary{
  -webkit-line-clamp:5;
}
.wkpe-stylized-card--wide .wkpe-stylized-photo{
  background-position:center center;
}
.wkpe-stylized-icons{margin-top:auto;padding-top:6px;}

/* ===========================================================
   Simple Grid Mode
   =========================================================== */
.wkpe-simple-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--wkpe-card-min,268px)),1fr));
  gap:10px;
}
.wkpe-simple-card{
  position:relative;
  min-height:112px;
  display:grid;
  grid-template-columns:82px 1fr;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(16,32,39,.10);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,255,255,.62));
  box-shadow:0 12px 36px rgba(16,32,39,.07);
  overflow:hidden;
  isolation:isolate;
  transition:transform 200ms ease,box-shadow 200ms ease,border-color 200ms ease,background 200ms ease;
}
.wkpe-simple-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at 92% 12%, color-mix(in srgb,var(--person-accent,#18a8b5) 16%,transparent), transparent 36%);
  opacity:.52;
  pointer-events:none;
}
.wkpe-simple-card::after{
  content:"";
  position:absolute;
  left:14px;
  top:14px;
  bottom:14px;
  width:3px;
  border-radius:999px;
  background:var(--person-accent,#18a8b5);
  opacity:.75;
}
.wkpe-simple-card:hover,
.wkpe-simple-card:focus-within{
  transform:translateY(-2px);
  border-color:rgba(16,32,39,.18);
  background:#fff;
  box-shadow:0 18px 46px rgba(16,32,39,.11);
}
.wkpe-simple-photo{
  position:relative;
  z-index:2;
  width:62px;
  height:76px;
  border-radius:18px;
  overflow:hidden;
  display:block;
  background:
    linear-gradient(180deg,rgba(15,27,34,.00),rgba(15,27,34,.28)),
    var(--person-photo),
    linear-gradient(145deg,#d8dede,#7c8f97);
  background-size:cover;
  background-position:center top;
  box-shadow:0 10px 26px rgba(16,32,39,.13);
  margin-left:18px;
}
.wkpe-simple-info{
  position:relative;
  z-index:2;
  min-width:0;
  padding-right:2px;
}
.wkpe-simple-info h3{
  margin:0 0 4px;
  color:#1f2f38;
  font-size:17px;
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:900;
}
.wkpe-simple-info h3 a:hover,
.wkpe-simple-info h3 a:focus{color:var(--person-accent,#18a8b5) !important;}
.wkpe-simple-role{
  margin:0 0 10px;
  color:rgba(37,53,61,.64);
  font-size:12px;
  line-height:1.25;
  font-weight:700;
}

/* ===========================================================
   Legacy List + Panel Compact preserved
   =========================================================== */
.wkpe-mode-list .wkpe-track{display:block;}
.wkpe-list-item{max-width:400px;margin:0 auto .75rem;padding:1rem;background:#f8f8f8;border:1px solid #e4e4e4;border-radius:10px;transition:background .2s ease,box-shadow .2s ease,transform .2s ease;}
.wkpe-list-item:hover{background:#efefef;box-shadow:0 2px 6px rgba(0,0,0,.08);transform:translateY(-2px);}
.wkpe-list-item .wkpe-link{color:var(--wc-teal,#00A5B1);font-weight:600;}
.wkpe-list-title{color:#555;}
.wkpe-list-icons{display:flex;gap:.5rem;margin-top:.35rem;}
.wkpe-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;background:#fff;border:1px solid #dcdcdc;transition:background .2s ease,transform .2s ease;}
.wkpe-icon-btn:hover{background:#ddd;transform:translateY(-1px);}
.wkpe-icon-btn svg{width:18px;height:18px;color:#555;}

.wkpe-mode-panel_compact .wkpe-track{display:grid;gap:18px;padding-top:10px;overflow:visible;}
.wkpe-mode-panel_compact .wkpe-panel-person{display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:center;min-width:0;}
.wkpe-mode-panel_compact .wkpe-panel-person__photo{display:block;width:58px;height:58px;border-radius:999px;overflow:hidden;box-shadow:0 8px 22px rgba(19,35,60,.12);background:rgba(19,35,60,.06);position:relative;}
.wkpe-mode-panel_compact .wkpe-panel-person__photo img{width:100%;height:100%;object-fit:cover;display:block;}
.wkpe-mode-panel_compact .wkpe-panel-person__body{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:16px;align-items:center;}
.wkpe-mode-panel_compact .wkpe-panel-person__body::before{content:"";display:block;width:1px;height:44px;background:linear-gradient(180deg,rgba(239,65,35,.75) 0%,rgba(36,148,155,.45) 100%);align-self:center;justify-self:center;margin-top:0;}
.wkpe-mode-panel_compact .wkpe-panel-person__meta{min-width:0;}
.wkpe-mode-panel_compact .wkpe-panel-person__name{margin:0 0 4px;font-size:.98rem;line-height:1.2;font-weight:700;letter-spacing:-.01em;}
.wkpe-mode-panel_compact .wkpe-panel-person__name a{color:#13233c;text-decoration:none;}
.wkpe-mode-panel_compact .wkpe-panel-person__name a:hover,.wkpe-mode-panel_compact .wkpe-panel-person__name a:focus{color:#febf3a;}
.wkpe-mode-panel_compact .wkpe-panel-person__title{margin:0 0 10px;color:#5f6b7a;font-size:.87rem;line-height:1.35;}
.wkpe-mode-panel_compact .wkpe-panel-person__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.wkpe-mode-panel_compact .wkpe-panel-person__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;color:var(--wstd-teal,#24949b);background:rgba(36,148,155,.09);text-decoration:none;transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease;}
.wkpe-mode-panel_compact .wkpe-panel-person__icon:hover,.wkpe-mode-panel_compact .wkpe-panel-person__icon:focus{transform:translateY(-1px);color:#fff;background:#febf3a;box-shadow:0 8px 18px rgba(239,65,35,.22);}
.wkpe-mode-panel_compact .wkpe-panel-person__icon .wkpe-ic{width:15px;height:15px;display:block;}
.wkpe-wrap.wkpe-mode-panel_compact{width:100%;}

@media (max-width:1240px){
  .wkpe-header{grid-template-columns:1fr;gap:18px;}
  .wkpe-header > p{max-width:760px;}
  .wkpe-mode-board .wkpe-board-layout{grid-template-columns:1fr;}
  .wkpe-board-feature{min-height:auto;grid-template-columns:minmax(320px,.42fr) minmax(440px,.58fr);grid-template-rows:auto;}
  .wkpe-board-photo{min-height:420px;margin:24px 0 24px 24px;}
  .wkpe-board-roster{min-height:auto;max-height:none;}
  .wkpe-board-list{max-height:560px;}
  .wkpe-stylized-card--wide{grid-column:auto;grid-template-columns:1fr;grid-template-rows:220px 1fr;min-height:460px;}
}
@media (max-width:860px){
  .wkpe-header h2{font-size:clamp(40px,12vw,60px);}
  .wkpe-header > p{font-size:16px;}
  .wkpe-board-feature{grid-template-columns:1fr;border-radius:28px;}
  .wkpe-board-photo{margin:22px 22px 0;min-height:330px;border-radius:24px;}
  .wkpe-board-content{padding:26px 24px 30px;}
  .wkpe-board-feature h3{font-size:clamp(42px,12vw,64px);line-height:1.02;}
  .wkpe-board-list{grid-template-columns:1fr;max-height:560px;}
  .wkpe-board-feature-actions{display:grid;grid-template-columns:1fr;}
  .wkpe-board-button,.wkpe-board-secondary{width:100%;}
  .wkpe-stylized-grid{gap:12px;}
  .wkpe-stylized-card{border-radius:26px;grid-template-rows:210px 1fr;min-height:440px;}
  .wkpe-stylized-content{padding:24px;}
}
@media (max-width:520px){
  .wkpe-header h2{font-size:40px;}
  .wkpe-board-photo{min-height:280px;}
  .wkpe-board-summary{font-size:15px;}
  .wkpe-board-person-main{grid-template-columns:66px 1fr;padding:14px;}
  .wkpe-board-avatar{width:66px;height:84px;border-radius:17px;}
  .wkpe-board-icons{margin:-4px 14px 14px 94px;}
  .wkpe-simple-card{grid-template-columns:76px 1fr;padding:12px;border-radius:20px;}
  .wkpe-simple-card::after{left:12px;top:12px;bottom:12px;}
  .wkpe-simple-photo{width:56px;height:68px;border-radius:16px;margin-left:18px;}
  .wkpe-simple-icons a{width:26px;height:26px;}
}


/* ===========================================================
   v6 polish: board roster header + photo hover clarity
   =========================================================== */

/* Keep the roster label as a real header, not a sticky overlay. */
.wkpe-board-roster{
  padding:0;
  overflow:hidden;
  background:rgba(255,255,255,.46);
}
.wkpe-board-roster-top{
  position:relative;
  top:auto;
  z-index:5;
  min-height:76px;
  padding:0 24px;
  margin:0;
  border-radius:34px 34px 0 0;
  border-bottom:1px solid rgba(16,32,39,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.52));
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.wkpe-board-roster-top p,
.wkpe-board-roster-top span{
  color:rgba(37,53,61,.70);
}
.wkpe-board-list{
  max-height:calc(var(--wkpe-roster-height,760px) - 76px);
  padding:18px 16px 16px;
  gap:12px;
}

/* Split image and overlay so photos can brighten on hover. */
.wkpe-board-photo{
  background:
    var(--feature-photo),
    linear-gradient(145deg,#d8dede,#7c8f97 58%,#52656d);
  background-size:cover;
  background-position:center top;
}
.wkpe-board-photo::before{
  opacity:.78;
  transition:opacity 260ms ease;
  background:
    linear-gradient(135deg,rgba(255,255,255,.16),transparent 38%),
    linear-gradient(180deg,rgba(15,27,34,.03),rgba(15,27,34,.66));
}
.wkpe-board-feature:hover .wkpe-board-photo::before,
.wkpe-board-feature:focus-within .wkpe-board-photo::before{
  opacity:.16;
}

.wkpe-board-avatar,
.wkpe-stylized-photo,
.wkpe-simple-photo{
  background:
    var(--person-photo),
    linear-gradient(145deg,#d8dede,#7c8f97 58%,#52656d);
  background-size:cover;
  background-position:center top;
}
.wkpe-board-avatar::before,
.wkpe-simple-photo::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(15,27,34,.00),rgba(15,27,34,.34));
  opacity:1;
  transition:opacity 240ms ease;
}
.wkpe-stylized-photo::before{
  opacity:.76;
  transition:opacity 260ms ease;
  background:
    linear-gradient(135deg,rgba(255,255,255,.18),transparent 38%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 18px),
    linear-gradient(180deg,rgba(15,27,34,.00),rgba(15,27,34,.62));
}
.wkpe-board-person:hover .wkpe-board-avatar::before,
.wkpe-board-person:focus-within .wkpe-board-avatar::before,
.wkpe-board-person.is-active .wkpe-board-avatar::before,
.wkpe-stylized-card:hover .wkpe-stylized-photo::before,
.wkpe-stylized-card:focus-within .wkpe-stylized-photo::before,
.wkpe-simple-card:hover .wkpe-simple-photo::before,
.wkpe-simple-card:focus-within .wkpe-simple-photo::before{
  opacity:.08;
}

/* Touch devices do not have hover, so keep the photos cleaner by default. */
@media (hover:none){
  .wkpe-board-photo::before,
  .wkpe-board-avatar::before,
  .wkpe-stylized-photo::before,
  .wkpe-simple-photo::before{
    opacity:.18;
  }
}

@media (max-width:1240px){
  .wkpe-board-list{max-height:560px;}
}
@media (max-width:860px){
  .wkpe-board-roster-top{min-height:66px;padding:0 18px;border-radius:28px 28px 0 0;}
  .wkpe-board-list{padding:14px;gap:10px;}
}

/* ===========================================================
   v7 fix: constrain roster image overlay to the image only
   =========================================================== */
.wkpe-board-avatar{
  position:relative;
}
.wkpe-board-avatar::before,
.wkpe-simple-photo::before{
  border-radius:inherit;
}


/* ===========================================================
   v10 polish: Stylized Grid blurbs + long title handling
   =========================================================== */
.wkpe-stylized-card{
  grid-template-rows:220px auto;
  min-height:0;
  height:auto;
}
.wkpe-stylized-card--wide{
  min-height:330px;
}
.wkpe-stylized-content{
  min-height:0;
  overflow:visible;
}
.wkpe-stylized-role{
  display:block;
  overflow:visible;
  max-height:none;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
  line-height:1.36;
  overflow-wrap:anywhere;
  hyphens:auto;
}
.wkpe-stylized-summary{
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:calc(1.42em * 2);
}
.wkpe-stylized-card--wide .wkpe-stylized-summary{
  -webkit-line-clamp:6;
}
.wkpe-stylized-icons{
  margin-top:auto;
  padding-top:14px;
}
@media (max-width:1240px){
  .wkpe-stylized-card--wide{
    grid-template-rows:220px auto;
    min-height:0;
  }
}
@media (max-width:860px){
  .wkpe-stylized-card{
    grid-template-rows:210px auto;
    min-height:0;
  }
}

/* ===========================================================
   v11 polish: Board height matching + featured label breathing room
   =========================================================== */

/* Give the featured label more room after the image. */
.wkpe-mode-board .wkpe-board-content{
  padding-top:clamp(34px,3.4vw,50px);
}
.wkpe-mode-board .wkpe-board-kicker{
  margin-bottom:16px;
}

/* On desktop, make the roster panel match the featured profile panel height.
   The roster list scrolls internally instead of making the right panel shorter/taller. */
@media (min-width:1241px){
  .wkpe-mode-board .wkpe-board-layout{
    align-items:stretch;
  }
  .wkpe-mode-board .wkpe-board-feature,
  .wkpe-mode-board .wkpe-board-roster{
    align-self:stretch;
    height:100%;
  }
  .wkpe-mode-board .wkpe-board-roster{
    display:flex;
    flex-direction:column;
    max-height:none;
    min-height:650px;
  }
  .wkpe-mode-board .wkpe-board-list{
    flex:1 1 0;
    min-height:0;
    height:auto;
    max-height:none;
    overflow:auto;
  }
}


/* ===========================================================
   v12 polish: Stylized Grid summary/title reliability
   =========================================================== */

/* Let real titles wrap naturally. Theme-level rules and earlier card constraints
   were still clipping long titles/credentials on some pages. */
.wkpe-stylized-card,
.wkpe-stylized-content{
  overflow:visible;
}
.wkpe-stylized-card{
  min-height:0 !important;
  height:auto !important;
  grid-template-rows:220px auto !important;
}
.wkpe-stylized-card--wide{
  min-height:0 !important;
  grid-template-rows:auto !important;
}
.wkpe-stylized-card h3,
.wkpe-stylized-card h3 a,
.wkpe-stylized-role{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  max-height:none !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:auto;
}
.wkpe-stylized-role{
  display:block !important;
  line-height:1.38 !important;
  margin-bottom:16px !important;
}

/* Make sure a blurb, when present, is visible on every Stylized Grid card,
   including the first card and non-featured cards. */
.wkpe-stylized-summary{
  display:block !important;
  max-height:none !important;
  min-height:0 !important;
  overflow:visible !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:initial !important;
  line-height:1.46 !important;
  margin-bottom:22px !important;
}

/* Keep the portrait portion tidy now that the card content can grow. */
.wkpe-stylized-photo{
  overflow:hidden;
  min-height:220px;
  border-radius:inherit inherit 0 0;
}
.wkpe-stylized-card--wide .wkpe-stylized-photo{
  border-radius:inherit 0 0 inherit;
}

@media (max-width:1240px){
  .wkpe-stylized-card--wide{
    grid-template-rows:220px auto !important;
  }
  .wkpe-stylized-card--wide .wkpe-stylized-photo{
    border-radius:inherit inherit 0 0;
  }
}
@media (max-width:860px){
  .wkpe-stylized-card{
    grid-template-rows:210px auto !important;
  }
  .wkpe-stylized-photo{min-height:210px;}
}

/* ===========================================================
   v13 polish: Stylized Grid uses office-location eyebrow and no blurbs
   =========================================================== */
.wkpe-mode-stylized_grid .wkpe-stylized-summary{
  display:none !important;
}
.wkpe-mode-stylized_grid .wkpe-stylized-specialty{
  min-height:1.2em;
}
.wkpe-mode-stylized_grid .wkpe-stylized-icons{
  margin-top:auto;
  padding-top:18px;
}

/* v14: allow location eyebrow helper text like <small> without breaking the stylized card rhythm. */
.wkpe-stylized-specialty small{
  display:block;
  margin-top:3px;
  font-size:.82em;
  line-height:1.2;
  letter-spacing:.08em;
  opacity:.72;
  text-transform:none;
  font-weight:800;
}


/* ===========================================================
   v15: Context-first people cards
   - Remove implied total-team counts from curated people lists.
   - Add office/location context to compact roster treatments.
   =========================================================== */
.wkpe-board-roster-top{
  justify-content:flex-start;
}
.wkpe-location-ic{
  flex:0 0 auto;
  width:13px;
  height:13px;
  display:block;
  color:var(--person-accent,#18a8b5);
}
.wkpe-board-meta span[data-feature-location],
.wkpe-board-person-location,
.wkpe-simple-location,
.wkpe-mode-panel_compact .wkpe-panel-person__location,
.wkpe-list-location{
  display:flex;
  align-items:center;
  gap:5px;
}
.wkpe-board-meta span[data-feature-location] .wkpe-location-ic{
  width:14px;
  height:14px;
}
.wkpe-board-person-location{
  margin-top:8px;
  color:rgba(37,53,61,.72);
  font-size:11px;
  line-height:1.25;
  font-weight:850;
  letter-spacing:.035em;
}
.wkpe-simple-location{
  margin:-4px 0 10px;
  color:rgba(37,53,61,.72);
  font-size:11px;
  line-height:1.25;
  font-weight:850;
  letter-spacing:.035em;
}
.wkpe-mode-panel_compact .wkpe-panel-person__location{
  margin:-4px 0 10px;
  color:#607781;
  font-size:.78rem;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.02em;
}
.wkpe-list-location{
  margin-top:.28rem;
  color:#607781;
  font-size:.8rem;
  line-height:1.25;
  font-weight:700;
}
.wkpe-list-location + .wkpe-list-icons{
  margin-top:.55rem;
}
