html {
  box-sizing: border-box
}

* {
  box-sizing: inherit
}

body {
  margin: 0;
  padding: 0;
  min-height: 100svh;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Serif', serif;
  font-size: 17px;
  line-height: 1.5;
  color: #1b1b1b;
  background: #fff
}

.tophd {
  position: relative;
  background: linear-gradient(135deg, #EDFDFE 0%, #fff 100%);
  border-bottom: 2px solid #294ca326;
  box-shadow: 2px 3px 3px 0 #294ca314 2px 7px 18px 0 #294ca31c;
  padding: 24px 40px;
  z-index: 100
}

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

.lg__box {
  display: inline-flex;
  align-items: center;
  background: #fff;
  padding: 16px 24px;
  border-radius: 10px;
  box-shadow: 2px 3px 3px 0 #294ca314 2px 7px 18px 0 #294ca31c;
  border: 1px solid #294ca31a;
  transition: box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1), transform .42s cubic-bezier(0.16, 1, 0.3, 1)
}

.lg__box:hover {
  box-shadow: 2px 7px 18px 0 #294ca31c 2px 12px 48px 0 #294ca321;
  transform: translateY(-2px)
}

.lg__img {
  width: 68px;
  height: 68px;
  object-fit: contain
}

.lg__txt {
  margin-left: 16px;
  display: flex;
  flex-direction: column
}

.lg__nm {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.1;
  color: #294CA3;
  letter-spacing: -.02em
}

.lg__tag {
  font-size: 14px;
  line-height: 1.1;
  color: #555;
  margin-top: 8px;
  letter-spacing: .01em
}

.tophd__reach {
  display: flex;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap
}

.rch__itm {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #2a2a2a;
  text-decoration: none;
  padding: 8px 16px;
  background: #fff;
  border-radius: 5px;
  border: 1px solid #294ca333;
  transition: background .38s ease-in-out, border-color .38s ease-in-out
}

.rch__itm:hover {
  background: #ffff4026;
  border-color: #294ca366
}

.rch__itm:focus {
  background: #ffff4033;
  border-color: #294CA3;
  outline: none
}

.rch__ic {
  width: 18px;
  height: 18px;
  fill: #294CA3
}

.tophd__nv {
  max-width: 1140px;
  margin: 0 auto
}

.mn {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0
}

.mn__itm {
  position: relative
}

.mn__lnk {
  display: block;
  padding: 16px 24px;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: #2a2a2a;
  text-decoration: none;
  background: #fff;
  border-radius: 5px;
  border: 2px solid transparent;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), border-color .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden
}

.mn__lnk::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #ffff404d 0%, #294ca31a 100%);
  opacity: 0;
  transition: opacity .5s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: -1
}

.mn__lnk:hover::before {
  opacity: 1
}

.mn__lnk:hover {
  border-color: #FFFF40;
  color: #294CA3
}

.mn__lnk:focus {
  border-color: #294CA3;
  background: #edfdfe99;
  outline: none
}

.mn__itm--sub {
  position: relative
}

.mn__itm--sub:hover .sbmn,
.mn__itm--sub:focus-within .sbmn {
  opacity: 1;
  visibility: visible;
  transform: translateY(0)
}

.sbmn {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 240px;
  background: #fff;
  border: 2px solid #294CA3;
  border-radius: 10px;
  box-shadow: 2px 7px 18px 0 #294ca31c 2px 12px 48px 0 #294ca321;
  list-style: none;
  padding: 8px;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .48s cubic-bezier(0.16, 1, 0.3, 1), visibility .48s cubic-bezier(0.16, 1, 0.3, 1), transform .48s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 200
}

.sbmn__lnk {
  display: block;
  padding: 16px 24px;
  font-size: 15px;
  color: #2a2a2a;
  text-decoration: none;
  border-radius: 5px;
  transition: background .4s ease-in-out, color .4s ease-in-out;
  position: relative;
  overflow: hidden
}

.sbmn__lnk::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 3px;
  background: #FFFF40;
  transition: width .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.sbmn__lnk:hover::after {
  width: 100%
}

.sbmn__lnk:hover {
  background: #edfdfe80;
  color: #294CA3
}

.sbmn__lnk:focus {
  background: #ffff4033;
  color: #294CA3;
  outline: none
}

.btmft {
  background: linear-gradient(180deg, #EDFDFE 0%, #fff 100%);
  border-top: 2px solid #294ca326;
  padding: 40px 40px 24px
}

.btmft__in {
  max-width: 1140px;
  margin: 0 auto
}

.btmft__top {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 40px;
  margin-bottom: 40px
}

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

.abt__lg {
  display: inline-flex;
  align-items: center;
  background: #fff;
  padding: 16px;
  border-radius: 10px;
  box-shadow: 2px 3px 3px 0 #294ca314;
  border: 1px solid #294ca31a;
  align-self: flex-start
}

.abt__lgimg {
  width: 60px;
  height: 60px;
  object-fit: contain
}

.abt__dsc {
  font-size: 15px;
  line-height: 1.5;
  color: #3a3a3a;
  margin: 0
}

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

.cntc__hd {
  font-size: 20px;
  font-weight: 700;
  color: #294CA3;
  margin: 0 0 8px;
  letter-spacing: -.01em
}

.cntc__rw {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 15px;
  line-height: 1.5;
  color: #3a3a3a
}

.cntc__ic {
  width: 20px;
  height: 20px;
  fill: #294CA3;
  flex-shrink: 0;
  margin-top: 2px
}

.cntc__lnk {
  color: #294CA3;
  text-decoration: none;
  transition: color .35s ease-in-out
}

.cntc__lnk:hover {
  color: #1e3870;
  text-decoration: underline
}

.cntc__lnk:focus {
  color: #1e3870;
  outline: 2px solid #FFFF40;
  outline-offset: 2px
}

.btmft__nv {
  padding: 24px 0;
  border-top: 1px solid #294ca326;
  border-bottom: 1px solid #294ca326;
  margin-bottom: 24px
}

.ftnv {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0
}

.ftnv__lnk {
  font-size: 14px;
  color: #555;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 5px;
  transition: background .4s ease-in-out, color .4s ease-in-out
}

.ftnv__lnk:hover {
  background: #ffff4026;
  color: #294CA3
}

.ftnv__lnk:focus {
  background: #edfdfe99;
  color: #294CA3;
  outline: none
}

.btmft__cpr {
  text-align: center;
  font-size: 14px;
  color: #666;
  line-height: 1.5
}

@media (max-width: 1024px) {
  .tophd {
    padding: 24px
  }

  .tophd__brand {
    flex-direction: column;
    align-items: flex-start
  }

  .mn {
    gap: 8px
  }

  .mn__lnk {
    padding: 16px 20px;
    font-size: 14px
  }

  .btmft__top {
    grid-template-columns: 1fr;
    gap: 32px
  }
}

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

  .lg__box {
    padding: 16px
  }

  .lg__img {
    width: 56px;
    height: 56px
  }

  .lg__nm {
    font-size: 20px
  }

  .lg__tag {
    font-size: 14px
  }

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

  .mn {
    flex-direction: column;
    gap: 8px
  }

  .mn__lnk {
    padding: 16px;
    text-align: left
  }

  .sbmn {
    position: static;
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    transform: none;
    transition: max-height .45s cubic-bezier(0.16, 1, 0.3, 1), opacity .45s cubic-bezier(0.16, 1, 0.3, 1), visibility .45s cubic-bezier(0.16, 1, 0.3, 1)
  }

  .mn__itm--sub:hover .sbmn,
  .mn__itm--sub:focus-within .sbmn {
    opacity: 1;
    visibility: visible;
    max-height: 500px;
    transform: none
  }

  .btmft {
    padding: 32px 16px 16px
  }

  .ftnv {
    flex-direction: column;
    align-items: center;
    gap: 8px
  }
}

@media (max-width: 375px) {
  body {
    font-size: 15px
  }

  .lg__nm {
    font-size: 17px
  }

  .lg__tag {
    font-size: 14px
  }

  .mn__lnk {
    font-size: 14px;
    padding: 16px
  }

  .rch__itm {
    font-size: 14px;
    padding: 8px 16px
  }
}

.rules-block-o {
  max-width: 1140px;
  margin: 0 auto;
  padding: 72px 24px;
  background: #fff
}

.rules-block-o h1 {
  font-size: 48px;
  line-height: 1.1;
  margin-bottom: 40px;
  color: #294CA3;
  letter-spacing: -.02em
}

.rules-block-o h2 {
  font-size: 36px;
  line-height: 1.1;
  margin-top: 72px;
  margin-bottom: 24px;
  color: #294CA3;
  letter-spacing: -.01em
}

.rules-block-o h3 {
  font-size: 26px;
  line-height: 1.1;
  margin-top: 40px;
  margin-bottom: 16px;
  color: #1a1f36;
  letter-spacing: 0
}

.rules-block-o h4 {
  font-size: 20px;
  line-height: 1.5;
  margin-top: 24px;
  margin-bottom: 16px;
  color: #1a1f36;
  letter-spacing: 0
}

.rules-block-o p {
  font-size: 17px;
  line-height: 1.8;
  margin-bottom: 24px;
  color: #2d3748;
  letter-spacing: .01em
}

.rules-block-o ul,
.rules-block-o ol {
  font-size: 17px;
  line-height: 1.8;
  margin-bottom: 24px;
  padding-left: 40px;
  color: #2d3748;
  letter-spacing: .01em
}

.rules-block-o ul {
  list-style-type: disc
}

.rules-block-o ol {
  list-style-type: decimal
}

.rules-block-o li {
  margin-bottom: 8px;
  padding-left: 8px
}

.rules-block-o li ul,
.rules-block-o li ol {
  margin-top: 8px;
  margin-bottom: 8px
}

.rules-block-o strong,
.rules-block-o b {
  font-weight: 600;
  color: #1a1f36
}

.rules-block-o a {
  color: #294CA3;
  text-decoration: underline;
  transition: color .42s cubic-bezier(0.16, 1, 0.3, 1)
}

.rules-block-o a:hover {
  color: #1e3a7a
}

.rules-block-o table {
  width: 100%;
  margin-bottom: 40px;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.5;
  background: #fff;
  box-shadow: 2px 3px 3px 0 #294ca314 2px 7px 18px 0 #294ca31c;
  border-radius: 10px;
  overflow: hidden
}

.rules-block-o thead {
  background: #EDFDFE
}

.rules-block-o th {
  padding: 16px;
  text-align: left;
  font-weight: 600;
  color: #294CA3;
  border-bottom: 2px solid #294CA3;
  letter-spacing: .02em
}

.rules-block-o td {
  padding: 16px;
  color: #2d3748;
  border-bottom: 1px solid #294ca31f
}

.rules-block-o tbody tr:last-child td {
  border-bottom: none
}

.rules-block-o tbody tr {
  transition: background-color .38s ease-in-out
}

.rules-block-o tbody tr:hover {
  background: #edfdfe66
}

