@import "https://cdn.jsdelivr.net/npm/@fontsource/alegreya@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/alegreya@latest/500.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/alegreya@latest/700.css";

*,
::before,
::after {
  box-sizing: border-box
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Alegreya', Georgia, serif;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
  overflow-wrap: break-word
}

.site-header {
  position: relative;
  background: #fff;
  border-bottom: 2px solid #10FFED;
  box-shadow: 1px 6px 22px -1px #10ffed17;
  overflow: hidden
}

.site-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #10FFED 0%, #B51645 50%, #F9B200 100%)
}

.header-top {
  max-width: 1170px;
  margin: 0 auto;
  padding: 24px 24px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid #10ffed40
}

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

.logo-ring {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 0 0 2px #10ffed66 1px 3px 3px -1px #10ffed0f;
  padding: 6px
}

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

.brand-label {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.brand-name {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  color: #1a0a1e;
  letter-spacing: 0
}

.brand-tagline {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #3d2a45
}

.trust-badge {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 24px;
  border-radius: 22px;
  border: 1px solid #b5164533;
  background: linear-gradient(135deg, #f9b2000f 0%, #b516450a 100%);
  flex-shrink: 0
}

.trust-badge-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0
}

.trust-badge-text {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.trust-badge-label {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.1;
  color: #B51645;
  text-transform: uppercase
}

.trust-badge-sub {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #3d2a45
}

.header-nav-row {
  max-width: 1170px;
  margin: 0 auto;
  padding: 12px 24px
}

.primary-nav {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0
}

.primary-nav li {
  flex-shrink: 0
}

.nav-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 24px;
  font-family: 'Alegreya', Georgia, serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #2a1a30;
  text-decoration: none;
  border-radius: 8px;
  border: 1px solid transparent;
  transition: color .2s ease-out, border-color .25s ease-out, background .18s ease-out;
  white-space: nowrap
}

.nav-link:hover {
  color: #B51645;
  border-color: #b516454d;
  background: #b516450a
}

.nav-link:focus {
  outline: none;
  border-color: #10FFED;
  background: #10ffed14
}

.nav-link-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  transition: transform .22s ease-out
}

.nav-link:hover .nav-link-icon {
  transform: translateX(3px)
}

.nav-link-active {
  color: #B51645;
  border-color: #b5164540;
  background: #b516450d
}

.site-footer {
  background: #f4f0f7;
  border-top: 2px solid #10ffed66;
  box-shadow: 1px 10px 52px -1px #10ffed1a inset
}

.footer-top {
  max-width: 1170px;
  margin: 0 auto;
  padding: 48px 24px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 48px
}

.footer-brand-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px
}

.footer-logo-ring {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 0 0 2px #10ffed59 1px 3px 3px -1px #10ffed0f;
  padding: 6px
}

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

.footer-brand-name {
  font-size: 21px;
  font-weight: 700;
  line-height: 1.1;
  color: #1a0a1e
}

.footer-brand-desc {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.9;
  color: #3d2a45
}

.footer-nav-col {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.footer-col-heading {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.1;
  color: #B51645;
  text-transform: uppercase;
  letter-spacing: 0;
  padding-bottom: 6px;
  border-bottom: 1px solid #b5164533
}

.footer-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px
}

.footer-nav-link {
  font-family: 'Alegreya', Georgia, serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #2a1a30;
  text-decoration: none;
  display: inline-block;
  transition: color .2s ease-out
}

.footer-nav-link:hover {
  color: #B51645
}

.footer-nav-link:focus {
  outline: none;
  color: #B51645
}

.footer-contact-col {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px
}

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

.contact-detail {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #2a1a30
}

.contact-link {
  color: #2a1a30;
  text-decoration: none;
  transition: color .18s ease-out
}

.contact-link:hover {
  color: #B51645
}

.contact-link:focus {
  outline: none;
  color: #B51645
}

.footer-bottom {
  max-width: 1170px;
  margin: 0 auto;
  padding: 24px 24px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  border-top: 1px solid #10ffed33
}

.footer-copyright {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #5a4060
}

.footer-logo-center {
  display: flex;
  align-items: center;
  justify-content: center
}

.footer-logo-small {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 0 0 1px #10ffed4d 1px 3px 3px -1px #10ffed0f;
  padding: 6px
}

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

.footer-legal-links {
  display: flex;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0
}

.footer-legal-link {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #5a4060;
  text-decoration: none;
  transition: color .2s ease-out
}

.footer-legal-link:hover {
  color: #B51645
}

.footer-legal-link:focus {
  outline: none;
  color: #B51645
}

.consent-tray {
  display: none;
  position: fixed;
  bottom: 24px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 90%;
  max-width: 680px;
  z-index: 2000;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #10ffed66;
  box-shadow: 1px 10px 52px -1px #10ffed1a;
  padding: 24px
}

.consent-text {
  font-family: 'Alegreya', Georgia, serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #2a1a30;
  margin-bottom: 24px
}

.consent-categories {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px
}

.consent-category {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border-radius: 8px;
  background: #10ffed0a;
  border: 1px solid #10ffed26
}

.consent-category-label {
  font-family: 'Alegreya', Georgia, serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #2a1a30
}

.consent-category-note {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #5a4060
}

.consent-toggle {
  position: relative;
  width: 44px;
  height: 24px;
  flex-shrink: 0
}

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

.toggle-track {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #d0c8d8;
  border-radius: 34px;
  cursor: pointer;
  transition: background .22s ease-out
}

.toggle-track::after {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  left: 3px;
  top: 3px;
  background: #fff;
  border-radius: 48px;
  transition: transform .22s ease-out
}

.consent-toggle input:checked+.toggle-track {
  background: #10FFED
}

.consent-toggle input:checked+.toggle-track::after {
  transform: translateX(20px)
}

.consent-toggle input:focus+.toggle-track {
  border: 2px solid #B51645
}

.consent-toggle-fixed {
  position: relative;
  width: 44px;
  height: 24px;
  flex-shrink: 0
}

.toggle-track-fixed {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #10FFED;
  border-radius: 34px;
  cursor: not-allowed
}

.toggle-track-fixed::after {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  left: 23px;
  top: 3px;
  background: #fff;
  border-radius: 48px
}

.data-sale-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border-radius: 8px;
  background: #f9b2000d;
  border: 1px solid #f9b20033;
  margin-bottom: 24px
}

.data-sale-label {
  font-family: 'Alegreya', Georgia, serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #2a1a30
}

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

.consent-btn-accept {
  font-family: 'Alegreya', Georgia, serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #2a1a30;
  background: #10FFED;
  border: 2px solid #10FFED;
  border-radius: 8px;
  padding: 12px 24px;
  cursor: pointer;
  text-decoration: underline;
  transition: background .2s ease-out, border-color .2s ease-out;
  min-height: 44px
}

.consent-btn-accept:hover {
  background: #10ffedb3;
  border-color: #10ffedb3
}

.consent-btn-accept:focus {
  outline: none;
  border-color: #B51645;
  background: #10ffed80
}

.consent-btn-reject {
  font-family: 'Alegreya', Georgia, serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #2a1a30;
  background: transparent;
  border: none;
  cursor: pointer;
  text-decoration: underline;
  padding: 12px 6px;
  min-height: 44px;
  transition: color .18s ease-out
}

.consent-btn-reject:hover {
  color: #B51645
}

.consent-btn-reject:focus {
  outline: none;
  color: #B51645
}

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

  .footer-contact-col {
    grid-column: 1 / -1
  }
}

@media (max-width: 768px) {
  .header-top {
    flex-wrap: wrap;
    gap: 12px
  }

  .trust-badge {
    width: 100%;
    justify-content: flex-start
  }

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

  .footer-contact-col {
    grid-column: auto
  }

  .footer-bottom {
    flex-direction: column;
    align-items: center;
    text-align: center
  }

  .consent-tray {
    width: 95%;
    padding: 12px
  }
}

@media (max-width: 480px) {
  .primary-nav {
    gap: 6px
  }

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

  .header-top {
    padding: 12px 12px 6px
  }

  .header-nav-row {
    padding: 6px 12px 12px
  }
}

.dyaw-policy-main {
  max-width: 1170px;
  margin: 0 auto;
  padding: 48px 24px
}

.dyaw-policy-main h1 {
  font-size: 52px;
  line-height: 1.1;
  color: #111318;
  margin-bottom: 24px;
  margin-top: 0
}

.dyaw-policy-main h2 {
  font-size: 38px;
  line-height: 1.1;
  color: #111318;
  margin-top: 48px;
  margin-bottom: 24px
}

.dyaw-policy-main h3 {
  font-size: 28px;
  line-height: 1.5;
  color: #1a2030;
  margin-top: 48px;
  margin-bottom: 12px
}

.dyaw-policy-main h4 {
  font-size: 21px;
  line-height: 1.5;
  color: #1a2030;
  margin-top: 24px;
  margin-bottom: 12px
}

.dyaw-policy-main h5 {
  font-size: 16px;
  line-height: 1.5;
  color: #1a2030;
  margin-top: 24px;
  margin-bottom: 12px
}

