@charset "UTF-8";

* {
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
}

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

*:focus {
outline: 3px solid;
outline-color: #8D24B4;
outline-offset: 3px;
}

.topstrip {
background: linear-gradient(90deg, #8D24B4 0%, #6a1a8a 100%);
padding: 8px 0;
}

.topstrip-hold {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}

.topstrip-notice {
font-family: 'Alegreya', serif;
font-size: 15px;
color: #FFF5D2;
line-height: 1.4;
letter-spacing: 0.01em;
}

.topstrip-contact {
display: flex;
align-items: center;
gap: 24px;
}

.topstrip-link {
font-family: 'Alegreya', serif;
font-size: 15px;
color: #FFF5D2;
text-decoration: none;
line-height: 1.4;
transition: color 0.25s ease-in-out, opacity 0.25s ease-in-out;
}

.topstrip-link:hover {
color: #ffffff;
opacity: 0.85;
}

.brandrow {
background: #ffffff;
border-bottom: 2px solid #FFF5D2;
padding: 16px 0;
}

.brandrow-hold {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
}

.logoframe {
background-color: #2a1040;
border-radius: 22px;
padding: 8px 24px;
display: inline-flex;
align-items: center;
justify-content: center;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
flex-shrink: 0;
}

.logoframe img {
width: 140px;
height: 58px;
object-fit: contain;
display: block;
}

.brandtag {
font-family: 'Alegreya', serif;
font-size: 16px;
color: #3d1a5a;
line-height: 1.4;
font-style: italic;
letter-spacing: 0.02em;
text-align: right;
max-width: 340px;
}

.brandtag strong {
color: #8D24B4;
font-weight: 700;
font-style: normal;
}

.navrule {
width: 100%;
height: 2px;
background: linear-gradient(90deg, #8D24B4 0%, #FFF5D2 60%, #D02600 100%);
margin: 0;
border: none;
}

.navrow {
background: #ffffff;
box-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
}

.navrow-hold {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
display: flex;
align-items: stretch;
justify-content: space-between;
gap: 8px;
}

.navprimary {
display: flex;
align-items: stretch;
gap: 0;
list-style: none;
margin: 0;
padding: 0;
}

.navprimary li {
display: flex;
align-items: stretch;
}

.navprimary li a {
font-family: 'Alegreya', serif;
font-size: 16px;
font-weight: 500;
color: #2a1040;
text-decoration: none;
padding: 16px 24px;
display: flex;
align-items: center;
line-height: 1.4;
letter-spacing: 0.01em;
position: relative;
transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.navprimary li a::after {
content: '';
position: absolute;
bottom: 0;
left: 24px;
right: 24px;
height: 3px;
background: #8D24B4;
border-radius: 5px 5px 0 0;
transform: scaleX(0);
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.navprimary li a:hover {
color: #8D24B4;
}

.navprimary li a:hover::after {
transform: scaleX(1);
}

.navsecondary {
display: flex;
align-items: center;
gap: 8px;
}

.navbtn {
font-family: 'Alegreya', serif;
font-size: 15px;
font-weight: 700;
text-decoration: none;
padding: 8px 24px;
border-radius: 5px;
line-height: 1.4;
display: inline-flex;
align-items: center;
position: relative;
overflow: hidden;
transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out;
}

.navbtn.filled {
background: #8D24B4;
color: #ffffff;
border: 2px solid #8D24B4;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
}

.navbtn.filled::before {
content: '';
position: absolute;
inset: 0;
border-radius: 5px;
border: 2px solid transparent;
transition: border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.navbtn.filled:hover {
background: #6a1a8a;
border-color: #6a1a8a;
}

@media (max-width: 768px) {
.topstrip-contact {
gap: 16px;
}

.brandrow-hold {
flex-direction: column;
align-items: flex-start;
gap: 16px;
}

.brandtag {
text-align: left;
max-width: 100%;
}

.navrow-hold {
flex-direction: column;
align-items: flex-start;
padding: 0 16px;
}

.navprimary {
flex-wrap: wrap;
width: 100%;
}

.navprimary li a {
padding: 16px 16px;
font-size: 15px;
}

.navsecondary {
padding: 8px 0 16px;
}
}

@media (max-width: 375px) {
.topstrip-hold {
flex-direction: column;
align-items: flex-start;
gap: 8px;
}

.topstrip-contact {
flex-direction: column;
align-items: flex-start;
gap: 8px;
}

.navprimary li a {
padding: 12px 8px;
font-size: 15px;
}

.navbtn.filled {
padding: 8px 16px;
}
}

.footerwrap {
background: #1e0a30;
padding: 48px 0 24px;
}

.footer-inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
}

.footer-card {
background: #2a1040;
border-radius: 22px;
padding: 48px;
box-shadow: 1px 8px 48px 0 rgba(141, 36, 180, 0.11);
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
}

.footer-links {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 8px 24px;
list-style: none;
margin: 0;
padding: 0;
}

.footer-links li a {
font-family: 'Alegreya', serif;
font-size: 16px;
color: #d4a8f0;
text-decoration: none;
line-height: 1.65;
transition: color 0.28s ease-in-out;
padding: 8px 0;
display: inline-block;
}

.footer-links li a:hover {
color: #FFF5D2;
}

.footer-divider {
width: 60px;
height: 2px;
background: linear-gradient(90deg, #8D24B4, #D02600);
border-radius: 5px;
border: none;
margin: 0;
}

.footer-logoframe {
background-color: #ffffff;
border-radius: 22px;
padding: 8px 24px;
display: inline-flex;
align-items: center;
justify-content: center;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
}

.footer-logoframe img {
width: 140px;
height: 58px;
object-fit: contain;
display: block;
}

.footer-address {
font-family: 'Alegreya', serif;
font-size: 15px;
color: #a07cc0;
line-height: 1.65;
text-align: center;
}

.footer-copy {
font-family: 'Alegreya', serif;
font-size: 15px;
color: #6b4a8a;
line-height: 1.4;
text-align: center;
margin-top: 24px;
}

@media (max-width: 768px) {
.footer-card {
padding: 24px 16px;
}
}

@media (max-width: 375px) {
.footer-card {
padding: 24px 8px;
}

.footer-links {
flex-direction: column;
gap: 8px;
align-items: center;
}
}

.ss-content-policy {
max-width: 1170px;
margin: 0 auto;
padding: 48px 24px;
color: #2a1a35;
line-height: 1.65;
}

.ss-content-policy h1 {
font-size: 48px;
line-height: 1.15;
letter-spacing: -0.03em;
color: #8D24B4;
margin-bottom: 24px;
margin-top: 0;
}

.ss-content-policy h2 {
font-size: 34px;
line-height: 1.15;
letter-spacing: -0.02em;
color: #6a1a8a;
margin-top: 48px;
margin-bottom: 16px;
}

.ss-content-policy h3 {
font-size: 24px;
line-height: 1.4;
letter-spacing: -0.01em;
color: #8D24B4;
margin-top: 48px;
margin-bottom: 16px;
}

.ss-content-policy h4 {
font-size: 20px;
line-height: 1.4;
letter-spacing: -0.01em;
color: #2a1a35;
margin-top: 24px;
margin-bottom: 8px;
}

.ss-content-policy h5 {
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #2a1a35;
margin-top: 24px;
margin-bottom: 8px;
text-transform: uppercase;
}

.ss-content-policy h6 {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.03em;
color: #5a3a6a;
margin-top: 16px;
margin-bottom: 8px;
text-transform: uppercase;
}

.ss-content-policy p {
font-size: 16px;
line-height: 1.85;
color: #2a1a35;
margin-top: 0;
margin-bottom: 16px;
}

.ss-content-policy strong,
.ss-content-policy b {
font-weight: 700;
color: #1e0f2b;
}

.ss-content-policy em,
.ss-content-policy i {
font-style: italic;
color: #3d1a55;
}

.ss-content-policy a {
color: #8D24B4;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color 0.25s ease-in-out, text-decoration-color 0.25s ease-in-out;
}

.ss-content-policy a:hover {
color: #D02600;
text-decoration-color: #D02600;
}

.ss-content-policy a:visited {
color: #6a1a8a;
}

.ss-content-policy hr {
border: none;
border-top: 1px solid rgba(141, 36, 180, 0.18);
margin: 48px 0;
background: none;
}

.ss-content-policy div {
font-size: 16px;
line-height: 1.65;
}

.ss-content-policy div+div {
margin-top: 16px;
}

@media (max-width: 768px) {
.ss-content-policy {
padding: 24px 16px;
}

.ss-content-policy h1 {
font-size: 34px;
}

.ss-content-policy h2 {
font-size: 24px;
margin-top: 24px;
}

.ss-content-policy h3 {
font-size: 20px;
margin-top: 24px;
}

.ss-content-policy h4 {
font-size: 16px;
}

.ss-content-policy h5,
.ss-content-policy h6 {
font-size: 15px;
}

.ss-content-policy hr {
margin: 24px 0;
}
}

@media (max-width: 375px) {
.ss-content-policy {
padding: 16px 8px;
}

.ss-content-policy h1 {
font-size: 24px;
}

.ss-content-policy h2 {
font-size: 20px;
}

.ss-content-policy h3 {
font-size: 16px;
}
}

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

.prs .pgrid {
max-width: 1170px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px;
}

.prs .titblock {
background: linear-gradient(293deg, #8D24B4 0%, #fff5d2 60%, #ffffff 100%);
padding-top: 64px;
padding-bottom: 48px;
position: relative;
}

.prs .titblock .pgrid {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 48px;
}

.prs .titblock-text {
flex: 1 1 0;
display: flex;
flex-direction: column;
justify-content: center;
gap: 16px;
padding-right: 8px;
}

.prs .titblock-label {
display: inline-block;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.08em;
color: #8D24B4;
font-weight: 700;
text-transform: uppercase;
padding-bottom: 8px;
border-bottom: 2px solid #8D24B4;
width: fit-content;
}

.prs .titblock-h1 {
font-size: 48px;
line-height: 1.15;
letter-spacing: -0.02em;
color: #1b0a24;
font-weight: 900;
margin: 0;
text-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
}

.prs .titblock-desc {
font-size: 16px;
line-height: 1.65;
color: #2e1040;
margin: 0;
max-width: 560px;
}

.prs .titblock-deco {
position: absolute;
top: 24px;
left: 24px;
width: 38px;
height: 38px;
border-top: 3px solid #8D24B4;
border-left: 3px solid #8D24B4;
border-radius: 5px 0 0 0;
pointer-events: none;
}

.prs .titblock-deco2 {
position: absolute;
bottom: 24px;
right: 24px;
width: 38px;
height: 38px;
border-bottom: 3px solid #D02600;
border-right: 3px solid #D02600;
border-radius: 0 0 5px 0;
pointer-events: none;
}

.prs .titblock-imgstrip {
width: 260px;
flex-shrink: 0;
position: relative;
border-radius: 22px;
overflow: hidden;
box-shadow: 1px 8px 48px 0 rgba(141, 36, 180, 0.11);
}

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

.prs .titblock-imgstrip-overlay {
position: absolute;
inset: 0;
background: linear-gradient(293deg, #8D24B4 0%, transparent 70%);
pointer-events: none;
}

.prs .titblock-arrow {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 8px;
}

.prs .titblock-arrow-line {
width: 48px;
height: 2px;
background: linear-gradient(293deg, #8D24B4, #D02600);
border-radius: 5px;
}

.prs .titblock-arrow-dot {
width: 8px;
height: 8px;
border-radius: 38px;
background: #D02600;
}

.prs .metricsec {
background: #ffffff;
padding-top: 48px;
padding-bottom: 48px;
border-top: 1px solid #f0e6f8;
}

.prs .metricsec .pgrid {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 48px;
}

.prs .metricbig {
flex: 0 0 320px;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
gap: 16px;
padding: 48px 24px;
background: linear-gradient(293deg, #8D24B4 0%, #5a0f80 100%);
border-radius: 22px;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
position: relative;
}

.prs .metricbig-num {
font-size: 64px;
line-height: 1.15;
font-weight: 900;
color: #FFF5D2;
letter-spacing: -0.03em;
text-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
}

.prs .metricbig-label {
font-size: 20px;
line-height: 1.4;
color: #e8c8ff;
font-weight: 600;
}

.prs .metricbig-sub {
font-size: 15px;
line-height: 1.65;
color: #d4a8f5;
}

.prs .metricbig-bracket {
position: absolute;
top: 16px;
right: 16px;
width: 28px;
height: 28px;
border-top: 2px solid #FFF5D2;
border-right: 2px solid #FFF5D2;
border-radius: 0 5px 0 0;
pointer-events: none;
}

.prs .metricbig-bracket2 {
position: absolute;
bottom: 16px;
left: 16px;
width: 28px;
height: 28px;
border-bottom: 2px solid #FFF5D2;
border-left: 2px solid #FFF5D2;
border-radius: 0 0 0 5px;
pointer-events: none;
}

.prs .metriccontext {
flex: 1 1 0;
display: flex;
flex-direction: column;
justify-content: center;
gap: 16px;
}

.prs .metriccontext-h2 {
font-size: 34px;
line-height: 1.15;
letter-spacing: -0.01em;
color: #1b0a24;
font-weight: 800;
margin: 0;
text-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
}

.prs .metriccontext-p {
font-size: 16px;
line-height: 1.65;
color: #2e1040;
margin: 0;
}

.prs .metricdivider {
width: 3px;
background: linear-gradient(180deg, #8D24B4 0%, #D02600 100%);
border-radius: 5px;
flex-shrink: 0;
align-self: stretch;
}

.prs .pressitems {
background: linear-gradient(180deg, #FFF5D2 0%, #fbeeff 100%);
padding-top: 64px;
padding-bottom: 48px;
position: relative;
}

.prs .pressitems-gridpulse {
position: absolute;
inset: 0;
pointer-events: none;
background-image:
linear-gradient(rgba(141, 36, 180, 0.07) 1px, transparent 1px),
linear-gradient(90deg, rgba(141, 36, 180, 0.07) 1px, transparent 1px);
background-size: 48px 48px;
animation: gridpulse 3.5s ease-in-out infinite;
}

@keyframes gridpulse {
0% {
opacity: 0.4;
}

50% {
opacity: 1;
}

100% {
opacity: 0.4;
}
}

.prs .pressitems-h2 {
font-size: 34px;
line-height: 1.15;
letter-spacing: -0.01em;
color: #1b0a24;
font-weight: 800;
margin: 0 0 8px 0;
text-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
}

.prs .pressitems-sub {
font-size: 16px;
line-height: 1.65;
color: #2e1040;
margin: 0 0 48px 0;
max-width: 600px;
}

.prs .pressitems-outergrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.prs .pressitem {
background: #ffffff;
border-radius: 22px;
padding: 24px;
box-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
display: flex;
flex-direction: column;
gap: 16px;
transition: box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s ease-in-out;
position: relative;
}

.prs .pressitem:hover {
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
transform: translateY(-2px);
}

.prs .pressitem-accent {
width: 40px;
height: 4px;
background: linear-gradient(293deg, #8D24B4, #D02600);
border-radius: 5px;
}

.prs .pressitem-source {
font-size: 15px;
line-height: 1.4;
color: #8D24B4;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
}

.prs .pressitem-quote {
font-size: 16px;
line-height: 1.65;
color: #2e1040;
margin: 0;
font-style: italic;
}

.prs .pressitem-author {
font-size: 15px;
line-height: 1.4;
color: #5a0f80;
font-weight: 600;
}

.prs .pressitem-innergrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-top: 8px;
}

.prs .pressitem-fact {
background: #FFF5D2;
border-radius: 5px;
padding: 16px;
display: flex;
flex-direction: column;
gap: 8px;
}

.prs .pressitem-fact-num {
font-size: 24px;
line-height: 1.15;
font-weight: 900;
color: #D02600;
}

.prs .pressitem-fact-desc {
font-size: 15px;
line-height: 1.4;
color: #2e1040;
}

.prs .pressitem.featured {
grid-column: span 2;
flex-direction: row;
align-items: flex-start;
gap: 48px;
}

.prs .pressitem.featured .pressitem-main {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 16px;
}

.prs .pressitem.featured .pressitem-side {
flex: 0 0 220px;
display: flex;
flex-direction: column;
gap: 16px;
}

.prs .pressitem-bracket {
position: absolute;
top: 16px;
right: 16px;
width: 22px;
height: 22px;
border-top: 2px solid #8D24B4;
border-right: 2px solid #8D24B4;
border-radius: 0 5px 0 0;
pointer-events: none;
}

.prs .contactsec {
background: #ffffff;
padding-top: 48px;
padding-bottom: 64px;
}

.prs .contactsec .pgrid {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 48px;
}

.prs .contactsec-left {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 16px;
}

.prs .contactsec-h2 {
font-size: 34px;
line-height: 1.15;
letter-spacing: -0.01em;
color: #1b0a24;
font-weight: 800;
margin: 0;
text-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
}

.prs .contactsec-p {
font-size: 16px;
line-height: 1.65;
color: #2e1040;
margin: 0;
}

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

.prs .contactsec-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
font-size: 16px;
line-height: 1.65;
color: #2e1040;
}

.prs .contactsec-list li::before {
content: '';
display: block;
width: 6px;
height: 6px;
border-radius: 38px;
background: #8D24B4;
margin-top: 8px;
flex-shrink: 0;
}

.prs .contactsec-list a {
color: #8D24B4;
text-decoration: none;
transition: color 0.28s ease-in-out;
}

.prs .contactsec-list a:hover {
color: #D02600;
}

.prs .contactsec-right {
flex: 0 0 380px;
display: flex;
flex-direction: column;
gap: 24px;
}

.prs .kitcard {
background: linear-gradient(293deg, #8D24B4 0%, #5a0f80 100%);
border-radius: 22px;
padding: 24px;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
display: flex;
flex-direction: column;
gap: 16px;
position: relative;
}

.prs .kitcard-h3 {
font-size: 20px;
line-height: 1.4;
color: #FFF5D2;
font-weight: 700;
margin: 0;
}

.prs .kitcard-p {
font-size: 15px;
line-height: 1.65;
color: #d4a8f5;
margin: 0;
}

.prs .kitcard-btn {
display: inline-block;
padding: 16px 24px;
background: #FFF5D2;
color: #5a0f80;
font-size: 15px;
font-weight: 700;
border-radius: 5px;
text-decoration: none;
border: 2px solid transparent;
cursor: pointer;
transition: background 0.28s ease-in-out, color 0.28s ease-in-out, border-color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
width: fit-content;
}

.prs .kitcard-btn:hover {
background: transparent;
color: #FFF5D2;
border-color: #FFF5D2;
}

.prs .kitcard-bracket {
position: absolute;
bottom: 16px;
right: 16px;
width: 22px;
height: 22px;
border-bottom: 2px solid rgba(255, 245, 210, 0.4);
border-right: 2px solid rgba(255, 245, 210, 0.4);
border-radius: 0 0 5px 0;
pointer-events: none;
}

.prs .spokecard {
background: #FFF5D2;
border-radius: 22px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px;
box-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
}

.prs .spokecard-h4 {
font-size: 16px;
line-height: 1.4;
color: #1b0a24;
font-weight: 700;
margin: 0;
}

.prs .spokecard-name {
font-size: 15px;
line-height: 1.4;
color: #8D24B4;
font-weight: 600;
}

.prs .spokecard-role {
font-size: 15px;
line-height: 1.4;
color: #5a0f80;
}

.prs .imgcycle {
width: 100%;
height: 180px;
border-radius: 5px;
overflow: hidden;
}

.prs .imgcycle img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
animation: colorcycle 6s ease-in-out infinite;
}

@keyframes colorcycle {
0% {
filter: saturate(1);
}

40% {
filter: saturate(0) brightness(0.9);
}

70% {
filter: saturate(0) brightness(0.9);
}

100% {
filter: saturate(1);
}
}

@media (max-width: 768px) {
.prs .titblock .pgrid {
flex-direction: column;
}

.prs .titblock-imgstrip {
width: 100%;
height: 200px;
}

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

.prs .metricsec .pgrid {
flex-direction: column;
}

.prs .metricbig {
flex: none;
width: 100%;
}

.prs .metricsec .pgrid .metricdivider {
width: 100%;
height: 3px;
align-self: auto;
}

.prs .pressitems-outergrid {
grid-template-columns: 1fr;
}

.prs .pressitem.featured {
grid-column: span 1;
flex-direction: column;
}

.prs .pressitem.featured .pressitem-side {
flex: none;
width: 100%;
}

.prs .contactsec .pgrid {
flex-direction: column;
}

.prs .contactsec-right {
flex: none;
width: 100%;
}
}

@media (max-width: 375px) {
.prs .titblock-h1 {
font-size: 24px;
}

.prs .metricbig-num {
font-size: 48px;
}

.prs .pressitems-outergrid {
grid-template-columns: 1fr;
}

.prs .pressitem-innergrid {
grid-template-columns: 1fr;
}

.prs .pgrid {
padding-left: 16px;
padding-right: 16px;
}
}

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

.spk .bd {
max-width: 1170px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px;
}

.spk .titlearea {
background-color: #1b0a24;
padding-top: 48px;
padding-bottom: 48px;
position: relative;
}

.spk .titlearea .frameline {
position: absolute;
top: 16px;
left: 24px;
right: 24px;
bottom: 16px;
border: 1px solid rgba(141, 36, 180, 0.28);
border-radius: 5px;
pointer-events: none;
}

.spk .titlearea .frameline::before {
content: '';
position: absolute;
top: 8px;
left: 8px;
right: 8px;
bottom: 8px;
border: 1px solid rgba(141, 36, 180, 0.12);
border-radius: 5px;
}

.spk .titlearea .bd {
position: relative;
z-index: 1;
text-align: center;
}

.spk .titlearea .tagmark {
display: inline-block;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.06em;
color: #c97ee8;
border: 1px solid rgba(141, 36, 180, 0.4);
border-radius: 5px;
padding: 8px 16px;
margin-bottom: 24px;
background: rgba(141, 36, 180, 0.1);
}

.spk .titlearea .pagetitle {
font-size: 48px;
line-height: 1.15;
letter-spacing: -0.02em;
color: #fff;
margin: 0 0 16px 0;
text-shadow: 1px 4px 18px rgba(141, 36, 180, 0.45);
}

.spk .titlearea .pagetitle .acword {
color: #c97ee8;
}

.spk .titlearea .tagline {
font-size: 20px;
line-height: 1.65;
color: rgba(255, 245, 210, 0.82);
max-width: 600px;
margin: 0 auto 24px auto;
}

.spk .titlearea .actlinks {
display: flex;
flex-direction: row;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
}

.spk .titlearea .btnprim {
display: inline-block;
font-size: 16px;
line-height: 1.4;
color: #fff;
background: #8D24B4;
border: 2px solid #8D24B4;
border-radius: 5px;
padding: 16px 24px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: background 0.35s ease-in-out, color 0.35s ease-in-out;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
}

.spk .titlearea .btnprim::before {
content: '';
position: absolute;
inset: 0;
border: 2px solid #c97ee8;
border-radius: 5px;
opacity: 0;
transition: opacity 0.25s ease-in-out;
}

.spk .titlearea .btnprim:hover::before {
opacity: 1;
}

.spk .titlearea .btnprim:hover {
background: #6e1a8e;
}

.spk .titlearea .btnout {
display: inline-block;
font-size: 16px;
line-height: 1.4;
color: #FFF5D2;
background: transparent;
border: 2px solid rgba(255, 245, 210, 0.4);
border-radius: 5px;
padding: 16px 24px;
text-decoration: none;
position: relative;
transition: border-color 0.28s cubic-bezier(0.4, 0, 0.2, 1), color 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.spk .titlearea .btnout:hover {
border-color: #FFF5D2;
color: #fff;
}

.spk .dots {
position: absolute;
bottom: 24px;
right: 24px;
display: flex;
flex-direction: row;
gap: 8px;
align-items: flex-end;
pointer-events: none;
}

.spk .dots .d1 {
width: 6px;
height: 6px;
border-radius: 38px;
background: rgba(141, 36, 180, 0.35);
}

.spk .dots .d2 {
width: 10px;
height: 10px;
border-radius: 38px;
background: rgba(141, 36, 180, 0.25);
}

.spk .dots .d3 {
width: 16px;
height: 16px;
border-radius: 38px;
background: rgba(141, 36, 180, 0.18);
}

.spk .dots .d4 {
width: 8px;
height: 8px;
border-radius: 38px;
background: rgba(208, 38, 0, 0.2);
}

.spk .divtri {
width: 100%;
line-height: 0;
overflow: hidden;
}

.spk .divtri svg {
display: block;
width: 100%;
}

.spk .engagements {
background: radial-gradient(ellipse 70% 60% at 50% 45%, #fff 60%, #f0e6f7 100%);
padding-top: 48px;
padding-bottom: 48px;
}

.spk .engagements .seclabel {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.08em;
color: #8D24B4;
text-transform: uppercase;
margin: 0 0 8px 0;
}

.spk .engagements .sech2 {
font-size: 34px;
line-height: 1.15;
letter-spacing: -0.015em;
color: #1b0a24;
margin: 0 0 8px 0;
text-shadow: 1px 2px 6px rgba(141, 36, 180, 0.1);
}

.spk .engagements .secintro {
font-size: 16px;
line-height: 1.65;
color: #3a2040;
max-width: 560px;
margin: 0 0 48px 0;
}

.spk .compgrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-bottom: 48px;
}

.spk .compcard {
background: #fff;
border-radius: 22px;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
overflow: hidden;
transition: box-shadow 0.35s ease-in-out, transform 0.35s ease-in-out;
}

.spk .compcard:hover {
box-shadow: 1px 8px 48px 0 rgba(141, 36, 180, 0.11);
transform: translateY(-4px);
}

.spk .compcard .cardimg {
width: 100%;
height: 220px;
overflow: hidden;
}

.spk .compcard .cardimg img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.spk .compcard:hover .cardimg img {
transform: scale(1.04);
}

.spk .compcard .cardbody {
padding: 24px;
}

.spk .compcard .cardtag {
font-size: 15px;
line-height: 1.4;
color: #8D24B4;
margin: 0 0 8px 0;
letter-spacing: 0.04em;
}

.spk .compcard .cardh3 {
font-size: 20px;
line-height: 1.4;
color: #1b0a24;
margin: 0 0 8px 0;
text-shadow: 1px 1px 4px rgba(141, 36, 180, 0.08);
}

.spk .compcard .cardtext {
font-size: 16px;
line-height: 1.65;
color: #3a2040;
margin: 0;
}

.spk .compcard.wide {
grid-column: span 2;
display: grid;
grid-template-columns: 1fr 1fr;
}

.spk .compcard.wide .cardimg {
height: 100%;
min-height: 240px;
}

.spk .bafcomp {
background: #fff;
border-radius: 22px;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
padding: 24px;
margin-bottom: 48px;
}

.spk .bafcomp .bafh4 {
font-size: 20px;
line-height: 1.4;
color: #1b0a24;
margin: 0 0 24px 0;
text-shadow: 1px 1px 4px rgba(141, 36, 180, 0.1);
}

.spk .bafgrid {
display: grid;
grid-template-columns: 1fr auto 1fr;
gap: 16px;
align-items: center;
}

.spk .bafcol {
padding: 24px;
border-radius: 5px;
}

.spk .bafcol.before {
background: #f5f0f9;
}

.spk .bafcol.after {
background: rgba(141, 36, 180, 0.08);
}

.spk .bafcol .baflabel {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.06em;
text-transform: uppercase;
margin: 0 0 16px 0;
}

.spk .bafcol.before .baflabel {
color: #8a6a99;
}

.spk .bafcol.after .baflabel {
color: #8D24B4;
}

.spk .bafrow {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 8px;
}

.spk .bafrow:last-child {
margin-bottom: 0;
}

.spk .bafitem {
font-size: 16px;
line-height: 1.65;
color: #3a2040;
padding-left: 16px;
position: relative;
}

.spk .bafitem::before {
content: '–';
position: absolute;
left: 0;
color: #8D24B4;
}

.spk .bafcol.before .bafitem::before {
color: #8a6a99;
}

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

.spk .bafarrow .arrowshape {
width: 32px;
height: 32px;
border-radius: 38px;
background: #8D24B4;
display: flex;
align-items: center;
justify-content: center;
}

.spk .bafarrow .arrowshape svg {
display: block;
}

.spk .metricsrow {
display: flex;
flex-direction: row;
gap: 24px;
flex-wrap: wrap;
}

.spk .metricbox {
flex: 1 1 160px;
background: #fff;
border-radius: 22px;
padding: 24px;
box-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
text-align: center;
position: relative;
overflow: hidden;
transition: box-shadow 0.3s ease-in-out;
}

.spk .metricbox:hover {
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
}

.spk .metricbox .mval {
font-size: 34px;
line-height: 1.15;
letter-spacing: -0.02em;
color: #8D24B4;
display: block;
margin-bottom: 8px;
animation: metcount 15s linear infinite;
}

@keyframes metcount {

0%,
95%,
100% {
opacity: 1;
}

97% {
opacity: 0.6;
}
}

.spk .metricbox .mdesc {
font-size: 15px;
line-height: 1.4;
color: #3a2040;
margin: 0;
}

.spk .metricbox .mbg {
position: absolute;
bottom: -8px;
right: -8px;
width: 48px;
height: 48px;
border-radius: 38px;
background: rgba(141, 36, 180, 0.06);
pointer-events: none;
}

@media (max-width: 768px) {
.spk .titlearea .pagetitle {
font-size: 34px;
}

.spk .compgrid {
grid-template-columns: 1fr;
}

.spk .compcard.wide {
grid-column: span 1;
grid-template-columns: 1fr;
}

.spk .compcard.wide .cardimg {
min-height: 180px;
}

.spk .bafgrid {
grid-template-columns: 1fr;
}

.spk .bafarrow {
transform: rotate(90deg);
margin: 8px auto;
}

.spk .engagements .sech2 {
font-size: 24px;
}
}

@media (max-width: 375px) {
.spk .titlearea .pagetitle {
font-size: 24px;
}

.spk .actlinks {
flex-direction: column;
align-items: center;
}

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

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

.prm .pgwrap {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
}

.prm .titblock {
display: flex;
flex-direction: row;
align-items: stretch;
min-height: 0;
padding: 48px 0 0 0;
position: relative;
background: #fff;
}

.prm .titblock .textside {
flex: 0 0 52%;
padding: 48px 48px 48px 24px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
z-index: 1;
}

.prm .titblock .textside::before {
content: '';
position: absolute;
top: 16px;
left: 8px;
right: 24px;
bottom: 16px;
border: 1px solid rgba(141, 36, 180, 0.12);
border-radius: 22px;
pointer-events: none;
}

.prm .titblock .textside::after {
content: '';
position: absolute;
top: 8px;
left: 0;
right: 32px;
bottom: 8px;
border: 2px solid rgba(141, 36, 180, 0.22);
border-radius: 22px;
pointer-events: none;
}

.prm .titblock .imgside {
flex: 0 0 48%;
position: relative;
overflow: hidden;
border-radius: 0 38px 38px 0;
min-height: 420px;
}

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

.prm .titblock .imgside .imgfade {
position: absolute;
inset: 0;
background: linear-gradient(293deg, transparent 40%, #fff 100%);
pointer-events: none;
}

.prm .titblock .imgside .deco {
position: absolute;
bottom: 24px;
right: 24px;
width: 80px;
height: 80px;
border-radius: 38px;
background: rgba(141, 36, 180, 0.08);
pointer-events: none;
}

.prm .titblock .imgside .deco2 {
position: absolute;
top: 16px;
right: 48px;
width: 40px;
height: 40px;
border-radius: 22px;
background: rgba(208, 38, 0, 0.07);
pointer-events: none;
}

.prm .tlabel {
font-size: 15px;
line-height: 1.4;
color: #8D24B4;
letter-spacing: 0.06em;
text-transform: uppercase;
margin-bottom: 16px;
font-weight: 600;
}

.prm .th1 {
font-size: 48px;
line-height: 1.15;
letter-spacing: -0.02em;
color: #1b0a26;
margin-bottom: 16px;
text-shadow: 1px 2px 4px rgba(141, 36, 180, 0.10);
}

.prm .th1 em {
font-style: normal;
color: #8D24B4;
text-decoration: line-through;
text-decoration-color: rgba(208, 38, 0, 0.4);
}

.prm .th1 span {
color: #8D24B4;
font-style: normal;
}

.prm .tsubtext {
font-size: 16px;
line-height: 1.65;
color: #2e1a3a;
margin-bottom: 16px;
max-width: 440px;
}

.prm .tsubtext2 {
font-size: 15px;
line-height: 1.65;
color: #4a3558;
max-width: 400px;
}

.prm .tbtn {
display: inline-block;
margin-top: 24px;
padding: 16px 24px;
font-size: 16px;
font-weight: 700;
color: #fff;
background: #8D24B4;
border-radius: 5px;
border: 2px solid #8D24B4;
cursor: pointer;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color 0.35s cubic-bezier(0.4, 0, 0.2, 1), background 0.35s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
align-self: flex-start;
}

.prm .tbtn::before {
content: '';
position: absolute;
inset: 0;
border-radius: 5px;
border: 2px solid #8D24B4;
transform: scale(0.88);
opacity: 0;
transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.28s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none;
}

.prm .tbtn:hover {
background: #fff;
color: #8D24B4;
}

.prm .tbtn:hover::before {
transform: scale(1);
opacity: 1;
}

.prm .waveline {
width: 100%;
display: block;
line-height: 0;
margin-top: 0;
}

.prm .communityblock {
background: #FFF5D2;
padding: 48px 0;
position: relative;
}

.prm .communityblock .pgwrap {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
align-items: start;
}

.prm .communityblock .comhead {
grid-column: 1 / -1;
margin-bottom: 8px;
}

.prm .th2 {
font-size: 34px;
line-height: 1.15;
letter-spacing: -0.015em;
color: #1b0a26;
text-shadow: 1px 2px 4px rgba(141, 36, 180, 0.08);
margin-bottom: 8px;
}

.prm .th3 {
font-size: 20px;
line-height: 1.4;
color: #1b0a26;
margin-bottom: 8px;
text-shadow: 1px 1px 3px rgba(141, 36, 180, 0.07);
}

.prm .comcard {
background: #fff;
border-radius: 22px;
padding: 24px;
box-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
display: flex;
flex-direction: column;
gap: 8px;
transition: box-shadow 0.32s ease-in-out;
}

.prm .comcard:hover {
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
}

.prm .comcard .cardicon {
width: 36px;
height: 36px;
border-radius: 5px;
background: rgba(141, 36, 180, 0.10);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.prm .comcard .cardicon svg {
width: 20px;
height: 20px;
}

.prm .cardtxt {
font-size: 15px;
line-height: 1.65;
color: #2e1a3a;
}

.prm .reputblock {
background: #fff;
padding: 48px 0;
position: relative;
}

.prm .reputblock .rpinner {
display: flex;
flex-direction: row;
gap: 48px;
align-items: center;
}

.prm .reputblock .rpimg {
flex: 0 0 42%;
border-radius: 22px;
overflow: hidden;
box-shadow: 1px 8px 48px 0 rgba(141, 36, 180, 0.11);
position: relative;
}

.prm .reputblock .rpimg img {
width: 100%;
height: 380px;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.prm .reputblock .rpimg:hover img {
transform: scale(1.03);
}

.prm .reputblock .rptxt {
flex: 1;
display: flex;
flex-direction: column;
gap: 16px;
}

.prm .rptag {
display: inline-block;
font-size: 15px;
color: #8D24B4;
font-weight: 600;
letter-spacing: 0.05em;
text-transform: uppercase;
padding: 8px 16px;
background: rgba(141, 36, 180, 0.08);
border-radius: 5px;
align-self: flex-start;
}

.prm .rptxt .bodytxt {
font-size: 16px;
line-height: 1.65;
color: #2e1a3a;
}

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

.prm .rptxt .assoclist li {
font-size: 15px;
line-height: 1.4;
color: #2e1a3a;
padding-left: 16px;
position: relative;
}

.prm .rptxt .assoclist li::before {
content: '-';
position: absolute;
left: 0;
color: #8D24B4;
}

.prm .valublock {
padding: 48px 0;
position: relative;
background: linear-gradient(293deg, rgba(141, 36, 180, 0.07) 0%, #fff 60%);
}

.prm .valublock .valugrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
align-items: start;
}

.prm .valublock .valuhead {
grid-column: 1 / -1;
}

.prm .valublock .metricrow {
grid-column: 1 / -1;
display: flex;
flex-direction: row;
gap: 24px;
margin: 8px 0;
}

.prm .metricbox {
flex: 1;
background: #8D24B4;
color: #fff;
border-radius: 22px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
position: relative;
overflow: hidden;
}

.prm .metricbox::before {
content: '';
position: absolute;
top: -16px;
right: -16px;
width: 80px;
height: 80px;
border-radius: 38px;
background: rgba(255, 255, 255, 0.08);
pointer-events: none;
}

.prm .metricnum {
font-size: 48px;
line-height: 1.15;
font-weight: 800;
letter-spacing: -0.02em;
color: #fff;
}

.prm .metriclbl {
font-size: 15px;
line-height: 1.4;
color: rgba(255, 255, 255, 0.85);
}

.prm .metricbox.alt {
background: #D02600;
box-shadow: 1px 6px 25px 0 rgba(208, 38, 0, 0.11);
}

.prm .valucard {
background: #fff;
border-radius: 22px;
padding: 24px;
box-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
display: flex;
flex-direction: column;
gap: 8px;
transition: box-shadow 0.28s ease-in-out;
}

.prm .valucard:hover {
box-shadow: 1px 8px 48px 0 rgba(141, 36, 180, 0.11);
}

.prm .valucard .vtag {
font-size: 15px;
font-weight: 700;
color: #8D24B4;
}

.prm .valucard .vtxt {
font-size: 15px;
line-height: 1.65;
color: #2e1a3a;
}

.prm .teamblock {
background: #FFF5D2;
padding: 48px 0;
position: relative;
}

.prm .teamblock .teaminr {
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start;
}

.prm .teamblock .teamtxt {
flex: 1;
display: flex;
flex-direction: column;
gap: 16px;
}

.prm .teamblock .teamportrait {
flex: 0 0 220px;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
}

.prm .teamblock .portimg {
width: 160px;
height: 160px;
border-radius: 38px;
overflow: hidden;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
}

.prm .teamblock .portimg img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.prm .portname {
font-size: 16px;
font-weight: 700;
color: #1b0a26;
text-align: center;
}

.prm .portrole {
font-size: 15px;
color: #8D24B4;
text-align: center;
line-height: 1.4;
}

.prm .teamtxt .bodytxt {
font-size: 16px;
line-height: 1.65;
color: #2e1a3a;
}

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

.prm .teamtxt .credlist li {
font-size: 15px;
line-height: 1.4;
color: #2e1a3a;
padding-left: 16px;
position: relative;
}

.prm .teamtxt .credlist li::before {
content: '-';
position: absolute;
left: 0;
color: #D02600;
}

.prm .currentblock {
background: #fff;
padding: 48px 0;
position: relative;
}

.prm .currentblock .curinr {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start;
}

.prm .currentblock .curimg {
border-radius: 22px;
overflow: hidden;
box-shadow: 1px 8px 48px 0 rgba(208, 38, 0, 0.11);
position: relative;
}

.prm .currentblock .curimg img {
width: 100%;
height: 340px;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

.prm .currentblock .curimg:hover img {
transform: scale(1.04);
}

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

.prm .curtxt .bodytxt {
font-size: 16px;
line-height: 1.65;
color: #2e1a3a;
}

.prm .curtxt .updrow {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 8px;
}

.prm .upditem {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
background: #FFF5D2;
border-radius: 5px;
padding: 16px;
}

.prm .upditem .updlbl {
font-size: 15px;
font-weight: 700;
color: #D02600;
flex-shrink: 0;
min-width: 80px;
}

.prm .upditem .updtxt {
font-size: 15px;
line-height: 1.65;
color: #2e1a3a;
}

.prm .diag-divider {
width: 100%;
height: 32px;
display: block;
line-height: 0;
}

@keyframes driftbg {
0% {
background-position: 0% 0%;
}

100% {
background-position: 100% 100%;
}
}

.prm .animatedbg {
background-image: repeating-linear-gradient(293deg,
rgba(141, 36, 180, 0.04) 0px,
rgba(141, 36, 180, 0.04) 1px,
transparent 1px,
transparent 32px);
background-size: 200% 200%;
animation: driftbg 18s linear infinite;
}

@media (max-width: 768px) {
.prm .titblock {
flex-direction: column;
}

.prm .titblock .textside {
flex: 1;
padding: 48px 24px 24px 24px;
}

.prm .titblock .imgside {
flex: 0 0 260px;
border-radius: 0 0 38px 38px;
min-height: 260px;
}

.prm .th1 {
font-size: 34px;
}

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

.prm .reputblock .rpinner {
flex-direction: column;
}

.prm .reputblock .rpimg {
flex: 0 0 auto;
width: 100%;
}

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

.prm .valublock .metricrow {
flex-direction: column;
}

.prm .teamblock .teaminr {
flex-direction: column;
}

.prm .teamblock .teamportrait {
flex: 0 0 auto;
width: 100%;
flex-direction: row;
align-items: center;
}

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

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

@media (max-width: 375px) {
.prm .th1 {
font-size: 24px;
}

.prm .th2 {
font-size: 20px;
}

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

.prm .titblock .textside {
padding: 24px 16px 16px 16px;
}

.prm .metricnum {
font-size: 34px;
}
}

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

.abtu .row-full {
max-width: 1170px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px;
}

.abtu .titblk {
background: linear-gradient(293deg, #8D24B4 0%, transparent 70%);
padding: 48px 0;
position: relative;
}

.abtu .titblk .frame-outer {
max-width: 1170px;
margin: 0 auto;
padding: 48px 24px;
position: relative;
}

.abtu .titblk .frame-border {
position: absolute;
top: 16px;
left: 40px;
right: 40px;
bottom: 16px;
border: 1px solid rgba(141, 36, 180, 0.28);
border-radius: 5px;
pointer-events: none;
}

.abtu .titblk .frame-border::before {
content: '';
position: absolute;
top: 6px;
left: 6px;
right: 6px;
bottom: 6px;
border: 1px solid rgba(141, 36, 180, 0.12);
border-radius: 5px;
}

.abtu .titblk .numaccent {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
background: #8D24B4;
border-radius: 38px;
color: #fff;
font-size: 20px;
font-weight: 700;
margin-bottom: 24px;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
}

.abtu .titblk .tithead {
font-size: 64px;
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.03em;
color: #1b0a24;
margin: 0 0 16px;
text-shadow: 1px 2px 4px rgba(141, 36, 180, 0.10);
overflow: hidden;
}

.abtu .titblk .tithead span {
display: inline-block;
animation: splitreveal 0.35s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.abtu .titblk .tithead span.second {
animation-delay: 0.08s;
color: #8D24B4;
}

@keyframes splitreveal {
from {
opacity: 0;
transform: translateY(22px);
}

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

.abtu .titblk .titsub {
font-size: 20px;
line-height: 1.65;
color: #2d1040;
max-width: 560px;
margin: 0;
}

.abtu .titblk .titimg {
width: 100%;
height: 320px;
object-fit: cover;
object-position: center;
border-radius: 5px;
box-shadow: 1px 8px 48px 0 rgba(141, 36, 180, 0.11);
display: block;
}

.abtu .titblk .grid-split {
display: flex;
flex-direction: row;
gap: 48px;
align-items: center;
}

.abtu .titblk .grid-split .txtside {
flex: 1 1 0;
}

.abtu .titblk .grid-split .imgside {
flex: 0 0 420px;
max-width: 420px;
}

.abtu .diag-divider {
width: 100%;
height: 52px;
overflow: hidden;
}

.abtu .diag-divider svg {
display: block;
width: 100%;
height: 100%;
}

.abtu .storysec {
background: #fff;
padding: 48px 0 0;
}

.abtu .storysec .storyinner {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px 48px;
}

.abtu .storysec .storycols {
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start;
}

.abtu .storysec .storyimg {
flex: 0 0 340px;
max-width: 340px;
}

.abtu .storysec .storyimgwrap {
position: relative;
overflow: hidden;
border-radius: 5px;
box-shadow: 1px 8px 48px 0 rgba(141, 36, 180, 0.11);
}

.abtu .storysec .storyimgwrap img {
width: 100%;
height: 420px;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.abtu .storysec .storyimgwrap:hover img {
transform: scale(1.03);
}

.abtu .storysec .storytext {
flex: 1 1 0;
}

.abtu .storysec .storyh2 {
font-size: 34px;
font-weight: 700;
line-height: 1.15;
letter-spacing: -0.02em;
color: #1b0a24;
margin: 0 0 24px;
text-shadow: 1px 2px 4px rgba(141, 36, 180, 0.08);
}

.abtu .storysec .storypara {
font-size: 16px;
line-height: 1.65;
color: #2d1040;
margin: 0 0 16px;
}

.abtu .storysec .steps-list {
margin: 24px 0 0;
padding: 0;
list-style: none;
position: relative;
}

.abtu .storysec .steps-list::before {
content: '';
position: absolute;
left: 19px;
top: 0;
bottom: 0;
width: 2px;
background: linear-gradient(293deg, #8D24B4, rgba(141, 36, 180, 0.12));
}

.abtu .storysec .steps-list li {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
margin-bottom: 24px;
position: relative;
}

.abtu .storysec .steps-list li:last-child {
margin-bottom: 0;
}

.abtu .storysec .stepnum {
flex: 0 0 40px;
width: 40px;
height: 40px;
background: #8D24B4;
border-radius: 38px;
color: #fff;
font-size: 16px;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
position: relative;
z-index: 1;
}

.abtu .storysec .steptxt {
padding-top: 8px;
}

.abtu .storysec .steptxt strong {
display: block;
font-size: 15px;
font-weight: 700;
color: #1b0a24;
margin-bottom: 8px;
}

.abtu .storysec .steptxt span {
font-size: 15px;
line-height: 1.65;
color: #4a2060;
}

.abtu .diag-divider2 {
width: 100%;
height: 52px;
overflow: hidden;
background: #fff;
}

.abtu .diag-divider2 svg {
display: block;
width: 100%;
height: 100%;
}

.abtu .teamsec {
background: #FFF5D2;
padding: 48px 0;
position: relative;
}

.abtu .teamsec .mathsymbol {
position: absolute;
right: 40px;
top: 24px;
font-size: 200px;
line-height: 1;
color: rgba(141, 36, 180, 0.06);
font-weight: 900;
pointer-events: none;
user-select: none;
overflow: hidden;
}

.abtu .teamsec .teaminner {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
position: relative;
}

.abtu .teamsec .teamh2 {
font-size: 34px;
font-weight: 700;
line-height: 1.15;
letter-spacing: -0.02em;
color: #1b0a24;
margin: 0 0 8px;
text-shadow: 1px 2px 4px rgba(141, 36, 180, 0.08);
}

.abtu .teamsec .teamsub {
font-size: 16px;
line-height: 1.65;
color: #2d1040;
margin: 0 0 48px;
max-width: 620px;
}

.abtu .teamsec .teamgrid {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
}

.abtu .teamsec .expertcard {
flex: 0 0 260px;
background: #fff;
border-radius: 22px;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
overflow: hidden;
transition: box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1), transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.abtu .teamsec .expertcard:hover {
box-shadow: 1px 8px 48px 0 rgba(141, 36, 180, 0.11);
transform: translateY(-4px);
}

.abtu .teamsec .expertcard .portraitwrap {
width: 100%;
aspect-ratio: 7/9;
overflow: hidden;
}

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

.abtu .teamsec .expertcard .cardinfo {
padding: 16px;
}

.abtu .teamsec .expertcard .cardname {
font-size: 16px;
font-weight: 700;
color: #1b0a24;
margin: 0 0 8px;
}

.abtu .teamsec .expertcard .cardrole {
font-size: 15px;
color: #8D24B4;
margin: 0 0 8px;
}

.abtu .teamsec .expertcard .carddesc {
font-size: 15px;
line-height: 1.65;
color: #4a2060;
margin: 0;
}

.abtu .teamsec .metablock {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 24px;
}

.abtu .teamsec .metarow {
display: flex;
flex-direction: row;
gap: 24px;
}

.abtu .teamsec .metaitem {
flex: 1 1 0;
background: #fff;
border-radius: 22px;
padding: 24px;
box-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
transition: box-shadow 0.28s ease-in-out;
}

.abtu .teamsec .metaitem:hover {
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
}

.abtu .teamsec .metaitem .metanum {
font-size: 48px;
font-weight: 800;
color: #8D24B4;
line-height: 1.15;
letter-spacing: -0.03em;
display: block;
margin-bottom: 8px;
}

.abtu .teamsec .metaitem .metalabel {
font-size: 15px;
color: #2d1040;
line-height: 1.4;
}

.abtu .teamsec .imgrow {
display: flex;
flex-direction: row;
gap: 16px;
}

.abtu .teamsec .imgrow .smallimg {
flex: 1 1 0;
height: 160px;
object-fit: cover;
object-position: center;
border-radius: 5px;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
display: block;
width: 100%;
transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.abtu .teamsec .imgrow .smallimg:hover {
transform: scale(1.02);
}

@media (max-width: 768px) {
.abtu .titblk .grid-split {
flex-direction: column;
gap: 24px;
}

.abtu .titblk .grid-split .imgside {
flex: 0 0 auto;
max-width: 100%;
width: 100%;
}

.abtu .titblk .tithead {
font-size: 34px;
}

.abtu .titblk .frame-border {
left: 16px;
right: 16px;
}

.abtu .storysec .storycols {
flex-direction: column;
gap: 24px;
}

.abtu .storysec .storyimg {
flex: 0 0 auto;
max-width: 100%;
width: 100%;
}

.abtu .teamsec .teamgrid {
flex-direction: column;
gap: 24px;
}

.abtu .teamsec .expertcard {
flex: 0 0 auto;
width: 100%;
}

.abtu .teamsec .metarow {
flex-direction: column;
gap: 16px;
}

.abtu .teamsec .mathsymbol {
font-size: 100px;
}
}

@media (max-width: 375px) {
.abtu .titblk .tithead {
font-size: 24px;
}

.abtu .titblk .titsub {
font-size: 15px;
}

.abtu .storysec .storyh2 {
font-size: 24px;
}

.abtu .teamsec .teamh2 {
font-size: 24px;
}

.abtu .teamsec .metaitem .metanum {
font-size: 34px;
}

.abtu .teamsec .imgrow {
flex-direction: column;
}
}

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

.ctus .pg-wrap {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
}

.ctus .reach-band {
background: #fff;
padding: 48px 0 24px;
}

.ctus .reach-split {
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start;
}

.ctus .reach-img-zone {
flex: 0 0 40%;
position: relative;
}

.ctus .reach-mosaic {
position: relative;
width: 100%;
}

.ctus .reach-photo {
width: 100%;
height: 420px;
object-fit: cover;
border-radius: 22px;
display: block;
box-shadow: 1px 8px 48px 0 rgba(141, 36, 180, 0.11);
}

.ctus .reach-photo-grad {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 55%;
background: linear-gradient(293deg, #8D24B4 0%, transparent 100%);
border-radius: 0 0 22px 22px;
pointer-events: none;
}

.ctus .reach-geo-a {
position: absolute;
top: -16px;
right: -16px;
width: 64px;
height: 64px;
border-radius: 38px;
background: #FFF5D2;
opacity: 0.55;
pointer-events: none;
overflow: hidden;
}

.ctus .reach-geo-b {
position: absolute;
bottom: 32px;
left: -16px;
width: 40px;
height: 40px;
border-radius: 5px;
background: #D02600;
opacity: 0.18;
pointer-events: none;
overflow: hidden;
}

.ctus .reach-dashed {
position: absolute;
top: 16px;
left: 16px;
right: 16px;
bottom: 16px;
border: 2px dashed rgba(141, 36, 180, 0.22);
border-radius: 22px;
pointer-events: none;
overflow: hidden;
}

.ctus .reach-text-zone {
flex: 0 0 55%;
}

.ctus .reach-label {
font-size: 15px;
line-height: 1.4;
color: #8D24B4;
letter-spacing: 0.08em;
text-transform: uppercase;
margin-bottom: 16px;
display: block;
}

.ctus .reach-h1 {
font-size: 48px;
line-height: 1.15;
letter-spacing: -0.02em;
color: #1b1035;
margin-bottom: 24px;
text-shadow: 1px 2px 4px rgba(141, 36, 180, 0.06);
}

.ctus .reach-h1 span {
font-size: 64px;
display: block;
color: #8D24B4;
line-height: 1.15;
}

.ctus .reach-desc {
font-size: 16px;
line-height: 1.65;
color: #2d2040;
margin-bottom: 24px;
}

.ctus .reach-contacts {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 24px;
}

.ctus .reach-citem {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
border-radius: 5px;
background: #FFF5D2;
box-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
transition: box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1), transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.ctus .reach-citem:hover {
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
transform: translateY(-2px);
}

.ctus .reach-icon {
width: 36px;
height: 36px;
border-radius: 5px;
background: #8D24B4;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
}

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

.ctus .reach-ctext {
display: flex;
flex-direction: column;
gap: 8px;
}

.ctus .reach-clabel {
font-size: 15px;
line-height: 1.4;
color: #8D24B4;
font-weight: 700;
}

.ctus .reach-cval {
font-size: 16px;
line-height: 1.4;
color: #1b1035;
}

.ctus .reach-cval a {
color: #1b1035;
text-decoration: none;
transition: color 0.25s ease-in-out;
}

.ctus .reach-cval a:hover {
color: #D02600;
}

.ctus .divider-band {
padding: 24px 0;
display: flex;
align-items: center;
justify-content: center;
}

.ctus .divider-pill {
width: 120px;
height: 4px;
background: linear-gradient(293deg, #8D24B4 0%, #D02600 100%);
border-radius: 38px;
}

.ctus .form-band {
background: linear-gradient(293deg, rgba(141, 36, 180, 0.06) 0%, transparent 100%);
padding: 48px 0;
}

.ctus .form-split {
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start;
}

.ctus .form-aside {
flex: 0 0 35%;
padding-top: 8px;
}

.ctus .form-aside-h {
font-size: 34px;
line-height: 1.15;
letter-spacing: -0.015em;
color: #1b1035;
margin-bottom: 16px;
text-shadow: 1px 2px 4px rgba(141, 36, 180, 0.06);
}

.ctus .form-aside-p {
font-size: 16px;
line-height: 1.65;
color: #2d2040;
margin-bottom: 24px;
}

.ctus .form-aside-note {
font-size: 15px;
line-height: 1.65;
color: #5a4070;
padding: 16px;
border-radius: 5px;
background: #fff;
box-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
}

.ctus .form-aside-note a {
color: #8D24B4;
text-decoration: underline;
transition: color 0.28s ease-in-out;
}

.ctus .form-aside-note a:hover {
color: #D02600;
}

.ctus .form-main {
flex: 1;
}

.ctus .contact-form {
background: #fff;
border-radius: 22px;
padding: 48px;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
}

.ctus .field-row {
display: flex;
flex-direction: row;
gap: 24px;
margin-bottom: 24px;
}

.ctus .field-group {
flex: 1;
position: relative;
display: flex;
flex-direction: column;
}

.ctus .field-group.full {
flex: 0 0 100%;
width: 100%;
}

.ctus .field-input {
width: 100%;
padding: 24px 16px 8px;
font-size: 16px;
line-height: 1.4;
color: #1b1035;
background: #fff;
border: 1.5px solid #d0bfe8;
border-radius: 5px;
outline: none;
box-shadow: inset 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
transition: border-color 0.28s ease-in-out, box-shadow 0.28s ease-in-out;
box-sizing: border-box;
}

.ctus .field-input:focus {
border-color: #8D24B4;
box-shadow: inset 1px 2px 4px 0 rgba(141, 36, 180, 0.11);
}

.ctus .field-label {
position: absolute;
top: 16px;
left: 16px;
font-size: 16px;
line-height: 1.4;
color: #8a7aa0;
pointer-events: none;
transition: top 0.25s cubic-bezier(0.4, 0, 0.2, 1), font-size 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.ctus .field-input:focus+.field-label,
.ctus .field-input:not(:placeholder-shown)+.field-label {
top: 6px;
font-size: 15px;
color: #8D24B4;
}

.ctus .field-input::placeholder {
color: transparent;
}

.ctus .checks-block {
margin-bottom: 24px;
}

.ctus .checks-label {
font-size: 15px;
line-height: 1.4;
color: #5a4070;
margin-bottom: 16px;
display: block;
font-weight: 700;
}

.ctus .checks-grid {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 16px;
}

.ctus .check-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
cursor: pointer;
}

.ctus .check-item input[type="checkbox"] {
width: 20px;
height: 20px;
border-radius: 5px;
border: 1.5px solid #d0bfe8;
accent-color: #8D24B4;
cursor: pointer;
flex-shrink: 0;
}

.ctus .check-item-label {
font-size: 15px;
line-height: 1.4;
color: #2d2040;
cursor: pointer;
}

.ctus .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
margin-bottom: 24px;
padding: 16px;
border-radius: 5px;
background: #FFF5D2;
}

.ctus .privacy-row input[type="checkbox"] {
width: 20px;
height: 20px;
border-radius: 5px;
border: 1.5px solid #d0bfe8;
accent-color: #8D24B4;
cursor: pointer;
flex-shrink: 0;
margin-top: 2px;
}

.ctus .privacy-text {
font-size: 15px;
line-height: 1.65;
color: #2d2040;
}

.ctus .privacy-text a {
color: #8D24B4;
text-decoration: underline;
transition: color 0.25s ease-in-out;
}

.ctus .privacy-text a:hover {
color: #D02600;
}

.ctus .btn-submit {
display: inline-block;
padding: 16px 48px;
font-size: 16px;
line-height: 1.4;
color: #fff;
background: #8D24B4;
border: 2px solid #8D24B4;
border-radius: 5px;
cursor: pointer;
position: relative;
overflow: hidden;
transition: background 0.35s cubic-bezier(0.4, 0, 0.2, 1), color 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
}

.ctus .btn-submit::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
border: 2px solid #D02600;
border-radius: 5px;
transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none;
box-sizing: border-box;
}

.ctus .btn-submit:hover {
background: #6b1a8a;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
}

.ctus .btn-submit:hover::before {
left: 0;
}

.ctus .btn-submit:focus {
outline: 3px solid #D02600;
outline-offset: 2px;
}

.ctus .btn-submit:active {
box-shadow: inset 1px 2px 4px 0 rgba(141, 36, 180, 0.11);
}

.ctus .extra-band {
background: #fff;
padding: 48px 0;
}

.ctus .extra-inner {
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start;
}

.ctus .extra-col-left {
flex: 0 0 58%;
}

.ctus .extra-col-right {
flex: 1;
padding-top: 8px;
}

.ctus .extra-h2 {
font-size: 34px;
line-height: 1.15;
letter-spacing: -0.015em;
color: #1b1035;
margin-bottom: 16px;
text-shadow: 1px 2px 4px rgba(141, 36, 180, 0.06);
}

.ctus .extra-p {
font-size: 16px;
line-height: 1.65;
color: #2d2040;
margin-bottom: 16px;
}

.ctus .extra-metrics {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 24px;
}

.ctus .metric-card {
flex: 1;
padding: 24px 16px;
border-radius: 22px;
background: linear-gradient(293deg, rgba(141, 36, 180, 0.08) 0%, #FFF5D2 100%);
box-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
text-align: center;
transition: box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.ctus .metric-card:hover {
box-shadow: 1px 8px 48px 0 rgba(141, 36, 180, 0.11);
transform: translateY(-3px);
}

.ctus .metric-num {
font-size: 48px;
line-height: 1.15;
color: #8D24B4;
font-weight: 700;
letter-spacing: -0.02em;
display: block;
}

.ctus .metric-desc {
font-size: 15px;
line-height: 1.4;
color: #2d2040;
margin-top: 8px;
}

.ctus .extra-divider {
width: 2px;
align-self: stretch;
background: linear-gradient(293deg, #8D24B4 0%, #D02600 100%);
border-radius: 38px;
flex-shrink: 0;
margin: 0 8px;
}

.ctus .extra-col-right .extra-h3 {
font-size: 24px;
line-height: 1.15;
color: #1b1035;
margin-bottom: 16px;
letter-spacing: -0.01em;
}

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

.ctus .extra-list li {
font-size: 16px;
line-height: 1.65;
color: #2d2040;
padding-left: 16px;
position: relative;
}

.ctus .extra-list li::before {
content: '';
position: absolute;
left: 0;
top: 11px;
width: 6px;
height: 2px;
background: #D02600;
border-radius: 38px;
}

.ctus .press-link {
display: inline-block;
margin-top: 24px;
font-size: 15px;
line-height: 1.4;
color: #8D24B4;
text-decoration: underline;
transition: color 0.28s ease-in-out;
}

.ctus .press-link:hover {
color: #D02600;
}

@keyframes slideInLeft {
from {
opacity: 0;
transform: translateX(-32px);
}

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

@keyframes slideInRight {
from {
opacity: 0;
transform: translateX(32px);
}

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

.ctus .reach-img-zone {
animation: slideInLeft 0.4s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.ctus .reach-text-zone {
animation: slideInRight 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s both;
}

.ctus .form-aside {
animation: slideInLeft 0.35s cubic-bezier(0.4, 0, 0.2, 1) 0.05s both;
}

.ctus .form-main {
animation: slideInRight 0.35s cubic-bezier(0.4, 0, 0.2, 1) 0.15s both;
}

@media (max-width: 768px) {
.ctus .reach-split {
flex-direction: column;
gap: 24px;
}

.ctus .reach-img-zone {
flex: none;
width: 100%;
}

.ctus .reach-text-zone {
flex: none;
width: 100%;
}

.ctus .reach-h1 {
font-size: 34px;
}

.ctus .reach-h1 span {
font-size: 48px;
}

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

.ctus .form-aside {
flex: none;
width: 100%;
}

.ctus .contact-form {
padding: 24px;
}

.ctus .field-row {
flex-direction: column;
gap: 16px;
}

.ctus .extra-inner {
flex-direction: column;
gap: 24px;
}

.ctus .extra-col-left {
flex: none;
width: 100%;
}

.ctus .extra-divider {
width: 100%;
height: 2px;
align-self: auto;
margin: 0;
}

.ctus .extra-metrics {
flex-direction: column;
gap: 16px;
}

.ctus .checks-grid {
flex-direction: column;
gap: 16px;
}
}

@media (max-width: 375px) {
.ctus .reach-h1 {
font-size: 24px;
}

.ctus .reach-h1 span {
font-size: 34px;
}

.ctus .pg-wrap {
padding: 0 16px;
}

.ctus .contact-form {
padding: 16px;
}

.ctus .extra-metrics {
gap: 16px;
}
}

@media (min-width: 1366px) {
.ctus .reach-split {
align-items: center;
}
}

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

.successPage .successWrap {
max-width: 560px;
width: 100%;
background: #FFF5D2;
border-radius: 22px;
padding: 48px;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
text-align: center;
}

.successPage .iconRing {
width: 72px;
height: 72px;
border-radius: 38px;
background: #fff;
box-shadow: 1px 2px 4px 0 rgba(141, 36, 180, 0.06);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 24px;
}

.successPage .iconRing svg {
display: block;
}

.successPage .successTitle {
font-size: 34px;
line-height: 1.15;
letter-spacing: -0.5px;
color: #8D24B4;
margin: 0 0 16px;
text-shadow: 1px 1px 0 rgba(141, 36, 180, 0.10);
}

.successPage .successMsg {
font-size: 16px;
line-height: 1.65;
color: #2a1a35;
margin: 0 0 8px;
}

.successPage .successSub {
font-size: 15px;
line-height: 1.65;
color: #5a4a6a;
margin: 0 0 48px;
}

.successPage .backBtn {
display: inline-block;
padding: 16px 48px;
background: #8D24B4;
color: #fff;
font-size: 16px;
line-height: 1.4;
border-radius: 5px;
text-decoration: none;
border: 2px solid #8D24B4;
transition: background 0.25s ease-in-out, color 0.25s ease-in-out, border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
}

.successPage .backBtn::before {
content: '';
position: absolute;
inset: 0;
border-radius: 5px;
border: 2px solid #D02600;
opacity: 0;
transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none;
}

.successPage .backBtn:hover {
background: #fff;
color: #8D24B4;
border-color: #8D24B4;
}

.successPage .backBtn:hover::before {
opacity: 1;
}

.successPage .backBtn:focus {
outline: 3px solid #D02600;
outline-offset: 3px;
}

.successPage .backBtn:active {
background: #FFF5D2;
color: #8D24B4;
}

.successPage .divLine {
width: 48px;
height: 3px;
background: linear-gradient(293deg, #8D24B4, transparent);
border-radius: 5px;
margin: 24px auto;
}

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

.successPage .successTitle {
font-size: 24px;
}
}

@media (max-width: 375px) {
.successPage .successWrap {
padding: 24px 16px;
}

.successPage .backBtn {
padding: 16px 24px;
width: 100%;
display: block;
text-align: center;
}
}

.notFound {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 48px 24px;
background: #FFF5D2;
}

.notFound .codeBlock {
position: relative;
text-align: center;
margin-bottom: 48px;
}

.notFound .codeBlock .bigNum {
font-size: 64px;
font-weight: 900;
line-height: 1.15;
letter-spacing: -2px;
color: #8D24B4;
text-shadow: 2px 3px 0 rgba(141, 36, 180, 0.13);
display: block;
}

.notFound .codeBlock .accentLine {
display: block;
width: 64px;
height: 4px;
background: linear-gradient(293deg, #8D24B4, transparent);
border-radius: 5px;
margin: 16px auto 0;
}

.notFound .msgBlock {
max-width: 480px;
text-align: center;
margin-bottom: 48px;
}

.notFound .msgBlock .pageTitle {
font-size: 34px;
line-height: 1.15;
letter-spacing: -0.5px;
color: #1b0a24;
text-shadow: 1px 2px 4px rgba(141, 36, 180, 0.06);
margin: 0 0 16px;
}

.notFound .msgBlock .pageDesc {
font-size: 16px;
line-height: 1.65;
color: #3a2044;
margin: 0 0 8px;
}

.notFound .msgBlock .pageNote {
font-size: 15px;
line-height: 1.4;
color: #6b3a88;
margin: 0;
}

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

.notFound .actionRow .btnPrimary {
display: inline-block;
padding: 16px 48px;
font-size: 16px;
line-height: 1.4;
font-weight: 700;
color: #fff;
background: #8D24B4;
border: 2px solid #8D24B4;
border-radius: 22px;
cursor: pointer;
text-decoration: none;
box-shadow: 1px 6px 25px 0 rgba(141, 36, 180, 0.11);
position: relative;
overflow: hidden;
transition: background 0.35s cubic-bezier(0.4, 0, 0.2, 1), color 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s ease-in-out;
}

.notFound .actionRow .btnPrimary::before {
content: '';
position: absolute;
inset: 0;
border-radius: 22px;
border: 2px solid #fff;
opacity: 0;
transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none;
}

.notFound .actionRow .btnPrimary:hover {
background: #6e1a8e;
box-shadow: 1px 8px 48px 0 rgba(141, 36, 180, 0.11);
}

.notFound .actionRow .btnPrimary:hover::before {
opacity: 1;
}

.notFound .actionRow .btnPrimary:focus-visible {
outline: 3px solid #D02600;
outline-offset: 3px;
}

.notFound .actionRow .btnSecondary {
display: inline-block;
padding: 16px 48px;
font-size: 16px;
line-height: 1.4;
font-weight: 600;
color: #8D24B4;
background: transparent;
border: 2px solid #8D24B4;
border-radius: 22px;
cursor: pointer;
text-decoration: none;
position: relative;
overflow: hidden;
transition: background 0.28s ease-in-out, color 0.28s ease-in-out, border-color 0.28s ease-in-out;
}

.notFound .actionRow .btnSecondary::after {
content: '';
position: absolute;
inset: 0;
border-radius: 20px;
border: 2px solid #D02600;
opacity: 0;
transition: opacity 0.28s ease-in-out;
pointer-events: none;
}

.notFound .actionRow .btnSecondary:hover {
color: #D02600;
border-color: #D02600;
background: rgba(208, 38, 0, 0.04);
}

.notFound .actionRow .btnSecondary:hover::after {
opacity: 1;
}

.notFound .actionRow .btnSecondary:focus-visible {
outline: 3px solid #8D24B4;
outline-offset: 3px;
}

.notFound .decoShape {
position: relative;
width: 120px;
height: 6px;
margin: 48px auto 0;
border-radius: 38px;
background: linear-gradient(293deg, #D02600, transparent);
opacity: 0.35;
pointer-events: none;
}

@media (max-width: 768px) {
.notFound .msgBlock .pageTitle {
font-size: 24px;
}

.notFound .codeBlock .bigNum {
font-size: 48px;
}

.notFound .actionRow {
flex-direction: column;
align-items: center;
}

.notFound .actionRow .btnPrimary,
.notFound .actionRow .btnSecondary {
width: 100%;
text-align: center;
padding: 16px 24px;
}
}

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

.notFound .msgBlock .pageTitle {
font-size: 20px;
}
}