.rules-block-o hr {
  margin: 72px 0;
  border: none;
  height: 2px;
  background: linear-gradient(to right, #294ca333, #ffff404d, #294ca333);
  border-radius: 3px
}

.rules-block-o div {
  margin-bottom: 24px
}

@media (max-width: 1024px) {
  .rules-block-o {
    padding: 40px 24px
  }

  .rules-block-o h1 {
    font-size: 36px;
    margin-bottom: 24px
  }

  .rules-block-o h2 {
    font-size: 26px;
    margin-top: 40px
  }

  .rules-block-o h3 {
    font-size: 20px
  }
}

@media (max-width: 768px) {
  .rules-block-o {
    padding: 24px 16px
  }

  .rules-block-o h1 {
    font-size: 26px;
    margin-bottom: 24px
  }

  .rules-block-o h2 {
    font-size: 20px;
    margin-top: 24px;
    margin-bottom: 16px
  }

  .rules-block-o h3 {
    font-size: 17px;
    margin-top: 24px
  }

  .rules-block-o p,
  .rules-block-o ul,
  .rules-block-o ol {
    font-size: 15px
  }

  .rules-block-o ul,
  .rules-block-o ol {
    padding-left: 24px
  }

  .rules-block-o table {
    font-size: 14px
  }

  .rules-block-o th,
  .rules-block-o td {
    padding: 8px
  }

  .rules-block-o hr {
    margin: 40px 0
  }
}

@media (max-width: 375px) {
  .rules-block-o {
    padding: 24px 8px
  }

  .rules-block-o ul,
  .rules-block-o ol {
    padding-left: 16px
  }
}

.svc-dtl {
  background: #fff;
  color: #1a1a1a;
  overflow-x: clip
}

.svc-dtl__crumb {
  max-width: 1140px;
  margin: 0 auto;
  padding: 24px 16px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap
}

.svc-dtl__crumb-link {
  font-size: 14px;
  color: #294CA3;
  text-decoration: none;
  transition: color .42s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
  display: inline-block;
  line-height: 1.5
}

.svc-dtl__crumb-link:hover {
  color: #1a1a1a
}

.svc-dtl__crumb-sep {
  width: 4px;
  height: 4px;
  background: #294CA3;
  border-radius: 3px;
  opacity: .4
}

.svc-dtl__crumb-current {
  font-size: 14px;
  color: #1a1a1a;
  line-height: 1.5;
  font-weight: 600
}

.svc-dtl__lead {
  position: relative;
  background: linear-gradient(0deg, #294CA3 0%, #1e3a7a 100%);
  padding: 72px 16px 120px;
  overflow: hidden;
  animation: svc-dtl-bg-pulse 10s ease-in-out infinite
}

@keyframes svc-dtl-bg-pulse {

  0%,
  100% {
    background-size: 100% 100%
  }

  50% {
    background-size: 105% 105%
  }
}

.svc-dtl__lead::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 15% 25%, #ffff4014 0%, transparent 50%), radial-gradient(circle at 85% 75%, #edfdfe0f 0%, transparent 50%);
  pointer-events: none
}

.svc-dtl__lead::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 80px;
  background: #fff;
  clip-path: polygon(0 40%, 100% 0, 100% 100%, 0 100%)
}

.svc-dtl__lead-inner {
  max-width: 1140px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.svc-dtl__lead-h1 {
  font-size: 48px;
  line-height: 1.1;
  color: #FFFF40;
  letter-spacing: -.02em;
  margin: 0;
  text-transform: none;
  font-weight: 700
}

.svc-dtl__meta {
  margin-top: 40px;
  display: flex;
  flex-direction: row;
  gap: 24px;
  flex-wrap: wrap
}

.svc-dtl__meta-item {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.svc-dtl__meta-label {
  font-size: 14px;
  color: #EDFDFE;
  text-transform: uppercase;
  letter-spacing: .05em;
  opacity: .8;
  line-height: 1.5
}

.svc-dtl__meta-val {
  font-size: 20px;
  color: #fff;
  font-weight: 600;
  line-height: 1.5
}

.svc-dtl__body {
  max-width: 1140px;
  margin: 0 auto;
  padding: 72px 16px;
  position: relative
}

.svc-dtl__body::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 4px;
  background: linear-gradient(90deg, #FFFF40 0%, #294CA3 100%);
  border-radius: 3px
}

.svc-dtl__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  margin-top: 40px
}

.svc-dtl__col-main {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.svc-dtl__col-side {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.svc-dtl__card {
  background: #EDFDFE;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 2px 7px 18px 0 #294ca31c;
  border: 2px solid #294ca31f;
  position: relative;
  overflow: hidden
}

.svc-dtl__card::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at center, #ffff400d 0%, transparent 60%);
  pointer-events: none
}

.svc-dtl__card-h2 {
  font-size: 26px;
  line-height: 1.1;
  color: #294CA3;
  margin: 0 0 24px;
  font-weight: 700;
  letter-spacing: -.01em
}

.svc-dtl__card p {
  font-size: 17px;
  line-height: 1.8;
  color: #1a1a1a;
  margin: 0 0 16px
}

.svc-dtl__card p:last-child {
  margin-bottom: 0
}

.svc-dtl__card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.svc-dtl__card li {
  font-size: 17px;
  line-height: 1.8;
  color: #1a1a1a;
  padding-left: 32px;
  position: relative
}

.svc-dtl__card li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  background: #FFFF40;
  border: 2px solid #294CA3;
  border-radius: 3px
}

.svc-dtl__card ol {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: ordered-list;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.svc-dtl__card ol li {
  counter-increment: ordered-list;
  padding-left: 40px;
  position: relative
}

.svc-dtl__card ol li::before {
  content: counter(ordered-list);
  position: absolute;
  left: 0;
  top: 0;
  width: 28px;
  height: 28px;
  background: #294CA3;
  color: #FFFF40;
  font-size: 14px;
  font-weight: 700;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none
}

.svc-dtl__card dl {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.svc-dtl__card dt {
  font-size: 17px;
  line-height: 1.5;
  color: #294CA3;
  font-weight: 700;
  margin: 0
}

.svc-dtl__card dd {
  font-size: 17px;
  line-height: 1.8;
  color: #1a1a1a;
  margin: 0 0 0 24px
}

.svc-dtl__card blockquote {
  margin: 24px 0;
  padding: 24px;
  background: #fff;
  border-radius: 10px;
  border-left: 4px solid #FFFF40;
  box-shadow: 2px 3px 3px 0 #294ca314
}

.svc-dtl__card blockquote p {
  font-size: 17px;
  line-height: 1.8;
  color: #1a1a1a;
  font-style: italic;
  margin: 0
}

.svc-dtl__card cite {
  font-size: 15px;
  color: #294CA3;
  font-style: normal;
  font-weight: 600
}

.svc-dtl__card em {
  font-style: italic;
  color: #294CA3
}

.svc-dtl__card details {
  margin: 16px 0;
  background: #fff;
  border-radius: 10px;
  padding: 16px;
  border: 1px solid #294ca326
}

.svc-dtl__card summary {
  font-size: 17px;
  line-height: 1.5;
  color: #294CA3;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: color .38s ease-in-out
}

.svc-dtl__card summary:hover {
  color: #1a1a1a
}

.svc-dtl__card summary::-webkit-details-marker {
  display: none
}

.svc-dtl__card details[open] summary {
  margin-bottom: 16px
}

.svc-dtl__price-box {
  background: linear-gradient(180deg, #1e3a7a 0%, #294CA3 100%);
  border-radius: 20px;
  padding: 40px;
  box-shadow: 2px 12px 48px 0 #294ca321;
  position: relative;
  overflow: hidden
}

.svc-dtl__price-box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 80% 20%, #ffff401a 0%, transparent 50%);
  pointer-events: none
}

.svc-dtl__price-box::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 3px dotted #ffff4033;
  border-radius: 20px;
  pointer-events: none
}

.svc-dtl__price-inner {
  position: relative;
  z-index: 1
}

.svc-dtl__price-amt {
  font-size: 48px;
  line-height: 1.1;
  color: #FFFF40;
  font-weight: 700;
  margin: 0 0 8px;
  letter-spacing: -.02em
}

.svc-dtl__price-desc {
  font-size: 15px;
  line-height: 1.5;
  color: #EDFDFE;
  margin: 0 0 24px
}

.svc-dtl__price-note {
  font-size: 14px;
  line-height: 1.5;
  color: #fff;
  margin: 0 0 24px;
  padding: 16px;
  background: #ffffff1a;
  border-radius: 10px;
  border: 1px solid #ffffff26
}

.svc-dtl__btn {
  display: inline-block;
  padding: 16px 40px;
  background: #FFFF40;
  color: #294CA3;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  text-decoration: none;
  transition: transform .45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 2px 7px 18px 0 #ffff401c;
  position: relative;
  overflow: hidden;
  line-height: 1.5
}

.svc-dtl__btn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 32px;
  background: #294ca326;
  transform: translate(-50%, -50%);
  transition: width .5s ease-in-out, height .5s ease-in-out
}

.svc-dtl__btn:hover {
  transform: translateY(-2px);
  box-shadow: 2px 12px 48px 0 #ffff4021
}

.svc-dtl__btn:active::before {
  width: 300px;
  height: 300px
}

.svc-dtl__img-wrap {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 2px 7px 18px 0 #294ca31c;
  position: relative;
  aspect-ratio: 16/9
}

.svc-dtl__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.svc-dtl__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 16px;
  margin-top: 24px
}

.svc-dtl__stat {
  background: #fff;
  border-radius: 10px;
  padding: 24px;
  text-align: center;
  border: 2px solid #294ca31a;
  transition: transform .4s ease-in-out, box-shadow .4s ease-in-out
}

.svc-dtl__stat:hover {
  transform: translateY(-4px);
  box-shadow: 2px 7px 18px 0 #294ca31c
}

.svc-dtl__stat-num {
  font-size: 36px;
  line-height: 1.1;
  color: #294CA3;
  font-weight: 700;
  margin: 0 0 8px
}

.svc-dtl__stat-label {
  font-size: 14px;
  line-height: 1.5;
  color: #1a1a1a;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin: 0
}

.svc-dtl__highlight {
  background: #FFFF40;
  color: #294CA3;
  padding: 2px 8px;
  border-radius: 3px;
  font-weight: 600
}

@media (min-width: 768px) {
  .svc-dtl__grid {
    grid-template-columns: 2fr 1fr
  }

  .svc-dtl__lead-h1 {
    font-size: 48px
  }

  .svc-dtl__card {
    padding: 40px
  }
}

@media (min-width: 1024px) {
  .svc-dtl__lead {
    padding: 120px 16px 160px
  }

  .svc-dtl__lead-h1 {
    font-size: 48px;
    max-width: 900px
  }
}

.qt {
  background: #FFF;
  color: #1a1a2e;
  max-width: 100%;
  overflow-x: clip
}

.qt__intro {
  background: linear-gradient(172deg, #f4f4f8 0%, #e8e8f0 100%);
  padding: 128px 24px 72px;
  position: relative;
  overflow: hidden
}

.qt__intro::before,
.qt__intro::after {
  content: '';
  position: absolute;
  border: 2px solid #294CA3;
  border-radius: 50%;
  opacity: .06
}

.qt__intro::before {
  width: 420px;
  height: 420px;
  top: -180px;
  right: 8%
}

.qt__intro::after {
  width: 280px;
  height: 280px;
  bottom: -90px;
  left: 12%
}

.qt__intro-wrap {
  max-width: 1140px;
  margin: 0 auto
}

.qt__intro-h {
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 24px;
  color: #294CA3;
  font-weight: 700
}

.qt__intro-txt {
  font-size: 20px;
  line-height: 1.5;
  margin: 0 0 40px;
  max-width: 720px;
  color: #3a3a52
}

.qt__intro-links {
  display: flex;
  flex-direction: row;
  gap: 24px;
  flex-wrap: wrap
}

.qt__intro-lnk {
  font-size: 15px;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 16px 40px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 600;
  transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden
}

.qt__intro-lnk.primary {
  background: #FFFF40;
  color: #1a1a2e;
  box-shadow: 2px 7px 18px 0 #294ca31c
}

.qt__intro-lnk.secondary {
  background: transparent;
  color: #294CA3;
  border: 2px solid #294CA3
}

.qt__intro-lnk::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: #294ca326;
  transform: translate(-50%, -50%);
  transition: width .5s ease-in-out, height .5s ease-in-out
}