.dyaw-policy-main h6 {
  font-size: 13px;
  line-height: 1.5;
  color: #2c3345;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-top: 24px;
  margin-bottom: 12px
}

.dyaw-policy-main p {
  font-size: 16px;
  line-height: 1.9;
  color: #2c3345;
  margin-top: 0;
  margin-bottom: 24px;
  max-width: 72ch
}

.dyaw-policy-main ul,
.dyaw-policy-main ol {
  font-size: 16px;
  line-height: 1.9;
  color: #2c3345;
  margin-top: 0;
  margin-bottom: 24px;
  padding-left: 24px;
  max-width: 72ch
}

.dyaw-policy-main ul {
  list-style: none;
  padding-left: 0
}

.dyaw-policy-main ul li {
  padding-left: 24px;
  position: relative;
  margin-bottom: 6px
}

.dyaw-policy-main ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 48px;
  background: #B51645
}

.dyaw-policy-main ol {
  list-style: decimal
}

.dyaw-policy-main ol li {
  margin-bottom: 6px;
  padding-left: 6px
}

.dyaw-policy-main ol li::marker {
  color: #B51645;
  font-size: 13px
}

.dyaw-policy-main strong,
.dyaw-policy-main b {
  font-weight: 700;
  color: #111318
}

.dyaw-policy-main a {
  color: #B51645;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .18s ease-out, text-decoration-color .25s ease-out
}

.dyaw-policy-main a:hover {
  color: #111318;
  text-decoration-color: #10FFED
}

.dyaw-policy-main a:focus-visible {
  outline: 2px solid #10FFED;
  outline-offset: 2px;
  border-radius: 8px
}

.dyaw-policy-main hr {
  border: none;
  border-top: 1px solid #d4d8e2;
  margin-top: 48px;
  margin-bottom: 48px;
  box-shadow: 1px 3px 3px -1px #10ffed0f
}

@media (max-width: 768px) {
  .dyaw-policy-main {
    padding: 24px
  }

  .dyaw-policy-main h1 {
    font-size: 38px
  }

  .dyaw-policy-main h2 {
    font-size: 28px
  }

  .dyaw-policy-main h3 {
    font-size: 21px
  }

  .dyaw-policy-main h4 {
    font-size: 16px
  }
}

@media (max-width: 480px) {
  .dyaw-policy-main {
    padding: 24px 12px
  }

  .dyaw-policy-main h1 {
    font-size: 28px
  }

  .dyaw-policy-main h2 {
    font-size: 21px
  }

  .dyaw-policy-main h3 {
    font-size: 16px
  }

  .dyaw-policy-main p,
  .dyaw-policy-main ul,
  .dyaw-policy-main ol {
    font-size: 13px
  }
}

.tr-acc {
  background: #fff;
  overflow-x: clip;
  position: relative
}

.tr-acc .pg-band {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px
}

.tr-acc .title-blk {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 0;
  background: #f4f4f0;
  position: relative
}

.tr-acc .title-blk::after {
  content: '';
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 6px;
  background: linear-gradient(253deg, #10FFED, transparent 55%, #B51645);
  pointer-events: none
}

.tr-acc .title-text {
  padding: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  position: relative
}

.tr-acc .title-text::before {
  content: '';
  position: absolute;
  top: 24px;
  left: 24px;
  width: 80px;
  height: 2px;
  background: #10FFED
}

.tr-acc .dots-trail {
  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: center
}

.tr-acc .dots-trail span {
  display: block;
  border-radius: 48px;
  background: #10FFED
}

.tr-acc .dots-trail span:nth-child(1) {
  width: 6px;
  height: 6px;
  opacity: .4
}

.tr-acc .dots-trail span:nth-child(2) {
  width: 8px;
  height: 8px;
  opacity: .6
}

.tr-acc .dots-trail span:nth-child(3) {
  width: 10px;
  height: 10px;
  opacity: .8
}

.tr-acc .dots-trail span:nth-child(4) {
  width: 12px;
  height: 12px;
  opacity: 1
}

.tr-acc .dots-trail span:nth-child(5) {
  width: 8px;
  height: 8px;
  opacity: .5
}

.tr-acc .dots-trail span:nth-child(6) {
  width: 5px;
  height: 5px;
  opacity: .3
}

.tr-acc .label-tag {
  display: inline-block;
  border: 1.5px solid #B51645;
  color: #B51645;
  font-size: 13px;
  line-height: 1.5;
  padding: 6px 12px;
  border-radius: 8px;
  width: fit-content
}

.tr-acc .main-heading {
  font-size: 52px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0
}

.tr-acc .main-heading em {
  color: #B51645;
  font-style: italic;
  font-size: 66px
}

.tr-acc .counter-row {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 12px
}

.tr-acc .counter-num {
  font-size: 52px;
  line-height: 1.1;
  color: #10FFED;
  font-weight: 700;
  background: #1b1b1b;
  padding: 6px 12px;
  border-radius: 14px;
  letter-spacing: -1px
}

.tr-acc .counter-label {
  font-size: 16px;
  line-height: 1.5;
  color: #444
}

.tr-acc .sub-desc {
  font-size: 16px;
  line-height: 1.9;
  color: #333;
  margin: 0;
  max-width: 460px
}

.tr-acc .title-img {
  position: relative;
  overflow: hidden
}

.tr-acc .title-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease-out
}

.tr-acc .title-img:hover img {
  transform: scale(1.04)
}

.tr-acc .img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(253deg, #10ffed59, transparent 50%, #b5164540);
  transition: opacity .35s ease-out;
  pointer-events: none
}

.tr-acc .title-img:hover .img-overlay {
  opacity: 0
}

