.about-hero{padding:72px 0 80px;background:var(--bg)}
.about-hero-grid.has-portrait{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:center}
.about-hero-media{position:relative}
.about-hero-media img{width:100%;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow)}
.about-hero-media::after{content:"";position:absolute;left:-14px;bottom:-14px;width:90px;height:90px;border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);border-radius:0 0 0 8px}
.about-name{font-size:clamp(2rem,4.5vw,2.9rem);margin:.1em 0 .1em}
.about-role{color:var(--accent-dark);font-weight:600;font-size:1.1rem;margin:0 0 1.2em}
.about-hero-body .rich-text{font-size:1.08rem;color:var(--ink-soft)}
.about-cta{margin-top:8px}@media (max-width:800px){.about-hero-grid.has-portrait{grid-template-columns:1fr;gap:32px}.about-hero-media{max-width:300px}}.section-alt .timeline{border-left:none;margin-top:8px}
.section-alt .timeline-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px 22px 30px;margin-bottom:16px;position:relative;box-shadow:0 4px 18px rgba(26,35,50,.04)}
.section-alt .timeline-item::before{left:0;top:0;bottom:0;top:0;width:4px;height:auto;border-radius:var(--radius) 0 0 var(--radius);background:var(--accent);border:none}
.section-alt .timeline-year{display:inline-block;background:var(--ink);color:#fff;padding:3px 12px;border-radius:50px;font-size:.78rem;letter-spacing:.04em;margin-bottom:8px}
.section-alt .timeline-text{font-size:1.02rem;color:var(--ink-soft)}