/* Founder page: Home typography and connected service-style backdrop. */
.founder-page { background: #fff; color: #111015; }

.founder-light-journey { position: relative; isolation: isolate; overflow: hidden; background-color: #fcfbff; background-image: radial-gradient(ellipse at 89% 12%, rgba(162, 108, 242, .1), transparent 28%), radial-gradient(ellipse at 8% 55%, rgba(162, 108, 242, .09), transparent 30%), radial-gradient(ellipse at 84% 88%, rgba(162, 108, 242, .07), transparent 28%), linear-gradient(rgba(112, 82, 151, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(112, 82, 151, .05) 1px, transparent 1px); background-size: auto, auto, auto, 190px 190px, 190px 190px; }
.founder-light-journey::before, .founder-light-journey::after { content: ""; position: absolute; z-index: 0; width: min(63vw, 1060px); height: 650px; border: 1px solid rgba(116, 52, 224, .12); border-radius: 50%; pointer-events: none; }
.founder-light-journey::before { top: 15%; right: -17%; transform: rotate(-24deg); }
.founder-light-journey::after { bottom: 12%; left: -19%; transform: rotate(22deg); }
.founder-light-journey > section { position: relative; isolation: isolate; background: transparent; }
.founder-light-journey > section + section::before { content: ""; position: absolute; z-index: 0; top: 0; right: clamp(24px, 4vw, 80px); left: clamp(24px, 4vw, 80px); height: 1px; background: linear-gradient(90deg, transparent, rgba(131, 78, 211, .22) 18%, rgba(131, 78, 211, .22) 82%, transparent); pointer-events: none; }
.founder-light-journey > section > .wrap { position: relative; z-index: 1; }
.founder-flow-dots--hero { top: 5%; right: -4%; }
.founder-flow-dots--journey { bottom: 4%; left: -5%; animation-delay: -4s; }
.founder-flow-dots--vision { top: 14%; right: -6%; animation-delay: -7s; }
.founder-eyebrow { display: inline-flex; align-items: center; width: max-content; margin: 0 0 24px; padding: 8px 18px; border-radius: 999px; background: #f2edff; color: #6422e8; font: 700 12px/1.6 var(--display); letter-spacing: .04em; text-transform: uppercase; }
.founder-hero h2, .founder-journey h2, .founder-vision h2 { margin: 0; color: #0f0e12; font: 700 clamp(48px, 4vw, 64px)/.94 var(--display); letter-spacing: -.06em; }
.founder-hero h2 .it, .founder-journey h2 .it, .founder-vision h2 .it { color: #6827e8; font-weight: 400; letter-spacing: 0; }
.founder-hero-copy > p:not(.founder-eyebrow), .founder-journey-copy > p:not(.founder-eyebrow), .founder-vision-heading > p:not(.founder-eyebrow) { max-width: 580px; margin: 27px 0 0; color: #686572; font: 400 18px/1.55 var(--body); }
.founder-star { position: absolute; width: 52px; height: 52px; background: #6825e8; clip-path: polygon(50% 0, 62% 37%, 100% 50%, 62% 63%, 50% 100%, 38% 63%, 0 50%, 38% 37%); }
.founder-orbit { position: absolute; border: 1.5px solid rgba(117, 49, 238, .3); border-radius: 50%; }
.founder-orbit-dot { position: absolute; width: 33px; height: 33px; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #b68aff, #6121e5 72%); box-shadow: 0 10px 20px rgba(101, 31, 225, .19); }
.founder-short-rule { display: block; width: 80px; height: 4px; margin-top: 44px; border-radius: 8px; background: #6425eb; }

.founder-hero { padding: clamp(70px, 7vw, 110px) 0 clamp(80px, 7vw, 110px); }
.founder-hero-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(35px, 5vw, 80px); align-items: center; }
.founder-hero-copy { min-width: 0; }
.founder-hero-copy .founder-button { margin-top: 34px; }
.founder-hero-copy > .founder-hero-aside { margin-top: 16px !important; color: #837d95 !important; font-size: 13px !important; letter-spacing: .05em; text-transform: uppercase; }
.founder-hero-art { position: relative; height: clamp(520px, 42vw, 680px); min-width: 0; }
.founder-hero-art::before { content: ""; position: absolute; inset: 7% -2% 3% 3%; border-radius: 50%; background: radial-gradient(circle at center, rgba(181, 133, 252, .19), rgba(181, 133, 252, .05) 55%, transparent 73%); }
.founder-hero-stripe { position: absolute; z-index: 1; top: -8%; bottom: 0; left: 39%; width: 32%; background: linear-gradient(180deg, rgba(127, 55, 239, .82), rgba(157, 91, 251, .25) 76%, transparent); }
.founder-orbit--hero { inset: 19% -3% 7% 2%; transform: rotate(-21deg); }
.founder-orbit-dot--hero { z-index: 3; top: 41%; right: 4%; }
.founder-star--hero { z-index: 3; top: 6%; right: 19%; }
.founder-art-words { position: absolute; z-index: 3; top: 28%; right: 0; color: #74728f; font: 700 12px/2.55 var(--display); letter-spacing: .2em; text-transform: uppercase; }
.founder-portrait--hero { position: absolute; z-index: 2; right: 8%; bottom: 0; width: 88%; height: 95%; object-fit: contain; object-position: bottom center; filter: drop-shadow(0 22px 32px rgba(46, 25, 70, .11)); }
.founder-pillars { position: absolute; z-index: 4; right: 0; bottom: 0; display: grid; width: min(88%, 690px); grid-template-columns: repeat(3, 1fr); padding: 25px 20px; border: 1px solid rgba(234, 222, 251, .8); border-radius: 24px; background: rgba(255, 255, 255, .78); box-shadow: 0 20px 50px rgba(70, 29, 135, .1); backdrop-filter: blur(18px); }
.founder-pillars span { padding: 0 18px; border-left: 1px solid #d8c9f6; }
.founder-pillars span:first-child { border-left: 0; }
.founder-pillars strong { display: block; color: #6627e9; font: 700 clamp(18px, 1.75vw, 26px)/1.15 var(--display); letter-spacing: -.05em; }
.founder-pillars small { display: block; margin-top: 6px; color: #6c6a83; font: 500 12px/1.4 var(--body); }
.founder-portrait-note { position: absolute; z-index: 5; right: 4px; bottom: -24px; color: #898398; font: 500 11px/1.2 var(--body); }

.founder-journey { padding: clamp(100px, 8vw, 135px) 0 clamp(90px, 8vw, 130px); }
.founder-journey-top { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 5vw, 80px); align-items: center; }
.founder-journey-copy { min-width: 0; }
.founder-journey-art { position: relative; height: 410px; overflow: hidden; }
.founder-journey-art::before { content: ""; position: absolute; inset: 8% 8% -25%; border-radius: 50%; background: radial-gradient(circle, rgba(184, 142, 248, .25), transparent 70%); }
.founder-journey-stripe { position: absolute; top: -7%; bottom: 0; left: 36%; width: 32%; background: linear-gradient(180deg, rgba(125, 45, 237, .77), rgba(125, 45, 237, .16) 75%, transparent); }
.founder-orbit--journey { inset: 10% 4% -20%; transform: rotate(-20deg); }
.founder-star--journey { z-index: 2; top: 7%; right: 15%; }
.founder-journey-art img { position: absolute; z-index: 2; right: 9%; bottom: -39%; width: 79%; height: 133%; object-fit: contain; object-position: bottom; -webkit-mask-image: linear-gradient(#000 55%, transparent 92%); mask-image: linear-gradient(#000 55%, transparent 92%); }
.founder-journey-words { position: absolute; z-index: 3; right: 0; bottom: 12%; color: #767087; font: 700 11px/1.4 var(--display); letter-spacing: .12em; text-transform: uppercase; }
.founder-timeline { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.founder-timeline-wave { position: absolute; top: 0; left: 0; width: 100%; height: 70px; overflow: visible; }
.founder-timeline-wave path { fill: none; stroke: #a875fb; stroke-width: 1.4; vector-effect: non-scaling-stroke; }
.founder-milestone { position: relative; min-width: 0; padding: 104px 20px 0; text-align: center; }
.founder-milestone-dot { position: absolute; z-index: 2; top: 24px; left: calc(50% - 10px); width: 20px; height: 20px; border: 4px solid #fff; border-radius: 50%; background: #6924e9; box-shadow: 0 0 0 5px rgba(109, 43, 236, .11); }
.founder-milestone-dot::after { content: ""; position: absolute; top: 20px; left: 6px; width: 1px; height: 50px; background: #a875fb; }
.founder-milestone-icon { display: grid; width: 68px; height: 68px; place-items: center; margin: 0 auto 17px; border-radius: 50%; background: #f1eaff; color: #6828e9; font: 500 35px/1 var(--display); }
.founder-milestone h3 { margin: 0 0 9px; font: 700 clamp(19px, 1.5vw, 24px)/1.2 var(--display); letter-spacing: -.04em; }
.founder-milestone p { max-width: 260px; margin: 0 auto; color: #777185; font: 400 15px/1.55 var(--body); }

.founder-vision { padding: clamp(95px, 8vw, 135px) 0 clamp(90px, 8vw, 130px); }
.founder-vision-heading { max-width: 920px; margin: 0 auto; text-align: center; }
.founder-vision-heading > p:not(.founder-eyebrow) { max-width: 730px; margin: 24px auto 0; }
.founder-vision-art { position: relative; max-width: 1230px; height: 400px; margin: 12px auto 0; }
.founder-vision-halo { position: absolute; inset: 8% 24% -15%; border-radius: 50%; background: radial-gradient(circle at 50% 55%, rgba(179, 132, 249, .28), rgba(179, 132, 249, .07) 56%, transparent 73%); }
.founder-orbit--vision { inset: 8% 14% 0; transform: rotate(-14deg); }
.founder-orbit-dot--vision { z-index: 3; top: 30%; left: 19%; }
.founder-star--vision { z-index: 3; top: 12%; right: 18%; width: 38px; height: 38px; }
.founder-vision-art img { position: absolute; z-index: 2; bottom: -11%; left: 50%; width: 480px; max-width: 70%; height: 116%; transform: translateX(-50%); object-fit: contain; object-position: bottom; -webkit-mask-image: linear-gradient(#000 62%, transparent 95%); mask-image: linear-gradient(#000 62%, transparent 95%); }
.founder-vision-words { position: absolute; z-index: 3; color: #77718d; }
.founder-vision-words--left { top: 55%; left: 3%; font: 700 11px/2 var(--display); letter-spacing: .25em; text-transform: uppercase; }
.founder-vision-words--right { top: 48%; right: 1%; color: #3e235e; font: italic 28px/1.2 var(--serif); transform: rotate(-8deg); }
.founder-vision-grid { position: relative; z-index: 4; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: -10px; }
.founder-vision-card { min-height: 195px; padding: 28px; border: 1px solid #e9e0f7; border-radius: 25px; background: rgba(255, 255, 255, .93); box-shadow: 0 18px 48px rgba(52, 27, 100, .07); backdrop-filter: blur(12px); }
.founder-vision-icon { display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: 23px; border-radius: 50%; background: #f1e7ff; color: #6829e8; font: 500 30px/1 var(--display); }
.founder-vision-card h3 { margin: 0 0 9px; font: 700 clamp(18px, 1.55vw, 24px)/1.2 var(--display); letter-spacing: -.045em; }
.founder-vision-card p { margin: 0; color: #767185; font: 400 14px/1.55 var(--body); }

.founder-page .service-contact { border-top: 1px solid #f4eefb; }
.founder-page .service-contact .founder-eyebrow { margin: 0 0 24px; color: #6422e8; font: 700 12px/1.6 var(--display); }
.founder-page .service-contact h2 { margin-top: 18px; color: #0f0e12; font: 700 clamp(48px, 4vw, 64px)/.94 var(--display); letter-spacing: -.06em; }
.founder-page .service-contact h2 .it { color: #6827e8; }
.founder-page .service-contact p:last-child { color: #6b6472; font: 400 16px/1.55 var(--body); }
.founder-page .service-button { box-sizing: border-box; flex: 0 0 238px; width: 238px; max-width: 100%; min-height: 58px; gap: 12px; padding: 14px 22px; border: 1px solid #7023e8; border-radius: 999px; background: linear-gradient(105deg, #6720e5, #811ef5); color: #fff; box-shadow: 0 14px 30px rgba(101, 35, 210, .17); font: 700 14px/1.25 var(--display); white-space: nowrap; }
.founder-page .service-button:focus-visible { outline: 3px solid #a970f4; outline-offset: 3px; }

@media (max-width: 1100px) {
  .founder-vision-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .founder-page .service-contact { height: auto; min-height: 350px; padding-block: 65px; }
  .founder-page .service-contact-inner { display: block; }
  .founder-page .service-contact .service-button { margin-top: 28px; }
}
@media (max-width: 900px) {
  .founder-hero-layout, .founder-journey-top { grid-template-columns: 1fr; }
  .founder-hero-art { max-width: 700px; width: 100%; margin: 0 auto; }
  .founder-journey-art { max-width: 700px; width: 100%; margin: 0 auto; }
  .founder-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 42px; }
  .founder-timeline-wave { display: none; }
  .founder-milestone { padding-top: 0; }
  .founder-milestone-dot { display: none; }
}
@media (max-width: 680px) {
  .founder-hero, .founder-journey, .founder-vision { padding-block: 80px; }
  .founder-hero h2, .founder-journey h2, .founder-vision h2 { font-size: clamp(40px, 10vw, 52px); }
  .founder-hero-copy > p:not(.founder-eyebrow), .founder-journey-copy > p:not(.founder-eyebrow), .founder-vision-heading > p:not(.founder-eyebrow) { font-size: 16px; }
  .founder-hero-art { height: 440px; }
  .founder-journey-art { height: 330px; }
  .founder-vision-art { height: 300px; }
  .founder-vision-words--left { left: 0; font-size: 9px; }
  .founder-vision-words--right { right: 0; font-size: 19px; }
  .founder-pillars { width: 98%; padding: 17px 8px; }
  .founder-pillars span { padding-inline: 9px; }
  .founder-pillars strong { font-size: 15px; }
  .founder-pillars small { font-size: 10px; }
  .founder-vision-card { padding: 20px; }
  .founder-page .service-contact h2 { font-size: clamp(40px, 10vw, 52px); }
}
@media (max-width: 430px) {
  .founder-hero-art { height: 355px; }
  .founder-art-words { font-size: 8px; }
  .founder-star--hero, .founder-star--journey { width: 35px; height: 35px; }
  .founder-journey-art { height: 275px; }
  .founder-timeline { gap: 26px 12px; }
  .founder-milestone { padding-inline: 3px; }
  .founder-milestone-icon { width: 54px; height: 54px; font-size: 29px; }
  .founder-milestone p { font-size: 12px; }
  .founder-vision-grid { gap: 10px; }
  .founder-vision-card { min-height: 180px; padding: 17px; }
  .founder-vision-card h3 { font-size: 16px; }
  .founder-vision-card p { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .founder-page .service-button { transition: none; } }
