/* About refresh v1.2.32
 * Keeps the existing Full Protection visual language while refining the
 * right-side story block and introducing accessible Team tabs.
 */

.fp-about--bilingual .fp-about-intro{
  padding:58px 0 34px;
}

.fp-about--bilingual .fp-about-intro__grid{
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:52px;
  align-items:start;
}

.fp-about--bilingual .fp-about-intro__left{
  max-width:none;
}

.fp-about--bilingual .fp-about-intro__title{
  margin-bottom:20px;
  font-size:clamp(28px,2.6vw,36px);
  line-height:1.05;
  letter-spacing:.035em;
}

.fp-about--bilingual .fp-about-intro__copy p{
  font-size:16px;
  line-height:1.72;
  margin-bottom:18px;
}

.fp-about--bilingual .fp-about-intro__right{
  display:block;
}

.fp-about-visual-stack{
  width:100%;
  max-width:560px;
  margin-left:auto;
}

.fp-about--bilingual .fp-about-portfolio-image--clean{
  overflow:hidden;
  border:1px solid #e2e6eb;
  border-radius:16px;
  background:#f8fafc;
  box-shadow:0 12px 34px rgba(15,23,42,.08);
}

.fp-about--bilingual .fp-about-portfolio-image--clean img{
  width:100%;
  max-width:none;
  margin:0;
  aspect-ratio:16/10;
  object-fit:cover;
}

.fp-about-statement{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:15px;
  margin-top:16px;
  padding:22px 24px 22px 22px;
  border:1px solid #e7e9ed;
  border-radius:14px;
  background:#f7f8fa;
}

.fp-about-statement__mark{
  flex:0 0 auto;
  margin-top:-3px;
  color:#c81f26;
  font-family:Georgia,"Times New Roman",serif;
  font-size:46px;
  line-height:.9;
  font-weight:700;
}

.fp-about-statement__copy{
  margin:0;
  color:#2f3742;
  font-size:14px;
  line-height:1.55;
}

.fp-about-statement__copy strong{
  color:#111827;
  font-weight:800;
}

/* Team tabs */
.fp-about--bilingual .fp-about-team{
  padding:42px 0 82px;
  border-top:1px solid #eef0f3;
}

.fp-about--bilingual .fp-section-head{
  margin:18px 0 12px;
}

.fp-about--bilingual .fp-section-head__title{
  font-size:clamp(29px,2.8vw,36px);
  letter-spacing:.16em;
}

.fp-about-team-tabs{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:100%;
  margin:22px auto 0;
  padding:0 10px;
  border-bottom:1px solid #e7e9ed;
}

.fp-about-team-tab{
  position:relative;
  appearance:none;
  border:0;
  background:transparent;
  margin:0;
  padding:13px 18px 14px;
  color:#707985;
  font:inherit;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
  cursor:pointer;
  transition:color .18s ease;
}

.fp-about-team-tab::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:-1px;
  height:3px;
  border-radius:999px 999px 0 0;
  background:#c81f26;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}

.fp-about-team-tab:hover,
.fp-about-team-tab:focus-visible,
.fp-about-team-tab.is-active{
  color:#101827;
}

.fp-about-team-tab.is-active::after{
  transform:scaleX(1);
}

.fp-about-team-tab:focus-visible{
  outline:2px solid rgba(200,31,38,.26);
  outline-offset:3px;
  border-radius:6px;
}

.fp-about-team-panels{
  margin-top:30px;
}

.fp-about-team-panel[hidden]{
  display:none!important;
}

.fp-about-team-panel .fp-team-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.fp-about-team-panel .fp-team-card{
  min-width:0;
  gap:14px;
  padding:16px;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}

.fp-about-team-panel .fp-team-card__avatar{
  width:82px;
  flex:0 0 82px;
}

.fp-about-team-panel .fp-team-card__avatar img{
  width:82px;
  height:82px;
  box-shadow:0 8px 20px rgba(15,23,42,.10);
}

.fp-about-team-panel .fp-team-card__body{
  padding-top:2px;
}