.qt__intro-lnk:hover::after {
  width: 300px;
  height: 300px
}

.qt__intro-lnk:hover {
  transform: translateY(-2px);
  box-shadow: 2px 12px 48px 0 #294ca321
}

.qt__packages {
  background: #FFF;
  padding: 72px 24px;
  position: relative
}

.qt__packages-wrap {
  max-width: 1140px;
  margin: 0 auto
}

.qt__packages-top {
  text-align: center;
  margin-bottom: 72px
}

.qt__packages-top::before {
  content: '';
  display: block;
  width: 64px;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, #FFFF40 50%, transparent 100%);
  margin: 0 auto 24px;
  border-radius: 3px
}

.qt__packages-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 16px;
  color: #1a1a2e;
  font-weight: 700
}

.qt__packages-desc {
  font-size: 17px;
  line-height: 1.5;
  margin: 0;
  color: #5a5a6e;
  max-width: 680px;
  margin: 0 auto
}

.qt__packages-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 40px
}

.qt__pkg {
  background: #FFF;
  border: 2px solid #EDFDFE;
  border-radius: 10px;
  padding: 40px;
  transition: border-color .48s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .48s cubic-bezier(0.16, 1, 0.3, 1), transform .48s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden
}

.qt__pkg::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 0;
  background: linear-gradient(180deg, #FFFF40 0%, #294CA3 100%);
  transition: height .52s cubic-bezier(0.16, 1, 0.3, 1)
}

.qt__pkg:hover::before {
  height: 100%
}

.qt__pkg:hover {
  border-color: #294CA3;
  box-shadow: 2px 12px 48px 0 #294ca321;
  transform: translateY(-4px)
}

.qt__pkg-label {
  font-size: 14px;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #294CA3;
  font-weight: 700;
  margin: 0 0 16px
}

.qt__pkg-name {
  font-size: 26px;
  line-height: 1.1;
  margin: 0 0 16px;
  color: #1a1a2e;
  font-weight: 700
}

.qt__pkg-txt {
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 24px;
  color: #5a5a6e
}

.qt__pkg-feat {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.qt__pkg-feat-item {
  font-size: 15px;
  line-height: 1.5;
  color: #3a3a52;
  padding-left: 32px;
  position: relative
}

.qt__pkg-feat-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  width: 18px;
  height: 18px;
  background: #FFFF40;
  border-radius: 3px;
  border: 2px solid #294CA3
}

.qt__pkg-feat-item::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 8px;
  width: 5px;
  height: 9px;
  border: solid #294CA3;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg)
}

.qt__pkg-price {
  font-size: 20px;
  line-height: 1.1;
  color: #294CA3;
  font-weight: 700;
  margin: 0
}

.qt__process {
  background: #294CA3;
  padding: 72px 24px;
  position: relative;
  animation: qt-desat 18s ease-in-out infinite
}

@keyframes qt-desat {

  0%,
  100% {
    filter: saturate(1)
  }

  50% {
    filter: saturate(0.7)
  }
}

.qt__process-wrap {
  max-width: 1140px;
  margin: 0 auto
}

.qt__process-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 72px;
  color: #FFF;
  font-weight: 700;
  text-align: center
}

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

.qt__process-steps {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.qt__step {
  position: relative;
  padding-left: 80px
}

.qt__step-num {
  position: absolute;
  left: 0;
  top: 0;
  width: 56px;
  height: 56px;
  background: #FFFF40;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  line-height: 1.1;
  font-weight: 700;
  color: #294CA3;
  box-shadow: 2px 7px 18px 0 #ffff401c
}

.qt__step-h {
  font-size: 20px;
  line-height: 1.1;
  margin: 0 0 8px;
  color: #FFF;
  font-weight: 700
}

.qt__step-txt {
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
  color: #EDFDFE
}

.qt__process-visual {
  position: relative;
  padding-top: 28px
}

.qt__process-img-wrap {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 2px 12px 48px 0 #ffff4021
}

.qt__process-img-wrap::before {
  content: '';
  position: absolute;
  top: -20px;
  left: -20px;
  width: 120px;
  height: 120px;
  border: 3px solid #FFFF40;
  border-radius: 50%;
  opacity: .3;
  z-index: 1
}

.qt__process-img-wrap::after {
  content: '';
  position: absolute;
  bottom: -16px;
  right: -16px;
  width: 80px;
  height: 80px;
  border: 3px solid #EDFDFE;
  border-radius: 50%;
  opacity: .3;
  z-index: 1
}

.qt__process-img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block
}

.qt__details {
  background: #FFF;
  padding: 72px 24px;
  position: relative
}

.qt__details-wrap {
  max-width: 1140px;
  margin: 0 auto
}

.qt__details-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 40px;
  color: #1a1a2e;
  font-weight: 700
}

.qt__details-h::before {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: #FFFF40;
  margin-bottom: 24px;
  border-radius: 3px
}

.qt__details-intro {
  font-size: 17px;
  line-height: 1.8;
  margin: 0 0 40px;
  color: #3a3a52
}

.qt__details-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px
}

.qt__details-col {
  font-size: 15px;
  line-height: 1.8;
  color: #5a5a6e
}

.qt__details-col p {
  margin: 0 0 24px
}

.qt__details-col p:last-child {
  margin-bottom: 0
}

.qt__details-highlight {
  background: linear-gradient(135deg, #EDFDFE 0%, #f8f8fa 100%);
  border-left: none;
  border-radius: 10px;
  padding: 40px;
  margin-top: 40px;
  position: relative;
  overflow: hidden
}

.qt__details-highlight::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #FFFF40 0%, #294CA3 100%)
}

.qt__details-highlight-h {
  font-size: 20px;
  line-height: 1.1;
  margin: 0 0 16px;
  color: #294CA3;
  font-weight: 700
}

.qt__details-highlight-txt {
  font-size: 15px;
  line-height: 1.8;
  margin: 0;
  color: #3a3a52
}

.qt__comparison {
  background: linear-gradient(172deg, #f9f9fb 0%, #FFF 100%);
  padding: 72px 24px;
  position: relative
}

.qt__comparison::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 1px;
  background: radial-gradient(ellipse at center, #294CA3 0%, transparent 70%);
  opacity: .3
}

.qt__comparison-wrap {
  max-width: 1140px;
  margin: 0 auto
}

.qt__comparison-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 72px;
  color: #1a1a2e;
  font-weight: 700;
  text-align: center
}

.qt__comparison-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 72px;
  align-items: start
}

.qt__comparison-img-wrap {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 2px 12px 48px 0 #294ca321
}

.qt__comparison-img-wrap::before,
.qt__comparison-img-wrap::after {
  content: '';
  position: absolute;
  z-index: 2;
  pointer-events: none
}

.qt__comparison-img-wrap::before {
  top: 24px;
  left: 24px;
  width: 48px;
  height: 48px;
  border-top: 4px solid #FFFF40;
  border-left: 4px solid #FFFF40;
  border-radius: 3px
}

.qt__comparison-img-wrap::after {
  bottom: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  border-bottom: 4px solid #294CA3;
  border-right: 4px solid #294CA3;
  border-radius: 3px
}

.qt__comparison-img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  display: block
}

.qt__comparison-content {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 36px
}

.qt__comp-item {
  position: relative;
  padding: 24px;
  background: #FFF;
  border-radius: 10px;
  border: 2px solid #EDFDFE;
  transition: border-color .45s ease-in-out, box-shadow .45s ease-in-out
}

.qt__comp-item:hover {
  border-color: #FFFF40;
  box-shadow: 2px 7px 18px 0 #294ca31c
}

.qt__comp-item-h {
  font-size: 17px;
  line-height: 1.1;
  margin: 0 0 8px;
  color: #294CA3;
  font-weight: 700
}

.qt__comp-item-txt {
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
  color: #5a5a6e
}

.qt__testimonials {
  background: #EDFDFE;
  padding: 72px 24px;
  position: relative
}

.qt__testimonials-wrap {
  max-width: 1140px;
  margin: 0 auto
}

.qt__testimonials-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 72px;
  color: #1a1a2e;
  font-weight: 700;
  text-align: center
}

.qt__testimonials-h::before {
  content: '';
  display: block;
  width: 64px;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, #294CA3 50%, transparent 100%);
  margin: 0 auto 24px;
  border-radius: 3px
}

.qt__testimonials-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px
}

.qt__testimonial {
  background: #FFF;
  padding: 40px;
  border-radius: 10px;
  box-shadow: 2px 3px 3px 0 #294ca314;
  position: relative;
  transition: box-shadow .38s cubic-bezier(0.16, 1, 0.3, 1), transform .38s cubic-bezier(0.16, 1, 0.3, 1)
}

.qt__testimonial:hover {
  box-shadow: 2px 12px 48px 0 #294ca321;
  transform: translateY(-2px)
}

.qt__testimonial-quote {
  font-size: 15px;
  line-height: 1.8;
  margin: 0 0 24px;
  color: #3a3a52;
  font-style: italic
}

.qt__testimonial-author {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px
}

.qt__testimonial-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FFFF40 0%, #294CA3 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 700;
  color: #FFF
}

