* {
  box-sizing: border-box
}

body {
  margin: 0;
  position: relative;
  min-height: 100vh;
  font-family: 'Red Hat Display', sans-serif
}

.pghead {
  background: #fff;
  border-bottom: 1px solid #e8f8f9;
  box-shadow: 0 4px 14px 0 #43e6ec1c
}

.pghead-top {
  max-width: 1140px;
  margin: 0 auto;
  padding: 16px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px
}

.pghead-brand {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0
}

.pghead-logoborder {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border: 1px solid #43E6EC;
  border-radius: 2px;
  background: #f0fdfe;
  box-shadow: 0 1px 2px 0 #43e6ec0d inset 0 1px 3px 0 #43e6ec14
}

.pghead-logoborder img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  display: block
}

.pghead-brandname {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
  color: #1a2e30;
  letter-spacing: 0;
  text-decoration: none
}

.pghead-brandname span {
  color: #CA5227
}

.pghead-status {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #2a6b6e;
  font-weight: 400;
  line-height: 1.6;
  flex-shrink: 0
}

.pghead-statusdot {
  width: 8px;
  height: 8px;
  border-radius: 42px;
  background: #43E6EC;
  box-shadow: 0 0 0 3px #43e6ec33;
  flex-shrink: 0
}

.pghead-nav {
  background: linear-gradient(90deg, #f0fdfe 0%, #fff8f5 100%);
  border-top: 1px solid #43e6ec2e
}

.pghead-navinner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: stretch;
  justify-content: center
}

.pghead-navlink {
  font-size: 16px;
  font-weight: 700;
  color: #1a2e30;
  text-decoration: none;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-right: 1px solid #43e6ec40;
  transition: color .25s ease-out, background .35s ease-out;
  line-height: 1.1;
  min-height: 44px
}

.pghead-navlink:first-child {
  border-left: 1px solid #43e6ec40
}

.pghead-navlink:hover {
  color: #CA5227;
  background: #43e6ec14
}

.pghead-navlink:focus {
  outline: 2px solid #43E6EC;
  outline-offset: -2px;
  transform: scale(1.02)
}

.pghead-navlink .pe-7s-home,
.pghead-navlink .pe-7s-mail,
.pghead-navlink .pe-7s-info {
  font-size: 18px;
  flex-shrink: 0
}

@media (max-width: 768px) {
  .pghead-top {
    padding: 16px 24px;
    flex-wrap: wrap;
    gap: 16px
  }

  .pghead-navinner {
    padding: 0 16px;
    flex-wrap: wrap;
    justify-content: flex-start
  }

  .pghead-navlink {
    padding: 16px;
    font-size: 16px
  }

  .pghead-status {
    font-size: 16px
  }
}

@media (max-width: 320px) {
  .pghead-top {
    padding: 16px;
    gap: 16px
  }

  .pghead-navinner {
    padding: 0 8px
  }

  .pghead-navlink {
    padding: 16px 8px
  }

  .pghead-brandname {
    font-size: 18px
  }
}

.pgfoot {
  background: #f0fdfe;
  border-top: 1px solid #43e6ec33;
  box-shadow: 0 -1px 2px 0 #43e6ec0d 0 -4px 14px 0 #ca52270f 0 -10px 60px 0 #43e6ec12
}

.pgfoot-main {
  max-width: 1140px;
  margin: 0 auto;
  padding: 80px 40px 40px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px
}

.pgfoot-about {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.pgfoot-desc {
  font-size: 16px;
  color: #2a4a4d;
  line-height: 1.6;
  margin: 0
}

.pgfoot-label {
  font-size: 16px;
  font-weight: 700;
  color: #1a2e30;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0 0 16px
}

.pgfoot-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0
}

.pgfoot-links li a {
  font-size: 16px;
  color: #2a4a4d;
  text-decoration: none;
  line-height: 1.6;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color .28s ease-out;
  padding: 8px 0;
  min-height: 44px
}

.pgfoot-links li a:hover {
  color: #CA5227
}

.pgfoot-links li a:focus {
  outline: 2px solid #43E6EC;
  outline-offset: 2px;
  transform: scale(1.02)
}

.pgfoot-contact {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.pgfoot-contactitem {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  color: #2a4a4d;
  line-height: 1.6;
  text-decoration: none;
  transition: color .32s ease-out;
  padding: 8px 0;
  min-height: 44px
}

.pgfoot-contactitem:hover {
  color: #CA5227
}

.pgfoot-contactitem:focus {
  outline: 2px solid #43E6EC;
  outline-offset: 2px;
  transform: scale(1.02)
}

.pgfoot-contactitem i {
  font-size: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  color: #43E6EC
}

.pgfoot-bottom {
  max-width: 1140px;
  margin: 0 auto;
  padding: 24px 40px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #43e6ec26;
  gap: 24px;
  flex-wrap: wrap
}

.pgfoot-copy {
  font-size: 16px;
  color: #4a7a7d;
  line-height: 1.6;
  margin: 0
}

.pgfoot-copy strong {
  color: #CA5227
}

.pgfoot-logowrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border: 1px solid #43E6EC;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 1px 2px 0 #43e6ec0d 0 4px 14px 0 #43e6ec1c
}

.pgfoot-logowrap img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block
}

@media (max-width: 1024px) {
  .pgfoot-main {
    grid-template-columns: 1fr 1fr;
    padding: 80px 40px 40px
  }
}

@media (max-width: 768px) {
  .pgfoot-main {
    grid-template-columns: 1fr;
    padding: 40px 24px 24px;
    gap: 40px
  }

  .pgfoot-bottom {
    padding: 24px 24px 40px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px
  }
}

@media (max-width: 320px) {
  .pgfoot-main {
    padding: 40px 16px 24px
  }

  .pgfoot-bottom {
    padding: 24px 16px 40px
  }
}