.fp-about-team-panel .fp-team-card__name{
  font-size:13px;
  letter-spacing:.055em;
}

.fp-about-team-panel .fp-team-card__role{
  margin-top:6px;
  font-size:12px;
  line-height:1.35;
}

.fp-about-team-panel .fp-team-card__meta{
  margin-top:9px;
  font-size:11px;
  line-height:1.35;
}

.fp-team-region-columns{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  align-items:start;
}

.fp-team-region-column{
  min-width:0;
}

.fp-team-region-column__title{
  margin:0 0 13px;
  padding:0 0 10px;
  border-bottom:2px solid rgba(200,31,38,.18);
  color:#c81f26;
  font-size:13px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.fp-team-region-column__members{
  display:grid;
  gap:14px;
}

.fp-team-region-column .fp-team-card{
  width:100%;
}

.fp-about-team-panel .fp-team-empty{
  margin-top:10px;
}

@media (max-width:1180px){
  .fp-about-team-panel .fp-team-grid,
  .fp-team-region-columns{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:980px){
  .fp-about--bilingual .fp-about-intro__grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .fp-about-visual-stack{
    max-width:720px;
    margin:0 auto;
  }
  .fp-about-team-panel .fp-team-grid,
  .fp-team-region-columns{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:680px){
  .fp-about--bilingual .fp-about-intro{
    padding:42px 0 24px;
  }
  .fp-about--bilingual .fp-about-intro__title{
    font-size:25px;
  }
  .fp-about-statement{
    padding:19px 18px;
  }
  .fp-about-team-tabs{
    justify-content:flex-start;
    overflow-x:auto;
    padding:0 2px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .fp-about-team-tabs::-webkit-scrollbar{
    display:none;
  }
  .fp-about-team-tab{
    flex:0 0 auto;
    padding-left:14px;
    padding-right:14px;
    font-size:12px;
  }
  .fp-about-team-tab::after{
    left:14px;
    right:14px;
  }
  .fp-about-team-panel .fp-team-grid,
  .fp-team-region-columns{
    grid-template-columns:1fr;
  }
  .fp-about-team-panel .fp-team-card{
    max-width:520px;
  }
}

/* ---------------------------------------------------------
   v1.2.33 - About partner benefits restored with visible icons
--------------------------------------------------------- */
.fp-about--bilingual .fp-about-partner{
  padding:34px 0 42px;
  background:#f7f8fa;
  border-top:1px solid #eceff2;
  border-bottom:1px solid #eceff2;
}
.fp-about-partner__head{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin-bottom:28px;
  text-align:center;
}
.fp-about-partner__title{
  margin:0;
  color:#101827;
  font-family:inherit;
  font-size:clamp(25px,2.25vw,32px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.fp-about-partner__accent{
  width:42px;
  height:3px;
  margin-top:11px;
  border-radius:99px;
  background:#c81f26;
}
.fp-about-partner__grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:start;
}
.fp-about-partner__item{
  position:relative;
  min-width:0;
  padding:4px 24px 2px;
  text-align:center;
}
.fp-about-partner__item:not(:last-child)::after{
  content:"";
  position:absolute;
  top:18px;
  right:0;
  width:1px;
  height:92px;
  background:#e2e5e9;
}
.fp-about-partner__icon{
  width:62px;
  height:62px;
  margin:0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#e22931;
}
.fp-about-partner__icon svg{
  width:56px;
  height:56px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.fp-about-partner__item-title{
  margin:0 0 8px;
  color:#172033;
  font-size:14px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.fp-about-partner__item-text{
  max-width:210px;
  margin:0 auto;
  color:#687282;
  font-size:12.5px;
  line-height:1.5;
}
.fp-about--bilingual .fp-about-team{
  padding-top:34px;
}

@media (max-width:980px){
  .fp-about-partner__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px 0;
  }
  .fp-about-partner__item:nth-child(3)::after,
  .fp-about-partner__item:last-child::after{
    display:none;
  }
}
@media (max-width:680px){
  .fp-about--bilingual .fp-about-partner{
    padding:30px 0 34px;
  }
  .fp-about-partner__head{
    margin-bottom:22px;
  }
  .fp-about-partner__title{
    font-size:24px;
  }
  .fp-about-partner__grid{
    grid-template-columns:1fr 1fr;
    gap:24px 0;
  }
  .fp-about-partner__item{
    padding-inline:16px;
  }
  .fp-about-partner__item:nth-child(odd)::after{
    display:block;
  }
  .fp-about-partner__item:nth-child(even)::after,
  .fp-about-partner__item:last-child::after{
    display:none;
  }
  .fp-about-partner__icon{
    width:56px;
    height:56px;
  }
  .fp-about-partner__icon svg{
    width:50px;
    height:50px;
  }
}
@media (max-width:430px){
  .fp-about-partner__grid{
    grid-template-columns:1fr;
  }
  .fp-about-partner__item::after{
    display:none!important;
  }
  .fp-about-partner__item-text{
    max-width:300px;
  }
}

/* ---------------------------------------------------------
   v1.2.45 - About story proof layout aligned to reference
--------------------------------------------------------- */
.fp-global-page-banner--about.fp-global-page-banner--has-bg::before{
  opacity:.94 !important;
  background-position:84% center !important;
  transform:scale(1.015) !important;
}
.fp-global-page-banner--about::after{
  background:linear-gradient(90deg,rgba(8,20,39,.82) 0%,rgba(8,20,39,.68) 28%,rgba(8,20,39,.36) 48%,rgba(8,20,39,.10) 70%,rgba(8,20,39,.03) 100%) !important;
}

/* The proof icons now belong to the story/text column, not to a full-width row. */
.fp-about--bilingual .fp-about-intro__left .fp-about-proof-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;
  margin-top:28px;
  padding:16px 0 4px;
  border:0;
  border-top:1px solid #eceef1;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.fp-about-proof-stat{
  position:relative;
  min-width:0;
  padding:4px 12px 8px;
  text-align:center;
}
.fp-about-proof-stat:not(:last-child)::after{
  content:"";
  position:absolute;
  top:6px;
  bottom:8px;
  right:0;
  width:1px;
  background:#e6e9ed;
}
.fp-about-proof-stat__icon{
  width:48px;
  height:48px;
  margin:0 auto 7px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#e1262e;
}
.fp-about-proof-stat__icon svg{
  width:43px;
  height:43px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.fp-about-proof-stat__icon-img{
  width:45px;
  height:45px;
  display:block;
  object-fit:contain;
}
.fp-about-proof-stat__value{
  margin:0 auto 2px;
  color:#e1262e;
  font-size:20px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.01em;
  text-transform:uppercase;
}
.fp-about-proof-stat__title{
  color:#172033;
  font-size:10.5px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:.035em;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.fp-about-proof-stat__text{
  margin-top:5px;
  color:#6c7581;
  font-size:9.5px;
  line-height:1.3;
}

/* Mission/statement is tied to the image column and sits directly below it. */
.fp-about-visual-stack .fp-about-statement{
  width:100%;
  margin-top:14px;
  min-height:100px;
  align-items:center;
  padding:19px 21px;
  border-radius:12px;
}
.fp-about-visual-stack .fp-about-statement__copy{
  font-size:13.5px;
  line-height:1.48;
}
.fp-about-visual-stack .fp-about-statement__mark{
  font-size:44px;
}

@media (max-width:1180px){
  .fp-about--bilingual .fp-about-intro__grid{
    grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
    gap:38px;
  }
  .fp-about--bilingual .fp-about-intro__left .fp-about-proof-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding-top:12px;
  }
  .fp-about-proof-stat:nth-child(2)::after,
  .fp-about-proof-stat:last-child::after{
    display:none;
  }
  .fp-about-proof-stat:nth-child(n+3){
    margin-top:10px;
    padding-top:14px;
    border-top:1px solid #eceef1;
  }
}

@media (max-width:980px){
  .fp-global-page-banner--about.fp-global-page-banner--has-bg::before{
    background-position:80% center !important;
  }
  .fp-about--bilingual .fp-about-intro__grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .fp-about--bilingual .fp-about-intro__left .fp-about-proof-stats{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .fp-about-proof-stat:nth-child(2)::after{
    display:block;
  }
  .fp-about-proof-stat:nth-child(n+3){
    margin-top:0;
    padding-top:4px;
    border-top:0;
  }
  .fp-about-visual-stack{
    max-width:720px;
    margin:0 auto;
  }
}

@media (max-width:680px){
  .fp-global-page-banner--about.fp-global-page-banner--has-bg::before{
    background-position:76% center !important;
  }
  .fp-global-page-banner--about::after{
    background:linear-gradient(90deg,rgba(8,20,39,.80) 0%,rgba(8,20,39,.62) 45%,rgba(8,20,39,.20) 78%,rgba(8,20,39,.08) 100%) !important;
  }
  .fp-about--bilingual .fp-about-intro__left .fp-about-proof-stats{
    grid-template-columns:1fr 1fr;
    margin-top:20px;
  }
  .fp-about-proof-stat{
    padding:11px 10px 12px;
  }
  .fp-about-proof-stat:nth-child(2)::after,
  .fp-about-proof-stat:last-child::after{
    display:none;
  }
  .fp-about-proof-stat:nth-child(n+3){
    margin-top:0;
    padding-top:14px;
    border-top:1px solid #eceef1;
  }
  .fp-about-proof-stat__value{
    font-size:19px;
  }
  .fp-about-proof-stat__title{
    font-size:10.5px;
  }
  .fp-about-proof-stat__text{
    font-size:10px;
  }
  .fp-about-visual-stack .fp-about-statement{
    min-height:0;
    padding:18px;
  }
}

/* ---------------------------------------------------------
   v1.2.56 - Larger About icon-copy + centered wrapped rows
--------------------------------------------------------- */
.fp-about-proof-stat__value{
  font-size:22px;
}
.fp-about-proof-stat__title{
  font-size:12.5px;
  line-height:1.22;
}
.fp-about-proof-stat__text{
  margin-top:6px;
  font-size:11.5px;
  line-height:1.45;
}
.fp-about-partner__item-title{
  font-size:15.5px;
  line-height:1.28;
}
.fp-about-partner__item-text{
  max-width:230px;
  font-size:14px;
  line-height:1.55;
}

/* When the five partner items wrap, keep the incomplete row centered. */
@media (max-width:980px) and (min-width:681px){
  .fp-about-partner__grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .fp-about-partner__item{
    grid-column:span 2;
  }
  .fp-about-partner__item:nth-child(4){
    grid-column:2 / span 2;
  }
  .fp-about-partner__item:nth-child(5){
    grid-column:4 / span 2;
  }
  .fp-about-partner__item:nth-child(3)::after,
  .fp-about-partner__item:nth-child(5)::after{
    display:none;
  }
}

@media (max-width:680px){
  .fp-about-proof-stat__value{
    font-size:21px;
  }
  .fp-about-proof-stat__title{
    font-size:12px;
  }
  .fp-about-proof-stat__text{
    font-size:11.5px;
    line-height:1.42;
  }
  .fp-about-partner__item-title{
    font-size:14.5px;
  }
  .fp-about-partner__item-text{
    font-size:13px;
    line-height:1.5;
  }
  .fp-about-partner__item:last-child{
    grid-column:1 / -1;
    width:50%;
    justify-self:center;
  }

  /* A dedicated mobile hero image should be framed for mobile, not offset as a desktop crop. */
  .fp-global-page-banner--about.fp-global-page-banner--has-mobile-bg::before,
  .fp-about-hero.fp-about-hero--has-mobile-bg::before{
    background-position:center center !important;
    transform:scale(1.01) !important;
  }
}

@media (max-width:430px){
  .fp-about-partner__item:last-child{
    grid-column:auto;
    width:100%;
  }
}
.fp-about-proof-stat__title,
.fp-about-proof-stat__text,
.fp-about-partner__item-title,
.fp-about-partner__item-text{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
