/* ============================================================================
   V2 Interior Pages — shares tokens from v2-home.css
   Covers: page shell, team, publications, projects, clinical
   ============================================================================ */

/* ── Global base size for v2 body ── */
body.v2-body {
  font-size: 17px;
}

/* ── Page Shell ── */
.v2-page {
  max-width: var(--v2-max, 1120px);
  margin: 0 auto;
  padding: 0 1.5rem 3rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.v2-page__header {
  padding: 2rem 0 0;
  margin: 0;
}

.v2-page__title {
  font-family: var(--v2-font-serif);
  font-size: clamp(1.8rem, 1.5rem + 0.9vw, 2.5rem);
  font-weight: 900;
  color: var(--v2-ink);
  margin: 0;
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.v2-page__lead {
  font-family: var(--v2-font-body);
  font-size: 1rem;
  color: var(--v2-muted);
  margin: 0.5rem 0 0;
  line-height: 1.6;
}

/* ── Page Content (rich text) ── */
.v2-page__content {
  font-family: var(--v2-font-body) !important;
  font-variant-numeric: oldstyle-nums;
  font-size: 1rem !important;
  color: var(--v2-body);
  line-height: 1.8;
  text-align: justify;
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
}
.v2-page__content h2 {
  font-family: var(--v2-font-serif);
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--v2-ink);
  margin: 2rem 0 0.8rem;
}
/* Prevent first child from adding extra top spacing (gap handles it) */
.v2-page__content > :first-child,
.v2-team > :first-child {
  margin-top: 0;
  padding-top: 0;
}
/* Only section intro h2 gets accent underline */
.v2-section__intro h2 {
  font-size: 1.5rem;
  padding-bottom: 0.4rem;
  border-bottom: 2px solid var(--v2-accent);
}
.v2-page__content h3 {
  font-family: var(--v2-font-sans);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--v2-ink);
  margin: 1.5rem 0 0.5rem;
}
.v2-page__content p { margin: 0 0 0.7rem; }
.v2-page__content ul, .v2-page__content ol { margin: 0 0 1rem; padding-left: 1.5rem; }
.v2-page__content li { margin-bottom: 0.4rem; }
.v2-page__content a { color: var(--v2-accent); }
.v2-page__content a:hover { color: var(--v2-accent-hover); }
.v2-page__content strong { color: var(--v2-ink); }
.v2-page__content hr {
  border: none;
  border-top: 1px solid var(--v2-line);
  margin: 1.2rem 0;
}

/* ── Section pattern (publications, clinical) ── */
.v2-section {
  margin-bottom: 1.8rem;
}
.v2-section__intro {
  margin-bottom: 0.8rem;
}
.v2-section__intro h2 {
  font-family: var(--v2-font-serif);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--v2-ink);
  margin: 0 0 0.3rem;
}
.v2-section__intro p {
  font-size: 0.95rem;
  color: var(--v2-muted);
  margin: 0;
}

/* ── Utility list (clinical programs) ── */
.v2-utility-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.v2-utility-card {
  padding: 1.2rem;
  border: 1px solid var(--v2-line);
  border-radius: var(--v2-radius);
  background: var(--v2-surface);
}
.v2-utility-card h3 {
  font-family: var(--v2-font-serif);
  font-size: 1rem;
  font-weight: 700;
  color: var(--v2-ink);
  margin: 0 0 0.4rem;
}
.v2-utility-card p {
  font-size: 0.93rem;
  color: var(--v2-body);
  line-height: 1.6;
  margin: 0;
}

/* ── Projects / Research direction entries ── */
.v2-program-entry {
  padding: 0.5rem 0;
  overflow: hidden;
}

.v2-program-entry h2 {
  font-family: var(--v2-font-serif);
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--v2-ink);
  margin: 0 0 0.8rem;
}
.v2-program-entry__content h3 {
  clear: both;
  font-family: var(--v2-font-sans);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--v2-accent);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 1.5rem 0 0.5rem;
  padding-bottom: 0.3rem;
  border-bottom: 2px solid var(--v2-accent);
  display: inline-block;
}
.v2-program-entry__content h3:first-child { margin-top: 0; }
.v2-program-entry h2 a {
  color: inherit;
  text-decoration: none;
}
.v2-program-entry h2 a:hover { color: var(--v2-accent); }