.tr-acc .scanlines {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(0deg, transparent, transparent 3px, #0000000f 3px, #0000000f 4px)
}

.tr-acc .title-img .shadow-frame {
  position: absolute;
  inset: 0;
  box-shadow: inset 1px 10px 52px -1px #10ffed1a;
  pointer-events: none
}

.tr-acc .zigzag-div {
  width: 100%;
  overflow: hidden;
  line-height: 0
}

.tr-acc .zigzag-div svg {
  display: block;
  width: 100%
}

.tr-acc .detail-sec {
  background: #fff;
  padding: 48px 0;
  position: relative
}

.tr-acc .detail-sec::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(253deg, #F9B200, transparent 60%, #10FFED)
}

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

.tr-acc .detail-intro {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  border-bottom: 1.5px solid #e8e8e4;
  padding-bottom: 24px;
  margin-bottom: 12px
}

.tr-acc .detail-intro-text {
  max-width: 700px
}

.tr-acc .detail-intro-text h2 {
  font-size: 38px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0 0 12px
}

.tr-acc .detail-intro-text h2 span {
  color: #B51645
}

.tr-acc .detail-intro-text p {
  font-size: 16px;
  line-height: 1.9;
  color: #444;
  margin: 0
}

.tr-acc .accent-line {
  flex-shrink: 0;
  width: 3px;
  height: 80px;
  background: linear-gradient(253deg, #10FFED, transparent 50%, #B51645);
  border-radius: 8px
}

.tr-acc .card-item {
  background: #f7f7f3;
  border-radius: 22px;
  padding: 24px;
  box-shadow: 1px 6px 22px -1px #10ffed17;
  transition: box-shadow .25s ease-out, transform .2s ease-out;
  position: relative
}

.tr-acc .card-item:hover {
  box-shadow: 1px 10px 52px -1px #10ffed1a;
  transform: translateY(-3px)
}

.tr-acc .card-item.right {
  text-align: right
}

.tr-acc .card-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 12px
}

.tr-acc .card-item.right .card-icon {
  margin-left: auto
}

.tr-acc .card-item h4 {
  font-size: 21px;
  line-height: 1.1;
  margin: 0 0 12px;
  color: #1b1b1b
}

.tr-acc .card-item h4 span {
  color: #B51645
}

.tr-acc .card-item p {
  font-size: 13px;
  line-height: 1.9;
  color: #555;
  margin: 0
}

.tr-acc .card-item .tag-strip {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px
}

.tr-acc .card-item.right .tag-strip {
  justify-content: flex-end
}

.tr-acc .tag-pill {
  font-size: 13px;
  line-height: 1.5;
  padding: 6px 12px;
  border-radius: 34px;
  border: 1px solid #10FFED;
  color: #1b1b1b;
  background: #10ffed14
}

.tr-acc .card-item.accent-card {
  background: #1b1b1b;
  border-radius: 22px
}

.tr-acc .card-item.accent-card h4 {
  color: #10FFED
}

.tr-acc .card-item.accent-card h4 span {
  color: #F9B200
}

.tr-acc .card-item.accent-card p {
  color: #ccc
}

.tr-acc .card-item.accent-card .tag-pill {
  border-color: #F9B200;
  color: #F9B200;
  background: #f9b20014
}

.tr-acc .cta-bar {
  margin-top: 24px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap
}

.tr-acc .btn-primary {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  line-height: 1.5;
  color: #1b1b1b;
  background: transparent;
  border: 2px solid #1b1b1b;
  border-radius: 14px;
  padding: 12px 24px;
  cursor: pointer;
  transition: background .2s ease-out, color .15s ease-out, border-color .2s ease-out;
  position: relative;
  overflow: hidden
}

.tr-acc .btn-primary svg {
  transition: transform .25s ease-out;
  flex-shrink: 0
}

.tr-acc .btn-primary:hover {
  background: #1b1b1b;
  color: #10FFED
}

.tr-acc .btn-primary:hover svg {
  transform: translateX(5px)
}

.tr-acc .btn-primary:active {
  box-shadow: inset 1px 3px 3px -1px #10ffed0f
}

.tr-acc .btn-secondary {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  line-height: 1.5;
  color: #B51645;
  background: transparent;
  border: 2px solid #B51645;
  border-radius: 14px;
  padding: 12px 24px;
  cursor: pointer;
  transition: background .35s ease-out, color .28s ease-out
}

.tr-acc .btn-secondary svg {
  transition: transform .3s ease-out;
  flex-shrink: 0
}

.tr-acc .btn-secondary:hover {
  background: #B51645;
  color: #fff
}

.tr-acc .btn-secondary:hover svg {
  transform: translateX(5px)
}

.tr-acc .btn-secondary:active {
  box-shadow: inset 1px 3px 3px -1px #b516450f
}

.tr-acc .rating-badge {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  line-height: 1.5;
  color: #555
}

.tr-acc .stars {
  display: flex;
  flex-direction: row;
  gap: 3px
}

.tr-acc .star-svg {
  width: 14px;
  height: 14px
}

.tr-acc .anim-reveal {
  animation: blurReveal .45s ease-out both
}

.tr-acc .anim-reveal.d1 {
  animation-delay: .08s
}

.tr-acc .anim-reveal.d2 {
  animation-delay: .16s
}

.tr-acc .anim-reveal.d3 {
  animation-delay: .24s
}

.tr-acc .anim-reveal.d4 {
  animation-delay: .32s
}

@keyframes blurReveal {
  from {
    opacity: 0;
    filter: blur(8px);
    transform: translateY(12px)
  }

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

@media (max-width: 1024px) {
  .tr-acc .title-blk {
    grid-template-columns: 1fr
  }

  .tr-acc .title-img {
    height: 340px
  }

  .tr-acc .main-heading {
    font-size: 38px
  }

  .tr-acc .main-heading em {
    font-size: 52px
  }

  .tr-acc .detail-grid {
    grid-template-columns: 1fr 1fr
  }

  .tr-acc .detail-intro {
    grid-column: 1 / -1
  }
}

@media (max-width: 768px) {
  .tr-acc .title-text {
    padding: 48px 24px
  }

  .tr-acc .detail-grid {
    grid-template-columns: 1fr
  }

  .tr-acc .detail-intro {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px
  }

  .tr-acc .cta-bar {
    flex-direction: column;
    align-items: flex-start
  }

  .tr-acc .counter-num {
    font-size: 38px
  }
}

@media (max-width: 480px) {
  .tr-acc .main-heading {
    font-size: 28px
  }

  .tr-acc .main-heading em {
    font-size: 38px
  }

  .tr-acc .detail-intro-text h2 {
    font-size: 28px
  }

  .tr-acc .label-tag {
    font-size: 13px
  }
}

.cs-pg {
  background: #fff;
  overflow-x: clip
}

.cs-pg .cs-container {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px
}

.cs-pg .cs-title-row {
  display: grid;
  grid-template-columns: 1fr 340px;
  min-height: 520px;
  position: relative
}

.cs-pg .cs-title-text {
  padding: 48px 48px 48px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 1
}

.cs-pg .cs-atmo {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 48px;
  background: #10FFED;
  opacity: .07;
  filter: blur(60px);
  top: 40px;
  left: -40px;
  pointer-events: none
}

.cs-pg .cs-atmo-b {
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 48px;
  background: #B51645;
  opacity: .06;
  filter: blur(48px);
  bottom: 24px;
  left: 200px;
  pointer-events: none
}

.cs-pg .cs-eyebrow {
  font-size: 13px;
  line-height: 1.5;
  color: #B51645;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 12px
}

.cs-pg .cs-h1 {
  font-size: 52px;
  line-height: 1.1;
  color: #1a2533;
  margin-bottom: 24px
}

.cs-pg .cs-h1 em {
  font-style: italic;
  color: #B51645;
  font-size: 56px
}

.cs-pg .cs-lead {
  font-size: 16px;
  line-height: 1.9;
  color: #3a4555;
  max-width: 520px
}

.cs-pg .cs-img-strip {
  position: relative;
  overflow: hidden
}

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

.cs-pg .cs-img-fade {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 55%;
  background: linear-gradient(to bottom, transparent 0%, #0f141eb8 100%);
  pointer-events: none
}

.cs-pg .cs-img-tint {
  position: absolute;
  inset: 0;
  background: #10ffed1a;
  mix-blend-mode: multiply;
  transition: opacity .25s ease-out;
  pointer-events: none
}

.cs-pg .cs-img-strip:hover .cs-img-tint {
  opacity: 0
}

.cs-pg .cs-divider-a {
  width: 100%;
  line-height: 0;
  background: #fff
}

.cs-pg .cs-divider-a svg {
  display: block;
  width: 100%
}

.cs-pg .cs-studies {
  background: #f3f5f8;
  padding: 48px 0 12px
}

.cs-pg .cs-studies-grid {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.cs-pg .cs-studies-head {
  max-width: 1170px;
  margin: 0 auto 48px;
  padding: 0 24px;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px
}

.cs-pg .cs-sh2 {
  font-size: 38px;
  line-height: 1.1;
  color: #1a2533
}

.cs-pg .cs-sh2 span {
  color: #B51645
}

.cs-pg .cs-sh2-sub {
  font-size: 16px;
  line-height: 1.5;
  color: #3a4555;
  max-width: 380px;
  text-align: right
}

.cs-pg .cs-card {
  background: #fff;
  border-radius: 22px;
  padding: 24px;
  box-shadow: 1px 6px 22px -1px #10ffed17;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: box-shadow .22s ease-out, transform .18s ease-out;
  position: relative;
  border: 1.5px solid transparent;
  outline: 1.5px solid #e8eaed;
  outline-offset: -1.5px
}

.cs-pg .cs-card:hover {
  box-shadow: 1px 10px 52px -1px #10ffed1a;
  transform: translateY(-3px);
  border-color: #10FFED;
  outline-color: transparent
}

.cs-pg .cs-card:active {
  transform: translateY(0px);
  box-shadow: inset 1px 3px 3px -1px #10ffed0f 1px 3px 3px -1px #10ffed0f
}

.cs-pg .cs-card-tag {
  font-size: 13px;
  line-height: 1.5;
  color: #fff;
  background: #B51645;
  border-radius: 8px;
  padding: 4px 12px;
  display: inline-block;
  width: fit-content
}

.cs-pg .cs-card-h {
  font-size: 21px;
  line-height: 1.1;
  color: #1a2533
}

.cs-pg .cs-card-h span {
  color: #B51645
}

.cs-pg .cs-card-desc {
  font-size: 16px;
  line-height: 1.9;
  color: #3a4555;
  flex: 1
}

.cs-pg .cs-card-meta {
  display: flex;
  flex-direction: row;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 6px;
  border-top: 1px solid #e8eaed
}

.cs-pg .cs-meta-item {
  font-size: 13px;
  line-height: 1.5;
  color: #5a6678;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px
}

.cs-pg .cs-meta-dot {
  width: 7px;
  height: 7px;
  border-radius: 8px;
  background: #10FFED;
  flex-shrink: 0
}

.cs-pg .cs-card-link {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  line-height: 1.5;
  color: #B51645;
  text-decoration: none;
  border: 1.5px solid #B51645;
  border-radius: 8px;
  padding: 6px 12px;
  width: fit-content;
  transition: background .2s ease-out, color .15s ease-out
}

.cs-pg .cs-card-link svg {
  transition: transform .22s ease-out
}

.cs-pg .cs-card-link:hover {
  background: #B51645;
  color: #fff
}

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

.cs-pg .cs-card-link:focus-visible {
  outline: 3px solid #F9B200 !important;
  outline-offset: 2px !important
}

.cs-pg .cs-divider-b {
  width: 100%;
  line-height: 0;
  background: #f3f5f8
}

.cs-pg .cs-divider-b svg {
  display: block;
  width: 100%
}

.cs-pg .cs-howto {
  background: #fff;
  padding: 48px 0
}

.cs-pg .cs-howto-inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 48px;
  align-items: start
}

.cs-pg .cs-howto-left {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.cs-pg .cs-sh3 {
  font-size: 38px;
  line-height: 1.1;
  color: #1a2533
}

.cs-pg .cs-sh3 span {
  color: #F9B200
}

.cs-pg .cs-howto-desc {
  font-size: 16px;
  line-height: 1.9;
  color: #3a4555
}

.cs-pg .cs-qa-card {
  background: #f3f5f8;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 1px 3px 3px -1px #b516450f;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.cs-pg .cs-qa-q {
  font-size: 16px;
  line-height: 1.5;
  color: #1a2533;
  font-weight: 700;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px
}

.cs-pg .cs-qa-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #B51645;
  display: flex;
  align-items: center;
  justify-content: center
}

.cs-pg .cs-qa-a {
  font-size: 16px;
  line-height: 1.9;
  color: #3a4555;
  padding-left: 40px
}

.cs-pg .cs-steps {
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative
}

.cs-pg .cs-step {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px;
  border-radius: 14px;
  transition: background .2s ease-out
}

.cs-pg .cs-step:hover {
  background: #f3f5f8
}

.cs-pg .cs-step-num {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(253deg, #10FFED, transparent 55%, #B51645);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  line-height: 1.1;
  color: #1a2533;
  font-weight: 700;
  flex-shrink: 0;
  box-shadow: 1px 6px 22px -1px #10ffed17;
  animation: cs-glow-step 2.8s ease-out infinite
}

@keyframes cs-glow-step {
  0% {
    box-shadow: 1px 6px 22px -1px #10ffed17
  }

  50% {
    box-shadow: 1px 6px 28px -1px #10ffed47 0 0 0 2px #10ffed2e
  }

  100% {
    box-shadow: 1px 6px 22px -1px #10ffed17
  }
}

.cs-pg .cs-step-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 6px
}

.cs-pg .cs-step-label {
  font-size: 16px;
  line-height: 1.5;
  color: #1a2533;
  font-weight: 700
}

.cs-pg .cs-step-text {
  font-size: 13px;
  line-height: 1.9;
  color: #5a6678
}

.cs-pg .cs-icon-grid-area {
  background: #fff;
  padding: 48px 0;
  border-top: 1.5px solid #e8eaed
}

.cs-pg .cs-icon-grid-head {
  max-width: 1170px;
  margin: 0 auto 48px;
  padding: 0 24px;
  text-align: center
}

.cs-pg .cs-sh4 {
  font-size: 28px;
  line-height: 1.1;
  color: #1a2533;
  margin-bottom: 12px
}

.cs-pg .cs-sh4 span {
  color: #B51645
}

.cs-pg .cs-icon-sub {
  font-size: 16px;
  line-height: 1.5;
  color: #5a6678
}

.cs-pg .cs-icon-grid {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  position: relative
}

.cs-pg .cs-icon-connector {
  position: absolute;
  top: 40px;
  left: calc(12.5% + 24px);
  right: calc(12.5% + 24px);
  height: 2px;
  background: linear-gradient(90deg, #10FFED, #F9B200, #B51645, #10FFED);
  pointer-events: none;
  z-index: 0;
  border-radius: 8px;
  opacity: .35
}

.cs-pg .cs-icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  position: relative;
  z-index: 1
}

.cs-pg .cs-icon-circle {
  width: 80px;
  height: 80px;
  border-radius: 22px;
  background: #f3f5f8;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 1px 6px 22px -1px #10ffed17;
  transition: background .25s ease-out, box-shadow .3s ease-out;
  animation: cs-border-glow 3.4s ease-out infinite;
  border: 1.5px solid transparent
}

.cs-pg .cs-icon-item:nth-child(2) .cs-icon-circle {
  animation-delay: .6s
}

.cs-pg .cs-icon-item:nth-child(3) .cs-icon-circle {
  animation-delay: 1.2s
}

.cs-pg .cs-icon-item:nth-child(4) .cs-icon-circle {
  animation-delay: 1.8s
}

@keyframes cs-border-glow {
  0% {
    border-color: transparent;
    box-shadow: 1px 6px 22px -1px #10ffed17
  }

  50% {
    border-color: #10ffed80;
    box-shadow: 1px 6px 22px -1px #10ffed38 0 0 0 3px #10ffed14
  }

  100% {
    border-color: transparent;
    box-shadow: 1px 6px 22px -1px #10ffed17
  }
}

.cs-pg .cs-icon-circle:hover {
  background: #10FFED
}

.cs-pg .cs-icon-lbl {
  font-size: 16px;
  line-height: 1.5;
  color: #1a2533;
  font-weight: 700
}

.cs-pg .cs-icon-desc {
  font-size: 13px;
  line-height: 1.9;
  color: #5a6678
}

@media (max-width: 1024px) {
  .cs-pg .cs-title-row {
    grid-template-columns: 1fr 280px
  }

  .cs-pg .cs-h1 {
    font-size: 38px
  }

  .cs-pg .cs-h1 em {
    font-size: 42px
  }

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

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

  .cs-pg .cs-icon-connector {
    display: none
  }
}

@media (max-width: 768px) {
  .cs-pg .cs-title-row {
    grid-template-columns: 1fr
  }

  .cs-pg .cs-img-strip {
    height: 280px
  }

  .cs-pg .cs-title-text {
    padding: 48px 24px
  }

  .cs-pg .cs-h1 {
    font-size: 28px
  }

  .cs-pg .cs-h1 em {
    font-size: 32px
  }

  .cs-pg .cs-studies-grid {
    grid-template-columns: 1fr
  }

  .cs-pg .cs-studies-head {
    flex-direction: column;
    align-items: flex-start
  }

  .cs-pg .cs-sh2-sub {
    text-align: left
  }

  .cs-pg .cs-howto-inner {
    grid-template-columns: 1fr
  }

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

@media (max-width: 480px) {
  .cs-pg .cs-h1 {
    font-size: 21px
  }

  .cs-pg .cs-h1 em {
    font-size: 24px
  }

  .cs-pg .cs-sh2 {
    font-size: 28px
  }

  .cs-pg .cs-sh3 {
    font-size: 28px
  }

  .cs-pg .cs-icon-grid {
    grid-template-columns: 1fr
  }

  .cs-pg .cs-icon-connector {
    display: none
  }

  .cs-pg .cs-studies-grid {
    gap: 12px
  }
}

.frst {
  background: #fff;
  overflow-x: hidden;
  position: relative
}

.frst .pg-texture {
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2310FFED' fill-opacity='0.04'%3E%3Ccircle cx='30' cy='30' r='1.5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0
}

.frst .pg-texture+* {
  position: relative;
  z-index: 1
}

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

.frst .lim {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px
}

.frst .t-block {
  padding: 96px 24px 80px;
  position: relative;
  background: linear-gradient(253deg, #10FFED 0%, transparent 45%, #B51645 100%);
  overflow: hidden
}

.frst .t-block .dot-grid {
  position: absolute;
  top: 0;
  left: 0;
  width: 55%;
  height: 100%;
  background-image: radial-gradient(circle, #10ffed2e 1.5px, transparent 1.5px);
  background-size: 28px 28px;
  pointer-events: none;
  z-index: 0
}

.frst .t-block .tb-inner {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 48px;
  position: relative;
  z-index: 1
}

.frst .t-block .tb-text {
  flex: 1 1 0;
  min-width: 0
}

.frst .tb-text .tb-label {
  font-size: 13px;
  line-height: 1.5;
  color: #B51645;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 12px
}

.frst .tb-text h1 {
  font-size: 52px;
  line-height: 1.1;
  color: #1a2230;
  margin: 0 0 24px
}

.frst .tb-text h1 em {
  font-style: italic;
  font-size: 56px;
  color: #B51645
}

.frst .tb-text .tb-sub {
  font-size: 21px;
  line-height: 1.5;
  color: #2c3a4a;
  max-width: 520px;
  margin-bottom: 24px
}

.frst .tb-text .tb-cta {
  display: inline-block;
  padding: 12px 24px;
  border: 2px solid #B51645;
  color: #B51645;
  font-size: 16px;
  line-height: 1.5;
  border-radius: 8px;
  text-decoration: none;
  transition: background .25s ease-out, color .2s ease-out;
  position: relative;
  overflow: hidden
}

.frst .tb-text .tb-cta svg {
  display: inline-block;
  vertical-align: middle;
  margin-left: 6px;
  transition: transform .22s ease-out
}

.frst .tb-text .tb-cta:hover {
  background: #B51645;
  color: #fff
}

.frst .tb-text .tb-cta:hover svg {
  transform: translateX(5px)
}

.frst .t-block .tb-img-wrap {
  flex: 0 0 420px;
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 1px 10px 52px -1px #10ffed1a
}

.frst .tb-img-wrap img {
  width: 420px;
  height: 340px;
  object-fit: cover;
  display: block;
  transition: transform .45s ease-out
}

.frst .tb-img-wrap:hover img {
  transform: scale(1.03)
}

.frst .tb-img-wrap .img-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 40%, #10081e8c 100%);
  pointer-events: none
}

.frst .tb-img-wrap .img-overlay {
  position: absolute;
  inset: 0;
  background: #b5164538;
  transition: opacity .35s ease-out;
  pointer-events: none
}

.frst .tb-img-wrap:hover .img-overlay {
  opacity: 0
}

.frst .cond-sec {
  padding: 72px 24px;
  background: #f4fffe;
  position: relative
}

.frst .cond-sec::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, #10FFED 0%, #F9B200 60%, transparent 100%)
}

.frst .cond-sec .cond-inner {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start
}

.frst .cond-sec .cond-text h2 {
  font-size: 38px;
  line-height: 1.1;
  margin: 0 0 24px;
  color: #1e2d3d
}

.frst .cond-sec .cond-text h2 span {
  color: #B51645
}

.frst .cond-sec .cond-text p {
  font-size: 16px;
  line-height: 1.9;
  color: #2c3a4a;
  margin: 0 0 12px
}

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

.frst .cond-list li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  background: #fff;
  border-radius: 14px;
  border: 1.5px solid #10ffed4d;
  box-shadow: 1px 3px 3px -1px #10ffed0f;
  font-size: 16px;
  line-height: 1.5;
  color: #1e2d3d;
  transition: box-shadow .28s ease-out, border-color .2s ease-out
}

.frst .cond-list li:hover {
  box-shadow: 1px 6px 22px -1px #10ffed17;
  border-color: #10FFED
}

.frst .cond-list .ci-dot {
  width: 10px;
  height: 10px;
  border-radius: 48px;
  background: #10FFED;
  flex-shrink: 0;
  margin-top: 6px
}

.frst .val-sec {
  padding: 80px 24px;
  background: #fff;
  position: relative
}

.frst .val-sec .val-inner {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: center
}

.frst .val-sec .val-img-wrap {
  flex: 0 0 380px;
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 1px 6px 22px -1px #b5164517
}

.frst .val-img-wrap img {
  width: 380px;
  height: 420px;
  object-fit: cover;
  display: block;
  transition: transform .4s ease-out
}

.frst .val-img-wrap:hover img {
  transform: scale(1.04)
}

.frst .val-img-wrap .img-overlay {
  position: absolute;
  inset: 0;
  background: #10ffed2e;
  transition: opacity .3s ease-out;
  pointer-events: none
}

.frst .val-img-wrap:hover .img-overlay {
  opacity: 0
}

.frst .val-img-wrap .img-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 40%, #0a122380 100%);
  pointer-events: none
}

.frst .val-sec .val-text {
  flex: 1 1 0;
  min-width: 0
}

.frst .val-text h2 {
  font-size: 38px;
  line-height: 1.1;
  margin: 0 0 24px;
  color: #1e2d3d
}

.frst .val-text h2 span {
  color: #10FFED !important;
  -webkit-text-stroke: .5px #0bbfb0
}

.frst .val-text p {
  font-size: 16px;
  line-height: 1.9;
  color: #2c3a4a;
  margin: 0 0 12px
}

.frst .val-text .val-accent {
  font-style: italic;
  font-size: 21px;
  line-height: 1.5;
  color: #B51645;
  margin: 24px 0 0;
  text-align: right
}

.frst .val-text .circ-row {
  display: flex;
  flex-direction: row;
  gap: 12px;
  margin: 24px 0;
  align-items: center
}

.frst .circ-row .circ-ind {
  width: 52px;
  height: 52px;
  border-radius: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  line-height: 1.1;
  font-weight: 700;
  border: 2.5px solid #10FFED;
  background: #f4fffe;
  color: #1e2d3d;
  transition: background .22s ease-out, border-color .18s ease-out
}

.frst .circ-row .circ-ind:hover {
  background: #10FFED;
  border-color: #0bbfb0
}

.frst .circ-row .circ-label {
  font-size: 13px;
  color: #6a7a8a;
  line-height: 1.5
}

.frst .exp-sec {
  padding: 80px 24px;
  position: relative;
  background: linear-gradient(253deg, #10ffed12 0%, transparent 50%, #b516450d 100%);
  overflow: hidden
}

.frst .exp-sec .bg-pan {
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 100%;
  background-image: url(/visual_directory/revised-modified-6final.jpg);
  background-size: cover;
  background-position: left center;
  opacity: .07;
  animation: pan-bg 18s linear infinite alternate;
  pointer-events: none;
  z-index: 0
}

@keyframes pan-bg {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(-50%)
  }
}

.frst .exp-sec .exp-inner {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.frst .exp-sec h2 {
  font-size: 38px;
  line-height: 1.1;
  color: #1e2d3d;
  margin: 0 0 48px;
  max-width: 600px
}

.frst .exp-sec h2 span {
  color: #F9B200
}

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

.frst .exp-card {
  background: #ffffffe0;
  border-radius: 14px;
  padding: 24px;
  border: 1.5px solid #f9b20033;
  box-shadow: 1px 3px 3px -1px #10ffed0f;
  position: relative;
  transition: box-shadow .35s ease-out, border-color .25s ease-out
}

.frst .exp-card:hover {
  box-shadow: 1px 6px 22px -1px #10ffed17;
  border-color: #F9B200
}

.frst .exp-card h5 {
  font-size: 16px;
  line-height: 1.5;
  color: #B51645;
  margin: 0 0 6px
}

.frst .exp-card p {
  font-size: 16px;
  line-height: 1.9;
  color: #2c3a4a;
  margin: 0
}

.frst .exp-card .card-num {
  font-size: 52px;
  line-height: 1.1;
  color: #10ffed40;
  font-weight: 900;
  position: absolute;
  top: 12px;
  right: 12px;
  pointer-events: none
}

.frst .who-sec {
  padding: 80px 24px;
  background: #1e2d3d
}

.frst .who-sec .who-inner {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start
}

.frst .who-sec h2 {
  font-size: 38px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 24px;
  grid-column: 1 / -1
}

.frst .who-sec h2 span {
  color: #F9B200
}

.frst .who-col h4 {
  font-size: 21px;
  line-height: 1.5;
  margin: 0 0 12px
}

.frst .who-col.yes h4 {
  color: #10FFED
}

.frst .who-col.no h4 {
  color: #B51645
}

.frst .who-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.frst .who-col ul li {
  font-size: 16px;
  line-height: 1.5;
  color: #c8d4e0;
  padding: 12px;
  border-radius: 8px;
  background: #ffffff0d;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  transition: background .2s ease-out
}

.frst .who-col ul li:hover {
  background: #ffffff17
}

.frst .who-col.yes ul li .wi {
  width: 8px;
  height: 8px;
  border-radius: 48px;
  background: #10FFED;
  flex-shrink: 0;
  margin-top: 5px
}

.frst .who-col.no ul li .wi {
  width: 8px;
  height: 8px;
  background: #B51645;
  flex-shrink: 0;
  margin-top: 5px;
  transform: rotate(45deg)
}

.frst .who-sec .who-img-wrap {
  grid-column: 1 / -1;
  border-radius: 22px;
  overflow: hidden;
  position: relative;
  box-shadow: 1px 10px 52px -1px #b516451a
}

.frst .who-img-wrap img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  transition: transform .4s ease-out
}

.frst .who-img-wrap:hover img {
  transform: scale(1.03)
}

.frst .who-img-wrap .img-overlay {
  position: absolute;
  inset: 0;
  background: #1e2d3d73;
  transition: opacity .3s ease-out;
  pointer-events: none
}

.frst .who-img-wrap:hover .img-overlay {
  opacity: .2
}

.frst .who-img-wrap .img-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 40%, #0a122399 100%);
  pointer-events: none
}

.frst .res-sec {
  padding: 80px 24px;
  background: #fff;
  position: relative
}

.frst .res-sec::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #B51645 0%, #F9B200 50%, #10FFED 100%)
}

