html {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  scroll-behavior: auto;
}

body {
  margin: 0;
  min-height: 100dvh;
  overflow-x: hidden;
}

body *:focus {
  outline: none;
  border-bottom: 4px solid #4A2AE9;
}

.topbar {
  background: linear-gradient(100deg, #4A2AE9 0%, #A41A79 100%);
  padding: 6px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.topbar-brand {
  display: flex;
  align-items: center;
  gap: 20px;
}

.logobox {
  display: flex;
  align-items: center;
  border-bottom: 2px solid rgba(253, 215, 134, 0.5);
  padding-bottom: 6px;
  box-shadow: 0 2px 4px rgba(74, 42, 233, 0.18);
}

.logobox img {
  width: 68px;
  height: 68px;
  object-fit: contain;
  display: block;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 6px;
  box-shadow: 1px 2px 4px -1px rgba(74, 42, 233, 0.06), 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
}

.brandname {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.2;
  color: #fff;
  letter-spacing: 0;
}

.brandname span {
  color: #FDD786;
}

.topbar-badge {
  font-family: 'JetBrains Mono', monospace;
  font-size: 15px;
  line-height: 1.55;
  color: #FDD786;
  background: rgba(253, 215, 134, 0.1);
  border: 1px solid rgba(253, 215, 134, 0.35);
  border-radius: 28px;
  padding: 6px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.topbar-badge svg {
  flex-shrink: 0;
}

.navrow {
  background: #fff;
  border-bottom: 1.5px solid rgba(74, 42, 233, 0.10);
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
}

.navrow-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}

.navlink {
  font-family: 'Noto Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
  color: #1b0e4a;
  text-decoration: none;
  padding: 20px 20px;
  display: flex;
  align-items: center;
  gap: 6px;
  border-bottom: 3px solid transparent;
  transition: color 0.12s cubic-bezier(0.4, 0, 1, 1), border-color 0.14s cubic-bezier(0.4, 0, 1, 1);
  position: relative;
}

.navlink:hover {
  color: #4A2AE9;
  border-bottom-color: #4A2AE9;
}

.navlink.active {
  color: #A41A79;
  border-bottom-color: #A41A79;
}

.navlink svg {
  flex-shrink: 0;
  opacity: 0.7;
}

.navlink-contact {
  margin-left: auto;
  background: linear-gradient(90deg, #4A2AE9, #A41A79);
  color: #fff;
  border-radius: 0;
  padding: 0 40px;
  border-bottom: 3px solid transparent;
  transition: opacity 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.navlink-contact:hover {
  color: #fff;
  opacity: 0.88;
  border-bottom-color: transparent;
}

header {
  position: relative;
}

.ftr {
  background: #0d0622;
  padding: 80px 0 0 0;
}

.ftr-body {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 80px;
  align-items: start;
}

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

.ftr-logobox {
  border-bottom: 1px solid rgba(253, 215, 134, 0.25);
  padding-bottom: 20px;
  display: inline-flex;
}

.ftr-logobox img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  display: block;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 6px;
  box-shadow: 1px 2px 4px -1px rgba(164, 26, 121, 0.06), 1px 5px 18px -1px rgba(164, 26, 121, 0.09);
}

.ftr-brandname {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.2;
  color: #fff;
}

.ftr-brandname span {
  color: #FDD786;
}

.ftr-desc {
  font-family: 'Noto Sans', sans-serif;
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.6);
}

.ftr-contact {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ftr-contactitem {
  font-family: 'JetBrains Mono', monospace;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: color 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.ftr-contactitem:hover {
  color: #FDD786;
}

.ftr-contactitem svg {
  flex-shrink: 0;
  opacity: 0.6;
}

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

.ftr-navgroup {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ftr-grouplabel {
  font-family: 'JetBrains Mono', monospace;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
  color: #FDD786;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(253, 215, 134, 0.15);
}

.ftr-navlink {
  font-family: 'Noto Sans', sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.65);
  text-decoration: none;
  transition: color 0.13s cubic-bezier(0.4, 0, 1, 1);
  display: flex;
  align-items: center;
  gap: 6px;
}

.ftr-navlink:hover {
  color: #fff;
}

.ftr-navlink svg {
  flex-shrink: 0;
  opacity: 0.5;
}

.ftr-bottom {
  max-width: 1500px;
  margin: 80px auto 0;
  padding: 20px 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.ftr-copy {
  font-family: 'JetBrains Mono', monospace;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.35);
}

.ftr-legallinks {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.ftr-legallink {
  font-family: 'Noto Sans', sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  transition: color 0.13s cubic-bezier(0.4, 0, 1, 1);
}

.ftr-legallink:hover {
  color: rgba(255, 255, 255, 0.8);
}

.ftr-cookiebtn {
  font-family: 'Noto Sans', sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(253, 215, 134, 0.6);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  transition: color 0.13s cubic-bezier(0.4, 0, 1, 1);
}

.ftr-cookiebtn:hover {
  color: #FDD786;
}

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

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

@media (max-width: 680px) {
  .topbar {
    padding: 6px 20px;
    flex-wrap: wrap;
    gap: 12px;
  }

  .navrow-inner {
    padding: 0 20px;
  }

  .navlink {
    padding: 20px 12px;
    font-size: 15px;
  }

  .navlink-contact {
    padding: 0 20px;
  }

  .ftr-body {
    padding: 0 20px;
  }

  .ftr-nav {
    grid-template-columns: 1fr;
  }

  .ftr-bottom {
    padding: 20px;
    flex-direction: column;
    align-items: flex-start;
  }
}

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

.policy-layout p {
  font-size: 15px;
  line-height: 1.8;
  color: #2a2a3d;
  margin-bottom: 20px;
}

.policy-layout ul,
.policy-layout ol {
  margin: 20px 0;
  padding-left: 40px;
}

.policy-layout li {
  font-size: 15px;
  line-height: 1.8;
  color: #2a2a3d;
  margin-bottom: 6px;
}

.policy-layout ul li {
  list-style: none;
  position: relative;
  padding-left: 20px;
}

.policy-layout ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4A2AE9;
}

.policy-layout ol {
  list-style: decimal;
}

.policy-layout ol li::marker {
  color: #4A2AE9;
  font-size: 15px;
}

.policy-layout a {
  color: #4A2AE9;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(74, 42, 233, 0.35);
  transition: color 0.15s cubic-bezier(0.4, 0, 1, 1), text-decoration-color 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.policy-layout a:hover {
  color: #A41A79;
  text-decoration-color: rgba(164, 26, 121, 0.5);
}

.policy-layout hr {
  border: none;
  height: 1px;
  background: linear-gradient(90deg, #4A2AE9 0%, rgba(164, 26, 121, 0.3) 60%, transparent 100%);
  margin: 40px 0;
  border-radius: 6px;
}

.policy-layout div {
  margin-bottom: 40px;
}

@media (max-width: 768px) {
  .policy-layout {
    padding: 40px 20px;
  }

  .policy-layout ul,
  .policy-layout ol {
    padding-left: 20px;
  }
}

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

.prs .titblock {
  background: linear-gradient(263deg, #4A2AE9 0%, #2a1580 100%);
  padding: 80px 40px 120px;
  position: relative;
  overflow: hidden;
}

.prs .titblock::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: rgba(253, 215, 134, 0.07);
  pointer-events: none;
}

.prs .titblock::after {
  content: '';
  position: absolute;
  bottom: 20px;
  left: 10%;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: rgba(164, 26, 121, 0.09);
  pointer-events: none;
  animation: bgfade 6s sine-in-out infinite;
}

@keyframes bgfade {

  0%,
  100% {
    opacity: 0.4;
  }

  50% {
    opacity: 1;
  }
}

.prs .titblock .tbinner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 80px;
}

.prs .titblock .tbtxt {
  flex: 1 1 0;
}

.prs .titblock .tbimg {
  flex: 0 0 380px;
  width: 380px;
  height: 300px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
  position: relative;
  margin-bottom: -40px;
  filter: saturate(1.1) brightness(0.92) sepia(0.12);
}

.prs .titblock .tbimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.prs .titblock .tblabel {
  display: inline-block;
  background: rgba(253, 215, 134, 0.18);
  border: 1px solid rgba(253, 215, 134, 0.4);
  color: #FDD786;
  font-size: 15px;
  line-height: 1.2;
  padding: 6px 20px;
  border-radius: 6px;
  margin-bottom: 20px;
  letter-spacing: 0.04em;
}

.prs .titblock h1 {
  font-size: 58px;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 20px;
}

.prs .titblock h1 span {
  background: linear-gradient(263deg, #FDD786, #f0b840);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.prs .titblock .tbsub {
  font-size: 22px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
  margin: 0 0 40px;
  max-width: 560px;
}

.prs .titblock .tblink {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  background: #FDD786;
  color: #1a0e6e;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
  padding: 12px 40px;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.12s cubic-bezier(0.4, 0, 1, 1), color 0.12s cubic-bezier(0.4, 0, 1, 1);
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
}

.prs .titblock .tblink:hover {
  background: #f0c84a;
  color: #1a0e6e;
}

.prs .titblock .tblink:active {
  transform: scale(0.97);
}

.prs .titblock .tblink svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.prs .divsvg {
  display: block;
  line-height: 0;
  background: #fff;
}

.prs .divsvg svg {
  display: block;
  width: 100%;
}

.prs .presskit {
  background: #f3f1fd;
  padding: 80px 40px;
  position: relative;
  border-left: 5px solid #4A2AE9;
}

.prs .presskit .pkinner {
  max-width: 1500px;
  margin: 0 auto;
}

.prs .presskit h2 {
  font-size: 42px;
  line-height: 1.2;
  color: #1a0e6e;
  text-align: center;
  margin: 0 0 12px;
}

.prs .presskit h2::after {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #A41A79;
  margin-left: 8px;
  vertical-align: middle;
  position: relative;
  top: -4px;
}

.prs .presskit .pksub {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3060;
  text-align: center;
  max-width: 620px;
  margin: 0 auto 80px;
}

.prs .presskit .pkgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 80px;
}

.prs .presskit .pkcard {
  background: #fff;
  border-radius: 10px;
  padding: 40px;
  box-shadow: 1px 2px 4px -1px rgba(74, 42, 233, 0.06);
  position: relative;
  transition: box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.prs .presskit .pkcard::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 60px;
  background: linear-gradient(180deg, #4A2AE9, #A41A79);
  border-radius: 0 0 6px 0;
}

.prs .presskit .pkcard:hover {
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
}

.prs .presskit .pkcard .pkicon {
  width: 44px;
  height: 44px;
  background: linear-gradient(263deg, #4A2AE9, #A41A79);
  border-radius: 10px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.prs .presskit .pkcard .pkicon svg {
  width: 22px;
  height: 22px;
  fill: #fff;
}

.prs .presskit .pkcard h4 {
  font-size: 22px;
  line-height: 1.2;
  color: #1a0e6e;
  margin: 0 0 12px;
}

.prs .presskit .pkcard p {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3060;
  margin: 0;
}

.prs .presskit .pkcard p::first-letter {
  font-size: 30px;
  line-height: 1.2;
  color: #4A2AE9;
  font-weight: 700;
  float: left;
  margin-right: 6px;
  margin-top: 2px;
}

.prs .presskit .pksteps {
  background: linear-gradient(263deg, #1a0e6e 0%, #4A2AE9 100%);
  border-radius: 10px;
  padding: 40px;
  display: flex;
  flex-direction: row;
  gap: 40px;
  margin-bottom: 80px;
  position: relative;
  overflow: hidden;
}

.prs .presskit .pksteps::after {
  content: '';
  position: absolute;
  right: -40px;
  bottom: -40px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: rgba(253, 215, 134, 0.06);
  pointer-events: none;
}

.prs .presskit .pkstep {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative;
}

.prs .presskit .pkstep:not(:last-child)::after {
  content: '';
  position: absolute;
  right: -20px;
  top: 12px;
  width: 1px;
  height: 60px;
  background: rgba(253, 215, 134, 0.25);
}

.prs .presskit .pkstepnum {
  font-size: 42px;
  line-height: 1.2;
  color: #FDD786;
  font-weight: 700;
}

.prs .presskit .pksteptit {
  font-size: 15px;
  line-height: 1.2;
  color: #fff;
  font-weight: 700;
}

.prs .presskit .pkstepdesc {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.7);
}

.prs .presskit .pkcontact {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 40px;
  background: #fff;
  border-radius: 10px;
  padding: 40px;
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
}

.prs .presskit .pkcontact .pkcol {
  flex: 1 1 0;
}

.prs .presskit .pkcontact .pkcol h5 {
  font-size: 15px;
  line-height: 1.2;
  color: #A41A79;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 12px;
}

.prs .presskit .pkcontact .pkcol p {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3060;
  margin: 0 0 6px;
}

.prs .presskit .pkcontact .pkcol a {
  color: #4A2AE9;
  text-decoration: none;
  transition: color 0.14s ease-in;
}

.prs .presskit .pkcontact .pkcol a:hover {
  color: #A41A79;
}

.prs .presskit .pkcontact .pkbracket {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.prs .presskit .pkcontact .pkbracket svg {
  width: 32px;
  height: 80px;
  stroke: #4A2AE9;
  fill: none;
  stroke-width: 2;
  opacity: 0.3;
}

.prs .presskit .pkdownload {
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin-top: 40px;
  flex-wrap: wrap;
}

.prs .presskit .pkdlbtn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  background: #4A2AE9;
  color: #fff;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
  padding: 12px 40px;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.16s cubic-bezier(0.4, 0, 1, 1);
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
}

.prs .presskit .pkdlbtn:hover {
  background: #3a1ec9;
}

.prs .presskit .pkdlbtn:active {
  transform: scale(0.97);
}

.prs .presskit .pkdlbtn svg {
  width: 18px;
  height: 18px;
  fill: #FDD786;
  flex-shrink: 0;
}

.prs .presskit .pkdlbtn.sec {
  background: #fff;
  color: #4A2AE9;
  border: 1.5px solid #4A2AE9;
}

.prs .presskit .pkdlbtn.sec svg {
  fill: #A41A79;
}

.prs .presskit .pkdlbtn.sec:hover {
  background: #f3f1fd;
}

@media (max-width: 900px) {
  .prs .titblock .tbinner {
    flex-direction: column;
    gap: 40px;
  }

  .prs .titblock .tbimg {
    flex: 0 0 auto;
    width: 100%;
    height: 220px;
    margin-bottom: 0;
  }

  .prs .titblock h1 {
    font-size: 42px;
  }

  .prs .presskit .pkgrid {
    grid-template-columns: 1fr;
  }

  .prs .presskit .pksteps {
    flex-direction: column;
    gap: 20px;
  }

  .prs .presskit .pkstep:not(:last-child)::after {
    display: none;
  }

  .prs .presskit .pkcontact {
    flex-direction: column;
    gap: 20px;
  }

  .prs .presskit .pkcontact .pkbracket {
    display: none;
  }

  .prs .presskit {
    border-left: none;
    border-top: 5px solid #4A2AE9;
  }
}

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

.ctus .pgwrap {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 40px;
}

.ctus .titblock {
  background: linear-gradient(263deg, #4A2AE9 0%, #A41A79 60%, rgba(74, 42, 233, 0.08) 100%);
  padding: 80px 40px 80px;
  position: relative;
  overflow: hidden;
}

.ctus .titblock::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(135deg,
      rgba(253, 215, 134, 0.07) 0px,
      rgba(253, 215, 134, 0.07) 1px,
      transparent 1px,
      transparent 28px);
  pointer-events: none;
}

.ctus .titblock::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(to bottom, transparent, #fff);
  pointer-events: none;
}

.ctus .titwrap {
  max-width: 1500px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  padding-top: 40px;
}

.ctus .titeyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: rgba(253, 215, 134, 0.18);
  border: 1px solid rgba(253, 215, 134, 0.45);
  border-radius: 6px;
  padding: 6px 20px;
  margin-bottom: 40px;
}

.ctus .titeyebrow span {
  font-size: 15px;
  color: #FDD786;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ctus .titeyedot {
  width: 6px;
  height: 6px;
  border-radius: 44px;
  background: #FDD786;
  display: inline-block;
  animation: shakeDot 4s 2s sine-in-out infinite;
}

@keyframes shakeDot {

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

  92% {
    transform: translateX(-3px);
  }

  94% {
    transform: translateX(3px);
  }

  96% {
    transform: translateX(-2px);
  }

  98% {
    transform: translateX(2px);
  }
}

.ctus .tith1 {
  font-size: 58px;
  line-height: 1.2;
  color: #fff;
  font-weight: 800;
  margin: 0 0 20px;
  max-width: 820px;
}

.ctus .tith1 .accentword {
  background: linear-gradient(263deg, #FDD786, #fff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ctus .titdesc {
  font-size: 22px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
  max-width: 600px;
  margin: 0;
}

.ctus .geomrow {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  padding: 20px 0 0;
  overflow: hidden;
}

.ctus .geomshape {
  width: 8px;
  height: 8px;
  border-radius: 6px;
  background: rgba(253, 215, 134, 0.35);
  flex-shrink: 0;
}

.ctus .geomshape.lg {
  width: 40px;
  border-radius: 44px;
  background: rgba(253, 215, 134, 0.55);
}

.ctus .geomshape.md {
  width: 20px;
  border-radius: 28px;
  background: rgba(253, 215, 134, 0.42);
}

.ctus .formblock {
  padding: 80px 40px;
  background: #fff;
  position: relative;
}

.ctus .formblock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 40px;
  background: linear-gradient(to bottom, #4A2AE9, transparent);
}

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

.ctus .formleft {
  position: relative;
}

.ctus .formleft::after {
  content: "";
  position: absolute;
  top: 0;
  right: -40px;
  width: 1px;
  height: 100%;
  background: linear-gradient(to bottom, transparent, rgba(74, 42, 233, 0.18), transparent);
}

.ctus .formleadh2 {
  font-size: 42px;
  line-height: 1.2;
  color: #1a0a3c;
  font-weight: 800;
  margin: 0 0 20px;
  text-align: center;
}

.ctus .formleadh2 .dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 44px;
  background: #A41A79;
  margin-left: 6px;
  vertical-align: middle;
  margin-bottom: 6px;
}

.ctus .formleadp {
  font-size: 15px;
  line-height: 1.55;
  color: #3d2a6e;
  margin: 0 0 40px;
}

.ctus .formleadp::first-letter {
  font-size: 30px;
  font-weight: 800;
  color: #4A2AE9;
  float: left;
  line-height: 1;
  margin-right: 6px;
  margin-top: 4px;
}

.ctus .infolist {
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ctus .infolist li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
}

.ctus .infoicon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: linear-gradient(263deg, #4A2AE9, #A41A79);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
}

.ctus .infoicon svg {
  width: 18px;
  height: 18px;
  stroke: #fff;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ctus .infolabel {
  font-size: 15px;
  color: #7a6a9a;
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
}

.ctus .infoval {
  font-size: 15px;
  color: #1a0a3c;
  font-weight: 600;
  display: block;
  text-decoration: none;
  transition: color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ctus .infoval:hover {
  color: #4A2AE9;
}

.ctus .availbar {
  background: rgba(74, 42, 233, 0.05);
  border-radius: 10px;
  padding: 20px;
  border: 1px solid rgba(74, 42, 233, 0.1);
  margin-top: 20px;
}

.ctus .availbarlabel {
  font-size: 15px;
  color: #3d2a6e;
  font-weight: 600;
  margin: 0 0 12px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
}

.ctus .availbarlabel .statusdot {
  width: 8px;
  height: 8px;
  border-radius: 44px;
  background: #22c55e;
  box-shadow: inset 0 1px 2px rgba(34, 197, 94, 0.4);
  animation: shakeDot 6s 3s sine-in-out infinite;
}

.ctus .availtrack {
  height: 8px;
  background: rgba(74, 42, 233, 0.1);
  border-radius: 44px;
  overflow: hidden;
  margin-bottom: 6px;
}

.ctus .availfill {
  height: 100%;
  width: 68%;
  background: linear-gradient(90deg, #4A2AE9, #A41A79);
  border-radius: 44px;
  box-shadow: inset 0 1px 3px rgba(74, 42, 233, 0.3);
}

.ctus .availmeta {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  font-size: 15px;
  color: #7a6a9a;
}

.ctus .formright form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ctus .fieldwrap {
  position: relative;
}

.ctus .fieldwrap input,
.ctus .fieldwrap select,
.ctus .fieldwrap textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1.5px solid rgba(74, 42, 233, 0.2);
  border-radius: 10px;
  padding: 20px 20px 6px;
  font-size: 15px;
  color: #1a0a3c;
  background: rgba(74, 42, 233, 0.02);
  outline: none;
  transition: border-color 0.15s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1);
  appearance: none;
  -webkit-appearance: none;
}

.ctus .fieldwrap select {
  padding: 14px 20px;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234A2AE9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 44px;
}

.ctus .fieldwrap textarea {
  resize: vertical;
  min-height: 100px;
  padding-top: 20px;
}

.ctus .fieldwrap input:focus,
.ctus .fieldwrap select:focus,
.ctus .fieldwrap textarea:focus {
  border-color: #4A2AE9;
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09), inset 0 1px 4px rgba(74, 42, 233, 0.06);
}

.ctus .fieldlabel {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 15px;
  color: #7a6a9a;
  pointer-events: none;
  transition: top 0.12s cubic-bezier(0.4, 0, 1, 1), font-size 0.12s cubic-bezier(0.4, 0, 1, 1), color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ctus .fieldwrap input:focus~.fieldlabel,
.ctus .fieldwrap input:not(:placeholder-shown)~.fieldlabel,
.ctus .fieldwrap textarea:focus~.fieldlabel,
.ctus .fieldwrap textarea:not(:placeholder-shown)~.fieldlabel {
  top: 8px;
  transform: none;
  font-size: 15px;
  font-size: 12px;
  color: #4A2AE9;
}

.ctus .fieldwrap.textareafield .fieldlabel {
  top: 20px;
  transform: none;
}

.ctus .fieldwrap.textareafield textarea:focus~.fieldlabel,
.ctus .fieldwrap.textareafield textarea:not(:placeholder-shown)~.fieldlabel {
  top: 6px;
  font-size: 12px;
  color: #4A2AE9;
}

.ctus .slotrow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.ctus .slotlabel {
  font-size: 15px;
  color: #3d2a6e;
  font-weight: 600;
  margin-bottom: 6px;
  display: block;
}

.ctus .checkrow {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
}

.ctus .checkrow input[type="checkbox"] {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 6px;
  border: 1.5px solid rgba(74, 42, 233, 0.3);
  background: #fff;
  cursor: pointer;
  margin-top: 2px;
  accent-color: #4A2AE9;
}

.ctus .checktext {
  font-size: 15px;
  line-height: 1.55;
  color: #3d2a6e;
}

.ctus .checktext a {
  color: #4A2AE9;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ctus .checktext a:hover {
  color: #A41A79;
}

.ctus .submitbtn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: linear-gradient(263deg, #4A2AE9, #A41A79);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  border: none;
  border-radius: 10px;
  padding: 20px 40px;
  cursor: pointer;
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
  transition: box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1), transform 0.1s cubic-bezier(0.4, 0, 1, 1);
  align-self: flex-start;
}

.ctus .submitbtn:hover {
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.2);
  background: linear-gradient(263deg, #5c3ef5, #b82088);
}

.ctus .submitbtn:active {
  transform: scale(0.97);
}

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

.ctus .altblock {
  background: #0d0520;
  padding: 80px 40px;
  position: relative;
  overflow: hidden;
}

.ctus .altblock::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #4A2AE9 40%, #A41A79 60%, transparent);
}

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

.ctus .altblock .geomrowdark {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin-bottom: 40px;
  overflow: hidden;
}

.ctus .altblock .geomshapedark {
  width: 8px;
  height: 8px;
  border-radius: 6px;
  background: rgba(74, 42, 233, 0.4);
  flex-shrink: 0;
}

.ctus .altblock .geomshapedark.lg {
  width: 40px;
  border-radius: 44px;
  background: rgba(74, 42, 233, 0.6);
}

.ctus .altblock .geomshapedark.md {
  width: 20px;
  border-radius: 28px;
  background: rgba(74, 42, 233, 0.5);
}

.ctus .altcard {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 40px;
  position: relative;
  transition: background 0.15s cubic-bezier(0.4, 0, 1, 1), border-color 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.ctus .altcard:hover {
  background: linear-gradient(263deg, rgba(74, 42, 233, 0.15), rgba(164, 26, 121, 0.1));
  border-color: rgba(74, 42, 233, 0.35);
}

.ctus .altcard .entrymark {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin-bottom: 20px;
}

.ctus .altcard .entrymark .markline {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, #4A2AE9, transparent);
}

.ctus .altcard .entrymark .markdot {
  width: 8px;
  height: 8px;
  border-radius: 44px;
  background: #4A2AE9;
  box-shadow: inset 0 1px 2px rgba(74, 42, 233, 0.5);
}

.ctus .altcard .exitmark {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin-top: 20px;
}

.ctus .altcard .exitmark .markline {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, #A41A79);
}

.ctus .altcard .exitmark .markdot {
  width: 8px;
  height: 8px;
  border-radius: 44px;
  background: #A41A79;
  box-shadow: inset 0 1px 2px rgba(164, 26, 121, 0.5);
}

.ctus .altcardnum {
  font-size: 58px;
  line-height: 1.2;
  font-weight: 800;
  background: linear-gradient(263deg, #4A2AE9, #FDD786);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 6px;
}

.ctus .altcardnumbar {
  height: 3px;
  border-radius: 44px;
  background: rgba(74, 42, 233, 0.15);
  margin-bottom: 20px;
  overflow: hidden;
}

.ctus .altcardnumfill {
  height: 100%;
  border-radius: 44px;
  background: linear-gradient(90deg, #4A2AE9, #A41A79);
}

.ctus .altcardh {
  font-size: 22px;
  line-height: 1.2;
  color: #fff;
  font-weight: 700;
  margin: 0 0 12px;
}

.ctus .altcardp {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.65);
  margin: 0;
}

.ctus .imgblock {
  grid-column: span 1;
  position: relative;
}

.ctus .imgframe {
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
  height: 320px;
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
}

.ctus .imgframe img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.ctus .imgframe:hover img {
  transform: scale(1.04);
}

.ctus .altblock .alttextcol {
  grid-column: span 2;
}

.ctus .altblock .alttextcol .altbigh2 {
  font-size: 42px;
  line-height: 1.2;
  color: #fff;
  font-weight: 800;
  margin: 0 0 20px;
  text-align: center;
}

.ctus .altblock .alttextcol .altbigh2 .dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 44px;
  background: #FDD786;
  margin-left: 6px;
  vertical-align: middle;
  margin-bottom: 6px;
}

.ctus .altblock .alttextcol .altbigp {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.7);
  margin: 0 0 40px;
}

.ctus .altblock .alttextcol .altbigp::first-letter {
  font-size: 30px;
  font-weight: 800;
  color: #FDD786;
  float: left;
  line-height: 1;
  margin-right: 6px;
  margin-top: 4px;
}

.ctus .cardsgrid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin-top: 40px;
}

.ctus .metriccard {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 20px;
  transition: background 0.13s cubic-bezier(0.4, 0, 1, 1);
}

.ctus .metriccard:hover {
  background: linear-gradient(263deg, rgba(74, 42, 233, 0.12), rgba(164, 26, 121, 0.08));
}

.ctus .metriccard .mnum {
  font-size: 30px;
  line-height: 1.2;
  font-weight: 800;
  background: linear-gradient(263deg, #4A2AE9, #FDD786);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 6px;
}

.ctus .metriccard .mbar {
  height: 3px;
  border-radius: 44px;
  background: rgba(255, 255, 255, 0.08);
  margin-bottom: 12px;
  overflow: hidden;
}

.ctus .metriccard .mfill {
  height: 100%;
  border-radius: 44px;
  background: linear-gradient(90deg, #4A2AE9, #A41A79);
}

.ctus .metriccard .mlabel {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}

.ctus .geomfullrow {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  padding: 40px 40px 0;
  max-width: 1500px;
  margin: 0 auto;
  overflow: hidden;
}

.ctus .geomfullrow .gs {
  width: 8px;
  height: 8px;
  border-radius: 6px;
  background: rgba(74, 42, 233, 0.15);
  flex-shrink: 0;
}

.ctus .geomfullrow .gs.l {
  width: 40px;
  border-radius: 44px;
  background: rgba(74, 42, 233, 0.25);
}

.ctus .geomfullrow .gs.m {
  width: 20px;
  border-radius: 28px;
  background: rgba(74, 42, 233, 0.2);
}

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

  .ctus .formleft::after {
    display: none;
  }

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

  .ctus .altblock .alttextcol {
    grid-column: span 2;
  }

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

  .ctus .imgblock {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .ctus .tith1 {
    font-size: 42px;
  }

  .ctus .titblock {
    padding: 40px 20px 80px;
  }

  .ctus .titwrap {
    padding-top: 20px;
  }

  .ctus .formblock {
    padding: 40px 20px;
  }

  .ctus .altblock {
    padding: 40px 20px;
  }

  .ctus .altinnerwrap {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ctus .altblock .alttextcol {
    grid-column: span 1;
  }

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

  .ctus .imgblock {
    grid-column: span 1;
  }

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

  .ctus .formleadh2 {
    font-size: 30px;
  }

  .ctus .altblock .alttextcol .altbigh2 {
    font-size: 30px;
  }
}

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

.sustain .stblock {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 40px;
}

.sustain .bentorow {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 20px;
  padding: 80px 40px;
  max-width: 1500px;
  margin: 0 auto;
}

.sustain .bentocell {
  background: #fff;
  border-radius: 10px;
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
  padding: 40px;
  position: relative;
}

.sustain .bentocell.imgcell {
  padding: 0;
  overflow: hidden;
  border-radius: 10px;
  grid-row: 1 / 3;
  grid-column: 2 / 3;
  min-height: 420px;
}

.sustain .bentocell.imgcell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: blur(0px);
}

.sustain .bentocell.imgcell::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(263deg, rgba(74, 42, 233, 0.18) 0%, transparent 60%);
  border-radius: 10px;
  pointer-events: none;
}

.sustain .bentocell.wide {
  grid-column: 1 / 2;
  background: linear-gradient(263deg, #4A2AE9 0%, #A41A79 100%);
  color: #fff;
}

.sustain .bentocell.accent {
  grid-column: 3 / 4;
  background: #f5f3ff;
  border: 2px solid #4A2AE9;
}

.sustain .bentocell.sub {
  grid-column: 1 / 2;
  background: #fff;
}

.sustain .bentocell.subright {
  grid-column: 3 / 4;
  background: #fff;
}

.sustain .bentopattern {
  position: absolute;
  top: 20px;
  right: 20px;
  display: grid;
  grid-template-columns: repeat(4, 8px);
  grid-template-rows: repeat(4, 8px);
  gap: 6px;
  opacity: 0.18;
  pointer-events: none;
}

.sustain .bentopattern span {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #4A2AE9;
  display: block;
}

.sustain .bentocell.wide .bentopattern span {
  background: #FDD786;
}

.sustain .bentoh1 {
  font-size: 58px;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 20px;
}

.sustain .bentoh1 .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #FDD786;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -6px;
}

.sustain .bentolead {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.88);
  margin: 0;
}

.sustain .bentoh4 {
  font-size: 22px;
  line-height: 1.2;
  color: #1a0a5e;
  margin: 0 0 12px;
  text-align: center;
}

.sustain .bentoh4 .dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #A41A79;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -3px;
}

.sustain .bentobody {
  font-size: 15px;
  line-height: 1.55;
  color: #2d2060;
  margin: 0;
}

.sustain .bentocell.accent .bentoh4 .dot {
  background: #4A2AE9;
}

.sustain .bentocell.accent .bentobody {
  color: #2d2060;
}

.sustain .bentocell.sub .bentoh4,
.sustain .bentocell.subright .bentoh4 {
  text-align: left;
}

.sustain .bentocell.sub .bentobody,
.sustain .bentocell.subright .bentobody {
  color: #3d3060;
}

.sustain .bentocell.sub .bentoh4 .dot {
  background: #4A2AE9;
}

.sustain .bentocell.subright .bentoh4 .dot {
  background: #A41A79;
}

.sustain .policyblock {
  background: #f5f3ff;
  padding: 80px 0 60px;
  position: relative;
}

.sustain .policyblock::before {
  content: '';
  display: block;
  width: 100%;
  height: 40px;
  background: #fff;
  clip-path: ellipse(52% 100% at 50% 0%);
  position: absolute;
  top: 0;
  left: 0;
}

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

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

.sustain .policyh2 {
  font-size: 42px;
  line-height: 1.2;
  color: #1a0a5e;
  margin: 0 0 20px;
  text-align: center;
}

.sustain .policyh2 .dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #A41A79;
  margin-left: 8px;
  vertical-align: middle;
  position: relative;
  top: -4px;
}

.sustain .policylead {
  font-size: 15px;
  line-height: 1.8;
  color: #2d2060;
  margin: 0;
}

.sustain .policylead::first-letter {
  font-size: 42px;
  line-height: 1;
  float: left;
  margin-right: 6px;
  color: #4A2AE9;
  font-weight: 700;
}

.sustain .pillarlist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.sustain .pillarlist li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  padding: 20px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 1px 2px 4px -1px rgba(74, 42, 233, 0.06);
}

.sustain .pillarlist li::before {
  content: '';
  display: block;
  width: 3px;
  min-height: 48px;
  background: linear-gradient(180deg, #4A2AE9, #A41A79);
  border-radius: 6px;
  flex-shrink: 0;
  margin-top: 2px;
}

.sustain .pillaritem {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sustain .pillarname {
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
  color: #1a0a5e;
}

.sustain .pillardesc {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3060;
  margin: 0;
}

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

.sustain .policyimgwrap {
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1/1;
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
  position: relative;
}

.sustain .policyimgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.sustain .policyimgwrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(263deg, rgba(74, 42, 233, 0.12) 0%, transparent 50%);
  pointer-events: none;
  z-index: 1;
}

.sustain .iconchain {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 20px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 1px 2px 4px -1px rgba(74, 42, 233, 0.06);
}

.sustain .chainicon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: linear-gradient(263deg, #4A2AE9, #A41A79);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.sustain .chainicon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sustain .chaindash {
  flex: 1;
  height: 2px;
  border-top: 2px dashed rgba(74, 42, 233, 0.28);
}

.sustain .chainicon.accent2 {
  background: linear-gradient(263deg, #A41A79, #FDD786);
}

.sustain .chainicon.accent3 {
  background: linear-gradient(263deg, #FDD786, #4A2AE9);
}

.sustain .chainicon.accent3 svg {
  stroke: #1a0a5e;
}

.sustain .metricsrow {
  display: flex;
  flex-direction: row;
  gap: 20px;
  padding: 40px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
}

.sustain .metricitem {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  align-items: center;
  text-align: center;
}

.sustain .metricval {
  font-size: 42px;
  line-height: 1.2;
  font-weight: 700;
  background: linear-gradient(263deg, #4A2AE9, #A41A79);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.sustain .metriclabel {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3060;
}

.sustain .metricdivider {
  width: 1px;
  background: rgba(74, 42, 233, 0.14);
  align-self: stretch;
}

.sustain .testimcard {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 1px 2px 4px -1px rgba(74, 42, 233, 0.06);
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: flex-start;
}

.sustain .testimavatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 1px 2px 4px -1px rgba(164, 26, 121, 0.09);
}

.sustain .testimavatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.sustain .testimtext {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sustain .testimquote {
  font-size: 15px;
  line-height: 1.55;
  color: #2d2060;
  margin: 0;
}

.sustain .testimname {
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
  color: #1a0a5e;
}

.sustain .testimrole {
  font-size: 15px;
  line-height: 1.2;
  color: #A41A79;
}

@keyframes diagfade {
  from {
    opacity: 0;
    transform: translate(-12px, 12px);
  }

  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}

.sustain .bentocell {
  animation: diagfade 0.16s cubic-bezier(0.4, 0, 1, 1) both;
}

.sustain .bentocell.wide {
  animation-delay: 0s;
}

.sustain .bentocell.imgcell {
  animation-delay: 0.06s;
}

.sustain .bentocell.accent {
  animation-delay: 0.1s;
}

.sustain .bentocell.sub {
  animation-delay: 0.13s;
}

.sustain .bentocell.subright {
  animation-delay: 0.16s;
}

.sustain .pillarlist li {
  transition: box-shadow 0.12s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.sustain .pillarlist li:hover {
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.13);
  transform: translateX(4px);
}

@media (max-width: 1024px) {
  .sustain .bentorow {
    grid-template-columns: 1fr 1fr;
    padding: 40px 20px;
  }

  .sustain .bentocell.imgcell {
    grid-column: 1 / 3;
    grid-row: auto;
    min-height: 280px;
  }

  .sustain .bentocell.wide {
    grid-column: 1 / 2;
  }

  .sustain .bentocell.accent {
    grid-column: 2 / 3;
  }

  .sustain .bentocell.sub {
    grid-column: 1 / 2;
  }

  .sustain .bentocell.subright {
    grid-column: 2 / 3;
  }

  .sustain .policygrid {
    grid-template-columns: 1fr;
    padding: 0 20px;
  }

  .sustain .policyimgwrap {
    aspect-ratio: 16/9;
  }
}

@media (max-width: 640px) {
  .sustain .bentorow {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 40px 20px;
  }

  .sustain .bentocell.imgcell,
  .sustain .bentocell.wide,
  .sustain .bentocell.accent,
  .sustain .bentocell.sub,
  .sustain .bentocell.subright {
    grid-column: 1 / 2;
    grid-row: auto;
  }

  .sustain .bentoh1 {
    font-size: 42px;
  }

  .sustain .policyh2 {
    font-size: 30px;
  }

  .sustain .metricsrow {
    flex-direction: column;
  }

  .sustain .metricdivider {
    width: 100%;
    height: 1px;
    align-self: auto;
  }

  .sustain .iconchain {
    flex-wrap: wrap;
  }
}

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

.rt * {
  box-sizing: border-box;
}

.rt ::selection {
  background: #4A2AE9;
  color: #fff;
}

.rt .titband {
  background: linear-gradient(263deg, #4A2AE9 0%, #A41A79 55%, #2a1a6e 100%);
  position: relative;
  padding: 80px 40px 0 40px;
  overflow: hidden;
}

.rt .titband-mesh {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 80%, rgba(253, 215, 134, 0.18) 0%, transparent 45%),
    radial-gradient(circle at 80% 20%, rgba(74, 42, 233, 0.35) 0%, transparent 50%),
    radial-gradient(circle at 60% 70%, rgba(164, 26, 121, 0.25) 0%, transparent 40%);
  pointer-events: none;
}

.rt .titband-strip {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 80px;
}

.rt .titband-text {
  flex: 1 1 0;
  padding-bottom: 80px;
  position: relative;
  z-index: 1;
}

.rt .titband-eyebrow {
  font-size: 15px;
  color: #FDD786;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 20px;
  font-weight: 600;
}

.rt .titband-h1 {
  font-size: 72px;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 20px 0;
  font-weight: 800;
}

.rt .titband-h1 span {
  display: block;
  font-size: 58px;
  color: #FDD786;
}

.rt .titband-h1 strong {
  display: block;
  font-size: 42px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.75);
}

.rt .titband-desc {
  font-size: 22px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.88);
  max-width: 520px;
  margin: 0 0 40px 0;
}

.rt .titbtn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  background: #FDD786;
  color: #1e0f5c;
  font-size: 15px;
  font-weight: 700;
  padding: 20px 40px;
  border-radius: 6px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background-color 0.12s cubic-bezier(0.4, 0, 1, 1), transform 0.1s cubic-bezier(0.4, 0, 1, 1);
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
}

.rt .titbtn:hover {
  background: #fff;
}

.rt .titbtn:active {
  transform: scale(0.97);
}

.rt .titbtn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.rt .titband-imgwrap {
  flex: 0 0 420px;
  align-self: flex-end;
  position: relative;
  z-index: 1;
  height: 340px;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}

.rt .titband-imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.3) brightness(0.92) hue-rotate(0deg);
  display: block;
  animation: blurIn 0.16s cubic-bezier(0.4, 0, 1, 1) both;
}

