.about-profile {
  --about-page-accent: #c92b24;
  --about-page-ink: #242629;
  --about-page-muted: #62666b;
  position: relative;
  overflow: hidden;
  padding: clamp(38px, 3.2vw, 62px) 0 clamp(44px, 3.8vw, 72px);
  background: #f6f8fa url("../images/about-profile-bg.jpg") center / cover no-repeat;
}

.about-profile *,
.about-profile *::before,
.about-profile *::after {
  box-sizing: border-box;
}

.about-profile__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(34px, 3.4vw, 62px);
  width: min(86%, 1680px);
  margin: 0 auto;
}

.about-profile__gallery {
  min-width: 0;
  width: 100%;
}

.about-profile__viewport {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1.48 / 1;
  background: #dfe5e9;
}

.about-profile__slide {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.035);
  transition: opacity .42s ease, transform .62s cubic-bezier(.2,.65,.25,1), visibility .42s ease;
}

.about-profile__slide.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.about-profile__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-profile__arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 3vw, 54px);
  height: clamp(40px, 3vw, 54px);
  padding: 0;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  background: rgba(20,27,32,.34);
  color: #fff;
  cursor: pointer;
  opacity: .82;
  transform: translateY(-50%);
  backdrop-filter: blur(5px);
  transition: background-color .25s ease, opacity .25s ease, transform .25s ease;
}

.about-profile__arrow--prev {left: 18px;}
.about-profile__arrow--next {right: 18px;}

.about-profile__arrow svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.about-profile__arrow:hover,
.about-profile__arrow:focus-visible {
  background: var(--about-page-accent);
  opacity: 1;
}

.about-profile__arrow:active {transform: translateY(-50%) scale(.96);}
.about-profile__arrow:disabled {display: none;}
.about-profile__arrow:focus-visible,
.about-profile__thumb:focus-visible,
.about-profile__gallery:focus-visible {
  outline: 3px solid rgba(201,43,36,.35);
  outline-offset: 3px;
}

.about-profile__photo-label {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 112px;
  padding: 11px 15px;
  background: rgba(25,31,36,.66);
  color: #fff;
  backdrop-filter: blur(7px);
}

.about-profile__photo-label b {
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 20px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.about-profile__photo-label em {
  color: rgba(255,255,255,.72);
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-variant-numeric: tabular-nums;
  letter-spacing: .06em;
}

.about-profile__thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 9px;
}

.about-profile__thumb {
  position: relative;
  overflow: hidden;
  min-width: 0;
  padding: 0;
  border: 0;
  background: #dfe5e9;
  cursor: pointer;
  aspect-ratio: 1.58 / 1;
}

.about-profile__thumb::after {
  position: absolute;
  inset: 0;
  border: 2px solid transparent;
  background: rgba(20,27,32,.3);
  content: "";
  transition: border-color .25s ease, background-color .25s ease;
}

.about-profile__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.about-profile__thumb:hover img {transform: scale(1.055);}
.about-profile__thumb:hover::after {background: rgba(20,27,32,.08);}
.about-profile__thumb.is-active::after {border-color: var(--about-page-accent);background: transparent;}

.about-profile__gallery:focus-visible {
  outline-offset: 7px;
}

.about-profile__content {min-width: 0;}

.about-profile__heading p {
  margin: 0;
  color: var(--about-page-ink);
  font-size: clamp(24px, 1.8vw, 36px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: .04em;
}

.about-profile__heading > span {
  display: block;
  width: 70px;
  height: 4px;
  margin: 14px 0 clamp(20px, 1.8vw, 30px);
  background: var(--about-page-accent);
}

.about-profile__heading h1 {
  margin: 0;
  padding-bottom: clamp(12px, 1vw, 18px);
  border-bottom: 1px solid rgba(36,38,41,.12);
  color: var(--about-page-accent);
  font-size: clamp(30px, 2.2vw, 46px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: .015em;
  text-wrap: balance;
}

.about-profile__description {
  max-width: 62em;
  padding-top: clamp(14px, 1.25vw, 21px);
  color: var(--about-page-muted);
  font-size: clamp(15px, .95vw, 18px);
  line-height: 1.7;
  text-align: justify;
  text-wrap: pretty;
}

.about-profile__description p {margin: 0 0 .72em;}
.about-profile__description p:last-child {margin-bottom: 0;}

.about-profile__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.8vw, 52px);
  margin: clamp(24px, 2.2vw, 38px) 0 0;
}