.frst .res-sec .res-inner {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 48px;
  align-items: center
}

.frst .res-sec h2 {
  font-size: 38px;
  line-height: 1.1;
  color: #1e2d3d;
  margin: 0 0 24px
}

.frst .res-sec h2 span {
  color: #B51645
}

.frst .res-sec p {
  font-size: 16px;
  line-height: 1.9;
  color: #2c3a4a;
  margin: 0 0 12px
}

.frst .res-sec .res-accent {
  font-style: italic;
  font-size: 21px;
  line-height: 1.5;
  color: #1e2d3d;
  margin: 24px 0 0
}

.frst .res-dashed {
  border: 2.5px dashed #10ffed80;
  border-radius: 14px;
  padding: 24px;
  position: relative
}

.frst .res-dashed::before {
  content: '';
  display: block;
  position: absolute;
  inset: 5px;
  border: 1.5px dashed #f9b2004d;
  border-radius: 8px;
  pointer-events: none
}

.frst .res-dashed h4 {
  font-size: 21px;
  line-height: 1.5;
  color: #1e2d3d;
  margin: 0 0 12px
}

.frst .res-dashed ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.frst .res-dashed ul li {
  font-size: 16px;
  line-height: 1.5;
  color: #2c3a4a;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px
}

.frst .res-dashed ul li .rd-dot {
  width: 10px;
  height: 10px;
  border-radius: 48px;
  background: #F9B200;
  flex-shrink: 0;
  margin-top: 5px
}