.consent-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 4000;
  background: #fff;
  border-top: 2px solid #43E6EC;
  box-shadow: 0 -4px 14px 0 #43e6ec1c 0 -10px 60px 0 #ca52270f;
  padding: 16px 40px
}

.consent-inner {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap
}

.consent-text {
  flex: 1;
  min-width: 240px
}

.consent-headline {
  font-size: 16px;
  font-weight: 700;
  color: #1a2e30;
  line-height: 1.1;
  margin: 0 0 8px
}

.consent-body {
  font-size: 16px;
  color: #2a4a4d;
  line-height: 1.6;
  margin: 0
}

.consent-body ul {
  margin: 8px 0 0;
  padding: 0 0 0 16px
}

.consent-body ul li {
  margin-bottom: 0
}

.consent-btns {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0
}

.consent-accept {
  font-family: 'Red Hat Display', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #CA5227;
  background: transparent;
  border: 2px solid #CA5227;
  border-radius: 2px;
  padding: 16px 24px;
  cursor: pointer;
  line-height: 1.1;
  min-height: 44px;
  min-width: 120px;
  transition: background .25s ease-out, color .25s ease-out
}

.consent-accept:hover {
  background: #CA5227;
  color: #fff
}

.consent-accept:focus {
  outline: 2px solid #43E6EC;
  outline-offset: 2px;
  transform: scale(1.02)
}

.consent-decline {
  font-family: 'Red Hat Display', sans-serif;
  font-size: 16px;
  color: #4a7a7d;
  background: transparent;
  border: 2px solid #4a7a7d;
  border-radius: 2px;
  padding: 16px 24px;
  cursor: pointer;
  line-height: 1.1;
  min-height: 44px;
  min-width: 120px;
  transition: background .38s ease-out, color .38s ease-out
}

.consent-decline:hover {
  background: #4a7a7d;
  color: #fff
}

.consent-decline:focus {
  outline: 2px solid #43E6EC;
  outline-offset: 2px;
  transform: scale(1.02)
}

@media (max-width: 768px) {
  .consent-bar {
    padding: 16px 24px
  }

  .consent-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px
  }

  .consent-btns {
    width: 100%;
    justify-content: flex-start
  }
}

@media (max-width: 320px) {
  .consent-bar {
    padding: 16px
  }

  .consent-btns {
    flex-direction: column;
    align-items: stretch;
    width: 100%
  }
}

.legal-main {
  max-width: 1140px;
  margin: 0 auto;
  padding: 80px 40px
}

.legal-main p {
  font-size: 18px;
  line-height: 1.6;
  color: #2a2a2a;
  margin-bottom: 24px
}

.legal-main ul,
.legal-main ol {
  padding-left: 40px;
  margin-bottom: 24px
}

.legal-main li {
  font-size: 18px;
  line-height: 1.6;
  color: #2a2a2a;
  margin-bottom: 8px
}

.legal-main strong,
.legal-main b {
  font-weight: 700;
  color: #1b1b1b
}

.legal-main em,
.legal-main i {
  font-style: italic;
  color: #3a3a3a
}

.legal-main a {
  color: #CA5227;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .25s ease-out, text-decoration-color .35s ease-out
}

.legal-main a:hover {
  color: #43E6EC;
  text-decoration-color: #43E6EC
}

.legal-main hr {
  border: none;
  border-top: 2px solid #43E6EC;
  margin: 40px 0;
  opacity: .35
}

@media (max-width: 1024px) {
  .legal-main {
    padding: 80px 24px
  }
}

@media (max-width: 768px) {
  .legal-main {
    padding: 40px 16px
  }

  .legal-main p,
  .legal-main li {
    font-size: 16px
  }

  .legal-main ul,
  .legal-main ol {
    padding-left: 24px
  }
}

@media (max-width: 320px) {
  .legal-main {
    padding: 24px 8px
  }
}

.ent {
  max-width: 100%;
  overflow-x: hidden
}

.ent .wrap {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px
}

.ent .titblk {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #f5f2ee;
  animation: bgOsc 6s ease-in-out infinite;
  position: relative
}

@keyframes bgOsc {

  0%,
  100% {
    background-color: #f5f2ee
  }

  50% {
    background-color: #eef5f5
  }
}

.ent .titblk .wrap {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 40px
}

.ent .tittext {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px
}

.ent .titoverline {
  display: block;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #CA5227;
  border-left: 4px solid #43E6EC;
  padding-left: 16px
}

.ent .tith1 {
  font-size: 72px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0
}

.ent .tith1 .acc {
  background: linear-gradient(135deg, #43E6EC 50%, #CA5227 50%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent
}

.ent .titsub {
  font-size: 18px;
  line-height: 1.6;
  color: #3a3a3a;
  max-width: 520px;
  margin: 0
}

.ent .titlink {
  display: inline-block;
  font-size: 16px;
  line-height: 1.1;
  color: #CA5227;
  border: 2px solid #CA5227;
  border-radius: 2px;
  padding: 16px 40px;
  text-decoration: none;
  transition: background-color .35s ease-out, color .25s ease-out;
  align-self: flex-start
}

.ent .titlink:hover {
  background-color: #CA5227;
  color: #fff
}

.ent .titimgcol {
  width: 280px;
  flex-shrink: 0;
  position: relative
}

.ent .titimgwrap {
  width: 100%;
  height: 100%;
  min-height: 420px;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 4px 14px 0 #43e6ec1c
}

.ent .titimgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: blur(0px);
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 60%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 60%, transparent 100%)
}

.ent .titshape {
  position: absolute;
  bottom: -16px;
  left: -16px;
  width: 80px;
  height: 80px;
  border: 3px solid #F6CB04;
  border-radius: 2px;
  pointer-events: none;
  z-index: 0
}

.ent .belong {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #fff;
  border-top: 2px dashed #43E6EC
}

.ent .belong .wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start
}

