/* ===== Transparent Header (match Home) ===== */
.header-transparent .site-header{
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: blur(10px);
  }
  /* Mobile menu styles are now in index.css */
  
  /* ===== Page hero ===== */
  .page-hero{
    padding: 5rem 0 1.25rem;
    text-align: center;
    background: transparent;
  }
  .page-hero h1{
    font-size: clamp(2rem, 6vw, 3rem);
    letter-spacing: .06em;
  }
  .page-hero .subtitle{
    color: var(--text-muted);
    margin-top: .5rem;
    font-size: 1.05rem;
  }
  
  /* ===== Team photo banner ===== */
  .team-photo-section{ padding: .5rem 0 0; }
  
  .team-photo-frame{
    /* keeps it from being gigantic on desktop */
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    overflow: hidden;
    background: rgba(255,255,255,.02);
    box-shadow: 0 14px 40px rgba(0,0,0,.28);
    /* responsive, balanced height */
    aspect-ratio: 21 / 9;
    max-height: min(60vh, 520px);
  }
  .team-photo{
    width: 100%;
    height: 100%;
    object-fit: cover;          /* crops gracefully */
    object-position: center 55%;/* nudge down to show faces */
    display: block;
    transition: transform .35s ease;
  }
  .team-photo-frame:hover .team-photo{
    transform: scale(1.01);
  }
  /* subtle top/bottom fade for polish */
  .team-photo-frame::after{
    content:"";
    position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,0) 22%, rgba(0,0,0,0) 78%, rgba(0,0,0,.18));
    pointer-events:none;
  }
  
  /* ===== Team intro paragraph (“who we are”) ===== */
  .team-intro {
    padding: 1.5rem 0 2.5rem;
  }
  .team-intro .container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 1.5rem;
  }
  .team-intro p {
    color: var(--text);
    line-height: 1.8;
    font-size: 1.2rem;
    text-align: center;
    margin: 0 auto;
    max-width: 100%;
    background: var(--glass-bg);
    backdrop-filter: blur(10px);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 1rem 1.25rem;
  }
  
  /* ===== Sections ===== */
  .team-section + .team-section{ margin-top: 1.5rem; }
  .section-title {
    font-size: 1.5rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #fff;
    margin: 0 auto 2rem;
    text-align: center;
    font-weight: 600;
    display: block;
    width: 100%;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid rgba(255,255,255,0.1);
    max-width: 300px;
  }
  
  /* ===== Grid ===== */
  .team-grid {
    display: grid;
    justify-content: center;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    max-width: 1400px;
    margin: 0 auto;
  }
  
  /* Center single card for team lead */
  .team-grid.team-grid--leads {
    grid-template-columns: repeat(auto-fit, minmax(280px, 300px));
  }
  
  /* ===== Cards ===== */
  .member-card{
    position: relative;
    background: var(--glass-bg);
    backdrop-filter: blur(10px);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .member-card:hover{
    transform: translateY(-6px);
    box-shadow: 0 10px 28px rgba(0,0,0,.3);
    border-color: rgba(255,255,255,.12);
  }
  /* sweep */
  .member-card::after{
    content:"";
    position:absolute; inset:0;
    background: radial-gradient(circle at 50% 0%, rgba(255,255,255,.08), transparent 55%);
    opacity:0; transition: opacity .4s ease;
    pointer-events:none;
  }
  .member-card:hover::after{ opacity:1; }
  
  /* Avatars */
  .avatar{
    aspect-ratio: 3 / 2;
    background: rgba(255,255,255,.03);
    overflow: hidden;
  }
  .avatar img{
    width:100%; height:100%;
    object-fit: cover;
    filter: saturate(.95) contrast(1.05);
    transition: transform .35s ease;
  }
  .member-card:hover .avatar img{ transform: scale(1.05); }
  
  /* Text */
  .member-info{ padding: 1rem 1.1rem 1.2rem; }
  .member-info h3{ font-size: 1.1rem; color:#fff; margin-bottom: .15rem; }
  .member-info .role{ font-weight: 600; color:#e6e6e6; }
  .member-info .meta{ color: var(--text-muted); font-size:.9rem; margin-top:.25rem; }
  
  /* ===== Responsive ===== */
  @media (max-width: 1024px){
    .team-photo-frame{ aspect-ratio: 16 / 9; max-height: 420px; }
    .team-grid{ grid-template-columns: repeat(3, 1fr); }
    .team-grid--leads{ grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 720px){
    .team-photo-frame{ aspect-ratio: 16 / 10; max-height: 360px; }
    .team-grid, .team-grid--leads{ grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 460px){
    .team-photo-frame{ aspect-ratio: 4 / 3; max-height: 300px; }
    .team-grid, .team-grid--leads{ grid-template-columns: 1fr; }
  }
