/* Founder story: scoped to the About Us page. Tokens follow the DIDO design
 * system (DIDO Blue #2C4BFF, Graphite #2E2E36, muted #A7A7BD, Montserrat). */
.founder-story {
	--fs-blue: #2c4bff;
	--fs-graphite: #2e2e36;
	--fs-ink: #222123;
	--fs-text: #404040;
	--fs-muted: #6c6c7a;
	--fs-muted-dark: #a7a7bd;
	--fs-line: #e4e5ee;
	--fs-paper: #f8f8fa;
	background: var(--fs-paper);
	color: var(--fs-text);
	font-family: "Montserrat", Arial, sans-serif;
	overflow: hidden;
	padding-top: clamp(72px, 9vw, 128px);
}
.founder-story *, .founder-story *::before, .founder-story *::after { box-sizing: border-box; }
.founder-story a { text-decoration: none; }
.founder-story__wrap { width: min(1240px, calc(100% - 64px)); margin: 0 auto; }
.founder-story h2, .founder-story h3, .founder-story h4 { color: var(--fs-ink); font-family: inherit; font-weight: 700; letter-spacing: -.04em; margin: 0; }
.founder-story h2 { font-size: clamp(34px, 4.2vw, 56px); line-height: 1.05; }
.founder-story h2 em { color: var(--fs-blue); font-style: normal; display: block; }
.founder-story h3 { font-size: clamp(28px, 3.2vw, 44px); line-height: 1.08; }
.founder-story p { font-size: clamp(15px, 1.2vw, 17px); line-height: 1.65; margin: 0; }
.founder-story__eyebrow { color: var(--fs-blue); font-size: 12px !important; font-weight: 700; letter-spacing: .16em; line-height: 1.2 !important; margin: 0 0 18px !important; text-transform: uppercase; }

