/* About page */
.about-hero{padding-bottom:0}
.about-hero .page-hero-grid{padding-bottom:clamp(2.5rem,5vw,3.5rem);align-items:end}
.about-title{font-size:clamp(2.5rem,5.2vw,4.6rem)}
.about-photo{position:relative;justify-self:end;width:min(460px,100%);aspect-ratio:1/1.02;border-radius:var(--r-card);background:radial-gradient(120% 90% at 50% 100%,color-mix(in srgb,var(--purple) 35%,transparent),transparent 70%),var(--ink-2);border:1px solid var(--ink-line);overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.about-photo>img{width:88%;height:auto}
.about-photo figcaption{position:absolute;left:14px;bottom:14px;display:flex;align-items:center;gap:.6rem;padding:.55rem .8rem .55rem .55rem;border-radius:14px;background:color-mix(in srgb,var(--ink) 80%,transparent);border:1px solid var(--ink-line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:.82rem;color:var(--ink-muted)}
.about-photo figcaption img{width:36px;height:36px;border-radius:8px}
.about-photo figcaption b{display:block;color:var(--ink-text);font-size:.9rem}
@media (max-width:900px){.about-photo{justify-self:start;width:min(380px,100%)}}

.story{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.story-body{margin-top:1.5rem;display:grid;gap:1rem;color:var(--muted);max-width:62ch}
.pull{margin-top:2rem;padding:1.4rem 1.5rem;border-radius:var(--r-surface);background:var(--accent-soft);font-size:clamp(1.15rem,1.6vw,1.35rem);font-weight:600;letter-spacing:-.01em;line-height:1.4;color:var(--text)}
.tl-title{margin-bottom:1.25rem}
.tl{list-style:none;position:relative;display:grid;gap:1.4rem;padding-left:1.5rem;border-left:2px solid var(--line)}
.tl li{position:relative}
.tl li::before{content:"";position:absolute;left:calc(-1.5rem - 7px);top:.35rem;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--purple)}
.tl li:first-child::before{background:var(--purple)}
.tl-when{font-size:.8rem;font-weight:650;color:var(--link)}
.tl b{display:block;font-size:1.05rem;font-weight:680;letter-spacing:-.01em;margin-top:.1rem}
.tl p{color:var(--muted);font-size:.93rem;margin-top:.25rem}
@media (max-width:900px){.story{grid-template-columns:1fr}}

.creds-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}
.mvp-card{display:flex;gap:1.25rem;align-items:flex-start;padding:1.75rem;border-radius:var(--r-card);background:var(--surface);border:1px solid color-mix(in srgb,var(--purple) 40%,transparent)}
.mvp-card img{width:96px;height:96px;border-radius:16px;flex:none}
.mvp-card h3{font-size:1.35rem;margin-bottom:.5rem}
.mvp-card p{color:var(--muted)}
.cert-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem;padding:.5rem 1.5rem;border-radius:var(--r-card);background:var(--surface);border:1px solid var(--line)}
.cert-list li{display:flex;gap:.6rem;align-items:flex-start;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.93rem}
.cert-list li:nth-last-child(-n+2){border-bottom:0}
.cert-list .i{width:18px;height:18px;margin-top:.15rem;color:var(--done);flex:none}
.langs{margin-top:2.5rem}
.langs h3{font-size:1.1rem;margin-bottom:1rem}
.langs ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.langs li{display:grid;gap:.2rem;padding:1rem 1.1rem;border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line)}
.flags{display:flex;gap:.3rem;margin-bottom:.4rem}
.flags img{width:24px;height:18px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px var(--line)}
.langs b{font-weight:680}
.langs em{font-style:normal;font-size:.85rem;color:var(--muted)}
@media (max-width:900px){.creds-grid{grid-template-columns:1fr}.langs ul{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cert-list{grid-template-columns:1fr}.cert-list li:nth-last-child(2){border-bottom:1px solid var(--line)}.mvp-card{flex-direction:column}}

.speak{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem clamp(2rem,5vw,4.5rem);align-items:start}
.speak .lede{margin-top:1.25rem}
.events{list-style:none;display:grid;border-top:1px solid var(--line)}
.events li{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.events b{font-weight:650}
.events span{color:var(--muted)}
@media (max-width:900px){.speak{grid-template-columns:1fr}}
/* Name tag sits bottom right, text right aligned, MVP mark on the outer edge */
.about-photo figcaption{left:auto;right:14px;flex-direction:row-reverse;text-align:right;padding:.55rem .55rem .55rem .8rem}
.cert-list .cert-logo{width:20px;height:20px;flex:none;margin-top:.1rem}
.events li{align-items:center}
.events b{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .6rem}
.ev-tag{font-style:normal;font-size:.72rem;font-weight:650;color:var(--done);background:var(--done-soft);padding:.12rem .5rem;border-radius:99px}
.events li>span{display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap}
.ev-flag{width:24px;height:18px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px var(--line)}
.events b a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--link) 45%,transparent);text-underline-offset:4px}
@media (hover:hover) and (pointer:fine){.events b a:hover{color:var(--link);text-decoration-color:currentColor}}
.events li{flex-wrap:wrap;row-gap:.35rem}
.events b{min-width:0}