.v2-program-entry__media {
  float: right;
  width: 240px;
  margin: 0 0 0.8rem 1.5rem;
  border-radius: var(--v2-radius);
  overflow: hidden;
  border: 1px solid var(--v2-line);
}
.v2-program-entry__media img { display: block; width: 100%; }
/* Research block: image + text side by side, equal height */
.v2-research-block {
  display: flex;
  gap: 1.5rem;
  align-items: stretch;
  margin: 1rem 0;
}
.v2-research-block--reverse {
  flex-direction: row-reverse;
}
.v2-research-block__img {
  flex: 0 0 280px;
  align-self: center;
  border-radius: var(--v2-radius);
  overflow: hidden;
  border: 1px solid var(--v2-line);
}
.v2-research-block__img img {
  display: block;
  width: 100%;
  height: auto;
}
.v2-research-block__text {
  flex: 1;
  min-width: 0;
}
.v2-research-block__text p {
  margin: 0;
}
@media (max-width: 640px) {
  .v2-research-block,
  .v2-research-block--reverse {
    flex-direction: column;
  }
  .v2-research-block__img {
    flex: none;
    width: 100%;
  }
  .v2-research-block__img img {
    height: auto;
  }
}

/* Legacy inline media (keep for backwards compat) */
.v2-program-entry__media--inline {
  width: 280px;
  border-radius: var(--v2-radius);
  overflow: hidden;
  border: 1px solid var(--v2-line);
}
.v2-program-entry__media--inline img { display: block; width: 100%; }
.v2-program-entry__media--left {
  float: left;
  margin: 0.2rem 1.5rem 0.8rem 0;
}
.v2-program-entry__media--right {
  float: right;
  margin: 0.3rem 0 0.8rem 1.5rem;
}
@media (max-width: 640px) {
  .v2-program-entry__media,
  .v2-program-entry__media--inline,
  .v2-program-entry__media--left,
  .v2-program-entry__media--right { float: none; width: 100%; margin: 0 0 1rem 0; }
}

.v2-program-entry__content {
  font-family: var(--v2-font-body);
  font-variant-numeric: oldstyle-nums;
  font-size: 0.95rem;
  color: var(--v2-body);
  text-align: justify;
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
  line-height: 1.8;
}
.v2-program-entry__content p { margin: 0 0 0.7rem; }
.v2-program-entry__more {
  margin-top: 0.6rem;
}
.v2-program-entry__more a {
  color: var(--v2-accent);
  font-family: var(--v2-font-sans);
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
}
.v2-program-entry__more a:hover { text-decoration: underline; }

/* ── Team ── */
.v2-team__group {
  margin-bottom: 1.8rem;
}
.v2-team__group-title {
  font-family: var(--v2-font-serif);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--v2-ink);
  margin: 0 0 0.8rem;
  padding-bottom: 0.4rem;
  border-bottom: 2px solid var(--v2-accent);
}

/* PI card */
.v2-pi-card {
  position: relative;
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 1.5rem;
  align-items: start;
  cursor: pointer;
  transition: border-color 0.2s;
}
.v2-pi-card img {
  width: 160px;
  border-radius: 8px;
  border: 1px solid var(--v2-line);
}
.v2-pi-card__info h3 {
  font-family: var(--v2-font-serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--v2-ink);
  margin: 0 0 0.2rem;
}
.v2-pi-card__info h3 a {
  color: inherit;
  text-decoration: none;
}
.v2-pi-card__info h3 a::after {
  content: '';
  position: absolute;
  inset: 0;
}
.v2-pi-card__info h3 a:hover { color: var(--v2-accent); }
.v2-pi-card__title {
  font-size: 0.92rem;
  color: var(--v2-muted);
  margin: 0 0 0.6rem;
}
.v2-pi-card__bio {
  font-family: var(--v2-font-body);
  font-size: 0.95rem;
  color: var(--v2-body);
  line-height: 1.7;
}
.v2-pi-card__bio p { margin: 0 0 0.7rem; }
.v2-card__more {
  display: inline-block;
  margin-top: 0.2rem;
  font-family: var(--v2-font-sans);
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--v2-accent);
  letter-spacing: 0.02em;
}
.v2-member-card__info .v2-card__more { margin-top: 0.35rem; font-size: 0.78rem; }
@media (max-width: 580px) {
  .v2-pi-card { grid-template-columns: 100px 1fr; gap: 1rem; }
  .v2-pi-card img { width: 100px; }
}

