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

body {
margin: 0;
min-height: 100svh;
overflow-x: hidden;
-webkit-text-size-adjust: 100%;
}

.sitehead {
position: relative;
background: #FAFFFD;
border-bottom: 2px solid #F10107;
box-shadow: 0 7px 18px -2px rgba(241, 1, 7, 0.08);
overflow: visible;
}

.sitehead::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #F10107 0%, #593D97 100%);
pointer-events: none;
}

.brandplate {
display: flex;
flex-direction: column;
align-items: center;
padding: 24px 24px 12px;
max-width: 1200px;
margin: 0 auto;
gap: 12px;
}

.brandcell {
display: flex;
align-items: center;
gap: 12px;
}

.logopod {
display: flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
background: #FAFFFD;
border: 1.5px solid #593D97;
box-shadow: 2px 3px 0 0 rgba(89, 61, 151, 0.55), 0 1px 6px -2px rgba(89, 61, 151, 0.06);
flex-shrink: 0;
}

.logopod img {
display: block;
object-fit: contain;
}

.brandname {
font-family: 'Public Sans', sans-serif;
font-size: 28px;
font-weight: 700;
line-height: 1.1;
color: #1b0a3a;
letter-spacing: 0;
}

.brandname span {
color: #F10107;
}

.credmark {
display: inline-flex;
align-items: center;
gap: 6px;
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 1.75;
color: #593D97;
background: #f3f0fb;
border: 1px solid #593D97;
border-radius: 1px;
padding: 0 12px;
}

.credmark svg {
flex-shrink: 0;
}

.branddivider {
width: 100%;
max-width: 1200px;
margin: 0 auto;
height: 1px;
background: linear-gradient(90deg, transparent, #593D97 20%, #F10107 80%, transparent);
border: none;
}

.navdeck {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}

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

.navlist li {
position: relative;
}

.navlist a {
display: inline-flex;
align-items: center;
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 700;
line-height: 1.75;
color: #1b0a3a;
text-decoration: none;
padding: 12px 24px;
border-radius: 1px;
border-bottom: 2px solid transparent;
transition: color 0.18s ease-out, border-color 0.14s ease-out, background 0.16s ease-out;
min-height: 44px;
}

.navlist a:hover {
color: #F10107;
border-bottom-color: #F10107;
background: rgba(241, 1, 7, 0.04);
}

.navlist a:focus-visible {
outline: 2px solid #593D97;
outline-offset: 2px;
}

.navlist li.active a {
color: #593D97;
border-bottom-color: #593D97;
}

.headfoot {
padding: 12px 24px;
background: rgba(89, 61, 151, 0.03);
border-top: 1px solid rgba(89, 61, 151, 0.12);
}

.sitefooter {
font-family: 'Public Sans', sans-serif;
background: #1b0a3a;
position: relative;
}

.sitefooter::before {
content: '';
display: block;
height: 6px;
background: linear-gradient(90deg, #F10107 0%, #593D97 60%, #F10107 100%);
}

.footdeck {
max-width: 1200px;
margin: 0 auto;
padding: 52px 24px 24px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
}

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

.footlogopod {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
background: #FAFFFD;
border: 1.5px solid rgba(241, 1, 7, 0.6);
box-shadow: 1px 2px 0 0 rgba(241, 1, 7, 0.45), 0 1px 6px -2px rgba(241, 1, 7, 0.06);
flex-shrink: 0;
}

.footlogopod img {
display: block;
object-fit: contain;
}

.footbrandname {
font-size: 28px;
font-weight: 700;
line-height: 1.1;
color: #FAFFFD;
}

.footbrandname span {
color: #F10107;
}

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

.contactlabel {
font-size: 16px;
font-weight: 700;
line-height: 1.75;
color: #F10107;
text-transform: uppercase;
letter-spacing: 0;
}

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

.contactitem a {
font-size: 16px;
font-weight: 400;
line-height: 1.75;
color: rgba(250, 255, 253, 0.82);
text-decoration: none;
transition: color 0.16s ease-out;
}

.contactitem a:hover {
color: #FAFFFD;
}

.contactitem a:focus-visible {
outline: 2px solid #F10107;
outline-offset: 2px;
}

.contactaddr {
font-size: 16px;
font-weight: 400;
line-height: 1.75;
color: rgba(250, 255, 253, 0.65);
font-style: normal;
}

.footnav {
display: flex;
flex-direction: column;
gap: 24px;
align-items: flex-end;
}

.footnavlabel {
font-size: 16px;
font-weight: 700;
line-height: 1.75;
color: #593D97;
text-transform: uppercase;
}

.footnavlist {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 6px;
align-items: flex-end;
}

.footnavlist a {
font-size: 16px;
font-weight: 400;
line-height: 1.75;
color: rgba(250, 255, 253, 0.75);
text-decoration: none;
border-bottom: 1px solid transparent;
padding-bottom: 2px;
transition: color 0.14s ease-out, border-color 0.18s cubic-bezier(0.4, 0, 0.6, 1);
}

.footnavlist a:hover {
color: #FAFFFD;
border-bottom-color: rgba(241, 1, 7, 0.6);
}

.footnavlist a:focus-visible {
outline: 2px solid #FAFFFD;
outline-offset: 2px;
}

.footbottom {
max-width: 1200px;
margin: 0 auto;
padding: 12px 24px 24px;
border-top: 1px solid rgba(250, 255, 253, 0.1);
display: flex;
align-items: center;
justify-content: center;
}

.copyright {
font-size: 16px;
font-weight: 400;
line-height: 1.75;
color: rgba(250, 255, 253, 0.45);
}

.cookiebar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
margin: 0 auto;
width: 100%;
max-width: 720px;
background: #FAFFFD;
border: 1.5px solid #593D97;
border-bottom: none;
border-radius: 22px 22px 0 0;
box-shadow: 0 9px 44px -2px rgba(89, 61, 151, 0.11);
z-index: 1200;
padding: 24px;
transform: translateY(0);
transition: transform 0.38s cubic-bezier(0.4, 0, 0.6, 1);
}

.cookiebar.hidden {
transform: translateY(110%);
}

.cookietext {
font-family: 'Public Sans', sans-serif;
margin-bottom: 12px;
}

.cookiedesc {
font-size: 16px;
font-weight: 400;
line-height: 1.75;
color: #1b0a3a;
display: block;
margin-bottom: 6px;
}

.cookietitle {
font-size: 16px;
font-weight: 700;
line-height: 1.75;
color: #1b0a3a;
display: block;
}

.cookiebtns {
display: flex;
flex-wrap: wrap;
gap: 12px;
align-items: center;
}

.cookieaccept {
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 700;
line-height: 1.75;
text-transform: uppercase;
color: #FAFFFD;
background: #F10107;
border: 2px solid #F10107;
border-radius: 1px;
padding: 6px 24px;
cursor: pointer;
min-height: 44px;
transition: background 0.16s ease-out, width 0.14s ease-out, padding 0.14s ease-out;
}

.cookieaccept:hover {
background: #c40005;
border-color: #c40005;
padding-left: 30px;
padding-right: 30px;
}

.cookieaccept:focus-visible {
outline: 2px solid #593D97;
outline-offset: 2px;
}

.cookiedeny {
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 1.75;
color: #593D97;
background: transparent;
border: 2px solid #593D97;
border-radius: 1px;
padding: 6px 24px;
cursor: pointer;
min-height: 44px;
transition: background 0.18s ease-out, color 0.18s ease-out, padding 0.14s ease-out;
}

.cookiedeny:hover {
background: rgba(89, 61, 151, 0.07);
padding-left: 30px;
padding-right: 30px;
}

.cookiedeny:focus-visible {
outline: 2px solid #F10107;
outline-offset: 2px;
}

.cookiemanage {
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 1.75;
color: #593D97;
background: transparent;
border: none;
padding: 0;
cursor: pointer;
text-decoration: underline;
min-height: 44px;
transition: color 0.14s ease-out;
}

.cookiemanage:hover {
color: #F10107;
}

.cookiemanage:focus-visible {
outline: 2px solid #593D97;
outline-offset: 2px;
}

.prefpanel {
position: fixed;
bottom: 0;
right: 0;
width: 320px;
background: #FAFFFD;
border: 1.5px solid #593D97;
border-right: none;
border-radius: 22px 0 0 22px;
box-shadow: 0 9px 44px -2px rgba(89, 61, 151, 0.11);
z-index: 1201;
padding: 24px;
transform: translateX(110%);
transition: transform 0.22s ease-out;
}

.prefpanel.open {
transform: translateX(0);
}

.prefpaneltitle {
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 700;
line-height: 1.75;
color: #1b0a3a;
margin: 0 0 12px;
}

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

.prefopt {
display: flex;
align-items: center;
gap: 12px;
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 1.75;
color: #1b0a3a;
}

.prefopt input[type="checkbox"] {
width: 20px;
height: 20px;
accent-color: #593D97;
cursor: pointer;
flex-shrink: 0;
}

.prefopt input[type="checkbox"]:focus-visible {
outline: 2px solid #F10107;
outline-offset: 2px;
}

.prefsave {
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 700;
line-height: 1.75;
text-transform: uppercase;
color: #FAFFFD;
background: #593D97;
border: 2px solid #593D97;
border-radius: 1px;
padding: 6px 24px;
cursor: pointer;
width: 100%;
min-height: 44px;
transition: background 0.16s ease-out, padding 0.14s ease-out;
}

.prefsave:hover {
background: #3d2a6b;
border-color: #3d2a6b;
}

.prefsave:focus-visible {
outline: 2px solid #F10107;
outline-offset: 2px;
}

.preftab {
position: fixed;
bottom: 96px;
right: 0;
background: #593D97;
color: #FAFFFD;
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 700;
line-height: 1.75;
writing-mode: vertical-rl;
text-orientation: mixed;
padding: 12px 6px;
border-radius: 22px 0 0 22px;
cursor: pointer;
border: none;
z-index: 1202;
min-height: 44px;
box-shadow: 0 1px 6px -2px rgba(89, 61, 151, 0.06);
transition: background 0.18s ease-out;
}

.preftab:hover {
background: #3d2a6b;
}

.preftab:focus-visible {
outline: 2px solid #F10107;
outline-offset: 2px;
}

@media (max-width: 768px) {
.footdeck {
grid-template-columns: 1fr;
gap: 24px;
padding: 24px;
}

.footnav {
align-items: flex-start;
}

.footnavlist {
align-items: flex-start;
}

.brandplate {
padding: 12px 12px 6px;
}

.navlist a {
padding: 12px 12px;
}
}

@media (max-width: 480px) {
.cookiebar {
max-width: 100%;
border-radius: 0;
}

.prefpanel {
width: 100%;
border-radius: 22px 22px 0 0;
border-right: 1.5px solid #593D97;
bottom: 0;
right: 0;
transform: translateY(110%);
}

.prefpanel.open {
transform: translateY(0);
}

.preftab {
bottom: auto;
top: 50%;
writing-mode: horizontal-tb;
border-radius: 22px 0 0 22px;
padding: 6px 12px;
}
}

.policy-x-region {
max-width: 1200px;
margin: 0 auto;
padding: 52px 24px 96px;
background: #FAFFFD;
color: #1b1b2e;
}

.policy-x-region h1 {
font-size: 56px;
line-height: 1.1;
color: #1b1b2e;
margin-bottom: 24px;
margin-top: 0;
padding-bottom: 12px;
border-bottom: 2px solid #F10107;
}

.policy-x-region h2 {
font-size: 28px;
line-height: 1.1;
color: #1b1b2e;
margin-top: 52px;
margin-bottom: 24px;
padding-bottom: 6px;
border-bottom: 1px solid rgba(89, 61, 151, 0.18);
}

.policy-x-region h3 {
font-size: 28px;
line-height: 1.75;
color: #593D97;
margin-top: 24px;
margin-bottom: 12px;
}

.policy-x-region h4 {
font-size: 16px;
line-height: 1.75;
color: #1b1b2e;
margin-top: 24px;
margin-bottom: 12px;
text-transform: uppercase;
letter-spacing: 0.04em;
}

.policy-x-region h5 {
font-size: 16px;
line-height: 1.75;
color: #593D97;
margin-top: 24px;
margin-bottom: 6px;
}

.policy-x-region h6 {
font-size: 16px;
line-height: 1.75;
color: #555370;
margin-top: 24px;
margin-bottom: 6px;
font-style: italic;
}

.policy-x-region p {
font-size: 16px;
line-height: 1.75;
color: #2c2b3e;
margin-top: 0;
margin-bottom: 24px;
}

.policy-x-region ul {
margin: 0 0 24px 0;
padding-left: 24px;
list-style: none;
}

.policy-x-region ol {
margin: 0 0 24px 0;
padding-left: 24px;
list-style: none;
counter-reset: policy-counter;
}

.policy-x-region ul li {
font-size: 16px;
line-height: 1.75;
color: #2c2b3e;
margin-bottom: 6px;
padding-left: 12px;
position: relative;
}

.policy-x-region ul li::before {
content: "";
position: absolute;
left: -6px;
top: 12px;
width: 6px;
height: 2px;
background: #F10107;
border-radius: 1px;
}

.policy-x-region ol li {
font-size: 16px;
line-height: 1.75;
color: #2c2b3e;
margin-bottom: 6px;
padding-left: 12px;
position: relative;
counter-increment: policy-counter;
}

.policy-x-region ol li::before {
content: counter(policy-counter) ".";
position: absolute;
left: -18px;
top: 0;
font-size: 16px;
line-height: 1.75;
color: #593D97;
font-weight: 600;
}

.policy-x-region ul ul,
.policy-x-region ol ol,
.policy-x-region ul ol,
.policy-x-region ol ul {
margin-top: 6px;
margin-bottom: 6px;
}

.policy-x-region strong,
.policy-x-region b {
font-weight: 700;
color: #1b1b2e;
}

.policy-x-region em,
.policy-x-region i {
font-style: italic;
color: #3d3b55;
}

.policy-x-region a {
color: #593D97;
text-decoration: underline;
text-decoration-color: rgba(89, 61, 151, 0.4);
text-underline-offset: 3px;
transition: color 0.18s ease-out, text-decoration-color 0.14s ease-out;
}

.policy-x-region a:hover {
color: #F10107;
text-decoration-color: rgba(241, 1, 7, 0.6);
}

.policy-x-region a:visited {
color: #3d2a7a;
}

.policy-x-region table {
width: 100%;
border-collapse: collapse;
margin-bottom: 24px;
font-size: 16px;
line-height: 1.75;
border-radius: 22px;
overflow: hidden;
box-shadow: 0 1px 6px -2px rgba(241, 1, 7, 0.06), 0 7px 18px -2px rgba(241, 1, 7, 0.08);
}

.policy-x-region thead {
background: #593D97;
}

.policy-x-region thead th {
color: #FAFFFD;
font-size: 16px;
line-height: 1.75;
font-weight: 700;
padding: 12px 24px;
text-align: left;
text-transform: uppercase;
letter-spacing: 0.03em;
border: none;
}

.policy-x-region tbody tr {
border-bottom: 1px solid rgba(89, 61, 151, 0.1);
transition: background 0.12s ease-out;
}

.policy-x-region tbody tr:last-child {
border-bottom: none;
}

.policy-x-region tbody tr:nth-child(even) {
background: rgba(89, 61, 151, 0.04);
}

.policy-x-region tbody tr:hover {
background: rgba(241, 1, 7, 0.04);
}

.policy-x-region td {
color: #2c2b3e;
font-size: 16px;
line-height: 1.75;
padding: 12px 24px;
vertical-align: top;
border: none;
}

.policy-x-region th {
font-size: 16px;
line-height: 1.75;
font-weight: 700;
padding: 12px 24px;
text-align: left;
}

@media (max-width: 768px) {
.policy-x-region {
padding: 24px 24px 52px;
}

.policy-x-region h1 {
font-size: 28px;
line-height: 1.1;
}

.policy-x-region h2 {
font-size: 28px;
margin-top: 24px;
}

.policy-x-region table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
border-radius: 22px;
}

.policy-x-region thead th,
.policy-x-region td {
padding: 12px;
white-space: nowrap;
}
}