.frst .res-img-wrap {
  border-radius: 22px;
  overflow: hidden;
  position: relative;
  box-shadow: 1px 6px 22px -1px #10ffed17
}

.frst .res-img-wrap img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  display: block;
  transition: transform .42s ease-out
}

.frst .res-img-wrap:hover img {
  transform: scale(1.04)
}

.frst .res-img-wrap .img-overlay {
  position: absolute;
  inset: 0;
  background: #10ffed26;
  transition: opacity .28s ease-out;
  pointer-events: none
}

.frst .res-img-wrap:hover .img-overlay {
  opacity: 0
}

.frst .res-img-wrap .img-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 40%, #0a122380 100%);
  pointer-events: none
}

@media (max-width: 1024px) {
  .frst .t-block .tb-inner {
    flex-direction: column
  }

  .frst .tb-img-wrap {
    flex: 0 0 auto;
    width: 100%
  }

  .frst .tb-img-wrap img {
    width: 100%;
    height: 280px
  }

  .frst .val-sec .val-inner {
    flex-direction: column
  }

  .frst .val-img-wrap {
    flex: 0 0 auto;
    width: 100%
  }

  .frst .val-img-wrap img {
    width: 100%;
    height: 300px
  }

  .frst .exp-grid {
    grid-template-columns: 1fr 1fr
  }

  .frst .res-sec .res-inner {
    grid-template-columns: 1fr
  }
}

