    :root {
      --primary-blue: #004080;
      --text-dark: #222;
      --text-light: #555;
      --gray-200: #f4f6f8;
      --white: #fff;
    }

    body {
      margin: 0;
      font-family: 'Titillium Web', sans-serif;
      background: var(--gray-200);
      color: var(--text-dark);
      line-height: 1.6;
    }

    .hero-header {
      position: relative;
      height: 900px;
      background: url('../images/CURETEam.JPG') center center / cover no-repeat;
      display: flex;
      align-items: flex-end; /* text comes at the bottom */
    }

    .hero-overlay {
      width: 100%;
      padding: 2rem;
      background: linear-gradient(to top, rgba(0, 0, 0, 0.9), transparent 80%);
      /* Only applies to bottom 20% roughly */
    }

    .hero-texts {
      color: #fff;
      text-align: left;
      max-width: 1000px;
      margin: 0 auto;
    }

    .hero-texts h1 {
      font-size: 2.5rem;
      margin-bottom: 0.5rem;
    }

    .hero-texts p {
      font-size: 1.2rem;
      color: #f1f1f1;
    }

    /* Section */
    .team-section {
      padding: 70px 20px;
      max-width: 1200px;
      margin: auto;
    }

    .team-section h2 {
      /* text-align: center; */
      font-size: 2rem;
      margin-bottom: 40px;
      color: var(--primary-blue);
      position: relative;
    }

    .team-section h2::after {
      content: "";
      position: absolute;
      width: 50px;
      left: 0;
      bottom: 0;
      height: 3px;
      background: #e2b902;
      /* margin: 6px auto 0; */
      border-radius: 2px;
    }

    /* Grid */
    .team-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 2rem;
    }

    .trustee-member {
      position: relative;
      width: 280px;
      height: 400px;
      overflow: hidden;
      border: 1px solid #ddd;
      border-radius: 8px;
      transition: transform 0.3s;
      background-color: #fff;
      text-align: center;
    }

    .card-front,
    .card-back {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      padding: 20px;
      box-sizing: border-box;
      transition: opacity 0.4s ease, transform 0.4s ease;
      backface-visibility: hidden;
    }

    .card-front img {
      width: 100%;
      height: 180px;
      object-fit: cover;
      border-radius: 5px;
    }

    .card-front h3 {
      margin: 10px 0 0;
      font-size: 1.2rem;
      font-weight: 600;
      color: var(--text-dark);
    }

    /* .card-front p {
      font-weight: 600;
      color: #555;
    } */

    .card-back {
      background-color: #f5f5f5;
      overflow-y: auto;
      font-size: 14px;
      line-height: 1.3;
      opacity: 0;
      transform: scale(1.1);
      pointer-events: none;
    }

    .card-back p{
      text-align: center;
    }

    .trustee-member:hover .card-front {
      opacity: 0;
      transform: scale(0.9);
      pointer-events: none;
    }

    .trustee-member:hover .card-back {
      opacity: 1;
      transform: scale(1);
      pointer-events: all;
    }

    /* Card */
    .team-card {
      background: var(--white);
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 2px 10px rgba(0,0,0,0.08);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      text-align: center;
    }
    .team-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 6px 20px rgba(0,0,0,0.12);
    }

    .team-card img, 
    .team-card .icon-placeholder {
      width: 100%;
      height: 270px;
      object-fit: cover;
      background: var(--primary-blue);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 3rem;
      color: var(--white);
      filter: grayscale(100%);
      transition: filter 0.3s ease;
    }

    /* .team-card img:hover {
      filter: grayscale(0%);
    } */

    .team-info {
      padding: 20px;
    }
    .team-info h3 {
      margin: 0;
      font-size: 1.2rem;
      font-weight: 600;
      color: var(--text-dark);
    }
    .team-info p {
      margin: 6px 0 0;
      font-size: 0.95rem;
      color: var(--text-light);
    }

    /* Description card style for Trustees */
    .team-desc {
      padding: 15px 20px;
      font-size: 0.9rem;
      color: var(--text-light);
    }

    @media (max-width: 768px) {
      .team-hero h1 {
        font-size: 2rem;
      }
    }