/* ============ Meet the Founder (/founder/) ============ */
/* Hero = the home founder section (css/founder.css) with an h1; then experience & education timelines and a
   compact tool stack. Markup: tools/founder-content.js via tools/gen-pages.js. */
.founder-hero { padding-top: clamp(130px, 13vw, 200px); }
.medusa-founder h1 { margin: 0 0 26px; font: 400 clamp(38px, 4.4vw, 76px)/1.02 var(--_font-default); letter-spacing: -.045em; color: #f1f3f9; }

.fp-section { width: 100%; max-width: 1760px; margin-inline: auto; padding: clamp(64px, 7vw, 120px) 3.2rem 0; color: #e0e5ef; font-family: var(--_font-default); }
.fp-head { max-width: 980px; margin-bottom: clamp(32px, 3.4vw, 56px); }
.fp-eyebrow { margin: 0 0 18px; font: 400 12px/1.3 var(--_font-default); letter-spacing: .16em; text-transform: uppercase; color: #a79ac8; }
.fp-head h2 { margin: 0; font: 400 clamp(32px, 3.6vw, 64px)/1.02 var(--_font-default); letter-spacing: -.045em; color: #f1f3f9; }
.fp-head h2 span { color: #afb9cc; }
.fp-head > p:last-child:not(.fp-eyebrow) { max-width: 62ch; margin: 16px 0 0; font: 300 clamp(15px, 1.1vw, 18px)/1.55 var(--_font-default); color: #afb9cc; }

/* Two timelines side by side: experience (wider) and education. */
.fp-path { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(24px, 3vw, 56px); align-items: start; }
.fp-col { padding: clamp(24px, 2.4vw, 40px); border: 1px solid #e0e5ef24; border-radius: 22px; background: linear-gradient(145deg, #222c4a73, #0c122259); box-shadow: inset 1px 1px 0 #ffffff12; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.fp-col__title { margin: 0 0 24px; font: 400 12px/1.3 var(--_font-default); letter-spacing: .16em; text-transform: uppercase; color: #c9b9ff; }
.fp-timeline { position: relative; margin: 0; padding: 0 0 0 26px; list-style: none; }
.fp-timeline::before { content: ''; position: absolute; left: 5px; top: 6px; bottom: 6px; width: 1px; background: linear-gradient(#c9b9ff80, #00e5ff40 70%, transparent); }
.fp-item { position: relative; padding-bottom: clamp(22px, 2vw, 32px); }
.fp-item:last-child { padding-bottom: 0; }
.fp-item::before { content: ''; position: absolute; left: -26px; top: 4px; width: 11px; height: 11px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #e6defc, #7657f0); box-shadow: 0 0 12px #7657f099; }
.fp-item__when { margin: 0 0 6px; font: 400 11px/1.3 var(--_font-default); letter-spacing: .14em; text-transform: uppercase; color: #00d4ec; }
.fp-item__title { margin: 0; font: 400 clamp(19px, 1.5vw, 24px)/1.2 var(--_font-default); letter-spacing: -.02em; color: #f1f3f9; }
.fp-item__org { margin: 4px 0 0; font: 400 14px/1.4 var(--_font-default); color: #c9b9ff; }
.fp-item__text { margin: 8px 0 0; font: 300 14px/1.55 var(--_font-default); color: #afb9cc; }
.fp-item__list { display: grid; gap: 6px; margin: 12px 0 0; padding: 0; list-style: none; }
.fp-item__list li { font: 300 14px/1.55 var(--_font-default); color: #afb9cc; }
.fp-item__list strong { font-weight: 500; color: #e0e5ef; }
.fp-timeline--edu .fp-item__title { font-size: clamp(17px, 1.3vw, 20px); }

/* Tool stack: six small glass cards, tools as one quiet line each. */
.fp-stack { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.2vw, 20px); margin: 0; padding: 0; list-style: none; }
.fp-stack__group { padding: clamp(18px, 1.6vw, 26px); border: 1px solid #e0e5ef24; border-radius: 18px; background: linear-gradient(145deg, #222c4a73, #0c122259); box-shadow: inset 1px 1px 0 #ffffff12; }
.fp-stack__num { display: block; margin-bottom: 12px; font: 400 11px/1 var(--_font-default); letter-spacing: .14em; color: #c9b9ff; }
.fp-stack__group h3 { margin: 0 0 8px; font: 400 clamp(17px, 1.3vw, 21px)/1.2 var(--_font-default); letter-spacing: -.02em; color: #f1f3f9; }
.fp-stack__group p { margin: 0; font: 300 14px/1.6 var(--_font-default); color: #afb9cc; }

@media (max-width: 1199px) {
  .fp-path { grid-template-columns: 1fr; }
  .fp-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .fp-section { padding-inline: 2.2rem; }
  .fp-stack { grid-template-columns: 1fr; }
  .founder-hero { padding-top: 110px; }
}

/* Social profiles: centred between the hero and the experience section, a thin line on each side. */
.fp-social-band { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 2vw, 32px); width: 100%; max-width: 1760px; margin: clamp(16px, 2vw, 32px) auto 0; padding: 0 3.2rem; }
.fp-social-band::before, .fp-social-band::after { content: ''; flex: 1 1 0; max-width: 280px; height: 1px; background: linear-gradient(90deg, transparent, #c9b9ff59); }
.fp-social-band::after { background: linear-gradient(90deg, #c9b9ff59, transparent); }
.fp-social { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(12px, 1.2vw, 18px); margin: 0; padding: 0; list-style: none; }
.fp-social a { display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid #e0e5ef38; border-radius: 50%; color: #e0e5ef; background: linear-gradient(145deg, #2a3459a6, #0c122280); box-shadow: inset 1px 1px 0 #ffffff1f, 0 8px 24px #03060e66; transition: border-color .3s, color .3s, box-shadow .3s, transform .3s; }
.fp-social svg { width: 22px; height: 22px; }
.fp-social a:hover, .fp-social a:focus-visible { border-color: #c9b9ff99; color: #fff; box-shadow: inset 1px 1px 0 #ffffff26, 0 0 24px #7657f066; transform: translateY(-2px); }
.fp-social a:focus-visible { outline: 2px solid #a3b8d2; outline-offset: 3px; }
@media (max-width: 767px) {
  .fp-social-band { padding-inline: 2.2rem; gap: 12px; }
  .fp-social-band::before, .fp-social-band::after { display: none; }
  .fp-social a { width: 48px; height: 48px; }
  .fp-social svg { width: 20px; height: 20px; }
}
@media (prefers-reduced-motion: reduce) { .fp-social a { transition: none; } }