@media (max-width: 480px) {
.policy-x-region {
padding: 24px 12px 52px;
}

.policy-x-region h1 {
font-size: 28px;
}

.policy-x-region h3 {
font-size: 16px;
}
}

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

.ld ::selection {
background: linear-gradient(90deg, #F10107, #593D97);
color: #FAFFFD;
}

.ld .pg {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}

.ld .titblock {
position: relative;
padding: 96px 0;
background: linear-gradient(160deg, #1e0a2e 0%, #3a0505 55%, #2d1060 100%);
overflow: hidden;
}

.ld .titblock .blob1 {
position: absolute;
top: -80px;
left: -60px;
width: 420px;
height: 420px;
background: radial-gradient(circle at 30% 70%, rgba(241, 1, 7, 0.22) 0%, transparent 70%);
filter: blur(48px);
border-radius: 38px;
pointer-events: none;
}

.ld .titblock .blob2 {
position: absolute;
bottom: -100px;
right: -40px;
width: 500px;
height: 380px;
background: radial-gradient(circle at 20% 80%, rgba(89, 61, 151, 0.28) 0%, transparent 68%);
filter: blur(56px);
border-radius: 38px;
pointer-events: none;
}

.ld .titblock .blob3 {
position: absolute;
top: 40%;
left: 55%;
width: 280px;
height: 280px;
background: radial-gradient(circle at 25% 75%, rgba(241, 1, 7, 0.14) 0%, transparent 65%);
filter: blur(36px);
border-radius: 38px;
pointer-events: none;
}

.ld .titblock .titinner {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 52px;
position: relative;
z-index: 1;
}

.ld .titblock .tittext {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 24px;
}

.ld .titblock .tittag {
display: inline-block;
font-size: 16px;
line-height: 1.75;
color: rgba(250, 255, 253, 0.65);
letter-spacing: 0.08em;
text-transform: uppercase;
border-bottom: 1px solid rgba(241, 1, 7, 0.4);
padding-bottom: 6px;
}

.ld .titblock .tith1 {
font-size: 72px;
line-height: 1.1;
color: #FAFFFD;
font-weight: 900;
margin: 0;
}

.ld .titblock .tith1 .accentline {
display: block;
color: #F10107;
}

.ld .titblock .tith1 .fadeline {
display: block;
color: rgba(250, 255, 253, 0.55);
font-size: 56px;
}

.ld .titblock .titdesc {
font-size: 16px;
line-height: 1.75;
color: rgba(250, 255, 253, 0.78);
max-width: 480px;
margin: 0;
}

.ld .titblock .titcta {
display: inline-block;
padding: 12px 52px;
background: #F10107;
color: #FAFFFD;
font-size: 16px;
line-height: 1.75;
text-transform: uppercase;
text-decoration: none;
border-radius: 1px;
font-weight: 700;
align-self: flex-start;
transition: width 0.18s ease-out, padding 0.18s ease-out, background 0.14s ease-out;
box-shadow: 0 7px 18px -2px rgba(241, 1, 7, 0.08);
}

.ld .titblock .titcta:hover {
padding-left: 66px;
padding-right: 66px;
background: #c90005;
}

.ld .titblock .titimgwrap {
flex: 0 0 420px;
border-radius: 22px;
overflow: hidden;
box-shadow: 0 9px 44px -2px rgba(89, 61, 151, 0.11);
position: relative;
}

.ld .titblock .titimgwrap::after {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(circle at 60% 30%, rgba(250, 255, 253, 0.18) 0%, transparent 65%);
pointer-events: none;
}

.ld .titblock .titimgwrap img {
width: 100%;
aspect-ratio: 4/3;
object-fit: cover;
display: block;
transition: transform 0.22s cubic-bezier(0.4, 0, 0.6, 1);
}

.ld .titblock .titimgwrap:hover img {
transform: scale(1.04);
}

.ld .reputsec {
padding: 96px 0;
background: #FAFFFD;
position: relative;
}

.ld .reputsec .reptop {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 52px;
margin-bottom: 52px;
}

.ld .reputsec .repleft {
flex: 0 0 340px;
}

.ld .reputsec .replabel {
font-size: 16px;
line-height: 1.75;
text-transform: uppercase;
color: rgba(89, 61, 151, 0.6);
margin: 0 0 12px 0;
letter-spacing: 0.06em;
}

.ld .reputsec .reph2 {
font-size: 56px;
line-height: 1.1;
font-weight: 900;
color: #1a0830;
margin: 0;
}

.ld .reputsec .repright {
flex: 1 1 0;
padding-top: 12px;
}

.ld .reputsec .repdesc {
font-size: 16px;
line-height: 1.75;
color: #2a1840;
margin: 0 0 24px 0;
}

.ld .reputsec .repdivider {
width: 48px;
height: 2px;
background: #F10107;
margin-bottom: 24px;
border-radius: 1px;
}

.ld .reputsec .repquote {
font-size: 28px;
line-height: 1.1;
font-weight: 700;
color: #593D97;
text-align: right;
margin: 0;
}

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

.ld .reputsec .assoccard {
border-radius: 22px;
padding: 24px;
background: #fff;
box-shadow: 0 1px 6px -2px rgba(89, 61, 151, 0.06);
display: flex;
flex-direction: column;
gap: 12px;
transition: box-shadow 0.16s ease-out, transform 0.16s ease-out;
position: relative;
overflow: hidden;
}

.ld .reputsec .assoccard::before {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(circle at 0% 100%, rgba(241, 1, 7, 0.06) 0%, transparent 65%);
opacity: 0;
transition: opacity 0.16s ease-out;
pointer-events: none;
}

.ld .reputsec .assoccard:hover::before {
opacity: 1;
}

.ld .reputsec .assoccard:hover {
box-shadow: 0 7px 18px -2px rgba(89, 61, 151, 0.08);
transform: translateY(-2px);
}

.ld .reputsec .associcon {
width: 40px;
height: 40px;
border-radius: 1px;
background: linear-gradient(135deg, #F10107 0%, #593D97 100%);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.ld .reputsec .associcon svg {
width: 20px;
height: 20px;
fill: #FAFFFD;
}

.ld .reputsec .assoch4 {
font-size: 16px;
line-height: 1.75;
font-weight: 700;
color: #1a0830;
margin: 0;
}

.ld .reputsec .assoctext {
font-size: 16px;
line-height: 1.75;
color: #3d2460;
margin: 0;
}

.ld .reputsec .ratingstrip {
margin-top: 52px;
padding: 24px 52px;
background: linear-gradient(135deg, #1a0830 0%, #3a0505 100%);
border-radius: 22px;
display: flex;
flex-direction: row;
align-items: center;
gap: 52px;
}

.ld .reputsec .ratingnum {
font-size: 56px;
line-height: 1.1;
font-weight: 900;
color: #F10107;
}

.ld .reputsec .ratinglabel {
font-size: 16px;
line-height: 1.75;
color: rgba(250, 255, 253, 0.75);
}

.ld .reputsec .ratingbold {
color: #FAFFFD;
font-weight: 700;
}

.ld .reputsec .starsrow {
display: flex;
flex-direction: row;
gap: 6px;
margin-top: 6px;
}

.ld .reputsec .star {
width: 18px;
height: 18px;
}

.ld .reputsec .star svg {
width: 18px;
height: 18px;
fill: #F10107;
}

.ld .reputsec .ratingsep {
width: 1px;
height: 52px;
background: rgba(250, 255, 253, 0.18);
}

.ld .expsec {
padding: 96px 0;
background: #fff;
position: relative;
}

.ld .expsec .patterndeco {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
}

.ld .expsec .patterndeco::before {
content: "";
position: absolute;
top: 24px;
right: 52px;
width: 180px;
height: 180px;
background-image:
radial-gradient(circle, rgba(89, 61, 151, 0.09) 2px, transparent 2px),
radial-gradient(circle, rgba(241, 1, 7, 0.07) 2px, transparent 2px);
background-size: 22px 22px, 44px 44px;
background-position: 0 0, 11px 11px;
border-radius: 38px;
}

.ld .expsec .patterndeco::after {
content: "";
position: absolute;
bottom: 52px;
left: 24px;
width: 120px;
height: 120px;
background-image: radial-gradient(circle, rgba(89, 61, 151, 0.07) 2px, transparent 2px);
background-size: 18px 18px;
border-radius: 38px;
}

.ld .expsec .expinner {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
position: relative;
z-index: 1;
}

.ld .expsec .exptop {
text-align: right;
margin-bottom: 52px;
}

.ld .expsec .explabel {
font-size: 16px;
line-height: 1.75;
text-transform: uppercase;
color: rgba(241, 1, 7, 0.65);
letter-spacing: 0.06em;
margin: 0 0 12px 0;
}

.ld .expsec .exph2 {
font-size: 56px;
line-height: 1.1;
font-weight: 900;
color: #1a0830;
margin: 0;
}

.ld .expsec .expgrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.ld .expsec .expcard {
border-radius: 22px;
overflow: hidden;
box-shadow: 0 1px 6px -2px rgba(241, 1, 7, 0.06);
display: grid;
grid-template-columns: 1fr 1fr;
}

.ld .expsec .expcardimg {
overflow: hidden;
position: relative;
}

.ld .expsec .expcardimg img {
width: 100%;
height: 100%;
aspect-ratio: 4/3;
object-fit: cover;
display: block;
transition: transform 0.2s cubic-bezier(0.4, 0, 0.6, 1);
}

.ld .expsec .expcardimg:hover img {
transform: scale(1.05);
}

.ld .expsec .expcardtxt {
background: #FAFFFD;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
justify-content: center;
}

.ld .expsec .expcardtxt.dark {
background: #1a0830;
}

.ld .expsec .expname {
font-size: 16px;
line-height: 1.75;
font-weight: 700;
color: #1a0830;
margin: 0;
}

.ld .expsec .expcardtxt.dark .expname {
color: #FAFFFD;
}

.ld .expsec .exprole {
font-size: 16px;
line-height: 1.75;
color: #F10107;
margin: 0;
text-transform: uppercase;
letter-spacing: 0.04em;
}

.ld .expsec .expdivline {
width: 32px;
height: 1px;
background: #593D97;
}

.ld .expsec .expquote {
font-size: 16px;
line-height: 1.75;
color: #3d2460;
margin: 0;
font-style: italic;
}

.ld .expsec .expcardtxt.dark .expquote {
color: rgba(250, 255, 253, 0.8);
}

.ld .expsec .expcard.reversed .expcardimg {
order: 2;
}

.ld .expsec .expcard.reversed .expcardtxt {
order: 1;
}

.ld .valuesec {
padding: 96px 0;
background: #FAFFFD;
position: relative;
}

.ld .valuesec .valuedeco {
position: absolute;
top: 0;
left: 0;
width: 320px;
height: 320px;
background: radial-gradient(circle at 0% 100%, rgba(89, 61, 151, 0.08) 0%, transparent 65%);
pointer-events: none;
}

.ld .valuesec .valueinner {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
position: relative;
z-index: 1;
}

.ld .valuesec .valuetop {
display: flex;
flex-direction: row;
gap: 52px;
margin-bottom: 52px;
align-items: flex-end;
}

.ld .valuesec .valueleft {
flex: 1 1 0;
}

.ld .valuesec .valuelabel {
font-size: 16px;
line-height: 1.75;
text-transform: uppercase;
color: rgba(89, 61, 151, 0.6);
letter-spacing: 0.06em;
margin: 0 0 12px 0;
}

.ld .valuesec .valueh2 {
font-size: 56px;
line-height: 1.1;
font-weight: 900;
color: #1a0830;
margin: 0;
}

.ld .valuesec .valueright {
flex: 0 0 380px;
}

.ld .valuesec .valuedesc {
font-size: 16px;
line-height: 1.75;
color: #2a1840;
margin: 0;
}

.ld .valuesec .valuefeature {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0;
border-radius: 22px;
overflow: hidden;
box-shadow: 0 9px 44px -2px rgba(89, 61, 151, 0.11);
margin-bottom: 52px;
}

.ld .valuesec .vfimgcol {
overflow: hidden;
position: relative;
}

.ld .valuesec .vfimgcol img {
width: 100%;
height: 100%;
aspect-ratio: 4/3;
object-fit: cover;
display: block;
transition: transform 0.2s cubic-bezier(0.4, 0, 0.6, 1);
}

.ld .valuesec .vfimgcol:hover img {
transform: scale(1.04);
}

.ld .valuesec .vftextcol {
background: #1a0830;
padding: 52px;
display: flex;
flex-direction: column;
gap: 24px;
justify-content: center;
}

.ld .valuesec .vfintro {
font-size: 28px;
line-height: 1.1;
font-weight: 700;
color: #FAFFFD;
margin: 0;
border-bottom: 2px solid #F10107;
padding-bottom: 24px;
}

.ld .valuesec .vfbody {
font-size: 16px;
line-height: 1.75;
color: rgba(250, 255, 253, 0.8);
margin: 0;
}

.ld .valuesec .vflist {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px;
}

.ld .valuesec .vflist li {
font-size: 16px;
line-height: 1.75;
color: rgba(250, 255, 253, 0.75);
padding-left: 24px;
position: relative;
}

.ld .valuesec .vflist li::before {
content: "";
position: absolute;
left: 0;
top: 12px;
width: 8px;
height: 1px;
background: #F10107;
}

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

.ld .valuesec .vmetric {
padding: 24px;
border-radius: 22px;
background: #fff;
box-shadow: 0 1px 6px -2px rgba(89, 61, 151, 0.06);
display: flex;
flex-direction: column;
gap: 6px;
position: relative;
overflow: hidden;
transition: box-shadow 0.14s ease-out;
}

.ld .valuesec .vmetric::after {
content: "";
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 3px;
background: #593D97;
border-radius: 1px;
transition: width 0.18s cubic-bezier(0.4, 0, 0.6, 1), background 0.18s ease-out;
}

.ld .valuesec .vmetric:hover::after {
width: 100%;
background: rgba(89, 61, 151, 0.06);
}

.ld .valuesec .vmetric:hover {
box-shadow: 0 7px 18px -2px rgba(89, 61, 151, 0.08);
}

.ld .valuesec .vmetricnum {
font-size: 56px;
line-height: 1.1;
font-weight: 900;
color: #F10107;
position: relative;
z-index: 1;
}

.ld .valuesec .vmetriclabel {
font-size: 16px;
line-height: 1.75;
color: #1a0830;
font-weight: 700;
margin: 0;
position: relative;
z-index: 1;
}

.ld .valuesec .vmetrictext {
font-size: 16px;
line-height: 1.75;
color: #3d2460;
margin: 0;
position: relative;
z-index: 1;
}

.ld .valuesec .vmetricdiv {
width: 32px;
height: 1px;
background: rgba(89, 61, 151, 0.3);
position: relative;
z-index: 1;
}

@media (max-width: 1024px) {
.ld .titblock .titinner {
flex-direction: column;
}

.ld .titblock .titimgwrap {
flex: 0 0 auto;
width: 100%;
}

.ld .titblock .tith1 {
font-size: 56px;
}

.ld .reputsec .reptop {
flex-direction: column;
gap: 24px;
}

.ld .reputsec .repleft {
flex: 0 0 auto;
}

.ld .reputsec .assocgrid {
grid-template-columns: 1fr 1fr;
}

.ld .reputsec .ratingstrip {
flex-wrap: wrap;
gap: 24px;
padding: 24px;
}

.ld .expsec .expgrid {
grid-template-columns: 1fr;
}

.ld .valuesec .valuetop {
flex-direction: column;
gap: 24px;
align-items: flex-start;
}

.ld .valuesec .valueright {
flex: 0 0 auto;
width: 100%;
}

.ld .valuesec .valuefeature {
grid-template-columns: 1fr;
}

.ld .valuesec .valuemetrics {
grid-template-columns: 1fr 1fr;
}
}

@media (max-width: 768px) {
.ld .titblock {
padding: 52px 0;
}

.ld .titblock .tith1 {
font-size: 56px;
}

.ld .titblock .tith1 .fadeline {
font-size: 28px;
}

.ld .reputsec {
padding: 52px 0;
}

.ld .reputsec .reph2 {
font-size: 28px;
}

.ld .reputsec .assocgrid {
grid-template-columns: 1fr;
}

.ld .reputsec .ratingnum {
font-size: 28px;
}

.ld .expsec {
padding: 52px 0;
}

.ld .expsec .exph2 {
font-size: 28px;
}

.ld .expsec .expcard {
grid-template-columns: 1fr;
}

.ld .expsec .expcard.reversed .expcardimg {
order: 0;
}

.ld .expsec .expcard.reversed .expcardtxt {
order: 0;
}

.ld .valuesec {
padding: 52px 0;
}

.ld .valuesec .valueh2 {
font-size: 28px;
}

.ld .valuesec .vftextcol {
padding: 24px;
}

.ld .valuesec .vfintro {
font-size: 16px;
}

.ld .valuesec .valuemetrics {
grid-template-columns: 1fr;
}

.ld .valuesec .vmetricnum {
font-size: 28px;
}
}

@media (max-width: 480px) {
.ld .titblock .tith1 {
font-size: 28px;
}

.ld .titblock .tith1 .fadeline {
font-size: 16px;
}

.ld .titblock .titcta {
padding: 12px 24px;
width: 100%;
text-align: center;
}

.ld .titblock .titcta:hover {
padding-left: 24px;
padding-right: 24px;
}

.ld .reputsec .ratingstrip {
flex-direction: column;
gap: 12px;
}

.ld .reputsec .ratingsep {
display: none;
}
}

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

.ctus ::selection {
background: linear-gradient(90deg, #F10107, #593D97);
color: #FAFFFD;
}

.ctus .driftspot {
position: fixed;
width: 320px;
height: 320px;
border-radius: 50%;
background: radial-gradient(circle at 30% 70%, rgba(241, 1, 7, 0.07), transparent 70%);
pointer-events: none;
z-index: 0;
animation: spotdrift 9s cubic-bezier(0.4, 0, 0.6, 1) infinite alternate;
top: 0;
left: 0;
}

@keyframes spotdrift {
0% {
transform: translate(0, 60px);
opacity: 0.7;
}

50% {
transform: translate(40px, 200px);
opacity: 1;
}

100% {
transform: translate(10px, 400px);
opacity: 0.6;
}
}

.ctus .chevdivider {
width: 100%;
overflow: hidden;
line-height: 0;
display: block;
}

.ctus .chevdivider svg {
display: block;
width: 100%;
}

.ctus .topband {
background: #1a0a2e;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");
position: relative;
padding: 96px 24px 52px;
}

.ctus .topband::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(89, 61, 151, 0.18) 0%, transparent 60%),
linear-gradient(225deg, rgba(241, 1, 7, 0.09) 0%, transparent 55%);
pointer-events: none;
}

.ctus .topband .circles {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
}

.ctus .topband .circles span {
position: absolute;
border-radius: 50%;
border: 1px solid rgba(250, 255, 253, 0.06);
}

.ctus .topband .circles span:nth-child(1) {
width: 320px;
height: 320px;
top: -80px;
right: -60px;
background: rgba(89, 61, 151, 0.05);
}

.ctus .topband .circles span:nth-child(2) {
width: 200px;
height: 200px;
top: -30px;
right: -10px;
background: rgba(241, 1, 7, 0.04);
}

.ctus .topband .circles span:nth-child(3) {
width: 480px;
height: 480px;
bottom: -200px;
left: -100px;
background: rgba(89, 61, 151, 0.03);
}

.ctus .topband .tbinner {
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.ctus .topband .tbinner h1 {
font-size: 56px;
line-height: 1.1;
color: #FAFFFD;
margin: 0 0 24px;
max-width: 680px;
}

.ctus .topband .tbinner .tagline {
font-size: 16px;
line-height: 1.75;
color: rgba(250, 255, 253, 0.72);
max-width: 520px;
margin: 0 0 24px;
}

.ctus .topband .tbinner .ptlist {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px;
}

.ctus .topband .tbinner .ptlist li {
font-size: 16px;
line-height: 1.75;
color: rgba(250, 255, 253, 0.85);
padding-left: 24px;
position: relative;
}

.ctus .topband .tbinner .ptlist li::before {
content: '';
position: absolute;
left: 0;
top: 11px;
width: 10px;
height: 2px;
background: #F10107;
}

.ctus .formarea {
background: #FAFFFD;
padding: 96px 24px;
position: relative;
}

.ctus .formarea .fainner {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1.4fr;
gap: 52px;
align-items: start;
}

.ctus .formarea .faside {
position: sticky;
top: 52px;
}

.ctus .formarea .faside h2 {
font-size: 28px;
line-height: 1.1;
color: #1a0a2e;
margin: 0 0 24px;
}

.ctus .formarea .faside .pullq {
font-size: 28px;
line-height: 1.1;
color: #593D97;
border-top: 2px solid #593D97;
padding: 12px 0 0;
margin: 0 0 24px;
text-align: right;
}

.ctus .formarea .faside .sidebody {
font-size: 16px;
line-height: 1.75;
color: #2d1a4a;
margin: 0 0 24px;
}

.ctus .formarea .faside .contactlist {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px;
}

.ctus .formarea .faside .contactlist li {
font-size: 16px;
line-height: 1.75;
color: #2d1a4a;
}

.ctus .formarea .faside .contactlist li strong {
display: block;
font-size: 16px;
color: #1a0a2e;
text-transform: uppercase;
letter-spacing: 0.04em;
font-size: 16px;
}

.ctus .formarea .faside .contactlist a {
color: #F10107;
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.15s ease-out;
}

.ctus .formarea .faside .contactlist a:hover {
color: #593D97;
}

.ctus .formcard {
background: #fff;
border-radius: 22px;
padding: 52px;
box-shadow: 0 7px 18px -2px rgba(89, 61, 151, 0.08), 0 1px 6px -2px rgba(89, 61, 151, 0.06);
}

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

.ctus .formcard form {
display: flex;
flex-direction: column;
gap: 24px;
}

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

.ctus .formcard .fieldgrp label {
font-size: 16px;
line-height: 1.75;
color: #1a0a2e;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}

.ctus .formcard .fieldgrp input[type="text"],
.ctus .formcard .fieldgrp input[type="email"],
.ctus .formcard .fieldgrp input[type="tel"] {
width: 100%;
padding: 12px 24px;
border: 1px solid rgba(89, 61, 151, 0.22);
border-radius: 1px;
background: #FAFFFD;
font-size: 16px;
line-height: 1.75;
color: #1a0a2e;
outline: none;
box-sizing: border-box;
transition: border-color 0.18s ease-out, box-shadow 0.18s ease-out;
}

.ctus .formcard .fieldgrp input::placeholder {
text-transform: uppercase;
color: rgba(26, 10, 46, 0.38);
font-size: 16px;
}

.ctus .formcard .fieldgrp input[type="text"]:focus,
.ctus .formcard .fieldgrp input[type="email"]:focus,
.ctus .formcard .fieldgrp input[type="tel"]:focus {
border-color: #593D97;
box-shadow: 0 0 0 3px rgba(89, 61, 151, 0.10), inset 0 4px 8px rgba(89, 61, 151, 0.06);
}

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

.ctus .formcard .checkgrp .chklabel {
font-size: 16px;
line-height: 1.75;
color: #1a0a2e;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 6px;
}

.ctus .formcard .checkgrp .chkopts {
display: flex;
flex-direction: column;
gap: 6px;
}

.ctus .formcard .checkgrp .chkopts label {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
font-size: 16px;
line-height: 1.75;
color: #2d1a4a;
cursor: pointer;
padding: 6px 12px;
border-radius: 1px;
transition: background 0.15s ease-out;
}

.ctus .formcard .checkgrp .chkopts label:hover {
background: rgba(89, 61, 151, 0.06);
}

.ctus .formcard .checkgrp .chkopts input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #593D97;
cursor: pointer;
flex-shrink: 0;
}

.ctus .formcard .privrow {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 12px;
background: rgba(89, 61, 151, 0.04);
border-radius: 1px;
}

.ctus .formcard .privrow input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #593D97;
cursor: pointer;
flex-shrink: 0;
margin-top: 4px;
}

.ctus .formcard .privrow .privtext {
font-size: 16px;
line-height: 1.75;
color: #2d1a4a;
}

.ctus .formcard .privrow .privtext a {
color: #F10107;
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.15s ease-out;
}

.ctus .formcard .privrow .privtext a:hover {
color: #593D97;
}

.ctus .formcard .submitrow {
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
}

.ctus .formcard .subbtn {
display: inline-block;
padding: 12px 52px;
background: #F10107;
color: #FAFFFD;
font-size: 16px;
line-height: 1.75;
text-transform: uppercase;
letter-spacing: 0.08em;
border: none;
border-radius: 1px;
cursor: pointer;
font-weight: 700;
box-shadow: 0 7px 18px -2px rgba(241, 1, 7, 0.08);
transition: background 0.18s ease-out, padding 0.15s cubic-bezier(0.4, 0, 0.6, 1), box-shadow 0.18s ease-out;
}

.ctus .formcard .subbtn:hover {
background: #c20005;
padding: 12px 62px;
box-shadow: 0 9px 44px -2px rgba(241, 1, 7, 0.11);
}

.ctus .formcard .subbtn:focus {
outline: 3px solid #593D97;
outline-offset: 3px;
}

.ctus .formcard .subbtn:active {
background: #a00004;
box-shadow: inset 0 5px 10px rgba(241, 1, 7, 0.18);
}

.ctus .infostrip {
background: linear-gradient(160deg, rgba(89, 61, 151, 0.13) 0%, rgba(241, 1, 7, 0.06) 40%, rgba(250, 255, 253, 0.0) 100%), #f5f0fc;
padding: 96px 24px 52px;
position: relative;
overflow: hidden;
}

.ctus .infostrip .meshbg {
position: absolute;
inset: 0;
pointer-events: none;
background:
radial-gradient(circle at 10% 90%, rgba(89, 61, 151, 0.12) 0%, transparent 55%),
radial-gradient(circle at 80% 20%, rgba(241, 1, 7, 0.07) 0%, transparent 50%),
radial-gradient(circle at 50% 60%, rgba(89, 61, 151, 0.06) 0%, transparent 60%);
}

.ctus .infostrip .circles2 {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
}

.ctus .infostrip .circles2 span {
position: absolute;
border-radius: 50%;
border: 1px solid rgba(89, 61, 151, 0.09);
}

.ctus .infostrip .circles2 span:nth-child(1) {
width: 260px;
height: 260px;
bottom: -60px;
right: 80px;
}

.ctus .infostrip .circles2 span:nth-child(2) {
width: 160px;
height: 160px;
bottom: 20px;
right: 160px;
}

.ctus .infostrip .circles2 span:nth-child(3) {
width: 380px;
height: 380px;
top: -120px;
left: -80px;
border-color: rgba(241, 1, 7, 0.06);
}

.ctus .infostrip .isinner {
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.ctus .infostrip .isinner h2 {
font-size: 28px;
line-height: 1.1;
color: #1a0a2e;
margin: 0 0 52px;
max-width: 560px;
}

.ctus .infostrip .metricrow {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 52px;
margin-bottom: 52px;
}

.ctus .infostrip .metric {
display: flex;
flex-direction: column;
gap: 12px;
align-items: flex-start;
}

.ctus .infostrip .metric .ringwrap {
position: relative;
width: 80px;
height: 80px;
}

.ctus .infostrip .metric .ringwrap svg {
width: 80px;
height: 80px;
transform: rotate(-90deg);
}

.ctus .infostrip .metric .ringwrap .ringval {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
line-height: 1.1;
font-weight: 700;
color: #1a0a2e;
}

.ctus .infostrip .metric .metlabel {
font-size: 16px;
line-height: 1.75;
color: #2d1a4a;
font-weight: 600;
}

.ctus .infostrip .metric .metdesc {
font-size: 16px;
line-height: 1.75;
color: #4a3566;
}

.ctus .infostrip .codeblock {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
background: #1a0a2e;
border-radius: 22px;
overflow: hidden;
box-shadow: 0 9px 44px -2px rgba(89, 61, 151, 0.11);
}

.ctus .infostrip .codeblock .codeside {
padding: 24px;
font-size: 16px;
line-height: 1.75;
color: rgba(250, 255, 253, 0.82);
font-family: monospace;
}

.ctus .infostrip .codeblock .codeside .codeline {
display: block;
margin-bottom: 6px;
}

.ctus .infostrip .codeblock .codeside .cl-key {
color: #a78bfa;
}

.ctus .infostrip .codeblock .codeside .cl-str {
color: #f87171;
}

.ctus .infostrip .codeblock .codeside .cl-val {
color: #34d399;
}

.ctus .infostrip .codeblock .codeside .cl-cmt {
color: rgba(250, 255, 253, 0.38);
}

.ctus .infostrip .codeblock .outputside {
background: rgba(250, 255, 253, 0.04);
padding: 24px;
border-left: 1px solid rgba(250, 255, 253, 0.08);
}

.ctus .infostrip .codeblock .outputside .outlabel {
font-size: 16px;
line-height: 1.75;
color: rgba(250, 255, 253, 0.45);
text-transform: uppercase;
letter-spacing: 0.06em;
margin-bottom: 12px;
}

.ctus .infostrip .codeblock .outputside .outcard {
background: rgba(250, 255, 253, 0.07);
border-radius: 1px;
padding: 12px;
margin-bottom: 12px;
}

.ctus .infostrip .codeblock .outputside .outcard .outtitle {
font-size: 16px;
line-height: 1.75;
color: #FAFFFD;
font-weight: 600;
}

.ctus .infostrip .codeblock .outputside .outcard .outval {
font-size: 16px;
line-height: 1.75;
color: rgba(250, 255, 253, 0.72);
}

.ctus .infostrip .codeblock .outputside .statusbadge {
display: inline-block;
padding: 6px 12px;
background: rgba(52, 211, 153, 0.15);
color: #34d399;
border-radius: 38px;
font-size: 16px;
line-height: 1.1;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}

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

.ctus .formarea .faside {
position: static;
}

.ctus .infostrip .metricrow {
grid-template-columns: repeat(2, 1fr);
gap: 24px;
}

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

.ctus .infostrip .codeblock .outputside {
border-left: none;
border-top: 1px solid rgba(250, 255, 253, 0.08);
}
}

@media (max-width: 768px) {
.ctus .topband {
padding: 52px 24px 52px;
}

.ctus .topband .tbinner h1 {
font-size: 28px;
}

.ctus .formcard {
padding: 24px;
}

.ctus .formarea {
padding: 52px 24px;
}

.ctus .infostrip .metricrow {
grid-template-columns: 1fr;
gap: 24px;
}

.ctus .formcard .submitrow {
flex-direction: column;
align-items: flex-start;
gap: 12px;
}
}

@media (max-width: 480px) {
.ctus .topband .tbinner h1 {
font-size: 28px;
}

.ctus .formcard {
padding: 24px 12px;
}

.ctus .infostrip .codeblock .codeside,
.ctus .infostrip .codeblock .outputside {
padding: 12px;
}
}

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

.abt ::selection {
background: linear-gradient(90deg, #F10107, #593D97);
color: #FAFFFD;
}

@keyframes slideUp {
from {
opacity: 0;
transform: translateY(48px);
}

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

.abt .risen {
animation: slideUp 0.72s cubic-bezier(0.4, 0, 0.6, 1) both;
}

.abt .risen.d1 {
animation-delay: 0.08s;
}

.abt .risen.d2 {
animation-delay: 0.18s;
}

.abt .risen.d3 {
animation-delay: 0.28s;
}

.abt .risen.d4 {
animation-delay: 0.38s;
}

@keyframes geoOutline {

0%,
100% {
opacity: 0.04;
transform: scale(1);
}

50% {
opacity: 0.09;
transform: scale(1.03);
}
}

.abt .topband {
background: #FAFFFD;
padding: 96px 24px 52px;
position: relative;
}

.abt .topband-geo {
position: absolute;
top: 24px;
right: 52px;
width: 340px;
height: 340px;
border: 2px solid #593D97;
border-radius: 38px;
animation: geoOutline 4.5s ease-out infinite;
pointer-events: none;
overflow: hidden;
}

.abt .topband-geo::before {
content: '';
position: absolute;
top: 24px;
left: 24px;
right: 24px;
bottom: 24px;
border: 1px solid #F10107;
border-radius: 22px;
}

.abt .dotpath {
position: absolute;
bottom: 52px;
left: 24px;
display: flex;
flex-direction: row;
gap: 12px;
align-items: center;
pointer-events: none;
}

.abt .dotpath span {
display: block;
border-radius: 38px;
}

.abt .dotpath .dp1 {
width: 10px;
height: 10px;
background: #F10107;
}

.abt .dotpath .dp2 {
width: 6px;
height: 6px;
background: #593D97;
opacity: 0.6;
}

.abt .dotpath .dp3 {
width: 8px;
height: 8px;
background: #F10107;
opacity: 0.4;
}

.abt .dotpath .dp4 {
width: 4px;
height: 4px;
background: #593D97;
opacity: 0.3;
}

.abt .dotpath .dp5 {
width: 6px;
height: 6px;
background: #F10107;
opacity: 0.2;
}

.abt .topband-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 52px;
}

.abt .topband-text {
flex: 1 1 0;
min-width: 0;
}

.abt .topband-label {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 12px;
margin-bottom: 24px;
}

.abt .topband-label .dot {
width: 10px;
height: 10px;
background: #F10107;
border-radius: 38px;
display: block;
flex-shrink: 0;
}

.abt .topband-label .ltext {
font-size: 16px;
line-height: 1.75;
color: #593D97;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.abt .topband-h1 {
font-size: 56px;
line-height: 1.1;
color: #1a1000;
margin-bottom: 24px;
font-weight: 800;
}

.abt .topband-h1 .grad {
background: linear-gradient(135deg, #F10107 0%, #593D97 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}

.abt .topband-desc {
font-size: 16px;
line-height: 1.75;
color: #2a2a35;
max-width: 520px;
}

.abt .topband-img {
flex-shrink: 0;
width: 340px;
border-radius: 22px;
overflow: hidden;
box-shadow: 0 9px 44px -2px rgba(89, 61, 151, 0.11);
opacity: 0.82;
aspect-ratio: 4/3;
}

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

.abt .wave1 {
display: block;
width: 100%;
line-height: 0;
background: #FAFFFD;
}

.abt .wave1 svg {
display: block;
width: 100%;
}

.abt .pillars {
background: #fff;
padding: 52px 24px;
position: relative;
}

.abt .pillars-inner {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 52px;
align-items: start;
}

.abt .pillars-side {
display: flex;
flex-direction: column;
gap: 24px;
}

.abt .pillar-item {
padding: 24px;
border-radius: 22px;
background: #FAFFFD;
box-shadow: 0 1px 6px -2px rgba(241, 1, 7, 0.06);
transition: box-shadow 0.18s ease-out, transform 0.15s cubic-bezier(0.4, 0, 0.6, 1);
}

.abt .pillar-item:hover {
box-shadow: 0 7px 18px -2px rgba(241, 1, 7, 0.08);
transform: translateY(-3px);
}

.abt .pillar-item .pitag {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
margin-bottom: 12px;
}

.abt .pillar-item .pitag .pidot {
width: 8px;
height: 8px;
border-radius: 38px;
background: #F10107;
flex-shrink: 0;
}

.abt .pillar-item .pitag h4 {
font-size: 16px;
line-height: 1.1;
color: #593D97;
font-weight: 700;
text-transform: uppercase;
}

.abt .pillar-item p {
font-size: 16px;
line-height: 1.75;
color: #2a2a35;
}

.abt .pillars-center {
display: flex;
flex-direction: column;
gap: 24px;
align-items: center;
}

.abt .pillars-center-img {
width: 100%;
border-radius: 22px;
overflow: hidden;
aspect-ratio: 4/3;
box-shadow: 0 7px 18px -2px rgba(89, 61, 151, 0.08);
}

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

.abt .pillars-pull {
border-radius: 1px;
border-top: 3px solid #F10107;
padding-top: 12px;
text-align: right;
}

.abt .pillars-pull p {
font-size: 28px;
line-height: 1.1;
color: #593D97;
font-weight: 700;
}

.abt .pillars-side.right {
align-items: flex-end;
}

.abt .pillars-side.right .pillar-item {
text-align: right;
}

.abt .pillars-side.right .pillar-item .pitag {
flex-direction: row-reverse;
}

.abt .wave2 {
display: block;
width: 100%;
line-height: 0;
background: #fff;
}

.abt .wave2 svg {
display: block;
width: 100%;
}

.abt .storyband {
background: radial-gradient(circle at 0% 100%, rgba(241, 1, 7, 0.07) 0%, transparent 60%), #FAFFFD;
padding: 96px 24px;
position: relative;
}

.abt .storyband-hlines {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 0;
}

.abt .storyband-hlines::before {
content: '';
position: absolute;
inset: 0;
background-image:
repeating-linear-gradient(to bottom,
transparent 0px,
transparent 18px,
rgba(89, 61, 151, 0.04) 18px,
rgba(89, 61, 151, 0.04) 19px,
transparent 19px,
transparent 38px,
rgba(89, 61, 151, 0.025) 38px,
rgba(89, 61, 151, 0.025) 40px,
transparent 40px,
transparent 64px,
rgba(89, 61, 151, 0.015) 64px,
rgba(89, 61, 151, 0.015) 64.5px);
}

.abt .storyband-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 96px;
align-items: flex-start;
}

.abt .storyband-body {
flex: 1 1 0;
min-width: 0;
}

.abt .storyband-body h2 {
font-size: 56px;
line-height: 1.1;
color: #1a1000;
font-weight: 800;
margin-bottom: 24px;
}

.abt .storyband-body .sbp {
font-size: 16px;
line-height: 1.75;
color: #2a2a35;
margin-bottom: 24px;
}

.abt .storyband-aside {
width: 280px;
flex-shrink: 0;
display: flex;
flex-direction: column;
gap: 24px;
}

.abt .storyband-aside .asidecard {
background: #fff;
border-radius: 22px;
padding: 24px;
box-shadow: 0 7px 18px -2px rgba(89, 61, 151, 0.08);
}

.abt .storyband-aside .asidecard .actag {
font-size: 16px;
line-height: 1.1;
color: #F10107;
font-weight: 700;
text-transform: uppercase;
margin-bottom: 12px;
}

.abt .storyband-aside .asidecard p {
font-size: 16px;
line-height: 1.75;
color: #2a2a35;
}

.abt .storyband-aside .asidecard .bignum {
font-size: 56px;
line-height: 1.1;
font-weight: 800;
color: #593D97;
display: block;
margin-bottom: 6px;
}

.abt .wave3 {
display: block;
width: 100%;
line-height: 0;
background: #FAFFFD;
}

.abt .wave3 svg {
display: block;
width: 100%;
}

.abt .teamband {
background: #fff;
padding: 52px 24px 96px;
}

.abt .teamband-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 52px;
align-items: flex-start;
}

.abt .teamband-left {
flex-shrink: 0;
width: 380px;
display: flex;
flex-direction: column;
gap: 24px;
}

.abt .teamband-left h2 {
font-size: 56px;
line-height: 1.1;
color: #1a1000;
font-weight: 800;
}

.abt .teamband-left .tlabel {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
}

.abt .teamband-left .tlabel .tdot {
width: 10px;
height: 10px;
background: #593D97;
border-radius: 38px;
flex-shrink: 0;
}

.abt .teamband-left .tlabel span {
font-size: 16px;
line-height: 1.75;
color: #593D97;
text-transform: uppercase;
letter-spacing: 0.06em;
}

.abt .teamband-left .tdesc {
font-size: 16px;
line-height: 1.75;
color: #2a2a35;
}

.abt .teamband-right {
flex: 1 1 0;
min-width: 0;
display: flex;
flex-direction: column;
gap: 24px;
}

.abt .teamcard {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
padding: 24px;
border-radius: 22px;
background: #FAFFFD;
box-shadow: 0 1px 6px -2px rgba(241, 1, 7, 0.06);
transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.6, 1), transform 0.16s ease-out;
}

.abt .teamcard:hover {
box-shadow: 0 9px 44px -2px rgba(241, 1, 7, 0.11);
transform: translateY(-4px);
}

.abt .teamcard .tcimg {
width: 96px;
height: 96px;
border-radius: 22px;
overflow: hidden;
flex-shrink: 0;
box-shadow: 0 7px 18px -2px rgba(89, 61, 151, 0.08);
}

.abt .teamcard .tcimg img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.abt .teamcard .tcinfo {
flex: 1 1 0;
min-width: 0;
}

.abt .teamcard .tcinfo h5 {
font-size: 16px;
line-height: 1.1;
color: #1a1000;
font-weight: 700;
margin-bottom: 6px;
}

.abt .teamcard .tcinfo .tcrole {
font-size: 16px;
line-height: 1.1;
color: #F10107;
text-transform: uppercase;
font-weight: 600;
margin-bottom: 12px;
}

.abt .teamcard .tcinfo p {
font-size: 16px;
line-height: 1.75;
color: #2a2a35;
}

.abt .teamband-pull {
border-top: 3px solid #593D97;
padding-top: 12px;
text-align: right;
margin-top: 12px;
}

.abt .teamband-pull p {
font-size: 28px;
line-height: 1.1;
color: #F10107;
font-weight: 700;
}

@media (max-width: 1024px) {
.abt .topband-inner {
flex-direction: column;
gap: 24px;
}

.abt .topband-img {
width: 100%;
}

.abt .topband-geo {
width: 180px;
height: 180px;
right: 12px;
top: 12px;
}

.abt .pillars-inner {
grid-template-columns: 1fr;
gap: 24px;
}

.abt .pillars-side.right {
align-items: flex-start;
}

.abt .pillars-side.right .pillar-item {
text-align: left;
}

.abt .pillars-side.right .pillar-item .pitag {
flex-direction: row;
}

.abt .storyband-inner {
flex-direction: column;
gap: 52px;
}

.abt .storyband-aside {
width: 100%;
flex-direction: row;
flex-wrap: wrap;
}

.abt .storyband-aside .asidecard {
flex: 1 1 200px;
}

.abt .teamband-inner {
flex-direction: column;
gap: 24px;
}

.abt .teamband-left {
width: 100%;
}
}

@media (max-width: 768px) {
.abt .topband {
padding: 52px 24px 96px;
}

.abt .topband-h1 {
font-size: 28px;
}

.abt .storyband-body h2 {
font-size: 28px;
}

.abt .teamband-left h2 {
font-size: 28px;
}

.abt .teamcard {
flex-direction: column;
}

.abt .teamcard .tcimg {
width: 100%;
height: 180px;
}

.abt .storyband-aside {
flex-direction: column;
}

.abt .storyband {
padding: 52px 24px;
}

.abt .pillars-pull p {
font-size: 28px;
}
}

@media (max-width: 480px) {
.abt .topband {
padding: 52px 12px 96px;
}

.abt .pillars {
padding: 52px 12px;
}

.abt .storyband {
padding: 52px 12px;
}

.abt .teamband {
padding: 52px 12px 96px;
}

.abt .topband-geo {
display: none;
}

.abt .storyband-inner {
gap: 24px;
}
}

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

.lrnprog ::selection {
background: linear-gradient(90deg, #F10107, #593D97);
color: #FAFFFD;
}

.lrnprog .progwrap {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}

.lrnprog .titblock {
position: relative;
background: radial-gradient(circle at 0% 100%, rgba(241, 1, 7, 0.13) 0%, rgba(89, 61, 151, 0.07) 40%, transparent 70%);
padding: 96px 24px 52px;
}

.lrnprog .titblock .tbinner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 52px;
}

.lrnprog .titblock .tbmain {
flex: 1 1 0;
min-width: 0;
}

.lrnprog .titblock .tbside {
flex: 0 0 380px;
width: 380px;
position: relative;
}

.lrnprog .titblock .tbdeco {
position: absolute;
top: -24px;
right: -12px;
width: 220px;
height: 220px;
border: 2px solid rgba(241, 1, 7, 0.13);
border-radius: 38px;
pointer-events: none;
z-index: 0;
}

.lrnprog .titblock .tbdeco2 {
position: absolute;
bottom: 12px;
left: -18px;
width: 90px;
height: 90px;
border: 2px solid rgba(89, 61, 151, 0.12);
border-radius: 38px;
pointer-events: none;
z-index: 0;
}

.lrnprog .kicker {
display: inline-block;
font-size: 16px;
line-height: 1.1;
color: #F10107;
text-transform: uppercase;
letter-spacing: 0.08em;
margin-bottom: 24px;
padding-bottom: 6px;
border-bottom: 1.5px solid #F10107;
}

.lrnprog .tbmain h1 {
font-size: 56px;
line-height: 1.1;
color: #1a1209;
font-weight: 800;
margin: 0 0 24px;
max-width: 560px;
}

.lrnprog .tbmain h1 em {
font-style: normal;
color: #593D97;
}

.lrnprog .tbmain .tbdesc {
font-size: 16px;
line-height: 1.75;
color: #2a2320;
max-width: 460px;
margin: 0 0 24px;
}

.lrnprog .tbmain .tbmeta {
display: flex;
flex-direction: row;
gap: 24px;
flex-wrap: wrap;
margin-top: 12px;
}

.lrnprog .tbmeta .metaitem {
display: flex;
flex-direction: column;
gap: 6px;
}

.lrnprog .tbmeta .metaitem .mlabel {
font-size: 16px;
line-height: 1.1;
color: #7a7068;
text-transform: uppercase;
letter-spacing: 0.06em;
}

.lrnprog .tbmeta .metaitem .mval {
font-size: 28px;
line-height: 1.1;
color: #1a1209;
font-weight: 700;
}

.lrnprog .tbmeta .metaitem .mval.red {
color: #F10107;
}

.lrnprog .tbside .imgframe {
position: relative;
border-radius: 22px;
overflow: hidden;
aspect-ratio: 4/3;
width: 100%;
box-shadow: 0 9px 44px -2px rgba(241, 1, 7, 0.11);
z-index: 1;
}

.lrnprog .tbside .imgframe img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: brightness(0.88);
transition: filter 0.18s ease-out;
}

.lrnprog .tbside .imgframe:hover img {
filter: brightness(1.04);
}

.lrnprog .tbside .glowring {
position: absolute;
top: -18px;
left: -18px;
right: -18px;
bottom: -18px;
border-radius: 38px;
background: radial-gradient(circle at 30% 70%, rgba(241, 1, 7, 0.09), transparent 65%);
pointer-events: none;
z-index: 0;
}

.lrnprog .tbside .ratingbadge {
position: absolute;
bottom: -18px;
right: 18px;
background: #FAFFFD;
border-radius: 22px;
padding: 12px 24px;
box-shadow: 0 7px 18px -2px rgba(89, 61, 151, 0.08);
display: flex;
flex-direction: column;
gap: 6px;
z-index: 2;
}

.lrnprog .ratingbadge .rbstars {
display: flex;
flex-direction: row;
gap: 6px;
align-items: center;
}

.lrnprog .ratingbadge .star {
width: 14px;
height: 14px;
display: inline-block;
}

.lrnprog .ratingbadge .star svg {
width: 14px;
height: 14px;
}

.lrnprog .ratingbadge .rbval {
font-size: 28px;
line-height: 1.1;
font-weight: 800;
color: #1a1209;
}

.lrnprog .ratingbadge .rbcount {
font-size: 16px;
line-height: 1.1;
color: #7a7068;
}

.lrnprog .divider1 {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 12px;
padding: 12px 0;
max-width: 1200px;
margin: 0 auto;
}

.lrnprog .divider1 .dline {
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(89, 61, 151, 0.18), transparent);
}

.lrnprog .divider1 .dshape {
width: 18px;
height: 18px;
border: 2px solid #593D97;
border-radius: 1px;
transform: rotate(45deg);
flex-shrink: 0;
}

.lrnprog .structsec {
padding: 96px 24px 52px;
background: #FAFFFD;
position: relative;
}

.lrnprog .structsec::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(circle at 50% 50%, rgba(89, 61, 151, 0.05) 0%, transparent 70%);
pointer-events: none;
}

