/* Founder profile pages (team-<name>.html). Reuses css/use-cases.css (nav, .top hero, .close,
   .foot, .luma-btn, .kicker, .reveal, .dim). Adds the profile hero, a two-column body with a
   sticky table of contents, and the highlights / stats / quote / prose blocks. */

/* ---------- hero ---------- */
.fp-hero{padding:clamp(2rem,5vh,3.5rem) 0 clamp(2.5rem,6vh,4rem);}
.fp-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:clamp(1.75rem,4vh,2.5rem);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;}
.fp-crumb a{color:oklch(1 0 0 / .5);text-decoration:none;transition:color .15s;}
.fp-crumb a:hover{color:#fff;}
.fp-crumb .sep{color:oklch(1 0 0 / .3);}
.fp-crumb .here{color:oklch(1 0 0 / .5);}
.fp-id{display:flex;align-items:center;gap:clamp(1.5rem,3.5vw,2.75rem);}
.fp-photo{flex:0 0 auto;display:block;width:clamp(7rem,16vw,11rem);aspect-ratio:1/1;object-fit:cover;border-radius:var(--r-4xl);outline:1px solid oklch(1 0 0 / .14);outline-offset:-1px;}
.fp-idtext{min-width:0;}
.fp-idtext h1{margin:0;color:#fff;font-size:clamp(1.875rem,4.6vw,3.25rem);font-weight:600;line-height:1.04;letter-spacing:-.035em;}
.fp-role{margin:.625rem 0 0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:oklch(1 0 0 / .6);}
.fp-tagline{margin:1rem 0 0;max-width:46ch;color:oklch(1 0 0 / .68);font-size:clamp(.9375rem,1.4vw,1.0625rem);line-height:1.6;}
.fp-social{display:flex;gap:.5rem;margin-top:1.5rem;}
.fp-soc{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:9999px;border:1px solid oklch(1 0 0 / .2);color:oklch(1 0 0 / .7);transition:all .25s cubic-bezier(.16,1,.3,1);}
.fp-soc svg{width:.9375rem;height:.9375rem;}
.fp-soc:hover{background:#fff;color:var(--foreground);border-color:transparent;transform:translateY(-2px);}
@media (max-width:600px){.fp-id{flex-direction:column;align-items:flex-start;gap:1.25rem;}}

/* ---------- body ---------- */
.fp-body{background:var(--background);color:var(--foreground);padding:clamp(3rem,7vh,5rem) var(--side) clamp(4rem,9vh,7rem);}
.fp-grid{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start;max-width:68rem;margin-inline:auto;}

/* table of contents */
.fp-toc{position:sticky;top:calc(var(--nav-h,5.5rem) + clamp(1rem,3vh,1.75rem));}
.fp-toc-h{display:block;margin-bottom:1rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-foreground);}
.fp-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--border);}
.fp-toc li{position:relative;}
.fp-toc a{display:block;padding:.5rem 0 .5rem 1rem;color:var(--muted-foreground);text-decoration:none;font-size:.8125rem;line-height:1.4;transition:color .25s;}
.fp-toc a::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:1px;background:var(--foreground);transform:scaleY(0);transform-origin:center;transition:transform .3s cubic-bezier(.16,1,.3,1);}
.fp-toc a:hover{color:var(--foreground);}
.fp-toc a.on{color:var(--foreground);font-weight:600;}
.fp-toc a.on::before{transform:scaleY(1);}
.fp-back{display:inline-flex;align-items:center;gap:.4375rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--foreground);text-decoration:none;}
.fp-back svg{width:.8125rem;height:.8125rem;transition:transform .2s;}
.fp-back:hover svg{transform:translateX(-3px);}

/* ---------- main column ---------- */
.fp-lead{margin:0 0 clamp(2rem,4vh,2.75rem);font-size:clamp(1.0625rem,1.6vw,1.3125rem);line-height:1.6;letter-spacing:-.01em;color:var(--foreground);}
.fp-label{display:block;margin:0 0 1.25rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-foreground);}

/* highlights */
.fp-highlights{list-style:none;margin:0 0 clamp(2.75rem,5.5vh,4rem);padding:0;border-top:1px solid var(--border);}
.fp-hl{display:flex;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--border);}
.fp-hl-n{flex:0 0 auto;min-width:1.5rem;font-size:.75rem;font-weight:600;color:var(--muted-foreground);font-variant-numeric:tabular-nums;padding-top:.15rem;}
.fp-hl-b{display:flex;flex-direction:column;gap:.3125rem;}
.fp-hl-t{font-size:1rem;font-weight:600;letter-spacing:-.01em;}
.fp-hl-d{font-size:.875rem;line-height:1.55;color:var(--muted-foreground);}

/* stats */
.fp-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 clamp(2.5rem,5vh,3.5rem);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.fp-stat{padding:clamp(1.25rem,2.5vw,1.75rem) clamp(1rem,2vw,1.5rem);border-right:1px solid var(--border);}
.fp-stat:first-child{padding-left:0;}
.fp-stat:last-child{border-right:0;}
.fp-stat-n{display:block;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:600;letter-spacing:-.03em;line-height:1;}
.fp-stat-l{display:block;margin-top:.375rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted-foreground);}
@media (max-width:520px){.fp-stats{grid-template-columns:1fr;}.fp-stat{border-right:0;border-bottom:1px solid var(--border);padding-left:0;}.fp-stat:last-child{border-bottom:0;}}

/* quote */
.fp-quote{margin:clamp(2.5rem,5vh,3.5rem) 0;padding:clamp(1.75rem,3vw,2.5rem);background:var(--foreground);color:oklch(0.985 0 0);border-radius:var(--r-4xl);}
.fp-quote p{margin:0;font-size:clamp(1.25rem,2.4vw,1.875rem);font-weight:600;letter-spacing:-.02em;line-height:1.2;color:#fff;}
.fp-quote-who{display:block;margin-top:1rem;font-size:.8125rem;font-weight:600;color:oklch(1 0 0 / .6);}

/* prose */
.fp-prose h2{margin:clamp(2.75rem,6vh,4rem) 0 1rem;font-size:clamp(1.375rem,2.6vw,1.875rem);font-weight:600;line-height:1.15;letter-spacing:-.028em;scroll-margin-top:calc(var(--nav-h,5.5rem) + 1rem);}
.fp-prose h2:first-child{margin-top:0;}
.fp-prose h3{margin:clamp(1.75rem,4vh,2.5rem) 0 .75rem;font-size:clamp(1.0625rem,1.6vw,1.25rem);font-weight:600;line-height:1.2;letter-spacing:-.02em;}
.fp-prose p{margin:0 0 1.125rem;font-size:1rem;line-height:1.75;color:color-mix(in oklch,var(--foreground) 80%,transparent);}
.fp-prose strong{font-weight:600;color:var(--foreground);}

@media (max-width:1040px){
  .fp-grid{grid-template-columns:1fr;}
  .fp-toc{position:static;}
  .fp-toc ol{display:flex;flex-wrap:wrap;border-left:0;border-top:1px solid var(--border);padding-top:.5rem;}
  .fp-toc a{padding:.375rem 1rem .375rem 0;}
  .fp-toc a::before{display:none;}
  .fp-back{border-top:0;padding-top:0;margin-top:1rem;}
}