@media (max-width: 768px) {
  .frst .tb-text h1 {
    font-size: 38px
  }

  .frst .tb-text h1 em {
    font-size: 42px
  }

  .frst .cond-sec .cond-inner {
    grid-template-columns: 1fr
  }

  .frst .exp-grid {
    grid-template-columns: 1fr
  }

  .frst .who-sec .who-inner {
    grid-template-columns: 1fr
  }

  .frst .who-sec h2 {
    grid-column: 1
  }

  .frst .who-sec .who-img-wrap {
    grid-column: 1
  }
}

@media (max-width: 480px) {
  .frst .t-block {
    padding: 48px 12px
  }

  .frst .tb-text h1 {
    font-size: 28px
  }

  .frst .tb-text h1 em {
    font-size: 32px
  }

  .frst .tb-text .tb-sub {
    font-size: 16px
  }

  .frst .cond-sec h2,
  .frst .val-text h2,
  .frst .exp-sec h2,
  .frst .who-sec h2,
  .frst .res-sec h2 {
    font-size: 28px
  }

  .frst .circ-row {
    flex-wrap: wrap
  }
}

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

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

.abt-us .pg-frame {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px
}

.abt-us .opener {
  padding: 48px 0;
  background: #fff;
  position: relative
}

.abt-us .opener-grid {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center
}

.abt-us .img-frame {
  position: relative;
  border-radius: 22px;
  overflow: hidden
}

.abt-us .img-frame::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(253deg, #10ffed2e, transparent 55%, #b516451f);
  z-index: 1;
  transition: opacity .25s ease-out;
  border-radius: 22px
}

.abt-us .img-frame:hover::before {
  opacity: 0
}

.abt-us .img-frame img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  border-radius: 22px;
  filter: contrast(1.06) saturate(1.08)
}

.abt-us .deco-border {
  position: absolute;
  inset: -8px;
  border: 2px dashed #10ffed59;
  border-radius: 34px;
  pointer-events: none;
  animation: border-glow 1.4s ease-out forwards;
  opacity: 0
}

@keyframes border-glow {
  0% {
    opacity: 0;
    box-shadow: 0 0 0 #10ffed00
  }

  60% {
    opacity: .7;
    box-shadow: 0 0 18px #10ffed38
  }

  100% {
    opacity: 1;
    box-shadow: 0 0 28px #10ffed24
  }
}

.abt-us .deco-dot {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 14px;
  height: 14px;
  background: #F9B200;
  border-radius: 48px;
  z-index: 2;
  box-shadow: 0 0 0 3px #f9b20038
}

.abt-us .opener-text {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.abt-us .label-tag {
  display: inline-block;
  font-size: 13px;
  line-height: 1.5;
  color: #B51645;
  border: 1px solid #b516454d;
  border-radius: 8px;
  padding: 6px 12px;
  width: fit-content;
  letter-spacing: .04em;
  text-transform: uppercase;
  transition: border-color .2s ease-out, background .28s ease-out
}

.abt-us .label-tag:hover {
  background: #b516450f;
  border-color: #b5164599
}

.abt-us .opener-h1 {
  font-size: 52px;
  line-height: 1.1;
  margin: 0;
  color: #1b1b2e
}

.abt-us .opener-h1 span {
  color: #B51645
}

.abt-us .opener-lead {
  font-size: 21px;
  line-height: 1.5;
  color: #2a2a3a;
  margin: 0;
  font-style: italic
}

.abt-us .opener-body {
  font-size: 16px;
  line-height: 1.9;
  color: #3a3a4a;
  margin: 0
}

.abt-us .opener-divider {
  display: flex;
  align-items: center;
  gap: 12px
}

.abt-us .div-short {
  width: 24px;
  height: 2px;
  background: #B51645;
  border-radius: 8px
}

.abt-us .div-long {
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, #B51645, transparent)
}

.abt-us .detail-band {
  padding: 48px 0;
  background: #0e1220;
  position: relative;
  overflow: hidden
}

.abt-us .circuit-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .07;
  background-image: linear-gradient(#10ffedcc 1px, transparent 1px), linear-gradient(90deg, #10ffedcc 1px, transparent 1px), linear-gradient(#10ffed66 1px, transparent 1px), linear-gradient(90deg, #10ffed66 1px, transparent 1px);
  background-size: 80px 80px, 80px 80px, 20px 20px, 20px 20px
}

.abt-us .detail-band .pg-frame {
  position: relative;
  z-index: 1
}

.abt-us .band-top {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 48px
}

.abt-us .band-h2 {
  font-size: 38px;
  line-height: 1.1;
  margin: 0;
  color: #fff
}

.abt-us .band-h2 span {
  color: #10FFED
}

.abt-us .band-sub {
  font-size: 16px;
  line-height: 1.5;
  color: #ffffffa6;
  margin: 0;
  max-width: 560px
}

.abt-us .info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px
}

.abt-us .info-card {
  background: #ffffff0a;
  border: 1px solid #10ffed1f;
  border-radius: 14px;
  padding: 24px;
  position: relative;
  transition: border-color .22s ease-out, background .32s ease-out;
  animation: card-glow 1.8s ease-out forwards;
  opacity: 0
}

.abt-us .info-card:nth-child(1) {
  animation-delay: .1s
}

.abt-us .info-card:nth-child(2) {
  animation-delay: .22s
}

.abt-us .info-card:nth-child(3) {
  animation-delay: .34s
}

.abt-us .info-card:nth-child(4) {
  animation-delay: .46s
}

.abt-us .info-card:nth-child(5) {
  animation-delay: .58s
}

.abt-us .info-card:nth-child(6) {
  animation-delay: .7s
}

@keyframes card-glow {
  0% {
    opacity: 0;
    box-shadow: 0 0 0 #10ffed00
  }

  100% {
    opacity: 1;
    box-shadow: 1px 6px 22px -1px #10ffed17
  }
}

.abt-us .info-card:hover {
  border-color: #10ffed66;
  background: #10ffed0d
}

.abt-us .card-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 12px;
  position: relative
}

.abt-us .card-icon svg {
  width: 40px;
  height: 40px
}

.abt-us .icon-dot {
  position: absolute;
  top: -3px;
  right: -3px;
  width: 10px;
  height: 10px;
  border-radius: 48px;
  background: #F9B200;
  box-shadow: 0 0 0 2px #f9b2004d
}

.abt-us .card-h4 {
  font-size: 16px;
  line-height: 1.5;
  color: #10FFED;
  margin: 0 0 6px
}

.abt-us .card-p {
  font-size: 13px;
  line-height: 1.9;
  color: #ffffffb3;
  margin: 0
}

.abt-us .accent-strip {
  border: 2px dashed #f9b20066;
  border-radius: 14px;
  padding: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: center
}

.abt-us .strip-text {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.abt-us .strip-h3 {
  font-size: 28px;
  line-height: 1.1;
  margin: 0;
  color: #F9B200
}

.abt-us .strip-h3 span {
  color: #fff
}

.abt-us .strip-p {
  font-size: 16px;
  line-height: 1.5;
  color: #ffffffb3;
  margin: 0
}

.abt-us .strip-img {
  border-radius: 14px;
  overflow: hidden;
  position: relative
}

.abt-us .strip-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(253deg, #10ffed26, transparent 60%, #b516451a);
  transition: opacity .35s ease-out
}

.abt-us .strip-img:hover::after {
  opacity: 0
}

.abt-us .strip-img img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block
}

.abt-us .approach-sec {
  padding: 48px 0;
  background: linear-gradient(253deg, #10ffed0f, transparent 50%, #f9b2000d)
}

.abt-us .approach-sec .pg-frame {
  display: flex;
  flex-direction: column;
  gap: 48px
}

.abt-us .appr-header {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px
}

.abt-us .appr-h2 {
  font-size: 38px;
  line-height: 1.1;
  margin: 0;
  color: #1b1b2e;
  max-width: 480px
}

.abt-us .appr-h2 span {
  color: #B51645
}

.abt-us .appr-note {
  font-size: 16px;
  line-height: 1.5;
  color: #4a4a5a;
  margin: 0;
  max-width: 340px;
  text-align: right
}

.abt-us .appr-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start
}

