@charset "UTF-8";
/* ========== 작은 태블릿 이하 (<=900px) ========== */
@media (max-width: 900px) {
  html {
    font-size: 15px;
  }
  body {
    line-height: 1.7;
  }
  header {
    padding: 14px;
  }
  header .title {
    font-size: 1.35rem;
  }
  header .subtitle {
    font-size: 1rem;
  }
}
/* ========== 휴대폰 (<=600px) ========== */
@media (max-width: 600px) {
  :root {
    --xxl: 1.25rem;
    --large: 1rem;
  }
  html {
    font-size: 14px;
  }
  body {
    padding-left: 12px;
    padding-right: 12px;
  }
  h1 {
    font-size: 1.35rem;
  }
  h2 {
    font-size: 1.2rem;
  }
  h3 {
    font-size: 1.1rem;
  }
  h4 {
    font-size: 1.05rem;
  }
  h5 {
    font-size: 1rem;
  }
  h6 {
    font-size: 0.95rem;
  }
  p {
    margin: 14px 0;
    line-height: 1.7;
    text-align: left;
  }
  .card,
  section,
  .section,
  .feature,
  .post-excerpt,
  .textbox {
    padding: 12px !important;
  }
  table {
    display: block;
    overflow-x: auto;
    width: 100%;
  }
  table th, table td {
    white-space: nowrap;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  header {
    gap: 8px;
  }
  header .title {
    font-size: 1.25rem;
  }
  header .subtitle {
    font-size: 0.95rem;
  }
  .tags, .post-info, .post-nav {
    font-size: 0.9rem;
  }
  .about-wrap {
    padding: 0 10px;
  }
  .about-section h2 {
    font-size: 1.25rem;
    margin-bottom: 0.6rem;
  }
  .about-intro {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .about-text p {
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
  }
  .ra-card {
    padding: 12px 14px !important;
  }
  .ra-card h3 {
    font-size: 1rem !important;
  }
  .acc-section summary {
    font-size: 1.15rem !important;
    padding: 10px !important;
  }
  .facility-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  /* ===== Members 중앙정렬 (모바일 전용) ===== */
  .members-grid,
  .members-list,
  .team-grid,
  .team-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 14px;
    justify-items: center;
    align-items: start;
  }
  .member-card,
  .team-card,
  .member,
  .team {
    text-align: center !important;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .member-photo,
  .team-photo,
  .member img,
  .team img {
    display: block;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  }
  .member-name,
  .member-role,
  .member-meta {
    text-align: center !important;
    font-size: 0.95rem;
  }
  /* ===== Publications 로고 통일 (모바일 전용) ===== */
  .pubs-item .journal-logo,
  .pub .journal-logo,
  .pubs-list .journal-logo,
  .pubs-card .journal-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 24px;
    width: 88px;
    padding: 3px 5px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    margin-right: 6px;
  }
  .pubs-item .journal-logo img,
  .pub .journal-logo img,
  .pubs-list .journal-logo img,
  .pubs-card .journal-logo img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    display: block;
  }
  .pubs-item .journal-badge,
  .pub .journal-badge {
    display: inline-block;
    font-size: 0.85rem;
    line-height: 1;
    padding: 5px 7px;
    border-radius: 6px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    margin-right: 6px;
  }
}
@media (max-width: 600px) {
  /* 컨테이너: 어떤 클래스여도 잡히게 폭넓게 */
  #members,
  .members,
  .members-section,
  .team,
  .team-section,
  [data-section=members] {
    /* 그리드가 이미 있다면 가운데 정렬 */
    justify-items: center !important;
    align-items: start !important;
  }
  /* 리스트/그리드 컨테이너를 1~2열, 중앙 배치 */
  #members .grid,
  .members .grid,
  .members-grid,
  .members-list,
  .team-grid,
  .team-list,
  ul.members,
  ul.team {
    display: grid !important;
    grid-template-columns: 1fr !important; /* 필요 시 1열 */
    gap: 14px !important;
    justify-items: center !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    list-style: none !important;
  }
  /* 카드(각 멤버 블록) 내부 중앙정렬 */
  #members .member,
  .members .member,
  .member,
  .member-card,
  .team-member,
  .profile-card,
  li.member,
  li.team-member {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }
  /* 이미지 정가운데 + 동일 크기 */
  #members img,
  .members img,
  .member img,
  .member-card img,
  .team-member img,
  .profile-card img,
  .member-photo,
  .team-photo,
  .avatar,
  .profile-img {
    display: block !important;
    margin: 0 auto 8px !important;
    width: 110px !important;
    height: 110px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
  }
  /* 텍스트 요소 센터 */
  .member-name,
  .member-role,
  .member-meta,
  .member-title,
  .member-dept,
  .team-name,
  .team-role {
    text-align: center !important;
    margin: 2px 0 !important;
    font-size: 0.95rem !important;
  }
  /* a(이미지 래퍼)가 블록이 아니면 가운데가 어긋나는 경우 방지 */
  .member a:has(img),
  .member-card a:has(img),
  .team-member a:has(img),
  .profile-card a:has(img) {
    display: inline-block !important;
    margin: 0 auto !important;
  }
}

/*# sourceMappingURL=mobile.css.map */