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

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

body {
margin: 0;
-webkit-text-size-adjust: 100%;
word-break: break-word;
overflow-wrap: break-word;
font-family: "Public Sans", sans-serif;
font-size: 15px;
line-height: 1.6;
color: #1e1b2e;
background: #fff;
}

:focus-visible {
outline: 2px solid #8C7EBA;
outline-offset: 3px;
transition: outline-offset 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.topstrip {
background: linear-gradient(90deg, #8C7EBA 0%, #9DB6D2 60%, #ADE3D6 100%);
border-bottom: 1px solid rgba(140, 126, 186, 0.18);
}

.stripinner {
max-width: 1170px;
margin: 0 auto;
padding: 0 32px;
display: flex;
align-items: center;
justify-content: space-between;
min-height: 44px;
}

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

.stripnav li {
display: flex;
align-items: center;
}

.stripnav a {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
font-size: 15px;
line-height: 1.4;
font-weight: 700;
color: #fff;
text-decoration: none;
border-radius: 2px;
transition: background 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.stripnav a:hover {
background: rgba(255, 255, 255, 0.18);
color: #fff;
}

.stripnav a[aria-current="page"] {
background: rgba(255, 255, 255, 0.22);
}

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

.stripphone {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
font-weight: 700;
color: #fff;
text-decoration: none;
letter-spacing: 0.03em;
transition: opacity 0.6s ease;
}

.stripphone:hover {
opacity: 0.82;
}

.brandbar {
background: #fff;
border-bottom: 2px solid #ADE3D6;
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
}

.brandinner {
max-width: 1170px;
margin: 0 auto;
padding: 32px 32px;
display: flex;
align-items: center;
justify-content: center;
gap: 32px;
position: relative;
}

.brandcenter {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}

.logobox {
width: 68px;
height: 68px;
background: rgba(157, 182, 210, 0.08);
border: 2px solid #9DB6D2;
box-shadow: 0 1px 6px -2px rgba(140, 126, 186, 0.07), 0 7px 18px -2px rgba(140, 126, 186, 0.10);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.logobox img {
width: 60px;
height: 60px;
object-fit: contain;
display: block;
}

.brandname {
font-size: 24px;
font-weight: 700;
line-height: 1.15;
color: #1e1b2e;
letter-spacing: 0.04em;
text-decoration: none;
}

.brandtag {
font-size: 15px;
line-height: 1.4;
color: #3d3760;
letter-spacing: 0.06em;
}

.brandaddress {
position: absolute;
right: 32px;
top: 50%;
transform: translateY(-50%);
display: flex;
align-items: flex-start;
gap: 8px;
font-size: 15px;
line-height: 1.6;
color: #3d3760;
}

.brandaddress i {
color: #8C7EBA;
font-size: 19px;
margin-top: 2px;
flex-shrink: 0;
}

.addrtext {
display: flex;
flex-direction: column;
}

.addrtext strong {
font-size: 15px;
font-weight: 700;
color: #1e1b2e;
letter-spacing: 0.02em;
}

.footerbar {
background: linear-gradient(135deg, #1e1b2e 0%, #2a2550 100%);
border-top: 2px solid #8C7EBA;
}

.footertop {
max-width: 1170px;
margin: 0 auto;
padding: 64px 32px 32px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px;
align-items: start;
}

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

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

.footerlogobox {
width: 60px;
height: 60px;
background: rgba(255, 255, 255, 0.07);
border: 2px solid rgba(157, 182, 210, 0.4);
box-shadow: 0 1px 6px -2px rgba(157, 182, 210, 0.07);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.footerlogobox img {
width: 52px;
height: 52px;
object-fit: contain;
display: block;
}

.footerbrandname {
font-size: 24px;
font-weight: 700;
line-height: 1.15;
color: #fff;
letter-spacing: 0.04em;
}

.footerdesc {
font-size: 15px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.72);
}

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

.footerlinkshead {
font-size: 15px;
font-weight: 700;
color: #ADE3D6;
letter-spacing: 0.06em;
margin-bottom: 8px;
}

.footerlinks a {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.78);
text-decoration: none;
border-radius: 2px;
transition: color 0.5s ease;
}

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

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

.footercontacttitle {
font-size: 15px;
font-weight: 700;
color: #ADE3D6;
letter-spacing: 0.06em;
}

.footercontactitem {
display: flex;
align-items: flex-start;
gap: 8px;
font-size: 15px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.78);
}

.footercontactitem i {
color: #9DB6D2;
font-size: 19px;
margin-top: 2px;
flex-shrink: 0;
}

.footercontactitem a {
color: rgba(255, 255, 255, 0.78);
text-decoration: none;
transition: color 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.footercontactitem a:hover {
color: #ADE3D6;
}

.footerbottom {
max-width: 1170px;
margin: 0 auto;
padding: 16px 32px 32px;
border-top: 1px solid rgba(157, 182, 210, 0.18);
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px;
}

.footercopy {
font-size: 15px;
line-height: 1.4;
color: rgba(255, 255, 255, 0.5);
}

.cookiebar {
display: none;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 2000;
background: #fff;
border-bottom: 2px solid #8C7EBA;
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
}

.cookieinner {
max-width: 1170px;
margin: 0 auto;
padding: 16px 32px;
}

.cookietitle {
font-size: 15px;
font-weight: 700;
color: #1e1b2e;
margin-bottom: 8px;
}

.cookiedesc {
font-size: 15px;
line-height: 1.6;
color: #3d3760;
margin-bottom: 8px;
}

.cookielist {
list-style: none;
padding: 0;
margin: 0 0 16px;
display: flex;
flex-wrap: wrap;
gap: 8px;
}

.cookielist li {
font-size: 15px;
color: #3d3760;
display: flex;
align-items: center;
gap: 8px;
}

.cookielist li::before {
content: "";
display: inline-block;
width: 6px;
height: 6px;
background: #8C7EBA;
border-radius: 2px;
flex-shrink: 0;
}

.cookietoggles {
display: none;
flex-direction: column;
gap: 8px;
margin-bottom: 16px;
}

.cookietogglerow {
display: flex;
align-items: center;
gap: 16px;
font-size: 15px;
color: #1e1b2e;
}

.cookietogglerow input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #8C7EBA;
cursor: pointer;
}

.datasalerow {
margin-top: 8px;
padding-top: 8px;
border-top: 1px solid rgba(140, 126, 186, 0.18);
}

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

.cookiebtn {
background: none;
border: none;
padding: 0;
font-size: 15px;
font-weight: 700;
color: #8C7EBA;
text-decoration: underline;
cursor: pointer;
font-family: inherit;
transition: color 0.5s ease;
}

.cookiebtn:hover {
color: #3d3760;
}

.cookiebtn:focus-visible {
outline: 2px solid #8C7EBA;
outline-offset: 2px;
}

@media (max-width: 1280px) {
.brandaddress {
position: static;
transform: none;
margin-top: 8px;
justify-content: center;
}

.brandinner {
flex-direction: column;
padding: 32px 32px;
}

.brandcenter {
width: 100%;
}
}

@media (max-width: 768px) {
.stripinner {
flex-direction: column;
align-items: flex-start;
padding: 8px 16px;
gap: 8px;
}

.stripcontact {
width: 100%;
justify-content: flex-end;
}

.stripnav {
gap: 0;
}

.stripnav a {
padding: 8px 8px;
font-size: 15px;
}

.brandinner {
padding: 32px 16px;
gap: 16px;
}

.brandaddress {
text-align: left;
}

.footertop {
grid-template-columns: 1fr;
padding: 32px 16px 16px;
gap: 32px;
}

.footerbottom {
padding: 16px 16px 32px;
flex-direction: column;
align-items: flex-start;
}

.cookieinner {
padding: 16px;
}

.cookieactions {
flex-direction: column;
align-items: flex-start;
}
}

.legal-details {
max-width: 1170px;
margin: 0 auto;
padding: 64px 32px;
color: #2d2d3a;
font-size: 15px;
line-height: 1.6;
}

.legal-details ul,
.legal-details ol {
margin: 16px 0 32px 0;
padding-left: 32px;
}

.legal-details ul {
list-style: none;
padding-left: 16px;
}

.legal-details ol {
list-style: decimal;
}

.legal-details ul li {
position: relative;
padding-left: 16px;
margin-bottom: 8px;
line-height: 1.6;
}

.legal-details ul li::before {
content: '';
position: absolute;
left: 0;
top: 9px;
width: 6px;
height: 6px;
border-radius: 50%;
background: #8C7EBA;
}

.legal-details ol li {
margin-bottom: 8px;
line-height: 1.6;
padding-left: 8px;
}

.legal-details ul ul,
.legal-details ol ol,
.legal-details ul ol,
.legal-details ol ul {
margin: 8px 0 8px 0;
}

.legal-details strong,
.legal-details b {
font-weight: 700;
color: #1e1e2e;
}

.legal-details em,
.legal-details i {
font-style: italic;
color: #4a4462;
}

.legal-details table {
width: 100%;
border-collapse: collapse;
margin: 32px 0;
font-size: 15px;
box-shadow: 0 1px 6px -2px rgba(140, 126, 186, 0.07), 0 7px 18px -2px rgba(140, 126, 186, 0.10);
border-radius: 20px;
overflow: hidden;
}

.legal-details thead {
background: linear-gradient(135deg, rgba(140, 126, 186, 0.12) 0%, rgba(157, 182, 210, 0.12) 100%);
}

.legal-details thead tr {
border-bottom: 2px solid rgba(140, 126, 186, 0.25);
}

.legal-details tbody tr {
border-bottom: 1px solid rgba(157, 182, 210, 0.2);
transition: background 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.legal-details tbody tr:last-child {
border-bottom: none;
}

.legal-details tbody tr:hover {
background: rgba(173, 227, 214, 0.08);
}

.legal-details th {
padding: 16px;
text-align: left;
font-size: 15px;
font-weight: 700;
color: #3b3460;
letter-spacing: 0.04em;
line-height: 1.4;
}

.legal-details td {
padding: 16px;
color: #2d2d3a;
line-height: 1.6;
vertical-align: top;
}

.legal-details hr {
border: none;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(140, 126, 186, 0.35) 20%, rgba(157, 182, 210, 0.35) 80%, transparent);
margin: 32px 0;
}

@media (max-width: 768px) {
.legal-details {
padding: 32px 16px;
}

.legal-details table {
display: block;
overflow-x: auto;
border-radius: 20px;
}

.legal-details th,
.legal-details td {
padding: 8px 16px;
min-width: 120px;
}

.legal-details ul,
.legal-details ol {
padding-left: 16px;
}
}

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

.lrnprog .pgwrap {
max-width: 1170px;
margin: 0 auto;
padding: 0 32px;
}

.lrnprog ::selection {
background: linear-gradient(113deg, #8C7EBA, #ADE3D6);
color: #1b1b2e;
}

.lrnprog .divider {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
margin: 0;
padding: 16px 0;
}

.lrnprog .divider span {
display: block;
height: 1px;
width: 80px;
background: #8C7EBA;
}

.lrnprog .divider em {
display: block;
width: 8px;
height: 8px;
background: #8C7EBA;
transform: rotate(45deg);
border-radius: 2px;
}

.lrnprog .titleblock {
background: linear-gradient(113deg, #f3f1f9 0%, #e8f2f9 55%, #dff5f0 100%);
padding: 96px 32px 64px;
position: relative;
}

.lrnprog .titleblock .pgwrap {
display: flex;
flex-direction: row;
align-items: center;
gap: 64px;
}

.lrnprog .titleatm {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
}

.lrnprog .titleatm .spot1 {
position: absolute;
top: -60px;
left: -80px;
width: 340px;
height: 340px;
background: rgba(140, 126, 186, 0.13);
border-radius: 20px;
filter: blur(60px);
}

.lrnprog .titleatm .spot2 {
position: absolute;
bottom: -40px;
right: -60px;
width: 280px;
height: 280px;
background: rgba(173, 227, 214, 0.15);
border-radius: 20px;
filter: blur(50px);
}

.lrnprog .titleatm .spot3 {
position: absolute;
top: 40%;
left: 45%;
width: 200px;
height: 200px;
background: rgba(157, 182, 210, 0.10);
border-radius: 20px;
filter: blur(40px);
}

.lrnprog .titletext {
flex: 1 1 55%;
position: relative;
z-index: 1;
text-align: center;
padding: 64px 32px 64px 64px;
}

.lrnprog .titletag {
display: inline-block;
font-size: 15px;
letter-spacing: 0.12em;
color: #8C7EBA;
border: 1px solid #8C7EBA;
border-radius: 2px;
padding: 8px 16px;
margin-bottom: 16px;
text-transform: uppercase;
animation: zoomsettle 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

@keyframes zoomsettle {
from {
transform: scale(1.18);
opacity: 0;
}

to {
transform: scale(1);
opacity: 1;
}
}

.lrnprog .titleh1 {
font-size: 70px;
line-height: 1.15;
color: #2a2040;
text-transform: uppercase;
margin: 0 0 16px;
animation: zoomsettle 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s both;
}

.lrnprog .titlesub {
font-size: 24px;
line-height: 1.4;
color: #4a4060;
margin: 0 0 32px;
animation: zoomsettle 0.72s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s both;
}

.lrnprog .titledesc {
font-size: 19px;
line-height: 1.6;
color: #3a3458;
margin: 0;
animation: zoomsettle 0.78s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s both;
}

.lrnprog .titleimgzone {
flex: 1 1 40%;
position: relative;
z-index: 1;
padding: 32px 64px 32px 0;
}

.lrnprog .titleimgframe {
border-radius: 20px;
overflow: hidden;
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.11);
position: relative;
animation: zoomsettle 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.15s both;
}

.lrnprog .titleimgframe img {
width: 100%;
height: 340px;
object-fit: cover;
display: block;
}

.lrnprog .titleimgframe .imgoverlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(113deg, rgba(140, 126, 186, 0.38) 0%, rgba(173, 227, 214, 0.22) 100%);
pointer-events: none;
}

.lrnprog .cornertag {
position: absolute;
top: 16px;
right: 16px;
background: #8C7EBA;
color: #fff;
font-size: 15px;
border-radius: 2px;
padding: 8px 16px;
letter-spacing: 0.06em;
z-index: 2;
}

.lrnprog .processsec {
background: #fff;
padding: 96px 32px;
}

.lrnprog .processsec .pgwrap {
display: flex;
flex-direction: column;
align-items: center;
}

.lrnprog .seclabel {
font-size: 15px;
letter-spacing: 0.14em;
color: #9DB6D2;
text-transform: uppercase;
margin-bottom: 8px;
text-align: center;
}

.lrnprog .sech2 {
font-size: 31px;
line-height: 1.15;
color: #2a2040;
text-transform: uppercase;
text-align: center;
margin: 0 0 16px;
}

.lrnprog .secdesc {
font-size: 19px;
line-height: 1.6;
color: #3a3458;
text-align: center;
max-width: 640px;
margin: 0 0 64px;
}

.lrnprog .secdesc .first {
text-transform: uppercase;
color: #8C7EBA;
}

.lrnprog .zigzaglist {
width: 100%;
display: flex;
flex-direction: column;
gap: 64px;
}

.lrnprog .zigrow {
display: flex;
flex-direction: row;
align-items: center;
gap: 64px;
}

.lrnprog .zigrow.rev {
flex-direction: row-reverse;
}

.lrnprog .zigimg {
flex: 0 0 44%;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
position: relative;
}

.lrnprog .zigimg img {
width: 100%;
height: 300px;
object-fit: cover;
display: block;
}

.lrnprog .zigimg .cornertag {
position: absolute;
top: 16px;
left: 16px;
right: auto;
background: #ADE3D6;
color: #2a2040;
}

.lrnprog .zigtext {
flex: 1 1 auto;
text-align: center;
}

.lrnprog .zigtext h3 {
font-size: 24px;
line-height: 1.4;
color: #2a2040;
margin: 0 0 16px;
}

.lrnprog .zigtext p {
font-size: 19px;
line-height: 1.6;
color: #3a3458;
margin: 0 0 16px;
}

.lrnprog .zigtext p .first {
text-transform: uppercase;
color: #8C7EBA;
}

.lrnprog .steplist {
list-style: none;
padding: 0;
margin: 0;
width: 100%;
}

.lrnprog .steplist li {
border-left: 3px solid #8C7EBA;
border-top: 1px solid rgba(140, 126, 186, 0.15);
border-bottom: 1px solid rgba(140, 126, 186, 0.15);
border-right: 1px solid rgba(140, 126, 186, 0.10);
border-radius: 2px;
padding: 16px 16px 16px 16px;
margin-bottom: 8px;
font-size: 15px;
line-height: 1.6;
color: #3a3458;
display: flex;
align-items: flex-start;
gap: 8px;
background: #f8f5ff;
transition: background 0.55s ease, border-color 0.6s ease;
}

.lrnprog .steplist li:hover {
background: #efe9ff;
border-left-color: #ADE3D6;
}

.lrnprog .steplist li i {
color: #8C7EBA;
font-size: 19px;
flex-shrink: 0;
margin-top: 2px;
transition: color 0.65s ease;
}

.lrnprog .steplist li:hover i {
color: #ADE3D6;
}

.lrnprog .metricsec {
background: linear-gradient(113deg, #f0edf9 0%, #e4eef7 60%, #daf3ed 100%);
padding: 96px 32px 64px;
position: relative;
}

.lrnprog .metricsec .pgwrap {
display: flex;
flex-direction: column;
align-items: center;
}

.lrnprog .threecols {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px;
width: 100%;
margin-top: 64px;
}

.lrnprog .col1 {
background: #fff;
border-radius: 20px;
padding: 32px;
box-shadow: 0 1px 6px -2px rgba(140, 126, 186, 0.07);
text-align: center;
transition: box-shadow 0.55s ease, transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
}

.lrnprog .col2 {
background: #8C7EBA;
border-radius: 20px;
padding: 32px;
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
text-align: center;
transition: box-shadow 0.6s ease, transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
}

.lrnprog .col3 {
background: #2a2040;
border-radius: 20px;
padding: 32px;
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.11);
text-align: center;
transition: box-shadow 0.7s ease, transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
}

.lrnprog .col1:hover,
.lrnprog .col2:hover,
.lrnprog .col3:hover {
transform: translateY(-4px);
}

.lrnprog .col1:hover {
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.11);
}

.lrnprog .col2:hover {
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.18);
}

.lrnprog .col3:hover {
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.22);
}

.lrnprog .colicon {
width: 48px;
height: 48px;
margin: 0 auto 16px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 20px;
background: linear-gradient(113deg, rgba(140, 126, 186, 0.15), rgba(173, 227, 214, 0.15));
}

.lrnprog .col2 .colicon,
.lrnprog .col3 .colicon {
background: rgba(255, 255, 255, 0.15);
}

.lrnprog .colicon i {
font-size: 24px;
color: #8C7EBA;
}

.lrnprog .col2 .colicon i,
.lrnprog .col3 .colicon i {
color: #ADE3D6;
}

.lrnprog .colh4 {
font-size: 19px;
line-height: 1.4;
color: #2a2040;
margin: 0 0 8px;
}

.lrnprog .col2 .colh4,
.lrnprog .col3 .colh4 {
color: #fff;
}

.lrnprog .colp {
font-size: 15px;
line-height: 1.6;
color: #5a5070;
margin: 0;
}

.lrnprog .col2 .colp,
.lrnprog .col3 .colp {
color: rgba(255, 255, 255, 0.82);
}

.lrnprog .colcornertag {
position: absolute;
top: -1px;
right: 16px;
background: #ADE3D6;
color: #2a2040;
font-size: 15px;
border-radius: 2px;
padding: 8px 16px;
letter-spacing: 0.05em;
}

.lrnprog .col2 .colcornertag {
background: #fff;
color: #8C7EBA;
}

.lrnprog .col3 .colcornertag {
background: #8C7EBA;
color: #fff;
}

.lrnprog .pulsekey {
animation: accentpulse 2.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
}

@keyframes accentpulse {

0%,
100% {
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
}

50% {
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.22), 0 0 0 4px rgba(173, 227, 214, 0.18);
}
}