.abt-us .appr-img-wrap {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 1px 10px 52px -1px #b516451a
}

.abt-us .appr-img-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(253deg, #10ffed24, transparent 55%, #b516451a);
  z-index: 1;
  transition: opacity .38s ease-out
}

.abt-us .appr-img-wrap:hover::before {
  opacity: 0
}

.abt-us .appr-img-wrap img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  filter: contrast(1.05) saturate(1.06)
}

.abt-us .appr-glow-border {
  position: absolute;
  inset: -6px;
  border-radius: 34px;
  border: 1px solid #10ffed33;
  pointer-events: none;
  animation: border-glow 2.2s ease-out .4s forwards;
  opacity: 0
}

.abt-us .appr-details {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.abt-us .appr-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 24px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 1px 3px 3px -1px #10ffed0f;
  transition: box-shadow .28s ease-out, transform .22s ease-out
}

.abt-us .appr-item:hover {
  box-shadow: 1px 6px 22px -1px #10ffed17;
  transform: translateY(-2px)
}

.abt-us .appr-item-top {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px
}

.abt-us .appr-ico {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  position: relative
}

.abt-us .appr-ico svg {
  width: 36px;
  height: 36px
}

.abt-us .appr-ico-dot {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 9px;
  height: 9px;
  border-radius: 48px;
  background: #10FFED;
  box-shadow: 0 0 0 2px #10ffed40
}

.abt-us .appr-h5 {
  font-size: 16px;
  line-height: 1.5;
  color: #1b1b2e;
  margin: 0
}

.abt-us .appr-p {
  font-size: 13px;
  line-height: 1.9;
  color: #5a5a6a;
  margin: 0
}

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

.abt-us .team-card {
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 1px 3px 3px -1px #b516450f;
  transition: box-shadow .35s ease-out
}

.abt-us .team-card:hover {
  box-shadow: 1px 6px 22px -1px #b5164517
}

.abt-us .team-img-box {
  position: relative;
  overflow: hidden
}

.abt-us .team-img-box::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(253deg, #10ffed2e, transparent 55%, #b516451f);
  transition: opacity .3s ease-out
}

.abt-us .team-card:hover .team-img-box::after {
  opacity: 0
}

.abt-us .team-img-box img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  filter: saturate(1.05)
}

.abt-us .team-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 6px
}

.abt-us .team-name {
  font-size: 16px;
  line-height: 1.5;
  color: #1b1b2e;
  margin: 0
}

.abt-us .team-role {
  font-size: 13px;
  line-height: 1.5;
  color: #B51645;
  margin: 0
}

.abt-us .team-desc {
  font-size: 13px;
  line-height: 1.9;
  color: #5a5a6a;
  margin: 0
}

.abt-us .cta-bar {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 48px;
  background: #fff;
  border-radius: 22px;
  box-shadow: 1px 6px 22px -1px #10ffed17
}

.abt-us .cta-text {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.abt-us .cta-h3 {
  font-size: 28px;
  line-height: 1.1;
  margin: 0;
  color: #1b1b2e
}

.abt-us .cta-h3 span {
  color: #B51645
}

.abt-us .cta-p {
  font-size: 16px;
  line-height: 1.5;
  color: #4a4a5a;
  margin: 0
}

.abt-us .btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 24px;
  border: 1.5px solid #B51645;
  border-radius: 8px;
  color: #B51645;
  font-size: 16px;
  line-height: 1.5;
  text-decoration: none;
  background: transparent;
  transition: background .2s ease-out, color .18s ease-out, border-color .22s ease-out;
  white-space: nowrap;
  flex-shrink: 0
}

.abt-us .btn-outline:hover {
  background: #B51645;
  color: #fff
}

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

.abt-us .btn-outline:active {
  box-shadow: inset 0 2px 6px #b5164540
}

.abt-us .btn-arrow {
  display: inline-block;
  transition: transform .2s ease-out
}

.abt-us .btn-outline:hover .btn-arrow {
  transform: translateX(5px)
}

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

  .abt-us .info-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .abt-us .team-row {
    grid-template-columns: repeat(2, 1fr)
  }

  .abt-us .opener-h1 {
    font-size: 38px
  }
}

@media (max-width: 768px) {
  .abt-us .opener-grid {
    grid-template-columns: 1fr
  }

  .abt-us .img-frame img {
    height: 320px
  }

  .abt-us .info-grid {
    grid-template-columns: 1fr
  }

  .abt-us .accent-strip {
    grid-template-columns: 1fr
  }

  .abt-us .appr-cols {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .abt-us .appr-header {
    flex-direction: column;
    align-items: flex-start
  }

  .abt-us .appr-note {
    text-align: left
  }

  .abt-us .team-row {
    grid-template-columns: 1fr
  }

  .abt-us .cta-bar {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px
  }

  .abt-us .opener-h1 {
    font-size: 28px
  }

  .abt-us .band-h2 {
    font-size: 28px
  }
}

@media (max-width: 480px) {
  .abt-us .opener-h1 {
    font-size: 28px
  }

  .abt-us .opener-lead {
    font-size: 16px
  }

  .abt-us .appr-h2 {
    font-size: 28px
  }

  .abt-us .cta-h3 {
    font-size: 21px
  }
}

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

.cont-us .pg-wrap {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px
}

.cont-us .lead-strip {
  background: #f4f4f0;
  padding: 48px 0;
  position: relative
}

.cont-us .lead-strip::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(253deg, #B51645, transparent 55%, #10FFED)
}

.cont-us .lead-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 48px
}

.cont-us .lead-text {
  flex: 1 1 55%
}

.cont-us .lead-text h1 {
  font-size: 52px;
  line-height: 1.1;
  margin: 0 0 24px;
  color: #1b1b1b
}

.cont-us .lead-text h1 span {
  color: #B51645
}

.cont-us .lead-text p {
  font-size: 16px;
  line-height: 1.9;
  color: #3a3a3a;
  margin: 0 0 24px;
  max-width: 520px
}

.cont-us .reach-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.cont-us .reach-list li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  color: #2a2a2a;
  line-height: 1.5
}

.cont-us .reach-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #e2e2e2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 1px 3px 3px -1px #10ffed0f;
  transition: box-shadow .2s ease-out, border-color .25s ease-out
}

.cont-us .reach-icon svg {
  display: block
}

.cont-us .reach-list li:hover .reach-icon {
  border-color: #10FFED;
  box-shadow: 1px 6px 22px -1px #10ffed17
}

.cont-us .lead-visual {
  flex: 0 0 340px;
  position: relative
}

.cont-us .img-mask {
  width: 340px;
  height: 280px;
  border-radius: 22px;
  overflow: hidden;
  position: relative;
  box-shadow: 1px 6px 22px -1px #b5164517
}

.cont-us .img-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease-out
}

.cont-us .img-mask::after {
  content: '';
  position: absolute;
  inset: 0;
  background: #b5164538;
  transition: opacity .35s ease-out;
  border-radius: 22px
}

.cont-us .img-mask:hover::after {
  opacity: 0
}

.cont-us .img-mask:hover img {
  transform: scale(1.04)
}

.cont-us .badge-num {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #F9B200;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  color: #1b1b1b;
  box-shadow: 1px 10px 52px -1px #b516451a;
  z-index: 2;
  line-height: 1.1;
  text-align: center
}

.cont-us .divider-thin {
  height: 1px;
  background: #d8d8d4;
  max-width: 1170px;
  margin: 0 auto
}

.cont-us .form-band {
  background: #fff;
  padding: 48px 0;
  position: relative
}

.cont-us .form-band::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(circle at 20% 30%, #10ffed0a 0%, transparent 60%), radial-gradient(circle at 80% 70%, #f9b2000a 0%, transparent 60%)
}

.cont-us .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start
}

.cont-us .form-aside {
  padding-top: 12px
}

.cont-us .form-aside h2 {
  font-size: 38px;
  line-height: 1.1;
  margin: 0 0 12px;
  color: #1b1b1b
}

.cont-us .form-aside h2 em {
  font-style: italic;
  color: #B51645;
  font-size: 42px
}

.cont-us .form-aside p {
  font-size: 16px;
  line-height: 1.9;
  color: #4a4a4a;
  margin: 0 0 24px
}

.cont-us .cat-group {
  margin: 0 0 24px
}

.cont-us .cat-label {
  font-size: 13px;
  color: #888;
  letter-spacing: .04em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 6px
}

.cont-us .cat-options {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6px
}

.cont-us .cat-opt {
  position: relative
}

.cont-us .cat-opt input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0
}

.cont-us .cat-opt label {
  display: block;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 13px;
  color: #3a3a3a;
  cursor: pointer;
  transition: background .2s ease-out, border-color .2s ease-out, color .18s ease-out;
  line-height: 1.5;
  user-select: none
}

.cont-us .cat-opt input[type="radio"]:checked+label {
  background: #B51645;
  border-color: #B51645;
  color: #fff;
  box-shadow: inset 0 1px 3px #00000026
}

.cont-us .cat-opt label:hover {
  border-color: #B51645;
  color: #B51645
}

.cont-us .cat-opt input[type="radio"]:focus-visible+label {
  outline: 2px solid #B51645;
  outline-offset: 2px
}

