.about-us-page .primary-nav a[aria-current="page"] { color: var(--violet); }

.about-us-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 18%, rgba(179, 142, 241, 0.36), transparent 27%),
    radial-gradient(circle at 7% 88%, rgba(104, 52, 204, 0.1), transparent 25%),
    linear-gradient(128deg, #fbfaff 0%, #f4effd 58%, #eee7fb 100%);
}

.about-us-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(89, 38, 184, 0.14) 1px, transparent 1px);
  background-size: 25px 25px;
  mask-image: linear-gradient(90deg, #000 0%, transparent 70%);
  opacity: 0.32;
}

.about-us-orbit { position: absolute; pointer-events: none; border: 1px solid rgba(89, 38, 184, 0.12); border-radius: 50%; }
.about-us-orbit-one { width: 520px; height: 520px; top: -354px; left: 22%; box-shadow: 0 0 0 39px rgba(89, 38, 184, 0.028), 0 0 0 78px rgba(89, 38, 184, 0.014); }
.about-us-orbit-two { width: 310px; height: 310px; right: -160px; bottom: -177px; box-shadow: 0 0 0 31px rgba(89, 38, 184, 0.03), 0 0 0 62px rgba(89, 38, 184, 0.014); }

.about-us-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(350px, 0.92fr);
  gap: clamp(46px, 7vw, 108px);
  align-items: center;
  min-height: 514px;
  padding: 70px 0;
}