.about-profile__stat,
.about-profile__stat dt,
.about-profile__stat dd {margin: 0;}

.about-profile__stat dt {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.about-profile__stat-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(46px, 3vw, 58px);
  height: clamp(46px, 3vw, 58px);
  margin-bottom: 10px;
  border-radius: 50%;
  background: var(--about-page-accent);
  color: #fff;
  box-shadow: 0 10px 24px rgba(159,42,35,.13);
}

.about-profile__stat-icon svg {
  width: 54%;
  height: 54%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.about-profile__stat:first-child .about-profile__stat-icon path:nth-child(2) {
  fill: currentColor;
  stroke: currentColor;
}

.about-profile__number {
  display: flex;
  align-items: flex-start;
  color: var(--about-page-ink);
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: clamp(40px, 3.65vw, 70px);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: .98;
  letter-spacing: -.055em;
  white-space: nowrap;
}

.about-profile__number small {
  margin: .08em 0 0 .16em;
  font-size: .22em;
  font-weight: 500;
  letter-spacing: 0;
}

.about-profile__stat dd {
  margin-top: 10px;
  color: var(--about-page-ink);
  font-size: clamp(15px, 1vw, 19px);
  line-height: 1.35;
}

@media screen and (max-width: 1180px) {
  .about-profile__inner {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    width: 88%;
    gap: 40px;
  }

  .about-profile__stats {gap: 16px;}
}

@media screen and (max-width: 900px) {
  .about-profile__inner {grid-template-columns: 1fr;gap: 34px;}
  .about-profile__gallery {width: 100%;max-width: 760px;margin: 0 auto;}
  .about-profile__content {max-width: 760px;margin: 0 auto;}
}

@media screen and (max-width: 560px) {
  .about-profile {padding: 32px 0 44px;background-position: 62% center;}
  .about-profile__inner {width: 90%;gap: 26px;}
  .about-profile__viewport {aspect-ratio: 1.48 / 1;}
  .about-profile__arrow {width: 38px;height: 38px;}
  .about-profile__arrow--prev {left: 10px;}
  .about-profile__arrow--next {right: 10px;}
  .about-profile__arrow svg {width: 18px;height: 18px;}
  .about-profile__photo-label {min-width: 96px;padding: 9px 12px;}
  .about-profile__photo-label b {font-size: 17px;}
  .about-profile__thumbs {gap: 5px;margin-top: 6px;}
  .about-profile__heading > span {height: 3px;margin: 12px 0 18px;}
  .about-profile__heading h1 {font-size: 28px;}
  .about-profile__description {padding-top: 13px;font-size: 14px;line-height: 1.66;text-align: left;}
  .about-profile__stats {gap: 10px;margin-top: 24px;}
  .about-profile__stat-icon {width: 42px;height: 42px;margin-bottom: 9px;}
  .about-profile__number {font-size: clamp(32px, 10.2vw, 46px);}
  .about-profile__stat dd {margin-top: 9px;font-size: 14px;}
}

@media (prefers-reduced-motion: reduce) {
  .about-profile__slide,
  .about-profile__thumb img {transition: none;}
}

/* About / company culture */
.company-culture {
  --culture-accent: #c92b24;
  --culture-ink: #242629;
  padding: clamp(58px, 5vw, 92px) 0 clamp(70px, 5.8vw, 108px);
  background: #fff;
}

.company-culture *,
.company-culture *::before,
.company-culture *::after {box-sizing: border-box;}

.company-culture__inner {
  width: min(86%, 1680px);
  margin: 0 auto;
}

.company-culture__heading {
  margin-bottom: clamp(30px, 3vw, 48px);
  text-align: center;
}

.company-culture__heading h2 {
  margin: 0;
  color: var(--culture-ink);
  font-size: clamp(28px, 2vw, 40px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: .04em;
}

.company-culture__heading span {
  display: block;
  width: 58px;
  height: 3px;
  margin: 20px auto 0;
  background: var(--culture-accent);
}

.company-culture__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(12px, 1.1vw, 20px);
}

.company-culture__card {
  position: relative;
  grid-column: span 2;
  overflow: hidden;
  min-width: 0;
  aspect-ratio: 1.55 / 1;
  background: #13243b;
  color: #fff;
  outline: none;
  isolation: isolate;
}

.company-culture__card--wide {
  grid-column: span 3;
  aspect-ratio: 2.18 / 1;
}

.company-culture__card::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(8,18,31,.28), rgba(8,18,31,.5));
  content: "";
  transition: background-color .45s ease;
}

