.teacher-profile { margin: 0; background: #fff; color: var(--ariake-ink); font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; font-size: 16px; line-height: 1.9; -webkit-font-smoothing: antialiased; }
.teacher-profile *, .teacher-profile *::before, .teacher-profile *::after { box-sizing: border-box; }
.teacher-profile h1, .teacher-profile h2, .teacher-profile h3, .teacher-profile p, .teacher-profile figure { margin: 0; }
.teacher-profile a { color: inherit; text-decoration: none; }
.teacher-profile a:hover { color: #88672d; }
.teacher-profile a:focus-visible, .teacher-profile summary:focus-visible { outline: 3px solid #ad8746; outline-offset: 5px; }
.teacher-profile section[id] { scroll-margin-top: 30px; }
.teacher-skip { position: absolute; top: -100px; left: 20px; padding: 12px 20px; background: #fff; z-index: 20; }
.teacher-skip:focus { top: 10px; }
.teacher-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 3.5%; border-bottom: 1px solid #e7e9e9; min-height: 91px; }
.teacher-home { flex-shrink: 0; line-height: 1; }
.teacher-desktop-nav { display: flex; align-items: center; gap: 28px; font-size: 13px; font-weight: 600; }
.teacher-desktop-nav > a { padding: 10px 0; }
.teacher-desktop-nav [aria-current] { color: #8a692f; border-bottom: 1px solid #aa874e; }
.teacher-desktop-nav a.teacher-header-cta { padding: 11px 20px; background: var(--ariake-navy); color: #fff; }
.teacher-header-cta span { margin-left: 16px; }
.teacher-mobile-menu { display: none; }
.teacher-breadcrumb { width: min(1180px, 88%); margin: 24px auto; display: flex; flex-wrap: wrap; gap: 13px; font-size: 11px; color: #6c777c; }
.teacher-hero { position: relative; width: min(1280px, 94%); margin: 0 auto; display: grid; grid-template-columns: 1.15fr 1fr; background: var(--ariake-paper); min-height: 660px; }
.teacher-hero__copy { padding: 62px 7% 52px 9%; align-self: center; }
.teacher-profile .teacher-eyebrow { color: #8a692f; font: 600 11px/1.5 Arial, sans-serif; letter-spacing: .2em; margin-bottom: 23px; }
.teacher-hero__role { color: #536471; font-size: 12px; }
.teacher-hero h1 { margin-top: 15px; font: 500 clamp(42px, 4vw, 58px)/1.6 var(--ariake-serif); letter-spacing: .12em; }
.teacher-hero__reading { font-size: 11px; color: #5a6870; }
.teacher-hero__reading span { display: inline-block; margin-left: 18px; font: 10px/1.7 Arial, sans-serif; letter-spacing: .13em; }
.teacher-gold-rule { width: 45px; height: 1px; margin: 30px 0; background: #ac8c54; }
.teacher-hero h2 { font: 400 clamp(20px, 2.1vw, 28px)/1.9 var(--ariake-serif); letter-spacing: .03em; }
.teacher-profile .teacher-hero__intro { margin: 20px 0 26px; font-size: 14px; line-height: 2.1; color: #55626b; }
.teacher-text-link { display: inline-flex; align-items: center; gap: 30px; min-height: 44px; border-bottom: 1px solid #a5aeb1; font-size: 13px; }
.teacher-text-link span { font-size: 20px; }
.teacher-profile .teacher-source-note { margin-top: 20px; font-size: 11px; color: #626d73; }
.teacher-hero__portrait { position: relative; overflow: hidden; background: #b8bec2; min-height: 660px; }
.teacher-hero__portrait img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.teacher-hero__portrait figcaption { position: absolute; bottom: 24px; left: 26px; color: #fff; font: 16px/1.8 var(--ariake-serif); text-shadow: 0 1px 8px #142d42; }
.teacher-hero__portrait figcaption span { display: block; font: 9px/1.8 Arial, sans-serif; letter-spacing: .25em; }
.teacher-hero__vertical { position: absolute; right: -28px; top: 40px; writing-mode: vertical-rl; font: 13px/1.6 var(--ariake-serif); letter-spacing: .2em; color: #7a6744; }
.teacher-section-nav { display: grid; grid-template-columns: repeat(4, 1fr); width: min(1180px, 88%); margin: 36px auto 0; border-bottom: 1px solid #dfe3e3; }
.teacher-section-nav a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 24px; font-size: 13px; border-right: 1px solid #dfe3e3; }
.teacher-section-nav a:first-child { padding-left: 0; }
.teacher-section-nav a:last-child { border-right: 0; }
.teacher-section-nav span { font: 11px/1.5 Arial, sans-serif; color: #957643; }
.teacher-section { display: grid; grid-template-columns: 1fr 1.8fr; gap: 8%; width: min(1120px, 86%); margin: 0 auto; padding: 106px 0; }
.teacher-section h2 { font: 400 30px/1.9 var(--ariake-serif); letter-spacing: .05em; }
.teacher-section-body > p { margin-bottom: 20px; font-size: 15px; line-height: 2.2; }
.teacher-facts { margin: 34px 0 0; }
.teacher-facts > div { display: grid; grid-template-columns: 100px 1fr; gap: 20px; padding: 16px 0; border-top: 1px solid #dfe3e3; font-size: 13px; }
.teacher-facts > div:last-child { border-bottom: 1px solid #dfe3e3; }
.teacher-facts dt { color: #69767c; }
.teacher-facts dd { margin: 0; }
.teacher-profile .teacher-small-note { font-size: 12px; line-height: 1.9; color: #637077; margin-top: 24px; }
.teacher-career-band { background: #f7f8f7; }
.teacher-profile .teacher-side-copy { margin-top: 23px; font-size: 14px; color: #6b777e; }
.teacher-timeline { padding: 0 0 0 24px; margin: 0; list-style: none; border-left: 1px solid #cfd6d8; }
.teacher-timeline li { position: relative; display: grid; grid-template-columns: 112px 1fr; gap: 20px; padding: 0 0 38px; }
.teacher-timeline li:last-child { padding-bottom: 0; }
.teacher-timeline li::before { content: ""; width: 7px; height: 7px; background: #a7864c; border-radius: 50%; position: absolute; top: 9px; left: -28px; }
.teacher-timeline__year { font: 600 12px/2 Arial, sans-serif; letter-spacing: .02em; padding-top: 1px; }
.teacher-timeline__category { font: 10px/1.8 Arial, sans-serif; letter-spacing: .13em; color: #8a692f; }
.teacher-timeline h3 { font: 400 21px/1.6 var(--ariake-serif); margin: 5px 0 10px; }
.teacher-timeline li p:last-child { font-size: 13px; line-height: 2; color: #5a6972; }
.teacher-timeline__present h3 { color: #8a692f; }
.teacher-philosophy { padding: 104px 7%; text-align: center; max-width: 1100px; margin: auto; }
.teacher-philosophy h2 { font: 400 35px/1.9 var(--ariake-serif); letter-spacing: .08em; }
.teacher-philosophy blockquote { margin: 40px 0 20px; font: 400 19px/2.3 var(--ariake-serif); }
.teacher-quote-credit { font-size: 14px; }
.teacher-quote-credit span { display: block; margin-top: 5px; font: 9px/1.6 Arial, sans-serif; letter-spacing: .17em; color: #8b713f; }
.teacher-philosophy__body { max-width: 730px; margin: 44px auto 0; padding-top: 34px; border-top: 1px solid #e3dfd5; text-align: left; font-size: 14px; color: #58666e; line-height: 2.2; }
.teacher-philosophy__body p + p { margin-top: 20px; }
.teacher-learning-band { background: var(--ariake-navy); color: #fff; padding: 90px 7%; }
.teacher-learning-inner { max-width: 1120px; margin: auto; }
.teacher-learning-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 42px; }
.teacher-learning-band .teacher-eyebrow { color: #d1b57f; }
.teacher-learning-heading h2 { font: 400 30px/1.8 var(--ariake-serif); }
.teacher-learning-heading > p { color: #c2cdd3; font-size: 13px; }
.teacher-learning-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.teacher-learning-grid article { padding: 26px 26px 24px; border: 1px solid #526575; }
.teacher-step { font: 400 40px/1.2 var(--ariake-serif); color: #d1b57f; }
.teacher-profile .teacher-learning-label { margin-top: 22px; font: 9px/1.5 Arial, sans-serif; letter-spacing: .18em; color: #d1b57f; }
.teacher-learning-grid h3 { margin: 10px 0 18px; font: 400 21px/1.8 var(--ariake-serif); }
.teacher-learning-grid article > p:last-of-type { font-size: 13px; color: #d0d9df; line-height: 2; }
.teacher-learning-grid ul { margin: 24px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid #526575; font-size: 12px; line-height: 2.2; color: #d0d9df; }
.teacher-learning-grid li::before { content: "—"; margin-right: 10px; color: #d1b57f; }
.teacher-community { margin-top: 34px; display: grid; grid-template-columns: 160px 1fr; gap: 30px; font-size: 13px; color: #d0d9df; }
.teacher-community > span { padding-top: 5px; font: 10px/1.7 Arial, sans-serif; letter-spacing: .14em; color: #d1b57f; }
.teacher-closing { padding: 95px 6%; text-align: center; background: var(--ariake-paper); }
.teacher-closing h2 { font: 400 30px/1.9 var(--ariake-serif); }
.teacher-closing > p:not(.teacher-eyebrow) { margin: 18px 0 28px; color: #617079; font-size: 14px; }
.teacher-closing > div { display: flex; justify-content: center; align-items: center; gap: 34px; }
.teacher-profile .ariake-profile-link { color: #fff; padding: 15px 30px; }
.teacher-footer { padding: 48px 6% 28px; }
.teacher-footer__top { display: flex; justify-content: space-between; align-items: center; gap: 30px; max-width: 1180px; margin: auto; }
.teacher-footer__top nav { display: flex; flex-wrap: wrap; gap: 25px; font-size: 12px; }
.teacher-profile .teacher-footer__note { max-width: 1180px; margin: 32px auto 20px; padding-top: 24px; border-top: 1px solid #e2e5e5; font-size: 11px; color: #65727a; }
.teacher-footer small { display: block; max-width: 1180px; margin: auto; font-size: 10px; color: #65727a; }
@media (max-width: 1100px) {
  .teacher-desktop-nav { display: none; }
  .teacher-mobile-menu { display: block; position: relative; }
  .teacher-mobile-menu summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: 12px; font-size: 12px; list-style: none; }
  .teacher-mobile-menu summary::-webkit-details-marker { display: none; }
  .teacher-mobile-menu summary span { font-size: 20px; }
  .teacher-mobile-menu nav { position: absolute; top: 58px; right: 0; width: 240px; max-width: 85vw; background: #fff; border: 1px solid #dfe3e3; padding: 12px 20px; z-index: 10; box-shadow: 0 12px 26px #142d4214; }
  .teacher-mobile-menu nav a { display: block; padding: 12px 4px; font-size: 14px; }
  .teacher-hero { min-height: 610px; }
  .teacher-hero__copy { padding: 40px 7%; }
  .teacher-hero__vertical { display: none; }
  .teacher-section { gap: 6%; grid-template-columns: 1fr 1.6fr; }
  .teacher-timeline li { grid-template-columns: 1fr; gap: 5px; }
  .teacher-learning-grid { gap: 16px; }
  .teacher-learning-grid article { padding: 24px 20px; }
}
@media (max-width: 767px) {
  .teacher-header { padding: 12px 6%; min-height: 76px; gap: 12px; }
  .teacher-breadcrumb { font-size: 10px; gap: 10px; margin: 18px auto; }
  .teacher-hero { width: 100%; grid-template-columns: 1fr; }
  .teacher-hero__copy { padding: 42px 7% 38px; }
  .teacher-profile .teacher-eyebrow { margin-bottom: 18px; font-size: 10px; }
  .teacher-hero h1 { font-size: 44px; }
  .teacher-hero__role { font-size: 11px; }
  .teacher-hero__reading span { margin-left: 12px; }
  .teacher-gold-rule { margin: 24px 0; }
  .teacher-hero h2 { font-size: 23px; }
  .teacher-hero__portrait { height: 460px; min-height: 0; }
  .teacher-hero__portrait img { object-position: center 17%; }
  .teacher-section-nav { grid-template-columns: repeat(2, 1fr); margin-top: 16px; }
  .teacher-section-nav a { padding: 16px 14px; font-size: 12px; }
  .teacher-section-nav a:first-child { padding-left: 14px; }
  .teacher-section-nav a:nth-child(2) { border-right: 0; }
  .teacher-section-nav a:nth-child(-n+2) { border-bottom: 1px solid #dfe3e3; }
  .teacher-section { grid-template-columns: 1fr; gap: 30px; padding: 64px 0; }
  .teacher-section h2 { font-size: 27px; }
  .teacher-section-body > p { font-size: 14px; }
  .teacher-facts > div { grid-template-columns: 72px 1fr; gap: 12px; }
  .teacher-timeline { margin-left: 4px; }
  .teacher-timeline li { padding-bottom: 30px; }
  .teacher-philosophy { padding: 65px 7%; }
  .teacher-philosophy h2 { font-size: 29px; }
  .teacher-philosophy blockquote { font-size: 17px; margin-top: 30px; text-align: left; }
  .teacher-desktop-break { display: none; }
  .teacher-learning-band { padding: 64px 7%; }
  .teacher-learning-heading { display: block; margin-bottom: 28px; }
  .teacher-learning-heading h2 { font-size: 26px; }
  .teacher-learning-heading > p { margin-top: 18px; }
  .teacher-learning-grid { grid-template-columns: 1fr; }
  .teacher-learning-grid article { padding: 26px; }
  .teacher-community { grid-template-columns: 1fr; gap: 10px; }
  .teacher-closing { padding: 64px 7%; }
  .teacher-closing h2 { font-size: 26px; }
  .teacher-closing > div { flex-direction: column; gap: 20px; }
  .teacher-footer { padding: 38px 7% 24px; }
  .teacher-footer__top { flex-direction: column; align-items: flex-start; }
  .teacher-footer__top nav { gap: 8px 24px; }
  .teacher-footer__top nav a { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (prefers-reduced-motion: no-preference) { .teacher-profile { scroll-behavior: smooth; } }
