/* ==========================================================
   Board of Directors / Executives slider page
   (page-templates/template-board.php)
   ========================================================== */

/* ---------- Board slider ---------- */
.sw-board{
  --sw-board-active-w:380px;
  --sw-board-active-h:560px;
  --sw-board-thumb-w:282px;
  --sw-board-thumb-h:376px;
  --sw-board-gap:56px;
  --sw-board-speed:.6s;
  position:relative;overflow:hidden;padding:40px 0 80px;
}
.sw-board-watermark{
  position:absolute;top:30px;left:0;right:0;z-index:0;
  font-family:var(--sw-font-heading);font-weight:800;text-transform:uppercase;
  font-size:clamp(72px,15.5vw,250px);line-height:1;letter-spacing:.01em;text-align:center;white-space:nowrap;
  color:rgba(7,17,31,.04);pointer-events:none;user-select:none;
}
.sw-board-stage{
  position:relative;z-index:1;
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,8fr);
  grid-template-areas:"info photos" "controls controls";
  align-items:end;
}

/* Info */
.sw-board-info{grid-area:info;align-self:center;padding:40px 48px 40px 0;}
.sw-board-info-item[hidden]{display:none;}
.sw-board-info-item.is-active{animation:sw-board-in var(--sw-board-speed) ease both;}
@keyframes sw-board-in{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.sw-board-name{font-size:clamp(2rem,3.4vw,3.1rem);font-weight:700;line-height:1.25;margin:0 0 28px;color:var(--sw-color-primary);text-wrap:balance;}
.sw-board-position{margin:0;max-width:30em;color:var(--sw-color-text-muted);font-size:1rem;line-height:1.7;}
.sw-board-more{display:inline-flex;align-items:center;gap:10px;margin-top:56px;font-weight:600;color:var(--sw-color-primary);}
.sw-board-more-arrow{transition:transform var(--sw-transition);}
.sw-board-more:hover{color:var(--sw-color-secondary);}
.sw-board-more:hover .sw-board-more-arrow{transform:translateX(4px);}

/* Photos — bleed to the right edge of the screen */
.sw-board-viewport{
  grid-area:photos;
  margin-right:calc(-1 * max(24px, (100vw - var(--sw-container-max)) / 2 + 24px));
}
.sw-board-track{list-style:none;margin:0;padding:0;display:flex;align-items:flex-end;height:var(--sw-board-active-h);}
.sw-board-slide{
  flex:0 0 auto;width:var(--sw-board-thumb-w);height:var(--sw-board-thumb-h);
  transition:width var(--sw-board-speed) ease,height var(--sw-board-speed) ease,margin var(--sw-board-speed) ease,opacity var(--sw-board-speed) ease;
}
.sw-board-photo{
  display:flex;align-items:flex-end;justify-content:center;
  width:100%;height:100%;padding:0;border:0;cursor:pointer;overflow:hidden;
  background:linear-gradient(180deg,#dcdcdc 0%,#f3f3f3 100%);
  transition:background var(--sw-board-speed) ease;
}
.sw-board-photo img{
  width:100%;height:100%;object-fit:contain;object-position:center bottom;
  filter:grayscale(1);transition:filter var(--sw-board-speed) ease,transform .4s ease;
}
.sw-board-slide:not(.is-active) .sw-board-photo:hover img{filter:grayscale(.6);}
.sw-board-photo:focus-visible{outline:3px solid var(--sw-color-accent);outline-offset:-3px;}
.sw-board-photo-empty{display:block;width:100%;height:100%;}

.sw-board-slide.is-active{width:var(--sw-board-active-w);height:var(--sw-board-active-h);margin-right:var(--sw-board-gap);}
.sw-board-slide.is-active .sw-board-photo{background:transparent;cursor:default;}
.sw-board-slide.is-active .sw-board-photo img{filter:none;}
.sw-board-slide.is-past{width:0;margin-right:0;opacity:0;visibility:hidden;}

/* Controls */
.sw-board-controls{grid-area:controls;position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:56px;}
.sw-board-counter{margin:0;font-family:var(--sw-font-heading);font-size:1.35rem;font-weight:500;color:var(--sw-color-primary);font-variant-numeric:tabular-nums;}
.sw-board-current{color:var(--sw-color-secondary);font-weight:600;}
.sw-board-sep{margin:0 4px;}
.sw-board-nav{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;gap:14px;}
.sw-board-btn{
  display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;
  border:0;background:var(--sw-color-primary);color:#fff;cursor:pointer;
  transition:background var(--sw-transition),opacity var(--sw-transition);
}
.sw-board-btn:hover:not(:disabled){background:var(--sw-color-secondary);}
.sw-board-btn:disabled{opacity:.3;cursor:default;}

.sw-board-extra{padding:0 24px 80px;}

/* ---------- Laptop / tablet ---------- */
@media (max-width:1199px){
  .sw-board{--sw-board-active-w:330px;--sw-board-active-h:490px;--sw-board-thumb-w:240px;--sw-board-thumb-h:330px;--sw-board-gap:40px;}
}
@media (max-width:991px){
  .sw-board{--sw-board-active-w:280px;--sw-board-active-h:420px;--sw-board-thumb-w:200px;--sw-board-thumb-h:280px;--sw-board-gap:28px;}
  .sw-board-stage{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);}
  .sw-board-info{padding-right:28px;}
  .sw-page-hero{min-height:320px;padding:120px 0 56px;}
}

/* ---------- Mobile: photo on top, text below ---------- */
@media (max-width:767px){
  .sw-board{
    --sw-board-active-w:62vw;--sw-board-active-h:86vw;
    --sw-board-thumb-w:38vw;--sw-board-thumb-h:54vw;--sw-board-gap:16px;
    padding:24px 0 56px;
  }
  .sw-board-watermark{top:16px;font-size:15vw;}
  .sw-board-stage{grid-template-columns:minmax(0,1fr);grid-template-areas:"photos" "info" "controls";}
  .sw-board-viewport{margin-right:-24px;}
  .sw-board-info{padding:28px 0 0;}
  .sw-board-name{margin-bottom:16px;}
  .sw-board-more{margin-top:24px;}
  .sw-board-controls{justify-content:space-between;margin-top:32px;}
  .sw-board-nav{position:static;transform:none;}
  .sw-page-hero{min-height:260px;padding:110px 0 44px;}
  .sw-board-crumbs .sw-breadcrumb{font-size:.85rem;}
  .sw-board-crumbs .sw-breadcrumb li:not(:last-child)::after{margin:0 10px;}
}

@media (prefers-reduced-motion:reduce){
  .sw-board{--sw-board-speed:0s;}
  .sw-board-info-item.is-active{animation:none;}
}
