.bio-shell{--timeline-date-width:clamp(112px,12.5vw,150px);--timeline-axis-width:52px;width:min(1200px,calc(100% - var(--site-gutter) - var(--site-gutter)));margin:0 auto;padding-bottom:68px}
.bio-data-note{margin:0 0 48px;padding:15px 20px;border-left:3px solid #7699ea;background:#f1f6fd;color:#5d6c80;font-size:16px;line-height:1.75;letter-spacing:.5px}
.life-timeline{position:relative;width:min(100%,1000px);margin:0;padding:0;list-style:none}
.life-timeline::before{content:"";position:absolute;top:15px;bottom:44px;left:calc(var(--timeline-date-width) + 25px);width:2px;background:linear-gradient(#b6c9e9,#0644c8,#b6c9e9)}
.life-event{display:grid;grid-template-columns:var(--timeline-date-width) var(--timeline-axis-width) minmax(0,1fr);align-items:start;min-height:170px;padding-bottom:34px}
.life-date{padding-top:12px;text-align:right;color:#0644c8}
.life-date strong{display:block;font-size:31px;line-height:1.1;letter-spacing:1px}
.life-date span{display:block;margin-top:8px;color:#8998aa;font-size:14px;letter-spacing:1px}
.life-node{position:relative;z-index:1;justify-self:center;width:18px;height:18px;margin-top:20px;border:4px solid #fff;border-radius:50%;background:#0644c8;box-shadow:0 0 0 2px #8caef0}
.life-card{padding:24px 28px;border:1px solid #e7eef7;border-radius:8px;background:#fff;box-shadow:0 8px 28px #16375d0b;transition:transform .25s,box-shadow .25s}
.life-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #16375d18}
.life-index{color:#8aa3d5;font-size:12px;letter-spacing:1.5px}
.life-card h2{margin:9px 0 11px;color:#10294f;font-size:23px}
.life-card p{margin:0;color:#59697e;font-size:16px;line-height:1.85}
.bio-return{display:inline-flex;align-items:center;min-height:40px;margin-left:calc(var(--timeline-date-width) + var(--timeline-axis-width));color:#0644c8;font-size:14px;transition:transform .2s}
.bio-return:hover{transform:translateX(-4px)}
.bio-quote-wrap{width:min(350px,100%);margin:4px 0 28px auto}
.life-gallery{margin-top:14px;padding-top:12px;border-top:1px solid #e9eef5}
.life-gallery-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.life-gallery-list img{display:block;width:100%;height:118px;object-fit:cover;border-radius:5px}
@media(max-width:700px){
  .bio-shell{padding-bottom:42px}
  .bio-data-note{margin:0 0 34px;font-size:14px}
  .life-timeline::before{left:9px;top:11px;bottom:32px}
  .life-event{grid-template-columns:20px minmax(0,1fr);column-gap:16px;min-height:0;padding-bottom:30px}
  .life-node{grid-column:1;grid-row:1 / span 2;width:16px;height:16px;margin-top:3px}
  .life-date{grid-column:2;grid-row:1;padding:0 0 10px;text-align:left}
  .life-date strong,.life-date span{display:inline;font-size:15px;letter-spacing:.5px}
  .life-date span{margin-left:8px}
  .life-card{grid-column:2;grid-row:2;padding:19px 20px}
  .life-card h2{font-size:19px}
  .life-card p{font-size:14px}
  .bio-return{margin-left:36px}
  .life-gallery-list{gap:5px}
  .life-gallery-list img{height:90px}
}
@media(prefers-reduced-motion:reduce){.life-card,.bio-return{transition:none}}