/* Member grid */
.v2-member-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
}
.v2-member-card {
  position: relative;
  display: flex;
  gap: 0.8rem;
  align-items: start;
  padding: 1rem;
  border: 1px solid var(--v2-line-light);
  border-radius: var(--v2-radius);
  background: var(--v2-surface);
  transition: border-color 0.2s;
  cursor: pointer;
}
@media (hover: hover) {
  .v2-member-card:hover { border-color: var(--v2-accent); }
}
.v2-member-card img {
  width: 56px;
  border-radius: 6px;
  flex-shrink: 0;
}
.v2-member-card__info h3 {
  font-family: var(--v2-font-sans);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--v2-ink);
  margin: 0 0 0.15rem;
}
.v2-member-card__info h3 a {
  color: inherit;
  text-decoration: none;
}
.v2-member-card__info h3 a::after {
  content: '';
  position: absolute;
  inset: 0;
}
.v2-member-card__info h3 a:hover { color: var(--v2-accent); }
.v2-member-card__info p {
  font-size: 0.85rem;
  color: var(--v2-muted);
  margin: 0 0 0.3rem;
  line-height: 1.4;
}

/* Member links (shared) */
.v2-member-links {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 0.5rem;
}
.v2-member-links a {
  color: var(--v2-muted);
  font-size: 0.85rem;
  text-decoration: none;
  transition: color 0.15s;
}
.v2-member-links a:hover { color: var(--v2-accent); }

/* ── Publications (Jekyll Scholar output) ── */
.v2-page__content .publications {
  font-family: var(--v2-font-sans);
  font-size: 0.85rem;
  line-height: 1.6;
}
.v2-page__content .publications ol {
  padding-left: 0;
  list-style: none;
}
.v2-page__content .publications ol {
  padding-left: 0;
  list-style: none;
}
.v2-page__content .publications ol li {
  padding: 0;
  border: none;
}
.v2-page__content .publications ol li:last-child { margin-bottom: 0; }

/* Featured publications — 2-column card grid (grid applied below with !important) */

/* Search box */
.v2-page__content input[type="search"],
.v2-page__content input[type="text"] {
  width: 100%;
  padding: 0.55rem 0.8rem;
  font-size: 0.85rem;
  border: 1px solid var(--v2-line);
  border-radius: var(--v2-radius);
  background: var(--v2-surface);
  color: var(--v2-ink);
  margin-bottom: 1rem;
  font-family: var(--v2-font-sans);
}
.v2-page__content input:focus {
  outline: none;
  border-color: var(--v2-accent);
}

/* ── Bibliography entries ── */

/* Reset bib h2 title — no border, no big margin */
.v2-page__content h2.bib-title,
.v2-pub-featured h2.bib-title {
  font-family: var(--v2-font-sans);
  font-size: 1rem;
  font-weight: 600;
  color: var(--v2-ink);
  margin: 0 0 0.25rem;
  padding: 0;
  border: none;
  line-height: 1.4;
}
.v2-page__content h2.bib-title {
  font-size: 1.05rem;
}
.v2-page__content h2.bib-title a,
.v2-pub-featured h2.bib-title a {
  color: var(--v2-ink);
  text-decoration: none;
}
.v2-page__content h2.bib-title a:hover,
.v2-pub-featured h2.bib-title a:hover {
  color: var(--v2-accent);
}

/* Row layout: thumb + content side by side */
.v2-page__content .bib-row,
.v2-pub-featured .bib-row {
  display: flex;
  gap: 0.8rem;
  padding: 0.3rem 0;
  align-items: flex-start;
  font-family: var(--v2-font-sans);
  font-size: 1rem;
  line-height: 1.6;
}

/* Featured cards get a border */
.v2-pub-featured .bib-row {
  padding: 0.8rem;
  margin-bottom: 0;
  border: 1px solid var(--v2-line);
  border-radius: var(--v2-radius);
  background: var(--v2-surface);
  font-size: 0.88rem;
  height: 100%;
  transition: border-color 0.2s, box-shadow 0.2s;
}
@media (hover: hover) {
  .v2-pub-featured .bib-row:hover {
    border-color: var(--v2-accent);
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  }
}
.v2-pub-featured .bib-thumb {
  display: none !important;
}

/* Thumbnail */
.v2-page__content .bib-thumb,
.v2-pub-featured .bib-thumb {
  flex-shrink: 0;
  width: 80px;
}
.v2-page__content .bib-thumb img,
.v2-pub-featured .bib-thumb img {
  width: 80px;
  height: auto;
  border-radius: 3px;
  border: 1px solid var(--v2-line-light);
}
.bib-row--no-preview .bib-thumb { display: none; }

/* Content */
.v2-page__content .bib-content,
.v2-pub-featured .bib-content {
  min-width: 0;
  flex: 1;
}

.v2-page__content .bib-authors,
.v2-pub-featured .bib-authors {
  font-size: 0.88rem;
  color: var(--v2-muted);
  margin-bottom: 0.1rem;
}