.lrnprog .structsec .ssinner {
max-width: 1200px;
margin: 0 auto;
position: relative;
}

.lrnprog .structsec .sshead {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 52px;
margin-bottom: 52px;
}

.lrnprog .structsec .ssheadleft {
flex: 1 1 0;
}

.lrnprog .structsec .ssheadright {
flex: 0 0 300px;
text-align: right;
}

.lrnprog .structsec h2 {
font-size: 56px;
line-height: 1.1;
color: #1a1209;
font-weight: 800;
margin: 0 0 12px;
}

.lrnprog .structsec .sssubtext {
font-size: 16px;
line-height: 1.75;
color: #2a2320;
max-width: 340px;
text-align: right;
}

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

.lrnprog .modcard {
background: #fff;
border-radius: 22px;
padding: 24px;
box-shadow: 0 1px 6px -2px rgba(241, 1, 7, 0.06);
transition: box-shadow 0.16s ease-out, transform 0.16s ease-out;
position: relative;
overflow: hidden;
}

.lrnprog .modcard::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #F10107, #593D97);
border-radius: 22px 22px 0 0;
opacity: 0;
transition: opacity 0.18s ease-out;
}

.lrnprog .modcard:hover {
box-shadow: 0 9px 44px -2px rgba(241, 1, 7, 0.11);
transform: translateY(-3px);
}

