/* Existing ink, silver, Helvetica, and liquid portrait frames carry into About. */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.team-profiles { row-gap: 88px; }
.team-person h3 { font-size: clamp(28px,2.3vw,38px); overflow-wrap: normal; }
.team-frame { width: clamp(200px,18vw,270px); }
.team-about-link, .bio-read-more { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 22px; border-radius: 3px; font-size: 16px; font-weight: 600; background: linear-gradient(115deg,#f0f3f6,#b4bec8); color: #101419; }
.team-about-link { margin-top: 56px; }
.team-about-link:hover, .bio-read-more:hover { background: #f5f7f9; }
.team-open-full { display: block; position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; }
.team-open-full:hover .team-bio-control, .team-open-full:focus-visible .team-bio-control { background: #e4e7eb; color: #090a0b; }
.about-intro { position: relative; isolation: isolate; padding: 178px var(--pad) 74px; overflow: hidden; }
.about-art { position: absolute; z-index: -2; inset: 0; pointer-events: none; }
.about-art canvas, .about-art .art-fallback { position: absolute; width: 100%; height: 100%; inset: 0; }
.about-art canvas[hidden] { display: none; }
.about-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#090a0bd9,#090a0b88 66%,#090a0b33),linear-gradient(0deg,#090a0b,transparent 85%); }
.about-intro-copy { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: clamp(40px,6vw,120px); }
.about-label { color: #f5f6f7; font-size: 18px; font-weight: 600; margin-bottom: 30px; }
.about-intro h1 { font-size: clamp(48px,5.2vw,104px); font-weight: 400; line-height: 1.04; letter-spacing: -.055em; }
.company-bio { padding-top: 58px; font-size: clamp(18px,1.3vw,23px); color: #e1e4e8; }
.company-bio p + p { margin-top: 22px; }
.team-about { padding-top: 48px; }
.team-about .team-profiles { column-gap: 6vw; }
.team-about .team-member { display: flex; flex-direction: column; }
.team-about .team-person { min-height: 260px; }
.team-summary { display: flex; flex-direction: column; flex: 1; align-items: flex-start; }
.team-summary .team-bio { margin-top: 28px; margin-bottom: 28px; }
.team-summary .bio-read-more { margin-top: auto; }
.bio-modal-open { overflow: hidden; }
.bio-dialog { position: fixed; inset: 32px 24px; width: min(880px,calc(100% - 48px)); max-height: calc(100% - 64px); margin: auto; padding: 8px; overflow: hidden; border: 1px solid #c3c9cf55; border-radius: 24px; background: #101318; color: #f1f0eb; box-shadow: 0 24px 120px #0009; }
.bio-dialog[open] { display: flex; flex-direction: column; }
.bio-dialog::backdrop { background: #030405c9; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.bio-dialog-toolbar { display: flex; flex: 0 0 auto; justify-content: flex-end; padding: 8px 8px 0; }
.bio-dialog-surface { position: relative; min-height: 0; padding: 12px 40px 40px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #748291 #101318; }
.bio-close { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: #d7dde5; color: #101419; font-size: 32px; line-height: 1; }
.bio-dialog-heading { display: flex; align-items: center; gap: 28px; padding-right: 20px; }
.bio-dialog-heading h2 { font-size: clamp(30px,4vw,48px); font-weight: 400; line-height: 1.08; letter-spacing: -.04em; }
.bio-portrait { width: 150px; aspect-ratio: 1; flex-shrink: 0; padding: 5px; background: linear-gradient(125deg,#f5f7fa,#748291 30%,#e4eaf0 56%,#59646f); border-radius: 43% 49% 42% 46%; }
.bio-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.bio-full-text { margin-top: 32px; font-size: 18px; line-height: 1.75; color: #e1e4e8; max-width: 70ch; }
.bio-full-text p { line-height: inherit; }
.bio-full-text p + p { margin-top: 22px; }
.bio-full-text a { text-decoration: underline; text-underline-offset: 4px; }
.bio-profile-link { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; margin-top: 30px; font-size: 16px; font-weight: 500; }
.bio-profile-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.bio-profile-link svg { width: 20px; height: 20px; }
.brand-fallback li { min-width: 0; display: flex; justify-content: center; }
.brand-source-crop { --brand-logo-height: 38px; position: relative; display: block; width: min(100%,calc(var(--brand-logo-height) * var(--logo-ratio))); aspect-ratio: var(--logo-ratio); overflow: hidden; }
.brand-fallback .brand-source-crop img { position: absolute; max-width: none; object-fit: fill; filter: brightness(0) invert(1); }
.brand-progress { padding-inline: var(--pad); }
.brand-progress button { flex: 0 1 25px; min-width: 0; }
@media(max-width:1000px) {
  .about-intro-copy { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .company-bio { padding-top: 0; }
}
@media(min-width:701px) and (max-width:1190px) {
  .team-person { display: block; }
  .team-frame { width: 230px; margin-bottom: 26px; }
  .team-about .team-person { min-height: 355px; }
}
@media(max-width:700px) {
  .brand-source-crop { --brand-logo-height: 30px; }
  .about-intro { padding-top: 138px; padding-bottom: 36px; }
  .about-label { font-size: 17px; margin-bottom: 26px; }
  .about-intro h1 { font-size: clamp(36px,8.8vw,58px); }
  .company-bio { font-size: 18px; }
  .team-about { padding-top: 36px; }
  .team-profiles { row-gap: 56px; }
  .team-frame { width: 43%; margin: 0; }
  .team-person h3 { font-size: clamp(23px,5.7vw,32px); }
  .team-person > div:last-child { min-width: 0; }
  .team-about .team-person { min-height: 0; }
  .team-role { font-size: 16px; }
  .team-about-link { margin-top: 36px; }
  .team-summary .team-bio { margin-top: 24px; }
  .bio-dialog { inset: 16px 12px; width: calc(100% - 24px); max-height: calc(100% - 32px); border-radius: 18px; }
  .bio-dialog-toolbar { padding: 4px 4px 0; }
  .bio-dialog-surface { padding: 16px; }
  .bio-dialog-heading { display: block; padding: 0; }
  .bio-portrait { width: 120px; margin-bottom: 24px; }
  .bio-dialog-heading h2 { font-size: 32px; }
  .bio-full-text { font-size: 17px; margin-top: 24px; }
}