.qt__testimonial-info {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.qt__testimonial-name {
  font-size: 15px;
  line-height: 1.1;
  margin: 0;
  color: #1a1a2e;
  font-weight: 700
}

.qt__testimonial-role {
  font-size: 14px;
  line-height: 1.1;
  margin: 0;
  color: #5a5a6e
}

@media (max-width: 1024px) {
  .qt__intro {
    padding: 96px 24px 56px
  }

  .qt__intro-h {
    font-size: 36px
  }

  .qt__intro-txt {
    font-size: 17px
  }

  .qt__packages,
  .qt__process,
  .qt__details,
  .qt__comparison,
  .qt__testimonials {
    padding: 56px 24px
  }

  .qt__packages-h,
  .qt__process-h,
  .qt__details-h,
  .qt__comparison-h,
  .qt__testimonials-h {
    font-size: 26px;
    margin-bottom: 40px
  }

  .qt__process-grid {
    grid-template-columns: 1fr;
    gap: 56px
  }

  .qt__process-visual {
    padding-top: 0
  }

  .qt__process-img {
    height: 360px
  }

  .qt__details-cols {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .qt__comparison-layout {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .qt__comparison-img {
    height: 400px
  }

  .qt__comparison-content {
    margin-top: 0
  }

  .qt__testimonials-grid {
    grid-template-columns: 1fr;
    gap: 24px
  }
}

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

  .qt__intro-h {
    font-size: 26px;
    margin-bottom: 16px
  }

  .qt__intro-txt {
    font-size: 15px;
    margin-bottom: 24px
  }

  .qt__intro-links {
    flex-direction: column;
    gap: 16px
  }

  .qt__intro-lnk {
    width: 100%;
    text-align: center
  }

  .qt__packages,
  .qt__process,
  .qt__details,
  .qt__comparison,
  .qt__testimonials {
    padding: 40px 16px
  }

  .qt__packages-grid {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .qt__pkg {
    padding: 24px
  }

  .qt__process-img {
    height: 280px
  }

  .qt__step {
    padding-left: 72px
  }

  .qt__step-num {
    width: 48px;
    height: 48px;
    font-size: 20px
  }

  .qt__details-highlight {
    padding: 24px
  }

  .qt__comparison-img {
    height: 320px
  }

  .qt__testimonial {
    padding: 24px
  }
}

@media (max-width: 375px) {
  .qt__intro::before {
    width: 280px;
    height: 280px;
    top: -120px
  }

  .qt__intro::after {
    width: 180px;
    height: 180px;
    bottom: -60px
  }
}

.svc {
  background: #FFF;
  overflow-x: clip
}

.svc__ttl {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 40px;
  max-width: 1140px;
  margin: 0 auto;
  padding: 72px 24px 120px;
  position: relative
}

.svc__ttl::before,
.svc__ttl::after {
  content: '';
  position: absolute;
  background: #294CA3
}

.svc__ttl::before {
  width: 60px;
  height: 2px;
  top: 40px;
  left: 24px
}

.svc__ttl::after {
  width: 2px;
  height: 60px;
  top: 40px;
  left: 24px
}

.svc__ttl-img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  height: 380px
}

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

.svc__ttl-img-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(180deg, #294ca3b3 0%, #294ca300 100%);
  pointer-events: none
}

.svc__ttl-txt {
  display: flex;
  flex-direction: column;
  justify-content: center
}

.svc__ttl-eye {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #294CA3;
  font-weight: 600;
  margin: 0 0 16px
}

.svc__ttl-h {
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #1a1a1a;
  font-weight: 700;
  margin: 0
}

.svc__list-wrap {
  background: linear-gradient(90deg, #FFFF40 0%, #FFF 100%);
  padding: 72px 24px;
  margin-left: 40px;
  position: relative
}

.svc__list-wrap::before {
  content: '';
  position: absolute;
  top: 50%;
  left: -20px;
  width: 40px;
  height: 80%;
  background: #294CA3;
  border-radius: 20px;
  transform: translateY(-50%);
  opacity: .15
}

.svc__list-container {
  max-width: 1140px;
  margin: 0 auto
}

.svc__list-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 40px
}

.svc__card {
  background: #FFF;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 2px 7px 18px 0 #294ca31c;
  transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  display: flex;
  flex-direction: column;
  animation: svc-slide-in .48s cubic-bezier(0.16, 1, 0.3, 1) backwards
}

.svc__card:nth-child(odd) {
  animation-name: svc-slide-left
}

.svc__card:nth-child(even) {
  animation-name: svc-slide-right
}

.svc__card:nth-child(1) {
  animation-delay: .05s
}

.svc__card:nth-child(2) {
  animation-delay: .1s
}

.svc__card:nth-child(3) {
  animation-delay: .15s
}

.svc__card:nth-child(4) {
  animation-delay: .2s
}

.svc__card:nth-child(5) {
  animation-delay: .25s
}

@keyframes svc-slide-left {
  from {
    opacity: 0;
    transform: translateX(-60px)
  }

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

@keyframes svc-slide-right {
  from {
    opacity: 0;
    transform: translateX(60px)
  }

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

.svc__card:hover {
  transform: translateY(-8px);
  box-shadow: 2px 12px 48px 0 #294ca321
}

.svc__card-img-wrap {
  position: relative;
  height: 200px;
  overflow: hidden
}

.svc__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .52s cubic-bezier(0.16, 1, 0.3, 1)
}

.svc__card:hover .svc__card-img {
  transform: scale(1.08)
}

.svc__card-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  background: #FFFF40;
  color: #1a1a1a;
  font-size: 14px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: .05em;
  box-shadow: 2px 3px 3px 0 #294ca314
}

.svc__card-content {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column
}

.svc__card-h {
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: -.01em;
  color: #1a1a1a;
  font-weight: 700;
  margin: 0 0 16px;
  transition: color .38s ease-in-out
}

.svc__card:hover .svc__card-h {
  color: #294CA3
}

.svc__card-desc {
  font-size: 15px;
  line-height: 1.8;
  color: #4a4a4a;
  margin: 0 0 24px;
  flex: 1
}

.svc__card-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
  padding-top: 24px;
  border-top: 2px solid #EDFDFE
}

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

.svc__card-meta-label {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #7a7a7a;
  font-weight: 600
}

.svc__card-meta-value {
  font-size: 15px;
  line-height: 1.5;
  color: #1a1a1a;
  font-weight: 600
}

.svc__card-price-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 24px
}

.svc__card-price {
  font-size: 26px;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #294CA3;
  font-weight: 700
}

.svc__card-price-desc {
  font-size: 14px;
  line-height: 1.5;
  color: #6a6a6a
}

.svc__card-price-note {
  font-size: 14px;
  line-height: 1.5;
  color: #8a8a8a;
  font-style: italic
}

.svc__card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px
}

.svc__card-seats {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #1a1a1a;
  font-weight: 600
}

.svc__card-seats-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #FFFF40;
  border: 2px solid #294CA3;
  position: relative;
  animation: svc-pulse 2.4s ease-in-out infinite
}

@keyframes svc-pulse {

  0%,
  100% {
    transform: scale(1);
    opacity: 1
  }

  50% {
    transform: scale(1.3);
    opacity: .7
  }
}

.svc__card-link {
  display: inline-block;
  padding: 8px 24px;
  background: #294CA3;
  color: #FFF;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-decoration: none;
  border-radius: 5px;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), transform .45s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden
}

.svc__card-link::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 999px;
  background: #ffff404d;
  transform: translate(-50%, -50%);
  transition: width .5s cubic-bezier(0.16, 1, 0.3, 1), height .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.svc__card-link:hover::before {
  width: 300px;
  height: 300px
}

.svc__card-link:hover {
  background: #1e3a7a;
  transform: translateY(-2px)
}

.svc__card-link:active {
  transform: translateY(0)
}

.svc__why {
  background: #FFF;
  padding: 72px 24px;
  margin-right: 40px;
  position: relative
}

.svc__why::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50 10 L90 50 L50 90 L10 50 Z' fill='none' stroke='%23294CA3' stroke-width='1' opacity='0.05'/%3E%3C/svg%3E") repeat;
  pointer-events: none;
  animation: svc-geo-pulse 6s ease-in-out infinite
}

@keyframes svc-geo-pulse {

  0%,
  100% {
    opacity: 1
  }

  50% {
    opacity: .4
  }
}

.svc__why-container {
  max-width: 1140px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.svc__why-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #1a1a1a;
  font-weight: 700;
  margin: 0 0 16px;
  position: relative;
  padding-top: 24px
}

.svc__why-h::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 3px;
  background: #FFFF40;
  border-radius: 3px
}

.svc__why-intro {
  font-size: 17px;
  line-height: 1.8;
  color: #4a4a4a;
  margin: 0 0 40px;
  max-width: 800px
}

.svc__why-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px
}

.svc__why-col p {
  font-size: 15px;
  line-height: 1.8;
  color: #4a4a4a;
  margin: 0 0 24px
}

.svc__why-col p:last-child {
  margin-bottom: 0
}

.svc__why-col strong {
  color: #294CA3;
  font-weight: 700
}

.svc__proc {
  background: #EDFDFE;
  padding: 72px 24px;
  margin-left: 80px;
  position: relative
}

.svc__proc::before {
  content: '';
  position: absolute;
  top: 50%;
  right: -30px;
  width: 60px;
  height: 60%;
  background: #FFFF40;
  border-radius: 32px;
  transform: translateY(-50%);
  opacity: .4
}

.svc__proc-container {
  max-width: 1140px;
  margin: 0 auto
}

.svc__proc-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #1a1a1a;
  font-weight: 700;
  margin: 0 0 40px;
  text-align: center
}

.svc__proc-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px
}

.svc__proc-step {
  background: #FFF;
  padding: 24px;
  border-radius: 10px;
  box-shadow: 2px 3px 3px 0 #294ca314;
  position: relative;
  transition: background .4s ease-in-out, color .4s ease-in-out
}

.svc__proc-step:hover {
  background: #294CA3
}

.svc__proc-step-num {
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: #FFFF40;
  font-weight: 700;
  margin: 0 0 16px;
  transition: color .4s ease-in-out
}

.svc__proc-step:hover .svc__proc-step-num {
  color: #EDFDFE
}

.svc__proc-step-h {
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: -.01em;
  color: #1a1a1a;
  font-weight: 700;
  margin: 0 0 16px;
  transition: color .4s ease-in-out
}

.svc__proc-step:hover .svc__proc-step-h {
  color: #FFF
}

.svc__proc-step-txt {
  font-size: 15px;
  line-height: 1.8;
  color: #4a4a4a;
  margin: 0;
  transition: color .4s ease-in-out
}

.svc__proc-step:hover .svc__proc-step-txt {
  color: #EDFDFE
}

.svc__cta {
  background: linear-gradient(90deg, #294CA3 0%, #FFF 100%);
  padding: 72px 24px;
  margin-right: 120px;
  position: relative
}

.svc__cta::after {
  content: '';
  position: absolute;
  bottom: 50%;
  left: 50%;
  width: 200px;
  height: 3px;
  background: #FFFF40;
  border-radius: 3px;
  transform: translate(-50%, 50%)
}

.svc__cta-container {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 24px
}

.svc__cta-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #1a1a1a;
  font-weight: 700;
  margin: 0
}

.svc__cta-txt {
  font-size: 17px;
  line-height: 1.8;
  color: #4a4a4a;
  margin: 0;
  max-width: 700px
}

.svc__cta-btn {
  display: inline-block;
  padding: 16px 40px;
  background: #294CA3;
  color: #FFF;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  text-decoration: none;
  border-radius: 5px;
  transition: background .47s cubic-bezier(0.16, 1, 0.3, 1), transform .47s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .47s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 2px 7px 18px 0 #294ca31c;
  position: relative;
  overflow: hidden
}

.svc__cta-btn::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 999px;
  background: #ffff4066;
  transform: translate(-50%, -50%);
  transition: width .6s cubic-bezier(0.16, 1, 0.3, 1), height .6s cubic-bezier(0.16, 1, 0.3, 1)
}

.svc__cta-btn:hover::after {
  width: 400px;
  height: 400px
}

.svc__cta-btn:hover {
  background: #1e3a7a;
  transform: translateY(-4px);
  box-shadow: 2px 12px 48px 0 #294ca321
}

.svc__cta-btn:active {
  transform: translateY(-2px)
}