.ent .belongleft {
  border-left: 4px solid #CA5227;
  padding-left: 24px
}

.ent .belongover {
  display: block;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #CA5227;
  margin-bottom: 16px
}

.ent .belongh2 {
  font-size: 24px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0 0 24px
}

.ent .belongp {
  font-size: 18px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0 0 16px
}

.ent .belongp.narrow {
  max-width: 340px
}

.ent .belongright {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ent .belongcard {
  background: #f5f2ee;
  border-radius: 2px;
  padding: 24px;
  border-left: 4px solid #43E6EC;
  box-shadow: 0 1px 2px 0 #43e6ec0d;
  transition: box-shadow .38s ease-out
}

.ent .belongcard:hover {
  box-shadow: 0 10px 60px 0 #43e6ec1c
}

.ent .belongcard h4 {
  font-size: 16px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0 0 8px
}

.ent .belongcard p {
  font-size: 16px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0
}

.ent .conds {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #1b1b1b;
  border-top: 2px dashed #F6CB04
}

.ent .conds .wrap {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.ent .condshead {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 40px
}

.ent .condsover {
  display: block;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #43E6EC;
  margin-bottom: 16px
}

.ent .condsh2 {
  font-size: 24px;
  line-height: 1.1;
  color: #fff;
  margin: 0
}

.ent .condsdesc {
  font-size: 18px;
  line-height: 1.6;
  color: #c8c8c8;
  margin: 0;
  max-width: 480px;
  align-self: flex-end
}

.ent .condsgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.ent .condsitem {
  border-top: 2px solid #CA5227;
  padding-top: 24px
}

.ent .condsnum {
  font-size: 72px;
  line-height: 1.1;
  color: #F6CB04;
  display: block;
  margin-bottom: 8px
}

.ent .condsitem h4 {
  font-size: 16px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 8px
}

.ent .condsitem p {
  font-size: 16px;
  line-height: 1.6;
  color: #c8c8c8;
  margin: 0
}

.ent .ltval {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #eef5f5;
  border-top: 2px dashed #CA5227;
  position: relative
}

.ent .ltval .blobwrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: 0
}

.ent .ltval .blob {
  position: absolute;
  border-radius: 42px;
  opacity: .07
}

.ent .ltval .blob1 {
  width: 320px;
  height: 260px;
  background: #43E6EC;
  top: -40px;
  right: 80px;
  transform: rotate(25deg)
}

.ent .ltval .blob2 {
  width: 200px;
  height: 200px;
  background: #CA5227;
  bottom: 40px;
  left: 40px;
  transform: rotate(-15deg)
}

.ent .ltval .wrap {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 40px;
  align-items: start
}

.ent .ltvalside {
  border-left: 4px solid #F6CB04;
  padding-left: 24px
}

.ent .ltvalover {
  display: block;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #CA5227;
  margin-bottom: 16px
}

.ent .ltvalh2 {
  font-size: 24px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0 0 16px
}

.ent .ltvalbody {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ent .ltvalrow {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: flex-start
}

.ent .ltvalicon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  background: #43E6EC;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center
}

.ent .ltvalicon svg {
  width: 20px;
  height: 20px
}

.ent .ltvalrow p {
  font-size: 18px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0
}

.ent .ltvalrow p.narrow {
  max-width: 360px
}

.ent .gap {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #fff;
  border-top: 2px dashed #43E6EC
}

.ent .gap .wrap {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.ent .gaptop {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-end
}

.ent .gaptopleft {
  flex: 1
}

.ent .gapover {
  display: block;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #CA5227;
  margin-bottom: 16px
}

.ent .gaph2 {
  font-size: 24px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0
}

.ent .gaptopright {
  flex: 1
}

.ent .gaptopright p {
  font-size: 18px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0
}

.ent .gapimgrow {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 24px;
  align-items: stretch
}

.ent .gapimgbox {
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 4px 14px 0 #ca52271c
}

.ent .gapimgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  min-height: 280px
}

.ent .gapstat {
  background: #1b1b1b;
  border-radius: 2px;
  padding: 40px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px
}

.ent .gapstatitem {
  border-left: 4px solid #F6CB04;
  padding-left: 16px
}

.ent .gapstatnum {
  font-size: 72px;
  line-height: 1.1;
  color: #43E6EC;
  display: block
}

.ent .gapstatitem p {
  font-size: 16px;
  line-height: 1.6;
  color: #c8c8c8;
  margin: 0
}

.ent .testi {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #f5f2ee;
  border-top: 2px dashed #F6CB04
}

.ent .testi .wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start
}

.ent .testileft {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ent .testiover {
  display: block;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #CA5227;
  border-left: 4px solid #43E6EC;
  padding-left: 16px
}

.ent .testih2 {
  font-size: 24px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0
}

.ent .testicard {
  background: #fff;
  border-radius: 2px;
  padding: 24px;
  box-shadow: 0 1px 2px 0 #43e6ec0d;
  border-left: 4px solid #CA5227;
  transition: box-shadow .42s ease-out
}

.ent .testicard:hover {
  box-shadow: 0 10px 60px 0 #43e6ec1c
}

.ent .testiportrow {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 16px
}

.ent .testiportbox {
  width: 64px;
  height: 96px;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 2px
}

.ent .testiportbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block
}

.ent .testiportinfo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px
}

.ent .testiname {
  font-size: 16px;
  line-height: 1.1;
  color: #1b1b1b;
  font-weight: 600
}

.ent .testirole {
  font-size: 16px;
  line-height: 1.1;
  color: #CA5227
}

.ent .testicard blockquote {
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
  color: #3a3a3a;
  border: none;
  padding: 0
}

.ent .testicard2 {
  background: #fff;
  border-radius: 2px;
  padding: 24px;
  box-shadow: 0 1px 2px 0 #43e6ec0d;
  border-left: 4px solid #F6CB04;
  transition: box-shadow .42s ease-out
}

