html {
  scroll-behavior: auto;
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
}

.hd {
  background: linear-gradient(160deg, #187080 0%, #5F98A6 100%);
  position: relative;
}

.hd-top {
  max-width: 1500px;
  margin: 0 auto;
  padding: 40px 80px 16px 80px;
  display: flex;
  align-items: flex-start;
}

.hd-logo-pod {
  display: flex;
  align-items: center;
  text-decoration: none;
  box-sizing: border-box;
}

.hd-logo-frame {
  width: 70px;
  height: 88px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  background-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 2px 3px 0 rgba(24, 112, 128, 0.07), 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.hd-logo-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.hd-brand {
  margin-left: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hd-brand-name {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 51px;
  font-weight: 700;
  line-height: 1.15;
  color: #ffffff;
  letter-spacing: 0;
}

.hd-brand-sub {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.82);
}

.hd-nav-bar {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.07);
  box-shadow: inset 0 2px 3px 0 rgba(24, 112, 128, 0.07);
}

.hd-nav-plate {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}

.hd-nav-plate a {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.92);
  text-decoration: none;
  padding: 16px 16px;
  border-radius: 4px;
  display: inline-block;
  transition: background-color 0.22s cubic-bezier(0.4, 0, 0.2, 1), color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
}

.hd-nav-plate a:hover {
  background-color: rgba(255, 255, 255, 0.14);
  color: #ffffff;
}

.hd-nav-plate a:focus {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
  text-decoration: underline;
}

.hd-nav-plate a[aria-current="page"] {
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.16);
}

.ft {
  background-color: #187080;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.ft-deck {
  max-width: 1500px;
  margin: 0 auto;
  padding: 80px 80px 40px 80px;
  display: grid;
  grid-template-columns: 1fr 2px 1fr 2px 1fr;
  gap: 40px;
  box-sizing: border-box;
}

.ft-divider {
  background: rgba(255, 255, 255, 0.15);
  width: 1px;
  align-self: stretch;
}

.ft-brand-cell {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ft-logo-pod {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ft-logo-frame {
  width: 65px;
  height: 80px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  background-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 2px 3px 0 rgba(24, 112, 128, 0.07);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.ft-logo-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.ft-brand-label {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.15;
  color: #ffffff;
}

.ft-addr {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.78);
}

.ft-contact-cell {
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
}

.ft-contact-label {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.55);
  text-transform: uppercase;
  letter-spacing: 0;
}

.ft-contact-cell a {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.88);
  text-decoration: none;
  transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.ft-contact-cell a:hover {
  color: #ffffff;
}

.ft-contact-cell a:focus {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
  text-decoration: underline;
}

.ft-links-cell {
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
}

.ft-links-cell a {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  transition: color 0.2s cubic-bezier(0.0, 0, 0.2, 1);
}

.ft-links-cell a:hover {
  color: #ffffff;
}

.ft-links-cell a:focus {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
  text-decoration: underline;
}

.ft-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  max-width: 1500px;
  margin: 0 auto;
  padding: 16px 80px 40px 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.ft-copy {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
}

.ck-pod {
  display: none;
  position: fixed;
  top: 40px;
  right: 40px;
  z-index: 1200;
  width: 340px;
  background: #ffffff;
  border-radius: 4px;
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
  padding: 40px;
  box-sizing: border-box;
}

.ck-desc {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  color: #1e4a52;
  margin-bottom: 16px;
}

.ck-acts {
  display: flex;
  gap: 16px;
  align-items: center;
}

.ck-acts button {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  color: #187080;
  transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.ck-acts button:hover {
  color: #5F98A6;
}

.ck-acts button:focus {
  outline: 2px solid #187080;
  outline-offset: 2px;
}

@media (max-width: 1024px) {
  .hd-top {
    padding: 40px 40px 16px 40px;
  }

  .hd-nav-plate {
    padding: 0 40px;
  }

  .ft-deck {
    padding: 80px 40px 40px 40px;
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ft-divider {
    display: none;
  }

  .ft-bottom {
    padding: 16px 40px 40px 40px;
  }
}

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

  .hd-brand-name {
    font-size: 21px;
  }

  .hd-nav-plate {
    padding: 0 16px;
    justify-content: flex-start;
  }

  .hd-nav-plate a {
    padding: 16px 8px;
    font-size: 15px;
  }

  .ft-deck {
    padding: 40px 16px 40px 16px;
  }

  .ft-bottom {
    padding: 16px 16px 40px 16px;
  }

  .ck-pod {
    top: 16px;
    right: 16px;
    left: 16px;
    width: auto;
  }
}

@media (max-width: 375px) {
  .hd-top {
    padding: 16px 16px 8px 16px;
  }

  .hd-logo-frame {
    width: 56px;
    height: 70px;
  }

  .hd-nav-plate a {
    padding: 16px 8px;
  }
}

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

.legal-main h1 {
  font-size: 68px;
  line-height: 1.15;
  color: #187080;
  margin-bottom: 40px;
  padding-bottom: 16px;
  border-bottom: 2px solid #EFEFEF;
}

.legal-main h2 {
  font-size: 51px;
  line-height: 1.15;
  color: #187080;
  margin-top: 80px;
  margin-bottom: 16px;
}

.legal-main h3 {
  font-size: 21px;
  line-height: 1.7;
  color: #187080;
  margin-top: 40px;
  margin-bottom: 16px;
}

.legal-main h4,
.legal-main h5,
.legal-main h6 {
  font-size: 15px;
  line-height: 1.7;
  color: #187080;
  margin-top: 40px;
  margin-bottom: 8px;
}

.legal-main p {
  font-size: 15px;
  line-height: 1.7;
  color: #1d2e30;
  margin-bottom: 16px;
  max-width: 72ch;
}

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

.legal-main hr {
  border: none;
  border-top: 1px solid #EFEFEF;
  margin-top: 40px;
  margin-bottom: 40px;
  box-shadow: 0 2px 3px 0 rgba(24, 112, 128, 0.07);
}

.legal-main div {
  margin-bottom: 16px;
}

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

  .legal-main h1 {
    font-size: 51px;
  }

  .legal-main h2 {
    font-size: 51px;
  }
}

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

  .legal-main h1 {
    font-size: 51px;
  }

  .legal-main h2 {
    font-size: 21px;
    margin-top: 40px;
  }

  .legal-main h3 {
    font-size: 21px;
    margin-top: 40px;
  }
}

@media (max-width: 375px) {
  .legal-main {
    padding: 40px 8px;
  }

  .legal-main h1 {
    font-size: 21px;
  }

  .legal-main h2 {
    font-size: 21px;
  }
}

.prm {
  display: block;
  width: 100%;
  overflow-x: hidden;
}

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

.prm ::selection {
  background: #187080;
  color: #fff;
}

.prm .tb {
  position: relative;
  padding: 80px 40px 80px 40px;
  background: #fff;
}

.prm .tb-grid {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 80px;
  max-width: 1500px;
  margin: 0 auto;
}

.prm .tb-left {
  flex: 0 0 520px;
  max-width: 520px;
  position: relative;
}

.prm .tb-label {
  display: inline-block;
  font-size: 15px;
  font-weight: 700;
  color: #187080;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 16px;
  opacity: 0;
  animation: fadein 0.26s cubic-bezier(0.4, 0, 0.2, 1) 0.1s forwards;
}

.prm .tb-h1 {
  font-size: 68px;
  line-height: 1.15;
  color: #111;
  margin: 0 0 16px 0;
  opacity: 0;
  animation: fadein 0.28s cubic-bezier(0.4, 0, 0.2, 1) 0.22s forwards;
}

.prm .tb-h1 span {
  color: #187080;
}

.prm .tb-desc {
  font-size: 21px;
  line-height: 1.7;
  color: #2a2a2a;
  margin: 0 0 40px 0;
  opacity: 0;
  animation: fadein 0.26s cubic-bezier(0.4, 0, 0.2, 1) 0.34s forwards;
}

.prm .tb-dots {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  opacity: 0;
  animation: fadein 0.24s cubic-bezier(0.0, 0, 0.2, 1) 0.46s forwards;
}

.prm .tb-dot {
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: #187080;
  flex-shrink: 0;
}

.prm .tb-dot.sm {
  width: 5px;
  height: 5px;
  background: #5F98A6;
  opacity: 0.5;
}

.prm .tb-dot-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, #187080 0%, transparent 100%);
  max-width: 40px;
}

.prm .tb-right {
  flex: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 16px;
}

.prm .tb-img-wrap {
  width: 100%;
  max-width: 560px;
  aspect-ratio: 4/3;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
  opacity: 0;
  animation: fadein 0.28s cubic-bezier(0.4, 0, 0.2, 1) 0.18s forwards;
}

.prm .tb-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(100%);
  transition: filter 0.26s cubic-bezier(0.4, 0, 0.2, 1);
}

.prm .tb-img-wrap:hover img {
  filter: grayscale(60%);
}

.prm .tb-deco {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 80px;
  height: 80px;
  pointer-events: none;
}

.prm .tb-deco-dot {
  position: absolute;
  border-radius: 4px;
  background: #5F98A6;
  opacity: 0.18;
}

.prm .tb-deco-dot:nth-child(1) {
  width: 8px;
  height: 8px;
  top: 0;
  left: 0;
}

.prm .tb-deco-dot:nth-child(2) {
  width: 8px;
  height: 8px;
  top: 0;
  left: 16px;
}

.prm .tb-deco-dot:nth-child(3) {
  width: 8px;
  height: 8px;
  top: 0;
  left: 40px;
}

.prm .tb-deco-dot:nth-child(4) {
  width: 8px;
  height: 8px;
  top: 16px;
  left: 0;
}

.prm .tb-deco-dot:nth-child(5) {
  width: 8px;
  height: 8px;
  top: 16px;
  left: 16px;
}

.prm .tb-deco-dot:nth-child(6) {
  width: 8px;
  height: 8px;
  top: 40px;
  left: 0;
}

.prm .divdr-a {
  width: 100%;
  height: 40px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  position: relative;
  z-index: 1;
  margin-bottom: -1px;
}

.prm .req {
  background: #EFEFEF;
  padding: 80px 40px;
}