.lrnprog .honeycombsec {
position: relative;
padding: 96px 32px;
background: #f5f3fb;
overflow: hidden;
}

.lrnprog .honeycombsec::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
background-image:
radial-gradient(circle at 1px 1px, rgba(140, 126, 186, 0.09) 1px, transparent 0);
background-size: 28px 28px;
}

.lrnprog .honeycombsec .pgwrap {
display: flex;
flex-direction: column;
align-items: center;
position: relative;
z-index: 1;
}

.lrnprog .splitbg {
background: linear-gradient(180deg, #2a2040 50%, #f5f3fb 50%);
padding: 0 32px;
}

.lrnprog .splitbg .pgwrap {
display: flex;
flex-direction: column;
align-items: center;
}

.lrnprog .splitcard {
background: #fff;
border-radius: 20px;
padding: 64px;
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.11);
width: 100%;
text-align: center;
position: relative;
}

.lrnprog .splitcard .sech2 {
color: #2a2040;
}

.lrnprog .splitcard .secdesc {
margin-bottom: 32px;
}

.lrnprog .ctabtn {
display: inline-block;
font-size: 19px;
line-height: 1.4;
color: #8C7EBA;
border: 2px solid #8C7EBA;
border-radius: 2px;
padding: 16px 32px;
text-decoration: none;
letter-spacing: 0.04em;
transition: color 0.55s ease, background 0.6s ease, border-color 0.55s ease;
cursor: pointer;
background: transparent;
}

