@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@400;700&display=swap');

html {
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: inherit;
}
body {
  margin: 0;
}

.sitehead {
  position: relative;
  background: #ffffff;
  border-bottom: 1.5px solid #D2C4DB;
  box-shadow: -1px 6px 22px 0 rgba(114, 102, 186, 0.09);
  font-family: 'DM Sans', sans-serif;
  z-index: 100;
}

.sitehead-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 28px 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 56px;
}

.brandbox {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

.logopill {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 60px;
  border-radius: 38px;
  background: #F2EEF6;
  border: 1.5px solid #D2C4DB;
  box-shadow: -1px 3px 4px 0 rgba(114, 102, 186, 0.06), 0 0 0 3px rgba(114, 102, 186, 0.08);
  overflow: hidden;
}

.logopill img {
  width: 55px;
  height: 55px;
  object-fit: contain;
  object-position: center;
  display: block;
}

.brandname {
  font-family: 'DM Sans', sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
  color: #2a1f4e;
  letter-spacing: 0;
}

.branddesc {
  font-family: 'Inconsolata', monospace;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: #7266BA;
  white-space: nowrap;
}

.primarynav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.primarynav a {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: #2a1f4e;
  text-decoration: none;
  padding: 6px 14px;
  border-radius: 22px;
  border: 1.5px solid transparent;
  transition: background-color 0.25s ease-in-out, border-color 0.35s cubic-bezier(0.4,0,0.2,1), color 0.25s ease-in-out;
  white-space: nowrap;
}

.primarynav a:hover {
  background: #F2EEF6;
  border-color: #D2C4DB;
  color: #7266BA;
}

.primarynav a:focus {
  outline: 2px solid #7266BA;
  outline-offset: 2px;
  text-decoration: underline;
}

.primarynav a.navactive {
  background: linear-gradient(135deg, #7266BA 0%, #9b8fd4 100%);
  color: #ffffff;
  border-color: #7266BA;
  font-weight: 700;
}

.primarynav a.navactive:hover {
  background: linear-gradient(200deg, #7266BA 0%, #9b8fd4 100%);
  color: #ffffff;
}

.sitefooter {
  background: #2a1f4e;
  font-family: 'DM Sans', sans-serif;
  position: relative;
}

.sitefooter-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 56px 56px 28px;
}

.footergrid {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 56px;
  flex-wrap: wrap;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(210, 196, 219, 0.2);
}

.footerbrand {
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex-shrink: 0;
}

.footerlogopill {
  display: flex;
  align-items: center;
  gap: 14px;
}

.footerlogoring {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 38px;
  background: #F2EEF6;
  border: 1.5px solid rgba(210, 196, 219, 0.5);
  box-shadow: -1px 3px 4px 0 rgba(114, 102, 186, 0.06), 0 0 0 3px rgba(114, 102, 186, 0.12);
  overflow: hidden;
  flex-shrink: 0;
}

.footerlogoring img {
  width: 50px;
  height: 50px;
  object-fit: contain;
  object-position: center;
  display: block;
}

.footerbrandname {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
  color: #ffffff;
}

.footertagline {
  font-family: 'Inconsolata', monospace;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: #D2C4DB;
}

.footercontact {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.footercontactlabel {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.1;
  color: #D2C4DB;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.footercontactitem {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.25s ease-in-out;
  display: flex;
  align-items: center;
  gap: 6px;
}

.footercontactitem:hover {
  color: #D2C4DB;
}

.footercontactitem:focus {
  outline: 2px solid #7266BA;
  outline-offset: 2px;
  text-decoration: underline;
}

.footeraddr {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: rgba(255,255,255,0.7);
}

.footerlinks {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.footerlinkslabel {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.1;
  color: #D2C4DB;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.footerlinks a {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: rgba(255,255,255,0.75);
  text-decoration: none;
  transition: color 0.35s cubic-bezier(0.4,0,0.2,1);
}

.footerlinks a:hover {
  color: #ffffff;
}

.footerlinks a:focus {
  outline: 2px solid #7266BA;
  outline-offset: 2px;
  text-decoration: underline;
}

.footerbottom {
  padding-top: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}

.footercopyright {
  font-family: 'Inconsolata', monospace;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: rgba(255,255,255,0.45);
}

.footericon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.cookiebar {
  position: fixed;
  top: 28px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 360px;
  background: #ffffff;
  border: 1.5px solid #D2C4DB;
  border-radius: 22px;
  box-shadow: -1px 12px 36px 0 rgba(114, 102, 186, 0.14);
  z-index: 8000;
  font-family: 'DM Sans', sans-serif;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.cookiebar[hidden] {
  display: none;
}

.cookiedesc {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: #2a1f4e;
}

.cookietoggles {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.cookietoggles[hidden] {
  display: none;
}

.cookietogglerow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.cookietogglelabel {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: #2a1f4e;
}

.cookietoggleinput {
  width: 40px;
  height: 22px;
  cursor: pointer;
  accent-color: #7266BA;
}

.cookietoggleinput:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.cookiebtns {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.cookiebtn {
  flex: 1;
  min-width: 100px;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
  padding: 6px 14px;
  border-radius: 10px;
  border: 1.5px solid #7266BA;
  cursor: pointer;
  transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out, border-color 0.35s cubic-bezier(0.4,0,0.2,1);
  min-height: 44px;
}

.cookiebtn:focus {
  outline: 2px solid #7266BA;
  outline-offset: 2px;
}

.cookiebtnaccept {
  background: linear-gradient(135deg, #7266BA 0%, #9b8fd4 100%);
  color: #ffffff;
}

.cookiebtnaccept:hover {
  background: linear-gradient(200deg, #7266BA 0%, #9b8fd4 100%);
  color: #ffffff;
  filter: brightness(0.92);
}

.cookiebtndeny {
  background: #ffffff;
  color: #7266BA;
}

.cookiebtndeny:hover {
  background: #F2EEF6;
  color: #2a1f4e;
  border-color: #2a1f4e;
}

.cookiesettingslink {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: #7266BA;
  text-decoration: underline;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  font-family: 'DM Sans', sans-serif;
  text-align: center;
  transition: color 0.25s ease-in-out;
}

.cookiesettingslink:hover {
  color: #2a1f4e;
}

.cookiesettingslink:focus {
  outline: 2px solid #7266BA;
  outline-offset: 2px;
}

.cookieprefsbutton {
  position: fixed;
  bottom: 28px;
  left: 28px;
  width: 44px;
  height: 44px;
  border-radius: 22px;
  background: linear-gradient(135deg, #7266BA 0%, #9b8fd4 100%);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 7900;
  box-shadow: -1px 6px 22px 0 rgba(114, 102, 186, 0.14);
  transition: background 0.35s cubic-bezier(0.4,0,0.2,1);
}

.cookieprefsbutton[hidden] {
  display: none;
}

.cookieprefsbutton:hover {
  background: linear-gradient(200deg, #7266BA 0%, #9b8fd4 100%);
  filter: brightness(0.9);
}

.cookieprefsbutton:focus {
  outline: 2px solid #7266BA;
  outline-offset: 2px;
}

.cookieprefsbuttonsvg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: #ffffff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

@media (max-width: 768px) {
  .sitehead-inner {
    padding: 28px 28px;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .primarynav {
    justify-content: flex-start;
  }
  .sitefooter-inner {
    padding: 56px 28px 28px;
  }
  .footergrid {
    flex-direction: column;
    gap: 28px;
  }
  .cookiebar {
    width: calc(100vw - 56px);
    max-width: 360px;
  }
}

@media (max-width: 375px) {
  .sitehead-inner {
    padding: 14px 14px;
  }
  .sitefooter-inner {
    padding: 28px 14px 14px;
  }
  .footerbottom {
    flex-direction: column;
    align-items: flex-start;
  }
  .cookiebar {
    width: calc(100vw - 28px);
    top: 14px;
  }
}.terms-inner {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: 1600px;
    padding: 56px 28px;
}

.terms-inner h1 {
    font-size: 64px;
    letter-spacing: -0.5px;
    line-height: 1.1;
    margin-bottom: 28px;
    margin-top: 0;
}

.terms-inner h2 {
    font-size: 24px;
    line-height: 1.1;
    margin-bottom: 14px;
    margin-top: 56px;
}

.terms-inner h3 {
    font-size: 16px;
    line-height: 1.55;
    margin-bottom: 14px;
    margin-top: 28px;
}

.terms-inner h4 {
    font-size: 16px;
    line-height: 1.55;
    margin-bottom: 14px;
    margin-top: 28px;
}

.terms-inner h5 {
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 6px;
    margin-top: 28px;
}

.terms-inner h6 {
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 6px;
    margin-top: 14px;
}

.terms-inner p {
    font-size: 15px;
    line-height: 2.0;
    margin-bottom: 14px;
    margin-top: 0;
}

.terms-inner em,
.terms-inner i {
    font-style: italic;
}

.terms-inner hr {
    border: none;
    border-top: 1.5px solid #D2C4DB;
    margin-bottom: 56px;
    margin-top: 56px;
}

.terms-inner div {
    box-sizing: border-box;
}

.terms-inner table {
    border-collapse: collapse;
    border-radius: 10px;
    box-shadow: -1px 6px 22px 0 rgba(114, 102, 186, 0.09);
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 28px;
    margin-top: 28px;
    overflow: hidden;
    width: 100%;
}

.terms-inner thead {
    background: #7266BA;
}

.terms-inner thead th {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 14px 28px;
    text-align: left;
    text-transform: uppercase;
}

.terms-inner tbody tr {
    border-bottom: 1px solid #F2EEF6;
    transition: background-color 0.25s ease-in-out;
}

.terms-inner tbody tr:last-child {
    border-bottom: none;
}

.terms-inner tbody tr:nth-child(even) {
    background: #F2EEF6;
}

.terms-inner tbody tr:hover {
    background: #D2C4DB;
}

.terms-inner td {
    font-size: 15px;
    line-height: 1.55;
    padding: 14px 28px;
    vertical-align: top;
}

@media (max-width: 768px) {
    .terms-inner {
        padding: 28px 14px;
    }

    .terms-inner h1 {
        font-size: 24px;
    }

    .terms-inner h2 {
        font-size: 16px;
        margin-top: 28px;
    }

    .terms-inner table {
        border-radius: 4px;
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .terms-inner thead th {
        padding: 14px;
        white-space: nowrap;
    }

    .terms-inner td {
        padding: 14px;
    }
}

@media (max-width: 375px) {
    .terms-inner {
        padding: 28px 6px;
    }

    .terms-inner h1 {
        font-size: 24px;
    }

    .terms-inner hr {
        margin-bottom: 28px;
        margin-top: 28px;
    }
}
.evdet {
  max-width: 1600px;
  margin: 0 auto;
  overflow-x: clip;
}

.evdet .titleblock {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  min-height: 520px;
  position: relative;
}

.evdet .titleleft {
  background: #F2EEF6;
  padding: 96px 56px 96px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.evdet .titleleft::after {
  content: '';
  position: absolute;
  bottom: 28px;
  right: 28px;
  width: 48px;
  height: 48px;
  border-right: 3px solid #7266BA;
  border-bottom: 3px solid #7266BA;
  border-radius: 0 0 4px 0;
  pointer-events: none;
}

.evdet .titleleft::before {
  content: '';
  position: absolute;
  top: 28px;
  left: 28px;
  width: 48px;
  height: 48px;
  border-left: 3px solid #7266BA;
  border-top: 3px solid #7266BA;
  border-radius: 4px 0 0 0;
  pointer-events: none;
}

.evdet .pagebadge {
  display: inline-block;
  background: #7266BA;
  color: #fff;
  font-size: 15px;
  line-height: 1.1;
  padding: 6px 14px;
  border-radius: 22px;
  margin-bottom: 28px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.evdet .eventtitle {
  font-size: 64px;
  line-height: 1.1;
  color: #1e1535;
  margin: 0 0 28px 0;
}

.evdet .eventdesc {
  font-size: 16px;
  line-height: 1.55;
  color: #3b3257;
  margin: 0 0 28px 0;
}

.evdet .metarow {
  display: flex;
  flex-direction: row;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
}

.evdet .metapill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 1px solid #D2C4DB;
  border-radius: 22px;
  padding: 6px 14px;
  font-size: 15px;
  line-height: 1.1;
  color: #3b3257;
  box-shadow: -1px 3px 4px 0 rgba(114,102,186,0.06);
}

.evdet .metapill svg {
  flex-shrink: 0;
}

.evdet .titleright {
  position: relative;
  overflow: hidden;
}

.evdet .titleimgwrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.evdet .titleimgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.7) brightness(0.85);
  mix-blend-mode: multiply;
}

.evdet .titleimgwrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(293deg, rgba(114,102,186,0.72) 0%, rgba(210,196,219,0.38) 100%);
  pointer-events: none;
}

.evdet .imgcornerbl {
  position: absolute;
  bottom: 28px;
  left: 28px;
  width: 48px;
  height: 48px;
  border-left: 3px solid rgba(255,255,255,0.7);
  border-bottom: 3px solid rgba(255,255,255,0.7);
  border-radius: 0 0 0 4px;
  pointer-events: none;
  z-index: 2;
}

.evdet .imgcornertr {
  position: absolute;
  top: 28px;
  right: 28px;
  width: 48px;
  height: 48px;
  border-right: 3px solid rgba(255,255,255,0.7);
  border-top: 3px solid rgba(255,255,255,0.7);
  border-radius: 0 4px 0 0;
  pointer-events: none;
  z-index: 2;
}

.evdet .zigzagdiv {
  width: 100%;
  line-height: 0;
  overflow: hidden;
}

.evdet .zigzagdiv svg {
  display: block;
  width: 100%;
}

.evdet .detailgrid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 56px;
  padding: 56px 56px 96px 56px;
  background: #fff;
  align-items: start;
}

.evdet .articlecol {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.evdet .programblock {
  background: #F2EEF6;
  border-radius: 10px;
  padding: 28px;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
}

.evdet .programblock h4 {
  font-size: 16px;
  line-height: 1.1;
  color: #7266BA;
  margin: 0 0 14px 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.evdet .programcontent {
  font-size: 15px;
  line-height: 1.55;
  color: #3b3257;
}

.evdet .programcontent p {
  margin: 0 0 14px 0;
}

.evdet .programcontent h2 {
  font-size: 24px;
  line-height: 1.1;
  color: #1e1535;
  margin: 14px 0 6px 0;
}

.evdet .programcontent h3 {
  font-size: 16px;
  line-height: 1.55;
  color: #3b3257;
  margin: 14px 0 6px 0;
}

.evdet .programcontent ul {
  padding-left: 14px;
  margin: 0 0 14px 0;
}

.evdet .programcontent li {
  margin-bottom: 6px;
}

.evdet .programcontent em {
  color: #7266BA;
  font-style: normal;
}

.evdet .programcontent blockquote {
  border-radius: 4px;
  background: #fff;
  padding: 14px 28px;
  margin: 14px 0;
  box-shadow: -1px 3px 4px 0 rgba(114,102,186,0.06);
  font-size: 15px;
  line-height: 1.55;
  color: #3b3257;
}

.evdet .programcontent cite {
  font-size: 15px;
  color: #7266BA;
  font-style: italic;
}

.evdet .descblock {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.evdet .descblock h2 {
  font-size: 24px;
  line-height: 1.1;
  color: #1e1535;
  margin: 0;
}

.evdet .descblock h2::after {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 22px;
  background: #7266BA;
  margin-left: 6px;
  vertical-align: middle;
}

.evdet .descbody {
  font-size: 15px;
  line-height: 1.55;
  color: #3b3257;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 28px;
  align-items: start;
}

.evdet .descintro {
  font-size: 15px;
  line-height: 1.55;
  color: #7266BA;
}

.evdet .descmain {
  font-size: 15px;
  line-height: 1.55;
  color: #3b3257;
}

.evdet .descmain p {
  margin: 0 0 14px 0;
}

.evdet .descmain h2 {
  font-size: 24px;
  line-height: 1.1;
  color: #1e1535;
  margin: 14px 0 6px 0;
}

.evdet .descmain mark {
  background: #D2C4DB;
  color: #1e1535;
  border-radius: 4px;
  padding: 0 4px;
}

.evdet .descmain ol {
  padding-left: 14px;
  margin: 0 0 14px 0;
}

.evdet .descmain li {
  margin-bottom: 6px;
}

.evdet .descmain blockquote {
  border-radius: 4px;
  background: #F2EEF6;
  padding: 14px 28px;
  margin: 14px 0;
  font-size: 15px;
  line-height: 1.55;
  color: #3b3257;
}

.evdet .descmain cite {
  font-size: 15px;
  color: #7266BA;
  font-style: italic;
}

.evdet .descmain details {
  background: #F2EEF6;
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 14px;
}

.evdet .descmain summary {
  font-size: 15px;
  line-height: 1.55;
  color: #7266BA;
  cursor: pointer;
  font-weight: 600;
}

.evdet .sidecol {
  display: flex;
  flex-direction: column;
  gap: 28px;
  position: sticky;
  top: 28px;
}

.evdet .pricecard {
  background: #fff;
  border-radius: 10px;
  border: 2px solid #D2C4DB;
  padding: 28px;
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.evdet .priceamt {
  font-size: 64px;
  line-height: 1.1;
  color: #7266BA;
}

.evdet .pricedesc {
  font-size: 15px;
  line-height: 1.55;
  color: #3b3257;
}

.evdet .seatsbadge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #F2EEF6;
  border-radius: 22px;
  padding: 6px 14px;
  font-size: 15px;
  line-height: 1.1;
  color: #3b3257;
}

.evdet .seatsdot {
  width: 8px;
  height: 8px;
  border-radius: 22px;
  background: #7266BA;
  display: inline-block;
  flex-shrink: 0;
}

.evdet .registerbtn {
  display: block;
  text-align: center;
  background: linear-gradient(293deg, #7266BA 0%, #9b8ed4 100%);
  color: #fff;
  font-size: 16px;
  line-height: 1.55;
  border-radius: 22px;
  padding: 14px 28px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: filter 0.25s ease-in-out, box-shadow 0.4s cubic-bezier(0.4,0,0.2,1);
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
}

.evdet .registerbtn:hover {
  filter: brightness(0.92);
  background: linear-gradient(113deg, #7266BA 0%, #9b8ed4 100%);
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
}

.evdet .registerbtn:active {
  filter: brightness(0.85);
}

.evdet .registerbtn:focus {
  outline: 2px solid #7266BA;
  outline-offset: 3px;
}

.evdet .infolist {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.evdet .infoitem {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px solid #F2EEF6;
  font-size: 15px;
  line-height: 1.55;
}

.evdet .infolabel {
  color: #7266BA;
  font-size: 15px;
}

.evdet .infovalue {
  color: #1e1535;
  font-size: 15px;
}

.evdet .viewsrow {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  line-height: 1.1;
  color: #7266BA;
}

.evdet .reactionblock {
  background: #F2EEF6;
  border-radius: 10px;
  padding: 28px;
  box-shadow: -1px 3px 4px 0 rgba(114,102,186,0.06);
}

.evdet .reactionblock h5 {
  font-size: 15px;
  line-height: 1.1;
  color: #3b3257;
  margin: 0 0 14px 0;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.evdet .reactions {
  display: flex;
  flex-direction: row;
  gap: 6px;
  flex-wrap: wrap;
}

.evdet .reactions input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.evdet .reactions label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: #fff;
  border: 2px solid #D2C4DB;
  cursor: pointer;
  font-size: 24px;
  transition: border-color 0.2s ease-in-out, background 0.35s cubic-bezier(0.4,0,0.2,1), transform 0.18s ease-in-out;
  user-select: none;
}

.evdet .reactions label:hover {
  border-color: #7266BA;
  background: #fff;
  transform: scale(1.1);
}

.evdet .reactions input[type="radio"]:checked + label {
  background: #7266BA;
  border-color: #7266BA;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
  transform: scale(1.13);
}

.evdet .accentbg {
  background: linear-gradient(293deg, #7266BA 0%, #9b8ed4 60%), radial-gradient(ellipse at 80% 20%, rgba(210,196,219,0.55) 0%, transparent 70%);
  padding: 56px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  align-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.evdet .accentbg::before {
  content: '';
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  top: -80px;
  left: -80px;
  pointer-events: none;
}

.evdet .accentbg::after {
  content: '';
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  bottom: -60px;
  right: -40px;
  pointer-events: none;
}

.evdet .accenttitle {
  font-size: 24px;
  line-height: 1.1;
  color: #fff;
  margin: 0;
  position: relative;
  z-index: 1;
}

.evdet .accentpair {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 28px;
  position: relative;
  z-index: 1;
}

.evdet .accenticon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 22px;
  background: rgba(255,255,255,0.18);
  flex-shrink: 0;
}

.evdet .accentlabel {
  font-size: 16px;
  line-height: 1.55;
  color: rgba(255,255,255,0.92);
}

.evdet .accentcontactrow {
  display: flex;
  flex-direction: row;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.evdet .contactlink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 22px;
  padding: 6px 14px;
  font-size: 15px;
  line-height: 1.55;
  color: #fff;
  text-decoration: none;
  transition: background 0.28s cubic-bezier(0.4,0,0.2,1), border-color 0.2s ease-in-out;
}

.evdet .contactlink:hover {
  background: rgba(255,255,255,0.28);
  border-color: rgba(255,255,255,0.6);
}

.evdet .contactlink:focus {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.evdet .scrolltopwrap {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 10;
}

.evdet .scrolltoplink {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 22px;
  background: #7266BA;
  color: #fff;
  text-decoration: none;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.14);
  transition: filter 0.2s ease-in-out, transform 0.28s cubic-bezier(0.4,0,0.2,1);
}

.evdet .scrolltoplink:hover {
  filter: brightness(0.9);
  transform: translateY(-3px);
}

.evdet .scrolltoplink:focus {
  outline: 2px solid #7266BA;
  outline-offset: 3px;
}

.evdet .cyclewords {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6px;
}

.evdet .cyclewords span {
  font-size: 15px;
  line-height: 1.55;
  color: #3b3257;
  padding: 0 4px;
  border-radius: 4px;
  transition: background 0.35s cubic-bezier(0.4,0,0.2,1), color 0.35s cubic-bezier(0.4,0,0.2,1);
}

.evdet .cyclewords span:nth-child(1) { animation: wordcycle 4.5s 0s infinite; }
.evdet .cyclewords span:nth-child(2) { animation: wordcycle 4.5s 0.75s infinite; }
.evdet .cyclewords span:nth-child(3) { animation: wordcycle 4.5s 1.5s infinite; }
.evdet .cyclewords span:nth-child(4) { animation: wordcycle 4.5s 2.25s infinite; }
.evdet .cyclewords span:nth-child(5) { animation: wordcycle 4.5s 3s infinite; }
.evdet .cyclewords span:nth-child(6) { animation: wordcycle 4.5s 3.75s infinite; }

@keyframes wordcycle {
  0%, 15% { background: #7266BA; color: #fff; }
  20%, 100% { background: transparent; color: #3b3257; }
}

.evdet .clipreveal {
  clip-path: inset(0 100% 0 0);
  animation: clipopen 0.5s cubic-bezier(0.4,0,0.2,1) 0.2s forwards;
}

@keyframes clipopen {
  to { clip-path: inset(0 0% 0 0); }
}

@media (max-width: 1024px) {
  .evdet .titleblock {
    grid-template-columns: 1fr;
  }
  .evdet .titleright {
    height: 320px;
  }
  .evdet .eventtitle {
    font-size: 64px;
  }
  .evdet .detailgrid {
    grid-template-columns: 1fr;
    padding: 56px 28px;
    gap: 28px;
  }
  .evdet .sidecol {
    position: static;
  }
  .evdet .descbody {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

@media (max-width: 768px) {
  .evdet .titleleft {
    padding: 56px 28px;
  }
  .evdet .eventtitle {
    font-size: 24px;
  }
  .evdet .priceamt {
    font-size: 64px;
  }
  .evdet .accentbg {
    padding: 56px 28px;
  }
  .evdet .accentpair {
    flex-direction: column;
    gap: 14px;
  }
  .evdet .detailgrid {
    padding: 28px 14px;
  }
}

@media (max-width: 375px) {
  .evdet .titleleft {
    padding: 28px 14px;
  }
  .evdet .detailgrid {
    padding: 28px 14px;
    gap: 14px;
  }
  .evdet .accentbg {
    padding: 28px 14px;
  }
  .evdet .pricecard {
    padding: 14px;
  }
}

.rt {
  max-width: 1600px;
  margin: 0 auto;
  overflow-x: clip;
}

.rt .stripimg {
  width: 100%;
  height: 180px;
  overflow: hidden;
  position: relative;
}

.rt .stripimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(100%) brightness(0.82);
  display: block;
  transition: filter 0.38s cubic-bezier(0.4,0,0.2,1);
}

.rt .stripimg img:hover {
  filter: grayscale(100%) brightness(0.95);
}

.rt .fadebg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(293deg, rgba(114,102,186,0.18) 0%, rgba(242,238,246,0.55) 100%);
  pointer-events: none;
}

.rt .titlezone {
  background: #F2EEF6;
  padding: 56px 56px 28px 56px;
  position: relative;
}

.rt .bgnum {
  position: absolute;
  right: 56px;
  top: 14px;
  font-size: 160px;
  line-height: 1.1;
  color: rgba(114,102,186,0.07);
  font-weight: 900;
  pointer-events: none;
  user-select: none;
  letter-spacing: -8px;
}

.rt .titlerow {
  display: flex;
  flex-direction: row;
  gap: 56px;
  align-items: flex-end;
  max-width: 1000px;
}

.rt .titleleft {
  flex: 0 0 auto;
  width: 220px;
}

.rt .titleright {
  flex: 1 1 auto;
}

.rt .pagebadge {
  display: inline-block;
  background: #7266BA;
  color: #fff;
  font-size: 15px;
  line-height: 1.55;
  padding: 6px 14px;
  border-radius: 4px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 28px;
  box-shadow: -1px 3px 4px 0 rgba(114,102,186,0.06);
}

.rt .pageh1 {
  font-size: 64px;
  line-height: 1.1;
  color: #1b1535;
  margin: 0 0 14px 0;
  font-weight: 800;
  letter-spacing: -1px;
}

.rt .dotaccent {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #7266BA;
  margin-left: 6px;
  vertical-align: middle;
  margin-bottom: 4px;
}

.rt .pagequote {
  font-size: 16px;
  line-height: 1.55;
  color: #3d3460;
  margin: 0;
  max-width: 520px;
}

.rt .titlelabel {
  font-size: 15px;
  line-height: 2.0;
  color: #7266BA;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.rt .titledesc {
  font-size: 15px;
  line-height: 1.55;
  color: #5a5070;
  margin: 14px 0 0 0;
}

.rt .geocirc {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.rt .geocirc.c1 {
  width: 320px;
  height: 320px;
  border: 1.5px solid rgba(114,102,186,0.08);
  bottom: -80px;
  left: -60px;
}

.rt .geocirc.c2 {
  width: 180px;
  height: 180px;
  border: 1.5px solid rgba(210,196,219,0.13);
  top: 28px;
  right: 200px;
}

.rt .clientsec {
  background: #fff;
  padding: 56px 56px 56px 56px;
  position: relative;
}

.rt .clientsec .sechead {
  display: flex;
  flex-direction: row;
  gap: 56px;
  margin-bottom: 28px;
  align-items: flex-start;
}

.rt .narrowcol {
  flex: 0 0 220px;
}

.rt .widecol {
  flex: 1 1 auto;
}

.rt .sech2 {
  font-size: 24px;
  line-height: 1.1;
  color: #1b1535;
  font-weight: 700;
  margin: 0 0 14px 0;
}

.rt .secintro {
  font-size: 15px;
  line-height: 1.55;
  color: #5a5070;
  margin: 0;
}

.rt .casegrid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 28px;
  margin-top: 28px;
}

.rt .casecard {
  background: #F2EEF6;
  border-radius: 10px;
  padding: 28px;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
  transition: box-shadow 0.25s ease-in-out, transform 0.25s ease-in-out;
  position: relative;
}

.rt .casecard:hover {
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
  transform: translateY(-3px);
}

.rt .casename {
  font-size: 15px;
  line-height: 1.55;
  color: #7266BA;
  font-weight: 700;
  margin: 0 0 6px 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.rt .caserole {
  font-size: 15px;
  line-height: 1.55;
  color: #9b8fc0;
  margin: 0 0 14px 0;
}

.rt .casetext {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3460;
  margin: 0 0 14px 0;
}

.rt .casetag {
  display: inline-block;
  background: #D2C4DB;
  color: #3d3460;
  font-size: 15px;
  line-height: 1.55;
  padding: 6px 14px;
  border-radius: 22px;
  font-weight: 600;
}

.rt .casedivider {
  width: 28px;
  height: 3px;
  background: #7266BA;
  border-radius: 4px;
  margin-bottom: 14px;
}

.rt .portraitcol {
  position: relative;
  overflow: hidden;
}

.rt .diffsec {
  background: linear-gradient(293deg, #3d3460 0%, #1b1535 100%);
  padding: 56px 56px 56px 56px;
  position: relative;
  overflow: hidden;
}

.rt .diffsec .geocirc.d1 {
  width: 400px;
  height: 400px;
  border: 1.5px solid rgba(210,196,219,0.08);
  top: -100px;
  right: -80px;
}

.rt .diffsec .geocirc.d2 {
  width: 220px;
  height: 220px;
  border: 1.5px solid rgba(114,102,186,0.13);
  bottom: -60px;
  left: 200px;
}

.rt .diffgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start;
}

.rt .diffleft {
  position: relative;
}

.rt .diffh2 {
  font-size: 64px;
  line-height: 1.1;
  color: #F2EEF6;
  font-weight: 800;
  margin: 0 0 28px 0;
  letter-spacing: -1px;
}

.rt .diffbody {
  font-size: 16px;
  line-height: 1.55;
  color: #D2C4DB;
  margin: 0 0 28px 0;
}

.rt .diffpoints {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

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

.rt .difficon {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(114,102,186,0.28);
  display: flex;
  align-items: center;
  justify-content: center;
}

.rt .difficon svg {
  display: block;
}

.rt .diffptext {
  flex: 1 1 auto;
}

.rt .diffph4 {
  font-size: 16px;
  line-height: 1.55;
  color: #F2EEF6;
  font-weight: 700;
  margin: 0 0 6px 0;
}

.rt .diffpdesc {
  font-size: 15px;
  line-height: 1.55;
  color: #D2C4DB;
  margin: 0;
}

.rt .diffimgwrap {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
}

.rt .diffimgwrap img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.88);
  transition: filter 0.4s cubic-bezier(0.4,0,0.2,1);
}

.rt .diffimgwrap img:hover {
  filter: brightness(1.04);
}

.rt .adaptsec {
  padding: 56px 56px 56px 56px;
  background: #fff;
  position: relative;
}

.rt .adaptsec::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: #F2EEF6;
  z-index: 0;
}

.rt .adaptinner {
  position: relative;
  z-index: 1;
}

.rt .adapttop {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 56px;
  align-items: start;
  margin-bottom: 28px;
}

.rt .adapth2 {
  font-size: 24px;
  line-height: 1.1;
  color: #1b1535;
  font-weight: 700;
  margin: 0 0 14px 0;
}

.rt .adaptbody {
  font-size: 15px;
  line-height: 1.55;
  color: #5a5070;
  margin: 0;
}

.rt .adaptstat {
  background: #7266BA;
  border-radius: 22px;
  padding: 28px;
  color: #fff;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
}

.rt .adaptstatnum {
  font-size: 64px;
  line-height: 1.1;
  font-weight: 800;
  color: #fff;
  margin: 0 0 6px 0;
  letter-spacing: -2px;
}

.rt .adaptstatlabel {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(242,238,246,0.85);
  margin: 0;
}

.rt .adaptgrid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 14px;
  margin-top: 28px;
}

.rt .adaptcard {
  background: #F2EEF6;
  border-radius: 10px;
  padding: 28px 14px;
  text-align: center;
  box-shadow: -1px 3px 4px 0 rgba(114,102,186,0.06);
  transition: background 0.28s ease-in-out, box-shadow 0.28s ease-in-out;
}

.rt .adaptcard:hover {
  background: #ede6f5;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
}

.rt .adaptcardico {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #D2C4DB;
  margin: 0 auto 14px auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rt .adaptcardico svg {
  display: block;
}

.rt .adaptcardh {
  font-size: 15px;
  line-height: 1.55;
  color: #1b1535;
  font-weight: 700;
  margin: 0 0 6px 0;
}

.rt .adaptcardp {
  font-size: 15px;
  line-height: 1.55;
  color: #5a5070;
  margin: 0;
}

.rt .adaptimgrow {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 28px;
  margin-top: 28px;
  align-items: stretch;
}

.rt .adaptimgwrap {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
}

.rt .adaptimgwrap img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.88);
  transition: filter 0.35s cubic-bezier(0.4,0,0.2,1);
}

.rt .adaptimgwrap img:hover {
  filter: brightness(1.05);
}

.rt .adaptquotebox {
  background: linear-gradient(293deg, #7266BA 0%, #3d3460 100%);
  border-radius: 22px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
}

.rt .adaptquotetxt {
  font-size: 16px;
  line-height: 1.55;
  color: #F2EEF6;
  margin: 0 0 14px 0;
  font-style: italic;
}

.rt .adaptquoteauth {
  font-size: 15px;
  line-height: 1.55;
  color: #D2C4DB;
  margin: 0;
  font-weight: 600;
}

.rt .portraitrow {
  display: flex;
  flex-direction: row;
  gap: 28px;
  align-items: flex-start;
  margin-top: 28px;
}

.rt .portraitimg {
  flex: 0 0 auto;
  width: 120px;
  height: 180px;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
}

.rt .portraitimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.9);
  transition: filter 0.32s ease-in-out;
}

.rt .portraitimg img:hover {
  filter: brightness(1.06);
}

.rt .portraittext {
  flex: 1 1 auto;
}

.rt .portraitname {
  font-size: 16px;
  line-height: 1.55;
  color: #1b1535;
  font-weight: 700;
  margin: 0 0 6px 0;
}

.rt .portraitrole {
  font-size: 15px;
  line-height: 1.55;
  color: #7266BA;
  margin: 0 0 14px 0;
}

.rt .portraitq {
  font-size: 15px;
  line-height: 1.55;
  color: #5a5070;
  margin: 0;
  font-style: italic;
}

.rt .diamond {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #7266BA;
  transform: rotate(45deg);
  margin: 0 8px;
  vertical-align: middle;
  opacity: 0.6;
}

@keyframes fadeup {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.rt .casecard:nth-child(1) { animation: fadeup 0.38s cubic-bezier(0.4,0,0.2,1) both; }
.rt .casecard:nth-child(2) { animation: fadeup 0.45s cubic-bezier(0.4,0,0.2,1) 0.08s both; }
.rt .casecard:nth-child(3) { animation: fadeup 0.52s cubic-bezier(0.4,0,0.2,1) 0.16s both; }

.rt .adaptcard:nth-child(1) { animation: fadeup 0.36s cubic-bezier(0.4,0,0.2,1) 0.05s both; }
.rt .adaptcard:nth-child(2) { animation: fadeup 0.4s cubic-bezier(0.4,0,0.2,1) 0.12s both; }
.rt .adaptcard:nth-child(3) { animation: fadeup 0.44s cubic-bezier(0.4,0,0.2,1) 0.19s both; }
.rt .adaptcard:nth-child(4) { animation: fadeup 0.48s cubic-bezier(0.4,0,0.2,1) 0.26s both; }

@media (max-width: 1024px) {
  .rt .casegrid {
    grid-template-columns: 1fr 1fr;
  }
  .rt .adaptgrid {
    grid-template-columns: 1fr 1fr;
  }
  .rt .diffgrid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .rt .diffh2 {
    font-size: 24px;
  }
  .rt .adapttop {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .rt .adaptimgrow {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .rt .titlezone {
    padding: 28px 14px 28px 14px;
  }
  .rt .titlerow {
    flex-direction: column;
    gap: 14px;
  }
  .rt .titleleft {
    width: 100%;
  }
  .rt .pageh1 {
    font-size: 24px;
  }
  .rt .bgnum {
    font-size: 80px;
    right: 14px;
  }
  .rt .clientsec {
    padding: 28px 14px;
  }
  .rt .clientsec .sechead {
    flex-direction: column;
    gap: 14px;
  }
  .rt .narrowcol {
    flex: 0 0 auto;
    width: 100%;
  }
  .rt .casegrid {
    grid-template-columns: 1fr;
  }
  .rt .diffsec {
    padding: 28px 14px;
  }
  .rt .adaptsec {
    padding: 28px 14px;
  }
  .rt .adaptgrid {
    grid-template-columns: 1fr;
  }
  .rt .adaptimgrow {
    grid-template-columns: 1fr;
  }
  .rt .portraitrow {
    flex-direction: column;
  }
  .rt .diffh2 {
    font-size: 24px;
  }
}

@media (max-width: 375px) {
  .rt .pageh1 {
    font-size: 24px;
  }
  .rt .adaptstatnum {
    font-size: 24px;
  }
}

.evpg {
  max-width: 1600px;
  margin: 0 auto;
  overflow-x: clip;
}

.evpg .titstrip {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  min-height: 0;
  padding: 56px 56px 56px 0;
  position: relative;
  background: #fff;
}

.evpg .titstrip-imgcol {
  width: 7px;
  min-height: 220px;
  background: linear-gradient(293deg, #7266BA 0%, #D2C4DB 100%);
  border-radius: 0 4px 4px 0;
  flex-shrink: 0;
  margin-right: 28px;
}

.evpg .titstrip-deco {
  position: absolute;
  top: 0;
  right: 0;
  width: 340px;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  border-radius: 0;
}

.evpg .titstrip-deco svg {
  width: 100%;
  height: 100%;
}

.evpg .titstrip-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  position: relative;
  z-index: 1;
}

.evpg .titlabel {
  display: inline-block;
  font-size: 15px;
  line-height: 1.1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #7266BA;
  background: #F2EEF6;
  border-radius: 4px;
  padding: 6px 14px;
  width: fit-content;
}

.evpg .titstrip-text h1 {
  font-size: 64px;
  line-height: 1.1;
  color: #1e1535;
  margin: 0;
  max-width: 700px;
}

.evpg .titstrip-text h1 span {
  display: inline-block;
  width: 9px;
  height: 9px;
  background: #7266BA;
  border-radius: 50%;
  margin-left: 6px;
  vertical-align: middle;
  margin-bottom: 10px;
}

.evpg .titstrip-text p {
  font-size: 16px;
  line-height: 1.55;
  color: #3d3356;
  max-width: 520px;
  margin: 0;
}

.evpg .titdivider {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 56px;
}

.evpg .titdivider-line {
  height: 2px;
  background: #D2C4DB;
  border-radius: 0;
}

.evpg .titdivider-gap {
  height: 4px;
  background: #F2EEF6;
}

.evpg .gridarea {
  padding: 56px 56px;
  background: #F2EEF6;
  position: relative;
}

.evpg .stripes-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: 0;
}

.evpg .stripes-bg svg {
  width: 100%;
  height: 100%;
  opacity: 0.04;
}

.evpg .cardgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  position: relative;
  z-index: 1;
}

.evpg .evcard {
  background: #fff;
  border-radius: 22px;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: box-shadow 0.35s cubic-bezier(0.4,0,0.2,1), transform 0.25s ease-in-out;
  position: relative;
}

.evpg .evcard:hover {
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
  transform: translateY(-4px);
}

.evpg .evcard-imgwrap {
  width: 100%;
  height: 190px;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}

.evpg .evcard-imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.85) brightness(0.96);
  transition: transform 0.45s cubic-bezier(0.4,0,0.2,1);
}

.evpg .evcard:hover .evcard-imgwrap img {
  transform: scale(1.04);
}

.evpg .evcard-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: #7266BA;
  color: #fff;
  font-size: 15px;
  line-height: 1.1;
  border-radius: 4px;
  padding: 6px 14px;
  letter-spacing: 0.04em;
  z-index: 2;
}

.evpg .evcard-body {
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 1;
}

.evpg .evcard-meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.evpg .evcard-metatag {
  font-size: 15px;
  line-height: 1.1;
  color: #7266BA;
  background: #F2EEF6;
  border-radius: 4px;
  padding: 6px 14px;
}

.evpg .evcard-views {
  font-size: 15px;
  line-height: 1.1;
  color: #8a7faa;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
}

.evpg .evcard-views svg {
  flex-shrink: 0;
}

.evpg .evcard-body h4 {
  font-size: 16px;
  line-height: 1.55;
  color: #1e1535;
  margin: 0;
}

.evpg .evcard-desc {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3356;
  margin: 0;
  flex: 1;
}

.evpg .evcard-inforow {
  display: flex;
  flex-direction: row;
  gap: 14px;
  flex-wrap: wrap;
}

.evpg .evcard-infochip {
  font-size: 15px;
  line-height: 1.1;
  color: #5a4f82;
  background: #F2EEF6;
  border-radius: 4px;
  padding: 6px 14px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
}

.evpg .evcard-infochip svg {
  flex-shrink: 0;
}

.evpg .evcard-footer {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 6px;
}

.evpg .evcard-price {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.evpg .evcard-pricenum {
  font-size: 24px;
  line-height: 1.1;
  color: #1e1535;
  font-weight: 700;
}

.evpg .evcard-pricedesc {
  font-size: 15px;
  line-height: 1.1;
  color: #8a7faa;
}

.evpg .evcard-seats {
  font-size: 15px;
  line-height: 1.1;
  color: #7266BA;
  background: #F2EEF6;
  border-radius: 4px;
  padding: 6px 14px;
}

.evpg .evcard-link {
  display: inline-block;
  background: linear-gradient(293deg, #7266BA 0%, #9b91d4 100%);
  color: #fff;
  font-size: 16px;
  line-height: 1.55;
  border-radius: 10px;
  padding: 14px 28px;
  text-decoration: none;
  transition: filter 0.2s ease-in-out, background 0.4s cubic-bezier(0.4,0,0.2,1);
  width: 100%;
  text-align: center;
  box-shadow: -1px 3px 4px 0 rgba(114,102,186,0.06);
}

.evpg .evcard-link:hover {
  filter: brightness(0.92);
  background: linear-gradient(113deg, #7266BA 0%, #9b91d4 100%);
}

.evpg .evcard-link:focus {
  outline: 2px solid #7266BA;
  outline-offset: 2px;
}

.evpg .secdivider {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 56px;
}

.evpg .secdivider-top {
  height: 2px;
  background: #7266BA;
  border-radius: 0;
}

.evpg .secdivider-mid {
  height: 5px;
  background: #D2C4DB;
}

.evpg .secdivider-bot {
  height: 2px;
  background: #7266BA;
  border-radius: 0;
}

.evpg .expertarea {
  padding: 56px 56px;
  background: #fff;
  display: flex;
  flex-direction: row;
  gap: 56px;
  align-items: flex-start;
}

.evpg .expertarea-left {
  flex: 0 0 340px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.evpg .expertarea-portrait {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
}

.evpg .expertarea-portrait img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  object-position: center;
  display: block;
}

.evpg .expertarea-name {
  font-size: 16px;
  line-height: 1.55;
  color: #1e1535;
  margin: 0;
}

.evpg .expertarea-role {
  font-size: 15px;
  line-height: 1.1;
  color: #8a7faa;
  margin: 0;
}

.evpg .expertarea-quote {
  font-size: 16px;
  line-height: 1.55;
  color: #3d3356;
  margin: 0;
  padding: 14px;
  background: #F2EEF6;
  border-radius: 10px;
  box-shadow: inset -1px 3px 4px 0 rgba(114,102,186,0.06);
}

.evpg .expertarea-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.evpg .expertarea-right h2 {
  font-size: 24px;
  line-height: 1.1;
  color: #1e1535;
  margin: 0;
}

.evpg .expertarea-right h2 span {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #7266BA;
  border-radius: 50%;
  margin-left: 6px;
  vertical-align: middle;
  margin-bottom: 6px;
}

.evpg .expertarea-cols {
  display: flex;
  flex-direction: row;
  gap: 28px;
}

.evpg .expertarea-narrow {
  flex: 0 0 160px;
  font-size: 15px;
  line-height: 1.55;
  color: #8a7faa;
}

.evpg .expertarea-wide {
  flex: 1;
  font-size: 15px;
  line-height: 1.55;
  color: #3d3356;
}

.evpg .expertarea-wide p {
  margin: 0 0 14px 0;
}

.evpg .expertarea-wide p:last-child {
  margin: 0;
}

.evpg .statrow {
  display: flex;
  flex-direction: row;
  gap: 28px;
  flex-wrap: wrap;
}

.evpg .statitem {
  flex: 1;
  min-width: 120px;
  background: #F2EEF6;
  border-radius: 10px;
  padding: 28px 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  box-shadow: -1px 3px 4px 0 rgba(114,102,186,0.06);
  transition: box-shadow 0.28s ease-in-out;
}

.evpg .statitem:hover {
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
}

.evpg .statitem-num {
  font-size: 24px;
  line-height: 1.1;
  color: #7266BA;
  font-weight: 700;
}

.evpg .statitem-lbl {
  font-size: 15px;
  line-height: 1.55;
  color: #5a4f82;
  text-align: center;
}

.evpg .imgband {
  padding: 56px 56px;
  background: linear-gradient(293deg, #2a2040 0%, #F2EEF6 100%);
  display: flex;
  flex-direction: row;
  gap: 56px;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.evpg .imgband-decowrap {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 260px;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

.evpg .imgband-decowrap svg {
  width: 100%;
  height: 100%;
  opacity: 0.07;
}

.evpg .imgband-imgwrap {
  flex: 0 0 480px;
  height: 320px;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
  flex-shrink: 0;
}

.evpg .imgband-imgwrap img {
  width: 480px;
  height: 320px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.7) brightness(0.88) sepia(0.18);
}

.evpg .imgband-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 28px;
  position: relative;
  z-index: 1;
}

.evpg .imgband-label {
  display: inline-block;
  font-size: 15px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #D2C4DB;
  background: rgba(114,102,186,0.18);
  border-radius: 4px;
  padding: 6px 14px;
  width: fit-content;
}

.evpg .imgband-text h2 {
  font-size: 24px;
  line-height: 1.55;
  color: #fff;
  margin: 0;
}

.evpg .imgband-text p {
  font-size: 15px;
  line-height: 1.55;
  color: #D2C4DB;
  margin: 0;
}

.evpg .imgband-cta {
  display: inline-block;
  background: linear-gradient(293deg, #7266BA 0%, #9b91d4 100%);
  color: #fff;
  font-size: 16px;
  line-height: 1.55;
  border-radius: 10px;
  padding: 14px 28px;
  text-decoration: none;
  width: fit-content;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
  transition: filter 0.22s ease-in-out, background 0.38s cubic-bezier(0.4,0,0.2,1);
}

.evpg .imgband-cta:hover {
  filter: brightness(0.9);
  background: linear-gradient(113deg, #7266BA 0%, #9b91d4 100%);
}

.evpg .imgband-cta:focus {
  outline: 2px solid #D2C4DB;
  outline-offset: 2px;
}

@keyframes stripedrift {
  0% { transform: translateX(0) translateY(0); }
  100% { transform: translateX(60px) translateY(60px); }
}

.evpg .stripes-bg svg {
  animation: stripedrift 14s linear infinite alternate;
}

@media (max-width: 1024px) {
  .evpg .cardgrid {
    grid-template-columns: repeat(2, 1fr);
  }
  .evpg .expertarea {
    flex-direction: column;
    gap: 28px;
  }
  .evpg .expertarea-left {
    flex: none;
    width: 100%;
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .evpg .imgband {
    flex-direction: column;
  }
  .evpg .imgband-imgwrap {
    flex: none;
    width: 100%;
    height: 240px;
  }
  .evpg .imgband-imgwrap img {
    width: 100%;
    height: 240px;
  }
}

@media (max-width: 768px) {
  .evpg .titstrip {
    padding: 28px 28px 28px 0;
  }
  .evpg .titstrip-text h1 {
    font-size: 24px;
  }
  .evpg .titstrip-deco {
    display: none;
  }
  .evpg .gridarea {
    padding: 28px;
  }
  .evpg .cardgrid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .evpg .secdivider {
    margin: 0 28px;
  }
  .evpg .titdivider {
    margin: 0 28px;
  }
  .evpg .expertarea {
    padding: 28px;
  }
  .evpg .expertarea-cols {
    flex-direction: column;
    gap: 14px;
  }
  .evpg .expertarea-narrow {
    flex: none;
  }
  .evpg .imgband {
    padding: 28px;
    gap: 28px;
  }
  .evpg .statrow {
    gap: 14px;
  }
}

@media (max-width: 375px) {
  .evpg .titstrip {
    padding: 14px 14px 14px 0;
  }
  .evpg .gridarea {
    padding: 14px;
  }
  .evpg .expertarea {
    padding: 14px;
  }
  .evpg .imgband {
    padding: 14px;
  }
  .evpg .secdivider {
    margin: 0 14px;
  }
  .evpg .titdivider {
    margin: 0 14px;
  }
  .evpg .evcard-footer {
    flex-direction: column;
    align-items: flex-start;
  }
}

.abtu {
  max-width: 1600px;
  margin: 0 auto;
  overflow-x: clip;
}

.abtu .topband {
  position: relative;
  padding: 96px 56px;
  background: #F2EEF6;
  overflow: hidden;
}

.abtu .topband::before {
  content: '';
  position: absolute;
  top: -80px;
  left: -80px;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle at 30% 40%, rgba(114,102,186,0.18) 0%, transparent 70%);
  filter: blur(48px);
  pointer-events: none;
}

.abtu .topband::after {
  content: '';
  position: absolute;
  bottom: -60px;
  right: -60px;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle at 70% 60%, rgba(210,196,219,0.28) 0%, transparent 68%);
  filter: blur(56px);
  pointer-events: none;
}

.abtu .topband-tex {
  position: relative;
  z-index: 1;
  max-width: 860px;
}

.abtu .topband-bracket {
  display: inline-block;
  font-size: 15px;
  color: #7266BA;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 28px;
  padding: 6px 14px;
  border: 1.5px solid rgba(114,102,186,0.28);
  border-radius: 4px;
}

.abtu .topband-h1 {
  font-size: 64px;
  line-height: 1.1;
  color: #2a2240;
  margin-bottom: 28px;
  letter-spacing: -0.01em;
}

.abtu .topband-h1 em {
  font-style: normal;
  color: #7266BA;
  position: relative;
}

.abtu .topband-sub {
  font-size: 16px;
  line-height: 1.55;
  color: #4a3f6b;
  max-width: 560px;
}

.abtu .topband-blobs {
  position: absolute;
  top: 0;
  right: 0;
  width: 480px;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

.abtu .blob1 {
  position: absolute;
  top: 28px;
  right: 56px;
  width: 220px;
  height: 220px;
  border-radius: 38px;
  background: linear-gradient(293deg, rgba(114,102,186,0.13) 0%, rgba(210,196,219,0.22) 100%);
  transform: rotate(18deg);
}

.abtu .blob2 {
  position: absolute;
  bottom: 28px;
  right: 160px;
  width: 140px;
  height: 140px;
  border-radius: 22px;
  background: linear-gradient(293deg, rgba(210,196,219,0.18) 0%, rgba(114,102,186,0.1) 100%);
  transform: rotate(-12deg);
}

.abtu .topband-dots {
  position: absolute;
  top: 56px;
  right: 280px;
  pointer-events: none;
}

.abtu .topband-dots svg {
  opacity: 0.18;
}

.abtu .divider-a {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  padding: 0 56px;
  margin: 0;
}

.abtu .divider-a span {
  display: block;
  height: 1px;
  flex: 1;
  background: rgba(114,102,186,0.18);
}

.abtu .divider-a span:last-child {
  margin-top: 4px;
  background: rgba(114,102,186,0.1);
}

.abtu .divider-b {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  padding: 0 56px;
  margin: 0;
}

.abtu .divider-b span {
  display: block;
  height: 1.5px;
  flex: 1;
  background: rgba(210,196,219,0.35);
}

.abtu .divider-b span:last-child {
  height: 1px;
  margin-top: 3px;
  background: rgba(210,196,219,0.2);
}

.abtu .midgrid {
  padding: 96px 56px;
  background: #fff;
}

.abtu .midgrid-top {
  display: flex;
  flex-direction: row;
  gap: 56px;
  margin-bottom: 56px;
  align-items: flex-start;
}

.abtu .midgrid-intro {
  flex: 1 0 240px;
  max-width: 280px;
}

.abtu .midgrid-badge {
  display: inline-block;
  font-size: 15px;
  color: #7266BA;
  background: #F2EEF6;
  border-radius: 4px;
  padding: 6px 14px;
  margin-bottom: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.abtu .midgrid-h2 {
  font-size: 24px;
  line-height: 1.55;
  color: #2a2240;
  margin-bottom: 14px;
}

.abtu .midgrid-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #7266BA;
  margin-left: 4px;
  vertical-align: middle;
}

.abtu .midgrid-body {
  flex: 2 1 0;
}

.abtu .midgrid-body p {
  font-size: 16px;
  line-height: 1.55;
  color: #3d3360;
  margin-bottom: 14px;
}

.abtu .midgrid-body p:last-child {
  margin-bottom: 0;
}

.abtu .imgrow {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 14px;
}

.abtu .imgrow-item {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
  transition: box-shadow 0.35s cubic-bezier(0.4,0,0.2,1);
}

.abtu .imgrow-item:hover {
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
}

.abtu .imgrow-item.tall {
  grid-row: 1 / 3;
}

.abtu .imgrow-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.4s cubic-bezier(0.4,0,0.2,1), filter 0.25s ease-in-out;
  min-height: 200px;
}

.abtu .imgrow-item:hover .imgrow-img {
  transform: scale(1.035);
  filter: brightness(0.93);
}

.abtu .imgrow-item.tall .imgrow-img {
  min-height: 420px;
}

.abtu .metricsrow {
  display: flex;
  flex-direction: row;
  gap: 14px;
  margin-top: 56px;
  flex-wrap: wrap;
}

.abtu .metriccard {
  flex: 1 1 160px;
  background: #F2EEF6;
  border-radius: 10px;
  padding: 28px 14px;
  text-align: center;
  box-shadow: -1px 3px 4px 0 rgba(114,102,186,0.06);
  transition: background 0.35s ease-in-out, box-shadow 0.35s ease-in-out;
}

.abtu .metriccard:hover {
  background: #ede7f5;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
}

.abtu .metriccard-num {
  font-size: 64px;
  line-height: 1.1;
  color: #7266BA;
  display: block;
}

.abtu .metriccard-label {
  font-size: 15px;
  line-height: 1.55;
  color: #4a3f6b;
  display: block;
  margin-top: 6px;
}

.abtu .teamgrid {
  padding: 96px 56px;
  background: linear-gradient(293deg, #F2EEF6 0%, #fff 60%),
              radial-gradient(ellipse at 80% 20%, rgba(114,102,186,0.1) 0%, transparent 60%);
  background-blend-mode: normal;
  position: relative;
  overflow: hidden;
}

.abtu .teamgrid::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(293deg, rgba(114,102,186,0.07) 0%, transparent 55%),
              radial-gradient(ellipse at 85% 15%, rgba(210,196,219,0.22) 0%, transparent 55%);
  pointer-events: none;
}

.abtu .teamgrid-inner {
  position: relative;
  z-index: 1;
}

.abtu .teamgrid-header {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 56px;
  gap: 28px;
  flex-wrap: wrap;
}

.abtu .teamgrid-h2 {
  font-size: 24px;
  line-height: 1.55;
  color: #2a2240;
}

.abtu .teamgrid-tagline {
  font-size: 15px;
  line-height: 1.55;
  color: #4a3f6b;
  max-width: 360px;
  text-align: right;
}

.abtu .rolecols {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
  margin-bottom: 56px;
}

.abtu .rolecol {
  border-radius: 10px;
  padding: 28px;
  box-shadow: -1px 3px 4px 0 rgba(114,102,186,0.06);
  transition: box-shadow 0.28s cubic-bezier(0.4,0,0.2,1), transform 0.28s cubic-bezier(0.4,0,0.2,1);
}

.abtu .rolecol:hover {
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
  transform: translateY(-3px);
}

.abtu .rolecol.type-a {
  background: #fff;
}

.abtu .rolecol.type-b {
  background: #7266BA;
}

.abtu .rolecol.type-c {
  background: #2a2240;
}

.abtu .rolecol-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.abtu .rolecol.type-a .rolecol-icon {
  background: #F2EEF6;
}

.abtu .rolecol.type-b .rolecol-icon {
  background: rgba(255,255,255,0.18);
}

.abtu .rolecol.type-c .rolecol-icon {
  background: rgba(114,102,186,0.25);
}

.abtu .rolecol-role {
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 6px;
  display: block;
}

.abtu .rolecol.type-a .rolecol-role {
  color: #7266BA;
}

.abtu .rolecol.type-b .rolecol-role {
  color: rgba(255,255,255,0.7);
}

.abtu .rolecol.type-c .rolecol-role {
  color: #D2C4DB;
}

.abtu .rolecol-h3 {
  font-size: 16px;
  line-height: 1.55;
  margin-bottom: 14px;
}

.abtu .rolecol.type-a .rolecol-h3 {
  color: #2a2240;
}

.abtu .rolecol.type-b .rolecol-h3 {
  color: #fff;
}

.abtu .rolecol.type-c .rolecol-h3 {
  color: #F2EEF6;
}

.abtu .rolecol-desc {
  font-size: 15px;
  line-height: 1.55;
}

.abtu .rolecol.type-a .rolecol-desc {
  color: #4a3f6b;
}

.abtu .rolecol.type-b .rolecol-desc {
  color: rgba(255,255,255,0.82);
}

.abtu .rolecol.type-c .rolecol-desc {
  color: #D2C4DB;
}

.abtu .rolecol-features {
  list-style: none;
  padding: 0;
  margin: 14px 0 0 0;
}

.abtu .rolecol-features li {
  font-size: 15px;
  line-height: 1.55;
  padding: 6px 0;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 6px;
}

.abtu .rolecol.type-a .rolecol-features li {
  color: #4a3f6b;
  border-top: 1px solid rgba(114,102,186,0.1);
}

.abtu .rolecol.type-b .rolecol-features li {
  color: rgba(255,255,255,0.82);
  border-top: 1px solid rgba(255,255,255,0.12);
}

.abtu .rolecol.type-c .rolecol-features li {
  color: #D2C4DB;
  border-top: 1px solid rgba(210,196,219,0.12);
}

.abtu .feat-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 7px;
}

.abtu .rolecol.type-a .feat-dot {
  background: #7266BA;
}

.abtu .rolecol.type-b .feat-dot {
  background: rgba(255,255,255,0.6);
}

.abtu .rolecol.type-c .feat-dot {
  background: #D2C4DB;
}

.abtu .teamprofiles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.abtu .teamprofile {
  display: flex;
  flex-direction: row;
  gap: 28px;
  align-items: flex-start;
  background: #fff;
  border-radius: 10px;
  padding: 28px;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
  transition: box-shadow 0.32s cubic-bezier(0.4,0,0.2,1);
}

.abtu .teamprofile:hover {
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
}

.abtu .portrait-wrap {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: -1px 3px 4px 0 rgba(114,102,186,0.06);
}

.abtu .portrait-wrap img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: filter 0.25s ease-in-out;
}

.abtu .teamprofile:hover .portrait-wrap img {
  filter: brightness(0.92);
}

.abtu .profile-info {
  flex: 1 1 0;
}

.abtu .profile-name {
  font-size: 16px;
  line-height: 1.55;
  color: #2a2240;
  font-weight: 700;
  display: block;
  margin-bottom: 6px;
}

.abtu .profile-pos {
  font-size: 15px;
  color: #7266BA;
  display: block;
  margin-bottom: 6px;
}

.abtu .profile-quote {
  font-size: 15px;
  line-height: 1.55;
  color: #4a3f6b;
}

.abtu .tiersec {
  margin-top: 56px;
}

.abtu .tiersec-h4 {
  font-size: 16px;
  line-height: 1.55;
  color: #2a2240;
  margin-bottom: 28px;
  text-align: center;
}

.abtu .tiers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.abtu .tier {
  border-radius: 10px;
  padding: 28px;
  background: #fff;
  box-shadow: -1px 3px 4px 0 rgba(114,102,186,0.06);
  transition: box-shadow 0.38s ease-in-out;
}

.abtu .tier:hover {
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
}

.abtu .tier-name {
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7266BA;
  display: block;
  margin-bottom: 6px;
}

.abtu .tier-label {
  font-size: 24px;
  line-height: 1.1;
  color: #2a2240;
  display: block;
  margin-bottom: 14px;
}

.abtu .tier-divider {
  height: 2px;
  background: #F2EEF6;
  border-radius: 0;
  margin-bottom: 14px;
}

.abtu .tier.featured .tier-divider {
  background: #7266BA;
}

.abtu .tier.featured {
  background: #F2EEF6;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
}

.abtu .tier-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.abtu .tier-list li {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3360;
  padding: 6px 0;
  border-top: 1px solid rgba(114,102,186,0.08);
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 6px;
}

.abtu .tier-list li:first-child {
  border-top: none !important;
}

.abtu .tier-check {
  display: inline-block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-top: 3px;
}

@keyframes bgtone {
  0% { background-position: 0% 0%; }
  50% { background-position: 100% 100%; }
  100% { background-position: 0% 0%; }
}

.abtu .topband {
  background-size: 200% 200%;
  animation: bgtone 12s ease-in-out infinite;
}

@media (max-width: 1024px) {
  .abtu .topband {
    padding: 56px 28px;
  }
  .abtu .topband-h1 {
    font-size: 48px;
  }
  .abtu .midgrid {
    padding: 56px 28px;
  }
  .abtu .midgrid-top {
    flex-direction: column;
    gap: 28px;
  }
  .abtu .midgrid-intro {
    max-width: 100%;
  }
  .abtu .imgrow {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  .abtu .imgrow-item.tall {
    grid-row: auto;
  }
  .abtu .teamgrid {
    padding: 56px 28px;
  }
  .abtu .rolecols {
    grid-template-columns: 1fr 1fr;
  }
  .abtu .tiers {
    grid-template-columns: 1fr 1fr;
  }
  .abtu .divider-a {
    padding: 0 28px;
  }
  .abtu .divider-b {
    padding: 0 28px;
  }
}

@media (max-width: 768px) {
  .abtu .topband {
    padding: 56px 14px;
  }
  .abtu .topband-h1 {
    font-size: 36px;
  }
  .abtu .topband-blobs {
    display: none;
  }
  .abtu .midgrid {
    padding: 56px 14px;
  }
  .abtu .imgrow {
    grid-template-columns: 1fr;
  }
  .abtu .metricsrow {
    gap: 14px;
  }
  .abtu .metriccard-num {
    font-size: 48px;
  }
  .abtu .teamgrid {
    padding: 56px 14px;
  }
  .abtu .rolecols {
    grid-template-columns: 1fr;
  }
  .abtu .teamprofiles {
    grid-template-columns: 1fr;
  }
  .abtu .tiers {
    grid-template-columns: 1fr;
  }
  .abtu .teamgrid-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .abtu .teamgrid-tagline {
    text-align: left;
  }
  .abtu .divider-a {
    padding: 0 14px;
  }
  .abtu .divider-b {
    padding: 0 14px;
  }
}

@media (max-width: 375px) {
  .abtu .topband-h1 {
    font-size: 28px;
  }
  .abtu .metriccard-num {
    font-size: 36px;
  }
  .abtu .teamprofile {
    flex-direction: column;
    gap: 14px;
  }
}

.ctus {
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden;
}

.ctus .topband {
  background: linear-gradient(293deg, #7266BA 0%, #D2C4DB 60%, #F2EEF6 100%);
  padding: 96px 56px 56px;
  position: relative;
}

.ctus .topband::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 18px,
    rgba(114,102,186,0.07) 18px,
    rgba(114,102,186,0.07) 20px
  ),
  repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 18px,
    rgba(114,102,186,0.07) 18px,
    rgba(114,102,186,0.07) 20px
  );
  pointer-events: none;
}

.ctus .topband::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 56px;
  background: linear-gradient(to bottom, transparent, #ffffff);
  pointer-events: none;
}

.ctus .eyebrow {
  display: inline-block;
  background: rgba(114,102,186,0.15);
  border: 1px solid rgba(114,102,186,0.3);
  border-radius: 22px;
  padding: 6px 14px;
  font-size: 15px;
  color: #7266BA;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 28px;
  position: relative;
  z-index: 1;
}

.ctus .toprow {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 56px;
  position: relative;
  z-index: 1;
}

.ctus .topleft {
  flex: 1 1 0;
}

.ctus .topright {
  flex: 0 0 340px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 28px;
}

.ctus .pagetitle {
  font-size: 64px;
  line-height: 1.1;
  color: #1e1535;
  margin: 0 0 14px 0;
}

.ctus .pagetitle .accentword {
  color: #7266BA;
}

.ctus .subline {
  font-size: 16px;
  line-height: 1.55;
  color: #3d3358;
  max-width: 480px;
  margin: 0;
}

.ctus .imgframe {
  width: 300px;
  height: 220px;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
  position: relative;
}

.ctus .imgframe img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(1.15) contrast(1.05);
}

.ctus .imgframe::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(293deg, rgba(114,102,186,0.22) 0%, transparent 60%);
  pointer-events: none;
}

.ctus .diamonddeco {
  width: 28px;
  height: 28px;
  background: #7266BA;
  transform: rotate(45deg);
  border-radius: 4px;
  opacity: 0.7;
  margin-top: 14px;
}

.ctus .contactgrid {
  display: grid;
  grid-template-columns: 1fr 1.85fr;
  gap: 56px;
  padding: 56px 56px 96px;
  background: #ffffff;
  align-items: start;
}

.ctus .infoside {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.ctus .infotag {
  display: inline-block;
  background: #F2EEF6;
  border-radius: 4px;
  padding: 6px 14px;
  font-size: 15px;
  color: #7266BA;
  font-weight: 600;
}

.ctus .infohead {
  font-size: 24px;
  line-height: 1.1;
  color: #1e1535;
  margin: 0;
}

.ctus .infohead .dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #7266BA;
  border-radius: 0px;
  margin-left: 6px;
  vertical-align: middle;
  transform: rotate(45deg);
}

.ctus .infodesc {
  font-size: 15px;
  line-height: 1.55;
  color: #3d3358;
  margin: 0;
}

.ctus .infoitems {
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-top: 2px dotted #D2C4DB;
  padding-top: 28px;
}

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

.ctus .icobox {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #F2EEF6;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: -1px 3px 4px 0 rgba(114,102,186,0.06);
  transition: background 0.25s ease-in-out, box-shadow 0.38s cubic-bezier(0.4,0,0.2,1);
}

.ctus .icobox:hover {
  background: #D2C4DB;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
}

.ctus .icobox svg {
  width: 18px;
  height: 18px;
}

.ctus .itemdetail {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ctus .itemlabel {
  font-size: 15px;
  color: #7266BA;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  line-height: 1.1;
}

.ctus .itemval {
  font-size: 15px;
  line-height: 1.55;
  color: #1e1535;
  text-decoration: none;
  transition: color 0.2s ease-in-out;
}

.ctus .itemval:hover {
  color: #7266BA;
}

.ctus .formside {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.ctus .formcard {
  background: #F2EEF6;
  border-radius: 22px;
  padding: 56px;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
  position: relative;
}

.ctus .formcard::before {
  content: '';
  position: absolute;
  top: 28px;
  right: 28px;
  width: 18px;
  height: 18px;
  background: #D2C4DB;
  transform: rotate(45deg);
  border-radius: 4px;
  pointer-events: none;
}

.ctus .formtitle {
  font-size: 24px;
  line-height: 1.1;
  color: #1e1535;
  margin: 0 0 28px 0;
}

.ctus .formrow {
  display: flex;
  flex-direction: row;
  gap: 14px;
  margin-bottom: 14px;
}

.ctus .fieldgrp {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1 1 0;
}

.ctus .fieldgrp.full {
  flex: 1 1 100%;
}

.ctus .flabel {
  font-size: 15px;
  color: #3d3358;
  font-weight: 600;
  line-height: 1.1;
}

.ctus .finput {
  background: #ffffff;
  border: 1.5px solid #D2C4DB;
  border-radius: 10px;
  padding: 14px;
  font-size: 16px;
  color: #1e1535;
  width: 100%;
  box-sizing: border-box;
  outline: none;
  box-shadow: inset -1px 3px 4px 0 rgba(114,102,186,0.06);
  transition: border-color 0.2s ease-in-out, box-shadow 0.35s cubic-bezier(0.4,0,0.2,1);
}

.ctus .finput::placeholder {
  color: rgba(30,21,53,0.4);
}

.ctus .finput:focus {
  border-color: #7266BA;
  box-shadow: inset -1px 3px 4px 0 rgba(114,102,186,0.1), -1px 3px 4px 0 rgba(114,102,186,0.06);
}

.ctus .budgetlabel {
  font-size: 15px;
  color: #3d3358;
  font-weight: 600;
  margin-bottom: 14px;
  display: block;
  line-height: 1.1;
}

.ctus .budgetopts {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 28px;
}

.ctus .budgetopt {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  cursor: pointer;
}

.ctus .budgetopt input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #D2C4DB;
  border-radius: 0px;
  background: #ffffff;
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
  transition: border-color 0.2s ease-in-out, background 0.2s ease-in-out;
  transform: rotate(45deg);
}

.ctus .budgetopt input[type="radio"]:checked {
  background: #7266BA;
  border-color: #7266BA;
}

.ctus .budgetopt input[type="radio"]:checked::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 10px;
  height: 10px;
  background: #ffffff;
  border-radius: 0px;
}

.ctus .budgetopt input[type="radio"]:focus {
  outline: 2px solid #7266BA;
  outline-offset: 2px;
}

.ctus .opttext {
  font-size: 15px;
  color: #1e1535;
  line-height: 1.55;
}

.ctus .privacyrow {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 28px;
}

.ctus .privacycheck {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #D2C4DB;
  border-radius: 4px;
  background: #ffffff;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: border-color 0.18s ease-in-out, background 0.18s ease-in-out;
}

.ctus .privacycheck:checked {
  background: #7266BA;
  border-color: #7266BA;
}

.ctus .privacycheck:checked::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 6px;
  width: 5px;
  height: 10px;
  border: 2px solid #ffffff;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}

.ctus .privacycheck:focus {
  outline: 2px solid #7266BA;
  outline-offset: 2px;
}

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

.ctus .privacytext a {
  color: #7266BA;
  text-decoration: none;
  border-radius: 4px;
  padding: 0 4px;
  transition: background 0.2s ease-in-out;
}

.ctus .privacytext a:hover {
  background: rgba(114,102,186,0.12);
}

.ctus .submitbtn {
  background: linear-gradient(293deg, #7266BA 0%, #5a51a0 100%);
  color: #ffffff;
  border: none;
  border-radius: 10px;
  padding: 14px 56px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.14);
  transition: background 0.35s cubic-bezier(0.4,0,0.2,1), box-shadow 0.35s cubic-bezier(0.4,0,0.2,1), filter 0.2s ease-in-out;
  letter-spacing: 0.03em;
  display: inline-block;
}

.ctus .submitbtn:hover {
  background: linear-gradient(113deg, #7266BA 0%, #5a51a0 100%);
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.22);
  filter: brightness(0.93);
}

.ctus .submitbtn:active {
  filter: brightness(0.87);
  box-shadow: -1px 3px 4px 0 rgba(114,102,186,0.09);
}

.ctus .submitbtn:focus {
  outline: 2px solid #7266BA;
  outline-offset: 3px;
}

@media (max-width: 1024px) {
  .ctus .topband {
    padding: 56px 28px 56px;
  }
  .ctus .toprow {
    flex-direction: column;
    gap: 28px;
  }
  .ctus .topright {
    flex: none;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .ctus .contactgrid {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 56px 28px;
  }
  .ctus .formcard {
    padding: 28px;
  }
}

@media (max-width: 768px) {
  .ctus .pagetitle {
    font-size: 24px;
  }
  .ctus .topband {
    padding: 56px 14px 28px;
  }
  .ctus .contactgrid {
    padding: 28px 14px;
  }
  .ctus .formrow {
    flex-direction: column;
    gap: 14px;
  }
  .ctus .formcard {
    padding: 28px 14px;
  }
  .ctus .imgframe {
    width: 100%;
    height: 180px;
  }
  .ctus .submitbtn {
    width: 100%;
    padding: 14px 28px;
  }
}

@media (max-width: 375px) {
  .ctus .pagetitle {
    font-size: 24px;
  }
  .ctus .topband {
    padding: 28px 14px 28px;
  }
  .ctus .budgetopts {
    gap: 14px;
  }
}

.stats {
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden;
}

.stats .eyebrow {
  display: inline-block;
  background: #F2EEF6;
  color: #7266BA;
  font-size: 15px;
  line-height: 1.55;
  padding: 6px 14px;
  border-radius: 22px;
  margin-bottom: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.stats .dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 38px;
  background: #7266BA;
  margin-left: 6px;
  vertical-align: middle;
  flex-shrink: 0;
}

.stats .thickline {
  width: 56px;
  height: 4px;
  background: #7266BA;
  border-radius: 4px;
  margin-bottom: 28px;
}

.stats .pilllink {
  display: inline;
  color: #7266BA;
  text-decoration: none;
  padding: 2px 6px;
  border-radius: 10px;
  transition: background 0.25s ease-in-out;
}
.stats .pilllink:hover {
  background: #F2EEF6;
}

.stats .dotscatter {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.stats .dotscatter span {
  position: absolute;
  border-radius: 38px;
  background: #7266BA;
  opacity: 0.07;
}
.stats .dotscatter span:nth-child(1)  { width:6px;  height:6px;  top:8%;  left:5%; }
.stats .dotscatter span:nth-child(2)  { width:12px; height:12px; top:15%; left:18%; }
.stats .dotscatter span:nth-child(3)  { width:4px;  height:4px;  top:30%; left:9%; }
.stats .dotscatter span:nth-child(4)  { width:9px;  height:9px;  top:55%; left:3%; }
.stats .dotscatter span:nth-child(5)  { width:5px;  height:5px;  top:72%; left:22%; }
.stats .dotscatter span:nth-child(6)  { width:14px; height:14px; top:88%; left:11%; }
.stats .dotscatter span:nth-child(7)  { width:7px;  height:7px;  top:10%; left:82%; }
.stats .dotscatter span:nth-child(8)  { width:10px; height:10px; top:40%; left:91%; }
.stats .dotscatter span:nth-child(9)  { width:5px;  height:5px;  top:65%; left:78%; }
.stats .dotscatter span:nth-child(10) { width:8px;  height:8px;  top:80%; left:88%; }
.stats .dotscatter span:nth-child(11) { width:3px;  height:3px;  top:20%; left:55%; }
.stats .dotscatter span:nth-child(12) { width:6px;  height:6px;  top:90%; left:60%; }

.stats .titleblock {
  position: relative;
  padding: 96px 56px;
  background: linear-gradient(293deg, #F2EEF6 0%, #fff 60%),
              radial-gradient(ellipse at 80% 20%, #D2C4DB 0%, transparent 60%);
  background-blend-mode: multiply;
}

.stats .titlegrid {
  display: flex;
  flex-direction: row;
  gap: 56px;
  align-items: flex-start;
  max-width: 1600px;
}

.stats .titletext {
  flex: 1 1 0;
  min-width: 0;
}

.stats .titletext h1 {
  font-size: 64px;
  line-height: 1.1;
  color: #1e1a2e;
  margin: 0 0 28px 0;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 6px;
}

.stats .titleimg {
  flex: 0 0 420px;
  width: 420px;
  height: 340px;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
  position: relative;
}

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

.stats .titleimg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(293deg, rgba(114,102,186,0.13) 0%, transparent 70%);
  pointer-events: none;
}

.stats .statrow {
  display: flex;
  flex-direction: row;
  gap: 28px;
  margin-top: 28px;
  flex-wrap: wrap;
}

.stats .statshape {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 120px;
  border: 3px solid #7266BA;
  border-radius: 10px;
  background: #fff;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
  flex-shrink: 0;
  transition: box-shadow 0.35s cubic-bezier(0.4,0,0.2,1), transform 0.28s ease-in-out;
}
.stats .statshape:hover {
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
  transform: translateY(-3px);
}

.stats .statshape.circle {
  border-radius: 38px;
}

.stats .statshape.hex {
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  border: none;
  background: linear-gradient(293deg, #7266BA 0%, #D2C4DB 100%);
}

.stats .statshape.hex .statnum {
  color: #fff;
}
.stats .statshape.hex .statlabel {
  color: rgba(255,255,255,0.85);
}

.stats .statnum {
  font-size: 24px;
  line-height: 1.1;
  font-weight: 700;
  color: #7266BA;
}

.stats .statlabel {
  font-size: 15px;
  line-height: 1.55;
  color: #5a5270;
  text-align: center;
  padding: 0 6px;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}

.stats .titletext .eyebrow { animation: fadeUp 0.4s cubic-bezier(0.4,0,0.2,1) 0.05s both; }
.stats .titletext h1        { animation: fadeUp 0.45s cubic-bezier(0.4,0,0.2,1) 0.15s both; }
.stats .thickline           { animation: fadeUp 0.38s cubic-bezier(0.4,0,0.2,1) 0.22s both; }
.stats .statrow .statshape:nth-child(1) { animation: fadeUp 0.4s cubic-bezier(0.4,0,0.2,1) 0.28s both; }
.stats .statrow .statshape:nth-child(2) { animation: fadeUp 0.4s cubic-bezier(0.4,0,0.2,1) 0.36s both; }
.stats .statrow .statshape:nth-child(3) { animation: fadeUp 0.4s cubic-bezier(0.4,0,0.2,1) 0.44s both; }
.stats .titleimg            { animation: fadeUp 0.5s cubic-bezier(0.4,0,0.2,1) 0.2s both; }

.stats .secdivider {
  height: 4px;
  background: #7266BA;
  border-radius: 4px;
  margin: 0 56px;
}

.stats .datablock {
  padding: 96px 56px;
  background: linear-gradient(180deg, #1e1a2e 0%, #2e2550 100%);
  position: relative;
}

.stats .datablock .dotscatter span {
  background: #D2C4DB;
  opacity: 0.09;
}

.stats .datablocktitle {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 56px;
  margin-bottom: 56px;
}

.stats .datablocktitle h2 {
  font-size: 24px;
  line-height: 1.55;
  color: #F2EEF6;
  margin: 0;
  flex: 0 0 320px;
}

.stats .datablocktitle p {
  font-size: 15px;
  line-height: 1.55;
  color: #D2C4DB;
  margin: 0;
  flex: 1 1 0;
  min-width: 0;
}

.stats .twocol {
  display: flex;
  flex-direction: row;
  gap: 28px;
}

.stats .narrowcol {
  flex: 1 1 0;
  min-width: 0;
}

.stats .widecol {
  flex: 2 1 0;
  min-width: 0;
}

.stats .metricslist {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.stats .metriccard {
  background: rgba(255,255,255,0.05);
  border-radius: 10px;
  padding: 14px 28px;
  box-shadow: inset 0 0 0 1px rgba(210,196,219,0.18), -1px 3px 4px 0 rgba(114,102,186,0.06);
  transition: background 0.32s ease-in-out;
}
.stats .metriccard:hover {
  background: rgba(255,255,255,0.09);
}

.stats .metriclabel {
  font-size: 15px;
  line-height: 1.55;
  color: #D2C4DB;
  margin: 0 0 6px 0;
}

.stats .metricbar {
  height: 8px;
  border-radius: 4px;
  background: rgba(255,255,255,0.1);
  overflow: hidden;
}

.stats .metricfill {
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(293deg, #7266BA 0%, #D2C4DB 100%);
  animation: barGrow 0.7s cubic-bezier(0.4,0,0.2,1) both;
}

@keyframes barGrow {
  from { width: 0 !important; }
  to   { }
}

.stats .metricval {
  font-size: 15px;
  line-height: 1.55;
  color: #7266BA;
  margin: 6px 0 0 0;
  font-weight: 700;
}

.stats .comparisonblock {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: -1px 12px 36px 0 rgba(114,102,186,0.14);
  display: flex;
  flex-direction: column;
}

.stats .comparetop {
  display: flex;
  flex-direction: row;
}

.stats .comparebefore {
  flex: 1 1 0;
  padding: 28px;
  background: rgba(255,255,255,0.04);
  border-bottom: 2px solid rgba(210,196,219,0.15);
}

.stats .compareafter {
  flex: 1 1 0;
  padding: 28px;
  background: rgba(114,102,186,0.18);
  border-bottom: 2px solid rgba(114,102,186,0.35);
}

.stats .comparelabel {
  font-size: 15px;
  line-height: 1.55;
  color: #D2C4DB;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 14px 0;
}

.stats .compareval {
  font-size: 64px;
  line-height: 1.1;
  font-weight: 700;
  margin: 0 0 6px 0;
}

.stats .comparebefore .compareval { color: rgba(210,196,219,0.6); }
.stats .compareafter .compareval  { color: #F2EEF6; }

.stats .comparedesc {
  font-size: 15px;
  line-height: 1.55;
  color: #D2C4DB;
  margin: 0;
}

.stats .comparebottom {
  padding: 28px;
  background: rgba(255,255,255,0.03);
  display: flex;
  flex-direction: row;
  gap: 28px;
  flex-wrap: wrap;
}

.stats .comparestat {
  flex: 1 1 160px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.stats .comparestatnum {
  font-size: 24px;
  line-height: 1.1;
  color: #7266BA;
  font-weight: 700;
}

.stats .comparestatdesc {
  font-size: 15px;
  line-height: 1.55;
  color: #D2C4DB;
}

.stats .researchcredit {
  margin-top: 56px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.stats .portraitwrap {
  width: 56px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: -1px 6px 22px 0 rgba(114,102,186,0.09);
}

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

.stats .credittext {
  flex: 1 1 0;
  min-width: 0;
}

.stats .creditname {
  font-size: 16px;
  line-height: 1.55;
  color: #F2EEF6;
  font-weight: 700;
  margin: 0 0 6px 0;
}

.stats .creditrole {
  font-size: 15px;
  line-height: 1.55;
  color: #D2C4DB;
  margin: 0;
}

.stats .badgepill {
  display: inline-block;
  background: rgba(114,102,186,0.22);
  color: #D2C4DB;
  font-size: 15px;
  line-height: 1.55;
  padding: 6px 14px;
  border-radius: 22px;
  border: 1px solid rgba(114,102,186,0.4);
}

@media (max-width: 1024px) {
  .stats .titlegrid {
    flex-direction: column;
    gap: 28px;
  }
  .stats .titleimg {
    flex: 0 0 auto;
    width: 100%;
    height: 260px;
  }
  .stats .titletext h1 {
    font-size: 64px;
  }
  .stats .datablocktitle {
    flex-direction: column;
    gap: 14px;
  }
  .stats .datablocktitle h2 {
    flex: none;
  }
  .stats .twocol {
    flex-direction: column;
  }
}

@media (max-width: 768px) {
  .stats .titleblock,
  .stats .datablock {
    padding: 56px 28px;
  }
  .stats .secdivider {
    margin: 0 28px;
  }
  .stats .titletext h1 {
    font-size: 64px;
  }
  .stats .statrow {
    gap: 14px;
  }
  .stats .statshape {
    width: 96px;
    height: 96px;
  }
  .stats .comparetop {
    flex-direction: column;
  }
  .stats .comparebottom {
    gap: 14px;
  }
  .stats .datablocktitle {
    gap: 14px;
    margin-bottom: 28px;
  }
}

@media (max-width: 375px) {
  .stats .titleblock,
  .stats .datablock {
    padding: 56px 14px;
  }
  .stats .secdivider {
    margin: 0 14px;
  }
  .stats .titletext h1 {
    font-size: 24px;
  }
  .stats .statshape {
    width: 80px;
    height: 80px;
  }
  .stats .statnum {
    font-size: 16px;
  }
  .stats .compareval {
    font-size: 24px;
  }
}

.successPage {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 56px 28px;
    background: #F2EEF6;
}

.successPage .successCard {
    background: #ffffff;
    border-radius: 22px;
    box-shadow: -1px 12px 36px 0 rgba(114, 102, 186, 0.14);
    padding: 56px;
    max-width: 560px;
    width: 100%;
    text-align: center;
}

.successPage .successIconWrap {
    width: 72px;
    height: 72px;
    border-radius: 38px;
    background: linear-gradient(293deg, #7266BA 0%, #D2C4DB 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 28px;
    box-shadow: -1px 6px 22px 0 rgba(114, 102, 186, 0.09);
}

.successPage .successIconWrap svg {
    display: block;
}

.successPage .successHeading {
    font-size: 24px;
    line-height: 1.1;
    color: #2a2040;
    margin: 0 0 14px;
    letter-spacing: 0;
}

.successPage .successHeadingDot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #7266BA;
    margin-left: 6px;
    vertical-align: middle;
    position: relative;
    top: -3px;
}

.successPage .successText {
    font-size: 15px;
    line-height: 1.55;
    color: #4a4060;
    margin: 0 0 28px;
}

.successPage .successDivider {
    width: 48px;
    height: 2px;
    background: linear-gradient(293deg, #7266BA, #D2C4DB);
    border-radius: 4px;
    margin: 0 auto 28px;
}

.successPage .successMeta {
    font-size: 15px;
    line-height: 1.55;
    color: #6b5f8a;
    margin: 0 0 28px;
    background: #F2EEF6;
    border-radius: 10px;
    padding: 14px 28px;
}

.successPage .successMeta strong {
    color: #2a2040;
    font-weight: 600;
}

.successPage .successBackBtn {
    display: inline-block;
    background: linear-gradient(293deg, #7266BA 0%, #9b8fd4 100%);
    color: #ffffff;
    font-size: 15px;
    line-height: 1.55;
    padding: 14px 28px;
    border-radius: 10px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    box-shadow: -1px 6px 22px 0 rgba(114, 102, 186, 0.09);
    transition: filter 0.25s ease-in-out, box-shadow 0.38s cubic-bezier(0.4,0,0.2,1);
}

.successPage .successBackBtn:hover {
    filter: brightness(0.92);
    box-shadow: -1px 12px 36px 0 rgba(114, 102, 186, 0.14);
}

.successPage .successBackBtn:active {
    filter: brightness(0.85);
}

.successPage .successBackBtn:focus-visible {
    outline: 2px solid #7266BA;
    outline-offset: 3px;
}

.successPage .successFootNote {
    margin: 28px 0 0;
    font-size: 15px;
    line-height: 1.55;
    color: #8878aa;
}

.successPage .successFootNote a {
    color: #7266BA;
    text-decoration: none;
    border-radius: 4px;
    padding: 0 6px;
    transition: background 0.2s ease-in-out, color 0.18s ease-in-out;
}

.successPage .successFootNote a:hover {
    background: #D2C4DB;
    color: #2a2040;
}

@media (max-width: 768px) {
    .successPage .successCard {
        padding: 28px;
    }
}

@media (max-width: 375px) {
    .successPage {
        padding: 28px 14px;
    }

    .successPage .successCard {
        padding: 28px 14px;
    }
}