.ent .testicard2:hover {
  box-shadow: 0 10px 60px 0 #43e6ec1c
}

.ent .testicard2 blockquote {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.6;
  color: #3a3a3a;
  border: none;
  padding: 0
}

.ent .testicard2 .testiname {
  font-size: 16px;
  line-height: 1.1;
  color: #1b1b1b;
  font-weight: 600
}

.ent .testicard2 .testirole {
  font-size: 16px;
  line-height: 1.1;
  color: #CA5227
}

.ent .testiright {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ent .testistats {
  background: #1b1b1b;
  border-radius: 2px;
  padding: 40px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}

.ent .testistat {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ent .testistatnum {
  font-size: 72px;
  line-height: 1.1;
  color: #43E6EC
}

.ent .testistatnum.yellow {
  color: #F6CB04
}

.ent .testistat p {
  font-size: 16px;
  line-height: 1.6;
  color: #c8c8c8;
  margin: 0
}

.ent .testiimgbox {
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 4px 14px 0 #ca52271c
}

.ent .testiimgbox img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  object-position: center;
  display: block
}

.ent .supp {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #fff;
  border-top: 2px dashed #CA5227
}

.ent .supp .wrap {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.ent .supphead {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start
}

.ent .suppover {
  display: block;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #CA5227;
  margin-bottom: 16px
}

.ent .supph2 {
  font-size: 24px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0;
  border-left: 4px solid #43E6EC;
  padding-left: 16px
}

.ent .suppintro {
  font-size: 18px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0;
  max-width: 480px;
  align-self: flex-end
}

.ent .suppgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.ent .suppitem {
  border-top: 2px solid #43E6EC;
  padding-top: 24px;
  transition: box-shadow .3s ease-out
}

.ent .suppitem:hover {
  box-shadow: 0 4px 14px 0 #43e6ec1c
}

.ent .suppitem h4 {
  font-size: 16px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0 0 8px
}

.ent .suppitem p {
  font-size: 16px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0
}

.ent .suppimg {
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 4px 14px 0 #43e6ec1c
}

.ent .suppimg img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
  display: block
}

@media (max-width: 1024px) {
  .ent .tith1 {
    font-size: 48px
  }

  .ent .titimgcol {
    width: 220px
  }

  .ent .condsgrid {
    grid-template-columns: 1fr 1fr
  }

  .ent .condsnum {
    font-size: 48px
  }

  .ent .gapstatnum {
    font-size: 48px
  }

  .ent .testistatnum {
    font-size: 48px
  }
}

@media (max-width: 768px) {
  .ent .titblk .wrap {
    flex-direction: column
  }

  .ent .titimgcol {
    width: 100%
  }

  .ent .titimgwrap {
    min-height: 260px
  }

  .ent .tith1 {
    font-size: 48px
  }

  .ent .belong .wrap {
    grid-template-columns: 1fr
  }

  .ent .condshead {
    flex-direction: column;
    gap: 16px
  }

  .ent .condsgrid {
    grid-template-columns: 1fr
  }

  .ent .ltval .wrap {
    grid-template-columns: 1fr
  }

  .ent .gaptop {
    flex-direction: column;
    gap: 16px
  }

  .ent .gapimgrow {
    grid-template-columns: 1fr
  }

  .ent .testi .wrap {
    grid-template-columns: 1fr
  }

  .ent .testistats {
    grid-template-columns: 1fr 1fr
  }

  .ent .supphead {
    flex-direction: column;
    gap: 16px
  }

  .ent .suppgrid {
    grid-template-columns: 1fr
  }
}

@media (max-width: 320px) {
  .ent .tith1 {
    font-size: 24px
  }

  .ent .testistats {
    grid-template-columns: 1fr
  }
}

.cntct {
  max-width: 100%;
  overflow-x: hidden
}

.cntct .col {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px
}

.cntct .titblock {
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
  background: #f4f4f2
}

.cntct .titblock::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(#43e6ec0f 1px, transparent 1px), linear-gradient(90deg, #43e6ec0f 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none
}

.cntct .titblock .col {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  position: relative
}

.cntct .titblock .txtarea {
  flex: 2
}

.cntct .titblock .decimg {
  flex: 1;
  min-height: 220px;
  border-radius: 2px;
  background: linear-gradient(127deg, #43E6EC 0%, #43E6EC 50%, #CA5227 50%, #CA5227 100%);
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 14px 0 #43e6ec1c
}

.cntct .titblock .decimg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(45deg, #ffffff12 0px, #ffffff12 2px, transparent 2px, transparent 14px)
}

.cntct .titblock .decimg .geolabel {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  z-index: 1;
  color: #fff;
  font-size: 16px;
  line-height: 1.6
}

.cntct .titblock .decimg .geolabel span {
  display: block;
  font-size: 24px;
  line-height: 1.1;
  font-weight: 700
}

.cntct .overline {
  display: block;
  font-size: 16px;
  line-height: 1.6;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #CA5227;
  margin-bottom: 16px
}

.cntct .overline::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 2px;
  background: #CA5227;
  vertical-align: middle;
  margin-right: 8px
}

.cntct .titblock .txth {
  font-size: 72px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0 0 16px
}

.cntct .titblock .txth em {
  font-style: normal;
  background: linear-gradient(90deg, #CA5227 0%, #CA5227 50%, #F6CB04 50%, #F6CB04 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent
}

.cntct .titblock .tagline {
  font-size: 18px;
  line-height: 1.6;
  color: #3a3a3a;
  max-width: 480px;
  margin: 0 0 24px
}

.cntct .titblock .actlinks {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap
}

.cntct .titblock .actlinks a {
  font-size: 16px;
  line-height: 1.6;
  color: #CA5227;
  border: 1.5px solid #CA5227;
  border-radius: 42px;
  padding: 8px 24px;
  text-decoration: none;
  background: transparent;
  transition: background .25s ease-out, color .35s ease-out
}

.cntct .titblock .actlinks a:hover {
  background: #CA5227;
  color: #fff
}

.cntct .titblock .actlinks a.sec {
  color: #43E6EC;
  border-color: #43E6EC
}

.cntct .titblock .actlinks a.sec:hover {
  background: #43E6EC;
  color: #1b1b1b
}

.cntct .formblock {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #fff;
  position: relative
}

.cntct .formblock .col {
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-start
}

.cntct .formblock .formleft {
  flex: 2
}

.cntct .formblock .formright {
  flex: 1;
  padding-top: 40px
}

.cntct .formblock .formright .infotile {
  background: #f4f4f2;
  border-radius: 2px;
  padding: 24px;
  margin-bottom: 24px;
  position: relative;
  box-shadow: 0 1px 2px 0 #43e6ec0d;
  border-top: 3px solid #43E6EC;
  border-left: 1px solid #43e6ec2e;
  border-right: 1px solid #43e6ec2e;
  border-bottom: 1px solid #43e6ec2e;
  transition: box-shadow .28s ease-out
}

.cntct .formblock .formright .infotile:hover {
  box-shadow: 0 4px 14px 0 #43e6ec1c
}

.cntct .formblock .formright .infotile .icolabel {
  font-size: 16px;
  line-height: 1.6;
  color: #888;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 8px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.cntct .formblock .formright .infotile .icolabel .dot {
  width: 8px;
  height: 8px;
  border-radius: 42px;
  background: #43E6EC;
  display: inline-block;
  flex-shrink: 0
}

.cntct .formblock .formright .infotile .ival {
  font-size: 16px;
  line-height: 1.6;
  color: #1b1b1b
}

.cntct .formblock .formright .infotile .ival a {
  color: #CA5227;
  text-decoration: underline
}

.cntct .formblock .formright .infotile .ival a::after {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 42px;
  background: #CA5227;
  margin-left: 3px;
  vertical-align: middle
}

.cntct .form {
  width: 100%
}

.cntct .form .frow {
  margin-bottom: 24px
}

.cntct .form label {
  display: block;
  font-size: 16px;
  line-height: 1.6;
  color: #3a3a3a;
  margin-bottom: 8px
}

.cntct .form label .req {
  color: #CA5227;
  margin-left: 2px
}

.cntct .form input[type="text"],
.cntct .form input[type="tel"],
.cntct .form select {
  width: 100%;
  padding: 16px;
  font-size: 16px;
  line-height: 1.6;
  color: #1b1b1b;
  background: #f4f4f2;
  border: 1.5px solid #43e6ec4d;
  border-radius: 2px;
  box-sizing: border-box;
  outline: none;
  transition: border-color .25s ease-out, box-shadow .38s ease-out;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: inset 0 1px 3px 0 #43e6ec12
}

.cntct .form input[type="text"]:focus,
.cntct .form input[type="tel"]:focus,
.cntct .form select:focus {
  border-color: #43E6EC;
  box-shadow: 0 0 0 3px #43e6ec21 inset 0 1px 3px 0 #43e6ec12
}

.cntct .form input::placeholder {
  font-size: 14px;
  color: #aaa
}

.cntct .form .selectwrap {
  position: relative
}

.cntct .form .selectwrap::after {
  content: '';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #CA5227;
  pointer-events: none
}

.cntct .form .timegrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px
}

.cntct .form .timegrid input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none
}