.company-culture__card > img {
  position: absolute;
  inset: -2%;
  z-index: -2;
  display: block;
  width: 104%;
  height: 104%;
  max-width: none;
  object-fit: cover;
  transform: scale(1.001);
  filter: blur(0);
  transition: transform .7s cubic-bezier(.2,.65,.25,1), filter .5s ease;
}

.company-culture__copy {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(24px, 3vw, 52px);
  text-align: center;
  text-shadow: 0 2px 15px rgba(0,0,0,.28);
  transform: translateY(0);
  transition: transform .45s ease;
}

.company-culture__copy h3 {
  margin: 0;
  font-size: clamp(21px, 1.45vw, 29px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: .06em;
}

.company-culture__copy h3::after {
  display: block;
  width: 28px;
  height: 2px;
  margin: 15px auto 0;
  background: rgba(255,255,255,.9);
  content: "";
  opacity: 0;
  transform: scaleX(.4);
  transition: opacity .4s ease, transform .4s ease;
}

.company-culture__copy p {
  max-width: 46em;
  margin: 15px 0 0;
  color: rgba(255,255,255,.9);
  font-size: clamp(14px, .88vw, 17px);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: .03em;
  text-wrap: pretty;
}

.company-culture__card:hover > img,
.company-culture__card:focus > img {
  transform: scale(1.085);
  filter: blur(3px);
}

.company-culture__card:hover::after,
.company-culture__card:focus::after {
  background: rgba(7,20,36,.6);
}

.company-culture__card:hover .company-culture__copy,
.company-culture__card:focus .company-culture__copy {transform: translateY(-3px);}

.company-culture__card:hover .company-culture__copy h3::after,
.company-culture__card:focus .company-culture__copy h3::after {
  opacity: 1;
  transform: scaleX(1);
}

.company-culture__card:focus-visible {
  outline: 3px solid rgba(201,43,36,.42);
  outline-offset: 4px;
  z-index: 1;
}

@media screen and (max-width: 900px) {
  .company-culture__inner {width: 88%;}
  .company-culture__card,
  .company-culture__card--wide {grid-column: span 3;aspect-ratio: 1.65 / 1;}
  .company-culture__card:last-child {grid-column: 2 / span 4;aspect-ratio: 1.9 / 1;}
}

@media screen and (max-width: 560px) {
  .company-culture {padding: 44px 0 58px;}
  .company-culture__inner {width: 90%;}
  .company-culture__heading {margin-bottom: 26px;}
  .company-culture__heading span {margin-top: 14px;}
  .company-culture__grid {grid-template-columns: 1fr;gap: 10px;}
  .company-culture__card,
  .company-culture__card--wide,
  .company-culture__card:last-child {grid-column: auto;aspect-ratio: 1.48 / 1;}
  .company-culture__copy {padding: 22px;}
  .company-culture__copy h3 {font-size: 21px;}
  .company-culture__copy h3::after {margin-top: 11px;}
  .company-culture__copy p {margin-top: 11px;font-size: 13px;line-height: 1.65;}
}

@media (prefers-reduced-motion: reduce) {
  .company-culture__card > img,
  .company-culture__card::after,
  .company-culture__copy,
  .company-culture__copy h3::after {transition: none;}
}

/* About / certificates */
.certificate-showcase {
  --certificate-accent: #d63426;
  --certificate-ink: #24282d;
  overflow: hidden;
  padding: clamp(40px, 3.6vw, 68px) 0 clamp(44px, 4vw, 74px);
  background: #eef3f8 url("../images/news-bg.jpg") center / cover no-repeat;
}

.certificate-showcase *,
.certificate-showcase *::before,
.certificate-showcase *::after {box-sizing: border-box;}

.certificate-showcase__inner {
  display: grid;
  grid-template-columns: minmax(300px, .68fr) minmax(0, 1.32fr);
  align-items: center;
  gap: clamp(34px, 4vw, 72px);
  width: min(84%, 1600px);
  margin: 0 auto;
}

.certificate-showcase__content {position: relative;z-index: 2;}

.certificate-showcase__heading h2 {
  margin: 0;
  color: var(--certificate-ink);
  font-size: clamp(31px, 2.3vw, 46px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: .035em;
}

.certificate-showcase__heading > span {
  display: block;
  width: 70px;
  height: 4px;
  margin: 18px 0 17px;
  background: var(--certificate-accent);
}

.certificate-showcase__heading > p {
  margin: 0;
  color: var(--certificate-accent);
  font-size: clamp(18px, 1.3vw, 26px);
  font-weight: 500;
  line-height: 1.55;
  text-wrap: balance;
}

.certificate-showcase__metrics {
  display: grid;
  gap: clamp(18px, 2vw, 30px);
  margin-top: clamp(27px, 2.5vw, 42px);
}

.certificate-showcase__metric > p {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin: 0;
}

.certificate-showcase__metric strong {
  color: var(--certificate-accent);
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: clamp(50px, 4.1vw, 78px);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: .88;
  letter-spacing: -.06em;
}

.certificate-showcase__metric small {
  margin-bottom: .24em;
  color: var(--certificate-ink);
  font-size: clamp(14px, 1vw, 19px);
  font-weight: 500;
}

.certificate-showcase__metric > span {
  display: block;
  margin-top: 9px;
  color: #62676c;
  font-size: clamp(15px, 1vw, 19px);
  line-height: 1.4;
}

.certificate-showcase__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 176px;
  height: 48px;
  margin-top: clamp(25px, 2.3vw, 38px);
  padding: 0 25px;
  border: 1px solid var(--certificate-accent);
  border-radius: 999px;
  background: var(--certificate-accent);
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  transition: background-color .25s ease, color .25s ease, transform .25s ease;
}

.certificate-showcase__more span {margin-left: 12px;font-size: 19px;transition: transform .25s ease;}
.certificate-showcase__more:hover,
.certificate-showcase__more:focus-visible {background: transparent;color: var(--certificate-accent);}
.certificate-showcase__more:hover span,
.certificate-showcase__more:focus-visible span {transform: translateX(4px);}
.certificate-showcase__more:active {transform: translateY(1px);}
.certificate-showcase__more:focus-visible {outline: 3px solid rgba(214,52,38,.24);outline-offset: 4px;}

.certificate-showcase__visual {min-width: 0;}

.certificate-showcase__stage {
  position: relative;
  width: 100%;
  height: clamp(340px, 30vw, 490px);
  perspective: 1200px;
}

.certificate-showcase__card {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  overflow: hidden;
  width: clamp(190px, 20vw, 330px);
  aspect-ratio: .69 / 1;
  padding: 12px;
  border: 1px solid rgba(73,81,89,.15);
  background: #fff;
  box-shadow: 0 22px 55px rgba(55,69,83,.16);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%,-50%) scale(.68);
  transition: opacity .46s ease, transform .62s cubic-bezier(.2,.65,.25,1), filter .46s ease, box-shadow .46s ease;
}