.lrnprog .ctabtn:hover {
color: #fff;
background: #8C7EBA;
border-color: #8C7EBA;
}

.lrnprog .ctabtn:focus {
outline: 2px solid #8C7EBA;
outline-offset: 4px;
}

.lrnprog .ctabtn:active {
box-shadow: inset 0 2px 6px rgba(140, 126, 186, 0.25);
}

@keyframes shakeerr {

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

20% {
transform: translateX(-6px);
}

40% {
transform: translateX(6px);
}

60% {
transform: translateX(-4px);
}

80% {
transform: translateX(4px);
}
}

.lrnprog .ctabtn.shake {
animation: shakeerr 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@media (max-width: 1280px) {
.lrnprog .titleh1 {
font-size: 31px;
}

.lrnprog .titlesub {
font-size: 19px;
}

.lrnprog .titletext {
padding: 32px 16px 32px 32px;
}

.lrnprog .titleimgzone {
padding: 32px 32px 32px 0;
}

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

@media (max-width: 768px) {
.lrnprog .titleblock {
padding: 64px 16px 32px;
}

.lrnprog .titleblock .pgwrap {
flex-direction: column;
gap: 32px;
}

.lrnprog .titletext {
padding: 16px;
flex: 1 1 auto;
}

.lrnprog .titleimgzone {
flex: 1 1 auto;
padding: 0 16px;
width: 100%;
}

.lrnprog .titleimgframe img {
height: 220px;
}

.lrnprog .titleh1 {
font-size: 31px;
}

.lrnprog .titlesub {
font-size: 19px;
}

.lrnprog .titledesc {
font-size: 15px;
}

.lrnprog .processsec {
padding: 64px 16px;
}

.lrnprog .zigrow,
.lrnprog .zigrow.rev {
flex-direction: column;
gap: 32px;
}

.lrnprog .zigimg {
flex: 1 1 auto;
width: 100%;
}

.lrnprog .zigimg img {
height: 200px;
}

.lrnprog .metricsec {
padding: 64px 16px;
}

.lrnprog .threecols {
grid-template-columns: 1fr;
gap: 16px;
margin-top: 32px;
}

.lrnprog .honeycombsec {
padding: 64px 16px;
}

.lrnprog .splitbg {
padding: 0 16px;
}

.lrnprog .splitcard {
padding: 32px 16px;
}

.lrnprog .pgwrap {
padding: 0 16px;
}

.lrnprog .sech2 {
font-size: 24px;
}
}

.contus {
background: #f4f2f9;
min-height: 100vh;
position: relative;
}

.contus .diamdiv {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 16px 0;
}

.contus .diamdiv span {
width: 6px;
height: 6px;
background: #8C7EBA;
transform: rotate(45deg);
display: inline-block;
opacity: 0.5;
}

.contus .diamdiv span:nth-child(3) {
opacity: 1;
background: #ADE3D6;
}

.contus .diamdiv span:nth-child(5) {
opacity: 0.7;
background: #9DB6D2;
}

.contus .titleblock {
position: relative;
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 420px;
overflow: hidden;
border-radius: 2px;
max-width: 1170px;
margin: 32px auto 0;
}

.contus .imgzone {
position: relative;
overflow: hidden;
}

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

.contus .imgzone::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(113deg, rgba(140, 126, 186, 0.55) 0%, rgba(173, 227, 214, 0.35) 100%);
}

.contus .textzone {
background: linear-gradient(113deg, transparent 0%, rgba(140, 126, 186, 0.18) 100%);
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 64px 64px 64px 64px;
}

.contus .eyebrow {
font-size: 15px;
letter-spacing: 0.12em;
color: #8C7EBA;
text-transform: uppercase;
margin-bottom: 16px;
display: block;
}

.contus .maintitle {
font-size: 70px;
line-height: 1.15;
color: #2a2340;
text-transform: uppercase;
margin: 0;
}

.contus .maintitle em {
font-style: normal;
color: #8C7EBA;
}

.contus .formblock {
max-width: 1170px;
margin: 0 auto;
padding: 64px 32px;
display: grid;
grid-template-columns: 1fr 1.4fr;
gap: 64px;
align-items: start;
}

.contus .infocol {
padding: 32px;
background: #fff;
border-radius: 20px;
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
position: relative;
}

.contus .infocol::before {
content: '';
position: absolute;
top: 16px;
left: 16px;
right: 16px;
bottom: 16px;
border: 1px solid rgba(140, 126, 186, 0.18);
border-radius: 20px;
pointer-events: none;
}

.contus .infolabel {
font-size: 15px;
letter-spacing: 0.1em;
color: #8C7EBA;
text-transform: uppercase;
margin-bottom: 32px;
display: block;
}

.contus .infoheading {
font-size: 24px;
line-height: 1.4;
color: #2a2340;
margin: 0 0 32px 0;
text-align: center;
}

.contus .contactlist {
list-style: none;
padding: 0;
margin: 0 0 32px 0;
display: flex;
flex-direction: column;
gap: 16px;
}

.contus .contactlist li {
display: flex;
align-items: flex-start;
gap: 16px;
padding: 16px;
border-left: 3px solid #ADE3D6;
border-top: 1px solid rgba(157, 182, 210, 0.2);
border-right: 1px solid rgba(157, 182, 210, 0.2);
border-bottom: 1px solid rgba(157, 182, 210, 0.2);
border-radius: 2px;
background: rgba(173, 227, 214, 0.06);
transition: background 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.65s ease;
}

.contus .contactlist li:hover {
background: rgba(140, 126, 186, 0.07);
border-left-color: #8C7EBA;
}

.contus .contactlist .icon {
width: 36px;
height: 36px;
background: linear-gradient(113deg, #8C7EBA 0%, #ADE3D6 100%);
border-radius: 2px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.contus .contactlist .icon i {
color: #fff;
font-size: 15px;
}

.contus .contactlist .detail {
display: flex;
flex-direction: column;
gap: 8px;
}

.contus .contactlist .detaillabel {
font-size: 15px;
color: #8C7EBA;
letter-spacing: 0.06em;
}

.contus .contactlist .detailval {
font-size: 15px;
color: #2a2340;
line-height: 1.6;
text-decoration: none;
transition: color 0.6s ease;
}

.contus .contactlist .detailval:hover {
color: #9DB6D2;
}

.contus .pulsecard {
margin-top: 32px;
padding: 16px;
background: linear-gradient(113deg, rgba(140, 126, 186, 0.08) 0%, rgba(173, 227, 214, 0.12) 100%);
border-radius: 20px;
text-align: center;
animation: shadowpulse 2.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
}

@keyframes shadowpulse {
0% {
box-shadow: 0 1px 6px -2px rgba(140, 126, 186, 0.07);
}

50% {
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.22);
}

100% {
box-shadow: 0 1px 6px -2px rgba(140, 126, 186, 0.07);
}
}

.contus .pulsecard p {
font-size: 15px;
color: #2a2340;
line-height: 1.6;
margin: 0;
}

.contus .pulsecard strong {
color: #8C7EBA;
}

.contus .formcol {
background: #fff;
border-radius: 20px;
padding: 32px;
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.11);
}

.contus .formheading {
font-size: 31px;
line-height: 1.4;
color: #2a2340;
margin: 0 0 8px 0;
text-align: center;
}

.contus .formsub {
font-size: 15px;
color: #5a5070;
line-height: 1.6;
text-align: center;
margin: 0 0 32px 0;
}

.contus .fieldgrp {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 16px;
}

.contus .fieldlabel {
font-size: 15px;
color: #2a2340;
letter-spacing: 0.04em;
}

.contus .fieldinput {
padding: 16px;
border: 1px solid rgba(140, 126, 186, 0.3);
border-radius: 2px;
background: #faf9fd;
font-size: 15px;
color: #2a2340;
outline: none;
transition: border-color 0.55s ease, box-shadow 0.65s ease;
width: 100%;
box-sizing: border-box;
}

.contus .fieldinput::placeholder {
font-size: 13px;
color: #9e9ab0;
}

.contus .fieldinput:focus {
border-color: #8C7EBA;
box-shadow: 0 1px 6px -2px rgba(140, 126, 186, 0.07);
}

.contus .budgetlabel {
font-size: 15px;
color: #2a2340;
letter-spacing: 0.04em;
margin-bottom: 8px;
display: block;
}

.contus .budgetgrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
margin-bottom: 16px;
}