.cntct .form .timegrid label.timeslot {
  display: block;
  padding: 16px 8px;
  text-align: center;
  font-size: 16px;
  line-height: 1.1;
  color: #3a3a3a;
  background: #f4f4f2;
  border: 1.5px solid #43e6ec4d;
  border-radius: 2px;
  cursor: pointer;
  transition: background .28s ease-out, border-color .22s ease-out, color .28s ease-out;
  margin-bottom: 0;
  box-shadow: 0 1px 2px 0 #43e6ec0d
}

.cntct .form .timegrid label.timeslot:hover {
  border-color: #43E6EC;
  background: #43e6ec14
}

.cntct .form .timegrid input[type="radio"]:checked+label.timeslot {
  background: #43E6EC;
  border-color: #43E6EC;
  color: #1b1b1b;
  font-weight: 700;
  box-shadow: 0 4px 14px 0 #43e6ec1c
}

.cntct .form .timegrid .tpair {
  display: flex;
  flex-direction: column
}

.cntct .form .privrow {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px
}

.cntct .form .privrow input[type="checkbox"] {
  margin-top: 4px;
  width: 18px;
  height: 18px;
  accent-color: #CA5227;
  cursor: pointer;
  flex-shrink: 0
}

.cntct .form .privrow .privtxt {
  font-size: 16px;
  line-height: 1.6;
  color: #555
}

.cntct .form .privrow .privtxt a {
  color: #CA5227;
  text-decoration: underline
}

.cntct .form .privrow .privtxt a::after {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 42px;
  background: #CA5227;
  margin-left: 3px;
  vertical-align: middle
}

.cntct .form .submitbtn {
  display: inline-block;
  padding: 16px 40px;
  font-size: 18px;
  line-height: 1.6;
  color: #CA5227;
  background: transparent;
  border: 2px solid #CA5227;
  border-radius: 42px;
  cursor: pointer;
  transition: background .32s ease-out, color .25s ease-out
}

.cntct .form .submitbtn:hover {
  background: #CA5227;
  color: #fff
}

.cntct .form .submitbtn:focus {
  outline: 2px solid #CA5227;
  outline-offset: 3px
}

.cntct .infoblock {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #1b1b1b;
  position: relative;
  overflow: hidden
}

.cntct .infoblock::before {
  content: '';
  position: absolute;
  top: -40px;
  left: -40px;
  width: 320px;
  height: 320px;
  border-radius: 42px;
  background: #43e6ec0f;
  pointer-events: none;
  animation: flicker 4.5s ease-out infinite
}

