/* About-only composition. Shared company pages and site shell remain untouched. */
.about-page .about-hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:64px;padding-block:58px 70px;align-items:center}
.about-page .about-hero h1{font-size:clamp(65px,7.4vw,108px);line-height:.97;letter-spacing:-.035em}
.about-page .about-hero h1>.company-roll{display:grid;width:max-content;max-width:100%}
.about-page .company-deck{font-size:clamp(21px,2vw,25px);line-height:1.4;max-width:31ch;margin-top:25px}
.about-hero-note{font-size:17px;line-height:1.6;max-width:46ch;margin-top:20px}
.about-page .company-hero .quiet-action{margin-top:22px}
.club-mascot{margin:0;background:var(--frost)}
.club-mascot .photo-metadata{font-size:9px;padding:13px}
.mascot-stage{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:var(--oxblood);overflow:hidden}
.mascot-stage img{display:block;width:95%;height:95%;object-fit:contain;transform:rotate(-9deg)}
.club-mascot figcaption{display:flex;flex-direction:column;gap:8px;padding:17px 18px 19px;border-top:1px solid var(--oxblood);font-size:15px}
.club-mascot figcaption .micro{font-size:10px}
.about-page :is(.club-purpose,.tools-at-bench) h2{font-size:clamp(45px,5vw,70px);line-height:1.03;letter-spacing:-.025em}
.about-page .section-intro .micro{margin-bottom:20px}
.about-page .section-intro p:not(.micro){font-size:20px;line-height:1.55;margin-top:0}
.about-page .club-purpose{padding-block:76px}
.about-page .format-path{min-height:320px}
.about-page .format-path h3{margin-top:22px}
.club-people{scroll-margin-top:30px}
.people-board{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:54px}
.person-card{display:flex;flex-direction:column;min-width:0}
.person-status{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--oxblood);font-size:10px}
.founder-card{background:var(--frost)}
.person-portrait{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
.open-founder-card{background:var(--sulphur)}
.unfilled-portrait{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:4/3;border-bottom:1px solid var(--oxblood);position:relative;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(85,34,57,.14) 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),rgba(85,34,57,.14) 50%,transparent calc(50% + .5px))}
.empty-initial{font:500 clamp(100px,12vw,185px)/1 var(--display);letter-spacing:-.04em;display:block}
.unfilled-portrait>.micro{position:absolute;bottom:21px;font-size:10px}
.person-copy{padding:27px 28px 30px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.person-copy h3{font:500 clamp(34px,3.4vw,46px)/1.05 var(--display);letter-spacing:-.025em}
.person-copy p{font-size:17px;line-height:1.6;margin-top:20px}
.person-copy .person-aside{font-size:13px;line-height:1.5;margin-top:auto;padding-top:24px}
.person-copy .quiet-action{font-size:15px;margin-top:18px;width:100%}
.roster-mascot{grid-column:1/-1;display:grid;grid-template-columns:150px minmax(0,1fr);gap:30px;align-items:center;border-top:1px solid var(--oxblood);padding-top:28px}
.roster-mascot-picture{background:var(--oxblood);padding:12px}
.roster-mascot-picture img{width:100%;height:auto;display:block}
.roster-mascot h3{font:500 35px/1.05 var(--display);letter-spacing:-.02em}
.roster-mascot .micro{font-size:10px;margin-bottom:12px}
.roster-mascot p:last-child{font-size:16px;line-height:1.6;margin-top:14px;max-width:55ch}
.contributor-invitation{display:grid;grid-template-columns:.8fr 1.6fr;gap:50px;margin-top:70px;padding-top:34px;border-top:1px solid var(--oxblood)}
.contributor-heading h3{font:500 clamp(32px,3.7vw,48px)/1.05 var(--display);letter-spacing:-.02em}
.contributor-heading>p:last-child{font-size:16px;line-height:1.6;max-width:31ch;margin-top:20px}
.contributor-slips{display:grid;grid-template-columns:1fr;gap:25px}
.contributor-slip{display:flex;flex-direction:column;gap:18px;text-decoration:none;color:inherit;align-items:flex-start;padding:23px;border:1px dashed var(--oxblood)}
.contributor-slip .micro{font-size:9px;margin-bottom:0}
.contributor-slip strong{font:500 34px/1.08 var(--display);letter-spacing:-.02em}
.contributor-slip>span:not(.micro){font-size:15px;line-height:1.55}
.contributor-slip .slip-action{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border-bottom:1px solid var(--oxblood);margin-top:auto;padding-bottom:6px}
.contributor-slip:hover{background:var(--blue)}
.tools-at-bench{background:var(--blue);padding-block:80px}
.about-page .tools-at-bench .section-intro{align-items:start}
.about-page .tools-at-bench .tools-aside{font-size:14px;margin-top:18px}
.tool-bench{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--oxblood)}
.bench-tool{padding:26px 24px 28px;border-right:1px solid var(--line)}
.bench-tool:first-child{padding-left:0}
.bench-tool:last-child{border:0;padding-right:0}
.tool-name{display:flex;align-items:center;gap:12px;min-height:50px}
.tool-name h3{font:500 clamp(27px,2.4vw,35px)/1.1 var(--display);letter-spacing:-.02em}
.tool-name .tool-logo{width:37px;height:37px;object-fit:contain}
.openai-logo{display:block;width:43px;height:43px;overflow:hidden;flex:none;position:relative}
.openai-logo img{display:block;width:86px;height:86px;max-width:none;position:absolute;top:-21px;left:-21px}
.text-tool-name{flex-direction:column;align-items:flex-start;justify-content:center;gap:5px}
.text-tool-name>.micro{font-size:9px}
.bench-tool>p{font-size:15px;line-height:1.65;margin-top:24px;max-width:27ch}
.tool-bench-note{font-size:12px;line-height:1.6;margin-top:22px;max-width:75ch}
.about-page .stance-strip{border-top:0}
.about-page.focus-mode :is(.tools-at-bench,.open-founder-card,.mascot-stage){background:var(--frost)}
.about-page.focus-mode .contributor-slip:hover{background:var(--sulphur)}
@media(max-width:1100px){
 .about-page .about-hero-grid{gap:40px;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
 .about-page .about-hero h1{font-size:clamp(64px,7.8vw,85px)}
 .contributor-invitation{grid-template-columns:.8fr 1.4fr;gap:30px}
 .contributor-slips{gap:16px}.contributor-slip{padding:19px}.contributor-slip strong{font-size:25px}
 .bench-tool{padding-inline:16px}.tool-name{gap:8px}.tool-name h3{font-size:27px}.tool-name .tool-logo{width:30px;height:30px}
}
@media(max-width:760px){
 .about-page .about-hero-grid{grid-template-columns:1fr;gap:40px;padding-block:36px 47px}
 .about-page .about-hero h1{font-size:clamp(48px,11.3vw,78px)}
 .about-page .company-deck{font-size:22px;max-width:32ch}
 .about-hero-note{font-size:16px;max-width:45ch}
 .club-mascot{width:100%;max-width:440px;justify-self:center}.mascot-stage{aspect-ratio:1.12}
 .about-page :is(.club-purpose,.tools-at-bench){padding-block:52px}
 .about-page :is(.club-purpose,.tools-at-bench) h2{font-size:clamp(43px,10.5vw,62px)}
 .about-page .section-intro p:not(.micro){font-size:18px}
 .about-page .format-path{min-height:0}
 .people-board{grid-template-columns:1fr;gap:32px;margin-top:36px}
 .person-copy{padding:25px}.person-copy h3{font-size:36px}.person-copy p{font-size:16px}
 .roster-mascot{grid-template-columns:90px minmax(0,1fr);gap:20px}.roster-mascot h3{font-size:30px}.roster-mascot p:last-child{font-size:14px}
 .person-status{font-size:9px;padding:14px 18px}
 .empty-initial{font-size:150px}
 .contributor-invitation{grid-template-columns:1fr;gap:26px;margin-top:45px;padding-top:28px}
 .contributor-heading h3{font-size:36px}.contributor-heading h3 br{display:none}
 .contributor-heading>p:last-child{max-width:40ch}
 .contributor-slips{grid-template-columns:1fr;gap:18px}.contributor-slip{padding:23px}.contributor-slip strong{font-size:29px}
 .tool-bench{grid-template-columns:1fr 1fr}
 .bench-tool,.bench-tool:first-child,.bench-tool:last-child{padding:24px 20px}
 .bench-tool:nth-child(2n){border-right:0}
 .bench-tool:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .bench-tool:nth-child(2n+1){padding-left:0}
 .tool-name{min-height:44px}.tool-name h3{font-size:28px}
 .bench-tool>p{font-size:14px;line-height:1.6;margin-top:19px}
 .about-page .company-next h2{font-size:50px}
}
@media(max-width:380px){
 .tool-name{gap:5px}.tool-name h3{font-size:24px}.tool-name .tool-logo{width:25px;height:25px}
 .bench-tool,.bench-tool:first-child,.bench-tool:last-child{padding-right:10px}
 .bench-tool:nth-child(2n){padding-left:14px}
}