.contus .budgetoption {
position: relative;
}

.contus .budgetoption input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}

.contus .budgetoption label {
display: block;
padding: 16px;
border: 1px solid rgba(140, 126, 186, 0.25);
border-radius: 2px;
font-size: 15px;
color: #5a5070;
cursor: pointer;
text-align: center;
background: #faf9fd;
transition: border-color 0.6s ease, background 0.7s ease, color 0.55s ease;
line-height: 1.4;
}

.contus .budgetoption input[type="radio"]:checked+label {
border-color: #8C7EBA;
background: rgba(140, 126, 186, 0.1);
color: #2a2340;
box-shadow: inset 0 1px 4px rgba(140, 126, 186, 0.15);
}

.contus .budgetoption label:hover {
border-color: #9DB6D2;
background: rgba(157, 182, 210, 0.08);
}

.contus .privacyrow {
display: flex;
align-items: flex-start;
gap: 16px;
margin-bottom: 32px;
padding: 16px;
border-radius: 2px;
background: rgba(173, 227, 214, 0.08);
border: 1px solid rgba(173, 227, 214, 0.3);
}

.contus .privacyrow input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #8C7EBA;
flex-shrink: 0;
margin-top: 2px;
cursor: pointer;
}

.contus .privacyrow input[type="checkbox"]:checked {
box-shadow: inset 0 1px 3px rgba(140, 126, 186, 0.3);
}

.contus .privacytext {
font-size: 15px;
color: #5a5070;
line-height: 1.6;
margin: 0;
}

.contus .privacytext a {
color: #8C7EBA;
text-decoration: underline;
transition: color 0.6s ease;
}

.contus .privacytext a:hover {
color: #9DB6D2;
}

.contus .submitbtn {
width: 100%;
padding: 16px 32px;
background: linear-gradient(113deg, #8C7EBA 0%, #ADE3D6 100%);
color: #fff;
border: none;
border-radius: 2px;
font-size: 19px;
letter-spacing: 0.06em;
cursor: pointer;
transition: opacity 0.55s ease, box-shadow 0.65s ease;
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
}

.contus .submitbtn:hover {
opacity: 0.9;
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.22);
}

.contus .submitbtn:active {
box-shadow: inset 0 2px 6px rgba(140, 126, 186, 0.25);
}

.contus .submitbtn:focus-visible {
outline: 2px solid #8C7EBA;
outline-offset: 3px;
}

@keyframes shakeerr {

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

20% {
transform: translateX(-6px);
}

40% {
transform: translateX(6px);
}

60% {
transform: translateX(-4px);
}

80% {
transform: translateX(4px);
}
}

.contus .submitbtn.shake {
animation: shakeerr 0.55s ease;
}

@media (max-width: 1280px) {
.contus .titleblock {
margin: 16px 16px 0;
}

.contus .formblock {
padding: 64px 16px;
gap: 32px;
}

.contus .textzone {
padding: 32px;
}

.contus .maintitle {
font-size: 31px;
}
}

@media (max-width: 768px) {
.contus .titleblock {
grid-template-columns: 1fr;
margin: 8px 8px 0;
}

.contus .imgzone {
height: 220px;
}

.contus .textzone {
padding: 32px 16px;
}

.contus .maintitle {
font-size: 24px;
}

.contus .formblock {
grid-template-columns: 1fr;
padding: 32px 8px;
gap: 32px;
}

.contus .budgetgrid {
grid-template-columns: 1fr;
}

.contus .infocol::before {
display: none;
}
}

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

.prm .prmInner {
max-width: 1170px;
margin: 0 auto;
padding: 0 32px;
}

.prm ::selection {
background: linear-gradient(113deg, #8C7EBA, #ADE3D6);
color: #1a1a1a;
}

.prm ::-moz-selection {
background: #8C7EBA;
color: #fff;
}

/* TITLE BLOCK */
.prm .bentogrid {
padding: 32px 0;
background: #fff;
position: relative;
}

.prm .bentogrid::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
background: linear-gradient(113deg, rgba(140, 126, 186, 0.06) 0%, rgba(173, 227, 214, 0.04) 100%);
}

.prm .bentoatm {
position: absolute;
top: 16px;
left: 8%;
width: 180px;
height: 180px;
border-radius: 50%;
background: rgba(140, 126, 186, 0.09);
filter: blur(40px);
pointer-events: none;
animation: flickerA 4.5s ease-in-out infinite;
}

.prm .bentoatm2 {
position: absolute;
bottom: 16px;
right: 6%;
width: 140px;
height: 140px;
border-radius: 50%;
background: rgba(173, 227, 214, 0.11);
filter: blur(32px);
pointer-events: none;
animation: flickerB 5.5s ease-in-out infinite;
}

@keyframes flickerA {

0%,
100% {
opacity: 0.5;
}

50% {
opacity: 1;
}
}

@keyframes flickerB {

0%,
100% {
opacity: 0.7;
}

60% {
opacity: 0.2;
}
}

.prm .bentolayout {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto;
gap: 16px;
position: relative;
z-index: 1;
}

.prm .bentoimg {
grid-column: 2;
grid-row: 1 / 3;
border-radius: 20px;
overflow: hidden;
border: 2px solid rgba(140, 126, 186, 0.18);
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
position: relative;
}

.prm .bentoimg img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: blur(0px);
}

.prm .bentoimg::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 40%;
background: linear-gradient(to top, rgba(140, 126, 186, 0.18), transparent);
pointer-events: none;
}

.prm .bentotxt {
grid-column: 1;
grid-row: 1;
padding: 32px 32px 16px 0;
display: flex;
flex-direction: column;
gap: 16px;
}

.prm .bentolinks {
grid-column: 1;
grid-row: 2;
padding: 0 32px 32px 0;
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
flex-wrap: wrap;
}

.prm .bentohead {
font-size: 31px;
line-height: 1.15;
color: #2a2240;
font-weight: 700;
letter-spacing: -0.5px;
text-transform: uppercase;
}

.prm .bentosub {
font-size: 15px;
line-height: 1.6;
color: #4a4060;
}

.prm .bentolink {
display: inline-block;
font-size: 15px;
line-height: 1.4;
color: #8C7EBA;
text-decoration: none;
border-bottom: 1.5px solid #8C7EBA;
padding-bottom: 2px;
transition: color 0.55s ease, border-color 0.65s ease;
}

.prm .bentolink:hover {
color: #9DB6D2;
border-color: #9DB6D2;
}

.prm .bentolink:focus {
outline: 2px solid #8C7EBA;
outline-offset: 4px;
border-radius: 2px;
}

/* SECTION 2 - situations */
.prm .sitblock {
padding: 64px 0;
background: linear-gradient(113deg, rgba(157, 182, 210, 0.08) 0%, rgba(173, 227, 214, 0.06) 100%);
border-top: 2px solid rgba(140, 126, 186, 0.10);
border-bottom: 2px solid rgba(173, 227, 214, 0.12);
}

.prm .sithead {
font-size: 24px;
line-height: 1.15;
color: #2a2240;
font-weight: 700;
text-align: center;
margin-bottom: 8px;
}

.prm .sitlabel {
font-size: 15px;
line-height: 1.6;
color: #5a5070;
text-align: center;
margin-bottom: 32px;
}

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

.prm .sitcard {
border-radius: 20px;
border: 1.5px solid rgba(140, 126, 186, 0.15);
border-left: 4px solid #8C7EBA;
background: #fff;
padding: 32px 24px;
box-shadow: 0 1px 6px -2px rgba(140, 126, 186, 0.07);
transition: box-shadow 0.55s ease, border-color 0.65s ease;
position: relative;
}

.prm .sitcard:hover {
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
border-color: rgba(140, 126, 186, 0.30);
}

.prm .sitcard .tooltip-container {
position: relative;
display: inline-block;
}

.prm .sitcard .tooltip-container:hover .sittooltip {
opacity: 1;
transform: translateY(-4px);
}

