.p-about{
  padding:clamp(36px,5vw,64px) 0 clamp(72px,9vw,112px);
  background:linear-gradient(180deg,var(--page-bg) 0%,#eef0f3 100%);
  color:var(--text);
}

.p-about__container{
  width:min(100%,var(--container));
  margin:0 auto;
  padding:0 var(--pad);
}

.p-about__hero{
  margin-bottom:clamp(28px,4vw,48px);
}

.p-about__heroGrid{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);
  gap:clamp(28px,4vw,54px);
  align-items:center;
  padding:clamp(28px,4vw,48px);
  border-radius:32px;
  background:
    radial-gradient(1200px 520px at 0% 0%,rgba(var(--primary-rgb),.12) 0%,transparent 60%),
    linear-gradient(135deg,#ffffff 0%,#f2f4f7 100%);
  border:1px solid var(--border);
  box-shadow:0 24px 60px var(--c-0f172a0f);
}

.p-about__heroContent,
.p-about__col,
.p-about__heroMedia,
.p-about__media,
.p-about__teamBody,
.p-about__ctaText{
  min-width:0;
}

.p-about__h1,
.p-about__h2,
.p-about__ctaTitle{
  margin:0;
  color:var(--text);
  line-height:1.02;
  letter-spacing:-.03em;
}

.p-about__h1{
  font-size:clamp(2.6rem,5vw,5.2rem);
}

.p-about__h1Line{
  display:block;
}

.p-about__h1Line--accent{
  color:var(--primary);
}

.p-about__lead,
.p-about__text,
.p-about__cardText,
.p-about__teamRole,
.p-about__ctaLead,
.p-about__faqA,
.p-about__media figcaption{
  color:var(--muted);
  line-height:1.74;
}

.p-about__lead{
  margin:18px 0 0;
  max-width:62ch;
  font-size:1.02rem;
}

.p-about__text + .p-about__text{
  margin-top:14px;
}

.p-about__actions,
.p-about__ctaActions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.p-about__meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.p-about__pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  background:rgba(var(--primary-rgb),.08);
  border:1px solid rgba(var(--primary-rgb),.14);
  color:var(--text);
  font-weight:700;
}

.p-about__heroFrame,
.p-about__media{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  background:#111111;
  box-shadow:0 22px 56px var(--c-00000026);
}

.p-about__heroImg,
.p-about__media img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

.p-about__heroShade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.22) 100%);
}

.p-about__section{
  margin-top:clamp(22px,3vw,36px);
}

.p-about__section--alt .p-about__container > :first-child,
.p-about__section .p-about__container > :first-child{
  margin-top:0;
}

.p-about__split{
  display:grid;
  grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);
  gap:clamp(24px,4vw,48px);
  align-items:center;
  padding:clamp(24px,4vw,40px);
  border-radius:28px;
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:0 20px 52px var(--c-0f172a0d);
}

.p-about__split--reverse{
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
}

.p-about__split--reverse .p-about__col:first-child{
  order:2;
}

.p-about__split--reverse .p-about__col:last-child{
  order:1;
}

.p-about__h2{
  font-size:clamp(2rem,3vw,3rem);
  margin-bottom:16px;
}

.p-about__h2--center,
.p-about__lead--center,
.p-about__sectionHead{
  text-align:center;
}

.p-about__lead--center{
  max-width:60ch;
  margin:14px auto 0;
}

.p-about__list,
.p-about__steps{
  display:grid;
  gap:12px;
  margin:18px 0 0;
  padding:0;
}

.p-about__list{
  list-style:none;
}

.p-about__list li,
.p-about__steps li{
  position:relative;
  padding:16px 18px 16px 20px;
  border-radius:18px;
  background:var(--surface-soft);
  border:1px solid var(--border);
  color:var(--text);
}

.p-about__list li::before{
  content:"";
  position:absolute;
  top:20px;
  left:12px;
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--primary);
}

.p-about__sectionHead{
  margin-bottom:24px;
}

.p-about__cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.p-about__card,
.p-about__teamCard,
.p-about__ctaInner{
  border-radius:24px;
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:0 18px 48px var(--c-0f172a0d);
}