@media (max-width: 1024px) {
  .svc__ttl {
    grid-template-columns: 1fr;
    padding: 72px 24px 80px
  }

  .svc__ttl-img-wrap {
    height: 280px
  }

  .svc__list-wrap {
    margin-left: 0;
    padding: 72px 24px
  }

  .svc__list-wrap::before {
    display: none
  }

  .svc__list-grid {
    grid-template-columns: 1fr
  }

  .svc__why {
    margin-right: 0
  }

  .svc__why-cols {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .svc__proc {
    margin-left: 0
  }

  .svc__proc::before {
    display: none
  }

  .svc__proc-steps {
    grid-template-columns: 1fr
  }

  .svc__cta {
    margin-right: 0
  }
}

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

  .svc__ttl-h {
    font-size: 36px
  }

  .svc__list-wrap {
    padding: 40px 16px
  }

  .svc__list-grid {
    gap: 24px
  }

  .svc__card-meta {
    grid-template-columns: 1fr
  }

  .svc__why {
    padding: 40px 16px
  }

  .svc__why-h {
    font-size: 26px
  }

  .svc__proc {
    padding: 40px 16px
  }

  .svc__proc-h {
    font-size: 26px
  }

  .svc__cta {
    padding: 40px 16px
  }

  .svc__cta-h {
    font-size: 26px
  }
}

@media (max-width: 375px) {
  .svc__ttl-h {
    font-size: 26px
  }

  .svc__card-footer {
    flex-direction: column;
    align-items: flex-start
  }
}

.cnt {
  max-width: 1140px;
  margin: 0 auto;
  background: #fff
}

.cnt__hero {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 40px;
  padding: 40px 24px 72px;
  align-items: center;
  position: relative
}

.cnt__hero-img-wrap {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 2px 12px 48px 0 #294ca321
}

.cnt__hero-img-wrap::before,
.cnt__hero-img-wrap::after {
  content: '';
  position: absolute;
  width: 32px;
  height: 32px;
  border: 3px solid #FFFF40;
  z-index: 2
}

.cnt__hero-img-wrap::before {
  top: -8px;
  left: -8px;
  border-right: none;
  border-bottom: none;
  border-radius: 10px 0 0 0
}

.cnt__hero-img-wrap::after {
  bottom: -8px;
  right: -8px;
  border-left: none;
  border-top: none;
  border-radius: 0 0 10px 0
}

.cnt__hero-img {
  width: 340px;
  height: 420px;
  object-fit: cover;
  display: block;
  position: relative
}

.cnt__hero-img::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(180deg, #294ca300 0%, #294ca3b8 100%);
  pointer-events: none
}

.cnt__hero-txt {
  padding: 16px 0
}

.cnt__hero-h {
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #294CA3;
  margin: 0 0 24px;
  font-weight: 700
}

.cnt__hero-desc {
  font-size: 17px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #2a2a2a;
  margin: 0
}

.cnt__form-sec {
  background: #0a1f4d;
  padding: 72px 24px;
  position: relative;
  overflow: hidden
}

.cnt__form-sec::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(45deg, #ffff4008 25%, transparent 25%), linear-gradient(-45deg, #ffff4008 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #ffff4008 75%), linear-gradient(-45deg, transparent 75%, #ffff4008 75%);
  background-size: 48px 48px;
  background-position: 0 0, 0 24px, 24px -24px, -24px 0;
  opacity: .4;
  pointer-events: none
}

.cnt__form-inner {
  max-width: 680px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.cnt__form-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #EDFDFE;
  margin: 0 0 16px;
  font-weight: 700;
  text-align: center
}

.cnt__form-lead {
  font-size: 17px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #EDFDFE;
  margin: 0 0 40px;
  text-align: center;
  opacity: .92
}

.cnt__form {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 2px 7px 18px 0 #ffff401c
}

.cnt__form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 24px
}

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

.cnt__field.full {
  grid-column: 1 / -1
}

.cnt__lbl {
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: .01em;
  color: #294CA3;
  font-weight: 600
}

.cnt__req {
  color: #f44;
  margin-left: 3px
}

.cnt__input {
  padding: 16px;
  border: 2px solid #e8e8e8;
  border-radius: 10px;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: .01em;
  color: #2a2a2a;
  background: #fff;
  transition: border-color .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1);
  outline: none
}

.cnt__input::placeholder {
  color: #7a7a7a;
  opacity: .58;
  font-style: italic
}

.cnt__input:focus {
  border-color: #FFFF40;
  box-shadow: 0 0 0 3px #ffff4026
}

.cnt__input:hover:not(:focus) {
  border-color: #294CA3
}

.cnt__textarea {
  padding: 16px;
  border: 2px solid #e8e8e8;
  border-radius: 10px;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #2a2a2a;
  background: #fff;
  transition: border-color .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1);
  outline: none;
  resize: vertical;
  min-height: 140px;
  font-family: inherit
}

.cnt__textarea::placeholder {
  color: #7a7a7a;
  opacity: .58;
  font-style: italic
}

.cnt__textarea:focus {
  border-color: #FFFF40;
  box-shadow: 0 0 0 3px #ffff4026
}

.cnt__textarea:hover:not(:focus) {
  border-color: #294CA3
}

.cnt__radio-grp {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.cnt__radio-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  position: relative
}

.cnt__radio-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0
}

.cnt__radio-custom {
  width: 24px;
  height: 24px;
  border: 2px solid #294CA3;
  border-radius: 32px;
  position: relative;
  transition: border-color .38s ease-in-out, background-color .38s ease-in-out;
  flex-shrink: 0
}

.cnt__radio-custom::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  width: 12px;
  height: 12px;
  border-radius: 32px;
  background: #294CA3;
  transition: transform .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.cnt__radio-input:checked+.cnt__radio-custom {
  border-color: #FFFF40;
  background: #FFFF40
}

.cnt__radio-input:checked+.cnt__radio-custom::after {
  transform: translate(-50%, -50%) scale(1)
}

.cnt__radio-opt:hover .cnt__radio-custom {
  border-color: #FFFF40
}

.cnt__radio-txt {
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: .01em;
  color: #2a2a2a
}

.cnt__privacy {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 24px 0 0
}

.cnt__privacy-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0
}

.cnt__privacy-custom {
  width: 24px;
  height: 24px;
  border: 2px solid #294CA3;
  border-radius: 5px;
  position: relative;
  transition: border-color .38s ease-in-out, background-color .38s ease-in-out;
  flex-shrink: 0;
  cursor: pointer;
  margin-top: 2px
}

.cnt__privacy-custom::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 7px;
  width: 6px;
  height: 11px;
  border: solid #294CA3;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  transition: transform .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.cnt__privacy-input:checked+.cnt__privacy-custom {
  border-color: #FFFF40;
  background: #FFFF40
}

.cnt__privacy-input:checked+.cnt__privacy-custom::after {
  transform: rotate(45deg) scale(1)
}

.cnt__privacy-lbl {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #4a4a4a;
  cursor: pointer
}

.cnt__privacy-lbl a {
  color: #294CA3;
  text-decoration: underline;
  transition: color .38s ease-in-out
}

.cnt__privacy-lbl a:hover {
  color: #FFFF40
}

.cnt__submit-wrap {
  margin-top: 24px;
  display: flex;
  justify-content: center
}

.cnt__submit {
  padding: 16px 40px;
  background: linear-gradient(135deg, #294CA3 0%, #1a3475 100%);
  color: #FFFF40;
  border: none;
  border-radius: 10px;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  cursor: pointer;
  transition: transform .48s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .48s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 2px 7px 18px 0 #294ca31c;
  position: relative;
  overflow: hidden
}

.cnt__submit::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: #ffff404d;
  transform: translate(-50%, -50%);
  transition: width .55s cubic-bezier(0.16, 1, 0.3, 1), height .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.cnt__submit:hover {
  transform: translateY(-2px);
  box-shadow: 2px 12px 48px 0 #294ca321
}

.cnt__submit:hover::before {
  width: 300px;
  height: 300px
}

.cnt__submit:active {
  transform: translateY(0)
}

.cnt__contact-bar {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 40px;
  background: #EDFDFE;
  padding: 40px;
  border-radius: 20px;
  margin-top: 40px;
  box-shadow: 2px 3px 3px 0 #294ca314
}

.cnt__contact-sidebar {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.cnt__contact-sidebar::before {
  content: '';
  width: 48px;
  height: 4px;
  background: #FFFF40;
  border-radius: 3px
}

.cnt__contact-h {
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0;
  color: #294CA3;
  margin: 0;
  font-weight: 700
}

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

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

.cnt__contact-icon {
  width: 40px;
  height: 40px;
  background: #294CA3;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px
}

.cnt__contact-icon svg {
  width: 20px;
  height: 20px;
  fill: #FFFF40
}

.cnt__contact-label {
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: .01em;
  color: #5a5a5a;
  font-weight: 600;
  text-transform: uppercase
}

.cnt__contact-val {
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #2a2a2a;
  margin: 0
}

.cnt__contact-val a {
  color: #294CA3;
  text-decoration: none;
  transition: color .42s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  display: inline-block
}

.cnt__contact-val a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: #FFFF40;
  transition: width .42s cubic-bezier(0.16, 1, 0.3, 1)
}

.cnt__contact-val a:hover {
  color: #1a3475
}

.cnt__contact-val a:hover::after {
  width: 100%
}

.cnt__zigzag-line {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 200px;
  height: 2px;
  pointer-events: none;
  opacity: .15
}

.cnt__zigzag-line svg {
  width: 100%;
  height: 100%
}

@media (max-width: 1024px) {
  .cnt__hero {
    grid-template-columns: 280px 1fr;
    gap: 24px;
    padding: 40px 24px
  }

  .cnt__hero-img-wrap {
    width: 280px
  }

  .cnt__hero-img {
    width: 280px;
    height: 360px
  }

  .cnt__hero-h {
    font-size: 36px
  }

  .cnt__form-sec {
    padding: 40px 24px
  }

  .cnt__form {
    padding: 24px
  }

  .cnt__contact-bar {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .cnt__contact-main {
    grid-template-columns: 1fr 1fr
  }
}

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

  .cnt__hero-img-wrap {
    width: 100%;
    max-width: 340px;
    margin: 0 auto
  }

  .cnt__hero-img {
    width: 100%;
    height: 380px
  }

  .cnt__hero-h {
    font-size: 26px
  }

  .cnt__hero-desc {
    font-size: 15px
  }

  .cnt__form-sec {
    padding: 40px 16px
  }

  .cnt__form-h {
    font-size: 26px
  }

  .cnt__form-lead {
    font-size: 15px
  }

  .cnt__form {
    padding: 24px 16px
  }

  .cnt__form-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 16px
  }

  .cnt__contact-bar {
    padding: 24px 16px
  }

  .cnt__contact-main {
    grid-template-columns: 1fr
  }
}

@media (max-width: 375px) {
  .cnt__hero {
    padding: 24px 16px
  }

  .cnt__hero-h {
    font-size: 20px
  }

  .cnt__form-h {
    font-size: 20px
  }

  .cnt__submit {
    padding: 16px 24px;
    font-size: 14px
  }
}

.lnch {
  max-width: 1140px;
  margin: 0 auto;
  background: #fff
}

.lnch__ttl {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  padding: 40px 24px;
  position: relative;
  overflow: visible;
  background: linear-gradient(158deg, #EDFDFE 0%, #fff 100%)
}

.lnch__ttl::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(0deg, #294ca308 0px, transparent 1px, transparent 40px, #294ca308 41px), repeating-linear-gradient(90deg, #294ca308 0px, transparent 1px, transparent 40px, #294ca308 41px);
  pointer-events: none;
  z-index: 1
}

.lnch__ttl-txt {
  flex: 1;
  z-index: 2;
  position: relative
}

.lnch__ttl-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 24px;
  color: #1a1a1a
}