.prm .sittooltip {
position: absolute;
bottom: calc(100% + 8px);
left: 0;
background: #2a2240;
color: #fff;
font-size: 15px;
padding: 8px 16px;
border-radius: 2px;
white-space: nowrap;
opacity: 0;
transform: translateY(0);
transition: opacity 0.5s ease, transform 0.6s ease;
pointer-events: none;
z-index: 10;
}

.prm .sitico {
font-size: 24px;
color: #8C7EBA;
margin-bottom: 16px;
display: block;
}

.prm .sitcardhead {
font-size: 19px;
line-height: 1.4;
color: #2a2240;
font-weight: 600;
margin-bottom: 8px;
}

.prm .sitcardtxt {
font-size: 15px;
line-height: 1.6;
color: #4a4060;
}

.prm .sitcardtxt .acc {
text-transform: uppercase;
color: #8C7EBA;
font-weight: 600;
}

/* SECTION 3 - outcomes */
.prm .outblock {
padding: 96px 0;
background: #fff;
}

.prm .outlayout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: center;
}

.prm .outimgwrap {
border-radius: 20px;
overflow: hidden;
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.11);
border: 2px solid rgba(157, 182, 210, 0.20);
position: relative;
}

.prm .outimgwrap img {
width: 100%;
height: 360px;
object-fit: cover;
display: block;
}

.prm .outimgwrap::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(113deg, rgba(140, 126, 186, 0.08), rgba(173, 227, 214, 0.06));
pointer-events: none;
z-index: 1;
}

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

.prm .outhead {
font-size: 31px;
line-height: 1.15;
color: #2a2240;
font-weight: 700;
}

.prm .outlist {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px;
}

.prm .outlist li {
font-size: 15px;
line-height: 1.6;
color: #4a4060;
padding-left: 16px;
border-left: 3px solid #ADE3D6;
transition: border-color 0.6s ease;
}

.prm .outlist li:hover {
border-color: #8C7EBA;
}

.prm .outlist li .acc {
text-transform: uppercase;
color: #8C7EBA;
font-weight: 600;
}

.prm .outlink {
display: inline-block;
font-size: 15px;
color: #8C7EBA;
text-decoration: none;
border-bottom: 1.5px solid #8C7EBA;
padding-bottom: 2px;
transition: color 0.5s ease, border-color 0.55s ease;
}

.prm .outlink:hover {
color: #9DB6D2;
border-color: #9DB6D2;
}

.prm .outlink:focus {
outline: 2px solid #8C7EBA;
outline-offset: 4px;
border-radius: 2px;
}

/* SECTION 4 - scale/evidence */
.prm .scaleblock {
padding: 64px 0;
background: linear-gradient(113deg, rgba(140, 126, 186, 0.07) 0%, rgba(173, 227, 214, 0.09) 100%);
border-top: 2px solid rgba(157, 182, 210, 0.15);
}

.prm .scalehead {
font-size: 24px;
line-height: 1.15;
color: #2a2240;
font-weight: 700;
text-align: center;
margin-bottom: 32px;
}

.prm .scalemetrics {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
margin-bottom: 32px;
}

.prm .metricitem {
background: #fff;
border-radius: 20px;
border: 1.5px solid rgba(140, 126, 186, 0.14);
padding: 32px 16px;
text-align: center;
box-shadow: 0 1px 6px -2px rgba(140, 126, 186, 0.07);
transition: box-shadow 0.7s ease, transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.prm .metricitem:hover {
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
transform: translateY(-2px);
}

.prm .metricval {
font-size: 31px;
line-height: 1.15;
font-weight: 700;
color: #8C7EBA;
display: block;
}

.prm .metriclbl {
font-size: 15px;
line-height: 1.6;
color: #4a4060;
display: block;
margin-top: 8px;
}

.prm .scalequote {
max-width: 680px;
margin: 0 auto;
}

.prm .speechbubble {
background: #fff;
border-radius: 20px;
border: 1.5px solid rgba(157, 182, 210, 0.25);
border-left: 4px solid #9DB6D2;
padding: 32px;
box-shadow: 0 7px 18px -2px rgba(157, 182, 210, 0.10);
position: relative;
}

.prm .speechbubble::after {
content: '';
position: absolute;
bottom: -14px;
left: 48px;
width: 0;
height: 0;
border-left: 12px solid transparent;
border-right: 12px solid transparent;
border-top: 14px solid #fff;
}

.prm .speechbubble::before {
content: '';
position: absolute;
bottom: -16px;
left: 46px;
width: 0;
height: 0;
border-left: 13px solid transparent;
border-right: 13px solid transparent;
border-top: 15px solid rgba(157, 182, 210, 0.25);
}

.prm .quotetext {
font-size: 19px;
line-height: 1.6;
color: #2a2240;
font-style: italic;
}

.prm .quoteauthor {
font-size: 15px;
line-height: 1.4;
color: #5a5070;
margin-top: 32px;
padding-top: 16px;
border-top: 1px solid rgba(140, 126, 186, 0.12);
}

/* SECTION 5 - recognition */
.prm .recblock {
padding: 96px 0;
background: #fff;
border-top: 1px solid rgba(173, 227, 214, 0.20);
}

.prm .reclayout {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 64px;
align-items: start;
}

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

.prm .rechead {
font-size: 24px;
line-height: 1.15;
color: #2a2240;
font-weight: 700;
text-transform: uppercase;
}

.prm .rectxt {
font-size: 15px;
line-height: 1.6;
color: #4a4060;
}

.prm .rectxt .acc {
text-transform: uppercase;
color: #8C7EBA;
font-weight: 600;
}

.prm .recgrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}

.prm .recitem {
border-radius: 20px;
border: 1.5px solid rgba(140, 126, 186, 0.14);
border-left: 4px solid #ADE3D6;
background: linear-gradient(113deg, rgba(173, 227, 214, 0.04), rgba(157, 182, 210, 0.03));
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px;
transition: border-color 0.65s ease, box-shadow 0.7s ease;
}

.prm .recitem:hover {
border-color: rgba(140, 126, 186, 0.30);
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
}

.prm .recico {
font-size: 19px;
color: #9DB6D2;
}

.prm .recitemhead {
font-size: 15px;
line-height: 1.4;
font-weight: 600;
color: #2a2240;
}

.prm .recitemdesc {
font-size: 15px;
line-height: 1.6;
color: #4a4060;
}

/* SECTION 6 - team */
.prm .teamblock {
padding: 64px 0;
background: linear-gradient(113deg, rgba(157, 182, 210, 0.07) 0%, rgba(140, 126, 186, 0.05) 100%);
border-top: 2px solid rgba(140, 126, 186, 0.10);
border-bottom: 2px solid rgba(173, 227, 214, 0.12);
}

.prm .teamhead {
font-size: 24px;
line-height: 1.15;
color: #2a2240;
font-weight: 700;
text-align: center;
margin-bottom: 8px;
}

.prm .teamlabel {
font-size: 15px;
line-height: 1.6;
color: #5a5070;
text-align: center;
margin-bottom: 32px;
}

.prm .teamlayout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: start;
}

.prm .teamimgwrap {
border-radius: 20px;
overflow: hidden;
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.11);
border: 2px solid rgba(140, 126, 186, 0.15);
}

.prm .teamimgwrap img {
width: 100%;
height: 320px;
object-fit: cover;
display: block;
}

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

.prm .teamprofile {
background: #fff;
border-radius: 20px;
border: 1.5px solid rgba(140, 126, 186, 0.12);
border-left: 4px solid #8C7EBA;
padding: 24px;
box-shadow: 0 1px 6px -2px rgba(140, 126, 186, 0.07);
transition: box-shadow 0.6s ease;
}

.prm .teamprofile:hover {
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
}

.prm .teamname {
font-size: 19px;
line-height: 1.4;
font-weight: 600;
color: #2a2240;
margin-bottom: 4px;
}

.prm .teamrole {
font-size: 15px;
line-height: 1.4;
color: #8C7EBA;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
margin-bottom: 8px;
}

.prm .teamdesc {
font-size: 15px;
line-height: 1.6;
color: #4a4060;
}

.prm .teamdesc .acc {
text-transform: uppercase;
color: #8C7EBA;
font-weight: 600;
}

/* SECTION 7 - adaptive method */
.prm .adaptblock {
padding: 96px 0;
background: #fff;
border-top: 1px solid rgba(140, 126, 186, 0.10);
}

.prm .adaptlayout {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 64px;
align-items: start;
}

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

.prm .adapthead {
font-size: 31px;
line-height: 1.15;
color: #2a2240;
font-weight: 700;
}

.prm .adapttxt {
font-size: 15px;
line-height: 1.6;
color: #4a4060;
}

.prm .adapttxt .acc {
text-transform: uppercase;
color: #8C7EBA;
font-weight: 600;
}

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

.prm .adaptstep {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
}

.prm .stepnum {
flex-shrink: 0;
width: 32px;
height: 32px;
border-radius: 2px;
background: linear-gradient(113deg, #8C7EBA, #ADE3D6);
display: flex;
align-items: center;
justify-content: center;
font-size: 15px;
font-weight: 700;
color: #fff;
}

.prm .steptxt {
font-size: 15px;
line-height: 1.6;
color: #4a4060;
padding-top: 4px;
}

.prm .adaptimgwrap {
border-radius: 20px;
overflow: hidden;
border: 2px solid rgba(157, 182, 210, 0.20);
box-shadow: 0 7px 18px -2px rgba(157, 182, 210, 0.10);
position: relative;
}

.prm .adaptimgwrap img {
width: 100%;
height: 420px;
object-fit: cover;
display: block;
}

.prm .adaptimgwrap::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(113deg, rgba(140, 126, 186, 0.07), rgba(173, 227, 214, 0.05));
pointer-events: none;
}