@keyframes blurIn {
  from {
    filter: blur(8px) saturate(1.3) brightness(0.92);
  }

  to {
    filter: blur(0px) saturate(1.3) brightness(0.92);
  }
}

.rt .titband-wave {
  display: block;
  width: 100%;
  margin-top: -2px;
}

.rt .relship {
  background: #fff;
  padding: 80px 40px;
}

.rt .relship-inner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-start;
}

.rt .relship-left {
  flex: 0 0 320px;
  position: relative;
}

.rt .relship-imgwrap {
  width: 320px;
  height: 380px;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
  position: relative;
}

.rt .relship-imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.16s cubic-bezier(0.4, 0, 1, 1);
}

.rt .relship-imgwrap:hover img {
  transform: scale(1.04);
}

.rt .relship-shadow {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 320px;
  height: 380px;
  border-radius: 10px;
  background: transparent;
  border: 2px solid rgba(74, 42, 233, 0.18);
  z-index: -1;
}

.rt .relship-right {
  flex: 1 1 0;
}

.rt .relship-tag {
  font-size: 15px;
  color: #A41A79;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.rt .relship-h2 {
  font-size: 42px;
  line-height: 1.2;
  color: #1e0f5c;
  margin: 0 0 20px 0;
  font-weight: 800;
}

