/* Hyssna Teams v3.0 — premium editorial frontend */
:root {
  --hf-red: #ed1c24;
  --hf-black: #171a20;
  --hf-muted: #73777e;
  --hf-border: #e3e3e3;
  --hf-bg: #f8f8f6;
}

.hf-team-page,
.hf-team-page * { box-sizing: border-box; }

.hf-team-page {
  width: 100%;
  background: var(--hf-bg);
  color: var(--hf-black);
  font-family: "Manrope", Arial, sans-serif;
  overflow: hidden;
}

.hf-team {
  width: 100%;
  padding: 0;
}

.hf-team__container {
  width: min(1400px, calc(100% - 68px));
  margin: 0 auto;
}

.hf-team-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  border: 1px solid var(--hf-border);
  background: #fff;
  overflow: hidden;
}

.hf-team-feature__media {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #efefed;
}

.hf-team-feature__media img,
.hf-team-manager__media img,
.hf-team-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 400ms cubic-bezier(.2,.65,.2,1);
}

.hf-team-feature:hover .hf-team-feature__media img,
.hf-team-manager:hover .hf-team-manager__media img,
.hf-team-card:hover .hf-team-card__media img {
  transform: scale(1.025);
}

.hf-team-feature__content {
  min-width: 0;
  padding: clamp(42px, 6vw, 88px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  background: #fff;
}

.hf-team-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 34px;
  color: var(--hf-red);
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.hf-team-label span {
  width: 24px;
  height: 1px;
  background: var(--hf-red);
  display: block;
}

.hf-team-feature__content h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.06;
  font-weight: 500;
  letter-spacing: -.045em;
}

.hf-team-accent {
  width: 14px;
  height: 1px;
  margin-top: 30px;
  background: var(--hf-red);
  transition: width 350ms ease;
}

.hf-team-feature:hover .hf-team-accent,
.hf-team-manager:hover .hf-team-accent {
  width: 28px;
}

.hf-team-managers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.hf-team-manager {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-width: 0;
  border: 1px solid var(--hf-border);
  background: #fff;
  overflow: hidden;
  transition: border-color 350ms ease, box-shadow 350ms ease;
}