.prm .adaptbadge {
position: absolute;
bottom: 16px;
left: 16px;
background: #fff;
border-radius: 2px;
border: 1.5px solid rgba(140, 126, 186, 0.20);
padding: 8px 16px;
font-size: 15px;
color: #2a2240;
font-weight: 600;
z-index: 2;
box-shadow: 0 1px 6px -2px rgba(140, 126, 186, 0.07);
}

/* RESPONSIVE */
@media (max-width: 1280px) {
.prm .bentolayout {
grid-template-columns: 1fr 1fr;
}

.prm .sitgrid {
grid-template-columns: 1fr 1fr;
}

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

@media (max-width: 768px) {
.prm .prmInner {
padding: 0 16px;
}

.prm .bentolayout {
grid-template-columns: 1fr;
grid-template-rows: auto;
}

.prm .bentoimg {
grid-column: 1;
grid-row: 1;
height: 220px;
}

.prm .bentotxt {
grid-column: 1;
grid-row: 2;
padding: 16px 0 8px 0;
}

.prm .bentolinks {
grid-column: 1;
grid-row: 3;
padding: 0 0 16px 0;
}

.prm .sitgrid {
grid-template-columns: 1fr;
}

.prm .outlayout {
grid-template-columns: 1fr;
gap: 32px;
}

.prm .scalemetrics {
grid-template-columns: 1fr 1fr;
}

.prm .reclayout {
grid-template-columns: 1fr;
gap: 32px;
}

.prm .recgrid {
grid-template-columns: 1fr;
}

.prm .teamlayout {
grid-template-columns: 1fr;
}

.prm .adaptlayout {
grid-template-columns: 1fr;
gap: 32px;
}

.prm .bentogrid {
padding: 16px 0;
}

.prm .outblock {
padding: 64px 0;
}

.prm .recblock {
padding: 64px 0;
}

.prm .adaptblock {
padding: 64px 0;
}

.prm .bentohead {
font-size: 24px;
}
}

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

.nws .nwsGrid {
max-width: 1170px;
margin: 0 auto;
padding: 0 32px;
}

.nws .strip {
background: linear-gradient(113deg, #8C7EBA 0%, #ADE3D6 100%);
padding: 32px 0;
position: relative;
overflow: hidden;
}

.nws .strip::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 4px;
height: 100%;
background: rgba(140, 126, 186, 0.35);
}

.nws .stripInner {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 32px;
max-width: 1170px;
margin: 0 auto;
padding: 0 32px;
}

.nws .imgCol {
width: 180px;
flex-shrink: 0;
position: relative;
border-radius: 2px;
overflow: hidden;
}

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

.nws .imgCol::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(113deg, rgba(140, 126, 186, 0.55) 0%, rgba(173, 227, 214, 0.3) 100%);
}

.nws .stripText {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
gap: 8px;
}

.nws .stripLabel {
font-size: 15px;
letter-spacing: 0.12em;
color: rgba(255, 255, 255, 0.85);
text-transform: uppercase;
line-height: 1.15;
}

.nws .stripH1 {
font-size: 31px;
line-height: 1.15;
color: #fff;
text-transform: uppercase;
margin: 0;
}

.nws .stripSub {
font-size: 19px;
line-height: 1.4;
color: rgba(255, 255, 255, 0.9);
margin: 0;
}

.nws .decoBand {
height: 3px;
background: rgba(255, 255, 255, 0.25);
margin-top: 16px;
width: 80px;
border-radius: 2px;
}

.nws .articlesArea {
background: #f4f2fa;
padding: 64px 0;
}

.nws .articlesArea .nwsGrid {
display: flex;
flex-direction: column;
gap: 64px;
}

.nws .artCard {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
background: #fff;
border-radius: 20px;
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
overflow: hidden;
border-right: 4px solid #9DB6D2;
opacity: 0;
transform: scale(0.95);
animation: settleIn 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.nws .artCard.d1 {
animation-delay: 0.1s;
}

.nws .artCard.d2 {
animation-delay: 0.3s;
}

.nws .artCard.d3 {
animation-delay: 0.5s;
}

.nws .artCard.d4 {
animation-delay: 0.7s;
}

@keyframes settleIn {
to {
opacity: 1;
transform: scale(1);
}
}

.nws .artImgWrap {
position: relative;
overflow: hidden;
min-height: 280px;
}

.nws .artImgWrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.nws .artCard:hover .artImgWrap img {
transform: scale(1.04);
}

.nws .artImgWrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(113deg, rgba(140, 126, 186, 0.2) 0%, rgba(173, 227, 214, 0.15) 100%);
pointer-events: none;
}

.nws .artBody {
padding: 32px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 16px;
text-align: center;
}

.nws .artTag {
display: inline-block;
font-size: 15px;
letter-spacing: 0.1em;
color: #8C7EBA;
text-transform: uppercase;
line-height: 1.15;
border-bottom: 1px solid #ADE3D6;
padding-bottom: 8px;
}

.nws .artH2 {
font-size: 24px;
line-height: 1.4;
color: #2a2340;
margin: 0;
}

.nws .artH2 span {
text-transform: uppercase;
color: #8C7EBA;
}

.nws .artP {
font-size: 15px;
line-height: 1.6;
color: #3d3558;
margin: 0;
}

.nws .artP span {
text-transform: uppercase;
color: #8C7EBA;
font-size: 15px;
}

.nws .artMeta {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 16px;
font-size: 15px;
color: #6a5f8a;
line-height: 1.4;
}

.nws .artMeta i {
color: #9DB6D2;
}

.nws .artLink {
display: inline-block;
font-size: 15px;
color: #8C7EBA;
text-decoration: none;
border-bottom: 1px solid #ADE3D6;
padding-bottom: 2px;
line-height: 1.4;
transition: color 0.6s ease, border-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
align-self: center;
}

.nws .artLink:hover {
color: #9DB6D2;
border-color: #8C7EBA;
}

.nws .artCard.rev .artImgWrap {
order: 2;
}

.nws .artCard.rev .artBody {
order: 1;
}

.nws .artListItem {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px 0;
border-left: 3px solid #9DB6D2;
padding-left: 16px;
text-align: left;
}

.nws .artListItem i {
color: #8C7EBA;
font-size: 19px;
flex-shrink: 0;
margin-top: 2px;
}

.nws .artListItem p {
font-size: 15px;
line-height: 1.6;
color: #3d3558;
margin: 0;
}

@media (max-width: 768px) {
.nws .stripInner {
flex-direction: column;
padding: 0 16px;
}

.nws .imgCol {
width: 100%;
height: 160px;
}

.nws .stripH1 {
font-size: 24px;
}

.nws .artCard {
grid-template-columns: 1fr;
}

.nws .artCard.rev .artImgWrap,
.nws .artCard.rev .artBody {
order: unset;
}

.nws .artImgWrap {
min-height: 200px;
}

.nws .artBody {
padding: 16px;
}

.nws .articlesArea {
padding: 32px 0;
}

.nws .articlesArea .nwsGrid {
gap: 32px;
padding: 0 16px;
}
}

@media (min-width: 769px) and (max-width: 1280px) {
.nws .stripInner {
padding: 0 32px;
}

.nws .artCard {
grid-template-columns: 1fr 1fr;
}
}

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

.abus .pginr {
max-width: 1170px;
margin: 0 auto;
padding: 0 32px;
}

.abus ::selection {
background: linear-gradient(113deg, #8C7EBA, #ADE3D6);
color: #1a1a1a;
}

.abus .titblk {
position: relative;
padding: 96px 32px;
background: radial-gradient(ellipse at 60% 40%, #f0edf8 0%, #e8f2f9 40%, #d8f0eb 100%);
text-align: center;
overflow: hidden;
}

.abus .titblk::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 30% 70%, rgba(140, 126, 186, 0.12) 0%, transparent 60%),
radial-gradient(ellipse at 80% 20%, rgba(173, 227, 214, 0.15) 0%, transparent 50%);
animation: zonedrift 12s ease-in-out infinite alternate;
pointer-events: none;
}

@keyframes zonedrift {
0% {
transform: translate(0, 0) scale(1);
}

50% {
transform: translate(-20px, 15px) scale(1.05);
}

100% {
transform: translate(15px, -10px) scale(0.97);
}
}

.abus .titblk .brackleft {
position: absolute;
left: 48px;
top: 50%;
transform: translateY(-50%);
font-size: 120px;
line-height: 1.15;
color: rgba(140, 126, 186, 0.18);
font-weight: 300;
pointer-events: none;
user-select: none;
}

.abus .titblk .brackright {
position: absolute;
right: 48px;
top: 50%;
transform: translateY(-50%);
font-size: 120px;
line-height: 1.15;
color: rgba(173, 227, 214, 0.22);
font-weight: 300;
pointer-events: none;
user-select: none;
}

.abus .titblk .arrowflow {
display: flex;
flex-direction: row;
justify-content: center;
gap: 8px;
margin-bottom: 32px;
}

.abus .titblk .arrowflow span {
display: block;
width: 6px;
height: 6px;
border-radius: 2px;
background: #8C7EBA;
opacity: 0.4;
animation: arrowpulse 2s ease infinite;
}

.abus .titblk .arrowflow span:nth-child(2) {
animation-delay: 0.2s;
opacity: 0.6;
background: #9DB6D2;
}

