.about-page{
  background:
    linear-gradient(90deg,rgba(19,19,18,.04) 1px,transparent 1px),
    linear-gradient(0deg,rgba(19,19,18,.04) 1px,transparent 1px),
    #f3f3f4;
  background-size:56px 56px;
}

.about-main{
  overflow:hidden;
}

.about-hero{
  padding:clamp(42px,4vw,64px) 0 clamp(42px,4vw,60px);
}

.about-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.76fr);
  gap:clamp(32px,5vw,78px);
  align-items:center;
}

.about-hero__title{
  max-width:860px;
  margin:0;
  color:var(--black);
  font-size:clamp(3.3rem,7.2vw,8rem);
  line-height:.92;
  letter-spacing:.02em;
  font-weight:950;
  text-transform:uppercase;
}

.about-hero__lead{
  max-width:780px;
  margin:26px 0 0;
  color:rgba(19,19,18,.78);
  font-size:16px;
  line-height:1.48;
  font-weight:750;
}

.about-hero__text{
  max-width:760px;
  margin:20px 0 0;
  color:rgba(19,19,18,.68);
  font-size:16px;
  line-height:1.65;
  font-weight:600;
}

.about-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px;
}

.about-hero__visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:0;
  overflow:visible;
}

.about-hero__image{
  display:block;
  width:min(100%,clamp(420px,38vw,580px));
  height:auto;
  aspect-ratio:1/1;
  max-width:100%;
  max-height:none;
  object-fit:cover;
  border-radius:32px;
}

.about-section{
  padding:84px 0;
}

.about-section--white{
  background:#f7f7f6;
}

.about-section--muted,
.about-section--services{
  background:#f3f3f4;
}

.about-section--dark{
  background:#09090b;
  color:#fff;
}

.about-section-head{
  display:grid;
  gap:28px;
  margin-bottom:clamp(34px,4vw,54px);
}

.about-section-head--split{
  grid-template-columns:minmax(0,.95fr) minmax(320px,.78fr);
  align-items:end;
}

.about-section-title{
  margin:0;
  color:var(--black);
  font-size:clamp(2rem,3vw,3.5rem);
  line-height:.95;
  letter-spacing:.02em;
  font-weight:950;
  text-transform:uppercase;
}

.about-section-title--light{
  color:#fff;
}

.about-section-text{
  max-width:720px;
  margin:0;
  color:rgba(19,19,18,.68);
  font-size:16px;
  line-height:1.65;
  font-weight:600;
}

.about-cycle-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.about-cycle-grid article,
.about-why-grid article{
  position:relative;
  min-height:260px;
  padding:28px;
  border:1px solid rgba(19,19,18,.11);
  border-radius:28px;
  background:#fff;
  overflow:hidden;
}

.about-cycle-grid article:first-child,
.about-why-grid article:nth-child(2){
  background:#111113;
  color:#fff;
}

.about-cycle-grid article:nth-child(4),
.about-why-grid article:nth-child(5){
  background:var(--red);
  color:#fff;
  border-color:var(--red);
}

.about-cycle-grid span,
.about-why-grid span{
  display:block;
  margin-bottom:54px;
  color:var(--red);
  font-size:14px;
  line-height:1;
  font-weight:950;
}

.about-cycle-grid article:first-child span,
.about-cycle-grid article:nth-child(4) span,
.about-why-grid article:nth-child(2) span,
.about-why-grid article:nth-child(5) span{
  color:#fff;
}

.about-cycle-grid h3,
.about-why-grid strong{
  display:block;
  margin:0 0 14px;
  color:inherit;
  font-size:clamp(1.55rem,2vw,2.25rem);
  line-height:1.04;
  letter-spacing:.02em;
  font-weight:950;
}

.about-cycle-grid p,
.about-why-grid p{
  margin:0;
  color:rgba(19,19,18,.68);
  font-size:15px;
  line-height:1.58;
  font-weight:650;
}

.about-cycle-grid article:first-child p,
.about-cycle-grid article:nth-child(4) p,
.about-why-grid article:nth-child(2) p,
.about-why-grid article:nth-child(5) p{
  color:rgba(255,255,255,.72);
}

.about-services-slider{
  position:relative;
  width:100%;
}

.about-services-slider .partner-services-viewport{
  width:100%;
  overflow:visible;
}

.about-services-slider .partner-services-grid{
  display:flex;
  gap:18px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:0 2px 8px;
  scrollbar-width:none;
}

.about-services-slider .partner-services-grid::-webkit-scrollbar{
  display:none;
}