.cont-us .f-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 24px
}

.cont-us .f-row label {
  font-size: 13px;
  color: #555;
  line-height: 1.5
}

.cont-us .f-row input {
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 16px;
  color: #1b1b1b;
  background: #fafbf9;
  width: 100%;
  box-sizing: border-box;
  transition: border-color .22s ease-out, box-shadow .28s ease-out;
  outline: none
}

.cont-us .f-row input::placeholder {
  color: #aaa;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.cont-us .f-row input:focus {
  border-color: #10FFED;
  box-shadow: 1px 6px 22px -1px #10ffed17;
  background: #fff
}

.cont-us .f-row input:active {
  box-shadow: inset 1px 2px 4px #10ffed1f
}

.cont-us .privacy-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 24px
}

.cont-us .privacy-row input[type="checkbox"] {
  margin-top: 3px;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  accent-color: #B51645;
  cursor: pointer
}

.cont-us .privacy-row input[type="checkbox"]:focus-visible {
  outline: 2px solid #B51645;
  outline-offset: 2px
}

.cont-us .privacy-row input[type="checkbox"]:active {
  box-shadow: inset 0 1px 2px #b5164533
}

.cont-us .privacy-row span {
  font-size: 13px;
  color: #555;
  line-height: 1.9
}

.cont-us .privacy-row a {
  color: #B51645;
  text-decoration: underline;
  transition: color .2s ease-out
}

.cont-us .privacy-row a:hover {
  color: #8a1030
}

.cont-us .submit-btn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 12px 24px;
  border-radius: 8px;
  border: 1.5px solid #B51645;
  background: transparent;
  color: #B51645;
  font-size: 16px;
  cursor: pointer;
  transition: background .25s ease-out, color .2s ease-out, box-shadow .35s ease-out;
  position: relative;
  overflow: hidden
}

.cont-us .submit-btn svg {
  transition: transform .3s ease-out;
  flex-shrink: 0
}

.cont-us .submit-btn:hover {
  background: #B51645;
  color: #fff;
  box-shadow: 1px 10px 52px -1px #b516451a
}

.cont-us .submit-btn:hover svg {
  transform: translateX(5px)
}

.cont-us .submit-btn:focus-visible {
  outline: 2px solid #B51645;
  outline-offset: 3px
}

.cont-us .submit-btn:active {
  box-shadow: inset 1px 2px 4px #b516452e
}

.cont-us .divider-accent {
  height: 1px;
  background: linear-gradient(253deg, #B51645, transparent 55%, #10FFED);
  max-width: 1170px;
  margin: 0 auto;
  opacity: .4
}

.cont-us .detail-band {
  background: #f0f0ec;
  padding: 48px 0;
  position: relative
}

.cont-us .detail-band::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(253deg, transparent, #F9B200 50%, transparent)
}

.cont-us .detail-cols {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  align-items: start
}

.cont-us .d-card {
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 1px 3px 3px -1px #10ffed0f;
  transition: box-shadow .38s ease-out, transform .3s ease-out;
  position: relative
}

.cont-us .d-card:hover {
  box-shadow: 1px 10px 52px -1px #10ffed1a;
  transform: translateY(-3px)
}

.cont-us .d-card-num {
  position: absolute;
  top: -10px;
  right: 16px;
  background: #10FFED;
  color: #1b1b1b;
  font-size: 13px;
  font-weight: 700;
  border-radius: 8px;
  padding: 2px 8px;
  line-height: 1.5
}

.cont-us .d-card h4 {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #999;
  margin: 0 0 12px;
  line-height: 1.5
}

.cont-us .d-card p {
  font-size: 16px;
  color: #1b1b1b;
  margin: 0;
  line-height: 1.9
}

.cont-us .d-card a {
  color: #B51645;
  text-decoration: none;
  transition: color .22s ease-out
}

.cont-us .d-card a:hover {
  color: #8a1030;
  text-decoration: underline
}

.cont-us .d-card-wide {
  grid-column: span 3;
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 1px 3px 3px -1px #10ffed0f
}

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

.cont-us .feat-group h5 {
  font-size: 13px;
  text-transform: uppercase;
  color: #B51645;
  letter-spacing: .05em;
  margin: 0 0 12px;
  line-height: 1.5
}

.cont-us .feat-group ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px
}

.cont-us .feat-group ul li {
  font-size: 13px;
  color: #3a3a3a;
  line-height: 1.9;
  padding-left: 12px;
  position: relative
}

.cont-us .feat-group ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 4px;
  height: 4px;
  border-radius: 48px;
  background: #F9B200
}

.cont-us .trial-strip {
  margin-top: 24px;
  padding: 24px;
  border-radius: 22px;
  background: linear-gradient(253deg, #B51645, #f9b20026 55%, #10ffed1f);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap
}

.cont-us .trial-strip p {
  font-size: 16px;
  color: #fff;
  margin: 0;
  line-height: 1.5;
  flex: 1 1 300px
}

.cont-us .trial-link {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 12px 24px;
  border-radius: 8px;
  border: 1.5px solid #fff;
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  transition: background .28s ease-out, color .22s ease-out, box-shadow .38s ease-out;
  flex-shrink: 0
}

.cont-us .trial-link svg {
  transition: transform .32s ease-out
}

.cont-us .trial-link:hover {
  background: #fff;
  color: #B51645;
  box-shadow: 1px 6px 22px -1px #b5164517
}

.cont-us .trial-link:hover svg {
  transform: translateX(5px)
}

.cont-us .trial-link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px
}

.cont-us .anim-rise {
  opacity: 0;
  transform: translateY(28px);
  animation: riseUp .42s ease-out forwards
}

.cont-us .anim-rise.d2 {
  animation-delay: .12s
}

.cont-us .anim-rise.d3 {
  animation-delay: .22s
}

.cont-us .anim-rise.d4 {
  animation-delay: .32s
}

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

@media (max-width: 1024px) {
  .cont-us .lead-row {
    flex-direction: column;
    gap: 24px
  }

  .cont-us .lead-visual {
    flex: 0 0 auto;
    width: 100%
  }

  .cont-us .img-mask {
    width: 100%;
    height: 220px
  }

  .cont-us .form-grid {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .cont-us .detail-cols {
    grid-template-columns: 1fr 1fr
  }

  .cont-us .d-card-wide {
    grid-column: span 2
  }

  .cont-us .feat-groups {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 768px) {
  .cont-us .lead-text h1 {
    font-size: 38px
  }

  .cont-us .form-aside h2 {
    font-size: 28px
  }

  .cont-us .form-aside h2 em {
    font-size: 30px
  }

  .cont-us .detail-cols {
    grid-template-columns: 1fr
  }

  .cont-us .d-card-wide {
    grid-column: span 1
  }

  .cont-us .feat-groups {
    grid-template-columns: 1fr
  }

  .cont-us .trial-strip {
    flex-direction: column;
    align-items: flex-start
  }
}

@media (max-width: 480px) {
  .cont-us .lead-text h1 {
    font-size: 28px
  }

  .cont-us .cat-options {
    flex-direction: column
  }

  .cont-us .pg-wrap {
    padding: 0 12px
  }

  .cont-us .lead-strip,
  .cont-us .form-band,
  .cont-us .detail-band {
    padding: 24px 0
  }
}

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

.success-page .result-wrap {
  max-width: 1170px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px
}

.success-page .status-icon {
  width: 72px;
  height: 72px;
  border-radius: 22px;
  background: linear-gradient(253deg, #10FFED, transparent 55%, #B51645);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 1px 6px 22px -1px #10ffed17;
  flex-shrink: 0
}

.success-page .status-icon svg {
  display: block
}

.success-page .result-heading {
  font-size: 38px;
  line-height: 1.1;
  color: #111;
  text-align: center;
  margin: 0
}

.success-page .result-heading span {
  color: #B51645;
  font-style: italic
}

.success-page .result-note {
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  text-align: center;
  max-width: 480px;
  margin: 0
}

.success-page .divider-line {
  width: 64px;
  height: 3px;
  border-radius: 8px;
  background: linear-gradient(253deg, #10FFED, #F9B200)
}

.success-page .back-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 24px;
  border-radius: 14px;
  border: 1.5px solid #B51645;
  color: #B51645;
  font-size: 16px;
  line-height: 1.5;
  text-decoration: none;
  background: transparent;
  transition: background .22s ease-out, color .18s ease-out, box-shadow .28s ease-out;
  box-shadow: 1px 3px 3px -1px #b516450f
}

.success-page .back-link:hover {
  background: #B51645;
  color: #fff;
  box-shadow: 1px 10px 52px -1px #b516451a
}

.success-page .back-link:hover .link-arrow {
  transform: translateX(5px)
}

.success-page .link-arrow {
  transition: transform .19s ease-out;
  display: flex;
  align-items: center
}

.success-page .back-link:focus-visible {
  outline: 2px solid #B51645;
  outline-offset: 3px
}

@media (max-width: 480px) {
  .success-page .result-heading {
    font-size: 28px
  }

  .success-page {
    padding: 48px 12px
  }
}