/* Leadership and team content for the About route. */
.founder-section { overflow: hidden; background: linear-gradient(145deg, #f8fcff, #edf5ff 64%, #f7f5ff); }

.founder-layout {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  gap: clamp(42px, 8vw, 126px);
  align-items: center;
}

.founder-portrait {
  position: relative;
  max-width: 432px;
  margin: 0;
  padding: 12px;
  border: 1px solid #c9e2f4;
  border-radius: 25px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 26px 54px rgba(21, 67, 123, .14);
}

.founder-portrait::before,
.founder-portrait::after { position: absolute; z-index: -1; border-radius: 50%; content: ""; pointer-events: none; }
.founder-portrait::before { top: -55px; right: -77px; width: 210px; aspect-ratio: 1; background: radial-gradient(circle, rgba(81, 213, 255, .32), transparent 68%); }
.founder-portrait::after { bottom: -85px; left: -89px; width: 220px; aspect-ratio: 1; background: radial-gradient(circle, rgba(132, 112, 255, .2), transparent 69%); }

.founder-portrait img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 4.75;
  border-radius: 16px;
  object-fit: cover;
  object-position: center top;
  background: #dce9f5;
}

.founder-portrait figcaption {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 15px 8px 5px;
  color: #527394;
  font-family: var(--font-mono);
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.founder-copy { max-width: 660px; }
.founder-copy h2 { max-width: 620px; margin-bottom: 16px; color: #143665; }
.founder-copy h2 span { color: #2879be; }
.founder-name { margin: 0 0 4px; color: #173b6b; font-size: clamp(1.35rem, 2.3vw, 1.86rem); font-weight: 800; letter-spacing: -.045em; }
.founder-designation { margin: 0 0 20px; color: #3d80bd; font-family: var(--font-mono); font-size: .61rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.founder-copy > p:not(.eyebrow):not(.founder-name):not(.founder-designation) { max-width: 620px; margin-bottom: 27px; color: #617a98; font-size: .9rem; line-height: 1.84; }

.founder-principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.founder-principles article { min-height: 166px; padding: 20px; border: 1px solid #c8e0f2; border-radius: 15px; background: rgba(255, 255, 255, .74); box-shadow: 0 10px 22px rgba(34, 79, 134, .05); }
.founder-principles span { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; color: #2367ab; font-family: var(--font-mono); font-size: .61rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.founder-principles span i { color: #20abc7; font-size: .83rem; }
.founder-principles p { margin: 0; color: #657d99; font-size: .72rem; line-height: 1.68; }

.team-section { position: relative; overflow: hidden; background: #fff; }
.team-section::after { position: absolute; top: 110px; right: -110px; width: 330px; aspect-ratio: 1; border-radius: 50%; content: ""; opacity: .72; background: radial-gradient(circle, rgba(107, 218, 255, .16), transparent 68%); pointer-events: none; }
.team-role-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.team-role-card { position: relative; min-height: 274px; padding: 25px; overflow: hidden; border: 1px solid #cfe3f2; border-radius: 18px; background: linear-gradient(145deg, #fff, #f4f9ff); box-shadow: 0 13px 30px rgba(31, 74, 132, .06); transition: border-color .28s ease, box-shadow .28s ease, transform .28s ease; }
.team-role-card::after { position: absolute; right: -54px; bottom: -60px; width: 160px; aspect-ratio: 1; border-radius: 50%; content: ""; opacity: .65; background: radial-gradient(circle, rgba(70, 189, 235, .16), transparent 68%); transition: transform .34s ease; }
.team-role-card:hover { border-color: #8ed3eb; box-shadow: 0 22px 39px rgba(24, 75, 137, .13); transform: translateY(-6px); }
.team-role-card:hover::after { transform: scale(1.18); }
.team-role-icon { display: grid; width: 47px; height: 47px; margin-bottom: 44px; place-items: center; border-radius: 13px; color: #1d679f; background: #e0f5ff; font-size: 1rem; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7); }
.team-role-icon--engineering { color: #5e51b7; background: #eeeaff; }.team-role-icon--ai { color: #126b88; background: #d9fbf7; }.team-role-icon--delivery { color: #a15d24; background: #fff1df; }
.team-role-department { margin: 0 0 8px; color: #4b87bd; font-family: var(--font-mono); font-size: .57rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.team-role-card h3 { position: relative; z-index: 1; margin: 0 0 10px; color: #163965; font-size: 1.04rem; }
.team-role-card > p:last-child { position: relative; z-index: 1; margin: 0; color: #6a819b; font-size: .74rem; line-height: 1.7; }
.team-disclosure { display: flex; align-items: center; gap: 9px; margin: 26px 0 0; color: #7287a0; font-size: .7rem; line-height: 1.6; }.team-disclosure i { color: #368ac6; }

@media (max-width: 1080px) {
  .founder-layout { grid-template-columns: minmax(255px, .78fr) minmax(0, 1.22fr); gap: 45px; }
  .team-role-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .founder-layout { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .founder-portrait { width: min(100%, 420px); }
  .founder-principles { grid-template-columns: minmax(0, 1fr); }
  .founder-principles article { min-height: 0; }
}

@media (max-width: 560px) {
  .founder-portrait { padding: 9px; border-radius: 19px; }
  .founder-portrait img { border-radius: 12px; }
  .founder-copy > p:not(.eyebrow):not(.founder-name):not(.founder-designation) { font-size: .83rem; }
  .team-role-grid { grid-template-columns: minmax(0, 1fr); }
  .team-role-card { min-height: 0; padding: 23px; }
  .team-role-icon { margin-bottom: 31px; }
}

@media (prefers-reduced-motion: reduce) {
  .team-role-card,
  .team-role-card::after { transition: none; }
}