.about-services-slider .partner-services-grid article{
  position:relative;
  flex:0 0 calc((100% - 36px) / 3);
  min-height:210px;
  padding:24px;
  border:1px solid rgba(19,19,18,.12);
  border-radius:28px;
  background-color:#fff;
  scroll-snap-align:start;
  overflow:hidden;
  isolation:isolate;
  transition:border-color .24s ease,box-shadow .24s ease;
}

.about-services-slider .partner-services-grid article::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.985) 0%,rgba(255,255,255,.955) 30%,rgba(255,255,255,.9) 48%,rgba(255,255,255,.76) 66%,rgba(255,255,255,.36) 100%),
    var(--service-visual);
  background-repeat:no-repeat,no-repeat;
  background-position:0 0,center right;
  background-size:100% 100%,cover;
}

.about-services-slider .partner-services-grid article:nth-child(1){--service-visual:url('../img/partners/service-01.webp')}
.about-services-slider .partner-services-grid article:nth-child(2){--service-visual:url('../img/partners/service-06.webp')}
.about-services-slider .partner-services-grid article:nth-child(3){--service-visual:url('../img/partners/service-04.webp')}
.about-services-slider .partner-services-grid article:nth-child(4){--service-visual:url('../img/partners/service-05.webp')}
.about-services-slider .partner-services-grid article:nth-child(5){--service-visual:url('../img/partners/service-02.webp')}
.about-services-slider .partner-services-grid article:nth-child(6){--service-visual:url('../img/partners/service-07.webp')}

.about-services-slider .partner-services-grid article:hover{
  border-color:rgba(219,37,16,.38);
  box-shadow:none;
}

.about-services-slider .partner-services-grid article span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 14px;
  margin-bottom:22px;
  border-radius:999px;
  background:rgba(255,240,238,.94);
  color:var(--red);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.about-services-slider .partner-services-grid article h3{
  margin:0 0 12px;
  color:var(--black);
  font-size:clamp(1.45rem,1.65vw,2rem);
  line-height:1.02;
  letter-spacing:.02em;
  font-weight:950;
}

.about-services-slider .partner-services-grid article p{
  margin:0;
  max-width:92%;
  color:rgba(19,19,18,.68);
  font-size:15px;
  line-height:1.58;
  font-weight:600;
}

.about-services-slider .partner-services-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:34px;
}

.about-services-slider .partner-services-progress{
  position:relative;
  flex:1 1 auto;
  height:7px;
  max-width:720px;
  border-radius:999px;
  background:rgba(219,37,16,.13);
  overflow:hidden;
}

.about-services-slider .partner-services-progress span{
  position:absolute;
  inset:0 auto 0 0;
  width:0;
  border-radius:inherit;
  background:var(--red);
  transition:width .22s ease;
}

.about-services-slider .partner-services-arrows{
  display:flex;
  gap:14px;
}

.about-services-slider .partner-services-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  border:1px solid rgba(19,19,18,.18);
  border-radius:50%;
  background:#fff;
  color:var(--black);
  cursor:pointer;
  transition:border-color .22s ease,color .22s ease;
}

.about-services-slider .partner-services-arrow svg{
  width:24px;
  height:24px;
}

.about-services-slider .partner-services-arrow:hover{
  border-color:rgba(219,37,16,.55);
  color:var(--red);
}

.about-services-slider .partner-services-arrow:disabled{
  opacity:.35;
  pointer-events:none;
}

.about-why-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.about-why-grid article{
  min-height:250px;
}

.about-approach-grid,
.about-mission-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(360px,1fr);
  gap:clamp(32px,5vw,86px);
  align-items:start;
}

.about-approach-card{
  padding:34px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:30px;
  background:rgba(255,255,255,.04);
}

.about-approach-card p,
.about-mission-card p,
.about-final-card p{
  margin:0;
  color:rgba(255,255,255,.74);
  font-size:16px;
  line-height:1.7;
  font-weight:600;
}

.about-approach-card p + p,
.about-mission-card p + p{
  margin-top:18px;
}

.about-tech{
  margin:0;
}

.about-mission-card{
  padding:34px;
  border:1px solid rgba(19,19,18,.11);
  border-radius:30px;
  background:#fff;
}

.about-mission-card p{
  color:rgba(19,19,18,.7);
}

.about-final{
  background:#09090b;
  color:#fff;
}

.about-final-card{
  display:grid;
  justify-items:center;
  gap:28px;
  max-width:1240px;
  margin:0 auto;
  padding:clamp(42px,5vw,72px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:34px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,.045) 1px,transparent 1px),
    #111113;
  background-size:44px 44px;
  text-align:center;
}

