
.profile-intro{padding:45px var(--gutter) 100px}.profile-intro h1{font:400 clamp(100px,14vw,210px)/.95 var(--serif);letter-spacing:-.045em;margin:0;padding-bottom:35px;border-bottom:1px solid var(--line)}
.profile-story{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding-top:65px;align-items:center}.profile-work{margin:0;padding:13px;background:var(--light);transform:rotate(-2deg);box-shadow:0 15px 45px #333c2f15}.profile-work button{position:relative;display:block;width:100%;padding:0;border:0;cursor:zoom-in;background:none}.profile-work img{display:block;width:100%;height:auto}.profile-work .image-plus{font-size:26px}
.profile-signature{padding:35px 0 0 20px;display:flex;justify-content:space-between;align-items:baseline;gap:20px}.profile-signature h2{font:400 27px/1.7 var(--jp);letter-spacing:.12em;margin:0}.profile-signature p{font:italic 31px/1.3 var(--serif);margin:0;color:var(--muted)}
.profile-letter p{font:400 15px/2.45 var(--sans);letter-spacing:.045em;margin:0 0 28px}.profile-letter p:last-child{margin-bottom:0}.profile-letter br{display:none}
.profile-history{padding:90px var(--gutter);background:var(--sage);display:grid;grid-template-columns:1fr 2fr;gap:7vw}.history-brand{font:400 clamp(50px,6vw,90px)/1.06 var(--serif);letter-spacing:-.03em;position:sticky;top:125px;align-self:start}.history-brand em{font-weight:400}.profile-history dl{margin:0}.history-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:25px;border-top:1px solid #bac1af;padding:24px 0}.history-row:last-child{border-bottom:1px solid #bac1af}.history-row dt{font-size:13px;line-height:2}.history-row dd{margin:0;font-size:13px;line-height:2;letter-spacing:.035em}
.profile-current{padding:80px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:45px;border-bottom:1px solid var(--line)}.profile-current p{font-size:14px;line-height:2.3;letter-spacing:.04em;margin:0}.profile-lesson-link{font:400 56px/1.2 var(--serif);display:flex;align-items:center;gap:45px;border-bottom:1px solid var(--ink);padding:15px 0;flex-shrink:0}.profile-lesson-link span{font:300 36px var(--sans)}.profile-page .image-prev,.profile-page .image-next,.profile-page .image-counter{display:none}
@media(max-width:1050px){.profile-story{gap:40px}.profile-letter p{font-size:14px}.profile-signature{display:block;padding-left:0}.profile-signature p{margin-top:8px}.profile-history{grid-template-columns:1fr 2.4fr;gap:40px}.history-row{grid-template-columns:130px minmax(0,1fr);gap:20px}.profile-current{gap:35px}}
@media(max-width:800px){.profile-intro{padding-top:35px;padding-bottom:50px}.profile-story{grid-template-columns:1fr;padding-top:35px;gap:35px}.profile-signature{display:flex;padding-top:25px}.profile-signature h2{font-size:24px}.profile-signature p{font-size:27px;margin:0}.profile-letter p{font-size:14px;line-height:2.35}.profile-history{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:30px}.history-brand{position:static;font-size:50px}.history-brand br{display:none}.history-row{grid-template-columns:1fr;gap:7px;padding:21px 0}.history-row dt{font-size:12px;color:var(--muted)}.history-row dd{font-size:13px}.profile-current{display:block;padding-top:45px;padding-bottom:45px}.profile-current p{font-size:13px}.profile-current br{display:none}.profile-lesson-link{margin-top:25px;max-width:220px;justify-content:space-between;font-size:44px}}

.profile-intro,.profile-current{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:var(--content-gutter)}
.profile-history{padding-inline:max(var(--content-gutter),calc((100% - var(--content-inner-max))/2))}
@media(min-width:1440px){.profile-story,.profile-history{gap:100.8px}}

/* Introduce the author before the profile text. */
.profile-letter .profile-signature{display:block;padding:0;margin:0 0 32px}
.profile-letter .profile-signature h2{font:400 clamp(32px,3.2vw,42px)/1.5 var(--jp);letter-spacing:.12em;margin:0}
.profile-letter .profile-signature p{font:italic 28px/1.4 var(--serif);letter-spacing:0;color:var(--muted);margin:8px 0 0}
@media(max-width:800px){.profile-letter .profile-signature{margin-bottom:25px}.profile-letter .profile-signature p{font-size:25px}}

/* A quiet timeline: one connecting line, with no horizontal table rules. */
.profile-history .history-title{font:400 clamp(26px,2.4vw,34px)/1.7 var(--jp);letter-spacing:.06em;margin:0;position:sticky;top:125px;align-self:start}
.profile-history dl{min-width:0;padding-left:5px}
.profile-history .history-row{position:relative;display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;border:0;padding:0 0 38px 30px}
.profile-history .history-row::before{content:"";position:absolute;left:-4px;top:11px;width:9px;height:9px;background:var(--red);border-radius:50%;z-index:1}
.profile-history .history-row::after{content:"";position:absolute;left:0;top:16px;bottom:-16px;width:1px;background:#adb6a2}
.profile-history .history-row:last-child{padding-bottom:0;border:0}
.profile-history .history-row:last-child::after{display:none}
.profile-history .history-row dt{color:var(--ink);font-weight:500}
@media(max-width:1100px){.profile-history .history-row{grid-template-columns:minmax(0,1fr);gap:6px}}
@media(max-width:800px){.profile-history .history-title{position:static}.profile-history .history-row{padding-left:25px;padding-bottom:30px}.profile-history .history-row:last-child{padding-bottom:0}}

/* Bring the timeline closer to its heading while retaining the content-width cap. */
@media(min-width:801px){section.profile-history{grid-template-columns:clamp(200px,20vw,240px) minmax(0,1fr);column-gap:40px}}