.rt .relship-h2 .dot {
  color: #4A2AE9;
}

.rt .relship-body {
  font-size: 15px;
  line-height: 1.8;
  color: #2d2450;
  margin: 0 0 20px 0;
}

.rt .relship-body:first-of-type::first-letter {
  font-size: 42px;
  font-weight: 800;
  color: #4A2AE9;
  float: left;
  line-height: 1;
  margin-right: 6px;
  margin-top: 4px;
}

.rt .relship-items {
  list-style: none;
  padding: 0;
  margin: 20px 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.rt .relship-items li {
  font-size: 15px;
  line-height: 1.55;
  color: #2d2450;
  padding-left: 20px;
  position: relative;
}

.rt .relship-items li::before {
  content: "-";
  position: absolute;
  left: 0;
  color: #4A2AE9;
  font-weight: 700;
}

.rt .divdots {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 0;
}

.rt .divdots span {
  width: 6px;
  height: 6px;
  border-radius: 44px;
  background: #4A2AE9;
  display: block;
  opacity: 0.3;
}

.rt .divdots span:nth-child(2) {
  opacity: 0.6;
  background: #A41A79;
}

.rt .divdots span:nth-child(3) {
  opacity: 0.3;
}

.rt .commit {
  background: linear-gradient(263deg, #f5f3ff 0%, #fdf0f9 100%);
  padding: 80px 40px;
}

.rt .commit-inner {
  max-width: 1500px;
  margin: 0 auto;
}

.rt .commit-head {
  text-align: center;
  margin-bottom: 40px;
}

.rt .commit-h2 {
  font-size: 42px;
  line-height: 1.2;
  color: #1e0f5c;
  margin: 0 0 12px 0;
  font-weight: 800;
}

.rt .commit-h2 .dot {
  color: #A41A79;
}

.rt .commit-sub {
  font-size: 22px;
  line-height: 1.55;
  color: #5a4a8a;
  max-width: 600px;
  margin: 0 auto;
}

.rt .commit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

.rt .commit-card {
  background: #fff;
  border-radius: 10px;
  padding: 40px;
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
  position: relative;
  overflow: hidden;
}

.rt .commit-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(263deg, #4A2AE9, #A41A79);
  border-radius: 10px 10px 0 0;
}

.rt .commit-num {
  font-size: 58px;
  font-weight: 800;
  line-height: 1.2;
  background: linear-gradient(263deg, #4A2AE9, #A41A79);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 12px;
}

.rt .commit-cardh {
  font-size: 22px;
  line-height: 1.2;
  color: #1e0f5c;
  font-weight: 700;
  margin: 0 0 12px 0;
}

.rt .commit-cardp {
  font-size: 15px;
  line-height: 1.8;
  color: #4a3a7a;
  margin: 0;
}

.rt .differ {
  background: #1e0f5c;
  padding: 80px 40px;
  position: relative;
  overflow: hidden;
}

.rt .differ-dec {
  position: absolute;
  top: -80px;
  right: -80px;
  width: 400px;
  height: 400px;
  border-radius: 44px;
  background: rgba(74, 42, 233, 0.25);
  transform: rotate(25deg);
  pointer-events: none;
}

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

.rt .differ-text {
  flex: 1 1 0;
}

.rt .differ-tag {
  font-size: 15px;
  color: #FDD786;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.rt .differ-h2 {
  font-size: 42px;
  line-height: 1.2;
  color: #fff;
  font-weight: 800;
  margin: 0 0 20px 0;
}

.rt .differ-h2 .dot {
  color: #FDD786;
}

.rt .differ-p {
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.8);
  margin: 0 0 20px 0;
}

.rt .differ-p:first-of-type::first-letter {
  font-size: 42px;
  font-weight: 800;
  color: #FDD786;
  float: left;
  line-height: 1;
  margin-right: 6px;
  margin-top: 4px;
}

.rt .differ-compare {
  flex: 0 0 440px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rt .differ-row {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: flex-start;
}

.rt .differ-rowico {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rt .differ-rowico.yes {
  background: rgba(253, 215, 134, 0.15);
}

.rt .differ-rowico.no {
  background: rgba(255, 255, 255, 0.06);
}

.rt .differ-rowico svg {
  width: 20px;
  height: 20px;
}

.rt .differ-rowtext {
  flex: 1 1 0;
}

.rt .differ-rowh {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 6px 0;
}

.rt .differ-rowp {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.65);
  margin: 0;
}

.rt .appr {
  background: #fff;
  padding: 80px 40px;
}

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

.rt .appr-top {
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-start;
  margin-bottom: 40px;
}

.rt .appr-topleft {
  flex: 1 1 0;
}

.rt .appr-topright {
  flex: 0 0 480px;
}

.rt .appr-h2 {
  font-size: 42px;
  line-height: 1.2;
  color: #1e0f5c;
  font-weight: 800;
  margin: 0 0 12px 0;
}

.rt .appr-h2 .dot {
  color: #4A2AE9;
}

.rt .appr-lead {
  font-size: 22px;
  line-height: 1.55;
  color: #5a4a8a;
  margin: 0;
}

.rt .appr-p {
  font-size: 15px;
  line-height: 1.8;
  color: #2d2450;
  margin: 0 0 20px 0;
}

.rt .appr-p:first-of-type::first-letter {
  font-size: 42px;
  font-weight: 800;
  color: #A41A79;
  float: left;
  line-height: 1;
  margin-right: 6px;
  margin-top: 4px;
}

.rt .appr-imgrow {
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: stretch;
}

.rt .appr-imgbig {
  flex: 0 0 480px;
  height: 320px;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
}

.rt .appr-imgbig img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.14s cubic-bezier(0.4, 0, 1, 1);
}

.rt .appr-imgbig:hover img {
  transform: scale(1.04);
}

.rt .appr-steps {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rt .appr-step {
  background: linear-gradient(263deg, #f5f3ff 0%, #fdf0f9 100%);
  border-radius: 10px;
  padding: 20px;
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: flex-start;
}

.rt .appr-stepnum {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: linear-gradient(263deg, #4A2AE9, #A41A79);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rt .appr-steph {
  font-size: 15px;
  font-weight: 700;
  color: #1e0f5c;
  margin: 0 0 6px 0;
}

.rt .appr-stepp {
  font-size: 15px;
  line-height: 1.55;
  color: #4a3a7a;
  margin: 0;
}

.rt .forwhom {
  background: linear-gradient(263deg, #f5f3ff 0%, #fdf0f9 100%);
  padding: 80px 40px;
}

.rt .forwhom-inner {
  max-width: 1500px;
  margin: 0 auto;
}

.rt .forwhom-head {
  text-align: center;
  margin-bottom: 40px;
}

.rt .forwhom-h2 {
  font-size: 42px;
  line-height: 1.2;
  color: #1e0f5c;
  font-weight: 800;
  margin: 0 0 12px 0;
}

.rt .forwhom-h2 .dot {
  color: #A41A79;
}

.rt .forwhom-sub {
  font-size: 22px;
  line-height: 1.55;
  color: #5a4a8a;
  max-width: 560px;
  margin: 0 auto;
}

.rt .forwhom-layout {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start;
}

.rt .forwhom-profiles {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rt .forwhom-card {
  background: #fff;
  border-radius: 10px;
  padding: 40px;
  box-shadow: 1px 5px 18px -1px rgba(164, 26, 121, 0.09);
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: flex-start;
}

.rt .forwhom-portrait {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  overflow: hidden;
}

.rt .forwhom-portrait img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  object-position: center;
  display: block;
}

.rt .forwhom-cardname {
  font-size: 15px;
  font-weight: 700;
  color: #1e0f5c;
  margin: 0 0 6px 0;
}

.rt .forwhom-cardrole {
  font-size: 15px;
  color: #A41A79;
  font-weight: 600;
  margin: 0 0 12px 0;
}

.rt .forwhom-cardtext {
  font-size: 15px;
  line-height: 1.8;
  color: #4a3a7a;
  margin: 0;
}

.rt .forwhom-aside {
  flex: 0 0 420px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rt .forwhom-imgwrap {
  width: 100%;
  height: 260px;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
}

.rt .forwhom-imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.rt .forwhom-imgwrap:hover img {
  transform: scale(1.04);
}

.rt .forwhom-note {
  background: #1e0f5c;
  border-radius: 10px;
  padding: 40px;
}

.rt .forwhom-noteh {
  font-size: 22px;
  font-weight: 800;
  color: #FDD786;
  margin: 0 0 12px 0;
}

.rt .forwhom-notep {
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.8);
  margin: 0 0 20px 0;
}

.rt .forwhom-notelink {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  color: #FDD786;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.rt .forwhom-notelink:hover {
  opacity: 0.75;
}

.rt .forwhom-notelink svg {
  width: 16px;
  height: 16px;
}

@media (max-width: 1100px) {
  .rt .titband-imgwrap {
    flex: 0 0 300px;
  }

  .rt .differ-compare {
    flex: 0 0 360px;
  }

  .rt .appr-imgbig {
    flex: 0 0 360px;
  }

  .rt .forwhom-aside {
    flex: 0 0 340px;
  }
}

@media (max-width: 900px) {
  .rt .titband-strip {
    flex-direction: column;
    gap: 40px;
  }

  .rt .titband-imgwrap {
    flex: none;
    width: 100%;
    height: 240px;
    border-radius: 10px 10px 0 0;
  }

  .rt .titband-h1 {
    font-size: 42px;
  }

  .rt .titband-h1 span {
    font-size: 42px;
  }

  .rt .titband-h1 strong {
    font-size: 30px;
  }

  .rt .relship-inner {
    flex-direction: column;
    gap: 40px;
  }

  .rt .relship-left {
    flex: none;
    width: 100%;
  }

  .rt .relship-imgwrap {
    width: 100%;
    height: 260px;
  }

  .rt .relship-shadow {
    width: 100%;
  }

  .rt .commit-grid {
    grid-template-columns: 1fr;
  }

  .rt .differ-inner {
    flex-direction: column;
    gap: 40px;
  }

  .rt .differ-compare {
    flex: none;
    width: 100%;
  }

  .rt .appr-top {
    flex-direction: column;
    gap: 20px;
  }

  .rt .appr-topright {
    flex: none;
    width: 100%;
  }

  .rt .appr-imgrow {
    flex-direction: column;
  }

  .rt .appr-imgbig {
    flex: none;
    width: 100%;
    height: 220px;
  }

  .rt .forwhom-layout {
    flex-direction: column;
  }

  .rt .forwhom-aside {
    flex: none;
    width: 100%;
  }

  .rt .forwhom-imgwrap {
    height: 200px;
  }

  .rt .commit-h2,
  .rt .differ-h2,
  .rt .appr-h2,
  .rt .relship-h2,
  .rt .forwhom-h2 {
    font-size: 30px;
  }
}

@media (max-width: 600px) {

  .rt .titband,
  .rt .relship,
  .rt .commit,
  .rt .differ,
  .rt .appr,
  .rt .forwhom {
    padding: 40px 20px;
  }

  .rt .titband-h1 {
    font-size: 30px;
  }

  .rt .titband-h1 span {
    font-size: 30px;
  }

  .rt .titband-h1 strong {
    font-size: 22px;
  }

  .rt .titband-desc {
    font-size: 15px;
  }

  .rt .forwhom-card {
    flex-direction: column;
  }

  .rt .commit-card {
    padding: 20px;
  }
}

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

.srvc .titleframe {
  max-width: 1500px;
  margin: 0 auto;
  padding: 80px 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  position: relative;
}

.srvc .imgzone {
  position: relative;
  padding: 40px 20px 20px 40px;
}

.srvc .imgzone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 75%;
  height: 75%;
  border-top: 2px solid #4A2AE9;
  border-left: 2px solid #4A2AE9;
  border-radius: 10px 0 0 0;
  pointer-events: none;
}

.srvc .imgzone::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 60%;
  height: 60%;
  border-bottom: 2px solid #A41A79;
  border-right: 2px solid #A41A79;
  border-radius: 0 0 10px 0;
  pointer-events: none;
}

.srvc .imgwrap {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 6px;
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
  position: relative;
}

.srvc .imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  mix-blend-mode: multiply;
  opacity: 0.88;
  filter: saturate(0.85);
  animation: blurtosharp 0.16s cubic-bezier(0.4, 0, 1, 1) both;
}

@keyframes blurtosharp {
  from {
    filter: blur(8px) saturate(0.85);
    opacity: 0;
  }

  to {
    filter: blur(0) saturate(0.85);
    opacity: 0.88;
  }
}

.srvc .imgwrap .texblend {
  position: absolute;
  inset: 0;
  background: linear-gradient(263deg, rgba(74, 42, 233, 0.18) 0%, rgba(164, 26, 121, 0.08) 100%);
  border-radius: 6px;
}

.srvc .textzone {
  padding: 40px 20px 20px 20px;
  position: relative;
}

.srvc .textzone .quotemark {
  position: absolute;
  top: 0;
  left: -12px;
  font-size: 180px;
  line-height: 1.2;
  color: #4A2AE9;
  opacity: 0.06;
  pointer-events: none;
  user-select: none;
  font-style: normal;
}

.srvc .textzone h1 {
  font-size: 58px;
  line-height: 1.2;
  color: #1b1240;
  margin: 0 0 40px 0;
  position: relative;
  z-index: 1;
}

.srvc .textzone h1 span {
  background: linear-gradient(263deg, #4A2AE9 0%, #A41A79 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.srvc .textzone h1 .dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #FDD786;
  border-radius: 44px;
  margin-left: 6px;
  vertical-align: middle;
  -webkit-text-fill-color: initial;
}

.srvc .actnlink {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(263deg, #4A2AE9 0%, #A41A79 100%);
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  padding: 20px 40px;
  border-radius: 6px;
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
  transition: box-shadow 0.14s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
  position: relative;
  z-index: 1;
}

.srvc .actnlink:hover {
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.22);
  transform: translateY(-1px);
}

.srvc .actnlink:active {
  transform: scale(0.97);
}

.srvc .actnlink svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.srvc .srvlist {
  background: #f3f1fd;
  position: relative;
  overflow: hidden;
}

.srvc .srvlist .tripattern {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.045;
}

.srvc .srvlist .tripattern svg {
  width: 100%;
  height: 100%;
}

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

.srvc .srvlisttop {
  text-align: center;
  margin-bottom: 80px;
}

.srvc .srvlisttop h2 {
  font-size: 42px;
  line-height: 1.2;
  color: #1b1240;
  margin: 0 0 20px 0;
}

.srvc .srvlisttop h2 .dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #A41A79;
  border-radius: 44px;
  margin-left: 6px;
  vertical-align: middle;
}

.srvc .srvlisttop p {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3560;
  max-width: 600px;
  margin: 0 auto;
}

.srvc .srvgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 80px;
}

.srvc .srvcard {
  background: #fff;
  border-radius: 10px;
  padding: 40px;
  box-shadow: 1px 2px 4px -1px rgba(74, 42, 233, 0.06);
  transition: box-shadow 0.16s cubic-bezier(0.4, 0, 1, 1), transform 0.14s cubic-bezier(0.4, 0, 1, 1);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.srvc .srvcard:hover {
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.14);
  transform: translateY(-3px);
}

.srvc .srvcard:hover .cardhead {
  text-shadow: 0 4px 18px rgba(74, 42, 233, 0.22);
  color: #4A2AE9;
}

.srvc .cardicon {
  width: 52px;
  height: 52px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.srvc .cardicon svg {
  width: 26px;
  height: 26px;
}

.srvc .cardhead {
  font-size: 22px;
  line-height: 1.2;
  color: #1b1240;
  margin: 0;
  transition: color 0.14s cubic-bezier(0.4, 0, 1, 1), text-shadow 0.16s cubic-bezier(0.4, 0, 1, 1);
}

.srvc .cardbody {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3560;
  margin: 0;
}

.srvc .cardbody::first-letter {
  font-size: 30px;
  font-weight: 700;
  color: #4A2AE9;
  float: left;
  line-height: 1;
  margin-right: 6px;
  margin-top: 4px;
}

.srvc .cardtags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: auto;
}

.srvc .cardtag {
  font-size: 15px;
  color: #4A2AE9;
  background: #f0eeff;
  border-radius: 28px;
  padding: 6px 12px;
  font-weight: 500;
}

.srvc .divline {
  border: none;
  border-top: 1px solid rgba(74, 42, 233, 0.12);
  margin: 0 0 80px 0;
}

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

.srvc .twocolaim .colsep {
  display: flex;
  justify-content: center;
  padding-top: 12px;
}

.srvc .twocolaim .colsep::after {
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  min-height: 200px;
  background: linear-gradient(180deg, rgba(74, 42, 233, 0) 0%, rgba(74, 42, 233, 0.3) 30%, rgba(164, 26, 121, 0.3) 70%, rgba(164, 26, 121, 0) 100%);
}

.srvc .colA {
  padding-right: 40px;
}

.srvc .colB {
  padding-left: 40px;
}

.srvc .colA h3,
.srvc .colB h3 {
  font-size: 30px;
  line-height: 1.2;
  color: #1b1240;
  margin: 0 0 20px 0;
}

.srvc .colA h3 .dot,
.srvc .colB h3 .dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #FDD786;
  border-radius: 44px;
  margin-left: 6px;
  vertical-align: middle;
}

.srvc .colA p,
.srvc .colB p {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3560;
  margin: 0 0 20px 0;
}

.srvc .colA p:last-child,
.srvc .colB p:last-child {
  margin-bottom: 0;
}

.srvc .metricrow {
  display: flex;
  flex-direction: row;
  gap: 40px;
  margin-top: 40px;
}

.srvc .metric {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.srvc .metricval {
  font-size: 42px;
  line-height: 1.2;
  font-weight: 700;
  background: linear-gradient(263deg, #4A2AE9 0%, #A41A79 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.srvc .metriclbl {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3560;
}

.srvc .portraitrow {
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin-top: 40px;
}

.srvc .expertcard {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  background: #f3f1fd;
  border-radius: 10px;
  padding: 12px;
  flex: 1;
}

.srvc .expertimg {
  width: 52px;
  height: 65px;
  overflow: hidden;
  flex-shrink: 0;
  border-radius: 6px;
}

.srvc .expertimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.srvc .expertinfo {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.srvc .expertname {
  font-size: 15px;
  font-weight: 700;
  color: #1b1240;
  margin: 0;
}

.srvc .expertrole {
  font-size: 15px;
  color: #3d3560;
  margin: 0;
}

.srvc .dashlist {
  list-style: none;
  padding: 0;
  margin: 20px 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.srvc .dashlist li {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3560;
  padding-left: 20px;
  position: relative;
}

.srvc .dashlist li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 1.5px;
  background: #4A2AE9;
}

.srvc .imgfeatwrap {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 10px;
  margin-top: 20px;
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
}

.srvc .imgfeatwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.15;
}

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

  .srvc .srvgrid {
    grid-template-columns: repeat(2, 1fr);
  }

  .srvc .twocolaim {
    grid-template-columns: 1fr;
  }

  .srvc .twocolaim .colsep {
    display: none;
  }

  .srvc .colA {
    padding-right: 0;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(74, 42, 233, 0.12);
    margin-bottom: 40px;
  }

  .srvc .colB {
    padding-left: 0;
  }
}

@media (max-width: 680px) {
  .srvc .titleframe {
    padding: 40px 20px;
  }

  .srvc .textzone h1 {
    font-size: 42px;
  }

  .srvc .srvgrid {
    grid-template-columns: 1fr;
  }

  .srvc .srvlistinner {
    padding: 40px 20px;
  }

  .srvc .metricrow {
    flex-direction: column;
    gap: 20px;
  }

  .srvc .portraitrow {
    flex-direction: column;
  }

  .srvc .srvlisttop {
    margin-bottom: 40px;
  }

  .srvc .divline {
    margin-bottom: 40px;
  }
}

.abtu {
  display: block;
  overflow-x: clip;
}

.abtu .titblk {
  background: #fff;
  padding: 80px 20px;
}

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

.abtu .tittext {
  position: relative;
  padding: 40px;
}

.abtu .tittext::before,
.abtu .tittext::after {
  content: "";
  position: absolute;
  width: 28px;
  height: 28px;
  border-color: #4A2AE9;
  border-style: solid;
}

.abtu .tittext::before {
  top: 0;
  left: 0;
  border-width: 2px 0 0 2px;
}

.abtu .tittext::after {
  bottom: 0;
  right: 0;
  border-width: 0 2px 2px 0;
}

.abtu .titlabel {
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  color: #A41A79;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.abtu .tith1 {
  font-size: 58px;
  line-height: 1.2;
  font-weight: 800;
  color: #1b1340;
  margin: 0 0 20px 0;
}

.abtu .tith1 span {
  background: linear-gradient(263deg, #1b1340, #4A2AE9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.abtu .titdesc {
  font-size: 22px;
  line-height: 1.55;
  color: #2d2d4e;
  margin: 0 0 40px 0;
}

.abtu .titcta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #4A2AE9;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 20px 40px;
  border-radius: 10px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
  transition: background 0.12s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.abtu .titcta:hover {
  background: #3a1fd4;
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
}

.abtu .titcta:active {
  transform: scale(0.97);
}

.abtu .titcta svg {
  flex-shrink: 0;
}

.abtu .imgframe {
  position: relative;
}

.abtu .imgshape {
  width: 100%;
  aspect-ratio: 4/5;
  overflow: hidden;
  border-radius: 44px 10px 44px 10px;
  position: relative;
}

.abtu .imgshape::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(74, 42, 233, 0.18);
  pointer-events: none;
}

.abtu .imgshape img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  opacity: 0.92;
}

.abtu .imgcorner {
  position: absolute;
  width: 44px;
  height: 44px;
  border-color: #FDD786;
  border-style: solid;
}

.abtu .imgcorner.tl {
  top: -12px;
  left: -12px;
  border-width: 3px 0 0 3px;
  border-radius: 6px 0 0 0;
}

.abtu .imgcorner.br {
  bottom: -12px;
  right: -12px;
  border-width: 0 3px 3px 0;
  border-radius: 0 0 6px 0;
}

.abtu .storyblk {
  background: linear-gradient(180deg, #f4f2ff 0%, #ede9ff 100%);
  padding: 80px 20px;
}

.abtu .storyinner {
  max-width: 1500px;
  margin: 0 auto;
}

.abtu .storyhead {
  text-align: center;
  margin-bottom: 80px;
}

.abtu .storyh2 {
  font-size: 42px;
  line-height: 1.2;
  font-weight: 800;
  color: #1b1340;
  margin: 0 0 20px 0;
}

.abtu .storyh2 .dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #A41A79;
  border-radius: 50%;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -4px;
}

.abtu .storysub {
  font-size: 22px;
  line-height: 1.55;
  color: #3d3660;
  max-width: 640px;
  margin: 0 auto;
}

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

.abtu .storyimgwrap {
  position: relative;
}

.abtu .storyimg {
  width: 100%;
  aspect-ratio: 3/4;
  overflow: hidden;
  border-radius: 28px;
}

.abtu .storyimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  opacity: 0.88;
}