.about-us-hero-copy { max-width: 670px; }
.about-us-hero h1 { max-width: 660px; margin-bottom: 20px; color: #281751; font-size: clamp(3.1rem, 5vw, 4.5rem); }
.about-us-hero h1 span { color: #5820bb; }
.about-us-hero-copy > p { color: #4d4667; font-size: var(--text-body-large); font-weight: 700; line-height: 1.62; }
.about-us-hero-copy .about-us-hero-lead { max-width: 636px; margin-bottom: 12px; color: #302653; font-size: clamp(1.2rem, 1.68vw, 1.38rem); font-weight: 800; line-height: 1.54; }
.about-us-hero-copy .button-row { margin-top: 29px; }

.how-we-work { position: relative; overflow: hidden; padding: 35px 34px 33px; border: 1px solid rgba(102, 57, 193, 0.18); border-radius: 22px; background: rgba(255, 255, 255, 0.78); box-shadow: 0 19px 42px rgba(48, 20, 114, 0.12); backdrop-filter: blur(8px); }
.how-we-work::after { content: ""; position: absolute; width: 190px; height: 190px; right: -95px; bottom: -118px; border: 1px solid rgba(91, 35, 186, 0.13); border-radius: 50%; box-shadow: 0 0 0 26px rgba(91, 35, 186, 0.025), 0 0 0 52px rgba(91, 35, 186, 0.014); }
.how-we-work > * { position: relative; z-index: 1; }
.how-we-work-icon { display: grid; place-items: center; width: 59px; height: 59px; margin-bottom: 22px; border-radius: 17px; color: #fff; background: linear-gradient(145deg, #7040d3, #461394); box-shadow: 0 7px 15px rgba(75, 27, 163, 0.2); }
.how-we-work-icon .lucide { width: 31px; height: 31px; stroke-width: 2.05; }
.how-we-work .eyebrow { margin-bottom: 8px; }
.how-we-work h2 { max-width: 350px; margin-bottom: 20px; color: #392061; font-size: clamp(1.55rem, 2.3vw, 1.95rem); font-weight: 900; line-height: 1.17; }
.how-we-work ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.how-we-work li { display: flex; gap: 11px; align-items: center; color: #4d4169; font-size: var(--text-body); font-weight: 800; line-height: 1.4; }
.how-we-work li .lucide { flex: 0 0 auto; width: 21px; height: 21px; color: #5922b8; stroke-width: 2.2; }

.team-section { padding-top: 72px; padding-bottom: 76px; }
.team-intro { max-width: 820px; margin-bottom: 35px; }
.team-intro h2 { margin-bottom: 13px; color: #5120af; font-size: var(--heading-section); font-weight: 900; line-height: 1.14; }
.team-intro > p:last-child { max-width: 765px; margin-bottom: 0; color: #514a69; font-size: var(--text-body-large); font-weight: 700; line-height: 1.6; }
.team-grid { display: grid; grid-template-columns: 1fr; gap: 24px; max-width: 920px; }
.team-card { display: grid; grid-template-columns: minmax(250px, 0.62fr) minmax(0, 1.38fr); overflow: hidden; align-items: stretch; border: 1px solid #e6def5; border-radius: 19px; background: #fff; box-shadow: 0 10px 25px rgba(42, 20, 102, 0.08); }
.team-portrait { min-height: 350px; overflow: hidden; background: #e8e1f5; }
.team-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 24%; }
.team-portrait-sarah img { object-position: center 19%; }
.team-card-copy { padding: 27px 28px 30px; }
.team-role { margin: 0 0 7px; color: #6c36c6; font-size: var(--text-caption); font-weight: 900; letter-spacing: 0.055em; line-height: 1.35; text-transform: uppercase; }
.team-card h3 { margin: 0 0 12px; color: #302055; font-size: clamp(1.65rem, 2.4vw, 2rem); font-weight: 900; line-height: 1.12; }
.team-card-copy > p:not(.team-role) { margin: 0; color: #564f6c; font-size: var(--text-body); font-weight: 700; line-height: 1.62; }
.team-bio { display: grid; gap: 13px; }
.team-bio p { margin: 0; color: #564f6c; font-size: var(--text-body); font-weight: 700; line-height: 1.62; }

.about-us-closing { position: relative; overflow: hidden; padding: 70px 0; color: #fff; background: linear-gradient(114deg, #251057 0%, #3b1288 52%, #5621af 100%); }
.about-us-closing::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(rgba(255, 255, 255, 0.14) 1px, transparent 1px); background-size: 26px 26px; mask-image: linear-gradient(90deg, #000 0%, transparent 68%); opacity: 0.23; }
.about-us-closing-orbit { position: absolute; width: 460px; height: 460px; right: -220px; top: -260px; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 50%; box-shadow: 0 0 0 35px rgba(255, 255, 255, 0.035), 0 0 0 70px rgba(255, 255, 255, 0.018); }
.about-us-closing-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 0.62fr); gap: clamp(42px, 8vw, 120px); align-items: center; }
.about-us-closing .eyebrow { color: #dfd0ff; }
.about-us-closing h2 { max-width: 690px; margin-bottom: 14px; color: #fff; font-size: clamp(2rem, 3.3vw, 3rem); font-weight: 900; line-height: 1.12; }
.about-us-closing p:not(.eyebrow) { max-width: 695px; margin: 0; color: rgba(255, 255, 255, 0.9); font-size: var(--text-body-large); font-weight: 700; line-height: 1.6; }
.about-us-closing-actions { display: grid; gap: 13px; justify-items: start; }
.about-us-closing-actions .button { width: 300px; min-width: 0; }

@media (max-width: 1100px) {
  .about-us-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(330px, 0.88fr); gap: 42px; }
}

@media (max-width: 960px) {
  .about-us-hero-grid { grid-template-columns: 1fr; gap: 36px; min-height: 0; padding-top: 58px; padding-bottom: 60px; }
  .about-us-hero-copy { max-width: 760px; }
  .how-we-work { max-width: 680px; }
  .team-grid { grid-template-columns: 1fr; max-width: 760px; }
  .team-card { display: grid; grid-template-columns: minmax(230px, 0.7fr) minmax(0, 1.3fr); align-items: stretch; }
  .team-portrait { height: auto; min-height: 330px; }
  .about-us-closing-grid { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 640px) {
  .about-us-hero-grid, .team-section, .about-us-closing { padding-top: 46px; padding-bottom: 46px; }
  .about-us-hero h1 { font-size: clamp(2.7rem, 12vw, 3.65rem); }
  .about-us-hero-copy > p, .about-us-hero-copy .about-us-hero-lead, .team-intro > p:last-child, .about-us-closing p:not(.eyebrow) { font-size: var(--text-body); }
  .how-we-work { padding: 27px 22px 25px; border-radius: 17px; }
  .how-we-work-icon { width: 53px; height: 53px; margin-bottom: 18px; border-radius: 15px; }
  .how-we-work h2 { font-size: 1.6rem; }
  .team-intro { margin-bottom: 27px; }
  .team-card { display: block; }
  .team-portrait { height: 315px; min-height: 0; }
  .team-portrait-jordan { height: clamp(390px, 75vw, 470px); }
  .team-portrait-jordan img { object-position: center 40%; }
  .team-card-copy { padding: 23px 21px 25px; }
  .about-us-closing-actions { width: 100%; }
  .about-us-closing-actions .button { width: 100%; min-width: 0; }
}
