body {
  margin: 0;
  scrollbar-gutter: stable;
  min-height: 100vh;
  word-break: break-word;
  overflow-wrap: anywhere;
  font-family: 'Montserrat', sans-serif;
  background: #FFF;
  color: #1d1d1d;
  font-size: 15px;
  line-height: 1.6
}

.hdr {
  border-bottom: 2px solid #05A886;
  background: linear-gradient(to bottom, #FFF 0%, #F9FED4 100%);
  padding: 40px 16px;
  position: relative
}

.hdr::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #05A886 0%, #7233F0 50%, #05A886 100%)
}

.hdrcontainer {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px
}

.brandarea {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px
}

.logowrap {
  background: #ffffffd9;
  padding: 16px;
  border-radius: 20px;
  box-shadow: 0 7px 22px 0 #05a88617;
  border: 1px solid #05a88633;
  backdrop-filter: blur(8px)
}

.logoimg {
  display: block;
  width: 44px;
  height: 44px;
  object-fit: contain
}

.tagline {
  font-size: 14px;
  color: #2d2d2d;
  font-weight: 400;
  letter-spacing: .02em;
  text-align: center;
  margin: 0
}

.statusbadge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #FFF;
  padding: 8px 16px;
  border-radius: 36px;
  border: 1px solid #05A886;
  font-size: 14px;
  color: #2d2d2d;
  font-weight: 700
}

.statusdot {
  width: 8px;
  height: 8px;
  background: #05A886;
  border-radius: 50%;
  animation: pulsedot 2s ease-in-out infinite
}

@keyframes pulsedot {

  0%,
  100% {
    opacity: 1
  }

  50% {
    opacity: .4
  }
}

.navprimary {
  width: 100%
}

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

.navitem {
  margin: 0
}

.navlink {
  display: block;
  padding: 16px 40px;
  font-size: 15px;
  font-weight: 700;
  color: #2d2d2d;
  text-decoration: none;
  background: #FFF;
  border: 2px solid #7233F0;
  border-radius: 6px;
  transition: background-color .16s cubic-bezier(0.4, 0, 0.6, 1), color .16s cubic-bezier(0.4, 0, 0.6, 1), border-color .16s cubic-bezier(0.4, 0, 0.6, 1), transform .12s ease-out;
  position: relative
}

.navlink:hover {
  background: #7233F0;
  color: #FFF;
  border-color: #7233F0;
  transform: translateY(-2px)
}

.navlink:focus {
  outline: none
}

.navlink:focus::before {
  content: 'fokus';
  position: absolute;
  top: -20px;
  left: 8px;
  font-size: 14px;
  color: #7233F0;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .05em
}

@media (max-width: 640px) {
  .hdr {
    padding: 40px 16px
  }

  .hdrcontainer {
    gap: 40px
  }

  .navlist {
    flex-direction: column;
    align-items: stretch;
    gap: 8px
  }

  .navlink {
    text-align: center;
    padding: 16px
  }
}

.ftr {
  background: linear-gradient(to bottom, #F9FED4 0%, #FFF 100%);
  border-top: 2px solid #05A886;
  padding: 80px 16px 40px;
  position: relative
}

.ftr::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #7233F0 0%, #05A886 50%, #7233F0 100%)
}

.ftrcontainer {
  max-width: 1170px;
  margin: 0 auto
}

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

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

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

.ftrlogowrap {
  background: #ffffffd9;
  padding: 16px;
  border-radius: 20px;
  box-shadow: 0 7px 22px 0 #7233f017;
  border: 1px solid #7233f033
}

.ftrlogoimg {
  display: block;
  width: 44px;
  height: 44px;
  object-fit: contain
}

.ftrbrandname {
  font-size: 17px;
  font-weight: 700;
  color: #2d2d2d;
  margin: 0
}

.ftrsectiontitle {
  font-size: 17px;
  font-weight: 700;
  color: #2d2d2d;
  margin: 0 0 16px;
  letter-spacing: -.01em
}

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

.ftrnavitem {
  margin: 0
}

.ftrnavlink {
  display: inline-block;
  font-size: 15px;
  font-weight: 400;
  color: #2d2d2d;
  text-decoration: none;
  transition: color .14s ease-out, transform .12s ease-out;
  position: relative;
  padding-left: 20px
}

.ftrnavlink::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: #7233F0;
  border-radius: 50%;
  transition: background-color .14s ease-out, transform .12s ease-out
}

.ftrnavlink:hover {
  color: #7233F0;
  transform: translateX(4px)
}

.ftrnavlink:hover::before {
  background: #05A886;
  transform: translateY(-50%) scale(1.3)
}

.ftrnavlink:focus {
  outline: none;
  color: #7233F0
}

.ftrnavlink:focus::after {
  content: 'fokus';
  position: absolute;
  top: -18px;
  left: 0;
  font-size: 14px;
  color: #05A886;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .05em
}

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

.contactitem {
  margin: 0;
  display: flex;
  align-items: flex-start;
  gap: 16px
}

.contacticon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 2px
}

.contacticonsvg {
  width: 100%;
  height: 100%;
  fill: #05A886
}

.contactlink {
  font-size: 15px;
  font-weight: 400;
  color: #2d2d2d;
  text-decoration: none;
  transition: color .14s ease-out;
  word-break: break-all
}

.contactlink:hover {
  color: #7233F0
}

.contactlink:focus {
  outline: none;
  color: #7233F0
}

.contacttext {
  font-size: 15px;
  font-weight: 400;
  color: #2d2d2d;
  margin: 0
}

.ftrbottom {
  padding-top: 40px;
  border-top: 1px solid #05a88633;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px
}

.copyright {
  font-size: 14px;
  color: #4d4d4d;
  text-align: center;
  margin: 0
}

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

.sociallink {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: #FFF;
  border: 2px solid #05A886;
  border-radius: 20px;
  text-decoration: none;
  transition: background-color .16s cubic-bezier(0.4, 0, 0.6, 1), border-color .16s cubic-bezier(0.4, 0, 0.6, 1), transform .12s ease-out
}

.sociallink:hover {
  background: #05A886;
  border-color: #05A886;
  transform: translateY(-2px)
}

.sociallink:focus {
  outline: none;
  background: #7233F0;
  border-color: #7233F0
}

.socialiconsvg {
  width: 20px;
  height: 20px;
  fill: #2d2d2d;
  transition: fill .16s cubic-bezier(0.4, 0, 0.6, 1)
}

.sociallink:hover .socialiconsvg {
  fill: #FFF
}

.sociallink:focus .socialiconsvg {
  fill: #FFF
}

@media (max-width: 640px) {
  .ftr {
    padding: 40px 16px
  }

  .ftrgrid {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-bottom: 40px
  }

  .ftrbottom {
    padding-top: 40px
  }
}

.consentbox {
  position: fixed;
  top: 16px;
  left: 16px;
  width: 360px;
  max-width: calc(100vw - 32px);
  background: #FFF;
  border: 2px solid #7233F0;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 9px 44px 0 #7233f01f;
  z-index: 1500;
  display: none
}

.consentvisible {
  display: block
}

.consenttxt {
  font-size: 15px;
  line-height: 1.6;
  color: #2d2d2d;
  margin: 0 0 40px
}

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

.consentbtn {
  padding: 16px 40px;
  font-size: 15px;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
  border: 2px solid #7233F0;
  border-radius: 6px;
  background: transparent;
  color: #7233F0;
  cursor: pointer;
  transition: background-color .16s cubic-bezier(0.4, 0, 0.6, 1), color .16s cubic-bezier(0.4, 0, 0.6, 1), border-color .16s cubic-bezier(0.4, 0, 0.6, 1);
  width: 100%;
  text-align: center
}

