/* Exact Butokukai profile content, presented in the school’s forest-green design. */
.profile-wrap{padding-block:48px 88px}
.profile-wrap .back-link{display:inline-block;font-size:13px;font-weight:600;margin-bottom:38px}
.profile-wrap .profile-intro{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(36px,5vw,76px);align-items:start}
.profile-wrap .profile-intro>*{min-width:0}
.profile-wrap figure{margin:0}
.profile-wrap .profile-portrait{max-width:520px;border-radius:var(--radius)}
.profile-wrap .profile-summary h1{font-size:clamp(42px,4.6vw,64px);line-height:1.08;margin-bottom:24px}
.profile-wrap .profile-summary .eyebrow{margin-bottom:16px}
.profile-wrap .profile-primary-roles{border-left:3px solid var(--forest);padding-left:20px;margin:0 0 24px}
.profile-wrap .profile-primary-title{font-size:19px;line-height:1.5;margin-bottom:10px}
.profile-wrap .profile-primary-title:last-child{margin-bottom:0}
.profile-wrap .profile-rank{font-weight:700;font-size:18px;margin-bottom:7px}
.profile-wrap .profile-teaching-title{font-size:16px;color:var(--muted);margin-bottom:26px}
.profile-wrap .profile-milestones{display:flex;flex-wrap:wrap;gap:24px 40px;border-top:1px solid var(--line);padding-top:20px;margin:24px 0 0}
.profile-wrap .profile-milestones dt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.profile-wrap .profile-milestones dd{font-family:Georgia,serif;font-size:30px;margin:0}
.profile-wrap .profile-designation{background:var(--lime);border-left:3px solid var(--forest);padding:24px;margin-block:26px}
.profile-wrap .profile-designation h2{font-size:32px;margin-bottom:10px}
.profile-wrap .profile-designation .eyebrow{font-size:10px;margin-bottom:12px}
.profile-wrap .profile-designation .designation-english{font-size:16px;font-weight:700;margin-bottom:10px}
.profile-wrap .profile-designation p:last-child{font-size:15px;line-height:1.65;margin:0}
.profile-wrap .profile-roles{border-top:1px solid var(--line);padding-top:24px;margin-top:26px}
.profile-wrap .profile-roles h2{font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.5;margin-bottom:14px}
.profile-wrap .profile-roles ul{padding-left:20px;margin:0;font-size:15px;line-height:1.7}
.profile-wrap .profile-roles li+li{margin-top:5px}
.profile-wrap .profile-story{margin-top:64px;padding-top:48px;border-top:1px solid var(--line)}
.profile-wrap .profile-story.has-action{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,5vw,70px);align-items:start}
.profile-wrap .profile-story>*{min-width:0}
.profile-wrap .profile-bio h2,.profile-wrap .profile-yearbook-reflection h2,.profile-wrap .profile-yearbook-gallery h2,.profile-wrap .profile-related h2{font-size:clamp(32px,3vw,44px);margin-bottom:25px}
.profile-wrap .profile-bio p,.profile-wrap .profile-yearbook-reflection p:not(.eyebrow){font-size:17px;line-height:1.85;overflow-wrap:anywhere}
.profile-wrap .profile-action img{height:auto;object-fit:contain;border-radius:var(--radius)}
.profile-wrap figcaption{font-size:12px;line-height:1.65;color:var(--muted);margin-top:12px}
.profile-wrap figcaption span{display:block;font-size:11px}
.profile-wrap .profile-yearbook-reflection{margin-top:64px;border-top:1px solid var(--line);padding-top:48px;max-width:900px}
.profile-wrap .profile-yearbook-gallery{margin-top:56px}
.profile-wrap .profile-memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.profile-wrap .profile-memory-grid img{height:auto;max-height:380px;object-fit:contain;background:#E9EDF6}
.profile-wrap .profile-related{margin-top:64px;padding-top:38px;border-top:1px solid var(--line)}
.profile-wrap .profile-related>div{display:flex;flex-wrap:wrap;gap:14px}
.profile-wrap .profile-related a{display:inline-flex;gap:20px;align-items:center;border:1px solid var(--line);padding:14px 18px;text-decoration:none;font-size:13px;font-weight:600}
.profile-wrap .profile-related a:hover{background:var(--lime)}
.grid.staff-grid .staff-current-rank{font-size:13px;font-weight:600;color:var(--forest)}
@media(max-width:760px){.profile-wrap{padding-block:30px 58px}.profile-wrap .back-link{margin-bottom:28px}.profile-wrap .profile-intro,.profile-wrap .profile-story.has-action{grid-template-columns:1fr;gap:32px}.profile-wrap .profile-portrait{max-width:520px}.profile-wrap .profile-summary h1{font-size:42px}.profile-wrap .profile-story{margin-top:40px;padding-top:34px}.profile-wrap .profile-bio p,.profile-wrap .profile-yearbook-reflection p:not(.eyebrow){font-size:16px;line-height:1.8}.profile-wrap .profile-yearbook-reflection,.profile-wrap .profile-related{margin-top:40px;padding-top:32px}.profile-wrap .profile-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-wrap .profile-related>div{display:grid}.profile-wrap .profile-related a{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.profile-wrap .profile-story:not(.has-action) .profile-bio{max-width:75ch}
.profile-wrap .profile-related a span[aria-hidden="true"]{display:inline-block;position:relative;width:14px;height:14px;font-size:0;flex:0 0 14px}
.profile-wrap .profile-related a span[aria-hidden="true"]::before{content:"";position:absolute;right:1px;top:1px;width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}
.profile-wrap .profile-related a span[aria-hidden="true"]::after{content:"";position:absolute;right:1px;top:1px;width:15px;height:1.5px;background:currentColor;transform:rotate(-45deg);transform-origin:right center}