.cntct .infoblock::after {
  content: '';
  position: absolute;
  bottom: -24px;
  right: 80px;
  width: 180px;
  height: 180px;
  border-radius: 42px;
  background: #ca522712;
  pointer-events: none;
  animation: flicker 6s ease-out 2s infinite
}

@keyframes flicker {
  0% {
    opacity: 1
  }

  30% {
    opacity: .4
  }

  55% {
    opacity: .9
  }

  80% {
    opacity: .3
  }

  100% {
    opacity: 1
  }
}

.cntct .infoblock .col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
  position: relative
}

.cntct .infoblock .infoh {
  font-size: 24px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 16px
}

.cntct .infoblock .infop {
  font-size: 16px;
  line-height: 1.6;
  color: #ccc;
  margin: 0 0 16px
}

.cntct .infoblock .infop.narrow {
  max-width: 320px
}

.cntct .infoblock .overline {
  color: #43E6EC
}

.cntct .infoblock .overline::before {
  background: #43E6EC
}

.cntct .infoblock .chartarea {
  background: #ffffff0a;
  border-radius: 2px;
  padding: 24px;
  border: 1px solid #43e6ec26;
  box-shadow: 0 4px 14px 0 #43e6ec1c
}

.cntct .infoblock .chartlabel {
  font-size: 16px;
  line-height: 1.6;
  color: #aaa;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: .08em
}

.cntct .infoblock .barrow {
  margin-bottom: 16px
}

.cntct .infoblock .barrow:last-child {
  margin-bottom: 0
}

.cntct .infoblock .barlabel {
  font-size: 16px;
  line-height: 1.6;
  color: #ccc;
  margin-bottom: 8px;
  display: flex;
  flex-direction: row;
  justify-content: space-between
}

.cntct .infoblock .barlabel .barpct {
  color: #43E6EC;
  font-weight: 700
}

.cntct .infoblock .bartrack {
  height: 16px;
  background: #ffffff14;
  border-radius: 2px;
  overflow: hidden
}

.cntct .infoblock .barfill {
  height: 100%;
  border-radius: 2px
}