.consentbtn:hover {
  background: #7233F0;
  color: #FFF;
  border-color: #7233F0
}

.consentbtn:focus {
  outline: none;
  background: #05A886;
  color: #FFF;
  border-color: #05A886
}

.consentcats {
  margin: 0 0 40px;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.consentcat {
  display: flex;
  align-items: flex-start;
  gap: 16px
}

.consentchk {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  flex-shrink: 0;
  cursor: pointer;
  accent-color: #7233F0
}

.consentchk:disabled {
  cursor: not-allowed;
  opacity: .5
}

.consentlbl {
  font-size: 15px;
  color: #2d2d2d;
  cursor: pointer;
  flex: 1;
  line-height: 1.6
}

.consentlbl[for="consentessential"] {
  cursor: not-allowed;
  opacity: .7
}

.consentdetailview {
  display: none
}

.consentshowdetail {
  display: block
}

.consentbackbtn {
  padding: 16px 40px;
  font-size: 15px;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
  border: 2px solid #05A886;
  border-radius: 6px;
  background: transparent;
  color: #05A886;
  cursor: pointer;
  transition: background-color .16s cubic-bezier(0.4, 0, 0.6, 1), color .16s cubic-bezier(0.4, 0, 0.6, 1), border-color .16s cubic-bezier(0.4, 0, 0.6, 1);
  width: 100%;
  text-align: center;
  margin-bottom: 16px
}

.consentbackbtn:hover {
  background: #05A886;
  color: #FFF;
  border-color: #05A886
}

.consentbackbtn:focus {
  outline: none;
  background: #7233F0;
  color: #FFF;
  border-color: #7233F0
}

.datasaleopt {
  margin: 40px 0;
  padding: 40px;
  background: linear-gradient(135deg, #05a8860d 0%, #7233f00d 100%);
  border-radius: 20px;
  border: 1px solid #7233f033
}

.datasaletitle {
  font-size: 17px;
  font-weight: 700;
  color: #2d2d2d;
  margin: 0 0 16px
}

.datasaledesc {
  font-size: 15px;
  line-height: 1.6;
  color: #2d2d2d;
  margin: 0 0 16px
}

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

.prefslink {
  display: inline-block;
  font-size: 15px;
  font-weight: 400;
  color: #2d2d2d;
  text-decoration: none;
  transition: color .14s ease-out;
  position: relative;
  padding-left: 20px
}

.prefslink::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: #7233F0;
  border-radius: 50%;
  transition: background-color .14s ease-out
}

.prefslink:hover {
  color: #7233F0
}

.prefslink:hover::before {
  background: #05A886
}

.prefslink:focus {
  outline: none;
  color: #7233F0
}

@media (max-width: 640px) {
  .consentbox {
    top: 16px;
    left: 16px;
    right: 16px;
    width: auto;
    max-width: none;
    padding: 40px 16px
  }

  .datasaleopt {
    padding: 40px 16px
  }
}

.doc-body {
  max-width: 1170px;
  margin: 0 auto;
  padding: 80px 16px
}

.doc-body p {
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: 16px;
  color: #1a1a1a
}

.doc-body p:last-child {
  margin-bottom: 0
}

.doc-body ul,
.doc-body ol {
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: 16px;
  padding-left: 40px;
  color: #1a1a1a
}

.doc-body ul {
  list-style-type: disc
}

.doc-body ol {
  list-style-type: decimal
}

.doc-body li {
  margin-bottom: 8px
}

.doc-body li:last-child {
  margin-bottom: 0
}

.doc-body a {
  color: #05A886;
  text-decoration: none;
  transition: color .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.doc-body a:hover {
  color: #7233F0
}

.doc-body hr {
  border: none;
  border-top: 1px solid #d4d4d4;
  margin: 40px 0
}

.doc-body div {
  margin-bottom: 40px
}

.doc-body div:last-child {
  margin-bottom: 0
}

@media (max-width: 640px) {
  .doc-body {
    padding: 40px 16px
  }

  .doc-body p,
  .doc-body ul,
  .doc-body ol {
    font-size: 15px
  }

  .doc-body ul,
  .doc-body ol {
    padding-left: 16px
  }

  .doc-body hr {
    margin: 16px 0
  }

  .doc-body div {
    margin-bottom: 16px
  }
}

.presrel {
  background: #fff;
  color: #1a1a1a
}

.presrel .topzone {
  position: relative;
  padding: 80px 16px;
  background: linear-gradient(17deg, #05A886 0%, #fff 100%);
  overflow: hidden
}

.presrel .topzone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(0deg, #00000005 0px, #00000005 1px, transparent 1px, transparent 40px), repeating-linear-gradient(90deg, #00000005 0px, #00000005 1px, transparent 1px, transparent 40px);
  opacity: .3;
  pointer-events: none
}

.presrel .topwrap {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px
}

.presrel .imghold {
  width: 100%;
  max-width: 680px;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% 85%, 85% 100%, 0 100%)
}

.presrel .imghold::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #7233f066 0%, transparent 60%);
  pointer-events: none
}

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

.presrel .txtctr {
  text-align: center;
  max-width: 740px
}

.presrel .mhead {
  font-size: 48px;
  line-height: 1.2;
  margin: 0 0 16px;
  letter-spacing: -.02em;
  color: #0a0a0a
}

.presrel .tagln {
  font-size: 17px;
  line-height: 1.6;
  margin: 0 0 40px;
  color: #2a2a2a
}

.presrel .actlinks {
  display: flex;
  flex-direction: row;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap
}

.presrel .actlinks a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 40px;
  background: #7233F0;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  font-size: 15px;
  transition: filter .16s ease-out;
  box-shadow: 0 7px 22px 0 #7233f017
}

.presrel .actlinks a:hover {
  filter: brightness(1.15)
}

.presrel .actlinks a:nth-child(2) {
  background: #05A886;
  box-shadow: 0 7px 22px 0 #05a88617
}

.presrel .divdash {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  height: 1px
}

.presrel .divdash::before,
.presrel .divdash::after {
  content: '';
  width: 80px;
  height: 2px;
  background: #05A886
}

.presrel .annczone {
  padding: 80px 16px;
  background: #fafafa;
  position: relative
}

.presrel .annczone::before {
  content: '„';
  position: absolute;
  top: 40px;
  right: 80px;
  font-size: 320px;
  line-height: 1;
  color: #05A886;
  opacity: .04;
  font-weight: 700;
  pointer-events: none
}

.presrel .anncwrap {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px
}

.presrel .maincol {
  display: flex;
  flex-direction: column;
  gap: 40px
}

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

.presrel .annchead {
  font-size: 20px;
  line-height: 1.2;
  margin: 0 0 16px;
  color: #0a0a0a;
  letter-spacing: -.01em;
  position: relative;
  padding-left: 40px
}

.presrel .annchead::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  width: 24px;
  height: 24px;
  background: #7233F0;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)
}

.presrel .anncpara {
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 16px;
  color: #2a2a2a
}

.presrel .anncpara:last-child {
  margin-bottom: 0
}

.presrel .acntlabel {
  padding: 16px;
  background: #fff;
  border-radius: 4px;
  border: 1px solid #e5e5e5;
  font-size: 14px;
  line-height: 1.6;
  color: #3a3a3a;
  box-shadow: 0 2px 3px 0 #05a8860f;
  transition: transform .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.presrel .acntlabel:hover {
  transform: translateY(-2px) scale(1.02)
}

.presrel .acntlabel strong {
  display: block;
  color: #05A886;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 14px
}

.presrel .metrzone {
  padding: 80px 16px;
  background: #fff;
  position: relative;
  overflow: hidden
}

.presrel .metrzone::before {
  content: '';
  position: absolute;
  top: -100px;
  left: -100px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, #7233f014 0%, transparent 70%);
  animation: metrshift 12s ease-in-out infinite;
  pointer-events: none
}

@keyframes metrshift {

  0%,
  100% {
    transform: translate(0, 0)
  }

  33% {
    transform: translate(200px, 150px)
  }

  66% {
    transform: translate(-50px, 250px)
  }
}

.presrel .metrwrap {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px
}

.presrel .metrhead {
  font-size: 20px;
  line-height: 1.2;
  margin: 0;
  color: #0a0a0a;
  text-align: center;
  letter-spacing: -.01em
}

.presrel .metrgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  position: relative
}

