/* About shares the established dark, green and condensed-heading system. */
body { background:var(--bg-deep); }
.starfield { background:var(--bg-deep); }
main,main>section,main>section:nth-of-type(even) { background:transparent; }
main>section+section::before { content:none; }
.site-header .nav-progress { width:100%; transform:none; background:#d90000; will-change:auto; }
.nav-links a::before { content:none; }
.site-footer { background:#08080c; }
.footer-brand-block { width:fit-content; max-width:100%; text-align:center; }
.footer-brand-block .brand-logo { margin-inline:auto; }
.footer-brand-block p { max-width:none; text-align:center; }
.about-team { padding:64px 0 72px; }
.about-team .section-head { margin-bottom:44px; }
.about-eyebrow { color:var(--green); border-color:var(--green-line); background:var(--green-soft); }
.about-eyebrow .dot { background:radial-gradient(circle at 50% 50%,var(--green) 0 2.4px,transparent 2.6px); }
.about-eyebrow .dot::before { border-color:var(--green-line); }
.about-eyebrow .dot::after { background:var(--green); box-shadow:0 0 6px rgba(47,212,122,.65); }
.section { padding-top:72px; padding-bottom:72px; }
.section--tight { padding-top:48px; padding-bottom:48px; }
.card.reveal,.roster.reveal,.roster-head.reveal,.voices-head.reveal,.voice.reveal { opacity:1; transform:none; }
.grid-3>.card { border-radius:12px; padding:28px; }
.grid-3 .icon-chip { background:none; border:0; box-shadow:none; color:var(--green); }
.grid-3 .icon-chip::before,.grid-3 .icon-chip::after { content:none; }
.grid-3 .icon-chip svg { stroke:var(--green); }

.about-founder-copy p { font-size:17px; line-height:1.7; color:var(--text-soft); margin-top:18px; }
.roster-head .section-title,.voices-head .section-title { font-size:clamp(30px,3.5vw,42px); line-height:1.15; }
.roster-note { font-size:16px; line-height:1.65; }
.roster-key { font-size:14px; letter-spacing:.06em; }
.roster-key b { font-size:13px; color:var(--green); }
.roster-names span { font-size:15px; }
.roster-names span:hover { border-color:var(--green-line); background:var(--green-soft); }
.voice { border-radius:12px; padding:26px; background:var(--surface); }
.voice footer { font-size:13px; letter-spacing:normal; line-height:1.5; text-transform:none; }
.voice--lead p { font-size:18px; line-height:1.65; }
.about-cta { padding-bottom:72px; }
@media(max-width:760px) { .about-team { padding-top:48px; } .section { padding-top:48px; padding-bottom:48px; } .section--tight { padding-top:36px; padding-bottom:36px; } }

.about-mobile-contact { display:none; }
@media(max-width:600px) {
 .about-mobile-contact { display:inline; }
 .nav-social { display:none; }
 .site-header .brand-logo { width:130px; max-width:40vw; height:auto; }
 .nav,.nav-cta { gap:8px; }
 .nav-cta .btn { padding:10px 12px; min-width:0; }
}

.founder-headshot-placeholder { float:right; width:260px; max-width:100%; margin:0 0 24px 32px; border:1px solid var(--border); border-radius:12px; overflow:hidden; background:var(--surface); }
.founder-headshot-art { aspect-ratio:4/5; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; color:var(--text-muted); font-size:14px; background:radial-gradient(circle at center,rgba(47,212,122,.06),transparent 75%); }
.founder-headshot-art svg { width:90px; height:90px; stroke:var(--green); stroke-width:1.5; stroke-linecap:round; }
.founder-headshot-placeholder figcaption { padding:18px; border-top:1px solid var(--border-soft); }
.founder-headshot-placeholder strong { display:block; font-family:var(--font-heading); font-size:22px; }
.founder-headshot-placeholder figcaption span { color:var(--text-muted); font-size:14px; }
.about-founder-copy::after { content:""; display:block; clear:both; }
@media(max-width:650px) { .founder-headshot-placeholder { float:none; width:260px; margin:0 auto 28px; } }

/* Give the extended biography readable lines and a portrait alongside its opening. */

.founder-headshot-placeholder { width:300px; margin:0 0 28px 40px; }
.about-founder-copy .section-title { font-size:clamp(30px,3.5vw,42px); }
@media(max-width:700px) {
  .founder-headshot-placeholder { float:none; width:280px; margin:0 auto 32px; }
}

/* Two identical groups keep the testimonial scroll continuous. */
.voices-viewport {
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.voices-viewport:focus-visible { outline:2px solid var(--green); outline-offset:6px; }
.voices-track { display:flex; width:max-content; animation:testimonial-scroll 64.286s linear infinite; }
.voices-group { display:flex; gap:20px; padding-right:20px; align-items:stretch; }
.voices-group .voice { flex:0 0 auto; width:360px; margin:0; display:flex; flex-direction:column; padding:30px; }
.voices-group .voice p { font-size:17px; line-height:1.65; }
.voices-group .voice footer { margin-top:auto; padding-top:24px; }
.voices-viewport:hover .voices-track,.voices-viewport:focus-within .voices-track { animation-play-state:paused; }
@keyframes testimonial-scroll { to { transform:translateX(-50%); } }
@media(max-width:600px) { .voices-group .voice { width:280px; padding:24px; } }
@media(prefers-reduced-motion:reduce) {
  .voices-track { animation:none; }
  .voices-viewport { overflow-x:auto; scrollbar-width:none; }
  .voices-viewport::-webkit-scrollbar { display:none; }
  .voices-group[aria-hidden] { display:none; }
}

.about-founder-copy > .about-eyebrow { display:flex; width:fit-content; margin-bottom:20px; }
.about-founder-copy > .section-title { margin-top:0; }

.about-founder-copy > p { text-align:justify; text-justify:inter-word; }

.about-founder-copy > .founder-headshot-placeholder + p { margin-top:0; }

.founder-opening { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:40px; align-items:stretch; }
.founder-opening-text p { text-align:justify; text-justify:inter-word; }
.founder-opening-text p:first-child { margin-top:0; }
.founder-opening .founder-headshot-placeholder { float:none; width:100%; margin:0; display:flex; flex-direction:column; min-height:0; }
.founder-opening .founder-headshot { display:block; width:100%; height:0; min-height:0; flex:1 1 auto; object-fit:cover; object-position:center 35%; }
.founder-opening figcaption { flex:0 0 auto; }
@media(max-width:700px) {
  .founder-opening { display:flex; flex-direction:column; gap:28px; }
  .founder-opening .founder-headshot-placeholder { order:-1; width:300px; max-width:100%; margin-inline:auto; }
  .founder-opening .founder-headshot { height:auto; flex:none; }
}