.cntct .infoblock .barfill.c1 {
  width: 82%;
  background: linear-gradient(90deg, #43E6EC 0%, #43E6EC 50%, #F6CB04 50%, #F6CB04 100%)
}

.cntct .infoblock .barfill.c2 {
  width: 67%;
  background: linear-gradient(90deg, #CA5227 0%, #CA5227 50%, #F6CB04 50%, #F6CB04 100%)
}

.cntct .infoblock .barfill.c3 {
  width: 91%;
  background: linear-gradient(90deg, #43E6EC 0%, #43E6EC 50%, #CA5227 50%, #CA5227 100%)
}

.cntct .infoblock .barfill.c4 {
  width: 55%;
  background: linear-gradient(90deg, #F6CB04 0%, #F6CB04 50%, #43E6EC 50%, #43E6EC 100%)
}

.cntct .bracketbox {
  position: relative;
  display: inline-block
}

.cntct .bracketbox::before,
.cntct .bracketbox::after {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  pointer-events: none
}

.cntct .bracketbox::before {
  top: -4px;
  left: -4px;
  border-top: 2px solid #43E6EC;
  border-left: 2px solid #43E6EC
}

.cntct .bracketbox::after {
  bottom: -4px;
  right: -4px;
  border-bottom: 2px solid #CA5227;
  border-right: 2px solid #CA5227
}

@media (max-width: 1024px) {
  .cntct .col {
    padding-left: 24px;
    padding-right: 24px
  }

  .cntct .titblock .txth {
    font-size: 48px
  }

  .cntct .formblock .col {
    flex-direction: column;
    gap: 40px
  }

  .cntct .formblock .formleft,
  .cntct .formblock .formright {
    width: 100%;
    flex: unset
  }

  .cntct .formblock .formright {
    padding-top: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
  }

  .cntct .formblock .formright .infotile {
    margin-bottom: 0
  }
}

@media (max-width: 768px) {
  .cntct .titblock {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .cntct .titblock .col {
    flex-direction: column
  }

  .cntct .titblock .decimg {
    width: 100%;
    min-height: 140px
  }

  .cntct .titblock .txth {
    font-size: 24px
  }

  .cntct .formblock {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .cntct .formblock .formright {
    grid-template-columns: 1fr
  }

  .cntct .form .timegrid {
    grid-template-columns: repeat(2, 1fr)
  }

  .cntct .infoblock {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .cntct .infoblock .col {
    grid-template-columns: 1fr
  }
}

@media (max-width: 320px) {
  .cntct .col {
    padding-left: 16px;
    padding-right: 16px
  }

  .cntct .form .timegrid {
    grid-template-columns: 1fr
  }

  .cntct .titblock .txth {
    font-size: 24px
  }
}

.abtu {
  overflow-x: hidden;
  background: #fff
}

.abtu * {
  box-sizing: border-box
}

.abtu .pg-wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px
}

@keyframes wipeIn {
  from {
    clip-path: inset(0 100% 0 0)
  }

  to {
    clip-path: inset(0 0% 0 0)
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(24px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.abtu .tb {
  background: #111418;
  padding: 80px 0;
  position: relative
}

.abtu .tb-quote {
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 280px;
  line-height: 1.1;
  color: #43E6EC;
  opacity: .04;
  pointer-events: none;
  user-select: none;
  font-style: italic;
  white-space: nowrap;
  overflow: hidden
}

.abtu .tb-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: center
}

.abtu .tb-left {
  flex: 0 0 40%;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.abtu .tb-overline {
  display: block;
  font-size: 16px;
  line-height: 1.6;
  color: #43E6EC;
  text-transform: uppercase;
  letter-spacing: .12em;
  padding-bottom: 16px;
  border-bottom: 2px solid #43E6EC
}

.abtu .tb-h1 {
  font-size: 72px;
  line-height: 1.1;
  color: #fff;
  margin: 0
}

.abtu .tb-h1 .accent-word {
  background: linear-gradient(90deg, #43E6EC 50%, #CA5227 50%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent
}

.abtu .tb-desc {
  font-size: 18px;
  line-height: 1.6;
  color: #b0b8c4;
  margin: 0;
  max-width: 360px
}

.abtu .tb-right {
  flex: 0 0 60%;
  position: relative
}

.abtu .tb-imgwrap {
  position: relative;
  border-radius: 2px;
  overflow: hidden;
  animation: wipeIn .85s cubic-bezier(0.22, 1, 0.36, 1) both
}

.abtu .tb-imgwrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 60% 40%, transparent 40%, #1114188c 100%);
  pointer-events: none
}

.abtu .tb-img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 2px
}

.abtu .tb-dbl {
  position: absolute;
  bottom: -16px;
  right: -16px;
  width: 80px;
  height: 80px;
  border: 3px solid #43E6EC;
  border-radius: 2px;
  pointer-events: none
}

.abtu .tb-dbl::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 3px solid #CA5227;
  border-radius: 2px
}

.abtu .story {
  padding: 80px 0;
  background: #f4f7fa;
  position: relative
}

.abtu .story-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-start
}

.abtu .story-left {
  flex: 0 0 40%;
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: sticky;
  top: 40px
}

.abtu .story-overline {
  display: block;
  font-size: 16px;
  line-height: 1.6;
  color: #CA5227;
  text-transform: uppercase;
  letter-spacing: .12em
}

.abtu .story-h2 {
  font-size: 24px;
  line-height: 1.1;
  color: #111418;
  margin: 0
}

.abtu .story-h2 .accent-word {
  color: #CA5227
}

.abtu .story-imgwrap {
  position: relative;
  border-radius: 2px;
  overflow: hidden;
  cursor: pointer;
  transition: box-shadow .35s ease-out
}

.abtu .story-imgwrap::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 3px solid transparent;
  border-radius: 2px;
  transition: border-color .28s ease-out;
  z-index: 1;
  pointer-events: none
}

.abtu .story-imgwrap:hover::before {
  border-color: #43E6EC
}

.abtu .story-imgwrap:hover {
  box-shadow: 0 10px 60px 0 #43e6ec1c
}

.abtu .story-img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 2px;
  transition: transform .4s ease-out
}

.abtu .story-imgwrap:hover .story-img {
  transform: scale(1.03)
}

.abtu .story-right {
  flex: 0 0 60%;
  display: flex;
  flex-direction: column;
  gap: 40px
}

.abtu .story-p {
  font-size: 18px;
  line-height: 1.6;
  color: #2a2f38;
  margin: 0
}

.abtu .story-p.narrow {
  max-width: 420px
}

.abtu .story-p.wide {
  max-width: 580px
}

.abtu .story-metrics {
  display: flex;
  flex-direction: row;
  gap: 40px;
  padding: 24px;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 4px 14px 0 #43e6ec1c;
  border-left: 4px solid #43E6EC;
  border-top: 1px solid #e8edf2;
  border-right: 1px solid #e8edf2;
  border-bottom: 1px solid #e8edf2
}

.abtu .metric-item {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.abtu .metric-num {
  font-size: 72px;
  line-height: 1.1;
  color: #111418
}

.abtu .metric-num span {
  color: #CA5227
}

.abtu .metric-label {
  font-size: 16px;
  line-height: 1.6;
  color: #5a6270
}

.abtu .approach {
  padding: 80px 0;
  background: linear-gradient(135deg, #111418 50%, #1a2530 50%);
  position: relative
}

.abtu .approach-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px
}

.abtu .approach-head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 40px
}

.abtu .approach-overline {
  display: block;
  font-size: 16px;
  line-height: 1.6;
  color: #F6CB04;
  text-transform: uppercase;
  letter-spacing: .12em
}

.abtu .approach-h2 {
  font-size: 24px;
  line-height: 1.1;
  color: #fff;
  margin: 0;
  max-width: 600px
}

.abtu .approach-h2 .accent-word {
  color: #43E6EC
}

.abtu .approach-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.abtu .ap-card {
  background: #ffffff12;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid #43e6ec2e;
  border-radius: 2px;
  padding: 40px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  transition: background .35s ease-out, border-color .28s ease-out
}

.abtu .ap-card:hover {
  background: #43e6ec1a;
  border-color: #43e6ec73
}

.abtu .ap-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center
}

.abtu .ap-icon svg {
  width: 40px;
  height: 40px
}

.abtu .ap-h4 {
  font-size: 18px;
  line-height: 1.1;
  color: #fff;
  margin: 0
}

.abtu .ap-p {
  font-size: 16px;
  line-height: 1.6;
  color: #9ba8b8;
  margin: 0
}

.abtu .ap-card .hover-label {
  position: absolute;
  left: -8px;
  top: 50%;
  transform: translateY(-50%) translateX(-100%);
  background: #43E6EC;
  color: #111418;
  font-size: 16px;
  line-height: 1.6;
  padding: 8px 16px;
  border-radius: 2px;
  white-space: nowrap;
  opacity: 0;
  transition: opacity .25s ease-out, transform .32s ease-out;
  pointer-events: none
}

.abtu .ap-card:hover .hover-label {
  opacity: 1;
  transform: translateY(-50%) translateX(0)
}

.abtu .voice {
  padding: 80px 0;
  background: #fff;
  position: relative
}

.abtu .voice::before {
  content: "";
  display: block;
  height: 4px;
  background: linear-gradient(90deg, #43E6EC 33%, #CA5227 33% 66%, #F6CB04 66%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0
}

.abtu .voice-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: center
}

.abtu .voice-left {
  flex: 0 0 60%;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.abtu .voice-overline {
  display: block;
  font-size: 16px;
  line-height: 1.6;
  color: #CA5227;
  text-transform: uppercase;
  letter-spacing: .12em
}

.abtu .voice-h2 {
  font-size: 24px;
  line-height: 1.1;
  color: #111418;
  margin: 0
}

.abtu .voice-h2 .accent-word {
  color: #43E6EC
}

.abtu .voice-p {
  font-size: 18px;
  line-height: 1.6;
  color: #2a2f38;
  margin: 0
}

.abtu .voice-p.narrow {
  max-width: 400px
}

.abtu .voice-p.wide {
  max-width: 560px
}

.abtu .voice-quote {
  padding: 24px;
  background: #f4f7fa;
  border-radius: 2px;
  border-top: 3px solid #43E6EC;
  border-left: 1px solid #e0e8f0;
  border-right: 1px solid #e0e8f0;
  border-bottom: 3px solid #CA5227;
  box-shadow: 0 1px 2px 0 #43e6ec0d;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abtu .voice-qtext {
  font-size: 18px;
  line-height: 1.6;
  color: #2a2f38;
  margin: 0;
  font-style: italic
}

.abtu .voice-person {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center
}

.abtu .voice-portrait {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  flex-shrink: 0;
  box-shadow: 0 4px 14px 0 #ca52271c
}

.abtu .voice-pname {
  font-size: 16px;
  line-height: 1.6;
  color: #111418
}

.abtu .voice-prole {
  font-size: 16px;
  line-height: 1.6;
  color: #5a6270
}

.abtu .voice-right {
  flex: 0 0 40%;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start
}

.abtu .voice-imgwrap {
  position: relative;
  border-radius: 2px;
  overflow: hidden;
  cursor: pointer;
  transition: box-shadow .38s ease-out
}

.abtu .voice-imgwrap::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 3px solid transparent;
  border-radius: 2px;
  transition: border-color .27s ease-out;
  pointer-events: none
}

.abtu .voice-imgwrap:hover::after {
  border-color: #F6CB04
}

.abtu .voice-imgwrap:hover {
  box-shadow: 0 10px 60px 0 #ca52271c
}

.abtu .voice-img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 2px;
  transition: transform .42s ease-out
}

.abtu .voice-imgwrap:hover .voice-img {
  transform: scale(1.04)
}

.abtu .voice-cta {
  display: inline-block;
  padding: 16px 40px;
  border: 2px solid #CA5227;
  border-radius: 42px;
  color: #CA5227;
  font-size: 16px;
  line-height: 1.6;
  text-decoration: none !important;
  background: transparent;
  transition: background .32s ease-out, color .28s ease-out
}

.abtu .voice-cta:hover {
  background: #CA5227;
  color: #fff
}

.abtu .wave-div {
  display: block;
  width: 100%;
  overflow: hidden;
  line-height: 0
}

@media (max-width: 1024px) {

  .abtu .tb-inner,
  .abtu .story-inner,
  .abtu .voice-inner {
    flex-direction: column;
    gap: 40px
  }

  .abtu .tb-left,
  .abtu .tb-right,
  .abtu .story-left,
  .abtu .story-right,
  .abtu .voice-left,
  .abtu .voice-right {
    flex: none;
    width: 100%
  }

  .abtu .story-left {
    position: static
  }

  .abtu .approach-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .abtu .tb-h1 {
    font-size: 72px
  }
}

@media (max-width: 768px) {
  .abtu .tb {
    padding: 40px 0
  }

  .abtu .tb-h1 {
    font-size: 24px
  }

  .abtu .story,
  .abtu .approach,
  .abtu .voice {
    padding: 40px 0
  }

  .abtu .approach-grid {
    grid-template-columns: 1fr
  }

  .abtu .story-metrics {
    flex-direction: column;
    gap: 24px
  }

  .abtu .metric-num {
    font-size: 24px
  }

  .abtu .tb-quote {
    font-size: 120px
  }
}

@media (max-width: 320px) {

  .abtu .pg-wrap,
  .abtu .tb-inner,
  .abtu .story-inner,
  .abtu .approach-inner,
  .abtu .voice-inner {
    padding: 0 8px
  }
}

.successPg {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 24px;
  background: #fff
}

.successPg .card {
  max-width: 560px;
  width: 100%;
  background: #fff;
  border: 1px solid #43e6ec2e;
  border-radius: 2px;
  padding: 40px;
  box-shadow: 0 4px 14px 0 #43e6ec1c;
  text-align: center
}

.successPg .icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 24px;
  display: flex;
  align-items: center;
  justify-content: center
}

.successPg .icon svg {
  width: 56px;
  height: 56px
}

.successPg .overline {
  display: block;
  font-size: 16px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #43E6EC;
  margin-bottom: 8px;
  line-height: 1.1
}

.successPg .heading {
  font-size: 24px;
  line-height: 1.1;
  color: #1b2530;
  margin: 0 0 16px
}

.successPg .desc {
  font-size: 16px;
  line-height: 1.6;
  color: #3a4555;
  margin: 0 0 40px
}

.successPg .backBtn {
  display: inline-block;
  font-size: 16px;
  line-height: 1.1;
  color: #CA5227;
  border: 1.5px solid #CA5227;
  border-radius: 2px;
  padding: 16px 40px;
  text-decoration: none;
  background: transparent;
  transition: color .25s ease-out, background .35s ease-out
}

.successPg .backBtn:hover,
.successPg .backBtn:focus {
  background: #CA5227;
  color: #fff;
  outline: none
}

.successPg .backBtn:active {
  background: #a84220;
  border-color: #a84220;
  color: #fff
}

@media (max-width: 768px) {
  .successPg {
    padding: 40px 16px
  }

  .successPg .card {
    padding: 40px 24px
  }
}