.abus .titblk .arrowflow span:nth-child(3) {
animation-delay: 0.4s;
opacity: 0.8;
background: #ADE3D6;
}

@keyframes arrowpulse {

0%,
100% {
transform: scaleX(1);
}

50% {
transform: scaleX(1.8);
}
}

.abus .titblk .label {
display: inline-block;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.12em;
color: #8C7EBA;
text-transform: uppercase;
margin-bottom: 16px;
border: 1px solid rgba(140, 126, 186, 0.3);
border-radius: 2px;
padding: 8px 16px;
}

.abus .titblk h1 {
font-size: 70px;
line-height: 1.15;
color: #2a2340;
margin: 0 0 32px 0;
text-transform: uppercase;
}

.abus .titblk h1 .accent {
color: #8C7EBA;
}

.abus .titblk .tagline {
font-size: 19px;
line-height: 1.6;
color: #3d3560;
max-width: 560px;
margin: 0 auto 32px auto;
}

.abus .titblk .heroimg {
margin-top: 32px;
position: relative;
display: inline-block;
opacity: 0;
animation: fadein 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s forwards;
}

@keyframes fadein {
from {
opacity: 0;
transform: translateY(16px);
}

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

.abus .titblk .heroimg img {
width: 100%;
max-width: 900px;
height: 380px;
object-fit: cover;
border-radius: 2px;
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.11);
display: block;
}

.abus .divline {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
padding: 0 32px;
max-width: 1170px;
margin: 0 auto;
}

.abus .divline .ln {
flex: 1;
height: 1px;
background: linear-gradient(113deg, #8C7EBA, #ADE3D6);
}

.abus .divline .dot {
width: 8px;
height: 8px;
border-radius: 2px;
background: #9DB6D2;
transform: rotate(45deg);
flex-shrink: 0;
}

.abus .storysec {
padding: 96px 32px;
background: #ffffff;
position: relative;
}

.abus .storysec .stgrid {
max-width: 1170px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start;
}

.abus .storysec .stleft {
position: relative;
}

.abus .storysec .stleft img {
width: 100%;
height: 480px;
object-fit: cover;
border-radius: 20px;
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
display: block;
transition: box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.abus .storysec .stleft img:hover {
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.11);
}

.abus .storysec .stleft .founded {
position: absolute;
bottom: 32px;
left: -16px;
background: #8C7EBA;
color: #ffffff;
border-radius: 2px;
padding: 16px;
font-size: 15px;
line-height: 1.4;
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
}

.abus .storysec .stleft .founded strong {
display: block;
font-size: 31px;
line-height: 1.15;
}

.abus .storysec .stright {
padding-top: 64px;
}

.abus .storysec .stright h2 {
font-size: 31px;
line-height: 1.15;
color: #2a2340;
text-transform: uppercase;
margin: 0 0 32px 0;
}

.abus .storysec .stright .para {
font-size: 19px;
line-height: 1.6;
color: #3d3560;
margin: 0 0 16px 0;
}

.abus .storysec .stright .para .fw {
color: #8C7EBA;
text-transform: uppercase;
font-weight: 600;
}

.abus .storysec .itemlist {
margin: 32px 0 0 0;
padding: 0;
list-style: none;
display: flex;
flex-direction: column;
gap: 16px;
}

.abus .storysec .itemlist li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
border-left: 3px solid #8C7EBA;
border-top: 1px solid rgba(140, 126, 186, 0.15);
border-right: 1px solid rgba(140, 126, 186, 0.08);
border-bottom: 1px solid rgba(140, 126, 186, 0.08);
border-radius: 2px;
background: rgba(140, 126, 186, 0.03);
transition: border-left-color 0.5s ease, background 0.6s ease;
}

.abus .storysec .itemlist li:hover {
border-left-color: #ADE3D6;
background: rgba(173, 227, 214, 0.07);
}

.abus .storysec .itemlist .iico {
color: #8C7EBA;
font-size: 19px;
flex-shrink: 0;
margin-top: 2px;
}

.abus .storysec .itemlist .itxt {
font-size: 15px;
line-height: 1.6;
color: #3d3560;
}

.abus .storysec .itemlist .itxt strong {
display: block;
font-size: 15px;
color: #2a2340;
margin-bottom: 4px;
letter-spacing: 0.04em;
}

