.tm-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-column-gap: 20px;
  grid-row-gap: 20px;
}
.tm-card {
  border: 1px solid #e5e7eb;
  padding: 10px;
  background: #18474C;
  text-align: center;
  color: #f4f4f0;
}
.tm-avatar {
  width: 100%;
  object-fit: cover;
  display: block;
  margin-bottom: 20px;
}
.tm-avatar--placeholder {
  width: 100%;
  background: #eef2ff;
  aspect-ratio: auto 202/300;
}
.tm-name { 
  margin: 0 0 4px; 
  color: #f4f4f0 !important;
  font-family: "Nunito Sans", Sans-serif;
  font-size: 22px !important;
  font-weight: 700 !important;
}
.tm-position { margin: 0 0 8px; }
.tm-bio { margin: 0 0 10px; }
.tm-links a { text-decoration: none; }
.tm-links a:hover { text-decoration: underline; }

/* --- Single Team Member --- */
#primary.tm-post {
  padding: 0;
  margin: 0;
}
.tm-single {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-template-rows: auto;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}
.tm-single-header{
  margin:1.2rem 0 .8rem
}
.tm-single-name{margin:0 0 .25rem;font-size:clamp(1.8rem,2.6vw,2.4rem);line-height:1.15}
.tm-single-position{margin:.1rem 0 .6rem;color:#6b7280}
.tm-single-depts{margin:0 0 1.2rem;color:#374151}
.tm-single-depts a{text-decoration:none}
.tm-single-depts a:hover{text-decoration:underline}

.tm-single-grid{
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-column-gap: 0;
}

.tm-single-aside{
  display:flex;
  flex-direction:column;
}
.tm-single-avatar{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:#f3f4f6
}
.tm-single-avatar--ph {
  background:linear-gradient(180deg,#f9fafb,#eef2ff);
}
.tm-single-contacts {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.tm-single-contacts a[href^=tel] {
  color: var(--e-global-color-primary);
}
.tm-single-contacts .tm-btn{display:inline-block;padding:10px 14px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;text-decoration:none}
.tm-single-contacts .tm-btn:hover{background:#f9fafb}
.tm-links{display:flex;gap:10px;flex-wrap:wrap}
.tm-links a{text-decoration:none}
.tm-links a:hover{text-decoration:underline}

.tm-single-box{
  background:#fff
}
.tm-box-title{
  margin:0 0 .5rem;
  font-size:1rem;
}
.tm-perms{
  padding:0;
  margin:0 0 0 1rem;
}
.tm-perm{
  font-size:.88rem;
}

.tm-single-content {
  grid-column: span 2 / span 2;
  font-size:1.05rem;
  color:#374151;
}

.tm-content>p {
  margin-bottom: .5rem;
}

.tm-single-details {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-column-gap: 20px;
}
.tm-content > *:first-child{margin-top:0}
.tm-single-footer{margin:24px 0 8px}
.tm-post-nav{display:flex;justify-content:space-between;gap:12px}
.tm-post-nav a{text-decoration:none}
.tm-post-nav a:hover{text-decoration:underline}

@media (max-width: 480px) {
  .tm-single-contacts>p {
    margin-bottom: .2em;
  }
  
  .tm-single-box {
    margin-bottom: 1em;
  }
}

@media (min-width: 481px) {
  .tm-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }
  
  .tm-single-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 20px;
  }
  
  .tm-single-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 20px;
  }
}

@media (min-width: 1025px) {
  .tm-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }
  
  .tm-single-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 20px;
  }
  
  .tm-single-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 20px;
  }
}