.abtu .statcard {
  position: absolute;
  bottom: 40px;
  left: -40px;
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
  min-width: 180px;
}

.abtu .statnum {
  font-size: 42px;
  font-weight: 900;
  color: #4A2AE9;
  line-height: 1.2;
  display: block;
}

.abtu .statlbl {
  font-size: 15px;
  color: #3d3660;
  line-height: 1.55;
}

.abtu .storytext {
  display: flex;
  flex-direction: column;
  gap: 40px;
  justify-content: center;
}

.abtu .storytext p {
  font-size: 15px;
  line-height: 1.8;
  color: #2d2d4e;
  margin: 0;
}

.abtu .storytext p:first-of-type::first-letter {
  font-size: 42px;
  font-weight: 900;
  color: #4A2AE9;
  float: left;
  line-height: 1;
  margin-right: 6px;
  margin-top: 4px;
}

.abtu .pillarsblk {
  background: #fff;
  padding: 80px 20px;
}

.abtu .pillarsinner {
  max-width: 1500px;
  margin: 0 auto;
}

.abtu .pillarsh2 {
  font-size: 42px;
  line-height: 1.2;
  font-weight: 800;
  color: #1b1340;
  margin: 0 0 12px 0;
  text-align: center;
}

.abtu .pillarsh2 .dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #4A2AE9;
  border-radius: 50%;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -4px;
}

