:root{
      --zcs--team-list-shadow:0 20px 45px -22px rgba(31,78,44,0.22);
      --zcs--team-list-shadow-sm:0 8px 20px -14px rgba(31,78,44,0.18);
      --zcs--team-list-maxw:1240px;
    }

    .zcs--team-list-page{
      max-width:var(--zcs--team-list-maxw);
      margin:0 auto;
      padding:clamp(20px,4vw,48px) clamp(16px,4vw,32px) clamp(56px,7vw,110px);
    }

    /* ===== category sections ===== */
    .zcs--team-list-category{margin-bottom:clamp(44px,6vw,68px);}
    .zcs--team-list-category:last-child{margin-bottom:0;}
    .zcs--team-list-category-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:16px;
      margin-bottom:clamp(20px,3vw,28px);
      padding-bottom:14px;
      border-bottom:1px solid;
    }
    .zcs--team-list-category-title{
      font-size:clamp(1.35rem,2.2vw,1.65rem);
      font-weight:700;
      padding-bottom: 0;
      margin-bottom: 0;
    }
    .zcs--team-list-category-count{
      font-size: .7rem;
      font-weight: 400;
      white-space: nowrap;
      text-transform: uppercase;
    }

    /* ===== grid : max 4 columns ===== */
    .zcs--team-list-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:clamp(18px,2.4vw,26px);
    }
    @media (max-width:1080px){
      .zcs--team-list-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
    }
    @media (max-width:760px){
      .zcs--team-list-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
    }
    @media (max-width:460px){
      .zcs--team-list-grid{grid-template-columns:1fr;}
    }

    /* ===== card ===== */
    .zcs--team-list-card{
      display:block;
      box-shadow:var(--zcs--team-list-shadow-sm);
      overflow:hidden;
      transition:transform .25s ease, box-shadow .25s ease;
      height:100%;
    }
    .zcs--team-list-card:hover,
    .zcs--team-list-card:focus-visible{
      transform:translateY(-6px);
      box-shadow:var(--zcs--team-list-shadow);
    }
    .zcs--team-list-card:focus-visible{outline:2px solid;outline-offset:3px;}

    .zcs--team-list-card-photo{
      position:relative;
      aspect-ratio:4/4;
      background:linear-gradient(155deg,#EAF4E8 0%, #DCEEDC 55%, #CFE7CE 100%);
      overflow:hidden;
    }
    .zcs--team-list-card-photo-img{
      display:block;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center top;
      transition:transform .35s ease;
    }
    .zcs--team-list-card:hover .zcs--team-list-card-photo-img,
    .zcs--team-list-card:focus-visible .zcs--team-list-card-photo-img{
      transform:scale(1.04);
    }

    .zcs--team-list-card-body{
      padding:16px 18px 20px;
    }
    .zcs--team-list-card-name{
      font-weight: 600;
      font-size: 1.05rem;
      line-height: 1.2;
      margin-bottom: 3px;
    }
    .zcs--team-list-card-role{
      font-size: .75rem;
      margin-bottom: 12px;
      text-transform: uppercase;
      line-height: 1rem;
    }

    @media (prefers-reduced-motion:reduce){
      .zcs--team-list-card,
      .zcs--team-list-card-photo-img{transition:none;}
    }

/* ===== breadcrumb / back nav ===== */
    .zcs--team-single-breadcrumb{
      margin-bottom:clamp(20px,3vw,36px);
    }
    .zcs--team-single-breadcrumb-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:0.9rem;
      font-weight:600;
      color:var(--zcs--team-single-color-primary);
      padding:8px 4px;
      border-radius:var(--zcs--team-single-radius-sm);
      transition:color .2s ease, transform .2s ease;
    }