.v2-page__content .bib-meta,
.v2-pub-featured .bib-meta {
  font-size: 0.88rem;
  color: var(--v2-body);
}
.v2-page__content .bib-meta .bib-journal,
.v2-pub-featured .bib-meta .bib-journal {
  font-style: italic;
}

.v2-page__content .bib-actions,
.v2-pub-featured .bib-actions {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
  margin-top: 0.25rem;
}
.v2-page__content .bib-actions .bib-link,
.v2-pub-featured .bib-actions .bib-link {
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.12em 0.45em;
  border: 1px solid var(--v2-line);
  border-radius: 3px;
  color: var(--v2-accent);
  text-decoration: none;
  transition: background 0.15s;
}
.v2-page__content .bib-actions .bib-link:hover,
.v2-pub-featured .bib-actions .bib-link:hover {
  background: var(--v2-accent-soft);
}

/* Hide citation badges */
.v2-page__content .bib-citation-badge,
.v2-pub-featured .bib-citation-badge { display: none; }

/* Override bibliography list style */
.v2-page__content .bibliography,
.v2-pub-featured .bibliography {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}
.v2-pub-featured {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0.8rem !important;
}
.v2-pub-featured .bibliography {
  display: contents !important;
}
.v2-pub-featured .bibliography > li:not(.bib-entry),
.v2-pub-featured .bibliography > a.details {
  display: none !important;
}
@media (max-width: 640px) {
  .v2-pub-featured { grid-template-columns: 1fr !important; }
}
.v2-page__content .bibliography > li.bib-entry {
  list-style: none !important;
  margin: 0 0 0.8rem !important;
  padding: 0.8rem !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: var(--v2-radius);
  background: var(--v2-surface);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.v2-pub-featured .bibliography > li.bib-entry {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
@media (hover: hover) {
  .v2-page__content .bibliography > li.bib-entry:hover {
    border-color: var(--v2-accent) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  }
}
/* Hide non-entry items (empty anchors, spacers) */
.v2-page__content .bibliography > li:not(.bib-entry) {
  display: none;
}
/* Hide the details anchor that adds blank space */
.v2-page__content .bibliography > li.bib-entry > a.details,
.v2-pub-featured .bibliography > li.bib-entry > a.details {
  display: none;
}
/* Year group headings from Jekyll Scholar — must be clearly bigger than bib titles */
.v2-page__content .publications > h2,
.v2-pub-featured .publications > h2,
.v2-page__content .bibliography + h2 {
  font-family: var(--v2-font-serif) !important;
  font-size: 1.6rem !important;
  font-weight: 900 !important;
  color: var(--v2-ink) !important;
  margin: 2rem 0 0.6rem !important;
  padding: 0 !important;
  border: none !important;
  letter-spacing: -0.02em;
}

/* Bib search/filter */
.bib-filters {
  margin-bottom: 1.2rem;
  padding: 1rem;
  background: var(--v2-bg);
  border: 1px solid var(--v2-line);
  border-radius: var(--v2-radius);
  transition: border-color 0.2s, box-shadow 0.2s;
}
@media (hover: hover) {
  .bib-filters__select:hover {
    border-color: var(--v2-accent);
  }
  .bib-filters__search input:hover {
    border-color: var(--v2-accent);
  }
}
.bib-filters__search {
  margin-bottom: 0.6rem;
}
.bib-filters__search input,
.v2-page__content .bib-filters__search input {
  width: 100%;
  padding: 0.6rem 0.9rem;
  font-size: 0.9rem;
  border: 1px solid var(--v2-line);
  border-radius: var(--v2-radius);
  background: var(--v2-surface);
  font-family: var(--v2-font-sans);
  color: var(--v2-ink);
}
.bib-filters__search input:focus,
.v2-page__content .bib-filters__search input:focus {
  outline: none;
  border-color: var(--v2-accent);
}
.bib-filters__row {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.bib-filters__select {
  padding: 0.45rem 0.7rem;
  font-size: 0.85rem;
  font-family: var(--v2-font-sans);
  border: 1px solid var(--v2-line);
  border-radius: var(--v2-radius);
  background: var(--v2-surface);
  color: var(--v2-body);
  cursor: pointer;
  flex: 1;
  min-width: 140px;
}
.bib-filters__select:focus {
  outline: none;
  border-color: var(--v2-accent);
}
.bib-filters__status {
  font-size: 0.82rem;
  color: var(--v2-muted);
  margin-top: 0.5rem;
}


/* Active nav indicator */
.v2-topbar__nav a.is-active {
  color: #fff;
  background: rgba(255,255,255,0.12);
}

/* ── CJK Typography for interior pages ── */
/* Chinese font hierarchy:
   Serif (Noto Serif SC)  → page titles, section headings, group titles — matches Playfair Display role
   Sans  (Noto Sans SC)   → body text, member names, meta — matches Source Sans 3 role */
:lang(zh) .v2-page__content {
  text-align: justify;
  line-height: 1.9;
}
:lang(zh) .v2-program-entry__content > p,
:lang(zh) .v2-research-block__text > p {
  text-indent: 2em;
}
:lang(zh) .v2-page__title,
:lang(zh) .v2-team__group-title,
:lang(zh) .v2-section__intro h2,
:lang(zh) .v2-program-entry h2 {
  font-family: "Noto Serif SC", "Songti SC", STSong, serif;
  letter-spacing: 0.02em;
  font-weight: 700;
}
:lang(zh) .v2-pi-card__bio {
  text-align: justify;
  line-height: 1.8;
}
:lang(zh) .v2-pi-card__bio > p {
  text-indent: 2em;
}
:lang(zh) .v2-pi-card h3 {
  font-family: "Noto Serif SC", "Songti SC", STSong, serif;
  font-weight: 700;
}
:lang(zh) .v2-member-card h3 {
  font-family: var(--v2-font-sans);
}
:lang(zh) .v2-member-detail__name {
  font-family: "Noto Serif SC", "Songti SC", STSong, serif;
  letter-spacing: 0.02em;
}
:lang(zh) .v2-member-detail__bio {
  text-align: justify;
  line-height: 1.9;
}
:lang(zh) .v2-member-detail__bio > p {
  text-indent: 2em;
}
:lang(zh) .v2-utility-card h3 {
  font-family: "Noto Serif SC", "Songti SC", STSong, serif;
  font-weight: 700;
}
/* Chinese spacing: interior pages */
:lang(zh) .v2-page__content p {
  margin-bottom: 1rem;
}
:lang(zh) .v2-page__content ul li,
:lang(zh) .v2-page__content ol li {
  margin-bottom: 0.6rem;
  line-height: 1.85;
}
:lang(zh) .v2-program-entry {
  padding: 1rem 0;
}
:lang(zh) .v2-program-entry + hr {
  margin: 1.5rem 0;
}
:lang(zh) .v2-program-entry__content {
  line-height: 1.9;
}
:lang(zh) .v2-utility-card {
  padding: 1.4rem;
}
:lang(zh) .v2-utility-card p {
  line-height: 1.75;
}

/* ── Member Detail Page ── */
.v2-member-detail {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--v2-line);
}
.v2-member-detail__photo {
  flex-shrink: 0;
  width: 160px;
}
.v2-member-detail__photo img {
  width: 160px;
  border-radius: 8px;
  border: 1px solid var(--v2-line);
}
.v2-member-detail__header {
  flex: 1;
  min-width: 0;
}
.v2-member-detail__name {
  font-family: var(--v2-font-serif);
  font-size: clamp(1.6rem, 1.3rem + 0.8vw, 2.2rem);
  font-weight: 900;
  color: var(--v2-ink);
  margin: 0 0 0.2rem;
  letter-spacing: -0.02em;
  line-height: 1.15;
}
.v2-member-detail__alt {
  font-size: 1rem;
  color: var(--v2-muted);
  margin: 0 0 0.5rem;
}
.v2-member-detail__title {
  font-family: var(--v2-font-sans);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--v2-ink);
  margin: 0 0 0.2rem;
}
.v2-member-detail__dept {
  font-size: 0.9rem;
  color: var(--v2-muted);
  margin: 0 0 0.6rem;
}
.v2-member-detail__links {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin-top: 0.5rem;
}
.v2-member-detail__links a {
  font-size: 0.88rem;
  color: var(--v2-accent);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.v2-member-detail__links a:hover { text-decoration: underline; }
.v2-member-detail__bio {
  font-family: var(--v2-font-body);
  font-size: 0.95rem;
  color: var(--v2-body);
  line-height: 1.8;
}
.v2-member-detail__bio p { margin: 0 0 0.9rem; }
.v2-member-detail__bio p:last-child { margin-bottom: 0; }
.v2-member-detail__back {
  margin-top: 2rem;
}
@media (max-width: 640px) {
  /* English: left-align on mobile */
  :lang(en) .v2-page__content,
  :lang(en) .v2-program-entry__content,
  :lang(en) .v2-pi-card__bio,
  :lang(en) .v2-member-detail__bio {
    text-align: left;
  }
}
@media (max-width: 580px) {
  .v2-member-detail { flex-direction: column; gap: 1rem; }
  .v2-member-detail__photo { width: 120px; }
  .v2-member-detail__photo img { width: 120px; }
}