.lnch__ttl-h span {
  color: #294CA3
}

.lnch__ttl-lst {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lnch__ttl-lst li {
  font-size: 15px;
  line-height: 1.5;
  color: #333;
  padding-left: 24px;
  position: relative
}

.lnch__ttl-lst li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  background: #FFFF40;
  border: 2px solid #294CA3;
  border-radius: 50%
}

.lnch__ttl-img-wrp {
  flex-shrink: 0;
  width: 380px;
  height: 280px;
  position: relative;
  z-index: 2;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 2px 7px 18px 0 #294ca31c
}

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

.lnch__ttl-img-wrp::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at center, transparent 30%, #0006 100%);
  pointer-events: none
}

.lnch__rdy {
  padding: 72px 24px;
  background: #fff;
  position: relative
}

.lnch__rdy::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 3px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 3" preserveAspectRatio="none"><path d="M0 1.5 Q 300 0.5 600 1.5 T 1200 1.5" stroke="%23294CA3" stroke-width="2" fill="none" opacity="0.3"/></svg>') repeat-x;
  background-size: 1200px 3px
}

.lnch__rdy-inr {
  max-width: 840px;
  margin: 0 auto
}

.lnch__rdy-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 40px;
  color: #1a1a1a;
  position: relative;
  padding-top: 16px
}

.lnch__rdy-h::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 72px;
  height: 3px;
  background: #FFFF40;
  border-radius: 3px
}

.lnch__rdy-intro {
  font-size: 17px;
  line-height: 1.8;
  color: #2a2a2a;
  margin: 0 0 40px
}

.lnch__rdy-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px
}

.lnch__rdy-col {
  font-size: 15px;
  line-height: 1.8;
  color: #333
}

.lnch__rdy-col p {
  margin: 0 0 16px
}

.lnch__rdy-col p:last-child {
  margin: 0
}

.lnch__rdy-col strong {
  font-weight: 700;
  color: #294CA3
}

.lnch__exmpl {
  padding: 72px 24px;
  background: linear-gradient(202deg, #294CA3 0%, #1a3570 100%);
  position: relative
}

.lnch__exmpl::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(./visuals_folder/client-3alt.jpg);
  background-size: cover;
  background-position: center;
  opacity: .06;
  pointer-events: none
}

.lnch__exmpl-inr {
  position: relative;
  z-index: 2
}

.lnch__exmpl-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 40px;
  color: #EDFDFE;
  text-align: center
}

.lnch__exmpl-grd {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  align-items: start
}

.lnch__exmpl-main {
  background: #edfdfef7;
  padding: 40px;
  border-radius: 10px;
  box-shadow: 2px 12px 48px 0 #294ca321
}

.lnch__exmpl-ttl {
  font-size: 20px;
  line-height: 1.5;
  color: #294CA3;
  margin: 0 0 24px;
  font-weight: 700
}

.lnch__exmpl-txt {
  font-size: 15px;
  line-height: 1.8;
  color: #2a2a2a;
  margin: 0 0 24px
}

.lnch__exmpl-txt:last-child {
  margin: 0
}

.lnch__exmpl-side {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.lnch__exmpl-crd {
  background: #ffff40f2;
  padding: 24px;
  border-radius: 10px;
  box-shadow: 2px 3px 3px 0 #294ca314;
  transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1)
}

.lnch__exmpl-crd:hover {
  transform: translateY(-4px);
  box-shadow: 2px 12px 48px 0 #294ca321
}

.lnch__exmpl-crd-lbl {
  font-size: 14px;
  line-height: 1.5;
  color: #294CA3;
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 700
}

.lnch__exmpl-crd-val {
  font-size: 26px;
  line-height: 1.1;
  color: #1a1a1a;
  margin: 0;
  font-weight: 700
}

.lnch__prblm {
  padding: 72px 24px;
  background: #EDFDFE;
  position: relative
}

.lnch__prblm-inr {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 72px;
  align-items: center
}

.lnch__prblm-imgs {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.lnch__prblm-img-wrp {
  width: 100%;
  height: 240px;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  box-shadow: 2px 7px 18px 0 #294ca31c;
  transition: transform .48s cubic-bezier(0.16, 1, 0.3, 1)
}

.lnch__prblm-img-wrp:hover {
  transform: scale(1.02)
}

.lnch__prblm-img-wrp::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #294ca300;
  transition: background .52s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none
}

.lnch__prblm-img-wrp:hover::after {
  background: #294ca340
}

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

.lnch__prblm-cntnt {
  display: flex;
  flex-direction: column
}

.lnch__prblm-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 40px;
  color: #1a1a1a;
  position: relative;
  padding-top: 16px
}

.lnch__prblm-h::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 72px;
  height: 3px;
  background: #FFFF40;
  border-radius: 3px
}

.lnch__prblm-txt {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  margin: 0 0 24px
}

.lnch__prblm-txt:last-child {
  margin: 0
}

.lnch__prblm-txt strong {
  font-weight: 700;
  color: #294CA3
}

.lnch__wrk {
  padding: 72px 24px;
  background: #fff;
  position: relative
}

.lnch__wrk::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 3px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 3" preserveAspectRatio="none"><path d="M0 1.5 Q 300 2.5 600 1.5 T 1200 1.5" stroke="%23FFFF40" stroke-width="2" fill="none" opacity="0.6"/></svg>') repeat-x;
  background-size: 1200px 3px
}

.lnch__wrk-inr {
  max-width: 920px;
  margin: 0 auto
}

.lnch__wrk-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 40px;
  color: #1a1a1a;
  text-align: center
}

.lnch__wrk-intro {
  font-size: 17px;
  line-height: 1.8;
  color: #2a2a2a;
  margin: 0 0 72px;
  text-align: center
}

.lnch__wrk-tmlne {
  position: relative;
  padding-left: 40px
}

.lnch__wrk-tmlne::before {
  content: '';
  position: absolute;
  left: 12px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, #FFFF40 0%, #294CA3 100%);
  animation: lnch-line-draw 1.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  transform-origin: top
}

@keyframes lnch-line-draw {
  from {
    transform: scaleY(0)
  }

  to {
    transform: scaleY(1)
  }
}

.lnch__wrk-prd {
  margin-bottom: 72px;
  position: relative
}

.lnch__wrk-prd:last-child {
  margin-bottom: 0
}

.lnch__wrk-prd-lbl {
  font-size: 14px;
  line-height: 1.5;
  color: #294CA3;
  margin: 0 0 16px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 700;
  position: relative
}

.lnch__wrk-prd-lbl::before {
  content: '';
  position: absolute;
  left: -40px;
  top: 4px;
  width: 16px;
  height: 16px;
  background: #FFFF40;
  border: 3px solid #294CA3;
  border-radius: 50%;
  box-shadow: 2px 3px 3px 0 #294ca314
}

.lnch__wrk-evnts {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.lnch__wrk-evnt {
  background: #EDFDFE;
  padding: 24px;
  border-radius: 10px;
  border-left: 4px solid #294CA3;
  transition: transform .45s ease-in-out, box-shadow .45s ease-in-out;
  box-shadow: 2px 3px 3px 0 #294ca314
}

.lnch__wrk-evnt:hover {
  transform: translateX(8px);
  box-shadow: 2px 7px 18px 0 #294ca31c
}

.lnch__wrk-evnt-h {
  font-size: 17px;
  line-height: 1.5;
  color: #1a1a1a;
  margin: 0 0 8px;
  font-weight: 700
}

.lnch__wrk-evnt-txt {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  margin: 0
}

.lnch__wrk-grd {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 72px
}

.lnch__wrk-crd {
  background: #fff;
  padding: 24px;
  border-radius: 10px;
  border: 2px solid #EDFDFE;
  transition: border-color .38s cubic-bezier(0.16, 1, 0.3, 1), transform .38s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden
}

.lnch__wrk-crd::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, #ffff4026 50%, transparent 100%);
  transition: left .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.lnch__wrk-crd:hover::before {
  left: 100%
}

.lnch__wrk-crd:hover {
  border-color: #FFFF40;
  transform: translateY(-4px)
}

.lnch__wrk-crd-icn {
  width: 48px;
  height: 48px;
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #EDFDFE;
  border-radius: 10px;
  position: relative;
  z-index: 1
}

.lnch__wrk-crd-icn svg {
  width: 24px;
  height: 24px;
  fill: #294CA3
}

.lnch__wrk-crd-h {
  font-size: 17px;
  line-height: 1.5;
  color: #1a1a1a;
  margin: 0 0 8px;
  font-weight: 700;
  position: relative;
  z-index: 1
}

.lnch__wrk-crd-txt {
  font-size: 14px;
  line-height: 1.8;
  color: #333;
  margin: 0;
  position: relative;
  z-index: 1
}

@media (max-width: 1024px) {
  .lnch__ttl {
    flex-direction: column;
    gap: 24px
  }

  .lnch__ttl-img-wrp {
    width: 100%;
    height: 320px
  }

  .lnch__rdy-cols {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .lnch__exmpl-grd {
    grid-template-columns: 1fr
  }

  .lnch__prblm-inr {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .lnch__prblm-imgs {
    grid-template-columns: repeat(2, 1fr);
    display: grid
  }

  .lnch__wrk-grd {
    grid-template-columns: 1fr
  }
}

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

  .lnch__ttl-h {
    font-size: 26px;
    margin-bottom: 16px
  }

  .lnch__rdy {
    padding: 40px 16px
  }

  .lnch__rdy-h {
    font-size: 26px;
    margin-bottom: 24px
  }

  .lnch__rdy-intro {
    font-size: 15px;
    margin-bottom: 24px
  }

  .lnch__exmpl {
    padding: 40px 16px
  }

  .lnch__exmpl-h {
    font-size: 26px;
    margin-bottom: 24px
  }

  .lnch__exmpl-main {
    padding: 24px
  }

  .lnch__prblm {
    padding: 40px 16px
  }

  .lnch__prblm-h {
    font-size: 26px;
    margin-bottom: 24px
  }

  .lnch__prblm-imgs {
    grid-template-columns: 1fr
  }

  .lnch__wrk {
    padding: 40px 16px
  }

  .lnch__wrk-h {
    font-size: 26px;
    margin-bottom: 24px
  }

  .lnch__wrk-intro {
    font-size: 15px;
    margin-bottom: 40px
  }

  .lnch__wrk-prd {
    margin-bottom: 40px
  }

  .lnch__wrk-grd {
    margin-top: 40px
  }
}

@media (max-width: 375px) {
  .lnch__ttl-h {
    font-size: 20px
  }

  .lnch__rdy-h,
  .lnch__exmpl-h,
  .lnch__prblm-h,
  .lnch__wrk-h {
    font-size: 20px
  }

  .lnch__ttl-img-wrp {
    height: 240px
  }
}

.abt {
  background: #fff;
  color: #1a1a1a;
  overflow-x: clip
}

.abt__rad {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(ellipse at center, #EDFDFE 0%, #fff 68%);
  padding: 72px 24px;
  overflow: hidden
}

.abt__rad::before {
  content: '';
  position: absolute;
  top: 8%;
  right: 12%;
  width: 180px;
  height: 180px;
  border: 2px solid #FFFF40;
  opacity: .15;
  transform: rotate(25deg);
  border-radius: 20px
}

.abt__rad::after {
  content: '';
  position: absolute;
  bottom: 15%;
  left: 8%;
  width: 140px;
  height: 140px;
  background: #294CA3;
  opacity: .08;
  border-radius: 50%
}

.abt__rad-grid {
  max-width: 1140px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 40px;
  align-items: center;
  position: relative;
  z-index: 1
}

.abt__rad-img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 2px 12px 48px 0 #294ca321
}

.abt__rad-img-wrap::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(to bottom, transparent 0%, #00000059 100%);
  pointer-events: none
}

.abt__rad-img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block
}

.abt__rad-txt {
  padding: 24px 40px 24px 16px
}

.abt__rad-h {
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 24px;
  font-weight: 700;
  color: #294CA3
}

.abt__rad-p {
  font-size: 17px;
  line-height: 1.5;
  margin: 0;
  color: #2a2a2a;
  letter-spacing: .01em
}

.abt__nar {
  max-width: 620px;
  margin: 0 0 0 auto;
  padding: 72px 24px 72px 72px;
  background: #fff;
  position: relative
}

.abt__nar::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100vw;
  background: #fff;
  z-index: -1
}

