@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-sans@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-sans@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-sans@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-sans@latest/700-italic.css";

html {
box-sizing: border-box
}

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

body {
margin: 0;
padding: 0;
font-family: 'Fira Sans', sans-serif;
-webkit-text-size-adjust: 100%;
word-break: break-word;
overflow-wrap: break-word;
background: linear-gradient(165deg, #FFF 0%, #F8F6FA 40%, #FFF 100%)
}

.brandmark {
background: linear-gradient(135deg, #cd67fd0a 0%, #ffffffeb 100%);
border-bottom: 1px solid #09002c0f;
box-shadow: 1px 2px 6px 0 #09002c14;
position: relative;
z-index: 100
}

.brandhold {
max-width: 1280px;
margin: 0 auto;
padding: 40px 40px 16px;
display: flex;
flex-direction: column;
gap: 16px
}

.logomount {
display: flex;
align-items: center;
gap: 16px;
padding-bottom: 16px;
border-bottom: 2px solid #cd67fd2e
}

.logoframe {
width: 78px;
height: 78px;
background: #ffffffe0;
border: 1px solid #09002c1f;
border-radius: 48px;
box-shadow: 1px 5px 28px 0 #09002c1a;
display: flex;
align-items: center;
justify-content: center;
padding: 16px;
flex-shrink: 0
}

.logoframe img {
width: 100%;
height: 100%;
object-fit: contain
}

.companyident {
display: flex;
flex-direction: column;
gap: 4px
}

.companyname {
font-size: 42px;
font-weight: 700;
line-height: 1.1;
color: #09002C;
margin: 0;
letter-spacing: -.02em
}

.tagline {
font-size: 16px;
font-weight: 400;
line-height: 1.5;
color: #09002cad;
margin: 0;
font-style: italic
}

.topnav {
display: flex;
flex-wrap: wrap;
gap: 8px 40px;
align-items: center;
padding: 16px 0
}

.navlink {
font-size: 16px;
font-weight: 400;
line-height: 1.5;
color: #09002C;
text-decoration: none;
padding: 8px 16px;
border-radius: 6px;
background: #fff9;
border: 1px solid #09002c14;
transition: background-color .18s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.navlink::before {
content: '';
position: absolute;
top: 0;
right: 100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, #cd67fd1f 0%, #cd67fd2e 100%);
transition: right .24s cubic-bezier(0.0, 0, 0.2, 1);
z-index: -1
}

.navlink:hover::before {
right: 0
}

.navlink:hover {
border-color: #cd67fd52;
box-shadow: 1px 2px 6px 0 #cd67fd14
}

.navlink:focus {
background: #cd67fd24;
outline: 2px solid #cd67fd66;
outline-offset: 2px
}

@media (max-width: 1024px) {
.brandhold {
padding: 40px 16px 16px
}

.topnav {
gap: 8px 16px
}
}

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

.logoframe {
width: 72px;
height: 72px;
padding: 16px
}

.topnav {
gap: 8px
}

.navlink {
font-size: 16px;
padding: 8px 16px
}
}

@media (max-width: 360px) {
.brandhold {
padding: 16px 8px 8px
}

.companyname {
font-size: 42px
}

.logoframe {
width: 70px;
height: 70px
}
}

.baseshell {
max-width: 1280px;
margin: 0 auto;
padding: 80px 40px
}

.basefoot {
background: linear-gradient(180deg, #09002C 0%, #1A0854 100%);
color: #FFF;
position: relative;
overflow: hidden
}

.basefoot::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #CD67FD 0%, #cd67fd66 100%)
}

.foothold {
max-width: 1280px;
margin: 0 auto;
padding: 80px 40px 40px;
display: flex;
flex-direction: column;
gap: 80px
}

.footgrid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 40px
}

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

.footheading {
font-size: 19px;
font-weight: 700;
line-height: 1.5;
color: #CD67FD;
margin: 0;
text-transform: uppercase;
letter-spacing: .08em
}

.foottext {
font-size: 16px;
font-weight: 400;
line-height: 1.8;
color: #ffffffd6;
margin: 0
}

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

.footlistitem {
display: flex;
align-items: flex-start
}

.footlistitem::before {
content: '';
width: 6px;
height: 6px;
background: #CD67FD;
border-radius: 48px;
margin-top: 8px;
margin-right: 8px;
flex-shrink: 0
}

.footlink {
font-size: 16px;
font-weight: 400;
line-height: 1.8;
color: #ffffffd6;
text-decoration: none;
transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.footlink:hover {
color: #CD67FD
}

.footlink:focus {
background: #cd67fd3d;
outline: 2px solid #cd67fd99;
outline-offset: 2px
}

.contactdetail {
display: flex;
align-items: flex-start;
gap: 8px;
margin-bottom: 8px
}

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

.contacticon svg {
width: 100%;
height: 100%;
fill: #CD67FD
}

.contactvalue {
font-size: 16px;
font-weight: 400;
line-height: 1.8;
color: #ffffffd6;
margin: 0
}

.contactvalue a {
color: #ffffffd6;
text-decoration: none;
transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactvalue a:hover {
color: #CD67FD
}

.contactvalue a:focus {
background: #cd67fd3d;
outline: 2px solid #cd67fd99;
outline-offset: 2px
}

.footdivider {
height: 1px;
background: linear-gradient(90deg, #cd67fd33 0%, #cd67fd0d 100%);
border: none;
margin: 0
}

.footbottom {
display: flex;
flex-direction: column;
gap: 40px;
align-items: center
}

.footlogomount {
display: flex;
justify-content: center
}

.footlogoframe {
width: 74px;
height: 74px;
background: #ffffff14;
border: 1px solid #cd67fd3d;
border-radius: 48px;
box-shadow: 1px 5px 28px 0 #cd67fd1a;
display: flex;
align-items: center;
justify-content: center;
padding: 16px
}

.footlogoframe img {
width: 100%;
height: 100%;
object-fit: contain
}

.footnav {
display: flex;
flex-wrap: wrap;
gap: 16px 40px;
justify-content: center;
align-items: center
}

.footnavlink {
font-size: 16px;
font-weight: 400;
line-height: 1.5;
color: #ffffffb8;
text-decoration: none;
transition: color .18s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
padding-bottom: 4px
}

.footnavlink::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 1px;
background: #CD67FD;
transition: width .24s cubic-bezier(0.0, 0, 0.2, 1)
}

.footnavlink:hover::after {
width: 100%
}

.footnavlink:hover {
color: #CD67FD
}

.footnavlink:focus {
background: #cd67fd3d;
outline: 2px solid #cd67fd99;
outline-offset: 2px
}

.copyright {
font-size: 16px;
font-weight: 400;
line-height: 1.5;
color: #ffffff8f;
text-align: center;
margin: 0
}

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

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

@media (max-width: 768px) {
.foothold {
gap: 40px
}

.footbottom {
gap: 40px
}

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

@media (max-width: 360px) {
.foothold {
padding: 40px 8px 16px
}
}

.consentpanel {
position: fixed;
top: 40px;
left: 0;
right: 0;
margin: 0 auto;
max-width: 1080px;
background: linear-gradient(135deg, #FFF 0%, #f8f6fafa 100%);
border: 1px solid #09002c1f;
border-radius: 6px;
box-shadow: 1px 12px 48px 0 #09002c1f;
padding: 40px;
z-index: 1500;
display: none;
transform: translateX(-100%);
opacity: 0;
transition: transform .32s cubic-bezier(0.0, 0, 0.2, 1), opacity .32s cubic-bezier(0.0, 0, 0.2, 1)
}

.consentpanel.visible {
transform: translateX(0);
opacity: 1
}

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

.consentdesc {
font-size: 16px;
font-weight: 400;
line-height: 1.8;
color: #09002ce0;
margin: 0
}

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

.consentbtn {
font-family: 'Fira Sans', sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 1.5;
padding: 8px 16px;
border: none;
border-radius: 6px;
cursor: pointer;
transition: background-color .18s cubic-bezier(0.4, 0, 0.2, 1), color .18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.consentbtn.primary {
background: #09002C;
color: #FFF
}

.consentbtn.primary::before {
content: '';
position: absolute;
top: 0;
right: 100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, #1A0854 0%, #2D0B7A 100%);
transition: right .24s cubic-bezier(0.0, 0, 0.2, 1);
z-index: -1
}

.consentbtn.primary:hover::before {
right: 0
}

.consentbtn.primary:hover {
box-shadow: 1px 5px 28px 0 #09002c1a
}

.consentbtn.primary:focus {
background: #1A0854;
outline: 2px solid #cd67fd99;
outline-offset: 2px
}

.consentbtn.secondary {
background: transparent;
color: #09002C;
text-decoration: underline;
padding: 8px
}

.consentbtn.secondary:hover {
color: #CD67FD
}

.consentbtn.secondary:focus {
background: #cd67fd24;
outline: 2px solid #cd67fd66;
outline-offset: 2px
}

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

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

.categoryrow {
display: flex;
align-items: center;
gap: 16px;
padding: 16px;
background: #fff9;
border: 1px solid #09002c14;
border-radius: 6px
}

.categoryrow.required {
opacity: .6
}

.categorylabel {
flex: 1;
display: flex;
flex-direction: column;
gap: 4px
}

.categoryname {
font-size: 16px;
font-weight: 700;
line-height: 1.5;
color: #09002C;
margin: 0
}

.categorydesc {
font-size: 16px;
font-weight: 400;
line-height: 1.5;
color: #09002cad;
margin: 0
}

.categorytoggle {
width: 48px;
height: 28px;
background: #DCDCDC;
border: 1px solid #09002c1f;
border-radius: 48px;
position: relative;
cursor: pointer;
transition: background-color .18s cubic-bezier(0.4, 0, 0.2, 1);
flex-shrink: 0
}

.categorytoggle::after {
content: '';
position: absolute;
top: 2px;
left: 2px;
width: 22px;
height: 22px;
background: #FFF;
border-radius: 48px;
box-shadow: 1px 2px 6px 0 #09002c14;
transition: left .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.categorycheckbox {
display: none
}

.categorycheckbox:checked+.categorytoggle {
background: #CD67FD
}

.categorycheckbox:checked+.categorytoggle::after {
left: 22px
}

.categorycheckbox:disabled+.categorytoggle {
cursor: not-allowed;
opacity: .5
}

.consentback {
font-family: 'Fira Sans', sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 1.5;
color: #09002C;
background: transparent;
border: none;
padding: 8px;
cursor: pointer;
text-decoration: underline;
transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.consentback:hover {
color: #CD67FD
}

.consentback:focus {
background: #cd67fd24;
outline: 2px solid #cd67fd66;
outline-offset: 2px
}

.preferencetab {
position: fixed;
right: 0;
top: 50%;
transform: translateY(-50%);
background: linear-gradient(135deg, #09002C 0%, #1A0854 100%);
color: #FFF;
border: 1px solid #cd67fd3d;
border-right: none;
border-radius: 6px 0 0 6px;
padding: 16px 8px;
font-size: 16px;
font-weight: 400;
line-height: 1.5;
cursor: pointer;
z-index: 1400;
box-shadow: 1px 5px 28px 0 #09002c1a;
transition: background-color .18s cubic-bezier(0.4, 0, 0.2, 1);
writing-mode: vertical-rl;
text-orientation: mixed;
display: none
}

.preferencetab:hover {
background: linear-gradient(135deg, #1A0854 0%, #2D0B7A 100%)
}

.preferencetab:focus {
background: #1A0854;
outline: 2px solid #cd67fd99;
outline-offset: -2px
}

@media (max-width: 1024px) {
.consentpanel {
max-width: calc(100% - 32px);
left: 16px;
right: 16px;
margin: 0
}
}

@media (max-width: 768px) {
.consentpanel {
padding: 16px;
top: 16px
}

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

.consentbtn {
width: 100%;
text-align: center
}
}

@media (max-width: 360px) {
.consentpanel {
left: 8px;
right: 8px
}
}

.text-policy {
max-width: 1280px;
margin: 0 auto;
padding: 80px 16px;
background: #fff
}

@media (min-width: 768px) {
.text-policy {
padding: 80px 40px
}
}

@media (min-width: 1024px) {
.text-policy {
padding: 80px
}
}

.text-policy h1 {
font-size: 72px;
line-height: 1.1;
color: #09002C;
margin: 0 0 40px
}

@media (min-width: 768px) {
.text-policy h1 {
margin: 0 0 80px
}
}

.text-policy h2 {
font-size: 42px;
line-height: 1.1;
color: #09002C;
margin: 80px 0 40px
}

.text-policy h3 {
font-size: 19px;
line-height: 1.5;
color: #09002C;
margin: 40px 0 16px;
font-weight: 600
}

.text-policy h4,
.text-policy h5,
.text-policy h6 {
font-size: 19px;
line-height: 1.5;
color: #09002C;
margin: 40px 0 16px;
font-weight: 600
}

.text-policy p {
font-size: 16px;
line-height: 1.8;
color: #09002C;
margin: 0 0 16px
}

.text-policy ul,
.text-policy ol {
font-size: 16px;
line-height: 1.8;
color: #09002C;
margin: 0 0 16px;
padding: 0 0 0 40px
}

.text-policy li {
margin: 0 0 8px
}

.text-policy li:last-child {
margin-bottom: 0
}

.text-policy strong,
.text-policy b {
font-weight: 600;
color: #09002C
}

.text-policy em,
.text-policy i {
font-style: italic
}

.text-policy a {
color: #CD67FD;
text-decoration: none;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
position: relative
}

.text-policy a:hover {
color: #09002C
}

.text-policy a:focus {
outline: 2px solid #CD67FD;
outline-offset: 2px;
border-radius: 6px
}

.text-policy h1:first-child {
margin-top: 0
}

.text-policy h2:first-child,
.text-policy h3:first-child,
.text-policy h4:first-child,
.text-policy h5:first-child,
.text-policy h6:first-child {
margin-top: 0
}

@media (min-width: 768px) {
.text-policy h1 {
font-size: 72px
}

.text-policy h2 {
font-size: 42px
}
}

@media (min-width: 1024px) {

.text-policy p,
.text-policy ul,
.text-policy ol {
font-size: 19px
}
}

.contactpg {
background: #FEFEFE;
color: #09002C;
position: relative;
overflow-x: clip
}

.contactpg::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(110deg, #cd67fd08 0%, #dcdcdc05 100%);
pointer-events: none;
z-index: 0
}

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

.contactpg .topzone {
position: relative;
padding: 80px 16px;
background: linear-gradient(110deg, #09002C 0%, #1a0854 48%, #2d1166 100%);
overflow: hidden
}

.contactpg .topzone::before {
content: '';
position: absolute;
top: -50%;
left: -10%;
width: 120%;
height: 200%;
background: radial-gradient(circle at 30% 40%, #cd67fd26 0%, transparent 50%);
animation: fogdriftone 18s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
pointer-events: none
}

.contactpg .topzone::after {
content: '';
position: absolute;
bottom: -50%;
right: -10%;
width: 120%;
height: 200%;
background: radial-gradient(circle at 70% 60%, #dcdcdc14 0%, transparent 50%);
animation: fogdrifttwo 22s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate-reverse;
pointer-events: none
}

@keyframes fogdriftone {
0% {
transform: translate(0, 0) rotate(0deg)
}

100% {
transform: translate(8%, -5%) rotate(3deg)
}
}

@keyframes fogdrifttwo {
0% {
transform: translate(0, 0) rotate(0deg)
}

100% {
transform: translate(-6%, 4%) rotate(-2deg)
}
}

.contactpg .topzone .zigzagdeco {
position: absolute;
bottom: -2px;
left: 0;
width: 100%;
height: 16px;
background: linear-gradient(135deg, #FEFEFE 25%, transparent 25%), linear-gradient(225deg, #FEFEFE 25%, transparent 25%);
background-size: 40px 16px;
background-position: 0 0, 20px 0;
background-repeat: repeat-x;
z-index: 2
}

.contactpg .topzone .topinner {
max-width: 1280px;
margin: 0 auto;
position: relative;
z-index: 1
}

.contactpg .topzone .maintitle {
font-size: 72px;
line-height: 1.1;
color: #FEFEFE;
margin: 0 0 40px;
animation: slidefromleft .25s cubic-bezier(0.0, 0, 0.2, 1) both
}

@keyframes slidefromleft {
0% {
opacity: 0;
transform: translateX(-80px)
}

100% {
opacity: 1;
transform: translateX(0)
}
}

.contactpg .topzone .maintitle .accentword {
color: #CD67FD;
position: relative
}

.contactpg .topzone .supporttext {
font-size: 19px;
line-height: 1.5;
color: #fefefee0;
max-width: 680px;
margin: 0;
animation: slidefromright .28s cubic-bezier(0.0, 0, 0.2, 1) .08s both
}

@keyframes slidefromright {
0% {
opacity: 0;
transform: translateX(80px)
}

100% {
opacity: 1;
transform: translateX(0)
}
}

.contactpg .topzone .shapedeco {
position: absolute;
top: 40px;
right: 80px;
width: 120px;
height: 120px;
border: 2px solid #cd67fd33;
border-radius: 48px;
transform: rotate(15deg);
pointer-events: none;
animation: slidefromtop .22s cubic-bezier(0.0, 0, 0.2, 1) .15s both
}

@keyframes slidefromtop {
0% {
opacity: 0;
transform: translateY(-60px) rotate(15deg)
}

100% {
opacity: 1;
transform: translateY(0) rotate(15deg)
}
}

.contactpg .mainform {
position: relative;
padding: 80px 16px;
background: #FEFEFE
}

.contactpg .mainform .dividerband {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 8px;
background: linear-gradient(90deg, #CD67FD 0%, #cd67fd00 100%)
}

.contactpg .mainform .forminner {
max-width: 1280px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1.8fr;
gap: 80px;
align-items: start
}

.contactpg .mainform .infocolumn {
animation: slidefromleft .24s cubic-bezier(0.0, 0, 0.2, 1) .1s both
}

.contactpg .mainform .infocolumn .sectionhead {
font-size: 42px;
line-height: 1.1;
color: #09002C;
margin: 0 0 16px;
position: relative;
padding-top: 16px
}

.contactpg .mainform .infocolumn .sectionhead::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 60px;
height: 4px;
background: #CD67FD
}

.contactpg .mainform .infocolumn .intropara {
font-size: 16px;
line-height: 1.5;
color: #09002cd1;
margin: 0 0 40px
}

.contactpg .mainform .infocolumn .contactdetails {
list-style: none;
padding: 0;
margin: 0
}

.contactpg .mainform .infocolumn .contactdetails .detailrow {
margin: 0 0 16px;
padding: 16px;
background: linear-gradient(135deg, #cd67fd0a 0%, #dcdcdc0f 100%);
border-radius: 6px;
transition: transform .18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactpg .mainform .infocolumn .contactdetails .detailrow:hover {
transform: translateX(4px);
box-shadow: 1px 5px 28px 0 #cd67fd1a
}

.contactpg .mainform .infocolumn .contactdetails .detailrow .labeltext {
font-size: 16px;
line-height: 1.5;
color: #09002c99;
margin: 0 0 4px;
text-transform: uppercase;
letter-spacing: .08em;
font-weight: 600
}

.contactpg .mainform .infocolumn .contactdetails .detailrow .valuetext {
font-size: 19px;
line-height: 1.5;
color: #09002C;
margin: 0
}

.contactpg .mainform .infocolumn .contactdetails .detailrow .valuetext a {
color: inherit;
text-decoration: none;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactpg .mainform .infocolumn .contactdetails .detailrow .valuetext a:hover {
color: #CD67FD
}

.contactpg .mainform .formcolumn {
animation: slidefromright .26s cubic-bezier(0.0, 0, 0.2, 1) .12s both
}

.contactpg .mainform .formcolumn .actualform {
background: #FFF;
padding: 40px;
border-radius: 6px;
box-shadow: 1px 12px 48px 0 #09002c1f
}

.contactpg .mainform .formcolumn .formhead {
font-size: 42px;
line-height: 1.1;
color: #09002C;
margin: 0 0 40px
}

.contactpg .mainform .formcolumn .fieldwrapper {
margin: 0 0 16px
}

.contactpg .mainform .formcolumn .fieldlabel {
display: block;
font-size: 16px;
line-height: 1.5;
color: #09002C;
margin: 0 0 8px;
font-weight: 600
}

.contactpg .mainform .formcolumn .fieldinput {
width: 100%;
padding: 16px;
font-size: 16px;
line-height: 1.5;
color: #09002C;
background: #FEFEFE;
border: 2px solid #DCDCDC;
border-radius: 6px;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactpg .mainform .formcolumn .fieldinput::placeholder {
color: #09002c66;
text-transform: uppercase;
font-size: 16px;
letter-spacing: .06em
}

.contactpg .mainform .formcolumn .fieldinput:focus {
outline: none;
border-color: #CD67FD;
box-shadow: 0 0 0 4px #cd67fd1f
}

.contactpg .mainform .formcolumn .fieldinput:hover {
border-color: #cd67fd99
}

.contactpg .mainform .formcolumn .fieldtextarea {
min-height: 140px;
resize: vertical
}

.contactpg .mainform .formcolumn .selectwrapper {
position: relative
}

.contactpg .mainform .formcolumn .fieldselect {
width: 100%;
padding: 16px;
padding-right: 48px;
font-size: 16px;
line-height: 1.5;
color: #09002C;
background: #FEFEFE;
border: 2px solid #DCDCDC;
border-radius: 6px;
appearance: none;
cursor: pointer;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactpg .mainform .formcolumn .fieldselect:focus {
outline: none;
border-color: #CD67FD;
box-shadow: 0 0 0 4px #cd67fd1f
}

.contactpg .mainform .formcolumn .fieldselect:hover {
border-color: #cd67fd99
}

.contactpg .mainform .formcolumn .selectwrapper::after {
content: '';
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-top: 8px solid #09002C;
pointer-events: none;
transition: border-top-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactpg .mainform .formcolumn .selectwrapper:hover::after {
border-top-color: #CD67FD
}

.contactpg .mainform .formcolumn .privacyblock {
margin: 40px 0 0;
padding: 16px;
background: #dcdcdc26;
border-radius: 6px
}

.contactpg .mainform .formcolumn .privacyblock .checkboxwrapper {
display: flex;
align-items: start;
gap: 16px
}

.contactpg .mainform .formcolumn .privacyblock .checkboxinput {
margin: 4px 0 0;
width: 20px;
height: 20px;
cursor: pointer;
accent-color: #CD67FD;
flex-shrink: 0
}

.contactpg .mainform .formcolumn .privacyblock .checkboxlabel {
font-size: 16px;
line-height: 1.5;
color: #09002ce0;
margin: 0;
cursor: pointer
}

.contactpg .mainform .formcolumn .privacyblock .checkboxlabel a {
color: #CD67FD;
text-decoration: none;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactpg .mainform .formcolumn .privacyblock .checkboxlabel a:hover {
color: #09002C
}

.contactpg .mainform .formcolumn .submitbtn {
margin: 40px 0 0;
padding: 16px 40px;
font-size: 19px;
line-height: 1.5;
color: #FEFEFE;
background: #09002C;
border: none;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
transition: transform .18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1);
font-weight: 600
}

.contactpg .mainform .formcolumn .submitbtn::before {
content: '';
position: absolute;
top: 0;
right: -100%;
width: 100%;
height: 100%;
background: #CD67FD;
transition: right .25s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.contactpg .mainform .formcolumn .submitbtn:hover::before {
right: 0
}

.contactpg .mainform .formcolumn .submitbtn .btntext {
position: relative;
z-index: 1
}

.contactpg .mainform .formcolumn .submitbtn:hover {
transform: translateY(-2px);
box-shadow: 1px 5px 28px 0 #cd67fd1a
}

.contactpg .mainform .formcolumn .submitbtn:active {
transform: translateY(0);
box-shadow: 1px 2px 6px 0 #09002c14
}

.contactpg .mainform .formcolumn .submitbtn:focus {
outline: 4px solid #cd67fd4d;
outline-offset: 2px
}

@media (max-width: 1024px) {
.contactpg .topzone .maintitle {
font-size: 42px
}

.contactpg .topzone .supporttext {
font-size: 16px
}

.contactpg .topzone .shapedeco {
width: 80px;
height: 80px;
right: 40px
}

.contactpg .mainform .forminner {
grid-template-columns: 1fr;
gap: 40px
}

.contactpg .mainform .infocolumn .sectionhead,
.contactpg .mainform .formcolumn .formhead {
font-size: 42px
}
}

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

.contactpg .topzone .maintitle {
font-size: 42px;
margin: 0 0 16px
}

.contactpg .topzone .supporttext {
font-size: 16px
}

.contactpg .topzone .shapedeco {
display: none
}

.contactpg .mainform {
padding: 40px 16px
}

.contactpg .mainform .forminner {
gap: 40px
}

.contactpg .mainform .infocolumn .sectionhead,
.contactpg .mainform .formcolumn .formhead {
font-size: 42px
}

.contactpg .mainform .formcolumn .actualform {
padding: 16px
}
}

@media (max-width: 360px) {
.contactpg .topzone .maintitle {
font-size: 42px
}

.contactpg .mainform .infocolumn .sectionhead,
.contactpg .mainform .formcolumn .formhead {
font-size: 42px
}
}

.abtus {
background: #fff;
color: #09002C;
overflow-x: clip
}

.abtus .tpblk {
position: relative;
background: linear-gradient(127deg, #CD67FD 0%, #DCDCDC 48%, #fff 100%);
padding: 80px 16px;
overflow: hidden
}

.abtus .tpblk::before {
content: '"';
position: absolute;
top: 40px;
left: 50%;
transform: translateX(-50%);
font-size: 320px;
line-height: 1;
color: #09002c0a;
font-weight: 700;
pointer-events: none
}

.abtus .tpblk .tpwrap {
max-width: 1280px;
margin: 0 auto;
position: relative;
z-index: 2
}

.abtus .tpblk .tphead {
font-size: 72px;
line-height: 1.1;
margin: 0 0 40px;
font-weight: 700;
text-align: center
}

.abtus .tpblk .tptext {
font-size: 19px;
line-height: 1.5;
max-width: 680px;
margin: 0 auto;
text-align: center
}

@media (max-width: 1024px) {
.abtus .tpblk {
padding: 80px 16px
}

.abtus .tpblk .tphead {
font-size: 42px
}

.abtus .tpblk::before {
font-size: 240px
}
}

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

.abtus .tpblk .tphead {
font-size: 42px
}

.abtus .tpblk::before {
font-size: 180px;
top: 20px
}
}

.abtus .orgstry {
position: relative;
background: radial-gradient(ellipse at 78% 42%, #cd67fd14 0%, #fff 68%);
padding: 80px 16px;
animation: bgpulse 8s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

@keyframes bgpulse {

0%,
100% {
filter: brightness(1)
}

50% {
filter: brightness(1.04)
}
}

.abtus .orgstry::before {
content: '';
position: absolute;
top: -1px;
right: 18%;
width: 0;
height: 0;
border-left: 48px solid transparent;
border-right: 48px solid transparent;
border-top: 32px solid #fff
}

.abtus .orgstry::after {
content: '';
position: absolute;
bottom: 80px;
right: 40px;
width: 12px;
height: 12px;
background: #cd67fd4d;
border-radius: 48px;
box-shadow: -24px 16px 0 8px #cd67fd2e 16px -8px 0 4px #cd67fd3d -8px -20px 0 6px #cd67fd26;
pointer-events: none
}

.abtus .orgstry .orgwrap {
max-width: 1280px;
margin: 0 auto
}

.abtus .orgstry .topgrid {
display: grid;
grid-template-columns: 1fr 2.5fr;
gap: 40px;
margin: 0 0 80px
}

.abtus .orgstry .introcol {
position: relative
}

.abtus .orgstry .introcol::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 48px;
height: 4px;
background: linear-gradient(90deg, #CD67FD 0%, #09002C 100%)
}

.abtus .orgstry .introhead {
font-size: 42px;
line-height: 1.1;
margin: 16px 0 0;
font-weight: 700
}

.abtus .orgstry .maincol {
display: flex;
flex-direction: column;
gap: 16px
}

.abtus .orgstry .maincol p {
margin: 0;
font-size: 16px;
line-height: 1.5
}

.abtus .orgstry .leadgrid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 40px;
margin: 0 0 80px
}

.abtus .orgstry .leadcard {
background: #fff;
border-radius: 6px;
padding: 40px;
box-shadow: 1px 5px 28px 0 #09002c1a;
position: relative;
transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.abtus .orgstry .leadcard:hover {
transform: translateY(-4px);
box-shadow: 1px 12px 48px 0 #09002c1f
}

.abtus .orgstry .leadimg {
width: 100%;
height: 280px;
object-fit: cover;
border-radius: 6px;
margin: 0 0 16px
}

.abtus .orgstry .leadname {
font-size: 19px;
line-height: 1.1;
margin: 0 0 8px;
font-weight: 700
}

.abtus .orgstry .leadrole {
font-size: 16px;
line-height: 1.5;
margin: 0 0 16px;
color: #09002cb3
}

.abtus .orgstry .leadbio {
font-size: 16px;
line-height: 1.5;
margin: 0
}

.abtus .orgstry .valuesec {
position: relative
}

.abtus .orgstry .valuesec::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 64px;
height: 4px;
background: linear-gradient(90deg, #09002C 0%, #CD67FD 100%)
}

.abtus .orgstry .valuehead {
font-size: 42px;
line-height: 1.1;
margin: 24px 0 40px;
font-weight: 700;
text-align: center
}

.abtus .orgstry .valuelist {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px;
list-style: none;
margin: 0;
padding: 0
}

.abtus .orgstry .valueitem {
background: #fff;
border-radius: 6px;
padding: 40px;
box-shadow: 1px 2px 6px 0 #09002c14;
position: relative;
transition: all .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.abtus .orgstry .valueitem:hover {
box-shadow: 1px 5px 28px 0 #cd67fd1a
}

.abtus .orgstry .valuelist:hover .valueitem {
opacity: .6
}

.abtus .orgstry .valuelist .valueitem:hover {
opacity: 1
}

.abtus .orgstry .valueitem::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #CD67FD 0%, #09002C 100%);
border-radius: 6px 6px 0 0;
transform: scaleX(0);
transform-origin: left;
transition: transform .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.abtus .orgstry .valueitem:hover::before {
transform: scaleX(1)
}

.abtus .orgstry .valuenum {
font-size: 42px;
line-height: 1.1;
margin: 0 0 16px;
font-weight: 700;
color: #CD67FD;
text-align: right
}

.abtus .orgstry .valuename {
font-size: 19px;
line-height: 1.1;
margin: 0 0 16px;
font-weight: 700
}

.abtus .orgstry .valuedesc {
font-size: 16px;
line-height: 1.5;
margin: 0
}

@media (max-width: 1024px) {
.abtus .orgstry {
padding: 80px 16px
}

.abtus .orgstry .topgrid {
grid-template-columns: 1fr;
gap: 40px
}

.abtus .orgstry .leadgrid {
grid-template-columns: 1fr
}

.abtus .orgstry .valuelist {
grid-template-columns: 1fr
}
}

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

.abtus .orgstry .topgrid {
margin: 0 0 40px
}

.abtus .orgstry .introhead {
font-size: 42px
}

.abtus .orgstry .leadgrid {
margin: 0 0 40px
}

.abtus .orgstry .leadcard {
padding: 16px
}

.abtus .orgstry .leadimg {
height: 200px
}

.abtus .orgstry .valuehead {
font-size: 42px;
margin: 16px 0 40px
}

.abtus .orgstry .valueitem {
padding: 16px
}
}

.abtus .impact {
background: linear-gradient(217deg, #09002C 0%, #09002ceb 100%);
padding: 80px 16px;
color: #fff;
position: relative
}

.abtus .impact::before {
content: '';
position: absolute;
top: -1px;
right: 24%;
width: 0;
height: 0;
border-left: 56px solid transparent;
border-right: 56px solid transparent;
border-top: 40px solid #fff
}

.abtus .impact .impactwrap {
max-width: 1280px;
margin: 0 auto
}

.abtus .impact .impactlayout {
display: grid;
grid-template-columns: 1.2fr 1fr;
gap: 80px;
align-items: start
}

.abtus .impact .impactleft {
position: relative
}

.abtus .impact .impactleft::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 56px;
height: 4px;
background: linear-gradient(90deg, #CD67FD 0%, #DCDCDC 100%)
}

.abtus .impact .impacthead {
font-size: 42px;
line-height: 1.1;
margin: 16px 0 40px;
font-weight: 700
}

.abtus .impact .impacttext {
font-size: 16px;
line-height: 1.8;
margin: 0 0 16px
}

.abtus .impact .impacttext:last-of-type {
margin: 0
}

.abtus .impact .impactright {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

.abtus .impact .statbox {
background: #ffffff14;
border-radius: 6px;
padding: 40px 16px;
text-align: center;
backdrop-filter: blur(8px);
border: 1px solid #ffffff1f;
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.abtus .impact .statbox:hover {
background: #cd67fd1f;
border-color: #cd67fd66
}

.abtus .impact .statnum {
font-size: 72px;
line-height: 1.1;
margin: 0 0 8px;
font-weight: 700;
color: #CD67FD
}

.abtus .impact .statlabel {
font-size: 16px;
line-height: 1.5;
margin: 0;
text-transform: uppercase;
letter-spacing: .08em;
color: #fffc
}

.abtus .impact .impactimgs {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin: 40px 0 0
}

.abtus .impact .impactimg {
width: 100%;
height: 240px;
object-fit: cover;
border-radius: 6px;
box-shadow: 1px 5px 28px 0 #0000004d
}

@media (max-width: 1024px) {
.abtus .impact {
padding: 80px 16px
}

.abtus .impact .impactlayout {
grid-template-columns: 1fr;
gap: 40px
}

.abtus .impact .impacthead {
font-size: 42px
}

.abtus .impact .statnum {
font-size: 42px
}
}

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

.abtus .impact .impactright {
grid-template-columns: 1fr
}

.abtus .impact .statbox {
padding: 16px
}

.abtus .impact .impactimgs {
grid-template-columns: 1fr
}

.abtus .impact .impactimg {
height: 200px
}
}

.opening {
background: #FFF;
color: #09002C;
overflow-x: clip
}

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

.opening .titleZone {
position: relative;
padding: 80px 16px;
background: radial-gradient(circle at 50% 50%, #cd67fd26, #cd67fd08 60%, #FFF);
overflow: hidden
}

.opening .titleZone::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
right: 0;
height: 80px;
background: #FFF;
clip-path: ellipse(70% 100% at 50% 100%)
}

.opening .titleInner {
max-width: 1280px;
margin: 0 auto;
position: relative;
z-index: 2
}

.opening .titleVisual {
width: 100%;
height: 420px;
border-radius: 6px;
overflow: hidden;
position: relative;
margin-bottom: 40px;
box-shadow: 1px 5px 28px 0 #09002c1a
}

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

.opening .titleVisual::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 180px;
background: linear-gradient(to bottom, #09002c99, transparent);
pointer-events: none
}

.opening .titleMain {
font-size: 72px;
line-height: 1.1;
margin: 0 0 40px;
font-weight: 600;
max-width: 960px
}

.opening .titleSupport {
font-size: 19px;
line-height: 1.5;
margin: 0;
max-width: 720px;
opacity: .85
}

.opening .conditionsArea {
padding: 80px 16px;
background: linear-gradient(78deg, #dcdcdc33 0%, #dcdcdc0d 45%, #FFF 100%);
position: relative
}

.opening .conditionsArea::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 120px;
height: 2px;
background: linear-gradient(to right, transparent, #CD67FD, transparent)
}

.opening .conditionsInner {
max-width: 1280px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 80px;
align-items: start;
animation: conditionsReveal .28s cubic-bezier(0.0, 0, 0.2, 1) forwards;
opacity: 0;
filter: blur(8px)
}

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

.opening .conditionsLabel {
position: relative;
padding-top: 16px
}

.opening .conditionsLabel::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 60px;
height: 3px;
background: #CD67FD
}

.opening .conditionsLabel h2 {
font-size: 42px;
line-height: 1.1;
margin: 0;
font-weight: 600
}

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

.opening .conditionsText {
font-size: 16px;
line-height: 1.8;
margin: 0
}

.opening .conditionsList {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px
}

.opening .conditionsList li {
padding: 16px;
background: #FFF;
border-radius: 6px;
border: 1px solid #09002c14;
font-size: 16px;
line-height: 1.5;
position: relative;
overflow: hidden;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.opening .conditionsList li::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: #CD67FD;
transform: translateX(-4px);
transition: transform .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.opening .conditionsList li:hover {
box-shadow: 1px 5px 28px 0 #09002c1a;
transform: translateY(-2px)
}

.opening .conditionsList li:hover::before {
transform: translateX(0)
}

.opening .valueZone {
padding: 80px 16px;
background: #FFF;
position: relative
}

.opening .valueZone::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(to right, transparent, #09002c1f, transparent)
}

.opening .valueZone::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(to right, transparent, #09002c1f, transparent)
}

.opening .valueInner {
max-width: 1280px;
margin: 0 auto;
animation: valueReveal .26s cubic-bezier(0.0, 0, 0.2, 1) .1s forwards;
opacity: 0;
filter: blur(6px)
}

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

.opening .valueHeader {
text-align: center;
margin-bottom: 80px;
position: relative;
padding-top: 16px
}

.opening .valueHeader::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 80px;
height: 3px;
background: linear-gradient(to right, #CD67FD, #cd67fd4d)
}

.opening .valueHeader h2 {
font-size: 42px;
line-height: 1.1;
margin: 0 0 16px;
font-weight: 600
}

.opening .valueHeader p {
font-size: 19px;
line-height: 1.5;
margin: 0;
opacity: .85
}

.opening .valueGrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px
}

.opening .valueCard {
background: linear-gradient(135deg, #dcdcdc1a, #FFF);
border-radius: 6px;
padding: 40px 16px;
text-align: center;
position: relative;
overflow: hidden;
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 1px 2px 6px 0 #09002c14
}

.opening .valueCard::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(to right, #CD67FD, #cd67fd4d);
transform: scaleX(0);
transform-origin: left;
transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.opening .valueCard:hover {
transform: translateY(-4px);
box-shadow: 1px 12px 48px 0 #09002c1f
}

.opening .valueCard:hover::before {
transform: scaleX(1)
}

.opening .valueIcon {
width: 64px;
height: 64px;
margin: 0 auto 16px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 48px;
background: linear-gradient(135deg, #cd67fd26, #cd67fd0d);
position: relative
}

.opening .valueIcon svg {
width: 32px;
height: 32px;
fill: #CD67FD
}

.opening .valueCard h3 {
font-size: 19px;
line-height: 1.1;
margin: 0 0 8px;
font-weight: 600
}

.opening .valueCard p {
font-size: 16px;
line-height: 1.5;
margin: 0;
opacity: .85
}

.opening .reputationSpace {
padding: 80px 16px;
background-image: url(/photo_files/2026_04-module.jpg);
background-size: cover;
background-position: center;
position: relative
}

.opening .reputationSpace::before {
content: '';
position: absolute;
inset: 0;
background: #09002cd9;
filter: grayscale(100%);
mix-blend-mode: multiply
}

.opening .reputationSpace::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, #cd67fd4d, #09002c99);
pointer-events: none
}

.opening .reputationInner {
max-width: 1280px;
margin: 0 auto;
position: relative;
z-index: 2;
animation: reputationReveal .3s cubic-bezier(0.0, 0, 0.2, 1) .15s forwards;
opacity: 0;
filter: blur(10px)
}

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

.opening .reputationLayout {
display: flex;
align-items: center;
gap: 80px
}

.opening .reputationText {
flex: 1;
color: #FFF
}

.opening .reputationText h2 {
font-size: 42px;
line-height: 1.1;
margin: 0 0 40px;
font-weight: 600;
position: relative;
padding-top: 16px
}

.opening .reputationText h2::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 60px;
height: 3px;
background: #CD67FD
}

.opening .reputationText p {
font-size: 16px;
line-height: 1.8;
margin: 0 0 16px;
opacity: .95
}

.opening .reputationText p:last-child {
margin-bottom: 0
}

.opening .reputationVisuals {
flex: 0 0 480px;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px
}

.opening .reputationImage {
width: 100%;
height: 200px;
border-radius: 6px;
overflow: hidden;
box-shadow: 1px 5px 28px 0 #09002c1a;
transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.opening .reputationImage:hover {
transform: scale(1.04)
}

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

.opening .reputationImage.tall {
grid-row: span 2;
height: 416px
}

.opening .definitionPanel {
margin-top: 40px;
background: #ffffff0d;
border-radius: 6px;
padding: 16px;
border: 1px solid #ffffff1a
}

.opening .definitionPanel dl {
margin: 0;
display: grid;
gap: 8px
}

.opening .definitionPanel dt {
font-size: 16px;
line-height: 1.5;
font-weight: 600;
color: #CD67FD;
margin: 0
}

.opening .definitionPanel dd {
font-size: 16px;
line-height: 1.5;
margin: 0 0 16px;
opacity: .9;
color: #FFF
}

.opening .definitionPanel dd:last-child {
margin-bottom: 0
}

.opening .dividerShape {
display: flex;
align-items: center;
justify-content: center;
gap: 16px;
padding: 40px 0
}

.opening .dividerShape::before,
.opening .dividerShape::after {
content: '';
width: 80px;
height: 2px;
background: linear-gradient(to right, transparent, #09002c33, transparent)
}

.opening .dividerShape span {
width: 8px;
height: 8px;
background: #CD67FD;
border-radius: 48px;
display: block
}

@media (max-width: 1024px) {
.opening .titleMain {
font-size: 42px
}

.opening .conditionsInner {
grid-template-columns: 1fr;
gap: 40px
}

.opening .valueGrid {
grid-template-columns: 1fr;
gap: 16px
}

.opening .reputationLayout {
flex-direction: column;
gap: 40px
}

.opening .reputationVisuals {
flex: 1;
width: 100%
}
}

@media (max-width: 768px) {
.opening .titleZone {
padding: 40px 16px
}

.opening .titleVisual {
height: 280px
}

.opening .titleMain {
font-size: 42px;
margin-bottom: 16px
}

.opening .titleSupport {
font-size: 16px
}

.opening .conditionsArea,
.opening .valueZone,
.opening .reputationSpace {
padding: 40px 16px
}

.opening .conditionsLabel h2,
.opening .valueHeader h2,
.opening .reputationText h2 {
font-size: 42px
}

.opening .valueHeader {
margin-bottom: 40px
}

.opening .conditionsList {
grid-template-columns: 1fr
}

.opening .reputationVisuals {
grid-template-columns: 1fr
}

.opening .reputationImage.tall {
grid-row: span 1;
height: 200px
}
}

@media (max-width: 360px) {
.opening .titleMain {
font-size: 42px
}

.opening .conditionsLabel h2,
.opening .valueHeader h2,
.opening .reputationText h2 {
font-size: 42px
}
}

.learnprog {
background: #fff;
color: #09002C;
max-width: 100%;
overflow-x: clip
}

.learnprog .titlezone {
background: linear-gradient(167deg, #09002C 0%, #1a0a4d 100%);
color: #fff;
padding: 80px 16px;
position: relative;
overflow: hidden
}

.learnprog .titlezone::before {
content: '';
position: absolute;
width: 480px;
height: 480px;
border-radius: 48px;
background: #cd67fd14;
top: -120px;
left: -80px;
transform: rotate(23deg);
pointer-events: none
}

.learnprog .titlezone::after {
content: '';
position: absolute;
width: 320px;
height: 320px;
border-radius: 48px;
background: #cd67fd0f;
bottom: -60px;
right: 120px;
transform: rotate(-17deg);
pointer-events: none
}

.learnprog .titlecontent {
max-width: 1280px;
margin: 0 auto;
position: relative;
z-index: 2
}

.learnprog .titlecontent h1 {
font-size: 72px;
line-height: 1.1;
margin: 0 0 16px;
font-weight: 600
}

.learnprog .titlecontent h1 .accent {
background: linear-gradient(94deg, #CD67FD 0%, #e89fff 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.learnprog .titlecontent .subdesc {
font-size: 19px;
line-height: 1.5;
margin: 0;
max-width: 720px;
opacity: .92
}

@media (max-width: 1024px) {
.learnprog .titlezone {
padding: 80px 16px
}

.learnprog .titlecontent h1 {
font-size: 42px
}
}

@media (max-width: 768px) {
.learnprog .titlezone {
padding: 40px 16px
}

.learnprog .titlecontent h1 {
font-size: 42px
}

.learnprog .titlecontent .subdesc {
font-size: 16px
}
}

.learnprog .progdetails {
background: #fff;
padding: 80px 16px;
position: relative
}

.learnprog .progdetails::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(247deg, #cd67fd0a 0%, #cd67fd00 45%);
pointer-events: none;
animation: colormigrate 18s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

@keyframes colormigrate {
0% {
transform: translateX(0) translateY(0);
opacity: 1
}

33% {
transform: translateX(80px) translateY(-40px);
opacity: .7
}

66% {
transform: translateX(-60px) translateY(60px);
opacity: .9
}

100% {
transform: translateX(0) translateY(0);
opacity: 1
}
}

.learnprog .progdetails .detailswrap {
max-width: 1280px;
margin: 0 auto;
position: relative;
z-index: 2
}

.learnprog .progdetails .layoutgrid {
display: grid;
grid-template-columns: 320px 1fr;
gap: 80px;
align-items: start
}

.learnprog .progdetails .introcol {
position: relative
}

.learnprog .progdetails .introcol::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 1px;
height: 100%;
background: linear-gradient(180deg, #09002c1f 0%, #09002c0f 50%, #09002c1f 100%)
}

.learnprog .progdetails .introcol h2 {
font-size: 42px;
line-height: 1.1;
margin: 0 0 16px;
font-weight: 600;
position: relative;
padding-top: 16px
}

.learnprog .progdetails .introcol h2::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 48px;
height: 4px;
background: linear-gradient(90deg, #CD67FD 0%, #09002C 100%);
border-radius: 6px
}

.learnprog .progdetails .introcol .brieftext {
font-size: 16px;
line-height: 1.5;
margin: 0;
color: #09002cd1
}

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

.learnprog .progdetails .contentpara {
font-size: 19px;
line-height: 1.8;
margin: 0;
color: #09002C
}

.learnprog .progdetails .imgwrap {
width: 100%;
height: 420px;
border-radius: 6px;
overflow: hidden;
position: relative;
border: 6px solid #DCDCDC;
box-shadow: 1px 5px 28px 0 #09002c1a;
transition: transform .27s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .27s cubic-bezier(0.4, 0, 0.2, 1)
}

.learnprog .progdetails .imgwrap:hover {
transform: translateY(-4px);
box-shadow: 1px 12px 48px 0 #09002c1f
}

.learnprog .progdetails .imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.learnprog .progdetails .timelinezone {
margin: 40px 0 0;
padding: 40px;
background: linear-gradient(142deg, #dcdcdc3d 0%, #dcdcdc14 100%);
border-radius: 6px;
border: 1px solid #09002c14
}

.learnprog .progdetails .timelineheader {
font-size: 19px;
line-height: 1.1;
margin: 0 0 40px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .08em;
color: #09002C
}

.learnprog .progdetails .timelinebar {
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
margin: 0 0 40px
}

.learnprog .progdetails .timelinebar::before {
content: '';
position: absolute;
top: 50%;
left: 0;
width: 100%;
height: 2px;
background: linear-gradient(90deg, #CD67FD 0%, #09002C 100%);
transform: translateY(-50%);
z-index: 1
}

.learnprog .progdetails .timepoint {
width: 16px;
height: 16px;
border-radius: 48px;
background: #09002C;
border: 3px solid #fff;
position: relative;
z-index: 2;
box-shadow: 1px 2px 6px 0 #09002c14;
transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
cursor: pointer
}

.learnprog .progdetails .timepoint:hover {
transform: scale(1.4);
box-shadow: 1px 5px 28px 0 #cd67fd1a
}

.learnprog .progdetails .timepoint.active {
background: #CD67FD;
transform: scale(1.6);
box-shadow: 1px 5px 28px 0 #cd67fd1a
}

.learnprog .progdetails .timelinecards {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px
}

.learnprog .progdetails .phasecard {
background: #fff;
padding: 16px;
border-radius: 6px;
border: 1px solid #09002c1f;
box-shadow: 1px 2px 6px 0 #09002c14;
transition: transform .19s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .19s cubic-bezier(0.4, 0, 0.2, 1), border-color .19s cubic-bezier(0.4, 0, 0.2, 1)
}

.learnprog .progdetails .phasecard:hover {
transform: translateY(-4px);
box-shadow: 1px 5px 28px 0 #09002c1a;
border-color: #CD67FD
}

.learnprog .progdetails .phasecard .phaselabel {
font-size: 16px;
line-height: 1.1;
margin: 0 0 8px;
font-weight: 600;
color: #CD67FD;
text-transform: uppercase;
letter-spacing: .06em
}

.learnprog .progdetails .phasecard .phasedesc {
font-size: 16px;
line-height: 1.5;
margin: 0;
color: #09002cc7
}

@media (max-width: 1024px) {
.learnprog .progdetails {
padding: 80px 16px
}

.learnprog .progdetails .layoutgrid {
grid-template-columns: 1fr;
gap: 40px
}

.learnprog .progdetails .introcol::after {
display: none
}

.learnprog .progdetails .timelinecards {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 768px) {
.learnprog .progdetails {
padding: 40px 16px
}

.learnprog .progdetails .introcol h2 {
font-size: 42px
}

.learnprog .progdetails .contentpara {
font-size: 16px
}

.learnprog .progdetails .imgwrap {
height: 280px
}

.learnprog .progdetails .timelinezone {
padding: 16px
}

.learnprog .progdetails .timelinecards {
grid-template-columns: 1fr
}

.learnprog .progdetails .timelineheader {
font-size: 16px
}
}

.learnprog .offerzone {
background: linear-gradient(178deg, #fff 0%, #f5f0fa 100%);
padding: 80px 16px;
position: relative
}

.learnprog .offerzone::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 4px;
height: 100%;
background: linear-gradient(180deg, #CD67FD 0%, #cd67fd4d 50%, #CD67FD 100%)
}

.learnprog .offerzone .offerwrap {
max-width: 1280px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: center;
gap: 40px
}

.learnprog .offerzone .centerheader {
text-align: center;
max-width: 840px
}

.learnprog .offerzone .centerheader h2 {
font-size: 42px;
line-height: 1.1;
margin: 0 0 16px;
font-weight: 600;
color: #09002C;
position: relative;
padding-top: 16px
}

.learnprog .offerzone .centerheader h2::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 64px;
height: 4px;
background: linear-gradient(90deg, #09002C 0%, #CD67FD 100%);
border-radius: 6px
}

.learnprog .offerzone .centerheader .leadtext {
font-size: 19px;
line-height: 1.5;
margin: 0;
color: #09002cd6
}

.learnprog .offerzone .offerblocks {
display: grid;
grid-template-columns: 480px 1fr 480px;
gap: 40px;
width: 100%;
align-items: center
}

.learnprog .offerzone .sidecard {
background: #fff;
padding: 40px;
border-radius: 6px;
border: 1px solid #09002c1f;
box-shadow: 1px 5px 28px 0 #09002c1a;
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1);
height: 100%;
display: flex;
flex-direction: column;
gap: 16px
}

.learnprog .offerzone .sidecard:hover {
transform: translateY(-8px);
box-shadow: 1px 12px 48px 0 #09002c1f
}

.learnprog .offerzone .sidecard h3 {
font-size: 19px;
line-height: 1.1;
margin: 0;
font-weight: 600;
color: #09002C
}

.learnprog .offerzone .sidecard .cardtext {
font-size: 16px;
line-height: 1.5;
margin: 0;
color: #09002cc7
}

.learnprog .offerzone .sidecard .featurelist {
list-style: none;
padding: 0;
margin: 8px 0 0;
display: flex;
flex-direction: column;
gap: 8px
}

.learnprog .offerzone .sidecard .featurelist li {
font-size: 16px;
line-height: 1.5;
color: #09002cc7;
padding-left: 24px;
position: relative
}

.learnprog .offerzone .sidecard .featurelist li::before {
content: '';
position: absolute;
left: 0;
top: 8px;
width: 6px;
height: 6px;
border-radius: 48px;
background: #CD67FD
}

.learnprog .offerzone .centercard {
background: linear-gradient(137deg, #09002C 0%, #1a0a4d 100%);
padding: 80px 40px;
border-radius: 48px;
box-shadow: 1px 12px 48px 0 #09002c1f;
display: flex;
flex-direction: column;
align-items: center;
gap: 40px;
position: relative;
overflow: hidden;
border: 4px solid #CD67FD
}

.learnprog .offerzone .centercard::before {
content: '';
position: absolute;
width: 280px;
height: 280px;
border-radius: 48px;
background: #cd67fd1f;
top: -80px;
right: -60px;
transform: rotate(27deg);
pointer-events: none
}

.learnprog .offerzone .centercard .pricebox {
text-align: center;
z-index: 2;
position: relative
}

.learnprog .offerzone .centercard .pricebox .pricelabel {
font-size: 16px;
line-height: 1.1;
margin: 0 0 8px;
color: #ffffffb8;
text-transform: uppercase;
letter-spacing: .08em
}

.learnprog .offerzone .centercard .pricebox .pricevalue {
font-size: 72px;
line-height: 1.1;
margin: 0;
font-weight: 600;
background: linear-gradient(94deg, #fff 0%, #CD67FD 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.learnprog .offerzone .centercard .pricebox .priceunit {
font-size: 19px;
line-height: 1.1;
margin: 4px 0 0;
color: #ffffffd1
}

.learnprog .offerzone .centercard .ctabtn {
background: #CD67FD;
color: #fff;
border: none;
padding: 16px 40px;
font-size: 19px;
line-height: 1.1;
font-weight: 600;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
z-index: 2;
transition: transform .21s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .21s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 1px 5px 28px 0 #cd67fd1a
}

.learnprog .offerzone .centercard .ctabtn::before {
content: '';
position: absolute;
top: 0;
right: 100%;
width: 100%;
height: 100%;
background: #fff;
transition: right .28s cubic-bezier(0.4, 0, 0.2, 1);
z-index: -1
}

.learnprog .offerzone .centercard .ctabtn:hover {
transform: translateY(-2px);
box-shadow: 1px 12px 48px 0 #cd67fd1f
}

.learnprog .offerzone .centercard .ctabtn:hover::before {
right: 0
}

.learnprog .offerzone .centercard .ctabtn:hover {
color: #09002C
}

.learnprog .offerzone .centercard .ctabtn:active {
transform: translateY(0)
}

.learnprog .offerzone .centercard .includelist {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px;
z-index: 2;
position: relative
}

.learnprog .offerzone .centercard .includelist li {
font-size: 16px;
line-height: 1.5;
color: #ffffffe0;
padding-left: 32px;
position: relative
}

.learnprog .offerzone .centercard .includelist li::before {
content: '';
position: absolute;
left: 0;
top: 4px;
width: 16px;
height: 16px;
background: linear-gradient(135deg, #CD67FD 0%, #fff 100%);
border-radius: 6px;
box-shadow: inset 0 -2px 6px #0003
}

@media (max-width: 1024px) {
.learnprog .offerzone {
padding: 80px 16px
}

.learnprog .offerzone .offerblocks {
grid-template-columns: 1fr;
gap: 40px
}

.learnprog .offerzone .centercard {
padding: 40px
}
}

@media (max-width: 768px) {
.learnprog .offerzone {
padding: 40px 16px
}

.learnprog .offerzone .centerheader h2 {
font-size: 42px
}

.learnprog .offerzone .centerheader .leadtext {
font-size: 16px
}

.learnprog .offerzone .sidecard {
padding: 16px
}

.learnprog .offerzone .centercard {
padding: 40px 16px;
border-radius: 6px
}

.learnprog .offerzone .centercard .pricebox .pricevalue {
font-size: 42px
}

.learnprog .offerzone .centercard .ctabtn {
font-size: 16px;
padding: 16px 40px
}
}

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

.successpage .confirmwrap {
max-width: 680px;
width: 100%;
background: #fff;
border-radius: 6px;
padding: 80px 40px;
box-shadow: 1px 5px 28px 0 #09002c1a
}

.successpage .iconcheck {
width: 88px;
height: 88px;
margin: 0 auto 40px;
background: linear-gradient(135deg, #09002C 0%, #CD67FD 100%);
border-radius: 48px;
display: flex;
align-items: center;
justify-content: center;
position: relative
}

.successpage .iconcheck::before {
content: '';
position: absolute;
width: 28px;
height: 16px;
border-left: 4px solid #fff;
border-bottom: 4px solid #fff;
transform: rotate(-45deg) translateY(-3px)
}

.successpage .mainhead {
font-size: 42px;
line-height: 1.1;
color: #09002C;
text-align: center;
margin: 0 0 16px
}

.successpage .leadtext {
font-size: 19px;
line-height: 1.5;
color: #09002C;
text-align: center;
margin: 0 0 40px;
opacity: .8
}

.successpage .detailbox {
background: #f8f8f8;
border-radius: 6px;
padding: 40px;
margin: 0 0 40px
}

.successpage .detailbox .subhead {
font-size: 19px;
line-height: 1.5;
color: #09002C;
margin: 0 0 16px;
font-weight: 600
}

.successpage .detailbox .infoline {
font-size: 16px;
line-height: 1.8;
color: #09002C;
margin: 0 0 8px;
display: flex;
justify-content: space-between;
align-items: baseline
}

.successpage .detailbox .infoline:last-child {
margin-bottom: 0
}

.successpage .detailbox .infolabel {
opacity: .7
}

.successpage .detailbox .infovalue {
font-weight: 600;
text-align: right
}

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

.successpage .btnprimary {
background: #09002C;
color: #fff;
font-size: 16px;
line-height: 1.5;
padding: 16px 40px;
border: none;
border-radius: 6px;
cursor: pointer;
text-decoration: none;
display: inline-block;
position: relative;
overflow: hidden;
transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.successpage .btnprimary::before {
content: '';
position: absolute;
top: 0;
right: 100%;
width: 100%;
height: 100%;
background: #CD67FD;
transition: right .25s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.successpage .btnprimary:hover::before {
right: 0
}

.successpage .btnprimary:hover {
transform: translateY(-1px)
}

.successpage .btnprimary span {
position: relative;
z-index: 1
}

.successpage .btnsecondary {
background: transparent;
color: #09002C;
font-size: 16px;
line-height: 1.5;
padding: 16px 40px;
border: 2px solid #09002C;
border-radius: 6px;
cursor: pointer;
text-decoration: none;
display: inline-block;
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.successpage .btnsecondary:hover {
background: #09002C;
color: #fff
}

.successpage .footnote {
font-size: 16px;
line-height: 1.8;
color: #09002C;
text-align: center;
margin: 40px 0 0;
opacity: .6
}

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

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

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

.successpage .detailbox {
padding: 16px
}

.successpage .actionrow {
flex-direction: column
}

.successpage .btnprimary,
.successpage .btnsecondary {
width: 100%;
text-align: center
}
}