.prm .req-inner {
  max-width: 1500px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  align-items: start;
}

.prm .req-lead {
  grid-column: 1 / 2;
}

.prm .req-lead-lbl {
  font-size: 15px;
  font-weight: 700;
  color: #187080;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  display: block;
  margin-bottom: 16px;
}

.prm .req-lead h2 {
  font-size: 51px;
  line-height: 1.15;
  color: #111;
  margin: 0 0 16px 0;
}

.prm .req-lead h2 em {
  font-size: 68px;
  font-style: normal;
  color: #187080;
  display: block;
}

.prm .req-body {
  grid-column: 2 / 4;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.prm .req-items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.prm .req-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 3px 0 rgba(24, 112, 128, 0.07);
  transition: box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.prm .req-item:hover {
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
}

.prm .req-num {
  font-size: 21px;
  font-weight: 700;
  color: #5F98A6;
  min-width: 40px;
  line-height: 1.15;
}

.prm .req-item-body h5 {
  font-size: 15px;
  font-weight: 700;
  color: #111;
  margin: 0 0 8px 0;
  line-height: 1.15;
}

.prm .req-item-body p {
  font-size: 15px;
  line-height: 1.7;
  color: #333;
  margin: 0;
}

.prm .req-note {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  border-top: 1px solid #d0d0d0;
  padding-top: 16px;
}

.prm .req-note strong {
  color: #187080;
  font-weight: 700;
}

.prm .divdr-b {
  width: 100%;
  height: 40px;
  background: #EFEFEF;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  margin-bottom: -1px;
}

.prm .ctx {
  background: #fff;
  padding: 80px 40px;
}

.prm .ctx-inner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: stretch;
}

.prm .ctx-img-col {
  flex: 0 0 440px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.prm .ctx-img-wrap {
  width: 100%;
  aspect-ratio: 3/4;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  position: relative;
}

.prm .ctx-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.26s cubic-bezier(0.4, 0, 0.2, 1);
}

.prm .ctx-img-wrap:hover img {
  transform: scale(1.03);
}

.prm .ctx-img-tag {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: rgba(24, 112, 128, 0.88);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 4px;
}

.prm .ctx-text-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 40px;
}

.prm .ctx-lbl {
  font-size: 15px;
  font-weight: 700;
  color: #187080;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  display: block;
  margin-bottom: 8px;
}

.prm .ctx-text-col h2 {
  font-size: 51px;
  line-height: 1.15;
  color: #111;
  margin: 0;
}

.prm .ctx-text-col h2 strong {
  font-weight: 700;
  color: #187080;
}

.prm .ctx-paras {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0 80px 0 80px !important;
}

.prm .ctx-paras p {
  font-size: 15px;
  line-height: 1.7;
  color: #333;
  margin: 0;
}

.prm .ctx-tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}

.prm .ctx-tag {
  font-size: 15px;
  color: #187080;
  border: 1px solid #5F98A6;
  border-radius: 4px;
  padding: 8px 16px;
  background: transparent;
  transition: background 0.22s cubic-bezier(0.4, 0, 0.2, 1), color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: default;
}

.prm .ctx-tag:hover {
  background: #187080;
  color: #fff;
}

.prm .divdr-c {
  width: 100%;
  height: 40px;
  background: #fff;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  margin-bottom: -1px;
}

.prm .ptn {
  background: #187080;
  padding: 80px 40px;
  position: relative;
}

.prm .ptn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 0% 0%, rgba(95, 152, 166, 0.38) 0%, transparent 65%);
  pointer-events: none;
}

.prm .ptn-inner {
  max-width: 1500px;
  margin: 0 auto;
  position: relative;
}

.prm .ptn-top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 40px;
  gap: 40px;
}

.prm .ptn-top h2 {
  font-size: 51px;
  line-height: 1.15;
  color: #fff;
  margin: 0;
  flex: 0 0 auto;
  max-width: 560px;
}

.prm .ptn-top h2 em {
  font-size: 68px;
  font-style: normal;
  display: block;
}

.prm .ptn-intro {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.82);
  max-width: 360px;
  margin: 0;
}

.prm .ptn-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.prm .ptn-card {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  padding: 40px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  transition: background 0.24s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.12);
}

.prm .ptn-card:hover {
  background: rgba(255, 255, 255, 0.14);
}

.prm .ptn-card h5 {
  font-size: 21px;
  line-height: 1.15;
  color: #fff;
  margin: 0 0 16px 0;
  font-weight: 700;
}

.prm .ptn-card p {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.82);
  margin: 0;
}

.prm .ptn-card .ptn-name {
  display: block;
  margin-top: 16px;
  font-size: 15px;
  color: #EFEFEF;
  font-weight: 700;
  opacity: 0.7;
}

.prm .divdr-d {
  width: 100%;
  height: 40px;
  background: #187080;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  margin-bottom: -1px;
}

.prm .scl {
  background: #fff;
  padding: 80px 40px;
}

.prm .scl-inner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.prm .scl-head {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 80px;
}

.prm .scl-head h2 {
  font-size: 51px;
  line-height: 1.15;
  color: #111;
  margin: 0;
  flex: 0 0 auto;
}

.prm .scl-head h2 strong {
  color: #187080;
  font-weight: 700;
}

.prm .scl-head-desc {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  max-width: 480px;
  margin: 0;
}

.prm .scl-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.prm .scl-stat {
  padding: 40px 16px;
  border-radius: 4px;
  background: #EFEFEF;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: 0 2px 3px 0 rgba(24, 112, 128, 0.07);
  transition: box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1), background 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: default;
}

.prm .scl-stat:hover {
  background: #fff;
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
}

.prm .scl-val {
  font-size: 51px;
  line-height: 1.15;
  font-weight: 700;
  color: #187080;
}

.prm .scl-stat h5 {
  font-size: 15px;
  font-weight: 700;
  color: #111;
  margin: 0;
  line-height: 1.15;
}

.prm .scl-stat p {
  font-size: 15px;
  line-height: 1.7;
  color: #555;
  margin: 0;
}

.prm .scl-img-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.prm .scl-img-wrap {
  aspect-ratio: 16/9;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
}

.prm .scl-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}

.prm .scl-img-wrap:hover img {
  transform: scale(1.04);
}

.prm .divdr-e {
  width: 100%;
  height: 40px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  margin-bottom: -1px;
}

.prm .cases {
  background: #EFEFEF;
  padding: 80px 40px;
}

.prm .cases-inner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.prm .cases-head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 640px;
}

.prm .cases-lbl {
  font-size: 15px;
  font-weight: 700;
  color: #187080;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.prm .cases-head h2 {
  font-size: 51px;
  line-height: 1.15;
  color: #111;
  margin: 0;
}

.prm .cases-head h2 strong {
  font-weight: 700;
  color: #187080;
}

.prm .cases-head p {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  margin: 0;
}

.prm .cases-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.prm .case-row {
  display: grid;
  grid-template-columns: 280px 1fr 1fr;
  gap: 40px;
  align-items: start;
  background: #fff;
  border-radius: 4px;
  padding: 40px;
  box-shadow: 0 2px 3px 0 rgba(24, 112, 128, 0.07);
  transition: box-shadow 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}

.prm .case-row:hover {
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
}

.prm .case-who h4 {
  font-size: 21px;
  line-height: 1.15;
  font-weight: 700;
  color: #111;
  margin: 0 0 8px 0;
}

.prm .case-who span {
  font-size: 15px;
  color: #5F98A6;
  font-weight: 700;
  display: block;
}

.prm .case-situation h6 {
  font-size: 15px;
  font-weight: 700;
  color: #187080;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 8px 0;
}

.prm .case-situation p {
  font-size: 15px;
  line-height: 1.7;
  color: #333;
  margin: 0;
}

.prm .case-outcome h6 {
  font-size: 15px;
  font-weight: 700;
  color: #187080;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 8px 0;
}

.prm .case-outcome p {
  font-size: 15px;
  line-height: 1.7;
  color: #333;
  margin: 0;
}

.prm .case-outcome strong {
  color: #187080;
  font-weight: 700;
}

@keyframes fadein {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.prm .type-anim {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  border-right: 2px solid #187080;
  width: 0;
  animation: typewr 1.8s cubic-bezier(0.4, 0, 0.2, 1) 0.5s forwards, blink 0.7s step-end 0.5s 5;
}

@keyframes typewr {
  from {
    width: 0;
  }

  to {
    width: 100%;
  }
}

@keyframes blink {

  0%,
  100% {
    border-color: #187080;
  }

  50% {
    border-color: transparent;
  }
}

.prm .reveal {
  opacity: 0;
  animation: fadein 0.28s cubic-bezier(0.4, 0, 0.2, 1) 0.1s forwards;
}

@media (max-width: 1280px) {
  .prm .tb-grid {
    gap: 40px;
  }

  .prm .tb-left {
    flex: 0 0 400px;
    max-width: 400px;
  }

  .prm .ctx-img-col {
    flex: 0 0 320px;
  }

  .prm .ctx-paras {
    margin: 0 40px !important;
  }

  .prm .scl-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 1024px) {
  .prm .tb-grid {
    flex-direction: column;
    gap: 40px;
  }

  .prm .tb-left {
    flex: none;
    max-width: 100%;
  }

  .prm .tb-h1 {
    font-size: 51px;
  }

  .prm .req-inner {
    grid-template-columns: 1fr;
  }

  .prm .req-lead {
    grid-column: 1;
  }

  .prm .req-body {
    grid-column: 1;
  }

  .prm .ctx-inner {
    flex-direction: column;
    gap: 40px;
  }

  .prm .ctx-img-col {
    flex: none;
    width: 100%;
    max-width: 440px;
  }

  .prm .ctx-paras {
    margin: 0 !important;
  }

  .prm .ptn-grid {
    grid-template-columns: 1fr;
  }

  .prm .ptn-top {
    flex-direction: column;
    align-items: flex-start;
  }

  .prm .scl-head {
    flex-direction: column;
    gap: 16px;
  }

  .prm .scl-img-row {
    grid-template-columns: 1fr;
  }

  .prm .case-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

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

  .prm .req {
    padding: 40px 16px;
  }

  .prm .ctx {
    padding: 40px 16px;
  }

  .prm .ptn {
    padding: 40px 16px;
  }

  .prm .scl {
    padding: 40px 16px;
  }

  .prm .cases {
    padding: 40px 16px;
  }

  .prm .tb-h1 {
    font-size: 51px;
  }

  .prm .scl-row {
    grid-template-columns: 1fr 1fr;
  }

  .prm .ptn-card {
    padding: 16px;
  }

  .prm .case-row {
    padding: 16px;
  }
}

@media (max-width: 375px) {
  .prm .tb-h1 {
    font-size: 51px;
  }

  .prm .scl-row {
    grid-template-columns: 1fr;
  }

  .prm .ctx-tags {
    flex-direction: column;
  }
}

.spt-pg {
  display: block;
  width: 100%;
  overflow-x: hidden;
}

.spt-pg a {
  text-decoration: none !important;
}

.spt-pg ::selection {
  background: #187080;
  color: #fff;
}

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

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

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

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

.spt-pg .spt-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 520px;
  position: relative;
}