.abt__nar-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 16px;
  font-weight: 700;
  color: #2a2a2a;
  position: relative;
  padding-top: 16px
}

.abt__nar-h::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 72px;
  height: 3px;
  background: linear-gradient(135deg, #FFFF40 0%, #294CA3 100%);
  border-radius: 3px
}

.abt__nar-intro {
  font-size: 17px;
  line-height: 1.5;
  margin: 0 0 40px;
  color: #2a2a2a;
  letter-spacing: .01em
}

.abt__nar-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}

.abt__nar-col p {
  font-size: 15px;
  line-height: 1.8;
  margin: 0 0 24px;
  color: #3a3a3a;
  letter-spacing: .005em
}

.abt__nar-col p:last-child {
  margin-bottom: 0
}

.abt__nar-col strong {
  font-weight: 700;
  color: #294CA3
}

.abt__prlx {
  position: relative;
  padding: 72px 24px;
  overflow: hidden;
  background: #f5f5f5
}

.abt__prlx-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(./visuals_folder/draft-main-pict16.jpg);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  opacity: .12;
  z-index: 0
}

.abt__prlx-inner {
  max-width: 1140px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.abt__prlx-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 16px;
  font-weight: 700;
  color: #2a2a2a;
  position: relative;
  padding-top: 16px;
  text-align: center
}

.abt__prlx-h::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 72px;
  height: 3px;
  background: linear-gradient(135deg, #FFFF40 0%, #294CA3 100%);
  border-radius: 3px
}

.abt__prlx-sub {
  font-size: 17px;
  line-height: 1.5;
  margin: 0 0 40px;
  color: #2a2a2a;
  text-align: center;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto
}

.abt__prlx-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px
}

.abt__feat-card {
  background: #fff;
  border-radius: 10px;
  padding: 24px;
  box-shadow: 2px 7px 18px 0 #294ca31c;
  display: flex;
  gap: 24px;
  align-items: flex-start;
  position: relative;
  overflow: hidden;
  transition: transform .45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.abt__feat-card:hover {
  transform: translateY(-4px);
  box-shadow: 2px 12px 48px 0 #294ca321
}

.abt__feat-img-wrap {
  flex-shrink: 0;
  width: 180px;
  height: 140px;
  border-radius: 5px;
  overflow: hidden;
  border: 2px solid #EDFDFE
}

.abt__feat-img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.abt__feat-txt h4 {
  font-size: 20px;
  line-height: 1.1;
  margin: 0 0 8px;
  font-weight: 700;
  color: #294CA3;
  letter-spacing: -.005em
}

.abt__feat-txt p {
  font-size: 15px;
  line-height: 1.8;
  margin: 0;
  color: #3a3a3a;
  letter-spacing: .005em
}

.abt__steps {
  background: linear-gradient(225deg, #1a1a1a 0%, #2a2a2a 100%);
  padding: 72px 24px;
  position: relative
}

.abt__steps-inner {
  max-width: 1140px;
  margin: 0 auto
}

.abt__steps-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 16px;
  font-weight: 700;
  color: #FFFF40;
  position: relative;
  padding-top: 16px
}

.abt__steps-h::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 72px;
  height: 3px;
  background: linear-gradient(135deg, #FFFF40 0%, #294CA3 100%);
  border-radius: 3px
}

.abt__steps-intro {
  font-size: 17px;
  line-height: 1.5;
  margin: 0 0 40px;
  color: #EDFDFE;
  letter-spacing: .01em
}

.abt__steps-list {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.abt__step {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 24px;
  position: relative
}

.abt__step:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 39px;
  top: 80px;
  bottom: -40px;
  width: 2px;
  background: linear-gradient(to bottom, #294CA3 0%, transparent 100%)
}

.abt__step-num {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FFFF40 0%, #294CA3 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  font-weight: 700;
  color: #1a1a1a;
  flex-shrink: 0;
  position: relative;
  box-shadow: 2px 7px 18px 0 #ffff401c;
  animation: abt-glow 3.2s ease-in-out infinite
}

@keyframes abt-glow {

  0%,
  100% {
    box-shadow: 2px 7px 18px 0 #ffff401c
  }

  50% {
    box-shadow: 2px 12px 48px 0 #ffff4047 0 0 24px 0 #ffff4026
  }
}

.abt__step-txt h5 {
  font-size: 20px;
  line-height: 1.1;
  margin: 0 0 8px;
  font-weight: 700;
  color: #EDFDFE;
  letter-spacing: -.005em
}

.abt__step-txt p {
  font-size: 15px;
  line-height: 1.8;
  margin: 0;
  color: #d0d0d0;
  letter-spacing: .005em
}

.abt__dash {
  max-width: 1140px;
  margin: 0 auto;
  padding: 72px 24px;
  background: #fff
}

.abt__dash-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 40px;
  font-weight: 700;
  color: #2a2a2a;
  text-align: center
}

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

.abt__dash-item {
  background: #fff;
  border: 2px dashed #294CA3;
  border-radius: 10px;
  padding: 24px;
  text-align: center;
  position: relative;
  transition: border-color .4s ease-in-out, transform .4s cubic-bezier(0.16, 1, 0.3, 1)
}

.abt__dash-item:hover {
  border-color: #FFFF40;
  transform: scale(1.03)
}

.abt__dash-badge {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #FFFF40 0%, #294CA3 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: #1a1a1a;
  box-shadow: 2px 3px 3px 0 #294ca314
}

.abt__dash-item h6 {
  font-size: 17px;
  line-height: 1.1;
  margin: 0 0 8px;
  font-weight: 700;
  color: #294CA3;
  letter-spacing: -.005em;
  text-transform: uppercase
}

.abt__dash-item p {
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
  color: #3a3a3a;
  letter-spacing: .005em
}

@media (max-width: 1024px) {
  .abt__rad-grid {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .abt__rad-img {
    height: 320px
  }

  .abt__rad-txt {
    padding: 16px
  }

  .abt__rad-h {
    font-size: 36px
  }

  .abt__nar {
    max-width: 100%;
    padding: 72px 24px;
    margin: 0
  }

  .abt__nar-cols {
    grid-template-columns: 1fr
  }

  .abt__prlx-grid {
    grid-template-columns: 1fr
  }

  .abt__dash-grid {
    grid-template-columns: 1fr
  }
}

@media (max-width: 768px) {
  .abt__rad {
    min-height: auto;
    padding: 40px 16px
  }

  .abt__rad-h {
    font-size: 26px;
    margin-bottom: 16px
  }

  .abt__rad-p {
    font-size: 15px
  }

  .abt__rad-img {
    height: 280px
  }

  .abt__nar {
    padding: 40px 16px
  }

  .abt__nar-h {
    font-size: 26px
  }

  .abt__prlx {
    padding: 40px 16px
  }

  .abt__prlx-h {
    font-size: 26px
  }

  .abt__prlx-bg {
    background-attachment: scroll
  }

  .abt__feat-card {
    flex-direction: column
  }

  .abt__feat-img-wrap {
    width: 100%;
    height: 200px
  }

  .abt__steps {
    padding: 40px 16px
  }

  .abt__steps-h {
    font-size: 26px
  }

  .abt__step {
    grid-template-columns: 60px 1fr;
    gap: 16px
  }

  .abt__step-num {
    width: 60px;
    height: 60px;
    font-size: 20px
  }

  .abt__step:not(:last-child)::after {
    left: 29px;
    top: 60px
  }

  .abt__dash {
    padding: 40px 16px
  }

  .abt__dash-h {
    font-size: 26px
  }
}

@media (max-width: 375px) {
  .abt__rad-h {
    font-size: 20px
  }

  .abt__nar-h,
  .abt__prlx-h,
  .abt__steps-h,
  .abt__dash-h {
    font-size: 20px
  }

  .abt__rad-p,
  .abt__nar-intro,
  .abt__prlx-sub,
  .abt__steps-intro {
    font-size: 14px
  }
}

.prc {
  background: #FFF;
  color: #1A1A1A;
  overflow-x: clip
}

.prc__intro {
  position: relative;
  padding: 72px 16px;
  background: linear-gradient(142deg, #294CA3 0%, #FFFF40 52%, #294CA3 100%);
  overflow: hidden
}

.prc__intro::before {
  content: '';
  position: absolute;
  top: 24px;
  left: 24px;
  right: 24px;
  bottom: 24px;
  border: 1px solid #edfdfe4d;
  pointer-events: none;
  border-radius: 3px
}

.prc__intro::after {
  content: '';
  position: absolute;
  top: 40px;
  left: 40px;
  right: 40px;
  bottom: 40px;
  border: 1px solid #edfdfe33;
  pointer-events: none;
  border-radius: 3px
}

.prc__intro-wrap {
  max-width: 1140px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  animation: prcReveal .48s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  clip-path: inset(0 0 100% 0)
}

@keyframes prcReveal {
  to {
    clip-path: inset(0 0 0 0)
  }
}

.prc__intro-h {
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #1A1A1A;
  margin: 0 0 24px;
  text-align: center
}

.prc__intro-txt {
  font-size: 20px;
  line-height: 1.5;
  color: #2A2A2A;
  max-width: 780px;
  margin: 0 auto;
  text-align: center
}

.prc__stages {
  padding: 72px 16px;
  background: radial-gradient(ellipse at 50% 50%, #EDFDFE 0%, #FFF 70%);
  position: relative
}

.prc__stages::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 180px;
  height: 180px;
  background: linear-gradient(135deg, transparent 49.5%, #294ca314 49.5%, #294ca314 50.5%, transparent 50.5%);
  pointer-events: none
}

.prc__stages-wrap {
  max-width: 1140px;
  margin: 0 auto
}

.prc__stages-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #1A1A1A;
  margin: 0 0 8px;
  position: relative;
  padding-top: 16px
}

.prc__stages-h::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 72px;
  height: 3px;
  background: #294CA3
}

.prc__stages-lead {
  font-size: 17px;
  line-height: 1.5;
  color: #3A3A3A;
  margin: 0 0 40px;
  max-width: 820px
}

.prc__stages-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start
}

.prc__stage-col {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.prc__stage {
  background: #FFF;
  border: 1px solid #294ca31f;
  border-radius: 10px;
  padding: 24px;
  box-shadow: 2px 3px 3px 0 #294ca314 2px 7px 18px 0 #294ca31c;
  transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1)
}

.prc__stage:hover {
  transform: translateY(-4px);
  box-shadow: 2px 7px 18px 0 #294ca31c 2px 12px 48px 0 #294ca321
}

.prc__stage--tall {
  min-height: 280px
}

.prc__stage--short {
  min-height: 200px
}

.prc__stage-num {
  font-size: 14px;
  line-height: 1.1;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #294CA3;
  font-weight: 700;
  margin: 0 0 16px
}

.prc__stage-ttl {
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #1A1A1A;
  margin: 0 0 16px
}

.prc__stage-desc {
  font-size: 15px;
  line-height: 1.5;
  color: #3A3A3A;
  margin: 0
}

.prc__roles {
  padding: 72px 16px;
  background: #FFF;
  position: relative
}

.prc__roles-wrap {
  max-width: 1140px;
  margin: 0 auto
}

.prc__roles-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  margin: 0 0 40px
}