.p-about__card{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:22px;
}

.p-about__cardTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.p-about__cardTitle,
.p-about__teamName{
  margin:0;
  color:var(--text);
  font-size:1.2rem;
}

.p-about__stars{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(var(--primary-rgb),.08);
  color:var(--primary);
  font-weight:800;
  letter-spacing:.04em;
}

.p-about__steps{
  counter-reset:about-steps;
  list-style:none;
}

.p-about__steps li{
  padding-left:56px;
}

.p-about__steps li::before{
  counter-increment:about-steps;
  content:counter(about-steps);
  position:absolute;
  top:14px;
  left:16px;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:var(--primary);
  color:#fff;
  font-weight:800;
}

.p-about__stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:24px;
}

.p-about__stat{
  padding:18px;
  border-radius:20px;
  background:var(--surface-soft);
  border:1px solid var(--border);
}

.p-about__statNum{
  color:var(--primary);
  font-family:var(--font-head);
  font-size:clamp(1.6rem,3vw,2.4rem);
  line-height:1;
}

.p-about__statLabel{
  margin-top:8px;
  color:var(--muted);
  font-weight:700;
}

.p-about__teamGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.p-about__teamCard{
  overflow:hidden;
}

.p-about__teamImg img{
  width:100%;
  aspect-ratio:4/4.6;
  object-fit:cover;
}

.p-about__teamBody{
  padding:20px;
}

.p-about__teamRole{
  margin:8px 0 0;
}

.p-about__faq{
  display:grid;
  gap:14px;
}

.p-about__faqItem{
  border-radius:20px;
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:0 16px 40px var(--c-0f172a0a);
  overflow:hidden;
}

.p-about__faqQ{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  list-style:none;
  cursor:pointer;
  padding:18px 22px;
  color:var(--text);
  font-weight:800;
}

.p-about__faqQ::-webkit-details-marker{
  display:none;
}

.p-about__faqQ::after{
  content:"+";
  flex:0 0 auto;
  width:30px;
  height:30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--surface-soft);
  color:var(--primary);
  font-size:1.2rem;
  line-height:1;
}

.p-about__faqItem[open] .p-about__faqQ::after{
  content:"−";
}

.p-about__faqA{
  padding:0 22px 20px;
}

.p-about__faqA p{
  margin:0;
}

.p-about__cta{
  margin-top:26px;
}

.p-about__ctaInner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  padding:24px;
  background:
    radial-gradient(1000px 280px at 0% 0%,rgba(var(--primary-rgb),.1) 0%,transparent 60%),
    linear-gradient(135deg,#ffffff 0%,#f2f4f7 100%);
}

.p-about__ctaLead{
  margin:8px 0 0;
}

@media (max-width:1199px){
  .p-about__cards,
  .p-about__teamGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:991px){
  .p-about__heroGrid,
  .p-about__split,
  .p-about__split--reverse,
  .p-about__ctaInner{
    grid-template-columns:1fr;
  }

  .p-about__split--reverse .p-about__col:first-child,
  .p-about__split--reverse .p-about__col:last-child{
    order:initial;
  }

  .p-about__heroContent,
  .p-about__sectionHead,
  .p-about__h2--center,
  .p-about__lead--center{
    text-align:left;
  }

  .p-about__lead--center{
    margin-left:0;
    margin-right:0;
  }

  .p-about__stats{
    grid-template-columns:1fr;
  }
}

@media (max-width:767px){
  .p-about{
    padding-top:28px;
  }

  .p-about__heroGrid,
  .p-about__split,
  .p-about__card,
  .p-about__teamBody,
  .p-about__ctaInner{
    padding:20px;
  }

  .p-about__cards,
  .p-about__teamGrid{
    grid-template-columns:1fr;
  }

  .p-about__actions,
  .p-about__ctaActions{
    flex-direction:column;
  }

  .p-about__meta{
    gap:10px;
  }

  .p-about__pill{
    width:100%;
    justify-content:flex-start;
  }

  .p-about__faqQ,
  .p-about__faqA{
    padding-left:18px;
    padding-right:18px;
  }
}