.presrel .metrcard {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 40px 16px;
  background: linear-gradient(17deg, #F9FED4 0%, #fff 100%);
  border-radius: 20px;
  box-shadow: 0 9px 44px 0 #7233f01f;
  transition: transform .14s ease-out;
  position: relative
}

.presrel .metrcard:nth-child(2) {
  transform: translateY(40px)
}

.presrel .metrcard:hover {
  transform: translateY(-8px) perspective(800px) rotateX(2deg)
}

.presrel .metrcard:nth-child(2):hover {
  transform: translateY(32px) perspective(800px) rotateX(2deg)
}

.presrel .metrnum {
  font-size: 48px;
  line-height: 1;
  color: #7233F0;
  font-weight: 700;
  margin: 0
}

.presrel .metrlabel {
  font-size: 15px;
  line-height: 1.6;
  color: #2a2a2a;
  text-align: center;
  margin: 0
}

.presrel .closzone {
  padding: 80px 16px;
  background: #0a0a0a;
  position: relative
}

.presrel .closwrap {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: center
}

.presrel .closhead {
  font-size: 20px;
  line-height: 1.2;
  margin: 0;
  color: #fff;
  text-align: center;
  letter-spacing: -.01em
}

.presrel .clostxt {
  font-size: 15px;
  line-height: 1.6;
  color: #e5e5e5;
  text-align: center;
  max-width: 680px;
  margin: 0
}

.presrel .closbtn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 40px;
  background: #fff;
  color: #0a0a0a;
  text-decoration: none;
  border-radius: 36px;
  font-size: 15px;
  transition: filter .2s cubic-bezier(0.4, 0, 0.6, 1);
  box-shadow: 0 7px 22px 0 #ffffff17
}

.presrel .closbtn:hover {
  filter: brightness(0.92)
}

@media (max-width: 1024px) {
  .presrel .anncwrap {
    grid-template-columns: 1fr
  }

  .presrel .metrgrid {
    grid-template-columns: repeat(2, 1fr)
  }

  .presrel .metrcard:nth-child(2) {
    transform: translateY(0)
  }

  .presrel .metrcard:nth-child(2):hover {
    transform: translateY(-8px) perspective(800px) rotateX(2deg)
  }
}

@media (max-width: 640px) {
  .presrel .topzone {
    padding: 40px 16px
  }

  .presrel .imghold img {
    height: 280px
  }

  .presrel .mhead {
    font-size: 20px
  }

  .presrel .tagln {
    font-size: 15px
  }

  .presrel .actlinks {
    flex-direction: column;
    width: 100%
  }

  .presrel .actlinks a {
    width: 100%;
    justify-content: center
  }

  .presrel .annczone,
  .presrel .metrzone,
  .presrel .closzone {
    padding: 40px 16px
  }

  .presrel .annchead,
  .presrel .metrhead,
  .presrel .closhead {
    font-size: 17px
  }

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

  .presrel .metrcard {
    padding: 40px 16px
  }

  .presrel .metrnum {
    font-size: 20px
  }

  .presrel .annczone::before {
    font-size: 180px;
    right: 16px;
    top: 20px
  }
}

.launch {
  background: #fafbfc;
  padding: 0;
  margin: 0
}

.launch .ttlblk {
  max-width: 1170px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #e8eaed;
  border-top: none;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  position: relative;
  padding: 80px 40px 160px;
  overflow: hidden
}

.launch .ttlblk::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 20% 80%, #05a88614, transparent 60%);
  pointer-events: none;
  z-index: 1
}

.launch .ttlblk::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(17deg, #05A886, #fff);
  z-index: 2
}

.launch .ttlgrd {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 80px;
  align-items: start;
  position: relative;
  z-index: 2
}

.launch .ttlcnt {
  padding-top: 40px
}

.launch .ttlcnt h1 {
  font-size: 48px;
  line-height: 1.2;
  color: #1a1d23;
  margin: 0 0 16px;
  letter-spacing: -.02em
}

.launch .ttlcnt h1 .hlt {
  color: #05A886;
  font-style: italic;
  font-size: 52px
}

.launch .ttlcnt .dsc {
  font-size: 17px;
  line-height: 1.6;
  color: #4a5264;
  margin: 0
}

.launch .ttlimgwrp {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 9px 44px 0 #05a8861f
}

.launch .ttlimgwrp::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at top left, #0000004d, transparent 50%), radial-gradient(circle at top right, #0000004d, transparent 50%), radial-gradient(circle at bottom left, #0000004d, transparent 50%), radial-gradient(circle at bottom right, #0000004d, transparent 50%);
  pointer-events: none;
  z-index: 1
}

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

.launch .dstngsh {
  max-width: 1170px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #e8eaed;
  border-radius: 20px;
  padding: 80px 40px;
  position: relative
}

.launch .dstngsh::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(ellipse at 80% 20%, #7233f00f, transparent 70%);
  pointer-events: none;
  border-radius: 20px
}

.launch .dstngsh::after {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: 16px;
  bottom: 16px;
  border: 1px solid #e8eaed;
  border-radius: 16px;
  pointer-events: none
}

.launch .dstcnt {
  position: relative;
  z-index: 1;
  max-width: 820px
}

.launch .dstcnt h2 {
  font-size: 48px;
  line-height: 1.2;
  color: #1a1d23;
  margin: 0 0 40px;
  letter-spacing: -.01em
}

.launch .dstcnt h2::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #7233F0;
  border-radius: 4px;
  margin-right: 16px;
  transform: translateY(-8px)
}

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

.launch .dstitm {
  background: #f8f9fa;
  border-radius: 6px;
  padding: 40px;
  border: 1px solid #e8eaed;
  transition: box-shadow .18s cubic-bezier(0.4, 0, 0.6, 1), transform .16s ease-out
}

.launch .dstitm:hover {
  box-shadow: 0 7px 22px 0 #7233f017;
  transform: translateY(-2px)
}

.launch .dstitm h3 {
  font-size: 20px;
  line-height: 1.2;
  color: #1a1d23;
  margin: 0 0 16px
}

.launch .dstitm p {
  font-size: 15px;
  line-height: 1.6;
  color: #4a5264;
  margin: 0
}

.launch .blngs {
  max-width: 1170px;
  margin: 80px auto 0;
  background: linear-gradient(17deg, #05A886, #fff);
  border-radius: 20px;
  padding: 80px 40px;
  position: relative;
  overflow: hidden
}

.launch .blngs::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #fff;
  opacity: .4
}

.launch .blngs::after {
  content: '';
  position: absolute;
  inset: 16px;
  border: 2px solid #ffffff4d;
  border-radius: 16px;
  pointer-events: none
}

.launch .blngscnt {
  position: relative;
  z-index: 1
}

.launch .blngscnt h2 {
  font-size: 48px;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 40px;
  letter-spacing: -.01em;
  text-align: center
}

.launch .blngsgrd {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  max-width: 920px;
  margin: 0 auto
}

.launch .blngsclmn h4 {
  font-size: 17px;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 16px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 600
}

.launch .blngsclmn ul {
  list-style: none;
  padding: 0;
  margin: 0
}

.launch .blngsclmn li {
  font-size: 15px;
  line-height: 2;
  color: #fff;
  padding-left: 24px;
  position: relative
}

