.profile-page { background: #f0eadd; }
.profile-page .site-header,
.profile-page .site-footer,
.profile-page .main-navigation,
.profile-page .contact-section,
.profile-page .menu-button { background: #f0eadd; }
.profile-page .site-header { border-bottom-color: #d8d0c2; }
.profile-page .site-footer { border-top-color: #d8d0c2; }
.profile-page .main-navigation a[aria-current="page"] { color: var(--accent); text-decoration: underline; text-decoration-thickness: 2px; }

.profile-hero { padding: 82px 0 76px; border-bottom: 1px solid #d8d0c2; }
.profile-hero-copy { max-width: 760px; }
.profile-eyebrow,
.section-marker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 21px;
  color: var(--accent);
  font-size: 14px;
  font-weight: 700;
}
.profile-eyebrow::before,
.section-marker::before { width: 30px; height: 2px; background: var(--accent); content: ""; flex: 0 0 auto; }
.profile-hero h1 { max-width: 760px; margin-bottom: 30px; font-size: clamp(38px, 4.5vw, 50px); }
.profile-heading-line { display: inline; }
.profile-lead { max-width: 760px; }
.profile-lead p { margin-bottom: 18px; }
.profile-lead p:last-child { margin-bottom: 0; }

.profile-identity {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 54px;
  align-items: end;
  margin-top: 50px;
  padding-top: 34px;
  border-top: 2px solid var(--accent);
}
.profile-portrait { width: 300px; height: auto; }
.profile-identity-copy { min-width: 0; padding-bottom: 5px; }
.profile-role { margin-bottom: 13px; color: var(--accent); font-size: 14px; font-weight: 700; }
.profile-person-name { margin-bottom: 3px; font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", serif; font-size: 34px; font-weight: 600; line-height: 1.5; }
.profile-name-yomi { margin-bottom: 2px; color: var(--muted); font-size: 14px; }
.profile-name-en { margin-bottom: 24px; color: var(--muted); font-size: 13px; letter-spacing: 0.12em; }
.profile-primary-credential { margin-bottom: 0; padding-top: 18px; border-top: 1px solid #d8d0c2; font-size: 15px; }

.profile-toc { padding: 48px 0 52px; border-bottom: 1px solid #d8d0c2; }
.profile-toc h2 { margin-bottom: 24px; font-size: 23px; text-wrap: balance; }
.profile-toc ol { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 0; border-top: 2px solid var(--accent); list-style: none; }
.profile-toc li { min-width: 0; border-bottom: 1px solid #d8d0c2; }
.profile-toc li:nth-child(odd) { padding-right: 30px; }
.profile-toc li:nth-child(even) { padding-left: 30px; border-left: 1px solid #d8d0c2; }
.profile-toc li:last-child:nth-child(odd) { grid-column: 1 / -1; padding-right: 0; }
.profile-toc a { display: flex; gap: 18px; align-items: baseline; padding: 17px 0; color: var(--ink); text-decoration: none; }
.profile-toc a:hover { color: var(--accent); }
.profile-toc a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.profile-toc a span { color: var(--accent); font-size: 15px; font-weight: 700; line-height: 1.3; letter-spacing: .04em; }

.profile-section { padding: 78px 0 82px; border-bottom: 1px solid #d8d0c2; }
.profile-reading { max-width: 760px; }
.profile-section h2 { margin-bottom: 31px; text-wrap: balance; line-break: strict; word-break: normal; }
.profile-prose p { margin-bottom: 23px; }
.profile-prose p:last-child { margin-bottom: 0; }
.profile-prose strong { font-weight: 700; }
.profile-quote { margin: 34px 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--accent); font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", serif; font-size: clamp(22px, 2.5vw, 28px); font-weight: 600; line-height: 1.8; }

.career-timeline { margin-top: 40px; border-top: 2px solid var(--accent); }
.career-stage { padding: 42px 0 46px; border-bottom: 1px solid #d8d0c2; }
.career-stage-body { max-width: 680px; }
.career-stage h3 { margin-bottom: 24px; font-size: 25px; text-wrap: balance; }
.career-stage-body p { margin-bottom: 20px; }
.career-stage-body p:last-child { margin-bottom: 0; }
.career-turning-point { margin: 28px 0; padding-left: 20px; border-left: 2px solid var(--accent); font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", serif; font-size: 20px; font-weight: 600; line-height: 1.8; }
.values-statement { max-width: 700px; }

.consultation-scope {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 52px;
  border-top: 2px solid var(--accent);
}
.consultation-scope section { min-width: 0; padding: 30px 46px 4px 0; }
.consultation-scope section + section { padding-right: 0; padding-left: 46px; border-left: 1px solid #d8d0c2; }
.scope-label { margin-bottom: 9px; color: var(--accent); font-size: 13px; font-weight: 700; }
.consultation-scope h3 { margin-bottom: 16px; font-size: 24px; text-wrap: balance; line-break: strict; word-break: normal; }
.consultation-scope p:last-child { max-width: 450px; margin-bottom: 0; }

.credentials-intro { margin-bottom: 30px; }
.credentials-list { max-width: 660px; margin: 0 auto 0 0; padding: 13px 0 0; border-top: 2px solid var(--accent); list-style: none; }
.credentials-list .credential-item { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "name" "meta"; }
.credentials-list .credential-item + .credential-item { margin-top: 16px; }
.credential-name { grid-area: name; font-size: 18px; font-weight: 700; line-height: 1.55; line-break: strict; word-break: normal; }
.credential-long-name { display: flex; flex-wrap: wrap; }
.credential-unit { display: inline-block; word-break: keep-all; overflow-wrap: normal; }
.credential-meta { grid-area: meta; width: 100%; margin-top: 7px; padding-top: 6px; border-top: 1px solid #d8d0c2; color: var(--muted); font-size: 14px; font-weight: 500; line-height: 1.5; text-align: right; }

.related-section .profile-reading { margin-bottom: 36px; }
.related-links { display: grid; grid-template-columns: 1.1fr 1fr 1fr; border-top: 2px solid var(--accent); }
.related-links section { display: flex; min-width: 0; padding: 29px 34px 4px 0; flex-direction: column; }
.related-links section + section { padding-left: 34px; border-left: 1px solid #d8d0c2; }
.related-links section:last-child { padding-right: 0; }
.related-label { margin-bottom: 8px; color: var(--accent); font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.related-links h3 { margin-bottom: 13px; font-size: 21px; line-break: strict; word-break: normal; }
.related-links h3 + p { margin-bottom: 20px; }
.related-links p:last-child { margin-top: auto; margin-bottom: 0; }
.related-links a { text-decoration-line: underline; }

.profile-page .contact-section { border-bottom-color: #d8d0c2; }
.profile-page input,
.profile-page select,
.profile-page textarea { background: #ffffff; }
.profile-page .submit-button:hover { background: #f0eadd; }

@media (max-width: 900px) {
  .profile-page .main-navigation { border-bottom-color: #d8d0c2; }
  .profile-page .main-navigation li + li { border-top-color: #d8d0c2; }
}

@media (max-width: 700px) {
  .profile-hero { padding: 58px 0 56px; }
  .profile-hero h1 { font-size: clamp(30px, 9vw, 36px); }
  .profile-heading-line { display: block; }
  .profile-identity { grid-template-columns: 1fr; gap: 25px; margin-top: 39px; padding-top: 28px; }
  .profile-portrait { width: min(220px, 100%); }
  .profile-person-name { font-size: 30px; }
  .profile-section { padding: 54px 0 58px; }
  .profile-section h2 { margin-bottom: 25px; }
  .profile-toc { padding: 40px 0 43px; }
  .profile-toc h2 { font-size: 21px; }
  .profile-toc ol { grid-template-columns: 1fr; }
  .profile-toc li:nth-child(odd),
  .profile-toc li:nth-child(even) { padding: 0; border-left: 0; }
  .profile-toc a { padding: 15px 0; }
  .career-timeline { margin-top: 31px; }
  .career-stage { padding: 32px 0 36px; }
  .career-stage h3 { margin-bottom: 20px; font-size: 22px; }
  .career-stage-body p { margin-bottom: 18px; }
  .career-turning-point { margin: 24px 0; padding-left: 16px; font-size: 18px; }
  .profile-quote { margin: 29px 0; padding-left: 18px; }
  .consultation-scope,
  .related-links { grid-template-columns: 1fr; }
  .consultation-scope section,
  .consultation-scope section + section,
  .related-links section,
  .related-links section + section { padding: 25px 0 28px; border-left: 0; }
  .consultation-scope section + section,
  .related-links section + section { border-top: 1px solid #d8d0c2; }
}

@media (max-width: 360px) {
  .profile-eyebrow,
  .section-marker { align-items: flex-start; }
  .profile-eyebrow::before,
  .section-marker::before { margin-top: .85em; }
  .profile-section h2 { font-size: 25px; }
  .profile-toc h2 { font-size: 20px; }
  .profile-toc a { gap: 14px; font-size: 15px; }
  .career-stage h3 { font-size: 21px; }
  .consultation-scope h3 { font-size: 21px; }
  .credential-name { font-size: 17px; }
}
