/* About page: shared Corpus typography, surfaces and control styles. */
.about-page-hero{padding:24px 40px 32px;background:var(--purple-soft);border-radius:24px}
.about-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:48px;margin-top:24px}
.about-hero-copy{min-width:0}
.about-hero-copy h1{font:600 5rem/1.05 var(--font-heading);letter-spacing:-.045em;margin-top:20px}
.about-hero-copy h1>span{display:block;color:var(--purple)}
.about-hero-copy>p:not(.section-label){font:400 var(--type-lead-size)/var(--type-lead-line) var(--font-body);color:var(--text-secondary);max-width:39ch;margin-top:20px}
.about-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 24px;margin-top:24px}
.about-hero-actions .button{max-width:100%}
.about-text-link{display:inline-flex;align-items:center;gap:12px;color:var(--purple);font:500 var(--type-control-size)/var(--type-control-line) var(--font-body)}
.about-text-link:hover{text-decoration:underline;text-underline-offset:5px}
.about-hero-image{min-width:0;margin:0;border-radius:20px;overflow:hidden;background:#ded6e8;height:400px}
.about-hero-image>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.about-page-numbers{padding:40px;border-bottom:1px solid var(--border-subtle)}
.about-page-numbers .about-stats{padding:0;border:0;gap:32px}
.about-page-numbers .about-stats dd{font-size:56px;line-height:64px}
.about-introduction{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:64px}
.about-introduction h2,.about-section-heading h2,.about-purpose h2,.about-team h2,.about-final-cta h2{font:600 52px/1.1 var(--font-heading);letter-spacing:-.04em;margin-top:20px}
.about-introduction h2>span,.about-section-heading h2>span,.about-purpose h2>span,.about-team h2>span{color:var(--purple)}
.about-intro-copy{padding-top:34px}
.about-intro-copy>p{color:var(--text-secondary);margin-bottom:20px}
.about-intro-copy .about-text-link{margin-top:8px}
.about-section-heading{margin-bottom:36px}
.about-section-heading>p:not(.section-label){margin-top:24px;color:var(--muted)}
.about-approach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:28px}
.about-approach-grid li{min-width:0;border-top:1px solid var(--border-subtle);padding-top:24px}
.about-step-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;color:var(--purple)}
.about-step-top>span{font:500 14px/22px var(--font-body)}
.about-step-top .icon{width:28px;height:28px}
.about-approach-grid h3,.about-benefits-grid h3{font:600 24px/32px var(--font-heading);letter-spacing:-.025em}
.about-approach-grid h3{max-width:16ch;min-height:64px}
.about-approach-grid p{margin-top:16px;color:var(--text-secondary)}
.about-purpose.section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0}
.about-purpose article{padding:44px;border-radius:24px;background:var(--purple-soft);min-width:0}
.about-purpose article+article{background:#eaf6fc}
.about-purpose article+article h2>span{color:#0876a6}
.about-purpose article>p:not(.section-label){max-width:44ch;margin-top:28px;color:var(--text-secondary)}
.about-benefits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.about-benefits-grid article{min-width:0;padding:28px;border:1px solid var(--border-subtle);border-radius:20px}
.about-benefits-grid article>.icon{width:28px;height:28px;margin-bottom:20px;color:var(--purple)}
.about-benefits-grid p{margin-top:16px;color:var(--text-secondary)}
.about-team{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px;align-items:start}
.about-team-intro{position:sticky;top:120px}
.about-team-intro>p:not(.section-label){margin-top:24px;color:var(--text-secondary);max-width:38ch}
.about-team-intro .button{margin-top:28px}
.about-team-grid{display:grid;gap:0;border-top:1px solid var(--border-subtle)}
.about-team-card{display:flex;align-items:center;gap:24px;min-width:0;padding:20px 0;border-bottom:1px solid var(--border-subtle)}
.about-team-portrait{display:block;width:96px;height:128px;flex:none;border-radius:12px;object-fit:cover;object-position:center top;background:var(--purple-soft)}
.about-team-card>div{min-width:0}
.about-team-card h3{font:600 22px/30px var(--font-heading);letter-spacing:-.025em}
.about-team-card p{margin-top:8px;color:var(--text-secondary)}
.about-team-card .about-team-role{font-size:var(--type-small-size);line-height:var(--type-small-line)}
.about-final-cta{margin:var(--space-section) 0 24px;padding:64px 32px;background:var(--purple);color:white;border-radius:24px;text-align:center}
.about-final-cta .section-label{justify-content:center;color:#f1e9fc}
.about-final-cta .section-label>span{background:var(--lime)}
.about-final-cta h2>span{color:var(--lime)}
.about-final-cta>p:not(.section-label){max-width:57ch;margin:24px auto 0;color:#f1e9fc}
.about-final-cta>div{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}
.about-final-cta .about-text-link{color:white}

@media(max-width:1100px){
 .about-page-hero{padding:24px 32px 32px}
 .about-hero-layout{gap:28px}
 .about-hero-copy h1{font-size:56px;line-height:64px}
 .about-hero-image{height:360px}
 .about-page-numbers{padding:32px 24px}
 .about-page-numbers .about-stats dd{font-size:48px;line-height:56px}
 .about-introduction,.about-team{gap:36px}
 .about-introduction h2,.about-section-heading h2,.about-purpose h2,.about-team h2,.about-final-cta h2{font-size:40px;line-height:48px}
 .about-approach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
 .about-approach-grid h3{max-width:none;min-height:0}
 .about-purpose article{padding:32px}
 .about-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media(max-width:760px){
 .about-hero-layout,.about-introduction,.about-team{grid-template-columns:1fr}
 .about-hero-copy{max-width:550px}
 .about-hero-image{height:auto;aspect-ratio:1.6;margin-top:0}
 .about-introduction{gap:28px}
 .about-intro-copy{padding-top:0}
 .about-team-intro{position:static}
 .about-purpose.section{grid-template-columns:1fr}
}
@media(max-width:540px){
 .about-page-hero{padding:24px;border-radius:20px}
 .about-hero-layout{margin-top:24px;gap:24px}
 .about-hero-copy h1{font-size:40px;line-height:48px;margin-top:16px}
 .about-hero-copy>p:not(.section-label){margin-top:20px}
 .about-hero-actions{margin-top:24px;gap:20px}
 .about-page-numbers{padding:28px 12px}
 .about-page-numbers .about-stats{gap:24px}
 .about-page-numbers .about-stats dd{font-size:40px;line-height:48px}
 .about-introduction h2,.about-section-heading h2,.about-purpose h2,.about-team h2,.about-final-cta h2{font-size:32px;line-height:40px}
 .about-section-heading>p:not(.section-label){margin-top:20px}
 .about-approach-grid{grid-template-columns:1fr;gap:28px}
 .about-step-top{margin-bottom:16px}
 .about-purpose article{padding:28px 24px}
 .about-purpose article>p:not(.section-label){margin-top:20px}
 .about-benefits-grid{grid-template-columns:1fr;gap:16px}
 .about-benefits-grid article{padding:24px}
 .about-team-card{gap:16px}
 .about-team-portrait{width:84px;height:112px}
 .about-team-card h3{font-size:20px;line-height:28px}
 .about-final-cta{padding:40px 24px}
}

/* Portrait gallery: large, equally weighted cards with manual navigation. */
.about-team{display:block}
.about-team-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:36px}
.team-controls{display:flex;gap:10px;flex:none}
.team-arrow{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:white;background:var(--purple)}
.team-arrow:first-child .icon{transform:rotate(180deg)}
.team-arrow:disabled{opacity:.3;cursor:default}
.team-arrow:focus-visible,.team-track:focus-visible{outline:3px solid var(--purple);outline-offset:4px}
.team-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:20px;overscroll-behavior-x:contain}
.team-track::-webkit-scrollbar{display:none}
.team-track>article{flex:0 0 calc((100% - 60px)/4);min-width:270px;height:390px;border-radius:20px;overflow:hidden;scroll-snap-align:start}
.team-welcome{display:flex;flex-direction:column;justify-content:space-between;padding:28px;background:var(--purple);color:white}
.team-welcome-icon>.icon{width:32px;height:32px;color:var(--lime)}
.team-welcome h3{font:600 30px/36px var(--font-heading);letter-spacing:-.025em}
.team-welcome p{margin-top:16px;color:#f2edf8}
.team-contact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 0;margin-top:24px;border-top:1px solid #ffffff40;background:none;color:white;font:500 16px/24px var(--font-body);text-align:left}
.team-photo-card{position:relative;background:var(--purple-soft)}
.team-photo-card>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.team-photo-caption{position:absolute;inset:auto 0 0;padding:70px 24px 24px;background:linear-gradient(transparent,rgba(22,16,31,.8) 65%,rgba(22,16,31,.92));color:white}
.team-photo-caption h3{font:600 22px/28px var(--font-heading);letter-spacing:-.025em}
.team-photo-caption p{font:400 14px/22px var(--font-body);margin-top:6px;color:#f3edf9}
@media(max-width:1100px){.team-track>article{flex-basis:calc((100% - 40px)/3);min-width:260px}}
@media(max-width:760px){.about-team-heading{align-items:flex-end;gap:20px}.team-track>article{flex-basis:calc((100% - 20px)/2);min-width:250px}.team-welcome{padding:24px}}
@media(max-width:540px){.about-team-heading{flex-wrap:wrap;margin-bottom:24px}.about-team-heading h2{max-width:10ch}.team-track{gap:16px}.team-track>article{flex-basis:86%;min-width:0;height:370px}.team-welcome h3{font-size:28px;line-height:34px}.team-photo-caption{padding:64px 20px 24px}}