.abus .cmpsec {
padding: 96px 32px;
position: relative;
background: radial-gradient(ellipse at 50% 50%, #f5f2fc 0%, #e9f4f0 50%, #deedf7 100%);
animation: bgshift 16s ease-in-out infinite alternate;
}

@keyframes bgshift {
0% {
background: radial-gradient(ellipse at 50% 50%, #f5f2fc 0%, #e9f4f0 50%, #deedf7 100%);
}

50% {
background: radial-gradient(ellipse at 40% 60%, #eef5fb 0%, #f0edf8 50%, #e4f5f0 100%);
}

100% {
background: radial-gradient(ellipse at 60% 40%, #e8f5f1 0%, #eee9f7 50%, #dff0f8 100%);
}
}

.abus .cmpsec .cmpinner {
max-width: 1170px;
margin: 0 auto;
}

.abus .cmpsec .cmphead {
text-align: center;
margin-bottom: 64px;
}

.abus .cmpsec .cmphead h2 {
font-size: 31px;
line-height: 1.15;
color: #2a2340;
text-transform: uppercase;
margin: 0 0 16px 0;
}

.abus .cmpsec .cmphead p {
font-size: 19px;
line-height: 1.6;
color: #3d3560;
max-width: 540px;
margin: 0 auto;
}

.abus .cmpsec .cmpgrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
margin-bottom: 64px;
}

.abus .cmpsec .cmpcard {
background: #ffffff;
border-radius: 20px;
padding: 32px;
box-shadow: 0 1px 6px -2px rgba(140, 126, 186, 0.07);
transition: box-shadow 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.6s ease;
text-align: center;
}

.abus .cmpsec .cmpcard:hover {
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.11);
transform: translateY(-4px);
}

.abus .cmpsec .cmpcard .cico {
width: 56px;
height: 56px;
border-radius: 20px;
background: linear-gradient(113deg, #8C7EBA, #ADE3D6);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 16px auto;
color: #ffffff;
font-size: 24px;
}

.abus .cmpsec .cmpcard h4 {
font-size: 19px;
line-height: 1.4;
color: #2a2340;
margin: 0 0 8px 0;
}

.abus .cmpsec .cmpcard p {
font-size: 15px;
line-height: 1.6;
color: #5a5278;
margin: 0;
}

.abus .cmpsec .comparison {
background: #ffffff;
border-radius: 20px;
padding: 32px;
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
margin-bottom: 64px;
}

.abus .cmpsec .comparison h3 {
font-size: 24px;
line-height: 1.4;
color: #2a2340;
text-align: center;
margin: 0 0 32px 0;
}

.abus .cmpsec .cmptable {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
}

.abus .cmpsec .cmpcol {
border-radius: 2px;
padding: 24px;
}

.abus .cmpsec .cmpcol.before {
background: rgba(157, 182, 210, 0.1);
border: 1px solid rgba(157, 182, 210, 0.3);
}

.abus .cmpsec .cmpcol.after {
background: rgba(173, 227, 214, 0.12);
border: 1px solid rgba(173, 227, 214, 0.4);
}

.abus .cmpsec .cmpcol .collabel {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.1em;
text-transform: uppercase;
font-weight: 600;
margin-bottom: 16px;
display: block;
}

.abus .cmpsec .cmpcol.before .collabel {
color: #9DB6D2;
}

.abus .cmpsec .cmpcol.after .collabel {
color: #3aaa8e;
}

.abus .cmpsec .cmpcol ul {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px;
}

.abus .cmpsec .cmpcol ul li {
font-size: 15px;
line-height: 1.6;
color: #3d3560;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
padding: 8px 0;
border-bottom: 1px solid rgba(140, 126, 186, 0.1);
}

.abus .cmpsec .cmpcol.before ul li::before {
content: '';
display: block;
width: 14px;
height: 14px;
border-radius: 2px;
background: rgba(157, 182, 210, 0.4);
flex-shrink: 0;
margin-top: 3px;
}

.abus .cmpsec .cmpcol.after ul li::before {
content: '';
display: block;
width: 14px;
height: 14px;
border-radius: 2px;
background: rgba(173, 227, 214, 0.7);
flex-shrink: 0;
margin-top: 3px;
}

.abus .cmpsec .teamrow {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
}

.abus .cmpsec .teamcard {
background: #ffffff;
border-radius: 20px;
padding: 32px;
text-align: center;
box-shadow: 0 1px 6px -2px rgba(140, 126, 186, 0.07);
transition: box-shadow 0.65s ease, transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.abus .cmpsec .teamcard:hover {
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.11);
transform: translateY(-3px);
}

.abus .cmpsec .teamcard .avatar {
width: 72px;
height: 72px;
border-radius: 20px;
background: linear-gradient(113deg, #8C7EBA, #9DB6D2);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 16px auto;
color: #ffffff;
font-size: 24px;
}

.abus .cmpsec .teamcard h5 {
font-size: 19px;
line-height: 1.4;
color: #2a2340;
margin: 0 0 8px 0;
}

.abus .cmpsec .teamcard .role {
font-size: 15px;
line-height: 1.4;
color: #8C7EBA;
letter-spacing: 0.06em;
text-transform: uppercase;
display: block;
margin-bottom: 8px;
}

.abus .cmpsec .teamcard p {
font-size: 15px;
line-height: 1.6;
color: #5a5278;
margin: 0;
}

.abus .imgfullsec {
padding: 64px 32px;
background: #2a2340;
position: relative;
}

.abus .imgfullsec .ifinner {
max-width: 1170px;
margin: 0 auto;
display: grid;
grid-template-columns: 5fr 4fr;
gap: 64px;
align-items: center;
}

.abus .imgfullsec .ifimg {
position: relative;
}

.abus .imgfullsec .ifimg img {
width: 100%;
height: 360px;
object-fit: cover;
border-radius: 20px;
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.11);
display: block;
}

.abus .imgfullsec .iftxt {
color: #ffffff;
}

.abus .imgfullsec .iftxt h3 {
font-size: 31px;
line-height: 1.15;
color: #ADE3D6;
text-transform: uppercase;
margin: 0 0 32px 0;
}

.abus .imgfullsec .iftxt p {
font-size: 19px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.85);
margin: 0 0 16px 0;
}

.abus .imgfullsec .iftxt p .fw {
color: #ADE3D6;
text-transform: uppercase;
font-weight: 600;
}

.abus .imgfullsec .iftxt .ctabtn {
display: inline-block;
margin-top: 32px;
padding: 16px 32px;
border-radius: 2px;
background: transparent;
border: 1px solid #ADE3D6;
color: #ADE3D6;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.08em;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
transition: background 0.5s ease, color 0.5s ease;
}

.abus .imgfullsec .iftxt .ctabtn:hover {
background: #ADE3D6;
color: #2a2340;
}

@media (max-width: 1280px) {
.abus .titblk h1 {
font-size: 48px;
}

.abus .titblk .brackleft,
.abus .titblk .brackright {
font-size: 80px;
}
}

@media (max-width: 768px) {
.abus .titblk {
padding: 64px 16px;
}

.abus .titblk h1 {
font-size: 31px;
}

.abus .titblk .brackleft,
.abus .titblk .brackright {
display: none;
}

.abus .titblk .heroimg img {
height: 220px;
}

.abus .storysec {
padding: 64px 16px;
}

.abus .storysec .stgrid {
grid-template-columns: 1fr;
gap: 32px;
}

.abus .storysec .stright {
padding-top: 0;
}

.abus .storysec .stleft .founded {
left: 8px;
}

.abus .storysec .stleft img {
height: 280px;
}

.abus .cmpsec {
padding: 64px 16px;
}

.abus .cmpsec .cmpgrid {
grid-template-columns: 1fr;
gap: 16px;
}

.abus .cmpsec .cmptable {
grid-template-columns: 1fr;
gap: 16px;
}

.abus .cmpsec .teamrow {
grid-template-columns: 1fr;
gap: 16px;
}

.abus .imgfullsec {
padding: 64px 16px;
}

.abus .imgfullsec .ifinner {
grid-template-columns: 1fr;
gap: 32px;
}

.abus .imgfullsec .ifimg img {
height: 220px;
}

.abus .pginr {
padding: 0 16px;
}

.abus .divline {
padding: 0 16px;
}
}

.successPage {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 32px;
background: linear-gradient(113deg, #f4f2fa 0%, #eef4f9 55%, #e8f9f6 100%);
}

.successPage .successCard {
max-width: 560px;
width: 100%;
background: #fff;
border-radius: 20px;
padding: 64px 64px;
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10), 0 10px 44px -2px rgba(140, 126, 186, 0.11);
text-align: center;
border-top: 2px solid #ADE3D6;
}

.successPage .successIcon {
width: 64px;
height: 64px;
margin: 0 auto 32px;
border-radius: 20px;
background: linear-gradient(113deg, #8C7EBA 0%, #ADE3D6 100%);
display: flex;
align-items: center;
justify-content: center;
}

.successPage .successIcon svg {
width: 32px;
height: 32px;
}

.successPage .successHeading {
font-size: 31px;
line-height: 1.15;
letter-spacing: -0.01em;
color: #2a2240;
margin: 0 0 16px;
text-transform: uppercase;
}

.successPage .successText {
font-size: 15px;
line-height: 1.6;
color: #4a4560;
margin: 0 0 32px;
}

.successPage .successText span {
color: #8C7EBA;
font-weight: 600;
text-transform: uppercase;
}

.successPage .successDivider {
width: 48px;
height: 2px;
background: linear-gradient(113deg, #8C7EBA, #ADE3D6);
border-radius: 2px;
margin: 0 auto 32px;
}

.successPage .successMeta {
font-size: 15px;
line-height: 1.6;
color: #6a6585;
margin: 0 0 32px;
}

.successPage .successLink {
display: inline-block;
font-size: 15px;
line-height: 1.4;
color: #8C7EBA;
text-decoration: none;
border-bottom: 1px solid #9DB6D2;
padding-bottom: 2px;
transition: color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.65s ease;
}

.successPage .successLink:hover {
color: #9DB6D2;
border-color: #8C7EBA;
}

.successPage .successContact {
margin-top: 32px;
padding-top: 32px;
border-top: 1px solid #e8e4f4;
font-size: 15px;
line-height: 1.6;
color: #6a6585;
}

.successPage .successContact a {
color: #8C7EBA;
text-decoration: none;
transition: color 0.6s ease;
}

.successPage .successContact a:hover {
color: #9DB6D2;
}

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

.successPage .successCard {
padding: 32px 32px;
}
}

.notFound {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 32px;
text-align: center;
background: linear-gradient(113deg, #f5f3fa 0%, #eef4f9 55%, #eaf9f6 100%);
}

.notFound .codeBlock {
position: relative;
margin-bottom: 64px;
}

.notFound .codeBlock::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 220px;
height: 220px;
border-radius: 50%;
background: linear-gradient(113deg, rgba(140, 126, 186, 0.08) 0%, rgba(173, 227, 214, 0.10) 100%);
z-index: 0;
}

.notFound .codeNum {
font-size: 70px;
line-height: 1.15;
font-weight: 700;
letter-spacing: -2px;
background: linear-gradient(113deg, #8C7EBA 0%, #ADE3D6 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
position: relative;
z-index: 1;
}

.notFound .dividerLine {
width: 48px;
height: 2px;
background: linear-gradient(113deg, #8C7EBA, #ADE3D6);
border-radius: 2px;
margin: 32px auto;
}

.notFound .headline {
font-size: 31px;
line-height: 1.4;
color: #2a2540;
margin-bottom: 16px;
letter-spacing: -0.3px;
max-width: 520px;
}

.notFound .subtext {
font-size: 19px;
line-height: 1.6;
color: #4a4460;
max-width: 480px;
margin: 0 auto 64px;
}

.notFound .subtext span {
color: #8C7EBA;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
font-size: 15px;
}

.notFound .actionRow {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
justify-content: center;
flex-wrap: wrap;
}

.notFound .btnPrimary {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 32px;
background: linear-gradient(113deg, #8C7EBA 0%, #9DB6D2 100%);
color: #ffffff;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.04em;
border-radius: 2px;
text-decoration: none;
border: none;
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
transition: box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.notFound .btnPrimary:hover {
box-shadow: 0 10px 44px -2px rgba(140, 126, 186, 0.11);
transform: translateY(-1px);
}

.notFound .btnPrimary:focus {
outline: 2px solid #8C7EBA;
outline-offset: 3px;
}

.notFound .btnPrimary:active {
box-shadow: inset 0 2px 6px rgba(140, 126, 186, 0.18);
transform: translateY(0);
}

.notFound .btnSecondary {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 32px;
background: transparent;
color: #8C7EBA;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.04em;
border-radius: 2px;
text-decoration: none;
border: 1.5px solid #9DB6D2;
box-shadow: 0 1px 6px -2px rgba(157, 182, 210, 0.07);
transition: border-color 0.6s ease, color 0.65s ease, box-shadow 0.7s ease;
}

.notFound .btnSecondary:hover {
border-color: #8C7EBA;
color: #6a5ea0;
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
}

.notFound .btnSecondary:focus {
outline: 2px solid #9DB6D2;
outline-offset: 3px;
}

.notFound .btnSecondary:active {
box-shadow: inset 0 2px 4px rgba(140, 126, 186, 0.12);
}

.notFound .hintRow {
margin-top: 64px;
display: flex;
flex-direction: row;
gap: 32px;
justify-content: center;
flex-wrap: wrap;
}

.notFound .hintItem {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 32px;
background: #ffffff;
border-radius: 20px;
border: 1px solid rgba(157, 182, 210, 0.3);
box-shadow: 0 1px 6px -2px rgba(140, 126, 186, 0.07);
min-width: 180px;
max-width: 220px;
transition: box-shadow 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.7s ease;
}

.notFound .hintItem:hover {
box-shadow: 0 7px 18px -2px rgba(140, 126, 186, 0.10);
border-color: rgba(140, 126, 186, 0.4);
}

.notFound .hintItem i {
font-size: 24px;
color: #8C7EBA;
}

.notFound .hintItem a {
font-size: 15px;
line-height: 1.4;
color: #2a2540;
text-decoration: none;
font-weight: 600;
letter-spacing: 0.02em;
transition: color 0.55s ease;
}

.notFound .hintItem a:hover {
color: #9DB6D2;
}

.notFound .hintItem p {
font-size: 15px;
line-height: 1.6;
color: #6a6080;
margin: 0;
}

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

.notFound .codeNum {
font-size: 70px;
}

.notFound .headline {
font-size: 24px;
}

.notFound .hintRow {
gap: 16px;
}

.notFound .hintItem {
min-width: 140px;
padding: 16px;
}

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