.about-final-card .about-section-title{
  max-width:860px;
  margin:0 auto 20px;
  font-size:clamp(2.2rem,3.8vw,4.35rem);
}

.about-final-card p{
  max-width:830px;
  margin-inline:auto;
}

@media (max-width:1280px){
  .about-cycle-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .about-services-slider .partner-services-grid article{
    flex-basis:calc((100% - 18px) / 2);
  }
}

@media (max-width:1100px){
  .about-hero__grid,
  .about-section-head--split,
  .about-approach-grid,
  .about-mission-grid{
    grid-template-columns:1fr;
  }

  .about-hero{
    padding-top:50px;
  }

  .about-hero__visual{
    min-height:0;
  }

  .about-hero__image{
    width:min(100%,500px);
    height:auto;
    max-height:none;
    aspect-ratio:1/1;
  }

  .about-why-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:767px){
  .about-hero{
    padding:34px 0 38px;
  }

  .about-hero__title{
    font-size:clamp(3rem,15vw,4.5rem);
  }

  .about-hero__lead{
    font-size:15px;
  }

  .about-hero__text,
  .about-section-text,
  .about-approach-card p,
  .about-mission-card p,
  .about-final-card p{
    font-size:15px;
  }

  .about-hero__actions,
  .about-hero__actions .btn-primary,
  .about-hero__actions .seo-link-button{
    width:100%;
  }

  .about-hero__visual{
    min-height:360px;
  }

  .about-hero__image{
    width:min(100%,320px);
    height:auto;
    max-height:none;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:24px;
  }

  .about-section{
    padding:42px 0;
  }

  .about-section-title{
    font-size:clamp(1.9rem,9vw,2.9rem);
  }

  .about-cycle-grid,
  .about-why-grid{
    grid-template-columns:1fr;
  }

  .about-cycle-grid article,
  .about-why-grid article,
  .about-approach-card,
  .about-mission-card,
  .about-final-card{
    min-height:auto;
    padding:22px;
    border-radius:22px;
  }

  .about-cycle-grid span,
  .about-why-grid span{
    margin-bottom:36px;
  }

  .about-services-slider .partner-services-grid article{
    flex-basis:min(86vw,330px);
    min-height:235px;
    padding:22px 20px;
    border-radius:24px;
  }

  .about-services-slider .partner-services-grid article::before{
    background-image:
      linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 34%,rgba(255,255,255,.78) 56%,rgba(255,255,255,.38) 100%),
      var(--service-visual);
    background-position:0 0,center center;
  }

  .about-services-slider .partner-services-controls{
    gap:18px;
    margin-top:26px;
  }

  .about-services-slider .partner-services-arrows{
    gap:10px;
  }

  .about-services-slider .partner-services-arrow{
    width:48px;
    height:48px;
  }
}
@media (max-width:1100px){
  .about-section{
    padding:64px 0;
  }

  .about-section-title{
    font-size:clamp(2rem,6.2vw,3.4rem);
  }

  .about-final-card .about-section-title{
    font-size:clamp(2.15rem,6vw,3.6rem);
  }
}

@media (max-width:767px){
  .about-section{
    padding:38px 0;
  }

  .about-section-head{
    margin-bottom:28px;
  }

  .about-section-title{
    font-size:clamp(1.9rem,9vw,2.9rem);
    line-height:.96;
  }

  .about-final-card .about-section-title{
    font-size:clamp(2rem,8.6vw,2.9rem);
  }

  .about-hero__lead{
    margin-top:20px;
  }

  .about-hero__text{
    margin-top:16px;
  }

  .about-final-card{
    gap:22px;
  }
}

.about-page .partner-mobile-slider-ui{
  display:none;
}

