/* Clientier team story and shared accessibility/navigation refinements. */
:root { --line-strong: rgba(13,21,38,.3); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#team, #founder, #operators { scroll-margin-top:84px; }
:focus-visible { outline:3px solid var(--accent,#2557EB); outline-offset:4px; }
.skip-link { position:fixed; top:14px; left:16px; z-index:500; padding:10px 15px; border-radius:999px; background:var(--ink,#0D1526); color:var(--paper,#F5F7FA); font:500 12px/1.2 var(--f-mono,var(--font-mono,monospace)); transform:translateY(-180%); transition:transform .25s var(--ease,cubic-bezier(.22,1,.36,1)); }
.skip-link:focus { transform:translateY(0); }

/* Shared shell */
.brand { display:flex; align-items:center; gap:10px; color:var(--ink,#0D1526); }
.brand-mark { display:grid; place-items:center; width:30px; height:30px; transition:transform .55s var(--ease,cubic-bezier(.22,1,.36,1)); }
.brand-mark svg { display:block; }
.brand-word { display:flex; overflow:hidden; max-width:130px; white-space:nowrap; font:600 19px/1 "Space Grotesk",sans-serif; letter-spacing:-.02em; transition:max-width .55s .25s var(--ease,cubic-bezier(.22,1,.36,1)); }
.brand-word span { display:inline-block; transition:opacity .4s,transform .5s var(--ease,cubic-bezier(.22,1,.36,1)); }
.brand-word sup { margin-left:2px; font-size:9px; transition:opacity .3s; }
.nav.compact .brand-word { max-width:0; }
.nav.compact .brand-word span { opacity:0; transform:translateY(6px); }
.nav.compact .brand-word sup { opacity:0; }
.nav.compact .brand-mark { transform:scale(.92) rotate(-4deg); }
.nav-links a[aria-current="page"], .nav-links a.is-active { color:var(--ink,#0D1526); }
.nav-links a[aria-current="page"]::after, .nav-links a.is-active::after { transform:scaleX(1); transform-origin:left; }

/* Sticky Team story */
.team-story { overflow:visible; }
.team-story-shell { display:grid; grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr); gap:clamp(40px,7vw,108px); margin-top:54px; align-items:start; }
.team-story-visual { position:sticky; top:108px; min-height:510px; padding:18px; border:1px solid var(--line); border-radius:20px; background:var(--paper-2); }
.team-profile-display { position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:13px; background:var(--ink); }
.team-profile-pane { position:absolute; inset:0; display:flex; flex-direction:column; opacity:0; transform:translateY(14px); pointer-events:none; transition:opacity .55s ease,transform .55s var(--ease,cubic-bezier(.22,1,.36,1)); }
.team-profile-pane.is-active { opacity:1; transform:none; pointer-events:auto; }
.team-profile-pane .team-portrait { display:grid; place-items:center; width:100%; height:100%; aspect-ratio:auto; border:0; border-radius:0; background:linear-gradient(145deg,#1B2D52,#0D1526); }
.team-profile-pane .team-avatar { width:105px; height:105px; display:grid; place-items:center; border-radius:50%; background:var(--accent); color:#fff; font:600 29px/1 var(--f-display,var(--font-display,sans-serif)); }
.team-profile-pane--alex .team-portrait { background:linear-gradient(145deg,#2557EB,#0D1526); }
.team-profile-overlay { position:absolute; inset:auto 0 0; padding:54px 22px 20px; background:linear-gradient(transparent,rgba(13,21,38,.92)); color:var(--paper); }
.team-display-role { color:var(--accent-2); font:500 9px/1.4 var(--f-mono,var(--font-mono,monospace)); letter-spacing:.14em; text-transform:uppercase; }
.team-display-name { margin-top:7px; font:600 36px/1 var(--f-display,var(--font-display,sans-serif)); letter-spacing:-.05em; }
.team-display-org { margin-top:7px; color:rgba(245,247,250,.6); font:500 9px/1.4 var(--f-mono,var(--font-mono,monospace)); letter-spacing:.1em; text-transform:uppercase; }
.team-story-marker { display:flex; justify-content:space-between; gap:12px; margin-top:16px; color:var(--ink-40); font:500 9px/1.4 var(--f-mono,var(--font-mono,monospace)); letter-spacing:.1em; text-transform:uppercase; }
.team-story-progress { height:2px; margin-top:8px; background:var(--line); }
.team-story-progress i { display:block; width:50%; height:100%; background:var(--accent); transition:width .55s var(--ease,cubic-bezier(.22,1,.36,1)); }
.team-story-chapters { min-width:0; }
.team-chapter { min-height:88vh; padding:14vh 0 16vh; border-top:1px solid var(--line); }
.team-chapter:first-child { border-top:0; padding-top:0; }
.team-chapter-index { display:block; color:var(--accent); font:500 10px/1.4 var(--f-mono,var(--font-mono,monospace)); letter-spacing:.14em; }
.team-chapter h3 { margin-top:16px; font:600 clamp(30px,4.2vw,59px)/.98 var(--f-display,var(--font-display,sans-serif)); letter-spacing:-.06em; }
.team-chapter-role { margin-top:11px; color:var(--accent); font:500 10px/1.4 var(--f-mono,var(--font-mono,monospace)); letter-spacing:.13em; text-transform:uppercase; }
.team-mobile-profile { display:none; }
.team-chapter-copy { margin-top:30px; max-width:54ch; color:var(--ink-70,rgba(13,21,38,.7)); font-size:16px; }
.team-chapter-copy p + p { margin-top:18px; }
.team-chapter-copy blockquote { margin:34px 0; padding-left:21px; border-left:2px solid var(--accent); color:var(--ink); font:italic 400 clamp(25px,3vw,38px)/1.12 var(--f-serif,Georgia,serif); letter-spacing:-.015em; }
.team-chapter-list { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; margin-top:26px; border-top:1px dashed var(--line); }
.team-chapter-list li { list-style:none; padding:13px 0; border-bottom:1px dashed var(--line); font:500 11px/1.4 var(--f-mono,var(--font-mono,monospace)); }
.team-chapter-list li::before { content:"→"; margin-right:9px; color:var(--accent); }

@media (max-width:960px) {
  .team-story-shell { gap:32px; }
  .team-story-visual { top:90px; }
}
@media (max-width:640px) {
  .team-story-shell { display:block; margin-top:34px; }
  .team-story-visual { display:none; }
  .team-chapter { min-height:auto; padding:52px 0 62px; }
  .team-chapter:first-child { padding-top:0; }
  .team-mobile-profile { display:grid; grid-template-columns:88px 1fr; gap:15px; align-items:center; margin-bottom:27px; }
  .team-mobile-profile .team-portrait { display:grid; place-items:center; width:88px; aspect-ratio:4/5; border:1px solid var(--line-strong); border-radius:12px; background:var(--paper-2); }
  .team-mobile-profile .team-avatar { display:grid; place-items:center; width:53px; height:53px; border-radius:50%; background:var(--ink); color:var(--paper); font:600 16px/1 var(--f-display,var(--font-display,sans-serif)); }
  .team-mobile-profile-role { color:var(--accent); font:500 9px/1.4 var(--f-mono,var(--font-mono,monospace)); letter-spacing:.12em; text-transform:uppercase; }
  .team-mobile-profile-name { margin-top:5px; font:600 29px/1 var(--f-display,var(--font-display,sans-serif)); letter-spacing:-.05em; }
  .team-mobile-profile-org { margin-top:6px; color:var(--ink-40); font:500 9px/1.4 var(--f-mono,var(--font-mono,monospace)); letter-spacing:.08em; text-transform:uppercase; }
  .team-chapter h3 { font-size:clamp(32px,10vw,47px); }
  .team-chapter-copy { margin-top:23px; font-size:15px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
  .team-profile-pane, .team-story-progress i { transition:none !important; }
}
