/* Founder layouts only. Colors, type, radii and interactions use shared site tokens.
   Design read: a personal editorial story, preserving the pink studio identity.
   DESIGN_VARIANCE 5 / MOTION_INTENSITY 3 / VISUAL_DENSITY 4.
   Existing court artwork and app icons are reused; no invented portrait. */
.founder-page-hero { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); gap: clamp(32px, 6vw, 80px); align-items: center; padding-block: 54px 48px; }
.founder-page-intro { min-width: 0; }
.founder-page-intro > p:not(.eyebrow) { margin-top: 24px; max-width: 490px; font-size: 18px; }
.founder-page-photo { border-radius: var(--radius); overflow: hidden; }
.founder-page-photo img { width: 100%; height: 340px; object-fit: cover; }
.founder-about { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.6fr); gap: clamp(32px, 6vw, 80px); padding-block: 48px 68px; border-top: 1px solid var(--line); }
.founder-byline { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.founder-byline strong { font-size: 24px; }
.founder-byline p { font-size: 14px; }
.founder-story-text h2 { margin-bottom: 28px; }
.founder-story-text p { max-width: 68ch; }
.founder-timeline { padding-block: 48px; }
.founder-timeline .section-head { max-width: 780px; }
.timeline-jump { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 40px; }
.timeline-jump a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 16px; border: 1px solid var(--line); border-radius: 999px; color: var(--rose-dark); font-size: 14px; transition: background .2s var(--ease), border-color .2s var(--ease); }
.timeline-jump a:hover { background: var(--pink); border-color: var(--rose); }
.journey-list { list-style: none; margin: 0; padding: 0; }
.journey-entry { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 36px; position: relative; padding-bottom: 32px; }
.journey-entry::before { content: ""; position: absolute; left: 184px; top: 10px; bottom: -10px; width: 1px; background: var(--line); }
.journey-entry:last-child::before { bottom: 32px; }
.journey-date { padding-top: 23px; color: var(--rose-dark); }
.journey-date > time { display: block; font-size: 28px; font-variant-numeric: tabular-nums; letter-spacing: -.04em; font-weight: 600; }
.journey-date > span { display: block; font-size: 13px; line-height: 1.5; margin-top: 4px; color: var(--muted); }
.journey-product { border: 1px solid var(--line); border-radius: var(--radius); padding: 32px; min-width: 0; }
.journey-identity { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; }
.journey-identity img { width: 64px; height: 64px; border-radius: 16px; flex-shrink: 0; }
.journey-identity p { font-size: 14px; margin-top: 4px; }
.journey-milestones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin: 24px 0; padding: 22px 24px; border-radius: 16px; background: var(--pink); color: var(--ink); }
.journey-milestones dt { font-size: 13px; line-height: 1.6; }
.journey-milestones dd { margin: 8px 0 0; font-size: 19px; font-weight: 600; line-height: 1.5; }
.journey-product .journey-note { font-size: 14px; margin-bottom: 22px; }
.journey-links { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; }
.journey-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--rose-dark); font-size: 14px; }
.journey-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.timeline-sources { border-top: 1px solid var(--line); padding-block: 20px; }
.timeline-sources summary { cursor: pointer; min-height: 44px; padding-block: 10px; font-size: 15px; font-weight: 600; color: var(--rose-dark); }
.timeline-sources summary::after { content: "+"; float: right; font-size: 20px; line-height: 1.2; }
.timeline-sources[open] summary::after { content: "−"; }
.timeline-sources > div { max-width: 800px; padding-block: 12px; }
.timeline-sources p { font-size: 14px; }
.timeline-sources a { margin-top: 16px; font-size: 14px; }
.founder-next { padding-block: 32px; }
.founder-next > div { border-top: 1px solid var(--line); padding-top: 40px; }
.founder-next p { max-width: 680px; margin-block: 20px; }
@media (max-width: 900px) {
  .founder-page-hero { grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); gap: 30px; }
  .founder-page-photo img { height: 320px; }
  .founder-about { grid-template-columns: 1fr; gap: 28px; }
  .founder-byline { display: grid; grid-template-columns: 64px 1fr; gap: 4px 18px; align-items: center; }
  .founder-byline .monogram { grid-row: span 2; }
  .founder-byline p { grid-column: 2; }
  .journey-entry { grid-template-columns: 130px minmax(0, 1fr); gap: 26px; }
  .journey-entry::before { left: 143px; }
  .journey-product { padding: 26px; }
}
@media (max-width: 767px) {
  .founder-page-hero { grid-template-columns: 1fr; padding-block: 34px 30px; }
  .founder-page-photo img { height: 210px; object-position: center 60%; }
  .founder-page-intro > p:not(.eyebrow) { font-size: 16px; }
  .journey-entry { grid-template-columns: 1fr; gap: 14px; padding-left: 20px; padding-bottom: 28px; }
  .journey-entry::before { left: 0; top: 8px; bottom: -8px; }
  .journey-date { padding-top: 0; }
  .journey-date > time { font-size: 25px; }
  .journey-date > span { font-size: 13px; }
  .journey-product { padding: 22px; }
  .journey-identity { gap: 12px; align-items: flex-start; }
  .journey-identity img { width: 48px; height: 48px; border-radius: 12px; }
  .journey-milestones { grid-template-columns: 1fr; gap: 18px; padding: 18px; }
  .journey-milestones dd { font-size: 18px; margin-top: 4px; }
  .journey-milestones > div + div { border-top: 1px solid var(--line); padding-top: 18px; }
  .timeline-jump { gap: 8px; margin-bottom: 30px; }
  .timeline-jump a { padding-inline: 12px; }
}
