/* 運営者紹介に限定。既存デザイントークンを利用。 */
.operator-profile { background: var(--bg-2); }
.operator-profile__layout { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: var(--space-16); align-items: start; }
.operator-profile__figure { margin: 0; }
.operator-profile__portrait { position: relative; overflow: hidden; aspect-ratio: 419 / 558; border-radius: var(--r); }
/* 原本1402×1122の(x=526,y=564,w=419,h=558)を表示。白い区切り線を除外。 */
.operator-profile__portrait img { position: absolute; width: 334.606%; max-width: none; height: auto; left: -125.537%; top: -101.075%; }
.operator-profile__figure figcaption { margin-top: var(--space-4); font-size: var(--fs-lg); font-weight: 700; color: var(--fg); }
.operator-profile__figure figcaption span { display: block; margin-top: var(--space-1); font-size: var(--fs-sm); font-weight: 400; color: var(--muted); }
.operator-profile__body { min-width: 0; }
.operator-profile__body .section-title { margin-bottom: var(--space-6); text-wrap: balance; }
.operator-profile__body p { color: var(--fg-2); line-height: 1.9; margin-bottom: var(--space-4); text-wrap: pretty; }
.operator-profile__lead { font-weight: 600; }
.operator-profile__principles { list-style: none; padding: 0; margin: var(--space-8) 0; }
.operator-profile__principles li { border-top: 1px solid var(--line); padding: var(--space-4) 0; }
.operator-profile__principles strong { display: block; color: var(--fg); margin-bottom: var(--space-2); }
.operator-profile__principles span { color: var(--fg-2); font-size: var(--fs-sm); line-height: 1.8; }
.operator-profile__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-6); }
.operator-profile__message { color: var(--p); font-weight: 600; text-underline-offset: 4px; }
.operator-profile__message:hover { text-decoration: underline; }
.operator-profile__actions a:focus-visible { outline: 2px solid var(--p); outline-offset: 4px; }
.operator-profile__hero-link { display: inline-flex; margin-top: var(--space-4); color: var(--p); text-decoration: underline; text-underline-offset: 4px; font-weight: 600; }
@media (max-width: 768px) {
  .operator-profile__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .operator-profile__figure { width: min(100%, 260px); }
  .operator-profile__actions { align-items: flex-start; flex-direction: column; gap: var(--space-4); }
  .operator-profile__actions .btn-l { white-space: normal; }
}