.launch .blngsclmn li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  width: 12px;
  height: 2px;
  background: #F9FED4
}

.launch .hsttn {
  max-width: 1170px;
  margin: 80px auto 0;
  background: #fff;
  border: 1px solid #e8eaed;
  border-radius: 36px;
  padding: 80px 40px;
  position: relative
}

.launch .hsttn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 0% 0%, #05a8860d, transparent 40%), radial-gradient(circle at 100% 0%, #7233f00d, transparent 40%), radial-gradient(circle at 0% 100%, #7233f00d, transparent 40%), radial-gradient(circle at 100% 100%, #05a8860d, transparent 40%);
  border-radius: 36px;
  pointer-events: none
}

.launch .hsttnflx {
  display: flex;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 1
}

.launch .hsttnimgwrp {
  flex-shrink: 0;
  width: 360px
}

.launch .hsttnimgwrp img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
  box-shadow: 0 7px 22px 0 #05a88617
}

.launch .hsttncnt h2 {
  font-size: 48px;
  line-height: 1.2;
  color: #1a1d23;
  margin: 0 0 16px;
  letter-spacing: -.01em
}

.launch .hsttncnt p {
  font-size: 17px;
  line-height: 1.6;
  color: #4a5264;
  margin: 0 0 16px
}

.launch .hsttncnt p:last-child {
  margin-bottom: 0
}

.launch .avlbl {
  max-width: 1170px;
  margin: 80px auto 0;
  background: #1a1d23;
  border-radius: 20px;
  padding: 80px 40px;
  position: relative;
  overflow: hidden
}

.launch .avlbl::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 10% 10%, #05a8861f, transparent 50%), radial-gradient(circle at 90% 90%, #7233f01f, transparent 50%);
  pointer-events: none
}

.launch .avlblcnt {
  position: relative;
  z-index: 1
}

.launch .avlblcnt h2 {
  font-size: 48px;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 40px;
  letter-spacing: -.01em
}

.launch .avlblcnt h2::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background: #F9FED4;
  border-radius: 4px;
  margin-right: 16px;
  transform: translateY(-6px)
}

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