.certificate-showcase__card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f7f7f5;
}

.certificate-showcase__card.is-active {
  z-index: 3;
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%,-50%) scale(1);
  box-shadow: 0 28px 70px rgba(40,55,70,.23);
}

.certificate-showcase__card.is-previous {
  z-index: 1;
  opacity: .72;
  pointer-events: auto;
  filter: saturate(.68);
  transform: translate(-112%,-50%) scale(.76) rotate(-2deg);
}

.certificate-showcase__card.is-next {
  z-index: 2;
  opacity: .82;
  pointer-events: auto;
  filter: saturate(.78);
  transform: translate(12%,-50%) scale(.8) rotate(2deg);
}

.certificate-showcase__card.is-previous:hover {transform: translate(-112%,-50%) scale(.79) rotate(-2deg);}
.certificate-showcase__card.is-next:hover {transform: translate(12%,-50%) scale(.83) rotate(2deg);}
.certificate-showcase__card:focus-visible {outline: 3px solid rgba(214,52,38,.35);outline-offset: 5px;}

.certificate-showcase__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  margin-top: 4px;
}

.certificate-showcase__controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(54,62,69,.28);
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  color: #34393e;
  cursor: pointer;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}

.certificate-showcase__controls button:hover,
.certificate-showcase__controls button:focus-visible {border-color: var(--certificate-accent);background: var(--certificate-accent);color: #fff;}
.certificate-showcase__controls button:active {transform: scale(.96);}
.certificate-showcase__controls button:disabled {display: none;}
.certificate-showcase__controls button:focus-visible {outline: 3px solid rgba(214,52,38,.22);outline-offset: 3px;}
.certificate-showcase__controls svg {width: 20px;height: 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

.certificate-showcase__controls p {
  min-width: 74px;
  margin: 0;
  color: #92979c;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  text-align: center;
  letter-spacing: .08em;
}

.certificate-showcase__controls b {color: var(--certificate-accent);font-size: 19px;font-weight: 600;}
.certificate-showcase__controls span {margin: 0 7px;}
.certificate-showcase__controls em {font-style: normal;}

@media screen and (max-width: 1080px) {
  .certificate-showcase__inner {grid-template-columns: minmax(270px,.72fr) minmax(0,1.28fr);width: 88%;gap: 28px;}
  .certificate-showcase__stage {height: clamp(330px, 39vw, 440px);}
  .certificate-showcase__card {width: clamp(185px, 26vw, 300px);}
}

@media screen and (max-width: 780px) {
  .certificate-showcase {padding: 42px 0 52px;}
  .certificate-showcase__inner {grid-template-columns: 1fr;gap: 26px;}
  .certificate-showcase__content {display:grid;grid-template-columns:1fr 1fr;gap:22px 30px;align-items:end;}
  .certificate-showcase__heading {grid-column:1 / -1;}
  .certificate-showcase__metrics {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:0;}
  .certificate-showcase__more {align-self:end;justify-self:end;margin-top:0;}
  .certificate-showcase__visual {grid-column:1 / -1;}
  .certificate-showcase__stage {height: 420px;}
  .certificate-showcase__card {width: 285px;}
}

@media screen and (max-width: 560px) {
  .certificate-showcase {padding: 34px 0 44px;}
  .certificate-showcase__inner {width: 90%;gap: 20px;}
  .certificate-showcase__content {display:block;}
  .certificate-showcase__heading > span {width:58px;height:3px;margin:16px 0 15px;}
  .certificate-showcase__heading > p {font-size:17px;}
  .certificate-showcase__metrics {display:grid;gap:12px;margin-top:22px;}
  .certificate-showcase__metric strong {font-size:46px;}
  .certificate-showcase__metric > span {margin-top:8px;font-size:14px;}
  .certificate-showcase__more {height:42px;min-width:152px;margin-top:20px;font-size:14px;}
  .certificate-showcase__stage {height:325px;}
  .certificate-showcase__card {width:min(54vw,210px);padding:6px;}
  .certificate-showcase__card.is-previous {transform:translate(-104%,-50%) scale(.66) rotate(-2deg);}
  .certificate-showcase__card.is-next {transform:translate(4%,-50%) scale(.7) rotate(2deg);}
  .certificate-showcase__card.is-previous:hover {transform:translate(-104%,-50%) scale(.68) rotate(-2deg);}
  .certificate-showcase__card.is-next:hover {transform:translate(4%,-50%) scale(.72) rotate(2deg);}
  .certificate-showcase__controls {gap:16px;margin-top:0;}
  .certificate-showcase__controls button {width:40px;height:40px;}
}

@media (prefers-reduced-motion: reduce) {
  .certificate-showcase__card,
  .certificate-showcase__more,
  .certificate-showcase__more span,
  .certificate-showcase__controls button {transition:none;}
}

/* About / company environment */
.company-environment {
  --environment-accent: #c92b24;
  overflow: hidden;
  padding: clamp(52px, 4.6vw, 82px) 0 clamp(58px, 5vw, 90px);
  background: #fff;
}

.company-environment *,
.company-environment *::before,
.company-environment *::after {box-sizing: border-box;}

.company-environment__heading {
  margin-bottom: clamp(30px, 3vw, 48px);
  text-align: center;
}

.company-environment__heading h2 {
  margin: 0;
  color: #24282d;
  font-size: clamp(28px, 2vw, 40px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: .04em;
}

.company-environment__heading span {
  display: block;
  width: 58px;
  height: 3px;
  margin: 19px auto 0;
  background: var(--environment-accent);
}

.company-environment__track {
  position: relative;
  width: 112%;
  margin-left: -6%;
}

.company-environment__slider {overflow: hidden;}

.company-environment__slide {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  background: #e7ebee;
  cursor: grab;
  aspect-ratio: 1.52 / 1;
}

.company-environment__slide:active {cursor: grabbing;}

.company-environment__slide > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.001);
  transition: transform .6s cubic-bezier(.2,.65,.25,1);
}

.company-environment__mask {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(10,22,36,.54);
  opacity: 0;
  transition: opacity .36s ease;
}

.company-environment__mask i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(54px, 4vw, 74px);
  height: clamp(54px, 4vw, 74px);
  border-radius: 50%;
  background: var(--environment-accent);
  color: #fff;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: clamp(29px, 2.2vw, 40px);
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  opacity: 0;
  transform: scale(.72);
  transition: opacity .34s ease, transform .42s cubic-bezier(.2,.7,.3,1.25);
}