.abtu .pillarsub {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3660;
  text-align: center;
  margin: 0 auto 80px auto;
  max-width: 560px;
}

.abtu .pillarsplit {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
}

.abtu .pillarimgside {
  position: relative;
}

.abtu .pillarimgside img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  opacity: 0.85;
}

.abtu .pillarimgside::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(263deg, rgba(27, 19, 64, 0.55), rgba(74, 42, 233, 0.22));
  pointer-events: none;
}

.abtu .pillarlistside {
  background: linear-gradient(180deg, #1b1340 0%, #2a1a7a 100%);
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.abtu .pillaritem {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 20px;
  border-radius: 10px;
  border: 1.5px solid rgba(253, 215, 134, 0.15);
  background: rgba(255, 255, 255, 0.04);
  transition: border-color 0.15s cubic-bezier(0.4, 0, 1, 1), background 0.12s cubic-bezier(0.4, 0, 1, 1);
  animation: borderglow 3s sine-ease-in-out infinite;
}

.abtu .pillaritem:nth-child(2) {
  animation-delay: 1s;
}

.abtu .pillaritem:nth-child(3) {
  animation-delay: 2s;
}

.abtu .pillaritem:hover {
  border-color: rgba(253, 215, 134, 0.5);
  background: rgba(255, 255, 255, 0.08);
}

@keyframes borderglow {

  0%,
  100% {
    box-shadow: 0 0 0px 0px rgba(253, 215, 134, 0);
  }

  50% {
    box-shadow: 0 0 10px 1px rgba(253, 215, 134, 0.18);
  }
}

.abtu .pillarcheck {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: #FDD786;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}

.abtu .pillarcheck svg {
  display: block;
}

.abtu .pillaritemtext {
  flex: 1;
}

.abtu .pillaritemh {
  font-size: 15px;
  font-weight: 700;
  color: #FDD786;
  margin: 0 0 6px 0;
}

.abtu .pillaritemdesc {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
}

.abtu .teamblk {
  background: linear-gradient(180deg, #fff5fb 0%, #fceef7 100%);
  padding: 80px 20px;
}

.abtu .teaminner {
  max-width: 1500px;
  margin: 0 auto;
}

.abtu .teamh2 {
  font-size: 42px;
  line-height: 1.2;
  font-weight: 800;
  color: #1b1340;
  margin: 0 0 12px 0;
  text-align: center;
}

.abtu .teamh2 .dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #A41A79;
  border-radius: 50%;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -4px;
}

.abtu .teamsub {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3660;
  text-align: center;
  margin: 0 auto 80px auto;
  max-width: 540px;
}

.abtu .teamgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.abtu .teamcard {
  background: #fff;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 1px 5px 18px -1px rgba(164, 26, 121, 0.09);
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.abtu .teamcard:hover {
  box-shadow: 1px 9px 44px -1px rgba(164, 26, 121, 0.11);
}

.abtu .teamcardtop {
  background: linear-gradient(263deg, #1b1340, #4A2AE9);
  padding: 40px;
  display: flex;
  align-items: center;
  gap: 20px;
}

.abtu .portrait {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 3px solid #FDD786;
  box-shadow: 1px 2px 4px -1px rgba(74, 42, 233, 0.06);
}

.abtu .portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.abtu .teamname {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  margin: 0 0 6px 0;
}

.abtu .teamrole {
  font-size: 15px;
  color: #FDD786;
  margin: 0;
}

.abtu .teamcardbody {
  padding: 40px;
  flex: 1;
}

.abtu .teamcardbody p {
  font-size: 15px;
  line-height: 1.8;
  color: #2d2d4e;
  margin: 0;
}

.abtu .blurload {
  animation: emergeblur 0.7s cubic-bezier(0.4, 0, 1, 1) both;
}

@keyframes emergeblur {
  from {
    filter: blur(8px);
    opacity: 0;
  }

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

.abtu .blurload2 {
  animation: emergeblur 0.7s 0.18s cubic-bezier(0.4, 0, 1, 1) both;
}

@media (max-width: 900px) {

  .abtu .titblk-inner,
  .abtu .storygrid,
  .abtu .pillarsplit,
  .abtu .teamgrid {
    grid-template-columns: 1fr;
  }

  .abtu .tith1 {
    font-size: 42px;
  }

  .abtu .storyh2,
  .abtu .pillarsh2,
  .abtu .teamh2 {
    font-size: 30px;
  }

  .abtu .statcard {
    left: 0;
    bottom: -20px;
  }

  .abtu .storyimgwrap {
    margin-bottom: 40px;
  }

  .abtu .pillarimgside {
    min-height: 260px;
  }

  .abtu .tittext {
    padding: 20px;
  }
}

@media (max-width: 600px) {

  .abtu .titblk,
  .abtu .storyblk,
  .abtu .pillarsblk,
  .abtu .teamblk {
    padding: 40px 20px;
  }

  .abtu .tith1 {
    font-size: 30px;
  }

  .abtu .titdesc {
    font-size: 15px;
  }
}

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

.successPage .successWrap {
  max-width: 560px;
  width: 100%;
  text-align: center;
  padding: 80px 40px;
  border-radius: 28px;
  background: #fff;
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
}

.successPage .iconRing {
  width: 80px;
  height: 80px;
  border-radius: 44px;
  background: linear-gradient(263deg, #4A2AE9, #A41A79);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 40px;
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
}

.successPage .iconRing svg {
  width: 36px;
  height: 36px;
  display: block;
}

.successPage .successTitle {
  font-size: 42px;
  line-height: 1.2;
  color: #1b1040;
  margin: 0 0 20px;
}

.successPage .successTitle span {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 44px;
  background: #A41A79;
  margin-left: 4px;
  vertical-align: middle;
  position: relative;
  top: -6px;
}

.successPage .successMsg {
  font-size: 15px;
  line-height: 1.8;
  color: #3a3260;
  margin: 0 0 40px;
}

.successPage .successNote {
  font-size: 15px;
  line-height: 1.55;
  color: #7a6fa8;
  background: #f4f1ff;
  border-radius: 10px;
  padding: 20px;
  margin: 0 0 40px;
  text-align: left;
}

.successPage .successNote strong {
  color: #4A2AE9;
}

.successPage .backBtn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(263deg, #4A2AE9, #A41A79);
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.2;
  padding: 20px 40px;
  border-radius: 10px;
  box-shadow: 1px 5px 18px -1px rgba(74, 42, 233, 0.09);
  transition: box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.successPage .backBtn:hover {
  box-shadow: 1px 9px 44px -1px rgba(74, 42, 233, 0.11);
}

.successPage .backBtn:active {
  transform: scale(0.97);
}

.successPage .backBtn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.successPage .contactLine {
  margin-top: 40px;
  font-size: 15px;
  line-height: 1.55;
  color: #7a6fa8;
}

.successPage .contactLine a {
  color: #4A2AE9;
  text-decoration: none;
  border-bottom: 1px solid rgba(74, 42, 233, 0.3);
  transition: border-color 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.successPage .contactLine a:hover {
  border-color: #4A2AE9;
}