.lrnprog .modcard:hover::before {
opacity: 1;
}

.lrnprog .modcard .mcnum {
font-size: 56px;
line-height: 1.1;
font-weight: 900;
color: rgba(241, 1, 7, 0.08);
margin-bottom: 6px;
display: block;
}

.lrnprog .modcard h4 {
font-size: 16px;
line-height: 1.75;
font-weight: 700;
color: #1a1209;
margin: 0 0 12px;
text-transform: uppercase;
}

.lrnprog .modcard .mcdesc {
font-size: 16px;
line-height: 1.75;
color: #2a2320;
margin: 0;
}

.lrnprog .modcard .mcdur {
margin-top: 12px;
display: inline-block;
font-size: 16px;
line-height: 1.1;
color: #593D97;
font-weight: 600;
text-transform: uppercase;
}

.lrnprog .divider2 {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 12px;
padding: 12px 0;
max-width: 1200px;
margin: 0 auto;
}

.lrnprog .divider2 .dline {
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(241, 1, 7, 0.15), transparent);
}

.lrnprog .divider2 .dcircle {
width: 10px;
height: 10px;
border-radius: 22px;
background: #F10107;
flex-shrink: 0;
}

.lrnprog .faqsec {
padding: 52px 24px 96px;
position: relative;
background: linear-gradient(180deg, #fff 0%, rgba(250, 255, 253, 0.6) 100%);
}

.lrnprog .faqsec .faqinner {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
align-items: start;
}

.lrnprog .faqsec .faqleft {
position: sticky;
top: 24px;
}

.lrnprog .faqsec .faqleft h2 {
font-size: 56px;
line-height: 1.1;
font-weight: 800;
color: #1a1209;
margin: 0 0 24px;
}

.lrnprog .faqsec .faqleft .faqintro {
font-size: 16px;
line-height: 1.75;
color: #2a2320;
margin: 0 0 24px;
}

.lrnprog .faqsec .faqleft .pullquote {
font-size: 28px;
line-height: 1.1;
color: #593D97;
font-weight: 700;
border-top: 2px solid #593D97;
padding-top: 24px;
margin: 0;
}

.lrnprog .faqsec .faqright {
display: flex;
flex-direction: column;
gap: 12px;
}

.lrnprog .faqitem {
border-radius: 22px;
background: #fff;
box-shadow: 0 1px 6px -2px rgba(89, 61, 151, 0.06);
overflow: hidden;
}

.lrnprog .faqitem details {
width: 100%;
}

.lrnprog .faqitem summary {
font-size: 16px;
line-height: 1.75;
font-weight: 700;
color: #1a1209;
padding: 24px;
cursor: pointer;
list-style: none;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
gap: 12px;
user-select: none;
transition: color 0.14s ease-out, background 0.14s ease-out;
}

.lrnprog .faqitem summary::-webkit-details-marker {
display: none;
}

.lrnprog .faqitem summary:hover {
color: #F10107;
background: rgba(241, 1, 7, 0.03);
}

.lrnprog .faqitem details[open] summary {
color: #F10107;
}

.lrnprog .faqitem .faqarrow {
width: 20px;
height: 20px;
flex-shrink: 0;
transition: transform 0.18s cubic-bezier(0.4, 0, 0.6, 1);
}

.lrnprog .faqitem details[open] .faqarrow {
transform: rotate(180deg);
}

.lrnprog .faqitem .faqans {
font-size: 16px;
line-height: 1.75;
color: #2a2320;
padding: 0 24px 24px;
margin: 0;
}

.lrnprog .offerbar {
background: linear-gradient(135deg, #1a1209 0%, #2e1d0e 100%);
border-radius: 22px;
padding: 52px;
margin: 52px auto 0;
max-width: 1200px;
display: flex;
flex-direction: row;
align-items: center;
gap: 52px;
box-shadow: 0 9px 44px -2px rgba(241, 1, 7, 0.11);
position: relative;
overflow: hidden;
}

.lrnprog .offerbar::before {
content: '';
position: absolute;
top: -60px;
right: -60px;
width: 260px;
height: 260px;
border: 40px solid rgba(241, 1, 7, 0.07);
border-radius: 38px;
pointer-events: none;
}

.lrnprog .offerbar .obtext {
flex: 1 1 0;
}

.lrnprog .offerbar .obtext h3 {
font-size: 28px;
line-height: 1.1;
color: #FAFFFD;
font-weight: 800;
margin: 0 0 12px;
}

.lrnprog .offerbar .obtext p {
font-size: 16px;
line-height: 1.75;
color: rgba(250, 255, 253, 0.75);
margin: 0;
}

.lrnprog .offerbar .obprice {
flex-shrink: 0;
text-align: right;
}

.lrnprog .offerbar .obprice .priceval {
font-size: 56px;
line-height: 1.1;
font-weight: 900;
color: #F10107;
display: block;
}

.lrnprog .offerbar .obprice .pricelabel {
font-size: 16px;
line-height: 1.1;
color: rgba(250, 255, 253, 0.55);
text-transform: uppercase;
display: block;
margin-top: 6px;
}

.lrnprog .offerbar .obcta {
flex-shrink: 0;
}

.lrnprog .offerbar .obcta a {
display: inline-block;
background: #F10107;
color: #FAFFFD;
font-size: 16px;
line-height: 1.1;
font-weight: 700;
text-transform: uppercase;
text-decoration: none;
padding: 18px 36px;
border-radius: 1px;
box-shadow: 0 7px 18px -2px rgba(241, 1, 7, 0.08);
transition: padding 0.16s ease-out, background 0.14s ease-out;
letter-spacing: 0.06em;
}

.lrnprog .offerbar .obcta a:hover {
padding: 18px 48px;
background: #c90006;
}

.lrnprog .offerbar .obcta a:focus {
outline: 2px solid #FAFFFD;
outline-offset: 3px;
}

.lrnprog .pulsedot {
display: inline-block;
width: 10px;
height: 10px;
border-radius: 22px;
background: #F10107;
margin-right: 6px;
animation: pdpulse 1.8s cubic-bezier(0.4, 0, 0.6, 1) infinite;
vertical-align: middle;
}

@keyframes pdpulse {

0%,
100% {
box-shadow: 0 0 0 0 rgba(241, 1, 7, 0.35);
}

50% {
box-shadow: 0 0 0 7px rgba(241, 1, 7, 0);
}
}

.lrnprog .iconoutline {
display: inline-block;
width: 36px;
height: 36px;
margin-bottom: 12px;
}

.lrnprog .iconoutline svg {
width: 36px;
height: 36px;
}

.lrnprog .iconoutline svg path,
.lrnprog .iconoutline svg circle,
.lrnprog .iconoutline svg polyline {
stroke-dasharray: 120;
stroke-dashoffset: 120;
animation: tracepath 1.4s cubic-bezier(0.4, 0, 0.6, 1) forwards;
}

.lrnprog .modcard:nth-child(1) .iconoutline svg path,
.lrnprog .modcard:nth-child(1) .iconoutline svg circle {
animation-delay: 0.1s;
}

.lrnprog .modcard:nth-child(2) .iconoutline svg path,
.lrnprog .modcard:nth-child(2) .iconoutline svg circle {
animation-delay: 0.3s;
}

.lrnprog .modcard:nth-child(3) .iconoutline svg path,
.lrnprog .modcard:nth-child(3) .iconoutline svg circle {
animation-delay: 0.5s;
}

.lrnprog .modcard:nth-child(4) .iconoutline svg path,
.lrnprog .modcard:nth-child(4) .iconoutline svg circle {
animation-delay: 0.7s;
}

.lrnprog .modcard:nth-child(5) .iconoutline svg path,
.lrnprog .modcard:nth-child(5) .iconoutline svg circle {
animation-delay: 0.9s;
}

.lrnprog .modcard:nth-child(6) .iconoutline svg path,
.lrnprog .modcard:nth-child(6) .iconoutline svg circle {
animation-delay: 1.1s;
}

@keyframes tracepath {
to {
stroke-dashoffset: 0;
}
}

.lrnprog .seqlist {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 24px;
}

.lrnprog .seqlist .seqitem {
opacity: 0;
transform: translateY(12px);
animation: seqreveal 0.22s ease-out forwards;
}

.lrnprog .seqlist .seqitem:nth-child(1) {
animation-delay: 0.2s;
}

.lrnprog .seqlist .seqitem:nth-child(2) {
animation-delay: 0.4s;
}

.lrnprog .seqlist .seqitem:nth-child(3) {
animation-delay: 0.6s;
}

.lrnprog .seqlist .seqitem:nth-child(4) {
animation-delay: 0.8s;
}

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

.lrnprog .seqitem .sitag {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 6px;
background: rgba(89, 61, 151, 0.07);
border-radius: 22px;
padding: 6px 12px;
font-size: 16px;
line-height: 1.1;
color: #593D97;
font-weight: 600;
}

.lrnprog .sitag .sidot {
width: 8px;
height: 8px;
border-radius: 22px;
background: #593D97;
flex-shrink: 0;
}

@media (max-width: 1024px) {
.lrnprog .titblock .tbinner {
flex-direction: column;
gap: 52px;
}

.lrnprog .titblock .tbside {
flex: none;
width: 100%;
}

.lrnprog .tbmain h1 {
font-size: 56px;
max-width: 100%;
}

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

.lrnprog .faqsec .faqinner {
grid-template-columns: 1fr;
gap: 24px;
}

.lrnprog .faqsec .faqleft {
position: static;
}

.lrnprog .offerbar {
flex-direction: column;
align-items: flex-start;
gap: 24px;
padding: 52px 24px;
}

.lrnprog .offerbar .obprice {
text-align: left;
}

.lrnprog .structsec .sshead {
flex-direction: column;
align-items: flex-start;
gap: 24px;
}

.lrnprog .structsec .ssheadright {
flex: none;
text-align: left;
}

.lrnprog .structsec .sssubtext {
text-align: left;
}
}

@media (max-width: 768px) {
.lrnprog .titblock {
padding: 52px 24px 52px;
}

.lrnprog .tbmain h1 {
font-size: 28px;
}

.lrnprog .modgrid {
grid-template-columns: 1fr;
}

.lrnprog .structsec h2 {
font-size: 28px;
}

.lrnprog .faqsec .faqleft h2 {
font-size: 28px;
}

.lrnprog .offerbar .obprice .priceval {
font-size: 28px;
}
}

@media (max-width: 480px) {
.lrnprog .tbmeta {
flex-direction: column;
gap: 12px;
}

.lrnprog .offerbar {
padding: 24px;
}

.lrnprog .faqsec {
padding: 24px 24px 52px;
}

.lrnprog .structsec {
padding: 52px 24px 24px;
}
}

.successPage {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 24px;
background: #FAFFFD;
position: relative;
overflow: hidden;
}

.successPage::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 480px;
height: 480px;
background: radial-gradient(circle at 0% 100%, rgba(241, 1, 7, 0.07) 0%, transparent 70%);
pointer-events: none;
}

.successPage::after {
content: "";
position: absolute;
top: 0;
right: 0;
width: 360px;
height: 360px;
background: radial-gradient(circle at 100% 0%, rgba(89, 61, 151, 0.06) 0%, transparent 65%);
pointer-events: none;
}

.successPage .successWrap {
max-width: 1200px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 52px;
position: relative;
z-index: 1;
}

.successPage .iconArea {
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
}

.successPage .iconArea .checkMark {
width: 72px;
height: 72px;
border-radius: 38px;
background: #FAFFFD;
box-shadow: 0 9px 44px -2px rgba(89, 61, 151, 0.11), 0 7px 18px -2px rgba(89, 61, 151, 0.08);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.successPage .iconArea .checkMark svg {
display: block;
}

.successPage .iconArea .tagline {
font-size: 16px;
line-height: 1.75;
color: #593D97;
letter-spacing: 0.08em;
text-transform: uppercase;
font-weight: 600;
}

.successPage .msgBlock {
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
text-align: center;
max-width: 640px;
}

.successPage .msgBlock .mainHeading {
font-size: 56px;
line-height: 1.1;
color: #1b1b1b;
font-weight: 800;
margin: 0;
}

.successPage .msgBlock .mainHeading span {
display: inline-block;
position: relative;
}

.successPage .msgBlock .mainHeading span::after {
content: "";
position: absolute;
bottom: 4px;
left: 0;
width: 100%;
height: 3px;
background: #F10107;
border-radius: 1px;
}

.successPage .msgBlock .bodyText {
font-size: 16px;
line-height: 1.75;
color: #2e2e2e;
margin: 0;
max-width: 520px;
}

.successPage .dividerLine {
width: 52px;
height: 2px;
background: linear-gradient(90deg, #F10107, #593D97);
border-radius: 1px;
flex-shrink: 0;
}

.successPage .actionArea {
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
flex-wrap: wrap;
justify-content: center;
}

.successPage .actionArea .btnPrimary {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 12px 52px;
background: #F10107;
color: #FAFFFD;
font-size: 16px;
font-weight: 700;
text-transform: uppercase;
text-decoration: none;
border-radius: 1px;
border: none;
cursor: pointer;
box-shadow: 0 7px 18px -2px rgba(241, 1, 7, 0.08);
transition: width 0.18s cubic-bezier(0.4, 0, 0.6, 1), background 0.14s ease-out, box-shadow 0.18s ease-out;
white-space: nowrap;
}

.successPage .actionArea .btnPrimary:hover {
background: #c8000a;
box-shadow: 0 9px 44px -2px rgba(241, 1, 7, 0.11);
padding: 12px 64px;
}

.successPage .actionArea .btnPrimary:focus-visible {
outline: 3px solid #593D97;
outline-offset: 3px;
}

.successPage .actionArea .btnPrimary:active {
box-shadow: inset 0 6px 10px -2px rgba(241, 1, 7, 0.18);
}

.successPage .actionArea .btnSecondary {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 12px 52px;
background: transparent;
color: #593D97;
font-size: 16px;
font-weight: 700;
text-transform: uppercase;
text-decoration: none;
border-radius: 1px;
border: 2px solid #593D97;
cursor: pointer;
transition: padding 0.16s ease-out, background 0.14s ease-out, color 0.14s ease-out;
white-space: nowrap;
}

.successPage .actionArea .btnSecondary:hover {
background: #593D97;
color: #FAFFFD;
padding: 12px 64px;
}

.successPage .actionArea .btnSecondary:focus-visible {
outline: 3px solid #F10107;
outline-offset: 3px;
}

.successPage .actionArea .btnSecondary:active {
box-shadow: inset 0 6px 10px -2px rgba(89, 61, 151, 0.18);
}

.successPage .infoPanel {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 24px;
max-width: 700px;
width: 100%;
flex-wrap: wrap;
justify-content: center;
}

.successPage .infoPanel .infoCard {
flex: 1 1 200px;
background: #ffffff;
border-radius: 22px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
box-shadow: 0 1px 6px -2px rgba(89, 61, 151, 0.06), 0 7px 18px -2px rgba(89, 61, 151, 0.08);
transition: box-shadow 0.2s ease-out, transform 0.16s ease-out;
}

.successPage .infoPanel .infoCard:hover {
box-shadow: 0 9px 44px -2px rgba(89, 61, 151, 0.11);
transform: translateY(-2px);
}

.successPage .infoPanel .infoCard .cardIcon {
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.successPage .infoPanel .infoCard .cardLabel {
font-size: 16px;
line-height: 1.1;
font-weight: 700;
color: #1b1b1b;
margin: 0;
}

.successPage .infoPanel .infoCard .cardText {
font-size: 16px;
line-height: 1.75;
color: #3a3a3a;
margin: 0;
}

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

.successPage .msgBlock .mainHeading {
font-size: 28px;
}

.successPage .actionArea {
flex-direction: column;
gap: 12px;
width: 100%;
}

.successPage .actionArea .btnPrimary,
.successPage .actionArea .btnSecondary {
width: 100%;
justify-content: center;
padding: 12px 24px;
}

.successPage .actionArea .btnPrimary:hover,
.successPage .actionArea .btnSecondary:hover {
padding: 12px 24px;
}

.successPage .infoPanel {
flex-direction: column;
}

.successPage .infoPanel .infoCard {
flex: none;
width: 100%;
}
}

@media (max-width: 480px) {
.successPage .successWrap {
gap: 24px;
}

.successPage .iconArea .checkMark {
width: 56px;
height: 56px;
}
}