.spt-pg .spt-top-left {
  background: #187080;
  padding: 80px 40px 80px 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
  z-index: 2;
  animation: clipReveal 0.6s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.spt-pg .spt-top-left::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 0% 0%, rgba(95, 152, 166, 0.35) 0%, transparent 65%);
  pointer-events: none;
}

.spt-pg .spt-top-left .spt-label {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(239, 239, 239, 0.75);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
}

.spt-pg .spt-top-left .spt-label::before,
.spt-pg .spt-top-left .spt-label::after {
  content: '';
  display: inline-block;
  width: 24px;
  height: 2px;
  background: #5F98A6;
  flex-shrink: 0;
}

.spt-pg .spt-top-left h1 {
  font-size: 68px;
  line-height: 1.15;
  color: #fff;
  margin: 0 0 16px 0;
  position: relative;
  z-index: 1;
}

.spt-pg .spt-top-left h1 .spt-punct {
  color: #5F98A6;
}

.spt-pg .spt-top-left .spt-sub {
  font-size: 21px;
  line-height: 1.7;
  color: rgba(239, 239, 239, 0.88);
  margin: 0 0 40px 0;
  max-width: 420px;
}

.spt-pg .spt-top-left .spt-meta {
  display: flex;
  flex-direction: row;
  gap: 40px;
}

.spt-pg .spt-top-left .spt-meta-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.spt-pg .spt-top-left .spt-meta-item strong {
  font-size: 51px;
  line-height: 1.15;
  color: #fff;
  font-weight: 700;
}

.spt-pg .spt-top-left .spt-meta-item span {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(239, 239, 239, 0.7);
}

.spt-pg .spt-top-right {
  position: relative;
  overflow: hidden;
  background: #0f4f5a;
}

.spt-pg .spt-top-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.spt-pg .spt-top-right:hover img {
  transform: scale(1.04);
}

.spt-pg .spt-top-right::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(24, 112, 128, 0.55) 0%, transparent 60%);
  pointer-events: none;
}

.spt-pg .spt-tri-tl {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 56px 56px 0 0;
  border-color: #EFEFEF transparent transparent transparent;
  z-index: 3;
  pointer-events: none;
}

.spt-pg .spt-tri-br {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 56px 56px;
  border-color: transparent transparent #EFEFEF transparent;
  z-index: 3;
  pointer-events: none;
}

.spt-pg .spt-channels {
  background: #EFEFEF;
  padding: 80px 0;
  position: relative;
}

.spt-pg .spt-channels::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #187080 0%, #5F98A6 60%, transparent 100%);
}

.spt-pg .spt-ch-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 80px;
}

.spt-pg .spt-ch-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-bottom: 80px;
  animation: fadeUp 0.5s cubic-bezier(0.0, 0, 0.2, 1) 0.18s both;
}

.spt-pg .spt-ch-header-left h2 {
  font-size: 51px;
  line-height: 1.15;
  color: #187080;
  margin: 0 0 16px 0;
}

.spt-pg .spt-ch-header-left h2 em {
  font-style: normal;
  font-size: 68px;
  display: block;
  color: #0f4f5a;
}

.spt-pg .spt-ch-header-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 40px;
  border-left: none;
  position: relative;
}

.spt-pg .spt-ch-header-right::before {
  content: '';
  position: absolute;
  left: 0;
  top: 16px;
  bottom: 16px;
  width: 3px;
  background: linear-gradient(180deg, #187080 0%, #5F98A6 100%);
  border-radius: 4px;
}

.spt-pg .spt-ch-header-right p {
  font-size: 21px;
  line-height: 1.7;
  color: #1a3a40;
  margin: 0 0 16px 0;
}

.spt-pg .spt-ch-header-right p:last-child {
  margin: 0;
  font-size: 15px;
  color: #3a6070;
}

.spt-pg .spt-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 80px;
}

.spt-pg .spt-card {
  background: #fff;
  border-radius: 4px;
  padding: 40px;
  box-shadow: 0 2px 3px 0 rgba(24, 112, 128, 0.07);
  transition: box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1), transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.spt-pg .spt-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 0% 0%, rgba(24, 112, 128, 0.06) 0%, transparent 55%);
  opacity: 0;
  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

.spt-pg .spt-card:hover {
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  transform: translateY(-4px);
}

.spt-pg .spt-card:hover::before {
  opacity: 1;
}

.spt-pg .spt-card .spt-icon {
  width: 48px;
  height: 48px;
  border-radius: 4px;
  background: #187080;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.spt-pg .spt-card .spt-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.spt-pg .spt-card h4 {
  font-size: 21px;
  line-height: 1.15;
  color: #0f4f5a;
  margin: 0;
}

.spt-pg .spt-card p {
  font-size: 15px;
  line-height: 1.7;
  color: #3a6070;
  margin: 0;
  flex: 1;
}

.spt-pg .spt-card .spt-avail {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1.7;
  color: #187080;
  font-weight: 600;
}

.spt-pg .spt-card .spt-avail::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 42px;
  background: #187080;
  flex-shrink: 0;
}

.spt-pg .spt-card .spt-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1.7;
  color: #187080;
  font-weight: 600;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.spt-pg .spt-card .spt-link:hover {
  color: #0f4f5a;
  filter: brightness(1.1);
}

.spt-pg .spt-card .spt-link svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.spt-pg .spt-card .spt-link:hover svg {
  transform: translateX(4px);
}

.spt-pg .spt-trail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}

.spt-pg .spt-trail-left {
  background: #187080;
  border-radius: 4px;
  padding: 40px;
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
  position: relative;
  overflow: hidden;
}

.spt-pg .spt-trail-left::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 0% 0%, rgba(95, 152, 166, 0.3) 0%, transparent 60%);
  pointer-events: none;
}

.spt-pg .spt-trail-left h3 {
  font-size: 21px;
  line-height: 1.15;
  color: #fff;
  margin: 0 0 40px 0;
  position: relative;
  z-index: 1;
}

.spt-pg .spt-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  z-index: 1;
}

.spt-pg .spt-step {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  padding-bottom: 40px;
  position: relative;
}

.spt-pg .spt-step:last-child {
  padding-bottom: 0;
}

.spt-pg .spt-step-dot-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}

.spt-pg .spt-step-dot {
  width: 16px;
  height: 16px;
  border-radius: 42px;
  background: #5F98A6;
  border: 3px solid #fff;
  flex-shrink: 0;
  transition: background 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.spt-pg .spt-step:hover .spt-step-dot {
  background: #fff;
}

.spt-pg .spt-step-line {
  width: 2px;
  flex: 1;
  background: rgba(255, 255, 255, 0.25);
  margin-top: 4px;
  min-height: 40px;
}

.spt-pg .spt-step:last-child .spt-step-line {
  display: none;
}

.spt-pg .spt-step-body {
  flex: 1;
  padding-top: 0;
}

.spt-pg .spt-step-body h5 {
  font-size: 15px;
  line-height: 1.7;
  color: #fff;
  margin: 0 0 8px 0;
  font-weight: 700;
}

.spt-pg .spt-step-body p {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(239, 239, 239, 0.8);
  margin: 0;
}

.spt-pg .spt-trail-right {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.spt-pg .spt-img-wrap {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  position: relative;
}

.spt-pg .spt-img-wrap img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.spt-pg .spt-img-wrap:hover img {
  transform: scale(1.04);
}

.spt-pg .spt-img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(24, 112, 128, 0.4) 0%, transparent 55%);
  pointer-events: none;
}

.spt-pg .spt-info-strip {
  background: #fff;
  border-radius: 4px;
  padding: 40px;
  box-shadow: 0 2px 3px 0 rgba(24, 112, 128, 0.07);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.spt-pg .spt-info-strip h4 {
  font-size: 21px;
  line-height: 1.15;
  color: #0f4f5a;
  margin: 0;
}

.spt-pg .spt-info-strip p {
  font-size: 15px;
  line-height: 1.7;
  color: #3a6070;
  margin: 0;
}

.spt-pg .spt-info-strip .spt-contact-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.spt-pg .spt-info-strip .spt-contact-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  font-size: 15px;
  line-height: 1.7;
  color: #187080;
  font-weight: 600;
}

.spt-pg .spt-info-strip .spt-contact-item svg {
  width: 18px;
  height: 18px;
  stroke: #187080;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

.spt-pg .spt-img2-wrap {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  position: relative;
}

.spt-pg .spt-img2-wrap img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.spt-pg .spt-img2-wrap:hover img {
  transform: scale(1.04);
}

.spt-pg .spt-img2-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(24, 112, 128, 0.35) 0%, transparent 55%);
  pointer-events: none;
}