.prc__roles-txt {
  flex: 1
}

.prc__roles-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #1A1A1A;
  margin: 0 0 8px;
  position: relative;
  padding-top: 16px
}

.prc__roles-h::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 72px;
  height: 3px;
  background: #FFFF40
}

.prc__roles-lead {
  font-size: 17px;
  line-height: 1.5;
  color: #3A3A3A;
  margin: 0
}

.prc__roles-vis {
  flex: 0 0 420px;
  position: relative;
  height: 280px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 2px 7px 18px 0 #294ca31c 2px 12px 48px 0 #294ca321
}

.prc__roles-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .85;
  transition: opacity .45s ease-in-out, transform .45s ease-in-out
}

.prc__roles-vis:hover .prc__roles-img {
  opacity: 1;
  transform: scale(1.05)
}

.prc__roles-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.prc__role {
  background: linear-gradient(162deg, #EDFDFE 0%, #FFF 100%);
  border: 1px solid #294ca31f;
  border-radius: 10px;
  padding: 24px;
  position: relative;
  animation: prcReveal .52s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  clip-path: inset(0 0 100% 0);
  animation-delay: calc(var(--delay) * 0.08s)
}

.prc__role:nth-child(1) {
  --delay: 0
}

.prc__role:nth-child(2) {
  --delay: 1
}

.prc__role:nth-child(3) {
  --delay: 2
}

.prc__role:nth-child(4) {
  --delay: 3
}

.prc__role--accent {
  background: linear-gradient(162deg, #FFFF40 0%, #EDFDFE 100%);
  border-color: #294ca32e
}

.prc__role-icon {
  width: 48px;
  height: 48px;
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFF;
  border-radius: 5px;
  box-shadow: 2px 3px 3px 0 #294ca314
}

.prc__role-svg {
  width: 28px;
  height: 28px
}

.prc__role-ttl {
  font-size: 17px;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #1A1A1A;
  margin: 0 0 8px;
  font-weight: 700
}

.prc__role-desc {
  font-size: 14px;
  line-height: 1.5;
  color: #3A3A3A;
  margin: 0
}

.prc__timeline {
  padding: 72px 16px;
  background: linear-gradient(180deg, #EDFDFE 0%, #FFF 100%);
  position: relative
}

.prc__timeline::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 180px;
  height: 180px;
  background: linear-gradient(45deg, transparent 49.5%, #ffff4014 49.5%, #ffff4014 50.5%, transparent 50.5%);
  pointer-events: none
}

.prc__timeline-wrap {
  max-width: 1140px;
  margin: 0 auto
}

.prc__timeline-h {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #1A1A1A;
  margin: 0 0 8px;
  position: relative;
  padding-top: 16px;
  text-align: center
}

.prc__timeline-h::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 72px;
  height: 3px;
  background: #294CA3
}

.prc__timeline-intro {
  font-size: 17px;
  line-height: 1.5;
  color: #3A3A3A;
  margin: 0 auto 40px;
  max-width: 720px;
  text-align: center
}

.prc__timeline-div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0 0 40px
}

.prc__timeline-line {
  width: 80px;
  height: 2px;
  background: #294CA3
}

.prc__timeline-shape {
  width: 12px;
  height: 12px;
  background: #FFFF40;
  border: 2px solid #294CA3;
  border-radius: 32px
}

.prc__timeline-flow {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.prc__timeline-row {
  display: flex;
  gap: 24px;
  align-items: stretch
}

.prc__timeline-item {
  flex: 1;
  background: #FFF;
  border: 1px solid #294ca31f;
  border-radius: 10px;
  padding: 24px;
  position: relative;
  box-shadow: 2px 3px 3px 0 #294ca314;
  transition: transform .38s ease-in-out
}

.prc__timeline-item:hover {
  transform: translateX(8px)
}

.prc__timeline-label {
  font-size: 14px;
  line-height: 1.1;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #294CA3;
  font-weight: 700;
  margin: 0 0 16px
}

.prc__timeline-ttl {
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #1A1A1A;
  margin: 0 0 8px
}

.prc__timeline-desc {
  font-size: 15px;
  line-height: 1.5;
  color: #3A3A3A;
  margin: 0
}

.prc__timeline-vis {
  width: 380px;
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 2px 7px 18px 0 #294ca31c
}

.prc__timeline-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .75
}

.prc__quote {
  background: linear-gradient(135deg, #294CA3 0%, #EDFDFE 100%);
  border-radius: 10px;
  padding: 40px;
  margin: 40px 0 0;
  position: relative;
  box-shadow: 2px 7px 18px 0 #294ca31c 2px 12px 48px 0 #294ca321
}

.prc__quote-txt {
  font-size: 20px;
  line-height: 1.5;
  color: #1A1A1A;
  margin: 0 0 16px;
  font-style: italic
}

.prc__quote-accent {
  color: #FFF;
  font-weight: 700;
  background: #294CA3;
  padding: 0 8px;
  border-radius: 3px
}

.prc__quote-auth {
  font-size: 15px;
  line-height: 1.5;
  color: #2A2A2A;
  margin: 0;
  font-weight: 700
}

@media (max-width: 1024px) {
  .prc__intro {
    padding: 56px 16px
  }

  .prc__intro-h {
    font-size: 36px;
    margin: 0 0 16px
  }

  .prc__intro-txt {
    font-size: 17px
  }

  .prc__stages,
  .prc__roles,
  .prc__timeline {
    padding: 56px 16px
  }

  .prc__stages-h,
  .prc__roles-h,
  .prc__timeline-h {
    font-size: 26px
  }

  .prc__stages-grid {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .prc__stage--tall,
  .prc__stage--short {
    min-height: auto
  }

  .prc__roles-top {
    flex-direction: column;
    gap: 24px
  }

  .prc__roles-vis {
    flex: 0 0 auto;
    width: 100%;
    height: 240px
  }

  .prc__roles-grid {
    grid-template-columns: 1fr 1fr
  }

  .prc__timeline-row {
    flex-direction: column
  }

  .prc__timeline-vis {
    width: 100%;
    height: 220px
  }

  .prc__quote {
    padding: 24px
  }

  .prc__quote-txt {
    font-size: 17px
  }
}

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

  .prc__intro-h {
    font-size: 26px
  }

  .prc__intro-txt {
    font-size: 15px
  }

  .prc__stages,
  .prc__roles,
  .prc__timeline {
    padding: 40px 16px
  }

  .prc__stages-h,
  .prc__roles-h,
  .prc__timeline-h {
    font-size: 20px
  }

  .prc__stages-lead,
  .prc__roles-lead,
  .prc__timeline-intro {
    font-size: 15px
  }

  .prc__roles-grid {
    grid-template-columns: 1fr
  }

  .prc__timeline-div {
    margin: 0 0 24px
  }

  .prc__timeline-line {
    width: 48px
  }
}

@media (max-width: 375px) {

  .prc__intro::before,
  .prc__intro::after {
    display: none
  }

  .prc__stage,
  .prc__role,
  .prc__timeline-item {
    padding: 16px
  }

  .prc__quote {
    padding: 16px
  }
}

.succ {
  background: linear-gradient(168deg, #EDFDFE 0%, #fff 100%);
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 16px
}

.succ__wrap {
  max-width: 620px;
  width: 100%;
  background: #fff;
  border-radius: 20px;
  padding: 72px 40px;
  text-align: center;
  box-shadow: 2px 7px 18px 0 #294ca31c
}

.succ__ico {
  width: 88px;
  height: 88px;
  margin: 0 auto 40px;
  background: linear-gradient(135deg, #294CA3 0%, #1a3270 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  animation: succ-appear .5s cubic-bezier(0.16, 1, 0.3, 1)
}

@keyframes succ-appear {
  from {
    opacity: 0;
    transform: scale(0.8)
  }

  to {
    opacity: 1;
    transform: scale(1)
  }
}

.succ__ico::after {
  content: '';
  width: 32px;
  height: 18px;
  border-left: 5px solid #FFFF40;
  border-bottom: 5px solid #FFFF40;
  transform: rotate(-45deg) translateY(-3px)
}

.succ__ttl {
  font-size: 36px;
  line-height: 1.1;
  color: #294CA3;
  margin: 0 0 24px;
  letter-spacing: -.02em
}

.succ__txt {
  font-size: 17px;
  line-height: 1.5;
  color: #2a2a2a;
  margin: 0 0 40px
}

.succ__txt:last-of-type {
  margin-bottom: 40px
}

.succ__act {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap
}

.succ__btn {
  display: inline-block;
  padding: 16px 40px;
  font-size: 15px;
  line-height: 1.1;
  text-decoration: none;
  border-radius: 10px;
  transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1);
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 600
}

.succ__btn--prim {
  background: #294CA3;
  color: #fff;
  box-shadow: 2px 3px 3px 0 #294ca314
}

.succ__btn--prim:hover {
  transform: translateY(-2px);
  box-shadow: 2px 12px 48px 0 #294ca321
}

.succ__btn--sec {
  background: transparent;
  color: #294CA3;
  border: 2px solid #294CA3
}

.succ__btn--sec:hover {
  background: #EDFDFE;
  transform: translateY(-1px)
}

.succ__info {
  margin-top: 72px;
  padding-top: 40px;
  border-top: 2px solid #EDFDFE
}

.succ__meta {
  font-size: 14px;
  line-height: 1.5;
  color: #5a5a5a;
  margin: 0 0 8px
}

.succ__meta:last-child {
  margin-bottom: 0
}

.succ__lnk {
  color: #294CA3;
  text-decoration: none;
  transition: opacity .38s ease-in-out
}

.succ__lnk:hover {
  opacity: .7
}

@media (max-width: 768px) {
  .succ__wrap {
    padding: 40px 24px
  }

  .succ__ttl {
    font-size: 26px
  }

  .succ__txt {
    font-size: 15px
  }

  .succ__act {
    flex-direction: column
  }

  .succ__btn {
    width: 100%
  }

  .succ__info {
    margin-top: 40px;
    padding-top: 24px
  }
}

@media (max-width: 375px) {
  .succ {
    padding: 24px 16px
  }

  .succ__ico {
    width: 72px;
    height: 72px;
    margin-bottom: 24px
  }

  .succ__ico::after {
    width: 26px;
    height: 14px;
    border-left-width: 4px;
    border-bottom-width: 4px
  }
}