.company-environment__slide:hover > img,
.company-environment__slide:focus > img {transform: scale(1.045);}

.company-environment__slide:hover .company-environment__mask,
.company-environment__slide:focus .company-environment__mask,
.company-environment__slide:hover .company-environment__mask i,
.company-environment__slide:focus .company-environment__mask i {opacity: 1;}

.company-environment__slide:hover .company-environment__mask i,
.company-environment__slide:focus .company-environment__mask i {transform: scale(1);}

.company-environment__slide:focus-visible {
  outline: 3px solid rgba(201,43,36,.38);
  outline-offset: 4px;
}

.company-environment__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 16px;
  margin-top: clamp(24px, 2.4vw, 38px);
  text-align: center;
}

.company-environment__pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  margin: 0 6px;
  background: #c8c9cb;
  opacity: 1;
  transition: background-color .25s ease, transform .25s ease;
}

.company-environment__pagination .swiper-pagination-bullet:hover {background:#9fa2a5;}
.company-environment__pagination .swiper-pagination-bullet-active {background:var(--environment-accent);transform:scale(1.12);}

@media screen and (max-width: 900px) {
  .company-environment__track {width:108%;margin-left:-4%;}
}

@media screen and (max-width: 560px) {
  .company-environment {padding:42px 0 54px;}
  .company-environment__heading {margin-bottom:26px;}
  .company-environment__heading span {margin-top:14px;}
  .company-environment__track {width:106%;margin-left:-3%;}
  .company-environment__slide {border-radius:8px;aspect-ratio:1.38 / 1;}
  .company-environment__pagination {margin-top:22px;}
  .company-environment__pagination .swiper-pagination-bullet {width:10px;height:10px;margin:0 5px;}
}

@media (prefers-reduced-motion: reduce) {
  .company-environment__slide > img,
  .company-environment__mask,
  .company-environment__mask i,
  .company-environment__pagination .swiper-pagination-bullet {transition:none;}
}
