html {
  box-sizing: border-box
}

body {
  margin: 0;
  min-height: 100dvh;
  overflow-x: hidden;
  font-family: 'Source Sans Pro', sans-serif;
  background: #FFF;
  color: #1a1818;
  font-size: 16px;
  line-height: 1.55
}

.topbar {
  background: linear-gradient(135deg, #2D2473 0%, #1f1a5c 100%);
  padding: 12px 24px;
  position: relative;
  z-index: 100
}

.topbar-inner {
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px
}

.topbar-contact {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #FFF;
  text-decoration: none;
  font-size: 13px;
  font-weight: 400;
  transition: opacity .16s ease-out
}

.topbar-contact:hover {
  opacity: .85
}

.topbar-contact:focus {
  outline: 2px solid #D3E52C;
  outline-offset: 2px;
  border-radius: 4px
}

.topbar-icon {
  width: 16px;
  height: 16px;
  fill: #D3E52C
}

.hdr-plate {
  background: #FFF;
  border-bottom: 3px solid #D3E52C;
  padding: 24px;
  position: relative;
  z-index: 90;
  box-shadow: 0 6px 14px 0 #2d24731c
}

.hdr-inner {
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px
}

.logo-cell {
  background: #FFF;
  padding: 12px;
  border-radius: 20px;
  box-shadow: 0 1px 2px 0 #2d247314 0 6px 14px 0 #2d24731c;
  border: 2px solid #D3E52C
}

.logo-img {
  display: block;
  width: 70px;
  height: 70px;
  object-fit: contain
}

.navprime {
  width: 100%
}

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

.navprime-item {
  flex-shrink: 0
}

.navprime-link {
  display: block;
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 700;
  color: #2D2473;
  text-decoration: none;
  border-radius: 20px;
  background: linear-gradient(135deg, #D3E52C 0%, #b8c925 100%);
  transition: transform .14s ease-out, filter .14s ease-out;
  box-shadow: 0 1px 2px 0 #2d247314
}

.navprime-link:hover {
  transform: translateY(-2px);
  filter: brightness(1.12)
}

.navprime-link:focus {
  outline: 3px solid #2D2473;
  outline-offset: 3px
}

.ftr-plate {
  background: #2D2473;
  color: #FFF;
  padding: 80px 24px 40px;
  position: relative
}

.ftr-inner {
  max-width: 1024px;
  margin: 0 auto
}

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

.ftr-brand {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ftr-logo-cell {
  background: #FFF;
  padding: 12px;
  border-radius: 20px;
  box-shadow: 0 6px 14px 0 #d3e52c1c;
  border: 2px solid #D3E52C;
  width: fit-content
}

.ftr-logo-img {
  display: block;
  width: 60px;
  height: 60px;
  object-fit: contain
}

.ftr-address {
  font-style: normal;
  font-size: 16px;
  line-height: 1.75;
  color: #FFF
}

.ftr-address-line {
  display: block;
  margin-bottom: 6px
}

.ftr-contact-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px
}

.ftr-contact-icon {
  width: 18px;
  height: 18px;
  fill: #D3E52C
}

.ftr-contact-link {
  color: #D3E52C;
  text-decoration: none;
  font-size: 16px;
  transition: opacity .18s ease-out
}

.ftr-contact-link:hover {
  opacity: .8
}

.ftr-contact-link:focus {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: #D3E52C;
  outline: none
}

.ftr-navsec {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ftr-navtitle {
  font-size: 19px;
  font-weight: 700;
  color: #D3E52C;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .05em
}

.ftr-navlist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.ftr-navlink {
  color: #FFF;
  text-decoration: none;
  font-size: 16px;
  transition: color .16s ease-out;
  display: inline-block
}

.ftr-navlink:hover {
  color: #D3E52C
}

.ftr-navlink:focus {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: #D3E52C;
  outline: none
}

.ftr-bottom {
  border-top: 2px solid #d3e52c4d;
  padding-top: 40px;
  text-align: center
}

.ftr-copyright {
  font-size: 13px;
  color: #fffc;
  margin: 0
}

.consent-pod {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 380px;
  max-width: calc(100vw - 48px);
  background: #FFF;
  border: 3px solid #2D2473;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 8px 48px 0 #2d24731a;
  z-index: 8000;
  display: none;
  transform: translateX(450px);
  transition: transform .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.consent-pod.showing {
  transform: translateX(0)
}

.consent-headline {
  font-size: 19px;
  font-weight: 700;
  color: #2D2473;
  margin: 0 0 12px
}

.consent-text {
  font-size: 13px;
  line-height: 1.55;
  color: #333;
  margin: 0 0 24px
}

.consent-policy-link {
  color: #2D2473;
  text-decoration: underline;
  transition: color .14s ease-out
}

.consent-policy-link:hover {
  color: #D3E52C
}

.consent-policy-link:focus {
  outline: 2px solid #2D2473;
  outline-offset: 2px;
  border-radius: 4px
}

.consent-btns {
  display: flex;
  gap: 12px;
  margin-bottom: 12px
}

.consent-btn {
  flex: 1;
  padding: 12px 24px;
  font-size: 13px;
  font-weight: 700;
  border: 2px solid #2D2473;
  border-radius: 4px;
  background: transparent;
  color: #2D2473;
  cursor: pointer;
  transition: background .16s ease-out, color .16s ease-out, filter .16s ease-out;
  font-family: 'Source Sans Pro', sans-serif
}

.consent-btn:hover {
  background: #2D2473;
  color: #FFF;
  filter: brightness(1.1)
}

.consent-btn:focus {
  outline: 3px solid #D3E52C;
  outline-offset: 2px
}

.consent-settings-link {
  display: block;
  text-align: center;
  font-size: 13px;
  color: #2D2473;
  text-decoration: underline;
  cursor: pointer;
  transition: color .14s ease-out;
  background: none;
  border: none;
  padding: 0;
  font-family: 'Source Sans Pro', sans-serif
}

.consent-settings-link:hover {
  color: #D3E52C
}

.consent-settings-link:focus {
  outline: 2px solid #2D2473;
  outline-offset: 2px;
  border-radius: 4px
}

.consent-details {
  display: none;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #2d247333
}

.consent-category {
  margin-bottom: 12px
}

.consent-checkbox-row {
  display: flex;
  align-items: center;
  gap: 12px
}

.consent-checkbox {
  width: 20px;
  height: 20px;
  cursor: pointer
}

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

.consent-checkbox:focus {
  outline: 2px solid #2D2473;
  outline-offset: 2px
}

.consent-label {
  font-size: 13px;
  color: #333;
  cursor: pointer;
  flex: 1
}

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

.consent-save-btn {
  width: 100%;
  padding: 12px 24px;
  font-size: 13px;
  font-weight: 700;
  border: 2px solid #2D2473;
  border-radius: 4px;
  background: #2D2473;
  color: #FFF;
  cursor: pointer;
  transition: filter .16s ease-out;
  font-family: 'Source Sans Pro', sans-serif;
  margin-top: 24px
}

.consent-save-btn:hover {
  filter: brightness(1.15)
}

.consent-save-btn:focus {
  outline: 3px solid #D3E52C;
  outline-offset: 2px
}

@media (max-width: 576px) {
  .topbar-inner {
    flex-direction: column;
    gap: 12px
  }

  .hdr-plate {
    padding: 24px 12px
  }

  .navprime-list {
    gap: 12px
  }

  .navprime-link {
    padding: 12px;
    font-size: 13px
  }

  .ftr-plate {
    padding: 40px 12px 24px
  }

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

  .consent-pod {
    bottom: 12px;
    right: 12px;
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
    padding: 24px 12px
  }

  .consent-btns {
    flex-direction: column
  }
}

@media (min-width: 577px) and (max-width: 991px) {
  .hdr-inner {
    gap: 24px
  }

  .navprime-list {
    gap: 12px 24px
  }

  .ftr-top {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (min-width: 992px) {
  .hdr-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center
  }

  .logo-cell {
    flex-shrink: 0
  }

  .navprime {
    width: auto;
    flex: 1;
    display: flex;
    justify-content: flex-end
  }

  .navprime-list {
    justify-content: flex-end
  }

  .ftr-top {
    grid-template-columns: 1fr 1fr 1fr
  }
}

@media (min-width: 1200px) {
  .hdr-plate {
    padding: 40px 24px
  }

  .hdr-inner {
    gap: 40px
  }

  .navprime-link {
    font-size: 19px
  }

  .ftr-top {
    gap: 80px
  }
}

.legal-content {
  max-width: 1024px;
  margin: 0 auto;
  padding: 80px 24px;
  background: #FFF
}

.legal-content h1 {
  font-size: 46px;
  line-height: 1.1;
  color: #2D2473;
  margin: 0 0 40px;
  letter-spacing: 0
}

.legal-content h2 {
  font-size: 34px;
  line-height: 1.3;
  color: #2D2473;
  margin: 80px 0 24px;
  letter-spacing: 0
}

.legal-content h3 {
  font-size: 25px;
  line-height: 1.3;
  color: #2D2473;
  margin: 40px 0 24px;
  letter-spacing: 0
}

.legal-content h4 {
  font-size: 19px;
  line-height: 1.55;
  color: #2D2473;
  margin: 40px 0 12px;
  letter-spacing: 0
}

.legal-content h5 {
  font-size: 16px;
  line-height: 1.55;
  color: #2D2473;
  margin: 24px 0 12px;
  letter-spacing: 0
}

.legal-content h6 {
  font-size: 16px;
  line-height: 1.55;
  color: #2D2473;
  margin: 24px 0 12px;
  letter-spacing: 0
}

.legal-content p {
  font-size: 16px;
  line-height: 1.75;
  color: #1a1a2e;
  margin: 0 0 24px
}

.legal-content ul {
  font-size: 16px;
  line-height: 1.75;
  color: #1a1a2e;
  margin: 0 0 24px;
  padding: 0 0 0 24px;
  list-style-position: outside
}

.legal-content ol {
  font-size: 16px;
  line-height: 1.75;
  color: #1a1a2e;
  margin: 0 0 24px;
  padding: 0 0 0 24px;
  list-style-position: outside
}

.legal-content li {
  margin: 0 0 12px;
  padding: 0 0 0 6px
}

.legal-content li:last-child {
  margin-bottom: 0
}

.legal-content ul ul {
  margin: 12px 0 0
}

.legal-content ol ol {
  margin: 12px 0 0
}

.legal-content strong {
  font-weight: 700;
  color: #2D2473
}

.legal-content b {
  font-weight: 700;
  color: #2D2473
}

.legal-content em {
  font-style: italic
}

.legal-content i {
  font-style: italic
}

.legal-content a {
  color: #2D2473;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: color .16s ease-out
}

.legal-content a:hover {
  color: #D3E52C
}

.legal-content a:focus {
  outline: 2px solid #D3E52C;
  outline-offset: 2px
}

@media (max-width: 992px) {
  .legal-content {
    padding: 40px 24px
  }

  .legal-content h1 {
    font-size: 34px;
    margin-bottom: 24px
  }

  .legal-content h2 {
    font-size: 25px;
    margin-top: 40px
  }

  .legal-content h3 {
    font-size: 19px;
    margin-top: 24px
  }
}

@media (max-width: 576px) {
  .legal-content {
    padding: 24px 12px
  }

  .legal-content h1 {
    font-size: 25px
  }

  .legal-content h2 {
    font-size: 19px;
    margin-top: 24px
  }

  .legal-content h3 {
    font-size: 16px
  }

  .legal-content ul {
    padding-left: 20px
  }

  .legal-content ol {
    padding-left: 20px
  }
}

.vcanc {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0;
  background: #FFF
}

.vcanc .opng-bnr {
  display: flex;
  align-items: center;
  gap: 0;
  background: linear-gradient(127deg, #D3E52C 0%, #2D2473 52%, #FFF 100%);
  padding: 80px 24px;
  position: relative;
  overflow: hidden
}

.vcanc .opng-bnr::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: #FFF;
  clip-path: path('M0,40 Q320,0 640,40 T1280,40 L1280,80 L0,80 Z')
}

.vcanc .img-lft {
  flex: 0 0 50%;
  position: relative;
  z-index: 1
}

.vcanc .img-lft img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  object-position: center;
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
  box-shadow: 0 8px 48px 0 #2d24731a
}

.vcanc .txt-rght {
  flex: 0 0 50%;
  padding: 40px 40px 40px 80px;
  position: relative;
  z-index: 1
}

.vcanc .hd-prm {
  font-size: 62px;
  line-height: 1.1;
  color: #2D2473;
  margin: 0 0 12px;
  letter-spacing: -.02em
}

.vcanc .hd-sec {
  font-size: 34px;
  line-height: 1.3;
  color: #FFF;
  margin: 0 0 24px
}

.vcanc .hd-trt {
  font-size: 25px;
  line-height: 1.55;
  color: #2D2473;
  margin: 0
}

.vcanc .jb-lstng {
  padding: 80px 24px;
  background: #FFF;
  position: relative
}

.vcanc .jb-lstng::before {
  content: '';
  position: absolute;
  top: 24px;
  right: 24px;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, #d3e52c26 0%, #d3e52c0d 50%, transparent 100%);
  border-radius: 50%;
  pointer-events: none
}

.vcanc .jb-lstng::after {
  content: '';
  position: absolute;
  top: 80px;
  right: 80px;
  width: 40px;
  height: 40px;
  background: #2d247314;
  border-radius: 50%;
  pointer-events: none
}

.vcanc .sec-hdr {
  text-align: center;
  margin: 0 0 80px
}

.vcanc .sec-ttl {
  font-size: 46px;
  line-height: 1.1;
  color: #2D2473;
  margin: 0 0 24px
}

.vcanc .sec-dscrp {
  font-size: 19px;
  line-height: 1.55;
  color: #333;
  max-width: 680px;
  margin: 0 auto
}

.vcanc .pstn-grd {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin: 0 0 80px
}

.vcanc .pstn-crd {
  background: #FAFBFC;
  border: 2px solid #D3E52C;
  border-radius: 20px;
  padding: 40px;
  position: relative;
  transition: transform .18s cubic-bezier(0.4, 0, 0.6, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.6, 1);
  box-shadow: 0 1px 2px 0 #2d247314
}

.vcanc .pstn-crd:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 48px 0 #2d24731a;
  border-color: #2D2473
}

.vcanc .pstn-crd:hover .pstn-ttl {
  color: #D3E52C
}

.vcanc .bdg-cntr {
  position: absolute;
  top: 24px;
  right: 24px;
  background: #2D2473;
  color: #FFF;
  font-size: 13px;
  line-height: 1.3;
  padding: 6px 12px;
  border-radius: 36px;
  font-weight: 600
}

.vcanc .pstn-ttl {
  font-size: 25px;
  line-height: 1.3;
  color: #2D2473;
  margin: 0 0 12px;
  transition: color .15s ease-out
}

.vcanc .pstn-typ {
  font-size: 16px;
  line-height: 1.55;
  color: #666;
  margin: 0 0 24px
}

.vcanc .pstn-dscrp {
  font-size: 16px;
  line-height: 1.75;
  color: #333;
  margin: 0 0 24px
}

.vcanc .rqrmnts {
  margin: 0 0 24px
}

.vcanc .rqrmnts-ttl {
  font-size: 16px;
  line-height: 1.55;
  color: #2D2473;
  font-weight: 600;
  margin: 0 0 12px
}

.vcanc .rqrmnts-lst {
  list-style: none;
  margin: 0;
  padding: 0
}

.vcanc .rqrmnts-lst li {
  font-size: 16px;
  line-height: 1.75;
  color: #333;
  margin: 0 0 6px;
  padding-left: 24px;
  position: relative
}

.vcanc .rqrmnts-lst li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  background: #D3E52C;
  border-radius: 50%
}

.vcanc .pstn-btn {
  display: inline-block;
  background: #2D2473;
  color: #FFF;
  font-size: 16px;
  line-height: 1.3;
  padding: 12px 24px;
  border-radius: 4px;
  text-decoration: none !important;
  transition: filter .14s ease-out;
  font-weight: 600
}

.vcanc .pstn-btn:hover {
  filter: brightness(1.15)
}

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

.vcanc .tm-lft {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.vcanc .tm-rght {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 40px
}

.vcanc .tm-crd {
  background: #FFF;
  border: 2px solid #E8E8E8;
  border-radius: 20px;
  padding: 40px;
  transition: border-color .16s ease-out, box-shadow .16s ease-out;
  box-shadow: 0 1px 2px 0 #2d247314
}

.vcanc .tm-crd:hover {
  border-color: #D3E52C;
  box-shadow: 0 6px 14px 0 #2d24731c
}

.vcanc .tm-hdr {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0 0 24px
}

.vcanc .tm-pht {
  flex-shrink: 0
}

.vcanc .tm-pht img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  border: 3px solid #D3E52C
}

.vcanc .tm-nf {
  flex-grow: 1
}

.vcanc .tm-nm {
  font-size: 19px;
  line-height: 1.3;
  color: #2D2473;
  margin: 0 0 6px;
  font-weight: 600
}

.vcanc .tm-rl {
  font-size: 16px;
  line-height: 1.55;
  color: #666;
  margin: 0
}

.vcanc .tm-txt {
  font-size: 16px;
  line-height: 1.75;
  color: #333;
  margin: 0
}

.vcanc .dv-ln {
  height: 2px;
  background: #D3E52C;
  border: none;
  margin: 80px 0
}

.vcanc .cntct-blk {
  background: linear-gradient(217deg, #F5F5F5 0%, #FFF 48%, #F9F9F9 100%);
  padding: 80px 40px;
  border-radius: 20px;
  text-align: center;
  position: relative;
  overflow: hidden
}

.vcanc .cntct-blk::before {
  content: '';
  position: absolute;
  width: 280px;
  height: 280px;
  background: #d3e52c0f;
  border-radius: 50%;
  top: -80px;
  left: -80px;
  pointer-events: none;
  animation: bckgrnd-shft 8s ease-in-out infinite alternate
}

.vcanc .cntct-blk::after {
  content: '';
  position: absolute;
  width: 200px;
  height: 200px;
  background: #2d24730a;
  border-radius: 50%;
  bottom: -60px;
  right: -60px;
  pointer-events: none;
  animation: bckgrnd-shft 8s ease-in-out infinite alternate-reverse
}

@keyframes bckgrnd-shft {
  0% {
    transform: translate(0, 0)
  }

  100% {
    transform: translate(40px, 40px)
  }
}

.vcanc .cntct-hd {
  font-size: 34px;
  line-height: 1.3;
  color: #2D2473;
  margin: 0 0 24px;
  position: relative;
  z-index: 1
}

.vcanc .cntct-prg {
  font-size: 19px;
  line-height: 1.55;
  color: #333;
  max-width: 560px;
  margin: 0 auto 40px;
  position: relative;
  z-index: 1
}

.vcanc .cntct-dtls {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1
}

.vcanc .cntct-itm {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px
}

.vcanc .cntct-icn {
  width: 48px;
  height: 48px;
  background: #2D2473;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s ease-out
}

.vcanc .cntct-itm:hover .cntct-icn {
  background: #D3E52C
}

.vcanc .cntct-icn svg {
  width: 24px;
  height: 24px;
  fill: #FFF
}

.vcanc .cntct-lbl {
  font-size: 13px;
  line-height: 1.3;
  color: #666;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .05em
}

.vcanc .cntct-vl {
  font-size: 16px;
  line-height: 1.55;
  color: #2D2473;
  margin: 0;
  font-weight: 600
}

.vcanc .cntct-lnk {
  color: #2D2473;
  text-decoration: none !important;
  transition: color .14s ease-out
}

.vcanc .cntct-lnk:hover {
  color: #D3E52C
}

@media (max-width: 992px) {
  .vcanc .opng-bnr {
    flex-direction: column;
    padding: 40px 24px
  }

  .vcanc .img-lft {
    flex: 0 0 auto;
    width: 100%
  }

  .vcanc .img-lft img {
    height: 320px;
    clip-path: none
  }

  .vcanc .txt-rght {
    flex: 0 0 auto;
    width: 100%;
    padding: 40px 24px 24px
  }

  .vcanc .hd-prm {
    font-size: 46px
  }

  .vcanc .hd-sec {
    font-size: 25px
  }

  .vcanc .hd-trt {
    font-size: 19px
  }

  .vcanc .pstn-grd {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .vcanc .tm-shwcs {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .vcanc .tm-rght {
    padding-top: 0
  }

  .vcanc .cntct-dtls {
    flex-direction: column;
    gap: 24px
  }
}

@media (max-width: 576px) {
  .vcanc .opng-bnr {
    padding: 24px 12px
  }

  .vcanc .img-lft img {
    height: 240px
  }

  .vcanc .txt-rght {
    padding: 24px 12px 12px
  }

  .vcanc .hd-prm {
    font-size: 34px
  }

  .vcanc .hd-sec {
    font-size: 19px
  }

  .vcanc .hd-trt {
    font-size: 16px
  }

  .vcanc .jb-lstng {
    padding: 40px 12px
  }

  .vcanc .sec-ttl {
    font-size: 34px
  }

  .vcanc .sec-dscrp {
    font-size: 16px
  }

  .vcanc .pstn-crd {
    padding: 24px
  }

  .vcanc .bdg-cntr {
    position: static;
    display: inline-block;
    margin-bottom: 12px
  }

  .vcanc .tm-crd {
    padding: 24px
  }

  .vcanc .cntct-blk {
    padding: 40px 24px
  }

  .vcanc .cntct-hd {
    font-size: 25px
  }

  .vcanc .cntct-prg {
    font-size: 16px
  }
}

.contact-pg {
  background: #FFF;
  color: #1a1a2e;
  line-height: 1.55
}

.contact-pg .title-zone {
  position: relative;
  padding: 80px 24px;
  background: linear-gradient(173deg, #2D2473 0%, #5a4db3 100%);
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center
}

.contact-pg .title-zone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(42deg, #d3e52c08 0px, #d3e52c08 2px, transparent 2px, transparent 12px), repeating-linear-gradient(132deg, #d3e52c08 0px, #d3e52c08 2px, transparent 2px, transparent 12px);
  pointer-events: none
}

.contact-pg .eyebrow-label {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #D3E52C;
  margin: 0 0 12px;
  position: relative;
  z-index: 1
}

.contact-pg .main-heading {
  font-size: 46px;
  line-height: 1.1;
  color: #FFF;
  margin: 0 0 40px;
  text-align: center;
  max-width: 680px;
  position: relative;
  z-index: 1
}

.contact-pg .title-visual {
  position: relative;
  z-index: 1;
  max-width: 720px;
  width: 100%;
  opacity: 0;
  animation: fade-in-visual .88s cubic-bezier(0.4, 0, 0.6, 1) .16s forwards
}

@keyframes fade-in-visual {
  from {
    opacity: 0;
    transform: translateY(12px)
  }

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

.contact-pg .title-visual img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
  box-shadow: 0 8px 48px 0 #2d24731a
}

.contact-pg .form-contact-zone {
  position: relative;
  padding: 80px 24px;
  background: #FFF
}

.contact-pg .form-contact-zone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: repeating-linear-gradient(to right, #2D2473 0px, #2D2473 6px, transparent 6px, transparent 12px)
}

.contact-pg .form-contact-zone::after {
  content: '';
  position: absolute;
  top: 40px;
  right: 40px;
  width: 180px;
  height: 180px;
  background: radial-gradient(circle, #d3e52c1f 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  opacity: .6
}

.contact-pg .form-wrapper {
  max-width: 1024px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 80px
}

.contact-pg .contact-details-block {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.contact-pg .subheading-contact {
  font-size: 34px;
  line-height: 1.1;
  color: #2D2473;
  margin: 0 0 24px
}

.contact-pg .intro-text-contact {
  font-size: 16px;
  line-height: 1.55;
  color: #3a3a4e;
  margin: 0 0 24px;
  max-width: 540px
}

.contact-pg .details-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px
}

.contact-pg .detail-card {
  background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
  padding: 24px;
  border-radius: 20px;
  border: 1px solid #2d247314;
  transition: transform .18s cubic-bezier(0.4, 0, 0.6, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.contact-pg .detail-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px 0 #2d24731c
}

.contact-pg .detail-icon {
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, #D3E52C 0%, #a8b823 100%);
  border-radius: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 12px
}

.contact-pg .detail-icon svg {
  width: 20px;
  height: 20px;
  fill: #2D2473
}

.contact-pg .detail-label {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #2D2473;
  margin: 0 0 6px;
  font-weight: 600
}

.contact-pg .detail-value {
  font-size: 16px;
  line-height: 1.55;
  color: #1a1a2e;
  margin: 0
}

.contact-pg .detail-value a {
  color: #2D2473;
  text-decoration: none;
  transition: color .14s ease-out
}

.contact-pg .detail-value a:hover {
  color: #D3E52C
}

.contact-pg .form-block {
  background: #FFF;
  border: 2px solid #2D2473;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 6px 14px 0 #2d24731c
}

.contact-pg .form-heading {
  font-size: 25px;
  line-height: 1.3;
  color: #2D2473;
  margin: 0 0 24px
}

.contact-pg .form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px
}

.contact-pg .field-group {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.contact-pg .field-label {
  font-size: 13px;
  font-weight: 600;
  color: #2D2473;
  text-transform: uppercase;
  letter-spacing: .05em
}

.contact-pg .field-input {
  font-size: 16px;
  padding: 12px;
  border: 2px solid #e0e0e8;
  border-radius: 4px;
  background: #FFF;
  color: #1a1a2e;
  transition: border-color .16s ease-out, box-shadow .16s ease-out;
  box-shadow: inset 0 1px 2px 0 #2d24730f
}

.contact-pg .field-input:focus {
  outline: none;
  border-color: #2D2473;
  box-shadow: inset 0 1px 2px 0 #2d247314 0 0 0 3px #2d247314
}

.contact-pg .field-input::placeholder {
  color: #1a1a2e;
  opacity: .4
}

.contact-pg .field-select {
  font-size: 16px;
  padding: 12px;
  border: 2px solid #e0e0e8;
  border-radius: 4px;
  background: #FFF;
  color: #1a1a2e;
  cursor: pointer;
  transition: border-color .16s ease-out, box-shadow .16s ease-out;
  box-shadow: inset 0 1px 2px 0 #2d24730f;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%232D2473' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 40px
}

.contact-pg .field-select:focus {
  outline: none;
  border-color: #2D2473;
  box-shadow: inset 0 1px 2px 0 #2d247314 0 0 0 3px #2d247314
}

.contact-pg .radio-group {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.contact-pg .radio-option {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer
}

.contact-pg .radio-input {
  width: 20px;
  height: 20px;
  border: 2px solid #2D2473;
  border-radius: 0;
  cursor: pointer;
  accent-color: #2D2473
}

.contact-pg .radio-label {
  font-size: 16px;
  color: #1a1a2e;
  cursor: pointer
}

.contact-pg .privacy-group {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 24px 0 0
}

.contact-pg .privacy-checkbox {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 2px solid #2D2473;
  border-radius: 0;
  cursor: pointer;
  margin: 2px 0 0;
  accent-color: #2D2473
}

.contact-pg .privacy-text {
  font-size: 13px;
  line-height: 1.55;
  color: #3a3a4e;
  margin: 0
}

.contact-pg .privacy-text a {
  color: #2D2473;
  text-decoration: underline;
  transition: color .14s ease-out
}

.contact-pg .privacy-text a:hover {
  color: #D3E52C
}

.contact-pg .submit-btn {
  font-size: 16px;
  padding: 12px 40px;
  background: #2D2473;
  color: #FFF;
  border: 2px solid #2D2473;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  transition: filter .18s cubic-bezier(0.4, 0, 0.6, 1), transform .18s cubic-bezier(0.4, 0, 0.6, 1);
  margin: 24px 0 0;
  display: inline-block
}

.contact-pg .submit-btn:hover {
  filter: brightness(1.15);
  transform: translateY(-1px)
}

.contact-pg .submit-btn:active {
  transform: translateY(0)
}

.contact-pg .process-flow-zone {
  background: linear-gradient(180deg, #2D2473 0%, #4a3a8f 100%);
  padding: 80px 24px;
  position: relative;
  overflow: hidden
}

.contact-pg .process-flow-zone::before {
  content: '';
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 4px;
  background: linear-gradient(90deg, transparent 0%, #d3e52c99 25%, #d3e52c99 75%, transparent 100%);
  animation: wave-move 4.2s ease-in-out infinite
}

@keyframes wave-move {

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

  50% {
    transform: translateX(25%)
  }
}

.contact-pg .process-container {
  max-width: 1024px;
  margin: 0 auto
}

.contact-pg .process-heading {
  font-size: 34px;
  line-height: 1.1;
  color: #FFF;
  margin: 0 0 40px;
  text-align: center
}

.contact-pg .process-steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  position: relative
}

.contact-pg .step-card {
  background: #ffffff0f;
  padding: 24px;
  border-radius: 20px;
  border: 1px solid #d3e52c33;
  position: relative;
  transition: background .18s cubic-bezier(0.4, 0, 0.6, 1), border-color .18s cubic-bezier(0.4, 0, 0.6, 1);
  box-shadow: inset 0 1px 2px 0 #ffffff14
}

.contact-pg .step-card:hover {
  background: #ffffff1a;
  border-color: #d3e52c66
}

.contact-pg .step-number {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 62px;
  line-height: 1;
  color: #d3e52c1f;
  font-weight: 700;
  pointer-events: none
}

.contact-pg .step-title {
  font-size: 19px;
  line-height: 1.3;
  color: #D3E52C;
  margin: 0 0 12px;
  font-weight: 600;
  position: relative;
  z-index: 1
}

.contact-pg .step-description {
  font-size: 16px;
  line-height: 1.55;
  color: #ffffffd9;
  margin: 0;
  position: relative;
  z-index: 1
}

.contact-pg .curl-decoration {
  position: absolute;
  bottom: 24px;
  left: 24px;
  width: 120px;
  height: 120px;
  opacity: .06;
  pointer-events: none
}

.contact-pg .curl-decoration svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: #D3E52C;
  stroke-width: 2
}

@media (min-width: 576px) {
  .contact-pg .details-grid {
    grid-template-columns: repeat(2, 1fr)
  }

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

  .contact-pg .field-group.full-width {
    grid-column: 1 / -1
  }

  .contact-pg .process-steps {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (min-width: 992px) {
  .contact-pg .title-zone {
    padding: 120px 40px
  }

  .contact-pg .main-heading {
    font-size: 62px
  }

  .contact-pg .form-contact-zone {
    padding: 120px 40px
  }

  .contact-pg .form-wrapper {
    grid-template-columns: 380px 1fr;
    gap: 80px
  }

  .contact-pg .process-flow-zone {
    padding: 120px 40px
  }

  .contact-pg .process-heading {
    font-size: 46px
  }

  .contact-pg .process-steps {
    grid-template-columns: repeat(4, 1fr)
  }

  .contact-pg .step-card::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -32px;
    width: 24px;
    height: 2px;
    background: #d3e52c66;
    transform: translateY(-50%)
  }

  .contact-pg .step-card:last-child::after {
    display: none
  }

  .contact-pg .step-card::before {
    content: '';
    position: absolute;
    top: 50%;
    right: -26px;
    width: 0;
    height: 0;
    border-left: 6px solid #d3e52c66;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    transform: translateY(-50%)
  }

  .contact-pg .step-card:last-child::before {
    display: none
  }
}

@media (min-width: 1200px) {
  .contact-pg .details-grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

.abt-pg {
  background: #FFF;
  color: #1a1a2e;
  overflow-x: clip
}

.abt-pg * {
  box-sizing: border-box
}

.abt-pg .hdr-bnr {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1024px;
  margin: 0 auto;
  background: linear-gradient(128deg, #D3E52C 0%, #2D2473 48%, #FFF 100%);
  overflow: hidden;
  border-radius: 0
}

.abt-pg .hdr-bnr::before {
  content: '"';
  position: absolute;
  top: 40px;
  right: 80px;
  font-size: 240px;
  line-height: 1;
  color: #ffffff26;
  font-weight: 700;
  z-index: 1;
  pointer-events: none
}

.abt-pg .bnr-img-wrp {
  position: relative;
  width: 100%;
  height: 100%;
  clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%)
}

.abt-pg .bnr-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt-pg .bnr-txt-zn {
  position: relative;
  padding: 80px 80px 80px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 2
}

.abt-pg .bnr-hdg {
  font-size: 46px;
  line-height: 1.1;
  font-weight: 700;
  color: #FFF;
  margin: 0 0 24px
}

.abt-pg .bnr-hdg .accent-wrd {
  color: #D3E52C;
  display: inline-block
}

.abt-pg .bnr-txt {
  font-size: 19px;
  line-height: 1.55;
  color: #ffffffeb;
  margin: 0
}

.abt-pg .stry-blck {
  max-width: 1024px;
  margin: 0 auto;
  padding: 80px 40px;
  background: #FFF;
  position: relative
}

.abt-pg .stry-blck::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: repeating-linear-gradient(90deg, #D3E52C 0px, #D3E52C 18px, transparent 18px, transparent 32px, #2D2473 32px, #2D2473 56px, transparent 56px, transparent 68px, #D3E52C 68px, #D3E52C 92px, transparent 92px, transparent 110px)
}

.abt-pg .stry-hdr {
  font-size: 34px;
  line-height: 1.3;
  font-weight: 700;
  color: #2D2473;
  margin: 0 0 40px;
  text-align: center
}

.abt-pg .stry-grd {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-bottom: 40px
}

.abt-pg .stry-crd {
  background: #FFF;
  border: 2px solid #2D2473;
  padding: 24px;
  position: relative;
  border-radius: 20px;
  transition: transform .18s cubic-bezier(0.4, 0, 0.6, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.6, 1);
  box-shadow: 0 1px 2px 0 #2d247314
}

.abt-pg .stry-crd:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 48px 0 #2d24731a
}

.abt-pg .crd-img-wrp {
  width: 100%;
  height: 220px;
  overflow: hidden;
  border-radius: 4px;
  margin-bottom: 24px;
  position: relative;
  border: 3px solid transparent;
  transition: border-color .16s ease-out
}

.abt-pg .stry-crd:hover .crd-img-wrp {
  border-color: #D3E52C
}

.abt-pg .crd-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt-pg .crd-hdg {
  font-size: 25px;
  line-height: 1.3;
  font-weight: 700;
  color: #2D2473;
  margin: 0 0 12px
}

.abt-pg .crd-txt {
  font-size: 16px;
  line-height: 1.55;
  color: #1a1a2e;
  margin: 0
}

.abt-pg .prfl-zn {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  padding: 40px;
  background: linear-gradient(95deg, #F8F9FA 0%, #FFF 100%);
  border-radius: 20px;
  border: 1px solid #2d24731f
}

.abt-pg .prfl-img-wrp {
  flex-shrink: 0;
  width: 160px;
  height: 224px;
  overflow: hidden;
  border-radius: 0;
  border: 4px solid #2D2473;
  position: relative
}

.abt-pg .prfl-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block
}

.abt-pg .prfl-dtls {
  flex: 1
}

.abt-pg .prfl-nm {
  font-size: 25px;
  line-height: 1.3;
  font-weight: 700;
  color: #2D2473;
  margin: 0 0 6px
}

.abt-pg .prfl-rl {
  font-size: 16px;
  line-height: 1.55;
  color: #D3E52C;
  margin: 0 0 12px;
  font-weight: 600
}

.abt-pg .prfl-bio {
  font-size: 16px;
  line-height: 1.55;
  color: #1a1a2e;
  margin: 0
}

.abt-pg .tm-sctn {
  max-width: 1024px;
  margin: 0 auto;
  padding: 80px 40px;
  background: #2D2473;
  position: relative;
  animation: clr-wsh 8s ease-in-out infinite
}

@keyframes clr-wsh {

  0%,
  100% {
    background: #2D2473
  }

  50% {
    background: #3a2f8a
  }
}

.abt-pg .tm-sctn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: repeating-linear-gradient(90deg, #D3E52C 0px, #D3E52C 24px, transparent 24px, transparent 40px, #FFF 40px, #FFF 58px, transparent 58px, transparent 72px, #D3E52C 72px, #D3E52C 104px, transparent 104px, transparent 118px)
}

.abt-pg .tm-hdr {
  font-size: 34px;
  line-height: 1.3;
  font-weight: 700;
  color: #D3E52C;
  margin: 0 0 40px;
  text-align: center
}

.abt-pg .tm-grd {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px
}

.abt-pg .tm-crd {
  background: #FFF;
  padding: 24px;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  transition: transform .14s ease-out
}

.abt-pg .tm-crd::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background: linear-gradient(180deg, #D3E52C 0%, transparent 100%);
  transition: height .22s cubic-bezier(0.4, 0, 0.6, 1);
  z-index: 0
}

.abt-pg .tm-crd:hover::before {
  height: 100%
}

.abt-pg .tm-crd:hover {
  transform: scale(1.04)
}

.abt-pg .tm-crd-cntnt {
  position: relative;
  z-index: 1
}

.abt-pg .tm-crd-lbl {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px
}

.abt-pg .clr-dt {
  width: 16px;
  height: 16px;
  border-radius: 36px;
  background: #2D2473;
  flex-shrink: 0
}

.abt-pg .tm-crd:nth-child(2) .clr-dt {
  background: #D3E52C
}

.abt-pg .tm-crd:nth-child(3) .clr-dt {
  background: #2D2473
}

.abt-pg .tm-crd-ctgry {
  font-size: 13px;
  line-height: 1.3;
  font-weight: 600;
  color: #2D2473;
  text-transform: uppercase;
  letter-spacing: .08em
}

.abt-pg .tm-crd-hdg {
  font-size: 25px;
  line-height: 1.3;
  font-weight: 700;
  color: #2D2473;
  margin: 0 0 12px
}

.abt-pg .tm-crd-txt {
  font-size: 16px;
  line-height: 1.55;
  color: #1a1a2e;
  margin: 0
}

.abt-pg .vls-blck {
  max-width: 1024px;
  margin: 0 auto;
  padding: 80px 40px;
  background: #FFF
}

.abt-pg .vls-hdr {
  font-size: 34px;
  line-height: 1.3;
  font-weight: 700;
  color: #2D2473;
  margin: 0 0 40px
}

.abt-pg .vls-lst {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 40px
}

.abt-pg .vls-itm {
  position: relative;
  padding-left: 80px
}

.abt-pg .vls-itm::before {
  content: attr(data-num);
  position: absolute;
  left: 0;
  top: -12px;
  font-size: 62px;
  line-height: 1;
  font-weight: 700;
  color: #d3e52c40;
  z-index: 0
}

.abt-pg .vls-itm-hdr {
  font-size: 25px;
  line-height: 1.3;
  font-weight: 700;
  color: #2D2473;
  margin: 0 0 12px;
  position: relative;
  z-index: 1
}

.abt-pg .vls-itm-txt {
  font-size: 16px;
  line-height: 1.55;
  color: #1a1a2e;
  margin: 0;
  position: relative;
  z-index: 1
}

@media (max-width: 992px) {
  .abt-pg .hdr-bnr {
    grid-template-columns: 1fr
  }

  .abt-pg .bnr-img-wrp {
    height: 320px;
    clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%)
  }

  .abt-pg .bnr-txt-zn {
    padding: 40px
  }

  .abt-pg .hdr-bnr::before {
    top: 24px;
    right: 40px;
    font-size: 160px
  }

  .abt-pg .stry-grd {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .abt-pg .tm-grd {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .abt-pg .prfl-zn {
    flex-direction: column;
    text-align: center;
    padding: 24px
  }
}

@media (max-width: 576px) {
  .abt-pg .bnr-hdg {
    font-size: 34px
  }

  .abt-pg .bnr-txt-zn {
    padding: 24px
  }

  .abt-pg .stry-blck,
  .abt-pg .tm-sctn,
  .abt-pg .vls-blck {
    padding: 40px 24px
  }

  .abt-pg .stry-hdr,
  .abt-pg .tm-hdr,
  .abt-pg .vls-hdr {
    font-size: 25px;
    margin-bottom: 24px
  }

  .abt-pg .crd-hdg,
  .abt-pg .tm-crd-hdg,
  .abt-pg .vls-itm-hdr,
  .abt-pg .prfl-nm {
    font-size: 19px
  }

  .abt-pg .bnr-txt,
  .abt-pg .crd-txt,
  .abt-pg .tm-crd-txt,
  .abt-pg .vls-itm-txt,
  .abt-pg .prfl-bio,
  .abt-pg .prfl-rl {
    font-size: 13px
  }

  .abt-pg .vls-itm {
    padding-left: 60px
  }

  .abt-pg .vls-itm::before {
    font-size: 46px;
    top: -6px
  }

  .abt-pg .prfl-img-wrp {
    width: 140px;
    height: 196px
  }
}

.bdg-home {
  max-width: 100%;
  overflow-x: clip
}

.bdg-home * {
  box-sizing: border-box
}

.bdg-home .lmt-container {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px
}

.bdg-home .ttl-opener {
  position: relative;
  background: linear-gradient(135deg, #2D2473 0%, #1a1550 100%);
  padding-top: 80px;
  padding-bottom: 80px;
  overflow: hidden;
  min-height: 480px;
  display: flex;
  align-items: center
}

.bdg-home .ttl-opener::before {
  content: '';
  position: absolute;
  top: -120px;
  left: -80px;
  width: 320px;
  height: 320px;
  background: #D3E52C;
  opacity: .06;
  border-radius: 50%;
  filter: blur(60px);
  pointer-events: none
}

.bdg-home .ttl-opener::after {
  content: '';
  position: absolute;
  bottom: -100px;
  right: -60px;
  width: 280px;
  height: 280px;
  background: #D3E52C;
  opacity: .08;
  border-radius: 50%;
  filter: blur(70px);
  pointer-events: none
}

.bdg-home .ttl-content {
  position: relative;
  z-index: 2
}

.bdg-home .ttl-heading {
  font-size: 46px;
  line-height: 1.1;
  color: #FFF;
  margin: 0 0 40px;
  font-weight: 700;
  letter-spacing: -.02em
}

.bdg-home .ttl-heading .accent-word {
  color: #D3E52C
}

.bdg-home .ttl-points {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.bdg-home .ttl-points li {
  font-size: 19px;
  line-height: 1.55;
  color: #FFF;
  padding-left: 40px;
  position: relative
}

.bdg-home .ttl-points li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 24px;
  height: 2px;
  background: #D3E52C
}

.bdg-home .val-section {
  position: relative;
  background: #FFF;
  padding-top: 80px;
  padding-bottom: 80px;
  border-bottom: 4px solid #2D2473;
  animation: scaleReveal .18s ease-out
}

@keyframes scaleReveal {
  from {
    opacity: 0;
    transform: scale(0.9)
  }

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

.bdg-home .val-section::before {
  content: '';
  position: absolute;
  bottom: -14px;
  left: 0;
  right: 0;
  height: 10px;
  background-image: radial-gradient(circle at 10px 0, transparent 10px, #FFF 10px);
  background-size: 20px 10px;
  background-repeat: repeat-x;
  background-position: 0 0
}

.bdg-home .val-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: start
}

.bdg-home .val-text-area {
  max-width: 680px
}

.bdg-home .val-heading {
  font-size: 34px;
  line-height: 1.1;
  color: #2D2473;
  margin: 0 0 24px;
  font-weight: 700
}

.bdg-home .val-heading .accent-word {
  color: #D3E52C
}

.bdg-home .val-intro {
  font-size: 19px;
  line-height: 1.55;
  color: #2D2473;
  margin: 0 0 24px;
  text-align: center
}

.bdg-home .val-body {
  font-size: 16px;
  line-height: 1.75;
  color: #333;
  margin: 0;
  text-align: left
}

.bdg-home .val-img-container {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 48px 0 #2d24731a;
  border: 4px solid #2D2473
}

.bdg-home .val-img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.bdg-home .avail-section {
  position: relative;
  background: linear-gradient(155deg, #f8f8f0 0%, #FFF 50%, #f5f5ed 100%);
  padding-top: 80px;
  padding-bottom: 80px;
  border-bottom: 4px solid #D3E52C
}

.bdg-home .avail-section::before {
  content: '';
  position: absolute;
  bottom: -14px;
  left: 0;
  right: 0;
  height: 10px;
  background-image: radial-gradient(circle at 10px 0, transparent 10px, #f5f5ed 10px);
  background-size: 20px 10px;
  background-repeat: repeat-x;
  background-position: 0 0
}

.bdg-home .avail-heading {
  font-size: 34px;
  line-height: 1.1;
  color: #2D2473;
  margin: 0 0 40px;
  font-weight: 700;
  text-align: center
}

.bdg-home .avail-heading .accent-word {
  color: #D3E52C
}

.bdg-home .avail-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px
}

.bdg-home .avail-card {
  background: #FFF;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 6px 14px 0 #2d24731c;
  border: 3px solid #2D2473;
  position: relative;
  transition: transform .16s ease-out, box-shadow .16s ease-out
}

.bdg-home .avail-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 48px 0 #2d24731a
}

.bdg-home .avail-card-number {
  position: absolute;
  top: 24px;
  right: 24px;
  font-size: 62px;
  line-height: 1;
  color: #D3E52C;
  opacity: .15;
  font-weight: 700
}

.bdg-home .avail-card-title {
  font-size: 25px;
  line-height: 1.3;
  color: #2D2473;
  margin: 0 0 12px;
  font-weight: 700
}

.bdg-home .avail-card-desc {
  font-size: 16px;
  line-height: 1.75;
  color: #333;
  margin: 0
}

.bdg-home .grad-section {
  position: relative;
  background: #2D2473;
  padding-top: 80px;
  padding-bottom: 80px;
  animation: scaleReveal .2s ease-out;
  overflow: hidden
}

.bdg-home .grad-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(/photo_storage/background014.jpg);
  background-size: cover;
  background-position: center;
  opacity: .08;
  pointer-events: none
}

.bdg-home .grad-content {
  position: relative;
  z-index: 2;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto
}

.bdg-home .grad-heading {
  font-size: 34px;
  line-height: 1.1;
  color: #FFF;
  margin: 0 0 40px;
  font-weight: 700;
  text-align: center
}

.bdg-home .grad-heading .accent-word {
  color: #D3E52C
}

.bdg-home .grad-blocks {
  display: flex;
  flex-direction: column;
  gap: 80px
}

.bdg-home .grad-block {
  background: #ffffff0d;
  border-radius: 20px;
  padding: 40px;
  border: 2px solid #d3e52c33
}

.bdg-home .grad-block-title {
  font-size: 25px;
  line-height: 1.3;
  color: #D3E52C;
  margin: 0 0 24px;
  font-weight: 700
}

.bdg-home .grad-block-text {
  font-size: 16px;
  line-height: 1.75;
  color: #FFF;
  margin: 0
}

.bdg-home .env-section {
  position: relative;
  background: #FFF;
  padding-top: 80px;
  padding-bottom: 80px;
  border-bottom: 4px solid #2D2473
}

.bdg-home .env-section::before {
  content: '';
  position: absolute;
  bottom: -14px;
  left: 0;
  right: 0;
  height: 10px;
  background-image: radial-gradient(circle at 10px 0, transparent 10px, #FFF 10px);
  background-size: 20px 10px;
  background-repeat: repeat-x;
  background-position: 0 0
}

.bdg-home .env-heading {
  font-size: 34px;
  line-height: 1.1;
  color: #2D2473;
  margin: 0 0 40px;
  font-weight: 700
}

.bdg-home .env-heading .accent-word {
  color: #D3E52C
}

.bdg-home .env-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: start
}

.bdg-home .env-profiles {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px
}

.bdg-home .env-profile {
  display: flex;
  flex-direction: column;
  gap: 24px;
  background: linear-gradient(135deg, #f8f8f0 0%, #FFF 100%);
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 6px 14px 0 #2d24731c;
  border: 3px solid #2D2473
}

.bdg-home .env-profile-img {
  width: 180px;
  height: 240px;
  border-radius: 36px;
  overflow: hidden;
  box-shadow: 0 6px 14px 0 #2d24731c;
  border: 3px solid #D3E52C;
  margin: 0 auto
}

.bdg-home .env-profile-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block
}

.bdg-home .env-profile-info {
  text-align: center
}

.bdg-home .env-profile-name {
  font-size: 25px;
  line-height: 1.3;
  color: #2D2473;
  margin: 0 0 6px;
  font-weight: 700
}

.bdg-home .env-profile-role {
  font-size: 16px;
  line-height: 1.55;
  color: #666;
  margin: 0 0 12px
}

.bdg-home .env-profile-text {
  font-size: 16px;
  line-height: 1.75;
  color: #333;
  margin: 0
}

.bdg-home .env-timeline-area {
  background: linear-gradient(135deg, #2D2473 0%, #1a1550 100%);
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 8px 48px 0 #2d24731a
}

.bdg-home .env-timeline-title {
  font-size: 25px;
  line-height: 1.3;
  color: #D3E52C;
  margin: 0 0 40px;
  font-weight: 700;
  text-align: center
}

.bdg-home .env-timeline {
  display: flex;
  flex-direction: column;
  gap: 40px;
  position: relative
}

.bdg-home .env-timeline-item {
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative
}

.bdg-home .env-timeline-label {
  font-size: 19px;
  line-height: 1.3;
  color: #D3E52C;
  margin: 0;
  font-weight: 700
}

.bdg-home .env-timeline-detail {
  font-size: 16px;
  line-height: 1.75;
  color: #FFF;
  margin: 0
}

.bdg-home .invest-section {
  position: relative;
  background: linear-gradient(155deg, #f8f8f0 0%, #FFF 50%, #f5f5ed 100%);
  padding-top: 80px;
  padding-bottom: 80px;
  animation: scaleReveal .22s ease-out
}

.bdg-home .invest-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: center
}

.bdg-home .invest-text-area {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto
}

.bdg-home .invest-heading {
  font-size: 34px;
  line-height: 1.1;
  color: #2D2473;
  margin: 0 0 24px;
  font-weight: 700;
  text-align: center
}

.bdg-home .invest-heading .accent-word {
  color: #D3E52C
}

.bdg-home .invest-intro {
  font-size: 19px;
  line-height: 1.55;
  color: #2D2473;
  margin: 0 0 24px;
  text-align: center
}

.bdg-home .invest-body {
  font-size: 16px;
  line-height: 1.75;
  color: #333;
  margin: 0 0 40px;
  text-align: left
}

.bdg-home .invest-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px
}

.bdg-home .invest-card {
  background: #FFF;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 6px 14px 0 #2d24731c;
  border: 3px solid #2D2473;
  display: flex;
  align-items: center;
  gap: 24px;
  transition: transform .14s ease-out
}

.bdg-home .invest-card:hover {
  transform: translateX(6px)
}

.bdg-home .invest-card-icon {
  width: 60px;
  height: 60px;
  border-radius: 20px;
  background: linear-gradient(135deg, #D3E52C 0%, #b8c626 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 6px 14px 0 #d3e52c4d
}

.bdg-home .invest-card-icon svg {
  width: 32px;
  height: 32px;
  fill: #2D2473
}

.bdg-home .invest-card-content {
  flex: 1
}

.bdg-home .invest-card-title {
  font-size: 19px;
  line-height: 1.3;
  color: #2D2473;
  margin: 0 0 6px;
  font-weight: 700
}

.bdg-home .invest-card-desc {
  font-size: 16px;
  line-height: 1.55;
  color: #333;
  margin: 0
}

.bdg-home .invest-img-group {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px
}

.bdg-home .invest-img-container {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 48px 0 #2d24731a;
  border: 4px solid #2D2473
}

.bdg-home .invest-img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

@media (min-width: 576px) {
  .bdg-home .ttl-opener {
    padding-top: 80px;
    padding-bottom: 80px
  }

  .bdg-home .ttl-heading {
    font-size: 62px
  }

  .bdg-home .val-heading,
  .bdg-home .avail-heading,
  .bdg-home .grad-heading,
  .bdg-home .env-heading,
  .bdg-home .invest-heading {
    font-size: 46px
  }

  .bdg-home .avail-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .bdg-home .env-profiles {
    grid-template-columns: repeat(2, 1fr)
  }

  .bdg-home .invest-cards {
    grid-template-columns: repeat(2, 1fr)
  }

  .bdg-home .invest-img-group {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (min-width: 992px) {
  .bdg-home .lmt-container {
    padding-left: 40px;
    padding-right: 40px
  }

  .bdg-home .val-wrapper {
    grid-template-columns: 1fr 1fr;
    gap: 80px
  }

  .bdg-home .avail-grid {
    grid-template-columns: repeat(3, 1fr)
  }

  .bdg-home .env-layout {
    grid-template-columns: 2fr 1fr;
    gap: 80px
  }

  .bdg-home .env-timeline {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    padding-top: 24px;
    padding-bottom: 24px
  }

  .bdg-home .env-timeline::before {
    content: '';
    position: absolute;
    top: 32px;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #D3E52C 0%, #d3e52c4d 100%)
  }

  .bdg-home .env-timeline-item {
    flex: 1;
    position: relative;
    padding-top: 40px
  }

  .bdg-home .env-timeline-item::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 16px;
    background: #D3E52C;
    border-radius: 50%;
    box-shadow: 0 0 0 4px #d3e52c4d
  }

  .bdg-home .env-timeline-label {
    text-align: center
  }

  .bdg-home .env-timeline-detail {
    text-align: center
  }

  .bdg-home .invest-wrapper {
    grid-template-columns: 1fr 1fr;
    gap: 80px
  }

  .bdg-home .invest-text-area {
    margin-left: 0;
    margin-right: 0
  }

  .bdg-home .invest-heading {
    text-align: left
  }

  .bdg-home .invest-intro {
    text-align: left
  }

  .bdg-home .invest-cards {
    grid-template-columns: 1fr
  }

  .bdg-home .invest-img-group {
    grid-template-columns: 1fr
  }
}

@media (min-width: 1200px) {
  .bdg-home .grad-blocks {
    flex-direction: row;
    gap: 40px
  }

  .bdg-home .grad-block {
    flex: 1
  }
}

.succpg {
  background: linear-gradient(148deg, #D3E52C 0%, #2D2473 52%, #FFF 100%);
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 24px
}

.succpg .succ-wrap {
  background: #FFF;
  max-width: 680px;
  width: 100%;
  padding: 80px 40px;
  border-radius: 20px;
  box-shadow: 0 8px 48px 0 #2d24731a;
  text-align: center
}

.succpg .succ-icon {
  width: 92px;
  height: 92px;
  margin: 0 auto 40px;
  background: linear-gradient(148deg, #D3E52C 0%, #2D2473 100%);
  border-radius: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative
}

.succpg .succ-icon::before {
  content: '';
  width: 36px;
  height: 18px;
  border-left: 5px solid #FFF;
  border-bottom: 5px solid #FFF;
  transform: rotate(-45deg) translateY(-4px)
}

.succpg .succ-ttl {
  font-size: 46px;
  line-height: 1.1;
  color: #2D2473;
  margin: 0 0 24px;
  font-weight: 700
}

.succpg .succ-msg {
  font-size: 19px;
  line-height: 1.55;
  color: #1a1a1a;
  margin: 0 0 40px
}

.succpg .succ-detail {
  background: #f5f5f5;
  padding: 24px;
  border-radius: 4px;
  margin: 0 0 40px
}

.succpg .succ-detail p {
  font-size: 16px;
  line-height: 1.55;
  color: #333;
  margin: 0
}

.succpg .succ-detail p+p {
  margin-top: 12px
}

.succpg .succ-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap
}

.succpg .succ-btn-prim {
  background: #2D2473;
  color: #FFF;
  padding: 16px 40px;
  border-radius: 20px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: filter .16s ease-out;
  box-shadow: 0 6px 14px 0 #2d24731c
}

.succpg .succ-btn-prim:hover {
  filter: brightness(1.15)
}

.succpg .succ-btn-sec {
  background: transparent;
  color: #2D2473;
  padding: 16px 40px;
  border-radius: 20px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: background .18s cubic-bezier(0.4, 0, 0.6, 1);
  border: 2px solid #2D2473
}

.succpg .succ-btn-sec:hover {
  background: #2d24730d
}

@media (max-width: 576px) {
  .succpg .succ-wrap {
    padding: 40px 24px
  }

  .succpg .succ-icon {
    width: 72px;
    height: 72px;
    margin-bottom: 24px
  }

  .succpg .succ-icon::before {
    width: 28px;
    height: 14px;
    border-width: 4px
  }

  .succpg .succ-ttl {
    font-size: 34px
  }

  .succpg .succ-msg {
    font-size: 16px
  }

  .succpg .succ-actions {
    flex-direction: column
  }

  .succpg .succ-btn-prim,
  .succpg .succ-btn-sec {
    width: 100%
  }
}