.launch .avlblcrd {
  background: #ffffff0a;
  border: 1px solid #ffffff14;
  border-radius: 6px;
  padding: 40px;
  transition: background .16s ease-out, border-color .14s ease-out, filter .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.launch .avlblcrd:hover {
  background: #ffffff14;
  border-color: #05a8864d;
  filter: brightness(1.15)
}

.launch .avlblcrd h3 {
  font-size: 20px;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 16px
}

.launch .avlblcrd p {
  font-size: 15px;
  line-height: 1.6;
  color: #ffffffbf;
  margin: 0
}

.launch .avlblimgwrp {
  width: 100%;
  height: 180px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 16px
}

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

@media (max-width: 1024px) {
  .launch .ttlblk {
    padding: 40px 40px 80px
  }

  .launch .ttlgrd {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .launch .ttlimgwrp {
    max-width: 480px;
    margin: 0 auto
  }

  .launch .ttlcnt h1 {
    font-size: 40px
  }

  .launch .ttlcnt h1 .hlt {
    font-size: 44px
  }

  .launch .dstngsh,
  .launch .blngs,
  .launch .hsttn,
  .launch .avlbl {
    padding: 40px
  }

  .launch .dstgrd {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .launch .blngsgrd {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .launch .hsttnflx {
    flex-direction: column;
    gap: 40px
  }

  .launch .hsttnimgwrp {
    width: 100%;
    max-width: 480px
  }

  .launch .avlblgrd {
    grid-template-columns: 1fr;
    gap: 40px
  }
}

@media (max-width: 640px) {
  .launch .ttlblk {
    padding: 40px 16px 80px;
    border-radius: 0
  }

  .launch .ttlcnt {
    padding-top: 0
  }

  .launch .ttlcnt h1 {
    font-size: 32px
  }

  .launch .ttlcnt h1 .hlt {
    font-size: 36px
  }

  .launch .dstngsh,
  .launch .blngs,
  .launch .hsttn,
  .launch .avlbl {
    padding: 40px 16px;
    border-radius: 0;
    margin-left: 0;
    margin-right: 0
  }

  .launch .dstcnt h2,
  .launch .blngscnt h2,
  .launch .hsttncnt h2,
  .launch .avlblcnt h2 {
    font-size: 32px
  }

  .launch .dstitm,
  .launch .avlblcrd {
    padding: 16px
  }
}

.launch .rvlsct {
  opacity: 0;
  animation: rvl .72s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.launch .ttlblk {
  animation-delay: .08s
}

.launch .dstngsh {
  animation-delay: .16s
}

.launch .blngs {
  animation-delay: .24s
}

.launch .hsttn {
  animation-delay: .32s
}

.launch .avlbl {
  animation-delay: .4s
}

@keyframes rvl {
  to {
    opacity: 1
  }
}

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

.budgtpg .tpbnr {
  position: relative;
  background: linear-gradient(17deg, #05A886 0%, #7233F0 38%, #F9FED4 72%, #fff 100%);
  padding: 40px 16px;
  overflow: hidden
}

.budgtpg .tpbnr::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(45deg, #ffffff08 0px, #ffffff08 12px, transparent 12px, transparent 24px), repeating-linear-gradient(-45deg, #ffffff08 0px, #ffffff08 12px, transparent 12px, transparent 24px);
  pointer-events: none
}

.budgtpg .tpbnr::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 40%, #ffffff26 0%, transparent 50%), radial-gradient(circle at 70% 60%, #ffffff1f 0%, transparent 50%);
  animation: fogdrift 28s ease-in-out infinite;
  pointer-events: none
}

@keyframes fogdrift {

  0%,
  100% {
    transform: translate(0, 0)
  }

  33% {
    transform: translate(-3%, 2%)
  }

  66% {
    transform: translate(2%, -3%)
  }
}

.budgtpg .tpbnr .bnrcntnr {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.budgtpg .tpbnr h1 {
  font-size: 48px;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 16px;
  letter-spacing: -.02em
}

.budgtpg .tpbnr .bnrlst {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.budgtpg .tpbnr .bnrlst li {
  font-size: 17px;
  line-height: 1.6;
  color: #fffffff2;
  padding-left: 24px;
  position: relative
}

.budgtpg .tpbnr .bnrlst li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 12px;
  height: 12px;
  background: #fff;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)
}

@media (min-width: 640px) {
  .budgtpg .tpbnr {
    padding: 40px
  }
}

.budgtpg .cntctmthds {
  padding: 80px 16px;
  background: #fff;
  position: relative
}

.budgtpg .cntctmthds::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  background: radial-gradient(ellipse at center, #05a8860a 0%, #7233f008 50%, transparent 100%);
  pointer-events: none;
  max-width: 1400px
}

.budgtpg .cntctmthds .mthdswrp {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.budgtpg .cntctmthds h2 {
  font-size: 48px;
  line-height: 1.2;
  color: #1a1a1a;
  margin: 0 0 40px;
  letter-spacing: -.02em;
  text-align: center
}

.budgtpg .cntctmthds .mthdsgrd {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px
}

.budgtpg .cntctmthds .mthdcrd {
  background: linear-gradient(17deg, #05a88605 0%, #ffff 100%);
  padding: 40px;
  border-radius: 20px;
  box-shadow: 0 7px 22px 0 #05a88617;
  transition: transform .18s cubic-bezier(0.4, 0, 0.6, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.6, 1);
  position: relative;
  overflow: hidden
}

.budgtpg .cntctmthds .mthdcrd::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 120px;
  height: 120px;
  background: linear-gradient(135deg, #7233f00f 0%, transparent 100%);
  border-radius: 0 20px 0 100%;
  pointer-events: none
}

.budgtpg .cntctmthds .mthdcrd:hover {
  transform: translateY(-4px);
  box-shadow: 0 9px 44px 0 #05a8861f
}

.budgtpg .cntctmthds .mthdcrd .crdhdng {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px
}

.budgtpg .cntctmthds .mthdcrd .crdicon {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #05A886 0%, #7233F0 100%);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.budgtpg .cntctmthds .mthdcrd .crdicon svg {
  width: 24px;
  height: 24px;
  fill: #fff
}

.budgtpg .cntctmthds .mthdcrd h3 {
  font-size: 20px;
  line-height: 1.2;
  color: #1a1a1a;
  margin: 0
}

.budgtpg .cntctmthds .mthdcrd .crddsc {
  font-size: 15px;
  line-height: 1.6;
  color: #4a4a4a;
  margin: 0 0 16px
}

.budgtpg .cntctmthds .mthdcrd .crdlnk {
  font-size: 17px;
  line-height: 1.6;
  color: #05A886;
  text-decoration: none;
  font-weight: 600;
  transition: color .15s ease-out;
  display: inline-block
}

.budgtpg .cntctmthds .mthdcrd .crdlnk:hover {
  color: #7233F0
}

.budgtpg .cntctmthds .lctnblck {
  margin-top: 80px;
  background: #fafafa;
  padding: 40px;
  border-radius: 20px;
  border-left: 6px solid #05A886
}

.budgtpg .cntctmthds .lctnblck h4 {
  font-size: 20px;
  line-height: 1.2;
  color: #1a1a1a;
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 8px
}

.budgtpg .cntctmthds .lctnblck h4::before {
  content: '';
  width: 8px;
  height: 8px;
  background: #7233F0;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  transform: rotate(45deg)
}

.budgtpg .cntctmthds .lctnblck .lctnaddr {
  font-size: 17px;
  line-height: 1.6;
  color: #4a4a4a;
  margin: 0
}

@media (min-width: 640px) {
  .budgtpg .cntctmthds {
    padding: 80px 40px
  }

  .budgtpg .cntctmthds .mthdsgrd {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px
  }
}

@media (min-width: 1024px) {
  .budgtpg .cntctmthds .mthdsgrd {
    grid-template-columns: repeat(3, 1fr)
  }
}

.budgtpg .frmsctn {
  padding: 80px 16px;
  background: linear-gradient(17deg, #fff 0%, #f9fed426 100%);
  position: relative
}

.budgtpg .frmsctn .frmwrp {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 80px;
  align-items: start
}

.budgtpg .frmsctn .frmlft {
  position: relative
}

.budgtpg .frmsctn h2 {
  font-size: 48px;
  line-height: 1.2;
  color: #1a1a1a;
  margin: 0 0 16px;
  letter-spacing: -.02em
}

.budgtpg .frmsctn .frmintro {
  font-size: 17px;
  line-height: 1.6;
  color: #4a4a4a;
  margin: 0 0 40px
}

.budgtpg .frmsctn .lgndblck {
  background: #fff;
  padding: 40px;
  border-radius: 20px;
  box-shadow: 0 2px 3px 0 #7233f00f
}

.budgtpg .frmsctn .lgndblck h3 {
  font-size: 20px;
  line-height: 1.2;
  color: #1a1a1a;
  margin: 0 0 16px
}

.budgtpg .frmsctn .lgnditms {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.budgtpg .frmsctn .lgnditem {
  display: flex;
  align-items: center;
  gap: 16px
}

.budgtpg .frmsctn .lgndclr {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden
}

.budgtpg .frmsctn .lgndclr.primary {
  background: #05A886
}

.budgtpg .frmsctn .lgndclr.secondary {
  background: #7233F0
}

.budgtpg .frmsctn .lgndclr.tertiary {
  background: #F9FED4;
  border: 2px solid #e0e0e0
}

.budgtpg .frmsctn .lgndtxt {
  font-size: 15px;
  line-height: 1.6;
  color: #4a4a4a
}

.budgtpg .frmsctn .frmrght {
  background: #fff;
  padding: 40px;
  border-radius: 20px;
  box-shadow: 0 9px 44px 0 #05a8861f;
  position: relative
}

.budgtpg .frmsctn .frmrght::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(135deg, #05A886 0%, #7233F0 100%);
  border-radius: 20px;
  z-index: -1;
  opacity: 0;
  transition: opacity .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.budgtpg .frmsctn .frmrght:hover::before {
  opacity: .08
}

.budgtpg .frmsctn .actualfrm {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.budgtpg .frmsctn .frmgrp {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.budgtpg .frmsctn .frmlbl {
  font-size: 14px;
  line-height: 1.2;
  color: #1a1a1a;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em
}

.budgtpg .frmsctn .frminpt {
  padding: 16px;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.6;
  color: #1a1a1a;
  background: #fff;
  transition: border-color .15s ease-out, box-shadow .15s ease-out;
  width: 100%
}

.budgtpg .frmsctn .frminpt::placeholder {
  color: #9a9a9a;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: .03em
}

.budgtpg .frmsctn .frminpt:focus {
  outline: none;
  border-color: #05A886;
  box-shadow: 0 0 0 3px #05a8861a
}

.budgtpg .frmsctn .frmtxtarea {
  min-height: 120px;
  resize: vertical
}

.budgtpg .frmsctn .chkbxgrp {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px
}

.budgtpg .frmsctn .chkbxitem {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative
}

.budgtpg .frmsctn .chkbxitem input[type="checkbox"] {
  width: 20px;
  height: 20px;
  border: 2px solid #e0e0e0;
  border-radius: 4px;
  appearance: none;
  cursor: pointer;
  position: relative;
  transition: background-color .12s ease-out, border-color .12s ease-out;
  flex-shrink: 0
}

.budgtpg .frmsctn .chkbxitem input[type="checkbox"]:checked {
  background-color: #05A886;
  border-color: #05A886
}

.budgtpg .frmsctn .chkbxitem input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 6px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg)
}

.budgtpg .frmsctn .chkbxitem label {
  font-size: 15px;
  line-height: 1.6;
  color: #4a4a4a;
  cursor: pointer
}

.budgtpg .frmsctn .prvcy {
  display: flex;
  align-items: start;
  gap: 8px;
  padding: 16px;
  background: #f9fed44d;
  border-radius: 6px;
  margin-top: 8px
}

.budgtpg .frmsctn .prvcy input[type="checkbox"] {
  width: 20px;
  height: 20px;
  border: 2px solid #e0e0e0;
  border-radius: 4px;
  appearance: none;
  cursor: pointer;
  position: relative;
  transition: background-color .12s ease-out, border-color .12s ease-out;
  flex-shrink: 0;
  margin-top: 2px
}

.budgtpg .frmsctn .prvcy input[type="checkbox"]:checked {
  background-color: #7233F0;
  border-color: #7233F0
}

.budgtpg .frmsctn .prvcy input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 6px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg)
}

.budgtpg .frmsctn .prvcy label {
  font-size: 14px;
  line-height: 1.6;
  color: #4a4a4a
}

.budgtpg .frmsctn .prvcy a {
  color: #7233F0;
  text-decoration: underline;
  transition: color .15s ease-out
}

.budgtpg .frmsctn .prvcy a:hover {
  color: #05A886
}

.budgtpg .frmsctn .frmbtn {
  padding: 16px 40px;
  background: linear-gradient(135deg, #05A886 0%, #7233F0 100%);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 600;
  cursor: pointer;
  transition: filter .18s cubic-bezier(0.4, 0, 0.6, 1), transform .18s cubic-bezier(0.4, 0, 0.6, 1);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-top: 8px
}

.budgtpg .frmsctn .frmbtn:hover {
  filter: brightness(1.15);
  transform: translateY(-2px)
}

.budgtpg .frmsctn .frmbtn:active {
  transform: translateY(0)
}

@media (min-width: 640px) {
  .budgtpg .frmsctn {
    padding: 80px 40px
  }
}

@media (min-width: 1024px) {
  .budgtpg .frmsctn .frmwrp {
    grid-template-columns: 40fr 60fr;
    gap: 80px
  }
}

.budgtpg .dnstyblck {
  padding: 80px 16px;
  background: #fff;
  position: relative
}

.budgtpg .dnstyblck .dnstwrp {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 80px
}

.budgtpg .dnstyblck .dnstlft {
  background: linear-gradient(17deg, #05A886 0%, #7233F0 100%);
  padding: 40px;
  border-radius: 36px;
  color: #fff;
  position: relative;
  overflow: hidden
}

.budgtpg .dnstyblck .dnstlft::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, #ffffff1a 0%, transparent 70%);
  pointer-events: none
}

.budgtpg .dnstyblck .dnstlft h3 {
  font-size: 48px;
  line-height: 1.2;
  margin: 0 0 16px;
  letter-spacing: -.02em;
  position: relative;
  z-index: 1
}

.budgtpg .dnstyblck .dnstlft .dnstdsc {
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
  opacity: .95;
  position: relative;
  z-index: 1
}

.budgtpg .dnstyblck .dnstrght {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.budgtpg .dnstyblck .mtrccard {
  background: #fafafa;
  padding: 40px;
  border-radius: 20px;
  position: relative;
  overflow: hidden
}

.budgtpg .dnstyblck .mtrccard::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background: linear-gradient(180deg, #05A886 0%, #7233F0 100%)
}

.budgtpg .dnstyblck .mtrccard .mtrcnmbr {
  font-size: 48px;
  line-height: 1.2;
  color: #05A886;
  font-weight: 700;
  margin: 0 0 8px;
  position: relative;
  overflow: hidden
}

.budgtpg .dnstyblck .mtrccard .mtrcnmbr::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, #7233f04d 50%, transparent 100%);
  transform: translateX(-100%);
  transition: transform .8s cubic-bezier(0.4, 0, 0.6, 1)
}

.budgtpg .dnstyblck .mtrccard:hover .mtrcnmbr::after {
  transform: translateX(100%)
}

.budgtpg .dnstyblck .mtrccard .mtrclbl {
  font-size: 15px;
  line-height: 1.6;
  color: #4a4a4a;
  margin: 0
}

@media (min-width: 640px) {
  .budgtpg .dnstyblck {
    padding: 80px 40px
  }
}

@media (min-width: 1024px) {
  .budgtpg .dnstyblck .dnstwrp {
    grid-template-columns: 1fr 1fr
  }

  .budgtpg .dnstyblck .dnstrght {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
  }
}

::selection {
  background: #7233F0;
  color: #fff
}

.podkast {
  background: #fff;
  color: #1a1a1a
}

.podkast .grdTopbar {
  background: linear-gradient(17deg, #05A886 0%, #fff 100%);
  padding: 80px 16px;
  position: relative;
  overflow: hidden
}

.podkast .grdTopbar::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background: repeating-linear-gradient(0deg, #7233F0, #7233F0 8px, transparent 8px, transparent 16px)
}

.podkast .topbarInr {
  max-width: 1170px;
  margin: 0 auto
}

.podkast .topbarInr h1 {
  font-size: 48px;
  line-height: 1.2;
  color: #0a0a0a;
  margin: 0 0 16px;
  letter-spacing: -.02em
}

.podkast .topbarInr h1 .brackWrd {
  color: #7233F0
}

.podkast .topbarDesc {
  font-size: 17px;
  line-height: 1.6;
  color: #2a2a2a;
  margin: 0 0 40px;
  max-width: 680px
}

.podkast .topLnks {
  display: flex;
  gap: 16px;
  flex-wrap: wrap
}

.podkast .topLnks a {
  font-size: 15px;
  padding: 16px 40px;
  background: #05A886;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  transition: filter .18s cubic-bezier(0.4, 0, 0.6, 1);
  box-shadow: 0 2px 3px 0 #05a8860f 0 7px 22px 0 #05a88617
}

.podkast .topLnks a:hover {
  filter: brightness(1.15)
}

.podkast .topLnks a:nth-child(2) {
  background: #7233F0;
  box-shadow: 0 2px 3px 0 #7233f00f 0 7px 22px 0 #7233f017
}

.podkast .episodGrid {
  padding: 80px 16px;
  background: #fafafa;
  position: relative
}

.podkast .episodGrid::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  background-image: repeating-linear-gradient(45deg, transparent, transparent 20px, #05a88605 20px, #05a88605 40px), repeating-linear-gradient(-45deg, transparent, transparent 20px, #7233f005 20px, #7233f005 40px);
  pointer-events: none
}

.podkast .episodInr {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.podkast .episodInr h2 {
  font-size: 48px;
  line-height: 1.2;
  color: #0a0a0a;
  margin: 0 0 40px;
  letter-spacing: -.02em
}

.podkast .episodInr h2::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background: #05A886;
  margin-right: 16px;
  vertical-align: middle;
  transform: rotate(45deg)
}

.podkast .episodLayout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px
}

.podkast .mainCol {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.podkast .epCard {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 2px 3px 0 #05a8860f 0 7px 22px 0 #05a88617;
  transition: transform .16s ease-out, box-shadow .16s ease-out;
  animation: scPulse 4s ease-in-out infinite
}

@keyframes scPulse {

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

  50% {
    transform: scale(1.02)
  }
}

.podkast .epCard:hover {
  transform: translateY(-4px);
  box-shadow: 0 9px 44px 0 #05a8861f;
  animation: none
}

.podkast .epCard h3 {
  font-size: 20px;
  line-height: 1.6;
  color: #0a0a0a;
  margin: 0 0 16px
}

.podkast .epMeta {
  font-size: 14px;
  line-height: 1.6;
  color: #6a6a6a;
  margin: 0 0 16px;
  display: flex;
  gap: 16px;
  align-items: center
}

.podkast .epMeta span {
  display: flex;
  align-items: center;
  gap: 8px
}

.podkast .epDesc {
  font-size: 15px;
  line-height: 1.6;
  color: #2a2a2a;
  margin: 0 0 16px
}

.podkast .epLstn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #05A886;
  text-decoration: none;
  transition: color .14s ease-out
}

.podkast .epLstn:hover {
  color: #7233F0
}

.podkast .sideCol {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.podkast .sideBox {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 2px 3px 0 #7233f00f 0 7px 22px 0 #7233f017
}

.podkast .sideBox h4 {
  font-size: 17px;
  line-height: 1.6;
  color: #0a0a0a;
  margin: 0 0 16px
}

.podkast .sideBox h4::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #7233F0;
  margin-right: 8px;
  vertical-align: middle;
  border-radius: 4px
}

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

.podkast .ctgList li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0
}

.podkast .ctgList li:last-child {
  border-bottom: none
}

.podkast .ctgList a {
  font-size: 15px;
  color: #2a2a2a;
  text-decoration: none;
  transition: color .12s ease-out
}

.podkast .ctgList a:hover {
  color: #05A886
}

.podkast .ctgCnt {
  font-size: 14px;
  color: #6a6a6a;
  background: #fafafa;
  padding: 8px 16px;
  border-radius: 36px
}

.podkast .waveDiv {
  width: 100%;
  height: 80px;
  overflow: hidden;
  line-height: 0
}

.podkast .waveDiv svg {
  width: 100%;
  height: 100%
}

.podkast .colorSec {
  background: linear-gradient(17deg, #7233F0 0%, #fff 100%);
  padding: 80px 16px;
  position: relative
}

.podkast .colorInr {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center
}

.podkast .colorTxt h2 {
  font-size: 48px;
  line-height: 1.2;
  color: #0a0a0a;
  margin: 0 0 16px;
  letter-spacing: -.02em
}

.podkast .colorTxt h2::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background: #F9FED4;
  margin-right: 16px;
  vertical-align: middle;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)
}

.podkast .colorTxt p {
  font-size: 17px;
  line-height: 1.6;
  color: #2a2a2a;
  margin: 0 0 16px
}

.podkast .colorTxt p:last-child {
  margin: 0
}

.podkast .colorImg {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 9px 44px 0 #7233f01f
}

.podkast .colorImg::before {
  content: '';
  position: absolute;
  top: -4px;
  left: -4px;
  right: -4px;
  bottom: -4px;
  border: 4px solid #F9FED4;
  border-radius: 20px;
  pointer-events: none
}

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

.podkast .hostSec {
  padding: 80px 16px;
  background: #fff
}

.podkast .hostInr {
  max-width: 1170px;
  margin: 0 auto
}

.podkast .hostInr h2 {
  font-size: 48px;
  line-height: 1.2;
  color: #0a0a0a;
  margin: 0 0 40px;
  text-align: center;
  letter-spacing: -.02em
}

.podkast .hostInr h2 .quoteWrd {
  color: #05A886
}

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

.podkast .hostCard {
  background: #fafafa;
  border-radius: 6px;
  padding: 40px;
  text-align: center;
  position: relative;
  transition: transform .2s cubic-bezier(0.4, 0, 0.6, 1)
}

.podkast .hostCard::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 40px;
  background: repeating-linear-gradient(0deg, #05A886, #05A886 4px, transparent 4px, transparent 8px)
}

.podkast .hostCard:hover {
  transform: scale(1.05) translateY(-8px)
}

.podkast .hostAvtr {
  width: 80px;
  height: 80px;
  border-radius: 36px;
  background: linear-gradient(17deg, #05A886 0%, #7233F0 100%);
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #fff;
  font-weight: 700
}

.podkast .hostCard h5 {
  font-size: 17px;
  line-height: 1.6;
  color: #0a0a0a;
  margin: 0 0 8px
}

.podkast .hostCard h5::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #7233F0;
  margin-right: 8px;
  vertical-align: middle;
  border-radius: 4px
}

.podkast .hostRole {
  font-size: 14px;
  line-height: 1.6;
  color: #6a6a6a;
  margin: 0 0 16px;
  text-transform: uppercase;
  letter-spacing: .05em
}

.podkast .hostBio {
  font-size: 15px;
  line-height: 1.6;
  color: #2a2a2a;
  margin: 0
}

.podkast .connLine {
  position: relative;
  padding-left: 40px
}

.podkast .connLine::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 24px;
  height: 1px;
  background: repeating-linear-gradient(90deg, #7233F0, #7233F0 4px, transparent 4px, transparent 8px)
}

@media (max-width: 1024px) {
  .podkast .episodLayout {
    grid-template-columns: 1fr
  }

  .podkast .colorInr {
    grid-template-columns: 1fr
  }

  .podkast .hostGrid {
    grid-template-columns: 1fr
  }

  .podkast .topbarInr h1 {
    font-size: 48px
  }
}

@media (max-width: 640px) {
  .podkast .grdTopbar {
    padding: 40px 16px
  }

  .podkast .topbarInr h1 {
    font-size: 48px
  }

  .podkast .episodGrid {
    padding: 40px 16px
  }

  .podkast .episodInr h2 {
    font-size: 48px
  }

  .podkast .epCard {
    padding: 16px
  }

  .podkast .sideBox {
    padding: 16px
  }

  .podkast .colorSec {
    padding: 40px 16px
  }

  .podkast .colorTxt h2 {
    font-size: 48px
  }

  .podkast .colorImg img {
    height: 280px
  }

  .podkast .hostSec {
    padding: 40px 16px
  }

  .podkast .hostInr h2 {
    font-size: 48px
  }

  .podkast .hostCard {
    padding: 16px
  }

  .podkast .topLnks {
    flex-direction: column
  }

  .podkast .topLnks a {
    text-align: center
  }
}

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

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

.abtus .titlezone {
  position: relative;
  max-width: 1170px;
  margin: 0 auto;
  padding: 40px 16px;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: center;
  background: linear-gradient(17deg, #05A886 0%, #fff 100%);
  overflow: visible
}

.abtus .titlezone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(0deg, transparent, transparent 2px, #00000008 2px, #00000008 4px), repeating-linear-gradient(90deg, transparent, transparent 2px, #00000008 2px, #00000008 4px);
  pointer-events: none;
  opacity: .4
}

.abtus .titlecopy {
  flex: 1;
  z-index: 2;
  position: relative
}

.abtus .probstatement {
  font-size: 20px;
  line-height: 1.6;
  margin: 0 0 16px;
  color: #2a2a2a
}

.abtus .solustatement {
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
  color: #3a3a3a
}

.abtus .titlevisual {
  width: 280px;
  flex-shrink: 0;
  position: relative;
  z-index: 2
}

.abtus .titlevisual img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
  filter: blur(0px);
  box-shadow: 0 0 0 8px #ffffff4d
}

@media (max-width: 640px) {
  .abtus .titlezone {
    flex-direction: column;
    padding: 40px 16px
  }

  .abtus .titlevisual {
    width: 100%;
    max-width: 280px
  }
}

.abtus .storyblock {
  max-width: 1170px;
  margin: 0 auto;
  padding: 80px 16px;
  background: #fafcfa;
  position: relative
}

.abtus .storyblock::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 100%;
  background: linear-gradient(137deg, #F9FED4 0%, #fafcfa 100%);
  z-index: 0
}

.abtus .storygrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  position: relative;
  z-index: 1
}

.abtus .storyleft {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.abtus .storyright {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.abtus .narrativebox {
  background: #fff;
  padding: 40px;
  border-radius: 20px;
  box-shadow: 0 7px 22px 0 #05a88617;
  position: relative;
  opacity: 0;
  animation: slideInLeft .8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards
}

.abtus .narrativebox:nth-child(even) {
  animation: slideInRight .8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards
}

.abtus .narrativebox:nth-child(1) {
  animation-delay: .1s
}

.abtus .narrativebox:nth-child(2) {
  animation-delay: .2s
}

.abtus .narrativebox:nth-child(3) {
  animation-delay: .3s
}

.abtus .narrativebox:nth-child(4) {
  animation-delay: .4s
}

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

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

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(60px)
  }

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

.abtus .narrativebox::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  width: 24px;
  height: 24px;
  background: #05A886;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  opacity: .2
}

.abtus .narrativebox h4 {
  font-size: 20px;
  line-height: 1.2;
  margin: 0 0 16px;
  color: #1a1a1a;
  letter-spacing: -.02em
}

.abtus .narrativebox p {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  color: #3a3a3a
}

.abtus .portraitcard {
  background: #fff;
  padding: 40px;
  border-radius: 20px;
  box-shadow: 0 7px 22px 0 #7233f017;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start
}

.abtus .portraitholder {
  width: 140px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  border-radius: 36px
}

.abtus .portraitholder img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: top;
  aspect-ratio: 5/7;
  transition: transform .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.abtus .portraitcard:hover .portraitholder img {
  transform: scale(1.08)
}

.abtus .portraittext {
  flex: 1
}

.abtus .portraittext h5 {
  font-size: 17px;
  line-height: 1.2;
  margin: 0 0 8px;
  color: #1a1a1a;
  letter-spacing: -.01em
}

.abtus .portraittext .jobtitle {
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 16px;
  color: #7233F0;
  text-transform: uppercase;
  letter-spacing: .05em
}

.abtus .portraittext p {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  color: #3a3a3a
}

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

  .abtus .storyright {
    gap: 40px
  }
}

@media (max-width: 640px) {
  .abtus .storyblock {
    padding: 40px 16px
  }

  .abtus .storygrid {
    gap: 40px
  }

  .abtus .narrativebox {
    padding: 16px
  }

  .abtus .portraitcard {
    flex-direction: column;
    padding: 16px;
    gap: 16px
  }

  .abtus .portraitholder {
    width: 100%;
    max-width: 200px;
    margin: 0 auto
  }
}

.abtus .valueszone {
  background: #fff;
  padding: 80px 16px;
  position: relative
}

.abtus .valuescont {
  max-width: 1170px;
  margin: 0 auto
}

.abtus .valueshead {
  text-align: center;
  margin: 0 0 80px
}

.abtus .valueshead h3 {
  font-size: 48px;
  line-height: 1.2;
  margin: 0 0 16px;
  color: #1a1a1a;
  letter-spacing: -.03em
}

.abtus .valueshead .valsub {
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
  color: #3a3a3a;
  max-width: 680px;
  margin: 0 auto
}

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

.abtus .valuebox {
  background: linear-gradient(17deg, #F9FED4 0%, #fff 100%);
  padding: 40px;
  border-radius: 20px;
  position: relative;
  transition: transform .16s ease-out, box-shadow .16s ease-out;
  box-shadow: 0 2px 3px 0 #05a8860f
}

.abtus .valuebox:hover {
  transform: translateY(-8px);
  box-shadow: 0 9px 44px 0 #05a8861f
}

.abtus .valuebox::after {
  content: '';
  position: absolute;
  bottom: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  background: #05A886;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  opacity: .15;
  transition: opacity .14s ease-out
}

.abtus .valuebox:hover::after {
  opacity: .3
}

.abtus .valuebox h6 {
  font-size: 20px;
  line-height: 1.2;
  margin: 0 0 16px;
  color: #1a1a1a;
  letter-spacing: -.02em
}

.abtus .valuebox p {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  color: #3a3a3a
}

@media (max-width: 1024px) {
  .abtus .valuesgrid {
    grid-template-columns: 1fr
  }
}

@media (max-width: 640px) {
  .abtus .valueszone {
    padding: 40px 16px
  }

  .abtus .valueshead {
    margin: 0 0 40px
  }

  .abtus .valueshead h3 {
    font-size: 20px
  }

  .abtus .valuesgrid {
    gap: 16px
  }

  .abtus .valuebox {
    padding: 16px
  }
}

.abtus .statblock {
  background: #fff;
  padding: 80px 16px;
  border-top: 1px solid #e8e8e8
}

.abtus .statcont {
  max-width: 1170px;
  margin: 0 auto
}

.abtus .statgrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px
}

.abtus .statitem {
  text-align: center;
  padding: 40px 16px;
  background: linear-gradient(17deg, #fff 0%, #F9FED4 100%);
  border-radius: 20px;
  transition: transform .2s cubic-bezier(0.4, 0, 0.6, 1)
}

.abtus .statitem:hover {
  transform: scale(1.05)
}

.abtus .staticon {
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  background: #05A886;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px
}

.abtus .statnum {
  font-size: 48px;
  line-height: 1.2;
  margin: 0 0 8px;
  color: #1a1a1a;
  font-weight: 700;
  letter-spacing: -.03em
}

.abtus .statlabel {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: #3a3a3a;
  text-transform: uppercase;
  letter-spacing: .05em
}

@media (max-width: 1024px) {
  .abtus .statgrid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width: 640px) {
  .abtus .statblock {
    padding: 40px 16px
  }

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

  .abtus .statitem {
    padding: 16px
  }

  .abtus .statnum {
    font-size: 20px
  }
}

.abtus .dividerline {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 16px;
  position: relative;
  height: 40px;
  display: flex;
  align-items: center
}

.abtus .dividerline::before {
  content: '';
  position: absolute;
  left: 16px;
  right: 50%;
  top: 50%;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #05A886 0px, #05A886 4px, transparent 4px, transparent 8px, #7233F0 8px, #7233F0 10px, transparent 10px, transparent 14px);
  margin-right: 20px
}

.abtus .dividerline::after {
  content: '';
  position: absolute;
  right: 16px;
  left: 50%;
  top: 50%;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #05A886 0px, #05A886 4px, transparent 4px, transparent 8px, #7233F0 8px, #7233F0 10px, transparent 10px, transparent 14px);
  margin-left: 20px
}

.abtus .dividerornament {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  background: #7233F0;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  z-index: 2
}

.abtus .scrollzoom {
  position: relative;
  overflow: hidden;
  border-radius: 20px
}

.abtus .scrollzoom img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 2s cubic-bezier(0.4, 0, 0.6, 1)
}

.abtus .scrollzoom:hover img {
  transform: scale(1.12)
}

.abtus ::selection {
  background: #7233f04d;
  color: #1a1a1a
}

.successpage {
  background: linear-gradient(17deg, #05A886 0%, #fff 100%);
  min-height: 100vh;
  padding: 80px 16px;
  display: flex;
  align-items: center;
  justify-content: center
}

.successpage .successwrap {
  max-width: 1170px;
  width: 100%;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 9px 44px 0 #05a8861f;
  padding: 80px 40px;
  text-align: center
}

.successpage .iconcheck {
  width: 88px;
  height: 88px;
  margin: 0 auto 40px;
  background: #05A886;
  border-radius: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative
}

.successpage .iconcheck::before {
  content: '';
  width: 34px;
  height: 18px;
  border-left: 5px solid #fff;
  border-bottom: 5px solid #fff;
  transform: rotate(-45deg);
  position: relative;
  top: -4px
}

.successpage .mainhead {
  font-size: 48px;
  line-height: 1.2;
  color: #1a1a1a;
  margin: 0 0 16px
}

.successpage .confirmmsg {
  font-size: 17px;
  line-height: 1.6;
  color: #4a4a4a;
  margin: 0 0 40px;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto
}

.successpage .detailbox {
  background: #F9FED4;
  border-radius: 6px;
  padding: 40px;
  margin: 0 0 40px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto
}

.successpage .detailbox .smalllabel {
  font-size: 14px;
  line-height: 1.6;
  color: #6a6a6a;
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .5px
}

.successpage .detailbox .infotext {
  font-size: 17px;
  line-height: 1.6;
  color: #2a2a2a;
  margin: 0
}

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

.successpage .btnprimary {
  background: #7233F0;
  color: #fff;
  font-size: 15px;
  line-height: 1.6;
  padding: 16px 40px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: filter .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.successpage .btnprimary:hover {
  filter: brightness(1.15)
}

.successpage .btnsecondary {
  background: transparent;
  color: #05A886;
  font-size: 15px;
  line-height: 1.6;
  padding: 16px 40px;
  border: 2px solid #05A886;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: background .16s ease-out, color .16s ease-out
}

.successpage .btnsecondary:hover {
  background: #05A886;
  color: #fff
}

.successpage .footnote {
  font-size: 14px;
  line-height: 1.6;
  color: #7a7a7a;
  margin: 40px 0 0;
  max-width: 580px;
  margin-left: auto;
  margin-right: auto
}

@media (max-width: 640px) {
  .successpage {
    padding: 40px 16px
  }

  .successpage .successwrap {
    padding: 40px 16px
  }

  .successpage .mainhead {
    font-size: 20px
  }

  .successpage .confirmmsg {
    font-size: 15px
  }

  .successpage .detailbox {
    padding: 16px
  }

  .successpage .actionrow {
    flex-direction: column;
    align-items: stretch
  }

  .successpage .btnprimary,
  .successpage .btnsecondary {
    width: 100%
  }
}