.hf-team-manager__content {
  min-width: 0;
  padding: clamp(25px, 3vw, 48px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.hf-team-manager__content .hf-team-label {
  margin-bottom: 28px;
  font-size: 9px;
}

.hf-team-manager__content h2 {
  margin: 0;
  font-size: clamp(22px, 2.3vw, 32px);
  line-height: 1.08;
  font-weight: 500;
  letter-spacing: -.035em;
}

.hf-team-manager__media {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #efefed;
}

.hf-team-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.hf-team-card {
  min-width: 0;
  border: 1px solid var(--hf-border);
  background: #fff;
  overflow: hidden;
  transition: border-color 350ms ease, box-shadow 350ms ease, transform 350ms ease;
}

.hf-team-card:hover {
  border-color: #d0d0d0;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
  transform: translateY(-2px);
}

.hf-team-card__media {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #efefed;
}

.hf-team-card__body {
  min-height: 112px;
  padding: 17px 18px 18px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.hf-team-card__body h2 {
  margin: 0;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -.02em;
}

.hf-team-card__body p {
  margin: 7px 0 0;
  color: var(--hf-muted);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 400;
}

.hf-team-card__accent {
  width: 13px;
  height: 1px;
  margin-top: auto;
  background: var(--hf-red);
  transition: width 350ms ease;
}

.hf-team-card:hover .hf-team-card__accent {
  width: 25px;
}

@media (max-width: 900px) {
  .hf-team__container { width: min(100% - 40px, 760px); }
  .hf-team-feature { grid-template-columns: 1fr 1fr; }
  .hf-team-feature__content { padding: 40px; }
  .hf-team-feature__content h2 { font-size: 40px; }
  .hf-team-managers { grid-template-columns: 1fr 1fr; }
  .hf-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .hf-team__container { width: calc(100% - 28px); }
  .hf-team-feature { grid-template-columns: 1fr; }
  .hf-team-feature__content { padding: 32px 24px 34px; }
  .hf-team-feature__content h2 { font-size: 36px; }
  .hf-team-managers { grid-template-columns: 1fr; gap: 10px; }
  .hf-team-manager { grid-template-columns: 1fr 1fr; }
  .hf-team-manager__content { padding: 25px 22px; }
  .hf-team-manager__content h2 { font-size: 25px; }
  .hf-team-grid { grid-template-columns: 1fr; gap: 10px; }
  .hf-team-card__body { min-height: 108px; }
}


/* Hyssna Teams v4.0 premium refinement */
.hf-team-feature__media img,
.hf-team-manager__media img,
.hf-team-card__media img {
  filter: grayscale(.82) contrast(1.01);
  transition: transform 450ms cubic-bezier(.2,.65,.2,1), filter 450ms ease;
}
.hf-team-feature:hover img,
.hf-team-manager:hover img,
.hf-team-card:hover img {
  transform: scale(1.025);
  filter: grayscale(.08) contrast(1);
}
.hf-team-feature,
.hf-team-manager,
.hf-team-card {
  transition: border-color 350ms ease, box-shadow 350ms ease, transform 350ms ease;
}
.hf-team-feature:hover,
.hf-team-manager:hover { border-color:#d2d2d2; box-shadow:0 14px 36px rgba(0,0,0,.035); }
.hf-team-feature:hover .hf-team-accent,
.hf-team-manager:hover .hf-team-accent { width:28px; }
.hf-team-card:hover { transform:translateY(-2px); }
.hf-team-reveal {
  opacity:0;
  transform:translateY(16px);
  transition:opacity 650ms ease, transform 650ms cubic-bezier(.2,.7,.2,1);
}
.hf-team-reveal.is-visible { opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){
  .hf-team-reveal{opacity:1;transform:none;transition:none}
  .hf-team-page *{transition-duration:.01ms!important}
}
@media(max-width:620px){
  .hf-team-feature__media,.hf-team-manager__media,.hf-team-card__media{aspect-ratio:1/1}
  .hf-team-feature__content{padding:32px 24px 34px}
}


/* =========================================================
   HYSSNA TEAMS v4.1 — PROJECTS v5.7 VISUAL LANGUAGE
   Rounded rectangular edges + restrained micro-interactions
========================================================= */

/* Match the Projects cards/gallery: clean rounded rectangle edges. */
.hf-team-feature {
  border-radius: 9px;
}

.hf-team-manager,
.hf-team-card {
  border-radius: 6px;
}

/* Keep the media clipped cleanly to the card geometry. */
.hf-team-feature__media,
.hf-team-manager__media,
.hf-team-card__media {
  overflow: hidden;
}

/* Projects-style image interaction: very subtle scale, no aggressive motion. */
.hf-team-feature__media img,
.hf-team-manager__media img,
.hf-team-card__media img {
  transform: scale(1);
  will-change: transform, filter;
  transition:
    transform 550ms cubic-bezier(.2,.65,.2,1),
    filter 450ms ease;
}

.hf-team-feature:hover .hf-team-feature__media img,
.hf-team-manager:hover .hf-team-manager__media img,
.hf-team-card:hover .hf-team-card__media img {
  transform: scale(1.035);
}

/* Projects-style restrained edge response. */
.hf-team-feature,
.hf-team-manager,
.hf-team-card {
  transition:
    border-color 300ms ease,
    box-shadow 300ms ease,
    transform 300ms cubic-bezier(.2,.65,.2,1);
}

.hf-team-feature:hover,
.hf-team-manager:hover {
  border-color: #d0d0d0;
  box-shadow: 0 12px 30px rgba(0,0,0,.035);
}

.hf-team-card:hover {
  border-color: #d0d0d0;
  box-shadow: 0 10px 26px rgba(0,0,0,.035);
  transform: translateY(-2px);
}

/* Preserve the editorial red detail used by the Projects cards. */
.hf-team-accent,
.hf-team-card__accent {
  transition: width 300ms ease;
}

.hf-team-feature:hover .hf-team-accent,
.hf-team-manager:hover .hf-team-accent {
  width: 30px;
}

.hf-team-card:hover .hf-team-card__accent {
  width: 26px;
}

/* Slightly softer image treatment, similar to the Projects presentation. */
.hf-team-feature__media,
.hf-team-manager__media,
.hf-team-card__media {
  background: #e9e9e7;
}

/* Mobile: keep the same rectangular geometry without over-rounding. */
@media (max-width: 620px) {
  .hf-team-feature { border-radius: 7px; }
  .hf-team-manager,
  .hf-team-card { border-radius: 5px; }
}

/* Accessibility: completely remove movement when requested. */
@media (prefers-reduced-motion: reduce) {
  .hf-team-feature,
  .hf-team-manager,
  .hf-team-card,
  .hf-team-feature__media img,
  .hf-team-manager__media img,
  .hf-team-card__media img,
  .hf-team-accent,
  .hf-team-card__accent {
    transition: none !important;
  }

  .hf-team-feature:hover,
  .hf-team-manager:hover,
  .hf-team-card:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  .hf-team-feature:hover .hf-team-feature__media img,
  .hf-team-manager:hover .hf-team-manager__media img,
  .hf-team-card:hover .hf-team-card__media img {
    transform: none !important;
  }
}


/* =========================================================
   HYSSNA TEAMS v4.2 — MOBILE UI REFINEMENT
   Compact editorial cards inspired by the Projects mobile UI.
========================================================= */

@media (max-width: 620px) {

  .hf-team__container {
    width: calc(100% - 24px);
    max-width: 100%;
  }

  /* Featured leader: reduce the oversized image while keeping impact. */
  .hf-team-feature {
    grid-template-columns: 1fr;
    border-radius: 8px;
  }

  .hf-team-feature__media {
    aspect-ratio: 4 / 3;
  }

  .hf-team-feature__content {
    padding: 27px 24px 29px;
    min-height: 0;
  }

  .hf-team-label {
    gap: 11px;
    margin-bottom: 24px;
    font-size: 9px;
    letter-spacing: .15em;
  }

  .hf-team-label span {
    width: 24px;
  }

  .hf-team-feature__content h2 {
    font-size: clamp(34px, 10vw, 44px);
    line-height: .98;
    letter-spacing: -.045em;
  }

  .hf-team-accent {
    margin-top: 27px;
  }

  /* Senior leadership: retain the excellent 50/50 editorial split. */
  .hf-team-managers {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 10px;
  }

  .hf-team-manager {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 190px;
    border-radius: 6px;
  }

  .hf-team-manager__content {
    padding: 23px 18px 21px 21px;
  }

  .hf-team-manager__content .hf-team-label {
    margin-bottom: 21px;
    font-size: 8.5px;
    letter-spacing: .14em;
  }

  .hf-team-manager__content h2 {
    font-size: clamp(23px, 6.4vw, 29px);
    line-height: 1.04;
    letter-spacing: -.04em;
  }

  .hf-team-manager__media {
    aspect-ratio: auto;
    height: 100%;
    min-height: 190px;
  }

  /* Staff: horizontal compact cards instead of giant vertical image blocks. */
  .hf-team-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 10px;
  }

  .hf-team-card {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    min-height: 190px;
    border-radius: 6px;
  }

  .hf-team-card__media {
    grid-column: 2;
    grid-row: 1;
    aspect-ratio: auto;
    height: 100%;
    min-height: 190px;
  }

  .hf-team-card__body {
    grid-column: 1;
    grid-row: 1;
    min-height: 190px;
    padding: 23px 18px 21px 21px;
  }

  .hf-team-card__body h2 {
    font-size: clamp(20px, 5.8vw, 25px);
    line-height: 1.05;
    letter-spacing: -.035em;
  }

  .hf-team-card__body p {
    margin-top: 8px;
    font-size: 11.5px;
    line-height: 1.35;
  }

  .hf-team-card__accent {
    width: 21px;
  }

  /* Photo position is supplied per member; do not override it on mobile. */
  .hf-team-photo {
    object-position: var(--hf-photo-position, center center) !important;
  }
}

/* Very small phones: slightly tighter proportions, never oversized cards. */
@media (max-width: 380px) {
  .hf-team__container {
    width: calc(100% - 20px);
  }

  .hf-team-feature__content {
    padding: 24px 20px 26px;
  }

  .hf-team-manager,
  .hf-team-card {
    min-height: 174px;
  }

  .hf-team-manager__media,
  .hf-team-card__media,
  .hf-team-card__body {
    min-height: 174px;
  }

  .hf-team-manager__content,
  .hf-team-card__body {
    padding: 20px 16px 18px 18px;
  }

  .hf-team-manager__content h2,
  .hf-team-card__body h2 {
    font-size: 21px;
  }
}


/* =========================================================
   HYSSNA TEAMS v4.3 — MOBILE STAFF 2-COLUMN GRID
   First 3 profiles remain featured/leadership; all following
   staff members are presented in two columns on mobile.
========================================================= */

@media (max-width: 620px) {

  .hf-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .hf-team-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
  }

  .hf-team-card__media {
    order: 1;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1 / 1;
  }

  .hf-team-card__body {
    order: 2;
    display: flex;
    flex-direction: column;
    min-height: 132px;
    padding: 15px 13px 14px;
  }

  .hf-team-card__body h2 {
    font-size: clamp(16px, 4.8vw, 20px);
    line-height: 1.05;
    letter-spacing: -.035em;
  }

  .hf-team-card__body p {
    margin-top: 6px;
    font-size: 10px;
    line-height: 1.3;
  }

  .hf-team-card__accent {
    margin-top: auto;
    width: 18px;
  }

  .hf-team-card:hover {
    transform: translateY(-1px);
  }
}

@media (max-width: 380px) {
  .hf-team-grid {
    gap: 8px;
  }

  .hf-team-card__body {
    min-height: 120px;
    padding: 13px 11px 12px;
  }

  .hf-team-card__body h2 {
    font-size: 16px;
  }

  .hf-team-card__body p {
    font-size: 9.5px;
  }
}


/* =========================================================
   HYSSNA TEAMS v5.0 — SIGNATURE INTERACTION SYSTEM
========================================================= */
.hf-team-feature,.hf-team-manager,.hf-team-card{position:relative;text-decoration:none;color:inherit;isolation:isolate}
.hf-team-photo{transform:scale(var(--hf-photo-base-scale,1.06));transform-origin:var(--hf-photo-origin,50% 50%);filter:grayscale(.82) contrast(1.01);transition:transform 700ms cubic-bezier(.2,.65,.2,1),filter 600ms ease,opacity .6s ease;opacity:.01}
.hf-team-photo.is-loaded{opacity:1}
.hf-team-feature:hover .hf-team-photo,.hf-team-manager:hover .hf-team-photo,.hf-team-card:hover .hf-team-photo,.hf-team-feature:focus-visible .hf-team-photo,.hf-team-manager:focus-visible .hf-team-photo,.hf-team-card:focus-visible .hf-team-photo{transform:scale(var(--hf-photo-hover-scale,1.08));filter:grayscale(.05) contrast(1)}
.hf-team-page:has(.hf-team-card:hover) .hf-team-card:not(:hover){opacity:.78}
.hf-team-card__frame{position:absolute;inset:12px;border:1px solid rgba(255,255,255,.0);pointer-events:none;transition:inset .45s ease,border-color .45s ease}
.hf-team-card:hover .hf-team-card__frame{inset:10px;border-color:rgba(255,255,255,.65)}
.hf-team-card__arrow{position:absolute;right:14px;bottom:14px;width:28px;height:28px;border:1px solid #d8d8d8;border-radius:50%;display:grid;place-items:center;font-size:14px;line-height:1;color:#444;opacity:0;transform:translate(-4px,4px);transition:opacity .35s ease,transform .35s ease,background-color .35s ease,color .35s ease,border-color .35s ease}
.hf-team-card:hover .hf-team-card__arrow,.hf-team-card:focus-visible .hf-team-card__arrow{opacity:1;transform:none;background:var(--hf-red);border-color:var(--hf-red);color:#fff}
.hf-team-card__body{position:relative}
.hf-team-card:hover .hf-team-card__body h2{letter-spacing:-.025em}
.hf-team-profile{background:var(--hf-bg);color:var(--hf-black);font-family:"Manrope",Arial,sans-serif}
.hf-team-profile__crumb{display:flex;align-items:center;justify-content:space-between;padding:18px max(24px,4vw);border-bottom:1px solid var(--hf-border);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--hf-muted)}
.hf-team-profile__crumb a{color:inherit;text-decoration:none}
.hf-team-profile__hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:680px;background:#fff}
.hf-team-profile__media{min-width:0;overflow:hidden;background:#efefed}
.hf-team-profile__media img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(.82);transition:transform .8s cubic-bezier(.2,.65,.2,1),filter .6s ease}
.hf-team-profile__hero:hover .hf-team-profile__media img{transform:scale(1.025);filter:grayscale(.08)}
.hf-team-profile__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,7vw,100px);border-left:1px solid var(--hf-border)}
.hf-team-profile__copy h1{margin:0;font-size:clamp(48px,6vw,88px);line-height:.92;letter-spacing:-.06em;font-weight:500;max-width:650px}
.hf-team-profile__bio{max-width:560px;margin-top:30px;color:#4b4d52;font-size:15px;line-height:1.65}
.hf-team-profile__bio p{margin:0 0 12px}.hf-team-profile__bio p:last-child{margin-bottom:0}
.hf-team-profile__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;padding-top:24px;border-top:1px solid var(--hf-border)}
.hf-team-profile__links a{display:inline-flex;align-items:center;gap:16px;padding:12px 15px;border:1px solid #cfcfcf;color:#222;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease}
.hf-team-profile__links a:hover{background:#171a20;color:#fff;border-color:#171a20;transform:translateY(-1px)}
.hf-team-profile__links span{font-size:14px}
@media(max-width:900px){.hf-team-profile__hero{grid-template-columns:1fr;min-height:0}.hf-team-profile__media{aspect-ratio:1/1}.hf-team-profile__copy{border-left:0;border-top:1px solid var(--hf-border);padding:50px 7vw 60px}}
@media(max-width:620px){.hf-team-page:has(.hf-team-card:hover) .hf-team-card:not(:hover){opacity:1}.hf-team-card__arrow{display:none}.hf-team-profile__crumb{padding:14px 18px}.hf-team-profile__copy{padding:36px 24px 44px}.hf-team-profile__copy h1{font-size:clamp(42px,12vw,58px)}.hf-team-profile__bio{font-size:13px;margin-top:24px}.hf-team-profile__links{margin-top:26px}}
@media(prefers-reduced-motion:reduce){.hf-team-photo,.hf-team-card__frame,.hf-team-card__arrow,.hf-team-profile__media img{transition:none!important}.hf-team-page:has(.hf-team-card:hover) .hf-team-card:not(:hover){opacity:1}}


/* =========================================================
   HYSSNA TEAMS v5.1 — STATIC TEAM DIRECTORY
   No individual profile pages and no clickable team cards.
========================================================= */

.hf-team-card,
.hf-team-feature,
.hf-team-manager {
  cursor: default !important;
}

.hf-team-card a,
.hf-team-feature a,
.hf-team-manager a {
  color: inherit;
  text-decoration: none;
  cursor: default;
}

.hf-team-card__arrow,
.hf-team-card__link,
.hf-team-card__view {
  display: none !important;
}


/* =========================================================
   HYSSNA TEAMS v5.3 — SIGNATURE QUIET-FOCUS SYSTEM
   1. Quiet focus hover
   2. Portrait focal-point parallax
   3. Architectural corner detail
   5. Name reveal + red underline motion
========================================================= */

/* 1 — Quiet focus: keep the grid calm while the active card becomes precise. */
.hf-team-grid {
  transition: opacity 300ms ease;
}

.hf-team-grid .hf-team-card {
  transition:
    border-color 300ms ease,
    box-shadow 300ms ease,
    transform 300ms cubic-bezier(.2,.65,.2,1),
    opacity 300ms ease;
}

.hf-team-grid .hf-team-card:not(:hover) {
  opacity: 1;
}

.hf-team-page:has(.hf-team-grid .hf-team-card:hover) .hf-team-grid .hf-team-card:not(:hover) {
  opacity: .91;
}

.hf-team-grid .hf-team-card:hover {
  opacity: 1;
  border-color: #cfcfcf;
  box-shadow: 0 12px 28px rgba(0,0,0,.035);
}

.hf-team-grid .hf-team-card:hover .hf-team-photo {
  filter: grayscale(0) contrast(1.035) brightness(1.015);
}

/* 2 — Focal-point-aware portrait movement. The admin-set object-position remains
   untouched, while the portrait itself makes only a restrained 2–3px response. */
.hf-team-feature__media,
.hf-team-manager__media,
.hf-team-card__media {
  position: relative;
  overflow: hidden;
}

.hf-team-photo {
  will-change: transform, filter;
  object-position: var(--hf-photo-position, center center) !important;
}

/* 3 — Tiny architectural corner marker; visible only on the active staff card. */
.hf-team-card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-top: 14px solid var(--hf-red);
  border-left: 14px solid transparent;
  opacity: 0;
  transform: translate(2px,-2px);
  transition: opacity 260ms ease, transform 260ms cubic-bezier(.2,.65,.2,1);
  pointer-events: none;
  z-index: 4;
}

.hf-team-card:hover::after,
.hf-team-card:focus-visible::after {
  opacity: 1;
  transform: translate(0,0);
}

/* 5 — Name reveal: a very small editorial lift, paired with the red detail line. */
.hf-team-card__body h2 {
  position: relative;
  transform: translateY(0);
  transition:
    transform 420ms cubic-bezier(.2,.7,.2,1),
    color 300ms ease,
    letter-spacing 300ms ease;
}

.hf-team-card__body h2::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  margin-top: 7px;
  background: var(--hf-red);
  transition: width 420ms cubic-bezier(.2,.7,.2,1);
}

.hf-team-card:hover .hf-team-card__body h2,
.hf-team-card:focus-visible .hf-team-card__body h2 {
  transform: translateY(-2px);
  color: #111318;
  letter-spacing: -.025em;
}

.hf-team-card:hover .hf-team-card__body h2::after,
.hf-team-card:focus-visible .hf-team-card__body h2::after {
  width: min(42px, 55%);
}

/* Keep the existing accent as a second, quieter red rhythm. */
.hf-team-card:hover .hf-team-card__accent,
.hf-team-card:focus-visible .hf-team-card__accent {
  width: 26px;
}

@media (max-width: 620px) {
  /* Hover is not a primary interaction on touch devices. */
  .hf-team-page:has(.hf-team-grid .hf-team-card:hover) .hf-team-grid .hf-team-card:not(:hover) {
    opacity: 1;
  }
  .hf-team-card::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hf-team-grid .hf-team-card,
  .hf-team-card::after,
  .hf-team-card__body h2,
  .hf-team-card__body h2::after {
    transition: none !important;
  }
  .hf-team-page:has(.hf-team-grid .hf-team-card:hover) .hf-team-grid .hf-team-card:not(:hover) {
    opacity: 1;
  }
}



/* HYSSNA TEAMS v5.6 — per-member photo position only. */
.hf-team-photo {
  object-fit: cover !important;
}
.hf-team-live-preview { margin-top: 12px; }