@media (max-width: 1024px) {
  .spt-pg .spt-top {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .spt-pg .spt-top-left {
    clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%);
    padding: 80px 40px;
  }

  .spt-pg .spt-top-left h1 {
    font-size: 51px;
  }

  .spt-pg .spt-top-right {
    height: 320px;
  }

  .spt-pg .spt-ch-inner {
    padding: 0 40px;
  }

  .spt-pg .spt-ch-header {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .spt-pg .spt-grid {
    grid-template-columns: 1fr 1fr;
  }

  .spt-pg .spt-trail {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .spt-pg .spt-top-left {
    padding: 80px 40px;
  }

  .spt-pg .spt-top-left h1 {
    font-size: 51px;
  }

  .spt-pg .spt-top-left .spt-meta {
    gap: 40px;
  }

  .spt-pg .spt-ch-inner {
    padding: 0 16px;
  }

  .spt-pg .spt-grid {
    grid-template-columns: 1fr;
  }

  .spt-pg .spt-ch-header-left h2 em {
    font-size: 51px;
  }
}

@media (max-width: 375px) {
  .spt-pg .spt-top-left {
    padding: 40px 16px;
  }

  .spt-pg .spt-top-left h1 {
    font-size: 51px;
  }

  .spt-pg .spt-top-left .spt-meta {
    flex-direction: column;
    gap: 16px;
  }

  .spt-pg .spt-top-left .spt-meta-item strong {
    font-size: 21px;
  }

  .spt-pg .spt-channels {
    padding: 40px 0;
  }

  .spt-pg .spt-card {
    padding: 16px;
  }

  .spt-pg .spt-trail-left {
    padding: 16px;
  }
}

.abt-us {
  width: 100%;
  overflow-x: hidden;
}

.abt-us .pg-intro {
  position: relative;
  background: linear-gradient(135deg, #187080 0%, #5F98A6 60%, #EFEFEF 100%);
  padding: 80px 40px;
}

.abt-us .pg-intro::before {
  content: '';
  position: absolute;
  top: -60px;
  left: -60px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 0 40px rgba(255, 255, 255, 0.04), 0 0 0 80px rgba(255, 255, 255, 0.025), 0 0 0 120px rgba(255, 255, 255, 0.012);
  pointer-events: none;
}

.abt-us .pg-intro::after {
  content: '';
  position: absolute;
  top: -60px;
  left: -60px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow:
    0 0 0 60px rgba(255, 255, 255, 0.03),
    0 0 0 120px rgba(255, 255, 255, 0.015),
    0 0 0 180px rgba(255, 255, 255, 0.007);
  pointer-events: none;
  animation: edge-glow 4.5s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
}

@keyframes edge-glow {
  0% {
    opacity: 0.4;
  }

  100% {
    opacity: 1;
  }
}

.abt-us .intro-inner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 1;
}

.abt-us .intro-text {
  flex: 1 1 0;
  min-width: 0;
}

.abt-us .intro-label {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.75);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.abt-us .intro-h1 {
  font-size: 68px;
  line-height: 1.15;
  color: #fff;
  margin-bottom: 40px;
}

.abt-us .intro-h1 span {
  color: #EFEFEF;
  font-size: 51px;
  display: block;
}

.abt-us .intro-h1 em {
  font-style: normal;
  color: #EFEFEF;
}

.abt-us .intro-manifesto {
  font-size: 21px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.92);
  max-width: 520px;
  margin-bottom: 40px;
}

.abt-us .intro-manifesto strong {
  color: #fff;
  font-weight: 700;
}

.abt-us .intro-tag {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 15px;
  line-height: 1.7;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.abt-us .intro-img-col {
  flex: 0 0 440px;
  position: relative;
}

.abt-us .img-duo {
  position: relative;
  width: 100%;
}

.abt-us .img-main {
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
  filter: saturate(0.7) contrast(1.1);
  mix-blend-mode: luminosity;
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
}

.abt-us .img-overlay {
  position: absolute;
  inset: 0;
  border-radius: 4px;
  background: linear-gradient(160deg, rgba(24, 112, 128, 0.55) 0%, rgba(95, 152, 166, 0.3) 100%);
  pointer-events: none;
}

.abt-us .img-pattern {
  position: absolute;
  bottom: -16px;
  right: -16px;
  width: 80px;
  height: 80px;
  pointer-events: none;
  overflow: hidden;
}

.abt-us .img-pattern svg {
  width: 100%;
  height: 100%;
  opacity: 0.25;
}

.abt-us .sec-divider {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 40px 40px;
  background: #fff;
}

.abt-us .divider-mono {
  font-size: 51px;
  line-height: 1.15;
  color: #EFEFEF;
  font-weight: 700;
  letter-spacing: -0.04em;
  position: relative;
  user-select: none;
}

.abt-us .divider-mono::before,
.abt-us .divider-mono::after {
  content: '';
  display: inline-block;
  width: 80px;
  height: 1px;
  background: #EFEFEF;
  vertical-align: middle;
  margin: 0 16px;
}

.abt-us .det-sec {
  background: #fff;
  padding: 80px 40px;
  position: relative;
}

.abt-us .det-sec::before {
  content: '';
  position: absolute;
  bottom: -40px;
  right: -40px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  border: 1px solid rgba(24, 112, 128, 0.06);
  box-shadow:
    0 0 0 30px rgba(24, 112, 128, 0.03),
    0 0 0 60px rgba(24, 112, 128, 0.015);
  pointer-events: none;
  z-index: 0;
}

.abt-us .det-inner {
  max-width: 1500px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.abt-us .det-top {
  display: flex;
  flex-direction: row;
  gap: 80px;
  margin-bottom: 80px;
  align-items: flex-start;
}

.abt-us .det-top-text {
  flex: 1 1 0;
  min-width: 0;
}

.abt-us .det-h2 {
  font-size: 51px;
  line-height: 1.15;
  color: #187080;
  margin-bottom: 16px;
}

.abt-us .det-h2 span {
  font-size: 21px;
  color: #333;
  display: block;
  font-weight: 400;
  line-height: 1.7;
}

.abt-us .det-accent {
  color: #187080;
  font-weight: 700;
}

.abt-us .det-bracket {
  color: #187080;
  font-weight: 700;
}

.abt-us .det-body {
  padding: 0 80px;
}

.abt-us .det-body p {
  font-size: 15px;
  line-height: 1.7;
  color: #2a2a2a;
  margin-bottom: 16px;
  max-width: 640px;
}

.abt-us .det-body p:last-child {
  margin-bottom: 0;
}

.abt-us .det-img-aside {
  flex: 0 0 360px;
}

.abt-us .det-img-aside img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.abt-us .det-img-aside img:hover {
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
}

.abt-us .three-cols {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  margin-bottom: 80px;
}

.abt-us .col-a {
  background: #187080;
  border-radius: 4px;
  padding: 40px;
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  position: relative;
  overflow: hidden;
}

.abt-us .col-a::after {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 0 24px rgba(255, 255, 255, 0.05);
  pointer-events: none;
}

.abt-us .col-b {
  background: #EFEFEF;
  border-radius: 4px;
  padding: 40px;
  box-shadow: 0 2px 3px 0 rgba(24, 112, 128, 0.07);
}

.abt-us .col-c {
  background: #5F98A6;
  border-radius: 4px;
  padding: 40px;
  box-shadow: 0 4px 22px 0 rgba(95, 152, 166, 0.10);
  position: relative;
  overflow: hidden;
}

.abt-us .col-c::after {
  content: '';
  position: absolute;
  bottom: -30px;
  left: -30px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 0 20px rgba(255, 255, 255, 0.05);
  pointer-events: none;
}

.abt-us .col-h {
  font-size: 21px;
  line-height: 1.15;
  font-weight: 700;
  margin-bottom: 16px;
}

.abt-us .col-a .col-h {
  color: #fff;
}

.abt-us .col-b .col-h {
  color: #187080;
}

.abt-us .col-c .col-h {
  color: #fff;
}

.abt-us .col-p {
  font-size: 15px;
  line-height: 1.7;
}

.abt-us .col-a .col-p {
  color: rgba(255, 255, 255, 0.88);
}

.abt-us .col-b .col-p {
  color: #2a2a2a;
}

.abt-us .col-c .col-p {
  color: rgba(255, 255, 255, 0.88);
}

.abt-us .metrics-row {
  display: flex;
  flex-direction: row;
  gap: 40px;
  margin-bottom: 80px;
  align-items: stretch;
}

.abt-us .metric-item {
  flex: 1 1 0;
  border-top: 2px solid #187080;
  padding: 16px 0 0 0;
  position: relative;
}

.abt-us .metric-num {
  font-size: 51px;
  line-height: 1.15;
  color: #187080;
  font-weight: 700;
  display: block;
  background: linear-gradient(135deg, #187080, #5F98A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.abt-us .metric-label {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  display: block;
  margin-top: 8px;
}

.abt-us .trail-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.abt-us .trail-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 0;
  position: relative;
}

.abt-us .trail-item:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 40px;
  bottom: -16px;
  width: 2px;
  background: linear-gradient(180deg, #187080 0%, #EFEFEF 100%);
}

.abt-us .trail-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #EFEFEF;
  border: 2px solid #5F98A6;
  flex-shrink: 0;
  margin-top: 4px;
  transition: background 0.22s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.abt-us .trail-item.active .trail-dot {
  background: #187080;
  border-color: #187080;
  box-shadow: 0 0 0 4px rgba(24, 112, 128, 0.15);
}

.abt-us .trail-item:hover .trail-dot {
  background: #187080;
  border-color: #187080;
}

.abt-us .trail-txt {
  flex: 1 1 0;
}

.abt-us .trail-txt strong {
  font-size: 15px;
  line-height: 1.7;
  color: #187080;
  font-weight: 700;
  display: block;
}

.abt-us .trail-txt span {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
}

.abt-us .det-bottom {
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-start;
}

.abt-us .det-bottom-left {
  flex: 1 1 0;
  min-width: 0;
}

.abt-us .det-h3 {
  font-size: 21px;
  line-height: 1.15;
  color: #187080;
  font-weight: 700;
  margin-bottom: 16px;
}

.abt-us .det-bottom-right {
  flex: 0 0 400px;
}

.abt-us .img-pair {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.abt-us .img-pair img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
  box-shadow: 0 2px 3px 0 rgba(24, 112, 128, 0.07);
  transition: box-shadow 0.26s cubic-bezier(0.0, 0, 0.2, 1);
}

.abt-us .img-pair img:hover {
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
}

.abt-us .grad-btn {
  display: inline-block;
  padding: 16px 40px;
  border-radius: 4px;
  background: linear-gradient(135deg, #187080, #5F98A6);
  color: #fff;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 700;
  text-decoration: none;
  margin-top: 16px;
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  transition: filter 0.22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}

.abt-us .grad-btn:hover {
  filter: brightness(1.1);
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
}

.abt-us .grad-btn:focus {
  outline: 3px solid #187080;
  outline-offset: 2px;
}

@media (max-width: 1024px) {
  .abt-us .intro-inner {
    flex-direction: column;
    gap: 40px;
  }

  .abt-us .intro-img-col {
    flex: none;
    width: 100%;
  }

  .abt-us .intro-h1 {
    font-size: 51px;
  }

  .abt-us .det-top {
    flex-direction: column;
    gap: 40px;
  }

  .abt-us .det-img-aside {
    flex: none;
    width: 100%;
  }

  .abt-us .det-img-aside img {
    height: 260px;
  }

  .abt-us .three-cols {
    grid-template-columns: 1fr 1fr;
  }

  .abt-us .det-bottom {
    flex-direction: column;
    gap: 40px;
  }

  .abt-us .det-bottom-right {
    flex: none;
    width: 100%;
  }

  .abt-us .det-body {
    padding: 0 40px;
  }
}

@media (max-width: 768px) {
  .abt-us .pg-intro {
    padding: 80px 16px;
  }

  .abt-us .intro-h1 {
    font-size: 51px;
  }

  .abt-us .intro-h1 span {
    font-size: 21px;
  }

  .abt-us .intro-manifesto {
    font-size: 15px;
  }

  .abt-us .det-sec {
    padding: 80px 16px;
  }

  .abt-us .three-cols {
    grid-template-columns: 1fr;
  }

  .abt-us .metrics-row {
    flex-direction: column;
    gap: 16px;
  }

  .abt-us .metric-num {
    font-size: 51px;
  }

  .abt-us .det-h2 {
    font-size: 51px;
  }

  .abt-us .det-body {
    padding: 0 16px;
  }
}

@media (max-width: 375px) {
  .abt-us .intro-h1 {
    font-size: 51px;
  }

  .abt-us .col-a,
  .abt-us .col-b,
  .abt-us .col-c {
    padding: 16px;
  }
}

.abt-us .grad-bg-anim {
  background: linear-gradient(135deg, #187080, #5F98A6, #EFEFEF, #187080);
  background-size: 300% 300%;
  animation: grad-cycle 8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes grad-cycle {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

.ctus {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.ctus ::selection {
  background: #187080;
  color: #fff;
}

.ctus .reach {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 520px;
  position: relative;
}

.ctus .reach-img {
  position: relative;
  overflow: hidden;
}

.ctus .reach-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.6) brightness(0.85);
  mix-blend-mode: normal;
}

.ctus .reach-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 0% 0%, rgba(24, 112, 128, 0.55), transparent 72%);
  pointer-events: none;
}

.ctus .reach-dots {
  position: absolute;
  bottom: 40px;
  left: 40px;
  display: grid;
  grid-template-columns: repeat(5, 8px);
  grid-template-rows: repeat(4, 8px);
  gap: 8px;
  z-index: 1;
  pointer-events: none;
}

.ctus .reach-dots span {
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.35);
  display: block;
}

.ctus .reach-dots span:nth-child(3n+1) {
  background: rgba(255, 255, 255, 0.6);
}

.ctus .reach-text {
  background: #fff;
  padding: 80px 80px 80px 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  position: relative;
}

.ctus .reach-text::before {
  content: '';
  display: block;
  width: 32px;
  height: 3px;
  background: #187080;
  margin-bottom: 8px;
}

.ctus .reach-eyebrow {
  font-size: 15px;
  color: #187080;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.15;
}

.ctus .reach-h1 {
  font-size: 68px;
  line-height: 1.15;
  color: #111;
  font-weight: 800;
  margin: 0;
}

.ctus .reach-h1 strong {
  color: #187080;
  font-weight: 800;
}

.ctus .reach-sub {
  font-size: 21px;
  line-height: 1.7;
  color: #333;
  max-width: 480px;
  margin: 0;
}

.ctus .reach-meta {
  display: flex;
  flex-direction: row;
  gap: 40px;
  margin-top: 8px;
}

.ctus .reach-meta-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ctus .reach-meta-label {
  font-size: 15px;
  color: #555;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.ctus .reach-meta-val {
  font-size: 15px;
  color: #111;
  font-weight: 700;
  line-height: 1.15;
}

.ctus .reach-meta-val a {
  color: #187080;
  text-decoration: none;
  transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.ctus .reach-meta-val a:hover {
  color: #5F98A6;
}

.ctus .channels {
  background: #EFEFEF;
  padding: 80px 0;
  position: relative;
}

.ctus .channels-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 80px;
  display: grid;
  grid-template-columns: 1fr 2fr 2fr 1fr;
  gap: 40px;
  align-items: start;
}

.ctus .channels-label {
  grid-column: 1 / 2;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 8px;
}

.ctus .channels-label h2 {
  font-size: 51px;
  line-height: 1.15;
  color: #111;
  font-weight: 800;
  margin: 0;
}

.ctus .channels-label h2 em {
  font-style: normal;
  color: #187080;
}

.ctus .channels-label p {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  margin: 0;
}

.ctus .ch-card {
  background: #fff;
  border-radius: 4px;
  padding: 40px;
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.ctus .ch-card:hover {
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
  transform: translateY(-2px);
}

.ctus .ch-card::before {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  background: radial-gradient(circle at 0% 0%, #187080, #5F98A6 80%);
  margin-bottom: 8px;
  flex-shrink: 0;
}

.ctus .ch-card.phone::before {
  background: radial-gradient(circle at 0% 0%, #187080, rgba(24, 112, 128, 0.4) 80%);
}

.ctus .ch-card.mail::before {
  background: radial-gradient(circle at 0% 0%, #5F98A6, rgba(24, 112, 128, 0.3) 80%);
}

.ctus .ch-card.addr::before {
  background: radial-gradient(circle at 0% 0%, #187080, #5F98A6 80%);
}

.ctus .ch-icon {
  position: absolute;
  top: 40px;
  left: 40px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ctus .ch-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ctus .ch-type {
  font-size: 15px;
  color: #187080;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  line-height: 1.15;
  margin-top: 40px;
}

.ctus .ch-val {
  font-size: 21px;
  font-weight: 700;
  color: #111;
  line-height: 1.15;
}

.ctus .ch-val a {
  color: #111;
  text-decoration: none;
  transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.ctus .ch-val a:hover {
  color: #187080;
}

.ctus .ch-desc {
  font-size: 15px;
  color: #555;
  line-height: 1.7;
  margin: 0;
}

.ctus .ch-spacer {
  grid-column: 4 / 5;
}

.ctus .schedule-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 8px;
}

.ctus .sched-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #EFEFEF;
  font-size: 15px;
  color: #444;
  line-height: 1.15;
}

.ctus .sched-row:last-child {
  border-bottom: none;
}

.ctus .sched-day {
  font-weight: 600;
  color: #111;
}

.ctus .sched-time {
  color: #187080;
  font-weight: 700;
}

.ctus .form-wrap {
  background: #fff;
  padding: 80px 0;
}

.ctus .form-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 80px;
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 80px;
  align-items: start;
}

.ctus .form-aside {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding-top: 8px;
  border: 2px dashed rgba(24, 112, 128, 0.22);
  border-radius: 4px;
  padding: 40px;
}

.ctus .form-aside h2 {
  font-size: 51px;
  line-height: 1.15;
  color: #111;
  font-weight: 800;
  margin: 0;
}

.ctus .form-aside h2 span {
  color: #187080;
}

.ctus .form-aside-body {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  margin: 0;
}

.ctus .steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 8px;
}

.ctus .step {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  position: relative;
}

.ctus .step-dot {
  width: 12px;
  height: 12px;
  border-radius: 4px;
  background: #187080;
  flex-shrink: 0;
  margin-top: 4px;
  position: relative;
  z-index: 1;
}

.ctus .step:not(:last-child) .step-dot::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 12px;
  width: 2px;
  height: 32px;
  background: rgba(24, 112, 128, 0.25);
}

.ctus .step-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 16px;
}

.ctus .step-title {
  font-size: 15px;
  font-weight: 700;
  color: #111;
  line-height: 1.15;
}

.ctus .step-desc {
  font-size: 15px;
  color: #555;
  line-height: 1.7;
  margin: 0;
}

.ctus .frm {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ctus .frm-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.ctus .fld {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ctus .fld label {
  font-size: 15px;
  font-weight: 700;
  color: #111;
  line-height: 1.15;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ctus .fld input,
.ctus .fld select,
.ctus .fld textarea {
  border: 1.5px solid #ccc;
  border-radius: 4px;
  padding: 16px;
  font-size: 15px;
  color: #111;
  background: #fff;
  line-height: 1.7;
  outline: none;
  box-shadow: inset 0 2px 3px 0 rgba(24, 112, 128, 0.07);
  transition: border-color 0.22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
}

.ctus .fld input::placeholder,
.ctus .fld textarea::placeholder {
  color: #999;
  text-transform: uppercase;
  font-size: 15px;
  letter-spacing: 0.05em;
}

.ctus .fld input:focus,
.ctus .fld select:focus,
.ctus .fld textarea:focus {
  border-color: #187080;
  box-shadow: inset 0 2px 3px 0 rgba(24, 112, 128, 0.07), 0 0 0 3px rgba(24, 112, 128, 0.12);
}

.ctus .fld select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23187080' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
}

.ctus .fld textarea {
  resize: vertical;
  min-height: 120px;
}

.ctus .fld-full {
  grid-column: 1 / -1;
}

.ctus .privacy-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: #EFEFEF;
  border-radius: 4px;
}

.ctus .privacy-row input[type="checkbox"] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  accent-color: #187080;
  cursor: pointer;
  margin-top: 2px;
}

.ctus .privacy-row label {
  font-size: 15px;
  color: #444;
  line-height: 1.7;
  cursor: pointer;
}

.ctus .privacy-row label a {
  color: #187080;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.ctus .privacy-row label a:hover {
  color: #5F98A6;
}

.ctus .submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #187080;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: none;
  border-radius: 4px;
  padding: 16px 40px;
  cursor: pointer;
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  transition: background 0.25s cubic-bezier(0.4, 0, 0.2, 1), filter 0.22s cubic-bezier(0.0, 0, 0.2, 1), box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  align-self: flex-start;
}

.ctus .submit-btn:hover {
  filter: brightness(1.12);
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
}

.ctus .submit-btn:focus {
  outline: 3px solid rgba(24, 112, 128, 0.4);
  outline-offset: 3px;
}

.ctus .submit-btn:active {
  filter: brightness(0.96);
}

@keyframes rowwave {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

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

.ctus .reach-text {
  animation: rowwave 0.26s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.ctus .reach-img {
  animation: rowwave 0.28s cubic-bezier(0.4, 0, 0.2, 1) 0.06s both;
}

.ctus .ch-card.phone {
  animation: rowwave 0.24s cubic-bezier(0.4, 0, 0.2, 1) 0.08s both;
}

.ctus .ch-card.mail {
  animation: rowwave 0.24s cubic-bezier(0.4, 0, 0.2, 1) 0.14s both;
}

.ctus .ch-card.addr {
  animation: rowwave 0.24s cubic-bezier(0.4, 0, 0.2, 1) 0.20s both;
}

.ctus .form-aside {
  animation: rowwave 0.26s cubic-bezier(0.4, 0, 0.2, 1) 0.10s both;
}

.ctus .frm {
  animation: rowwave 0.26s cubic-bezier(0.4, 0, 0.2, 1) 0.18s both;
}

@media (max-width: 1280px) {
  .ctus .reach-text {
    padding: 80px 40px;
  }

  .ctus .reach-h1 {
    font-size: 51px;
  }

  .ctus .channels-inner {
    padding: 0 40px;
    grid-template-columns: 1fr 1fr 1fr;
  }

  .ctus .channels-label {
    grid-column: 1 / -1;
  }

  .ctus .ch-spacer {
    display: none;
  }

  .ctus .form-inner {
    padding: 0 40px;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}

@media (max-width: 1024px) {
  .ctus .reach {
    grid-template-columns: 1fr;
  }

  .ctus .reach-img {
    height: 320px;
  }

  .ctus .reach-text {
    padding: 40px 40px;
  }

  .ctus .reach-h1 {
    font-size: 51px;
  }

  .ctus .reach-meta {
    flex-direction: column;
    gap: 16px;
  }

  .ctus .channels-inner {
    padding: 0 40px;
    grid-template-columns: 1fr 1fr;
  }

  .ctus .channels-label {
    grid-column: 1 / -1;
  }

  .ctus .ch-spacer {
    display: none;
  }

  .ctus .form-inner {
    padding: 0 40px;
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ctus .form-aside h2 {
    font-size: 51px;
  }
}

@media (max-width: 768px) {
  .ctus .reach-text {
    padding: 40px 16px;
  }

  .ctus .reach-h1 {
    font-size: 51px;
  }

  .ctus .channels {
    padding: 40px 0;
  }

  .ctus .channels-inner {
    padding: 0 16px;
    grid-template-columns: 1fr;
  }

  .ctus .channels-label {
    grid-column: 1 / -1;
  }

  .ctus .channels-label h2 {
    font-size: 51px;
  }

  .ctus .form-wrap {
    padding: 40px 0;
  }

  .ctus .form-inner {
    padding: 0 16px;
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ctus .frm-row {
    grid-template-columns: 1fr;
  }

  .ctus .form-aside h2 {
    font-size: 51px;
  }
}

@media (max-width: 375px) {
  .ctus .reach-h1 {
    font-size: 51px;
  }

  .ctus .reach-text {
    padding: 40px 16px;
  }

  .ctus .channels-inner {
    padding: 0 16px;
  }

  .ctus .form-inner {
    padding: 0 16px;
  }

  .ctus .form-aside {
    padding: 16px;
  }

  .ctus .submit-btn {
    width: 100%;
    justify-content: center;
  }
}

.innov {
  display: block;
  width: 100%;
  overflow-x: hidden;
}

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

.innov ::selection {
  background: #187080;
  color: #fff;
}

.innov .pg-band {
  width: 60px;
  height: 4px;
  background: #187080;
  border-radius: 42px;
  margin: 0 auto 40px;
}

.innov .tb {
  position: relative;
  background: linear-gradient(135deg, #187080 0%, #5F98A6 55%, #EFEFEF 100%);
  padding: 80px 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  max-width: 100%;
}

.innov .tb::before {
  content: '';
  position: absolute;
  top: -60px;
  left: -60px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  pointer-events: none;
}

.innov .tb::after {
  content: '';
  position: absolute;
  bottom: -80px;
  right: 80px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  pointer-events: none;
}

.innov .tb-geo {
  position: absolute;
  top: 40px;
  right: 200px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  pointer-events: none;
}

.innov .tb-geo2 {
  position: absolute;
  bottom: 40px;
  left: 180px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.10);
  pointer-events: none;
}

.innov .tb-left {
  position: relative;
  z-index: 1;
}

.innov .tb-eyebrow {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.75);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 16px;
}

.innov .tb-h1 {
  font-size: 68px;
  line-height: 1.15;
  color: #fff;
  margin: 0 0 16px;
  font-weight: 800;
}

.innov .tb-h1 span {
  color: #EFEFEF;
  opacity: 0.55;
}

.innov .tb-sub {
  font-size: 21px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.88);
  margin: 0 0 40px;
  max-width: 480px;
}

.innov .tb-tags {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap;
}

.innov .tb-tag {
  font-size: 15px;
  line-height: 1.15;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 4px;
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0.08);
}

.innov .tb-right {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.innov .tb-stat {
  background: rgba(255, 255, 255, 0.10);
  border-radius: 4px;
  padding: 16px 40px 16px 16px;
  border-left: none;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: background 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.innov .tb-stat:hover {
  background: rgba(255, 255, 255, 0.18);
}

.innov .tb-stat-n {
  font-size: 51px;
  line-height: 1.15;
  color: #fff;
  font-weight: 700;
}

.innov .tb-stat-l {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.78);
}

.innov .appr {
  background: #fff;
  padding: 80px 40px;
  max-width: 100%;
}

.innov .appr-inner {
  max-width: 1500px;
  margin: 0 auto;
}

.innov .appr-top {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start;
  margin-bottom: 80px;
}

.innov .appr-label {
  font-size: 15px;
  line-height: 1.7;
  color: #5F98A6;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin: 0 0 16px;
}

.innov .appr-h2 {
  font-size: 51px;
  line-height: 1.15;
  color: #111;
  margin: 0;
  font-weight: 700;
}

.innov .appr-h2 strong {
  color: #187080;
  font-weight: 800;
}

.innov .appr-body {
  padding-top: 8px;
}

.innov .appr-lead {
  font-size: 21px;
  line-height: 1.7;
  color: #222;
  margin: 0 0 16px;
}

.innov .appr-p {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  margin: 0 0 16px;
  padding: 0 80px;
}

.innov .appr-p:last-child {
  margin: 0;
}

.innov .appr-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.innov .appr-card {
  border-radius: 4px;
  padding: 40px 16px 16px;
  background: #EFEFEF;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1), background 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.innov .appr-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(24, 112, 128, 0.08) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

.innov .appr-card:hover {
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  background: #fff;
}

.innov .appr-card:hover::before {
  opacity: 1;
}

.innov .appr-card-num {
  font-size: 51px;
  line-height: 1.15;
  color: rgba(24, 112, 128, 0.12);
  font-weight: 800;
  position: absolute;
  top: 8px;
  right: 16px;
}

.innov .appr-card-h {
  font-size: 21px;
  line-height: 1.15;
  color: #187080;
  margin: 0 0 8px;
  font-weight: 700;
  position: relative;
  z-index: 1;
}

.innov .appr-card-p {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  margin: 0;
  position: relative;
  z-index: 1;
}

.innov .mtr {
  background: #EFEFEF;
  padding: 80px 40px;
}

.innov .mtr-inner {
  max-width: 1500px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

.innov .mtr-left {
  position: relative;
}

.innov .mtr-img-wrap {
  border-radius: 4px;
  overflow: hidden;
  position: relative;
  aspect-ratio: 4/3;
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
}

.innov .mtr-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0.22;
  filter: saturate(0.3) brightness(0.85);
  transition: opacity 0.28s cubic-bezier(0.0, 0, 0.2, 1);
}

.innov .mtr-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(24, 112, 128, 0.82) 0%, rgba(95, 152, 166, 0.60) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 40px;
  border-radius: 4px;
}

.innov .mtr-img-quote {
  font-size: 21px;
  line-height: 1.7;
  color: #fff;
  margin: 0 0 8px;
  font-weight: 600;
}

.innov .mtr-img-attr {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
}

.innov .mtr-circles {
  position: absolute;
  top: -16px;
  right: -16px;
  pointer-events: none;
}

.innov .mtr-c1 {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(24, 112, 128, 0.10);
  position: absolute;
  top: 0;
  right: 0;
}

.innov .mtr-c2 {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(95, 152, 166, 0.12);
  position: absolute;
  top: 40px;
  right: 40px;
}

.innov .mtr-c3 {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(24, 112, 128, 0.08);
  position: absolute;
  top: 80px;
  right: 0;
}

.innov .mtr-right {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.innov .mtr-h2 {
  font-size: 51px;
  line-height: 1.15;
  color: #111;
  margin: 0 0 8px;
  font-weight: 700;
}

.innov .mtr-h2 em {
  font-style: normal;
  color: #187080;
}

.innov .mtr-desc {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  margin: 0 0 16px;
  padding: 0 80px 0 0;
}

.innov .mtr-list {
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.innov .mtr-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  position: relative;
}

.innov .mtr-item::before {
  content: '';
  position: absolute;
  left: 11px;
  top: 24px;
  width: 2px;
  height: calc(100% + 16px);
  background: rgba(24, 112, 128, 0.15);
}

.innov .mtr-item:last-child::before {
  display: none;
}

.innov .mtr-dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #EFEFEF;
  border: 2px solid #5F98A6;
  flex-shrink: 0;
  margin-top: 8px;
  transition: background 0.22s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.innov .mtr-item.active .mtr-dot {
  background: #187080;
  border-color: #187080;
}

.innov .mtr-item-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.innov .mtr-item-h {
  font-size: 15px;
  line-height: 1.15;
  color: #187080;
  font-weight: 700;
  margin: 0;
}

.innov .mtr-item-p {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  margin: 0;
}

.innov .mtr-metrics {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.innov .mtr-met {
  background: #fff;
  border-radius: 4px;
  padding: 16px;
  box-shadow: 0 2px 3px 0 rgba(24, 112, 128, 0.07);
  transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.innov .mtr-met:hover {
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  transform: translateY(-2px);
}

.innov .mtr-met-n {
  font-size: 51px;
  line-height: 1.15;
  color: #187080;
  font-weight: 800;
  display: block;
  margin-bottom: 8px;
}

.innov .mtr-met-l {
  font-size: 15px;
  line-height: 1.7;
  color: #555;
}

.innov .div-band {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 16px 40px;
  background: #fff;
}

.innov .div-band-inner {
  width: 120px;
  height: 3px;
  background: linear-gradient(90deg, transparent, #5F98A6, transparent);
  border-radius: 42px;
}

.innov .div-band2 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 16px 40px;
  background: #EFEFEF;
}

.innov .div-band2-inner {
  width: 80px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #187080, transparent);
  border-radius: 42px;
}

@keyframes innov-fadein {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

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

.innov .tb-eyebrow {
  animation: innov-fadein 0.22s cubic-bezier(0.4, 0, 0.2, 1) 0.05s both;
}

.innov .tb-h1 {
  animation: innov-fadein 0.24s cubic-bezier(0.4, 0, 0.2, 1) 0.12s both;
}

.innov .tb-sub {
  animation: innov-fadein 0.25s cubic-bezier(0.4, 0, 0.2, 1) 0.19s both;
}

.innov .tb-tags {
  animation: innov-fadein 0.26s cubic-bezier(0.4, 0, 0.2, 1) 0.26s both;
}

.innov .tb-stat:nth-child(1) {
  animation: innov-fadein 0.22s cubic-bezier(0.4, 0, 0.2, 1) 0.14s both;
}

.innov .tb-stat:nth-child(2) {
  animation: innov-fadein 0.23s cubic-bezier(0.4, 0, 0.2, 1) 0.21s both;
}

.innov .tb-stat:nth-child(3) {
  animation: innov-fadein 0.24s cubic-bezier(0.4, 0, 0.2, 1) 0.28s both;
}

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

  .innov .tb-h1 {
    font-size: 51px;
  }

  .innov .appr-top {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .innov .appr-grid {
    grid-template-columns: 1fr 1fr;
  }

  .innov .mtr-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media (max-width: 768px) {
  .innov .tb {
    padding: 80px 16px;
    gap: 40px;
  }

  .innov .tb-h1 {
    font-size: 51px;
  }

  .innov .appr {
    padding: 80px 16px;
  }

  .innov .appr-p {
    padding: 0;
  }

  .innov .appr-grid {
    grid-template-columns: 1fr;
  }

  .innov .mtr {
    padding: 80px 16px;
  }

  .innov .mtr-desc {
    padding: 0;
  }

  .innov .mtr-metrics {
    grid-template-columns: 1fr;
  }

  .innov .appr-h2 {
    font-size: 51px;
  }

  .innov .mtr-h2 {
    font-size: 51px;
  }
}

@media (max-width: 375px) {
  .innov .tb-h1 {
    font-size: 51px;
  }

  .innov .tb {
    padding: 80px 16px;
  }

  .innov .appr-h2,
  .innov .mtr-h2 {
    font-size: 51px;
  }

  .innov .tb-tags {
    gap: 8px;
  }
}

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

.srvs .pg-wrap {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 40px;
}

.srvs .reveal-clip {
  animation: clipReveal 0.8s cubic-bezier(0.0, 0, 0.2, 1) both;
}

@keyframes clipReveal {
  from {
    clip-path: inset(0 0 100% 0);
    opacity: 0;
  }

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

.srvs .reveal-up {
  animation: revealUp 0.72s cubic-bezier(0.4, 0, 0.2, 1) both;
}

@keyframes revealUp {
  from {
    transform: translateY(32px);
    opacity: 0;
  }

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

.srvs ::selection {
  background: #187080;
  color: #fff;
}

.srvs .title-blk {
  position: relative;
  background: #fff;
  padding: 80px 0 80px;
}

.srvs .title-blk .pg-wrap {
  display: grid;
  grid-template-columns: 5fr 3fr;
  gap: 80px;
  align-items: center;
}

.srvs .title-blk .txt-zone {
  padding: 40px 0 40px 0;
}

.srvs .title-blk .deco-stripe {
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #187080, #5F98A6, transparent);
}

.srvs .title-blk .deco-rects {
  position: absolute;
  bottom: 40px;
  right: 40px;
  pointer-events: none;
}

.srvs .title-blk .deco-rects span {
  display: block;
  border: 1.5px solid rgba(24, 112, 128, 0.15);
  border-radius: 4px;
  position: absolute;
}

.srvs .title-blk .deco-rects span:nth-child(1) {
  width: 60px;
  height: 60px;
  top: 0;
  right: 0;
}

.srvs .title-blk .deco-rects span:nth-child(2) {
  width: 44px;
  height: 44px;
  top: 8px;
  right: 8px;
}

.srvs .title-blk .deco-rects span:nth-child(3) {
  width: 28px;
  height: 28px;
  top: 16px;
  right: 16px;
}

.srvs .title-blk .eyebrow {
  font-size: 15px;
  color: #187080;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}

.srvs .title-blk .h-main {
  font-size: 68px;
  line-height: 1.15;
  color: #111;
  font-weight: 800;
  margin-bottom: 16px;
}

.srvs .title-blk .h-main em {
  font-style: normal;
  font-size: 51px;
  color: #5F98A6;
  display: block;
  font-weight: 400;
}

.srvs .title-blk .sub-p {
  font-size: 21px;
  line-height: 1.7;
  color: #333;
  margin-bottom: 40px;
  max-width: 560px;
}

.srvs .title-blk .divider-line {
  width: 80px;
  height: 2px;
  background: #187080;
  margin-bottom: 40px;
}

.srvs .title-blk .img-zone {
  position: relative;
}

.srvs .title-blk .img-frame {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
  aspect-ratio: 3/4;
}

.srvs .title-blk .img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: contrast(1.04) saturate(1.08);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.srvs .title-blk .img-frame:hover img {
  transform: scale(1.03);
}

.srvs .title-blk .img-badge {
  position: absolute;
  bottom: -16px;
  left: -16px;
  background: #187080;
  color: #fff;
  border-radius: 4px;
  padding: 16px;
  font-size: 15px;
  line-height: 1.15;
  font-weight: 700;
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  max-width: 180px;
}

.srvs .title-blk .img-badge strong {
  font-size: 21px;
  display: block;
  margin-bottom: 8px;
}

@media (max-width: 1024px) {
  .srvs .title-blk .pg-wrap {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .srvs .title-blk .h-main {
    font-size: 51px;
  }

  .srvs .title-blk .h-main em {
    font-size: 21px;
  }

  .srvs .title-blk .img-zone {
    display: none;
  }
}

@media (max-width: 768px) {
  .srvs .title-blk {
    padding: 40px 0;
  }

  .srvs .title-blk .pg-wrap {
    padding: 0 16px;
  }

  .srvs .title-blk .h-main {
    font-size: 51px;
  }
}

@media (max-width: 375px) {
  .srvs .title-blk .h-main {
    font-size: 51px;
  }

  .srvs .title-blk .sub-p {
    font-size: 15px;
  }
}

.srvs .svc-grid-blk {
  background: #EFEFEF;
  padding: 80px 0;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 0 100%);
  padding-bottom: 120px;
}

.srvs .svc-grid-blk .blk-head {
  margin-bottom: 40px;
  display: grid;
  grid-template-columns: 3fr 5fr;
  gap: 80px;
  align-items: end;
}

.srvs .svc-grid-blk .blk-head-h {
  font-size: 51px;
  line-height: 1.15;
  color: #111;
  font-weight: 800;
}

.srvs .svc-grid-blk .blk-head-h span {
  color: #187080;
}

.srvs .svc-grid-blk .blk-head-p {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  max-width: 600px;
  margin-left: auto;
}

.srvs .svc-grid-blk .svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  position: relative;
}

.srvs .svc-card {
  background: #fff;
  border-radius: 4px;
  padding: 40px;
  box-shadow: 0 2px 3px 0 rgba(24, 112, 128, 0.07);
  transition: box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1), transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.srvs .svc-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #187080, #5F98A6);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.srvs .svc-card:hover::before {
  transform: scaleX(1);
}

.srvs .svc-card:hover {
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
  transform: translateY(-4px);
}

.srvs .svc-card .card-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
}

.srvs .svc-card .card-h {
  font-size: 21px;
  line-height: 1.15;
  color: #111;
  font-weight: 700;
  margin-bottom: 16px;
}

.srvs .svc-card .card-p {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  margin-bottom: 16px;
}

.srvs .svc-card .feat-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.srvs .svc-card .feat-list li {
  font-size: 15px;
  line-height: 1.7;
  color: #333;
  padding-left: 24px;
  position: relative;
  margin-bottom: 8px;
}

.srvs .svc-card .feat-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #EFEFEF;
  border: 2px solid #5F98A6;
  transition: background 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.srvs .svc-card:hover .feat-list li::before {
  background: #187080;
  border-color: #187080;
}

.srvs .svc-card.featured {
  background: #187080;
  grid-row: span 1;
  position: relative;
}

.srvs .svc-card.featured .card-h,
.srvs .svc-card.featured .card-p,
.srvs .svc-card.featured .feat-list li {
  color: #fff;
}

.srvs .svc-card.featured .feat-list li::before {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.6);
}

.srvs .svc-card.featured:hover .feat-list li::before {
  background: #fff;
  border-color: #fff;
}

.srvs .svc-card.featured::before {
  background: rgba(255, 255, 255, 0.3);
}

.srvs .svc-card.breakout {
  grid-column: 1 / 3;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}

.srvs .svc-card.breakout .card-img {
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 4/3;
}

.srvs .svc-card.breakout .card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: blur(0px);
  transition: filter 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.srvs .svc-card.breakout:hover .card-img img {
  filter: blur(1px) brightness(0.95);
}

@media (max-width: 1024px) {
  .srvs .svc-grid-blk .svc-grid {
    grid-template-columns: 1fr 1fr;
  }

  .srvs .svc-card.breakout {
    grid-column: 1 / 3;
    grid-template-columns: 1fr;
  }

  .srvs .svc-card.breakout .card-img {
    display: none;
  }

  .srvs .svc-grid-blk .blk-head {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .srvs .svc-grid-blk .blk-head-p {
    margin-left: 0;
  }
}

@media (max-width: 768px) {
  .srvs .svc-grid-blk .svc-grid {
    grid-template-columns: 1fr;
  }

  .srvs .svc-card.breakout {
    grid-column: 1;
  }

  .srvs .svc-grid-blk {
    padding: 40px 0 80px;
  }

  .srvs .svc-grid-blk .pg-wrap {
    padding: 0 16px;
  }

  .srvs .svc-grid-blk .blk-head-h {
    font-size: 51px;
  }
}

.srvs .metrics-blk {
  background: #fff;
  padding: 80px 0;
  margin-top: -40px;
}

.srvs .metrics-blk .pg-wrap {
  display: grid;
  grid-template-columns: 5fr 3fr;
  gap: 80px;
  align-items: start;
}

.srvs .metrics-blk .left-col {}

.srvs .metrics-blk .sec-label {
  font-size: 15px;
  color: #187080;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
  display: block;
}

.srvs .metrics-blk .sec-h {
  font-size: 51px;
  line-height: 1.15;
  color: #111;
  font-weight: 800;
  margin-bottom: 16px;
}

.srvs .metrics-blk .sec-p {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  margin: 0 80px 40px;
}

.srvs .metrics-blk .rings-row {
  display: flex;
  flex-direction: row;
  gap: 40px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.srvs .ring-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.srvs .ring-item svg {
  width: 96px;
  height: 96px;
  transform: rotate(-90deg);
}

.srvs .ring-item .ring-bg {
  fill: none;
  stroke: #EFEFEF;
  stroke-width: 8;
}

.srvs .ring-item .ring-fg {
  fill: none;
  stroke: #187080;
  stroke-width: 8;
  stroke-linecap: round;
  stroke-dasharray: 251.2;
  stroke-dashoffset: 251.2;
  animation: ringFill 1.2s cubic-bezier(0.4, 0, 0.2, 1) 0.3s forwards;
}

.srvs .ring-item.r2 .ring-fg {
  stroke: #5F98A6;
  animation-delay: 0.5s;
}

.srvs .ring-item.r3 .ring-fg {
  stroke: #187080;
  animation-delay: 0.7s;
}

.srvs .ring-item .ring-pct {
  position: absolute;
  font-size: 15px;
  font-weight: 700;
  color: #111;
}

.srvs .ring-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.srvs .ring-wrap .ring-pct {
  position: absolute;
  font-size: 15px;
  font-weight: 700;
  color: #111;
}

@keyframes ringFill {
  to {
    stroke-dashoffset: var(--offset);
  }
}

.srvs .ring-item .ring-lbl {
  font-size: 15px;
  color: #444;
  text-align: center;
  line-height: 1.15;
  max-width: 100px;
}

.srvs .metrics-blk .step-trail {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 40px;
}

.srvs .step-item {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
}

.srvs .step-dot-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}

.srvs .step-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #EFEFEF;
  border: 2px solid #5F98A6;
  flex-shrink: 0;
  transition: background 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.srvs .step-item.active .step-dot {
  background: #187080;
  border-color: #187080;
}

.srvs .step-line {
  width: 2px;
  height: 40px;
  background: #EFEFEF;
  margin: 0 auto;
}

.srvs .step-item:last-child .step-line {
  display: none;
}

.srvs .step-txt {
  padding-bottom: 40px;
}

.srvs .step-item:last-child .step-txt {
  padding-bottom: 0;
}

.srvs .step-h {
  font-size: 15px;
  font-weight: 700;
  color: #111;
  margin-bottom: 8px;
  line-height: 1.15;
}

.srvs .step-p {
  font-size: 15px;
  color: #555;
  line-height: 1.7;
}

.srvs .metrics-blk .right-col {
  position: sticky;
  top: 40px;
}

.srvs .cta-panel {
  background: radial-gradient(circle at top left, #187080, #5F98A6);
  border-radius: 4px;
  padding: 40px;
  color: #fff;
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
  position: relative;
  overflow: hidden;
}

.srvs .cta-panel::after {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  pointer-events: none;
}

.srvs .cta-panel .cp-tag {
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.8;
  margin-bottom: 16px;
  display: block;
}

.srvs .cta-panel .cp-h {
  font-size: 21px;
  line-height: 1.15;
  font-weight: 800;
  margin-bottom: 16px;
}

.srvs .cta-panel .cp-p {
  font-size: 15px;
  line-height: 1.7;
  opacity: 0.9;
  margin-bottom: 40px;
}

.srvs .cta-panel .cp-check-list {
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
}

.srvs .cta-panel .cp-check-list li {
  font-size: 15px;
  line-height: 1.7;
  padding-left: 24px;
  position: relative;
  margin-bottom: 8px;
  opacity: 0.92;
}

.srvs .cta-panel .cp-check-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  width: 14px;
  height: 8px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

.srvs .cta-panel .cp-btn {
  display: inline-block;
  background: #fff;
  color: #187080;
  font-size: 15px;
  font-weight: 700;
  padding: 16px 40px;
  border-radius: 4px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: brightness 0.22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
}

.srvs .cta-panel .cp-btn:hover {
  filter: brightness(0.96);
  box-shadow: 0 10px 44px 0 rgba(24, 112, 128, 0.12);
}

.srvs .cta-panel .cp-btn:focus {
  outline: 3px solid rgba(255, 255, 255, 0.6);
  outline-offset: 2px;
}

.srvs .metrics-blk .divider-2 {
  width: 100%;
  height: 2px;
  background: #187080;
  margin: 40px 0;
  opacity: 0.15;
}

@media (max-width: 1024px) {
  .srvs .metrics-blk .pg-wrap {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .srvs .metrics-blk .right-col {
    position: static;
  }

  .srvs .metrics-blk .sec-p {
    margin: 0 0 40px;
  }
}

@media (max-width: 768px) {
  .srvs .metrics-blk {
    padding: 40px 0;
  }

  .srvs .metrics-blk .pg-wrap {
    padding: 0 16px;
  }

  .srvs .metrics-blk .sec-h {
    font-size: 51px;
  }

  .srvs .metrics-blk .rings-row {
    gap: 16px;
  }
}

@media (max-width: 375px) {
  .srvs .metrics-blk .rings-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

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

.suc-pg .suc-wrap {
  max-width: 640px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.suc-pg .suc-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 40px;
  display: block;
}

.suc-pg .suc-icon circle {
  fill: none;
  stroke: #187080;
  stroke-width: 2.5;
}

.suc-pg .suc-icon polyline {
  fill: none;
  stroke: #187080;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.suc-pg .suc-tag {
  display: inline-block;
  font-size: 15px;
  line-height: 1.15;
  color: #187080;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: #EFEFEF;
  padding: 8px 16px;
  border-radius: 4px;
  margin-bottom: 40px;
}

.suc-pg .suc-head {
  font-size: 51px;
  line-height: 1.15;
  color: #111;
  font-weight: 700;
  margin: 0 0 16px;
}

.suc-pg .suc-head span {
  color: #187080;
}

.suc-pg .suc-sub {
  font-size: 21px;
  line-height: 1.7;
  color: #3a3a3a;
  margin: 0 0 40px;
  padding: 0 16px;
}

.suc-pg .suc-divider {
  width: 48px;
  height: 2px;
  background: #5F98A6;
  margin: 0 auto 40px;
  border-radius: 4px;
}

.suc-pg .suc-info {
  font-size: 15px;
  line-height: 1.7;
  color: #555;
  margin: 0 0 40px;
  padding: 0 40px;
}

.suc-pg .suc-info strong {
  color: #187080;
  font-weight: 600;
}

.suc-pg .suc-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.suc-pg .btn-main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  line-height: 1.15;
  font-weight: 600;
  color: #fff;
  background: #187080;
  padding: 16px 40px;
  border-radius: 4px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 22px 0 rgba(24, 112, 128, 0.10);
  transition: brightness 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.suc-pg .btn-main:hover {
  filter: brightness(1.12);
}

.suc-pg .btn-main:focus-visible {
  outline: 2px solid #187080;
  outline-offset: 3px;
}

.suc-pg .btn-sec {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  line-height: 1.15;
  font-weight: 600;
  color: #187080;
  background: #EFEFEF;
  padding: 16px 40px;
  border-radius: 4px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: brightness 0.25s cubic-bezier(0.0, 0, 0.2, 1);
}

.suc-pg .btn-sec:hover {
  filter: brightness(0.95);
}

.suc-pg .btn-sec:focus-visible {
  outline: 2px solid #187080;
  outline-offset: 3px;
}

.suc-pg .suc-note {
  margin-top: 40px;
  font-size: 15px;
  line-height: 1.7;
  color: #777;
}

.suc-pg .suc-note a {
  color: #187080;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.suc-pg .suc-note a:hover {
  color: #5F98A6;
}

@media (max-width: 768px) {
  .suc-pg {
    padding: 80px 16px;
  }

  .suc-pg .suc-head {
    font-size: 51px;
  }

  .suc-pg .suc-info {
    padding: 0 8px;
  }

  .suc-pg .suc-actions {
    flex-direction: column;
    gap: 16px;
  }

  .suc-pg .btn-main,
  .suc-pg .btn-sec {
    width: 100%;
  }
}

@media (max-width: 375px) {
  .suc-pg .suc-head {
    font-size: 51px;
  }

  .suc-pg .suc-sub {
    font-size: 21px;
    padding: 0;
  }
}