@media (max-width:767px){
  .about-page #about-cycle .partner-mobile-slider-track.is-mobile-slider,
  .about-page #about-why .partner-mobile-slider-track.is-mobile-slider{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:14px !important;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-left:0;
    -webkit-overflow-scrolling:touch;
    -ms-overflow-style:none;
    scrollbar-width:none;
    padding-bottom:4px;
  }

  .about-page #about-cycle .partner-mobile-slider-track.is-mobile-slider::-webkit-scrollbar,
  .about-page #about-why .partner-mobile-slider-track.is-mobile-slider::-webkit-scrollbar{
    display:none;
  }

  .about-page #about-cycle .partner-mobile-slider-track.is-mobile-slider article,
  .about-page #about-why .partner-mobile-slider-track.is-mobile-slider article{
    flex:0 0 calc(100% - 48px) !important;
    min-width:calc(100% - 48px) !important;
    max-width:calc(100% - 48px) !important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    grid-column:auto !important;
  }

  .about-page .partner-mobile-slider-ui{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:14px;
  }

  .about-page .partner-mobile-slider-ui[hidden]{
    display:none !important;
  }

  .about-page .partner-mobile-slider-dots{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
  }

  .about-page .partner-mobile-slider-dot{
    width:8px;
    height:8px;
    padding:0;
    border:0;
    border-radius:999px;
    background:rgba(19,19,18,.18);
    transition:width .24s ease,background-color .24s ease;
  }

  .about-page .partner-mobile-slider-dot.is-active{
    width:26px;
    background:var(--red);
  }

  .about-page .partner-mobile-slider-arrows{
    display:flex;
    align-items:center;
    gap:10px;
  }

  .about-page .partner-mobile-slider-arrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    padding:0;
    border:1px solid rgba(19,19,18,.12);
    border-radius:50%;
    background:#fff;
    color:var(--black);
    box-shadow:none;
  }

  .about-page .partner-mobile-slider-arrow svg{
    width:20px;
    height:20px;
  }

  .about-page .partner-mobile-slider-arrow:disabled{
    opacity:.4;
  }
}


@media (min-width:768px) and (max-width:1100px){
  .about-hero{
    padding-top:44px;
  }

  .about-hero__grid{
    grid-template-columns:minmax(0,1fr) minmax(280px,.62fr) !important;
    gap:clamp(24px,4vw,44px);
    align-items:center;
  }

  .about-hero__visual{
    min-height:0 !important;
    justify-content:flex-end;
  }

  .about-hero__image{
    width:min(100%,clamp(340px,42vw,500px)) !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:28px;
  }

  .about-hero__title{
    font-size:clamp(3.25rem,7.4vw,5.7rem);
  }
}

@media (max-width:767px){
  .about-hero__visual{
    min-height:0 !important;
    margin-top:26px;
    justify-content:center;
  }

  .about-hero__image{
    width:100% !important;
    max-width:330px !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:24px;
  }
}

.about-page .about-hero__title{
  font-size:clamp(2.35rem,5.5vw,5.7rem) !important;
  line-height:1 !important;
  letter-spacing:-.03em !important;
}

@media (min-width:768px) and (max-width:1100px){
  .about-page .about-hero__title{
    font-size:clamp(2.55rem,6.2vw,5.1rem) !important;
  }
}

@media (max-width:767px){
  .about-page .about-hero__title{
    font-size:clamp(2.55rem,13vw,4.2rem) !important;
  }
}


/* v60 about hero compact alignment fix */
.about-hero{
  padding:clamp(28px,3vw,42px) 0 clamp(28px,3vw,40px);
}

.about-hero__grid{
  align-items:start;
  gap:clamp(24px,4vw,56px);
}

.about-hero__actions{
  margin-top:26px;
}

.about-hero__visual{
  align-items:flex-start;
  justify-content:flex-start;
}

.about-hero__image{
  width:min(100%,clamp(320px,30vw,430px));
}

@media (min-width:768px) and (max-width:1100px){
  .about-hero{
    padding-top:34px;
    padding-bottom:34px;
  }

  .about-hero__grid{
    grid-template-columns:minmax(0,1fr) minmax(260px,.52fr) !important;
    gap:clamp(20px,3vw,36px) !important;
    align-items:start !important;
  }

  .about-hero__visual{
    justify-content:flex-start !important;
    align-items:flex-start !important;
  }

  .about-hero__image{
    width:min(100%,clamp(290px,34vw,380px)) !important;
    border-radius:26px;
  }
}

@media (min-width:1101px){
  .about-hero__grid{
    grid-template-columns:minmax(0,1.04fr) minmax(300px,.62fr);
  }
}

@media (max-width:767px){
  .about-hero{
    padding:28px 0 34px;
  }

  .about-hero__grid{
    gap:22px;
  }

  .about-hero__actions{
    margin-top:22px;
  }

  .about-hero__visual{
    margin-top:14px;
    justify-content:center !important;
    align-items:flex-start !important;
  }

  .about-hero__image{
    max-width:300px !important;
  }
}


/* v62 hero top spacing aligned with contacts page */
.about-hero{
  padding-top:clamp(52px,4.8vw,84px) !important;
}

@media (max-width:1100px){
  .about-hero{
    padding-top:clamp(44px,5vw,64px) !important;
  }
}

@media (max-width:767px){
  .about-hero{
    padding-top:35px !important;
  }
}