/* Buttons follow the site CTA: blue pill, white bold text. */
.founder-story__button { align-items: center; background: var(--fs-blue); border-radius: 30px; color: #fff !important; display: inline-flex; font-size: 15px; font-weight: 700; gap: 14px; min-height: 52px; padding: 14px 28px; transition: background .2s ease, transform .2s ease; }
.founder-story__button:hover { background: var(--fs-graphite); }
.founder-story__button span { font-size: 18px; line-height: 1; }
.founder-story__button--light { background: #fff; color: var(--fs-graphite) !important; }
.founder-story__button--light:hover { background: var(--fs-blue); color: #fff !important; }
.founder-story__text-link { color: var(--fs-blue) !important; font-size: 15px; font-weight: 700; }
.founder-story__text-link:hover { text-decoration: underline; }

/* Intro */
.founder-story__intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: clamp(40px, 7vw, 110px); align-items: center; }
.founder-story__lead { color: var(--fs-ink); font-size: clamp(18px, 1.6vw, 22px) !important; font-weight: 600; line-height: 1.45 !important; margin: 28px 0 18px !important; max-width: 600px; }
.founder-story__intro-copy > p:not([class]) { max-width: 600px; }
.founder-story__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 28px; margin-top: 36px; }
.founder-story__portrait { aspect-ratio: 4 / 5; background: var(--fs-graphite); border-radius: 15px; box-shadow: 0 10px 40px rgba(0, 0, 0, .10); margin: 0; overflow: hidden; position: relative; }
.founder-story__portrait img { display: block; height: 100%; object-fit: cover; object-position: 50% 20%; width: 100%; }
.founder-story__portrait figcaption { background: #fff; border-radius: 12px; bottom: 18px; color: var(--fs-muted); font-size: 13px; left: 18px; line-height: 1.4; padding: 14px 18px; position: absolute; }
.founder-story__portrait figcaption strong { color: var(--fs-ink); display: block; font-size: 16px; }

/* Proof bar */
.founder-story__proof { background: #fff; border-radius: 15px; box-shadow: 0 10px 40px rgba(0, 0, 0, .06); display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin: clamp(48px, 6vw, 80px) 0 0; padding: 0; }
.founder-story__proof li { border-left: 1px solid var(--fs-line); padding: 26px 28px; }
.founder-story__proof li:first-child { border-left: 0; }
.founder-story__proof strong { color: var(--fs-blue); display: block; font-size: clamp(26px, 2.6vw, 36px); letter-spacing: -.03em; line-height: 1; }
.founder-story__proof span { color: var(--fs-muted); display: block; font-size: 13px; line-height: 1.4; margin-top: 10px; }

/* Story timeline: every chapter visible at once, no carousel. */
.founder-story__chapters { background: var(--fs-graphite); color: #fff; margin-top: clamp(72px, 9vw, 120px); padding: clamp(64px, 8vw, 110px) 0; scroll-margin-top: 90px; }
.founder-story__chapters h3 { color: #fff; max-width: 760px; }
.founder-story__chapters .founder-story__eyebrow { color: #8fa0ff; }
.founder-story__timeline { list-style: none; margin: clamp(40px, 5vw, 64px) 0 0; padding: 0; }
.founder-story__step { align-items: start; border-top: 1px solid rgba(255, 255, 255, .12); display: grid; gap: clamp(20px, 3vw, 48px); grid-template-columns: 180px minmax(0, 1fr) 300px; padding: clamp(28px, 3.5vw, 44px) 0; }
.founder-story__year { color: #8fa0ff; font-size: clamp(24px, 2.2vw, 32px) !important; font-weight: 800; letter-spacing: -.03em; line-height: 1 !important; }
.founder-story__year span { color: var(--fs-muted-dark); display: block; font-size: 12px; font-weight: 600; letter-spacing: .08em; line-height: 1.4; margin-top: 10px; text-transform: uppercase; }
.founder-story__step-copy { display: flex; flex-direction: column; gap: 12px; max-width: 640px; }
.founder-story__step-copy h4 { color: #fff; font-size: clamp(21px, 1.8vw, 26px); line-height: 1.2; }
.founder-story__step-copy p { color: #d6d6e2; }
.founder-story__step-media { display: grid; gap: 10px; }
.founder-story__step-media--2 { grid-template-columns: 1fr 1fr; }
.founder-story__step-media figure { aspect-ratio: 4 / 3; background: #24242b; border-radius: 12px; margin: 0; overflow: hidden; }
.founder-story__step-media--2 figure { aspect-ratio: 3 / 4; }
.founder-story__step-media img { display: block; height: 100%; object-fit: cover; width: 100%; }
.founder-story__step-media figure.is-contain { background: #fff; padding: 6px; }
.founder-story__step-media figure.is-contain img { object-fit: contain; }
.founder-story__step-media--mark { align-items: center; aspect-ratio: 4 / 3; background: var(--fs-blue); border-radius: 12px; display: flex; justify-content: center; }
.founder-story__step-media--mark span { color: #fff; font-size: 64px; font-weight: 800; letter-spacing: -.04em; }

/* Principles */
.founder-story__principles { padding: clamp(72px, 9vw, 120px) 0; }
.founder-story__principles-head { max-width: 760px; }
.founder-story__principle-list { counter-reset: fs-principle; display: grid; gap: 20px; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 48px 0 0; padding: 0; }
.founder-story__principle-list li { background: #fff; border-radius: 15px; box-shadow: 0 10px 40px rgba(0, 0, 0, .06); counter-increment: fs-principle; padding: 30px 26px; }
.founder-story__principle-list li::before { color: var(--fs-blue); content: "0" counter(fs-principle); display: block; font-size: 13px; font-weight: 800; letter-spacing: .1em; margin-bottom: 26px; }
.founder-story__principle-list strong { color: var(--fs-ink); display: block; font-size: 19px; line-height: 1.25; margin-bottom: 12px; }
.founder-story__principle-list span { color: var(--fs-muted); display: block; font-size: 15px; line-height: 1.6; }

/* Closing */
.founder-story__closing { background: var(--fs-blue); color: #fff; padding: clamp(64px, 8vw, 100px) 0; }
.founder-story__closing-inner { align-items: center; display: flex; gap: 56px; justify-content: space-between; }
.founder-story__closing figure { margin: 0; max-width: 820px; }
.founder-story__closing blockquote { font-size: clamp(22px, 2.4vw, 32px); font-weight: 600; letter-spacing: -.02em; line-height: 1.35; margin: 0; padding: 0; border: 0; color: #fff; }
.founder-story__closing figcaption { color: #d3daff; font-size: 14px; font-weight: 700; margin-top: 22px; }
.founder-story__closing .founder-story__button { flex-shrink: 0; }

/* Reveal on scroll */
.founder-story__reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.founder-story__reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1024px) {
	.founder-story__proof { grid-template-columns: repeat(2, 1fr); }
	.founder-story__proof li:nth-child(3) { border-left: 0; }
	.founder-story__proof li:nth-child(n+3) { border-top: 1px solid var(--fs-line); }
	.founder-story__principle-list { grid-template-columns: repeat(2, 1fr); }
	.founder-story__step { grid-template-columns: 140px minmax(0, 1fr) 240px; }
}
@media (max-width: 860px) {
	.founder-story__intro { grid-template-columns: 1fr; }
	.founder-story__portrait { max-width: 460px; }
	.founder-story__step { grid-template-columns: 1fr; }
	.founder-story__step-media { max-width: 420px; }
	.founder-story__closing-inner { align-items: start; flex-direction: column; gap: 36px; }
}
@media (max-width: 600px) {
	.founder-story__wrap { width: calc(100% - 32px); }
	.founder-story__proof li { padding: 20px 18px; }
	.founder-story__principle-list { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.founder-story__reveal { opacity: 1; transform: none; transition: none; }
	.founder-story__button { transition: none; }
}
