* {
box-sizing: border-box
}

html {
font-family: 'Fira Sans', sans-serif;
font-size: 15px;
line-height: 1.6;
color: #2c2840;
background-color: #fff
}

body {
margin: 0
}

:focus-visible {
outline: 2px solid #5F4AB3;
outline-offset: 3px
}

.site-header {
position: relative;
background: linear-gradient(135deg, #5f4ab3f7 0%, #5f4ab3e0 60%, #bab9d6d1 100%);
backdrop-filter: blur(18px);
-webkit-backdrop-filter: blur(18px);
border-bottom: 1px solid #bab9d661;
box-shadow: 1px 5px 22px 0 #5f4ab317;
z-index: 100
}

.site-header .header-box {
max-width: 1024px;
margin: 0 auto;
padding: 0 32px;
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
gap: 32px;
min-height: 88px
}

.site-header .brand-box {
display: flex;
align-items: center;
gap: 16px;
flex-shrink: 0
}

.site-header .brand-img-box {
display: flex;
align-items: center;
justify-content: center;
padding: 8px;
border-bottom: 2px solid #fbf9fb8c;
background: #fbf9fb1f;
border-radius: 4px;
box-shadow: 1px 2px 2px 0 #5f4ab30f
}

.site-header .brand-img-box img {
display: block;
width: 60px;
height: 60px;
object-fit: contain;
object-position: center
}

.site-header .brand-label {
display: flex;
flex-direction: column;
gap: 4px
}

.site-header .brand-name {
font-family: 'Roboto Mono', monospace;
font-size: 18px;
font-weight: 700;
color: #FBF9FB;
letter-spacing: .06em;
line-height: 1.1
}

.site-header .brand-tagline {
font-size: 15px;
font-weight: 400;
color: #fbf9fbb8;
letter-spacing: .03em;
line-height: 1.4
}

.site-header .primary-nav {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
gap: 8px
}

.site-header .primary-nav a {
display: inline-flex;
align-items: center;
padding: 8px 16px;
font-size: 15px;
font-weight: 500;
color: #fbf9fbe0;
text-decoration: none;
border-radius: 4px;
letter-spacing: .02em;
line-height: 1.4;
border: 1px solid transparent;
transition: color .2s ease-out, border-color .25s ease-out, background-color .2s ease-out;
min-height: 44px
}

.site-header .primary-nav a:hover,
.site-header .primary-nav a:focus-visible {
color: #FBF9FB;
background-color: #fbf9fb1f;
border-color: #fbf9fb47
}

.site-header .contact-strip {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 8px;
flex-shrink: 0
}

.site-header .contact-item {
display: flex;
align-items: center;
gap: 8px;
text-decoration: none;
color: #fbf9fbe0;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
min-height: 44px;
padding: 4px 0;
transition: color .18s ease-out
}

.site-header .contact-item:hover {
color: #FBF9FB
}

.site-header .contact-item .pe-7s-call,
.site-header .contact-item .pe-7s-mail {
font-size: 18px;
color: #BAB9D6;
flex-shrink: 0
}

.site-header .contact-item span.contact-val {
font-family: 'Roboto Mono', monospace;
font-size: 15px;
letter-spacing: .03em
}

@media (max-width: 900px) {
.site-header .header-box {
grid-template-columns: auto 1fr;
grid-template-rows: auto auto;
padding: 16px;
gap: 16px;
min-height: unset
}

.site-header .contact-strip {
grid-column: 2;
grid-row: 1;
align-items: flex-end
}

.site-header .primary-nav {
grid-column: 1 / -1;
grid-row: 2;
justify-content: flex-start;
border-top: 1px solid #bab9d638;
padding-top: 16px
}
}

@media (max-width: 600px) {
.site-header .header-box {
grid-template-columns: 1fr;
gap: 16px
}

.site-header .brand-box {
justify-content: flex-start
}

.site-header .contact-strip {
grid-column: 1;
grid-row: 2;
align-items: flex-start;
flex-direction: row;
flex-wrap: wrap;
gap: 8px
}

.site-header .primary-nav {
grid-column: 1;
grid-row: 3
}
}

.site-footer {
background: linear-gradient(160deg, #2c2840 0%, #1e1a30 100%);
border-top: 2px solid #5f4ab359;
box-shadow: 1px 10px 44px 0 #5f4ab31a
}

.site-footer .footer-box {
max-width: 1024px;
margin: 0 auto;
padding: 32px 32px 0
}

.site-footer .footer-grid {
display: grid;
grid-template-columns: auto 1fr 1fr 1fr;
gap: 32px;
align-items: start;
padding-bottom: 32px;
border-bottom: 1px solid #bab9d626
}

.site-footer .footer-brand-box {
display: flex;
flex-direction: column;
gap: 16px
}

.site-footer .footer-img-box {
display: flex;
align-items: center;
justify-content: flex-start;
padding: 8px;
background: #fbf9fb12;
border-radius: 4px;
border-bottom: 2px solid #5f4ab380;
box-shadow: 1px 2px 2px 0 #5f4ab30f;
width: fit-content
}

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

.site-footer .footer-brand-name {
font-family: 'Roboto Mono', monospace;
font-size: 18px;
font-weight: 700;
color: #FBF9FB;
letter-spacing: .06em;
line-height: 1.1
}

.site-footer .footer-brand-desc {
font-size: 15px;
color: #bab9d6bf;
line-height: 1.6;
max-width: 180px
}

.site-footer .footer-col-label {
font-size: 15px;
font-weight: 600;
color: #BAB9D6;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 16px;
line-height: 1.1
}

.site-footer .footer-col-links {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px
}

.site-footer .footer-col-links li a {
font-size: 15px;
color: #fbf9fbb3;
text-decoration: none;
line-height: 1.6;
transition: color .2s ease-out;
display: inline-block;
min-height: 44px;
display: flex;
align-items: center
}

.site-footer .footer-col-links li a:hover {
color: #FBF9FB
}

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

.site-footer .footer-contact-list li {
display: flex;
align-items: flex-start;
gap: 8px
}

.site-footer .footer-contact-list li a,
.site-footer .footer-contact-list li span {
font-size: 15px;
color: #fbf9fbb3;
text-decoration: none;
line-height: 1.6;
transition: color .2s ease-out;
word-break: break-word
}

.site-footer .footer-contact-list li a:hover {
color: #FBF9FB
}

.site-footer .footer-contact-list .pe-7s-call,
.site-footer .footer-contact-list .pe-7s-mail,
.site-footer .footer-contact-list .pe-7s-map-marker {
color: #5F4AB3;
font-size: 18px;
flex-shrink: 0;
margin-top: 2px
}

.site-footer .footer-bottom {
padding: 16px 0;
display: flex;
align-items: center;
justify-content: center
}

.site-footer .copy-text {
font-size: 15px;
color: #bab9d680;
line-height: 1.4;
text-align: center;
font-family: 'Roboto Mono', monospace;
letter-spacing: .02em
}

@media (max-width: 900px) {
.site-footer .footer-grid {
grid-template-columns: 1fr 1fr;
gap: 32px 16px
}

.site-footer .footer-brand-box {
grid-column: 1 / -1
}
}

@media (max-width: 600px) {
.site-footer .footer-grid {
grid-template-columns: 1fr
}

.site-footer .footer-box {
padding: 32px 16px 0
}
}

.consent-card {
position: fixed;
top: 16px;
right: 16px;
width: 320px;
background: #fff;
border-radius: 6px;
box-shadow: 1px 10px 44px 0 #5f4ab31a 1px 5px 22px 0 #5f4ab317;
border: 1px solid #bab9d666;
padding: 16px;
z-index: 1200;
display: flex;
flex-direction: column;
gap: 16px;
transform: translateX(calc(-100% - 32px));
transition: transform .42s ease-out
}

.consent-card.visible {
transform: translateX(0)
}

.consent-card .consent-icon-row {
display: flex;
align-items: center;
gap: 8px
}

.consent-card .consent-icon-row .pe-7s-shield {
font-size: 31px;
color: #5F4AB3
}

.consent-card .consent-body {
font-size: 15px;
color: #2c2840;
line-height: 1.6
}

.consent-card .consent-actions {
display: flex;
align-items: center;
gap: 16px
}

.consent-card .accept-btn {
flex: 1;
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 44px;
padding: 8px 16px;
font-family: 'Fira Sans', sans-serif;
font-size: 15px;
font-weight: 600;
color: #5F4AB3;
background: transparent;
border: 2px solid #5F4AB3;
border-radius: 4px;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .22s ease-out
}

.consent-card .accept-btn::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #5F4AB3;
transition: height .28s ease-out;
z-index: 0
}

.consent-card .accept-btn:hover::after {
height: 100%
}

.consent-card .accept-btn:hover {
color: #FBF9FB
}

.consent-card .accept-btn span {
position: relative;
z-index: 1
}

.consent-card .accept-btn:active {
box-shadow: inset 1px 2px 2px 0 #5f4ab30f
}

.consent-card .decline-link {
font-size: 15px;
color: #5f4ab3a6;
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
font-family: 'Fira Sans', sans-serif;
padding: 8px 4px;
min-height: 44px;
display: inline-flex;
align-items: center;
transition: color .18s ease-out
}

.consent-card .decline-link:hover {
color: #5F4AB3
}

@media (max-width: 600px) {
.consent-card {
width: calc(100vw - 32px);
right: 16px;
top: 16px
}
}

.policy-data {
max-width: 1024px;
margin: 0 auto;
padding: 32px;
color: #2d2b3d;
line-height: 1.6;
font-size: 18px
}

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

.policy-data ul ul,
.policy-data ol ol,
.policy-data ul ol,
.policy-data ol ul {
margin: 8px 0
}

.policy-data ul {
list-style: none;
padding-left: 16px
}

.policy-data ul li {
padding-left: 16px;
position: relative
}

.policy-data ul li::before {
content: "";
position: absolute;
left: 0;
top: 11px;
width: 6px;
height: 6px;
border-radius: 50%;
background-color: #5F4AB3;
opacity: .7
}

.policy-data ol {
list-style: decimal
}

.policy-data ol li {
padding-left: 8px
}

.policy-data li {
margin: 8px 0;
font-size: 18px;
line-height: 1.6;
color: #2d2b3d
}

.policy-data strong,
.policy-data b {
font-weight: 700;
color: #3b3060
}

.policy-data a {
color: #5F4AB3;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .2s ease-out, text-decoration-color .25s ease-out
}

.policy-data a:hover {
color: #3b3060;
text-decoration-color: #BAB9D6
}

.policy-data a:active {
color: #2d2060
}

.policy-data table {
width: 100%;
border-collapse: collapse;
margin: 32px 0;
font-size: 15px;
line-height: 1.4;
border-radius: 4px;
overflow: hidden;
box-shadow: 1px 5px 22px 0 #5f4ab317
}

.policy-data thead {
background-color: #5F4AB3
}

.policy-data thead th {
color: #fff;
font-size: 15px;
font-weight: 700;
letter-spacing: .04em;
padding: 16px;
text-align: left;
border: none
}

.policy-data tbody tr {
border-bottom: 1px solid #BAB9D6;
transition: background-color .2s ease-out
}

.policy-data tbody tr:last-child {
border-bottom: none
}

.policy-data tbody tr:nth-child(even) {
background-color: #FBF9FB
}

.policy-data tbody tr:hover {
background-color: #bab9d62e
}

.policy-data td {
padding: 16px;
font-size: 15px;
line-height: 1.6;
color: #2d2b3d;
vertical-align: top;
border: none
}

.policy-data th {
padding: 16px;
vertical-align: middle
}

.policy-data hr {
border: none;
border-top: 1px solid #BAB9D6;
margin: 32px 0;
opacity: .6
}

@media (max-width: 900px) {
.policy-data {
padding: 32px 16px;
font-size: 18px
}

.policy-data table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}
}

@media (max-width: 600px) {
.policy-data {
padding: 16px;
font-size: 15px
}

.policy-data li {
font-size: 15px
}

.policy-data thead th,
.policy-data td {
padding: 8px;
font-size: 15px
}

.policy-data ul,
.policy-data ol {
padding-left: 16px
}
}

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

.prd .pr-wrap {
max-width: 1024px;
margin: 0 auto;
padding: 0 16px
}

.prd .pr-hero {
background: linear-gradient(160deg, #f0edf9 0%, #e8e4f4 40%, #d6d0ee 100%);
padding: 80px 16px 48px;
position: relative;
overflow: hidden
}

.prd .pr-hero::before {
content: "";
position: absolute;
top: -40px;
right: -60px;
width: 320px;
height: 320px;
border: 1px dashed #5f4ab32e;
border-radius: 4px;
transform: rotate(18deg);
pointer-events: none
}

.prd .pr-hero::after {
content: "";
position: absolute;
bottom: -30px;
left: -50px;
width: 200px;
height: 200px;
border: 1px dashed #5f4ab31f;
border-radius: 4px;
transform: rotate(-12deg);
pointer-events: none
}

.prd .hero-inner {
max-width: 1024px;
margin: 0 auto;
position: relative;
z-index: 1
}

.prd .hero-overline {
display: inline-block;
font-size: 15px;
letter-spacing: .12em;
color: #5F4AB3;
font-weight: 600;
margin-bottom: 16px;
text-transform: uppercase
}

.prd .hero-overline::before {
content: "";
display: inline-block;
width: 18px;
height: 2px;
background: #5F4AB3;
vertical-align: middle;
margin-right: 8px
}

.prd .hero-h1 {
font-size: clamp(31px, 5vw, 60px);
line-height: 1.1;
color: #5F4AB3;
margin: 0 0 16px;
max-width: 820px
}

.prd .hero-desc {
font-size: 18px;
line-height: 1.6;
color: #2a2340;
max-width: 620px;
margin: 0 0 32px
}

.prd .hero-meta {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
flex-wrap: wrap
}

.prd .meta-badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: #5f4ab317;
border: 1px solid #5f4ab32e;
border-radius: 4px;
padding: 4px 16px;
font-size: 15px;
color: #3d2e8a
}

.prd .meta-badge .pe-7s-like {
font-size: 16px;
color: #5F4AB3
}

.prd .pr-divider-a {
height: 3px;
background: linear-gradient(90deg, #5F4AB3 0%, #BAB9D6 55%, transparent 100%);
transform: skewX(-8deg);
margin: 0
}

.prd .pr-body {
background: #fff;
padding: 48px 16px
}

.prd .body-grid {
max-width: 1024px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 340px;
gap: 32px;
align-items: start
}

.prd .body-article {
min-width: 0
}

.prd .art-img-wrap {
width: 100%;
height: 380px;
overflow: hidden;
border-radius: 6px;
margin-bottom: 32px;
box-shadow: 1px 10px 44px 0 #5f4ab31a;
position: relative
}

.prd .art-img-wrap::after {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 50% 40%, transparent 40%, #5f4ab321 100%);
pointer-events: none
}

.prd .art-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.prd .art-text {
font-size: 18px;
line-height: 1.6;
color: #1e1830
}

.prd .art-text p {
margin: 0 0 16px
}

.prd .art-text h2 {
font-size: clamp(31px, 3.5vw, 43px);
line-height: 1.1;
color: #5F4AB3;
margin: 32px 0 16px
}

.prd .art-text h3 {
font-size: 31px;
line-height: 1.4;
color: #3d2e8a;
margin: 32px 0 8px
}

.prd .art-text ins {
text-decoration: underline;
text-decoration-color: #BAB9D6;
color: #5F4AB3
}

.prd .art-text blockquote {
border-radius: 4px;
background: #FBF9FB;
padding: 16px 32px;
margin: 32px 0;
font-size: 18px;
line-height: 1.6;
color: #3d2e8a;
box-shadow: 1px 2px 2px 0 #5f4ab30f
}

.prd .art-text blockquote cite {
display: block;
font-size: 15px;
color: #5F4AB3;
margin-top: 8px;
font-style: normal;
letter-spacing: .06em
}

.prd .art-text table {
width: 100%;
border-collapse: collapse;
margin: 32px 0;
font-size: 15px;
line-height: 1.4
}

.prd .art-text th {
background: #5F4AB3;
color: #fff;
padding: 8px 16px;
text-align: left;
font-weight: 600
}

.prd .art-text td {
padding: 8px 16px;
border-bottom: 1px solid #e4e0f4;
color: #1e1830
}

.prd .art-text tr:nth-child(even) td {
background: #FBF9FB
}

.prd .art-text tfoot td {
background: #ede9f8;
font-weight: 600;
color: #3d2e8a
}

.prd .art-text caption {
font-size: 15px;
color: #5F4AB3;
text-align: left;
margin-bottom: 8px;
letter-spacing: .06em
}

.prd .body-aside {
display: flex;
flex-direction: column;
gap: 32px
}

.prd .aside-likes {
background: linear-gradient(160deg, #FBF9FB 0%, #ede9f8 100%);
border-radius: 6px;
padding: 32px 16px;
text-align: center;
box-shadow: 1px 5px 22px 0 #5f4ab317
}

.prd .likes-num {
font-size: 60px;
line-height: 1.1;
color: #5F4AB3;
font-weight: 700;
display: block
}

.prd .likes-label {
font-size: 15px;
color: #3d2e8a;
letter-spacing: .1em;
text-transform: uppercase;
margin-top: 4px;
display: block
}

.prd .likes-icon {
font-size: 32px;
color: #BAB9D6;
margin-bottom: 8px;
display: block
}

.prd .pr-divider-b {
height: 2px;
background: linear-gradient(90deg, transparent 0%, #BAB9D6 50%, transparent 100%);
margin: 0
}

.prd .pr-poll {
background: #FBF9FB;
padding: 48px 16px;
position: relative;
overflow: hidden
}

.prd .poll-bg-accent {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 50% 50%, #bab9d62e 0%, #5f4ab312 100%);
pointer-events: none
}

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

.prd .poll-sq {
position: absolute;
border: 1px solid #5f4ab317;
border-radius: 2px
}

.prd .poll-sq:nth-child(1) {
width: 80px;
height: 80px;
top: 10%;
left: 5%;
transform: rotate(12deg)
}

.prd .poll-sq:nth-child(2) {
width: 120px;
height: 120px;
top: 30%;
right: 3%;
transform: rotate(-8deg);
opacity: .6
}

.prd .poll-sq:nth-child(3) {
width: 50px;
height: 50px;
bottom: 15%;
left: 12%;
transform: rotate(25deg);
opacity: .5
}

.prd .poll-inner {
max-width: 640px;
margin: 0 auto;
position: relative;
z-index: 1;
text-align: center
}

.prd .poll-overline {
display: inline-block;
font-size: 15px;
letter-spacing: .12em;
color: #5F4AB3;
font-weight: 600;
text-transform: uppercase;
margin-bottom: 8px
}

.prd .poll-h {
font-size: clamp(18px, 3vw, 31px);
line-height: 1.4;
color: #2a2340;
margin: 0 0 32px
}

.prd .poll-form {
display: flex;
flex-direction: column;
gap: 16px;
text-align: left
}

.prd .poll-opt {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px
}

.prd .poll-opt input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0
}

.prd .poll-opt label {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
width: 100%;
cursor: pointer;
padding: 16px;
border-radius: 6px;
border: 2px solid #BAB9D6;
background: #fff;
font-size: 18px;
color: #1e1830;
transition: border-color .22s ease-out, background .18s ease-out
}

.prd .poll-opt label:hover {
border-color: #5F4AB3;
background: #f5f2fc
}

.prd .poll-dot {
width: 20px;
height: 20px;
min-width: 20px;
border-radius: 50%;
border: 2px solid #BAB9D6;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
transition: border-color .22s ease-out, background .28s ease-out;
position: relative
}

.prd .poll-dot::after {
content: "";
width: 8px;
height: 8px;
border-radius: 50%;
background: #5F4AB3;
opacity: 0;
transition: opacity .18s ease-out
}

.prd .poll-opt input[type="radio"]:checked+label {
border-color: #5F4AB3;
background: #edeaf8;
box-shadow: inset 1px 2px 2px 0 #5f4ab314
}

.prd .poll-opt input[type="radio"]:checked+label .poll-dot {
border-color: #5F4AB3;
background: #5F4AB3
}

.prd .poll-opt input[type="radio"]:checked+label .poll-dot::after {
opacity: 1;
background: #fff
}

.prd .poll-opt input[type="radio"]:focus-visible+label {
outline: 2px solid #5F4AB3;
outline-offset: 2px
}

.prd .poll-submit {
margin-top: 16px;
display: flex;
justify-content: center
}

.prd .btn-poll {
font-size: 18px;
padding: 16px 32px;
border-radius: 4px;
border: 2px solid #5F4AB3;
background: transparent;
color: #5F4AB3;
cursor: pointer;
font-weight: 600;
position: relative;
overflow: hidden;
transition: color .25s ease-out
}

.prd .btn-poll::before {
content: "";
position: absolute;
left: 0;
bottom: -100%;
width: 100%;
height: 100%;
background: #5F4AB3;
transition: bottom .28s ease-out;
z-index: 0
}

.prd .btn-poll:hover::before {
bottom: 0
}

.prd .btn-poll:hover {
color: #fff
}

.prd .btn-poll:active {
box-shadow: inset 1px 2px 2px 0 #5f4ab32e
}

.prd .btn-poll span {
position: relative;
z-index: 1
}

.prd .pr-cta {
padding: 48px 16px;
background: #fff
}

.prd .cta-inner {
max-width: 1024px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0;
border-radius: 6px;
overflow: hidden;
box-shadow: 1px 10px 44px 0 #5f4ab31a
}

.prd .cta-left {
background: #5F4AB3;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center
}

.prd .cta-right {
background: #FBF9FB;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
position: relative
}

.prd .cta-right::before {
content: "";
position: absolute;
top: 16px;
right: 16px;
bottom: 16px;
left: 16px;
border: 1px dashed #5f4ab338;
border-radius: 4px;
pointer-events: none
}

.prd .cta-overline {
font-size: 15px;
letter-spacing: .12em;
color: #BAB9D6;
text-transform: uppercase;
font-weight: 600
}

.prd .cta-h {
font-size: clamp(31px, 3vw, 43px);
line-height: 1.1;
color: #fff;
margin: 0
}

.prd .cta-p {
font-size: 18px;
line-height: 1.6;
color: #ffffffd1;
margin: 0
}

.prd .cta-right-overline {
font-size: 15px;
letter-spacing: .12em;
color: #5F4AB3;
text-transform: uppercase;
font-weight: 600
}

.prd .cta-right-h {
font-size: 31px;
line-height: 1.4;
color: #2a2340;
margin: 0
}

.prd .cta-right-p {
font-size: 18px;
line-height: 1.6;
color: #3d2e8a;
margin: 0
}

.prd .btn-cta {
display: inline-block;
font-size: 18px;
padding: 16px 32px;
border-radius: 4px;
border: 2px solid #fff;
background: transparent;
color: #fff;
cursor: pointer;
font-weight: 600;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .25s ease-out;
align-self: flex-start
}

.prd .btn-cta::before {
content: "";
position: absolute;
left: 0;
bottom: -100%;
width: 100%;
height: 100%;
background: #fff;
transition: bottom .28s ease-out;
z-index: 0
}

.prd .btn-cta:hover::before {
bottom: 0
}

.prd .btn-cta:hover {
color: #5F4AB3
}

.prd .btn-cta:active {
box-shadow: inset 1px 2px 2px 0 #5f4ab32e
}

.prd .btn-cta span {
position: relative;
z-index: 1
}

.prd .btn-about {
display: inline-block;
font-size: 18px;
padding: 16px 32px;
border-radius: 4px;
border: 2px solid #5F4AB3;
background: transparent;
color: #5F4AB3;
cursor: pointer;
font-weight: 600;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .25s ease-out;
align-self: flex-start
}

.prd .btn-about::before {
content: "";
position: absolute;
left: 0;
bottom: -100%;
width: 100%;
height: 100%;
background: #5F4AB3;
transition: bottom .28s ease-out;
z-index: 0
}

.prd .btn-about:hover::before {
bottom: 0
}

.prd .btn-about:hover {
color: #fff
}

.prd .btn-about:active {
box-shadow: inset 1px 2px 2px 0 #5f4ab32e
}

.prd .btn-about span {
position: relative;
z-index: 1
}

@keyframes aurora-blend {
0% {
opacity: .55;
transform: translateX(-8px) translateY(0)
}

50% {
opacity: .85;
transform: translateX(8px) translateY(-6px)
}

100% {
opacity: .55;
transform: translateX(-8px) translateY(0)
}
}

.prd .aurora-a {
position: absolute;
width: 420px;
height: 220px;
border-radius: 50%;
background: #5f4ab317;
filter: blur(48px);
top: -40px;
left: 10%;
animation: aurora-blend 7s ease-out infinite;
pointer-events: none
}

.prd .aurora-b {
position: absolute;
width: 280px;
height: 160px;
border-radius: 50%;
background: #bab9d621;
filter: blur(36px);
bottom: -20px;
right: 8%;
animation: aurora-blend 9s ease-out infinite reverse;
pointer-events: none
}

@media (max-width: 900px) {
.prd .body-grid {
grid-template-columns: 1fr
}

.prd .body-aside {
flex-direction: row;
flex-wrap: wrap
}

.prd .aside-likes {
flex: 1 1 200px
}

.prd .cta-inner {
grid-template-columns: 1fr
}

.prd .cta-right::before {
display: none
}
}

@media (max-width: 600px) {
.prd .pr-hero {
padding: 48px 16px 32px
}

.prd .hero-h1 {
font-size: 31px
}

.prd .art-img-wrap {
height: 220px
}

.prd .body-aside {
flex-direction: column
}

.prd .cta-left,
.prd .cta-right {
padding: 32px 16px
}

.prd .likes-num {
font-size: 43px
}
}

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

.int-std .pg-bound {
max-width: 1024px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px
}

.int-std .overline-label {
display: inline-block;
font-size: 15px;
font-weight: 600;
letter-spacing: .12em;
text-transform: uppercase;
color: #5F4AB3;
margin-bottom: 16px
}

.int-std .fill-anim {
position: relative;
display: inline-block;
color: #5F4AB3
}

.int-std .fill-anim::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 0;
height: 100%;
background: linear-gradient(135deg, #5f4ab314 0%, #bab9d626 100%);
transition: width .42s ease-out;
z-index: 0;
pointer-events: none
}

.int-std .fill-anim:hover::after {
width: 100%
}

.int-std .fill-anim span {
position: relative;
z-index: 1
}

.int-std .arrow-dec {
display: inline-block;
width: 24px;
height: 24px;
opacity: .28;
pointer-events: none
}

.int-std .arrow-dec svg {
width: 100%;
height: 100%
}

.int-std .title-blk {
padding-top: 64px;
padding-bottom: 0;
text-align: center;
background: #FBF9FB
}

.int-std .title-blk .txt-zone {
padding-bottom: 32px
}

.int-std .title-blk h1 {
font-size: clamp(43px, 6vw, 72px);
line-height: 1.1;
color: #5F4AB3;
margin-bottom: 16px;
font-weight: 800
}

.int-std .title-blk .tagline {
font-size: clamp(15px, 2vw, 18px);
line-height: 1.6;
color: #2a2540;
max-width: 580px;
margin-left: auto;
margin-right: auto;
margin-bottom: 32px
}

.int-std .title-blk .action-links {
display: flex;
flex-direction: row;
gap: 16px;
justify-content: center;
flex-wrap: wrap
}

.int-std .btn-primary {
display: inline-block;
padding: 16px 32px;
font-size: 15px;
font-weight: 700;
letter-spacing: .06em;
color: #5F4AB3;
border: 2px solid #5F4AB3;
border-radius: 4px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .22s ease-out;
background: transparent;
cursor: pointer
}

.int-std .btn-primary::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #5F4AB3;
transition: height .28s ease-out;
z-index: 0
}

.int-std .btn-primary:hover::before {
height: 100%
}

.int-std .btn-primary:hover {
color: #fff
}

.int-std .btn-primary:active {
box-shadow: inset 1px 2px 4px #5f4ab340
}

.int-std .btn-primary span {
position: relative;
z-index: 1
}

.int-std .btn-sec {
display: inline-block;
padding: 16px 32px;
font-size: 15px;
font-weight: 600;
color: #2a2540;
border: 2px solid #BAB9D6;
border-radius: 4px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .22s ease-out, border-color .22s ease-out;
background: transparent;
cursor: pointer
}

.int-std .btn-sec::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #BAB9D6;
transition: height .25s ease-out;
z-index: 0
}

.int-std .btn-sec:hover::before {
height: 100%
}

.int-std .btn-sec:hover {
color: #2a2540
}

.int-std .btn-sec span {
position: relative;
z-index: 1
}

.int-std .img-zone {
position: relative;
width: 100%;
height: 420px;
overflow: hidden;
border-radius: 6px 6px 0 0
}

.int-std .img-zone img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.int-std .img-zone .img-grad {
position: absolute;
inset: 0;
background: linear-gradient(90deg, #5f4ab38c 0%, #5f4ab32e 45%, #fbf9fb0a 100%);
pointer-events: none
}

.int-std .img-zone .dec-shape {
position: absolute;
bottom: 32px;
right: 32px;
width: 64px;
height: 64px;
border: 2px solid #fbf9fb59;
border-radius: 2px;
pointer-events: none
}

.int-std .split-bg {
display: flex;
flex-direction: row;
min-height: 480px
}

.int-std .split-bg .left-panel {
flex: 1 1 50%;
background: #5F4AB3;
padding: 64px 32px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start
}

.int-std .split-bg .right-panel {
flex: 1 1 50%;
background: #FBF9FB;
padding: 64px 32px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start
}

.int-std .split-bg .left-panel .overline-label {
color: #BAB9D6
}

.int-std .split-bg .left-panel h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #fff;
margin-bottom: 16px;
font-weight: 700
}

.int-std .split-bg .left-panel .lead-p {
font-size: 18px;
line-height: 1.6;
color: #fbf9fbe0;
margin-bottom: 0
}

.int-std .split-bg .right-panel h3 {
font-size: clamp(18px, 2.5vw, 31px);
line-height: 1.4;
color: #5F4AB3;
margin-bottom: 16px;
font-weight: 700
}

.int-std .split-bg .right-panel .body-p {
font-size: 15px;
line-height: 1.6;
color: #2a2540;
margin-bottom: 16px
}

.int-std .split-bg .right-panel .body-p:last-child {
margin-bottom: 0
}

.int-std .metric-row {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 32px;
flex-wrap: wrap
}

.int-std .metric-item {
background: #ffffff1a;
border: 1px solid #ffffff2e;
border-radius: 4px;
padding: 16px;
flex: 1 1 120px
}

.int-std .metric-item .m-val {
font-size: 31px;
font-weight: 800;
color: #fff;
line-height: 1.1;
display: block
}

.int-std .metric-item .m-lbl {
font-size: 15px;
color: #BAB9D6;
line-height: 1.4;
display: block;
margin-top: 4px
}

.int-std .timeline-blk {
background: linear-gradient(180deg, #FBF9FB 0%, #bab9d62e 100%);
padding-top: 80px;
padding-bottom: 80px
}

.int-std .timeline-blk .sec-head {
text-align: center;
margin-bottom: 64px
}

.int-std .timeline-blk h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #2a2540;
font-weight: 700;
margin-bottom: 8px
}

.int-std .timeline-blk .sub-p {
font-size: 15px;
line-height: 1.6;
color: #2a2540;
max-width: 520px;
margin-left: auto;
margin-right: auto
}

.int-std .tl-grid {
display: grid;
grid-template-columns: 1fr 4px 1fr;
gap: 0 0;
position: relative
}

.int-std .tl-spine {
background: linear-gradient(180deg, #5F4AB3 0%, #BAB9D6 100%);
border-radius: 2px;
width: 4px;
justify-self: center
}

.int-std .tl-period {
display: contents
}

.int-std .tl-left {
padding: 0 32px 32px 0;
text-align: right
}

.int-std .tl-right {
padding: 0 0 32px 32px;
text-align: left
}

.int-std .tl-spacer {
padding-bottom: 32px
}

.int-std .tl-card {
background: #fff;
border-radius: 6px;
padding: 16px;
box-shadow: 1px 5px 22px 0 #5f4ab317;
position: relative;
transition: box-shadow .35s ease-out
}

.int-std .tl-card:hover {
box-shadow: 1px 10px 44px 0 #5f4ab31a
}

.int-std .tl-card .period-tag {
display: inline-block;
font-size: 15px;
font-weight: 700;
letter-spacing: .08em;
color: #5F4AB3;
background: #5f4ab314;
border-radius: 2px;
padding: 4px 8px;
margin-bottom: 8px
}

.int-std .tl-card h4 {
font-size: 18px;
line-height: 1.4;
color: #2a2540;
font-weight: 700;
margin-bottom: 8px
}

.int-std .tl-card p {
font-size: 15px;
line-height: 1.6;
color: #3d3660;
margin: 0
}

.int-std .tl-dot {
width: 14px;
height: 14px;
background: #5F4AB3;
border-radius: 50%;
border: 3px solid #FBF9FB;
box-shadow: 1px 2px 2px 0 #5f4ab30f;
justify-self: center;
align-self: flex-start;
margin-top: 20px;
flex-shrink: 0
}

.int-std .tl-dot-wrap {
display: flex;
flex-direction: column;
align-items: center
}

.int-std .asset-blk {
padding-top: 80px;
padding-bottom: 80px;
background: #fff
}

.int-std .asset-blk .inner-grid {
display: grid;
grid-template-columns: 5fr 7fr;
gap: 32px;
align-items: start
}

.int-std .asset-blk .img-col {
position: relative
}

.int-std .asset-blk .img-frame {
width: 100%;
height: 480px;
overflow: hidden;
border-radius: 6px;
box-shadow: 1px 10px 44px 0 #5f4ab31a
}

.int-std .asset-blk .img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.int-std .asset-blk .corner-tag {
position: absolute;
top: -8px;
right: -8px;
background: #5F4AB3;
color: #fff;
font-size: 15px;
font-weight: 700;
letter-spacing: .06em;
padding: 8px 16px;
border-radius: 4px;
box-shadow: 1px 5px 22px 0 #5f4ab317;
z-index: 2
}

.int-std .asset-blk .txt-col {
padding-top: 8px
}

.int-std .asset-blk h2 {
font-size: clamp(31px, 3.5vw, 43px);
line-height: 1.1;
color: #2a2540;
font-weight: 700;
margin-bottom: 16px
}

.int-std .asset-blk .body-p {
font-size: 15px;
line-height: 1.6;
color: #2a2540;
margin-bottom: 16px
}

.int-std .asset-blk .body-p:last-of-type {
margin-bottom: 32px
}

.int-std .pill-list {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 32px
}

.int-std .pill-list .pill {
display: inline-flex;
align-items: center;
gap: 8px;
background: #5f4ab312;
border: 1px solid #5f4ab32e;
border-radius: 4px;
padding: 8px 16px;
font-size: 15px;
color: #5F4AB3;
font-weight: 600;
transition: background .2s ease-out, border-color .2s ease-out
}

.int-std .pill-list .pill:hover {
background: #5f4ab324;
border-color: #5f4ab352
}

.int-std .pill-list .pill i {
font-size: 15px;
color: #5F4AB3
}

.int-std .asset-blk .read-link {
font-size: 15px;
font-weight: 700;
color: #5F4AB3;
text-decoration: none;
border-bottom: 2px solid transparent;
transition: border-color .18s ease-out;
letter-spacing: .04em
}

.int-std .asset-blk .read-link:hover {
border-color: #5F4AB3
}

@media (max-width: 900px) {
.int-std .split-bg {
flex-direction: column
}

.int-std .split-bg .left-panel,
.int-std .split-bg .right-panel {
flex: none;
width: 100%;
padding: 48px 32px
}

.int-std .asset-blk .inner-grid {
grid-template-columns: 1fr
}

.int-std .asset-blk .img-frame {
height: 320px
}

.int-std .tl-grid {
grid-template-columns: 1fr
}

.int-std .tl-spine {
display: none
}

.int-std .tl-left,
.int-std .tl-right {
text-align: left;
padding: 0 0 16px;
grid-column: 1
}

.int-std .tl-dot-wrap {
display: none
}
}

@media (max-width: 600px) {
.int-std .pg-bound {
padding-left: 16px;
padding-right: 16px
}

.int-std .title-blk h1 {
font-size: 43px
}

.int-std .img-zone {
height: 260px
}

.int-std .metric-row {
flex-direction: column
}

.int-std .action-links {
flex-direction: column;
align-items: center
}

.int-std .split-bg .left-panel,
.int-std .split-bg .right-panel {
padding: 32px 16px
}

.int-std .timeline-blk {
padding-top: 48px;
padding-bottom: 48px
}

.int-std .asset-blk {
padding-top: 48px;
padding-bottom: 48px
}
}

.spk-pg {
position: relative;
overflow: hidden
}

.spk-pg .geo-bg {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 0
}

.spk-pg .geo-bg::before {
content: '';
position: absolute;
top: 10%;
left: -8%;
width: 420px;
height: 420px;
border-radius: 50%;
border: 1px solid #5f4ab312
}

.spk-pg .geo-bg::after {
content: '';
position: absolute;
bottom: 15%;
right: -6%;
width: 300px;
height: 300px;
border-radius: 50%;
border: 1px solid #bab9d617
}

.spk-pg .geo-circ {
position: absolute;
border-radius: 50%;
pointer-events: none
}

.spk-pg .geo-circ.mid {
top: 45%;
left: 60%;
width: 180px;
height: 180px;
border: 1px solid #5f4ab30d
}

@keyframes flicker-accent {

0%,
100% {
opacity: 0
}

20% {
opacity: .06
}

40% {
opacity: .02
}

60% {
opacity: .08
}

80% {
opacity: .03
}
}

.spk-pg .flk-layer {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 0;
background: linear-gradient(160deg, #5f4ab31f 0%, transparent 55%, #bab9d614 100%);
animation: flicker-accent 8s ease-out infinite
}

.spk-pg .pg-rel {
position: relative;
z-index: 1
}

.spk-pg ::selection {
background: #5f4ab326;
color: #2a2040
}

.spk-pg .overline-lbl {
display: inline-block;
font-size: 15px;
letter-spacing: .12em;
color: #5F4AB3;
text-transform: uppercase;
font-weight: 600;
margin-bottom: 16px
}

.spk-pg .overline-lbl::before {
content: '';
display: inline-block;
width: 24px;
height: 2px;
background: #5F4AB3;
vertical-align: middle;
margin-right: 8px
}

.spk-pg .btn-ghost {
display: inline-block;
position: relative;
padding: 16px 32px;
font-size: 15px;
font-weight: 600;
color: #5F4AB3;
border: 2px solid #5F4AB3;
border-radius: 4px;
background: transparent;
cursor: pointer;
overflow: hidden;
transition: color .25s ease-out, border-color .2s ease-out;
text-decoration: none;
letter-spacing: .04em
}

.spk-pg .btn-ghost::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #5F4AB3;
transition: height .22s ease-out;
z-index: 0
}

.spk-pg .btn-ghost:hover::after {
height: 100%
}

.spk-pg .btn-ghost:hover {
color: #fff
}

.spk-pg .btn-ghost:active {
box-shadow: inset 1px 2px 4px #5f4ab34d
}

.spk-pg .btn-ghost span {
position: relative;
z-index: 1
}

.spk-pg .btn-solid {
display: inline-block;
position: relative;
padding: 16px 32px;
font-size: 15px;
font-weight: 600;
color: #fff;
border: 2px solid #5F4AB3;
border-radius: 4px;
background: #5F4AB3;
cursor: pointer;
overflow: hidden;
transition: color .28s ease-out, background .28s ease-out;
text-decoration: none;
letter-spacing: .04em
}

.spk-pg .btn-solid:hover {
background: #4a3899;
border-color: #4a3899
}

.spk-pg .btn-solid:active {
box-shadow: inset 1px 3px 6px #5f4ab359
}

.spk-pg .ttl-blk {
padding: 64px 32px;
text-align: center;
max-width: 1024px;
margin: 0 auto
}

.spk-pg .ttl-blk .grid-lines {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden
}

.spk-pg .ttl-blk .grid-lines::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: linear-gradient(#5f4ab30a 1px, transparent 1px), linear-gradient(90deg, #5f4ab30a 1px, transparent 1px);
background-size: 60px 60px
}

.spk-pg .ttl-wrap {
position: relative
}

.spk-pg .ttl-img-wrap {
width: 240px;
height: 240px;
margin: 0 auto 32px;
border-radius: 6px;
overflow: hidden;
position: relative
}

.spk-pg .ttl-img-wrap::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
box-shadow: inset 0 0 40px 16px #fbf9fb8c;
border-radius: 6px
}

.spk-pg .ttl-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.spk-pg .ttl-blk h1 {
font-size: clamp(43px, 6vw, 72px);
line-height: 1.1;
color: #2a2040;
margin-bottom: 16px;
letter-spacing: -.02em
}

.spk-pg .ttl-blk h1 em {
color: #5F4AB3;
font-style: normal
}

.spk-pg .ttl-sub {
font-size: clamp(15px, 2vw, 18px);
line-height: 1.6;
color: #3d3450;
max-width: 580px;
margin: 0 auto 32px
}

.spk-pg .ttl-thesis {
display: flex;
flex-direction: row;
justify-content: center;
gap: 32px;
flex-wrap: wrap;
margin-top: 32px
}

.spk-pg .thesis-item {
font-size: 15px;
line-height: 1.4;
color: #4a4260;
background: #5f4ab30f;
border: 1px solid #5f4ab31f;
border-radius: 4px;
padding: 8px 16px;
font-weight: 500
}

.spk-pg .spk-sec {
padding: 64px 32px;
background: #FBF9FB;
position: relative
}

.spk-pg .spk-sec .canvas-tex {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
opacity: .4
}

.spk-pg .spk-sec .canvas-tex::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: repeating-linear-gradient(0deg, transparent, transparent 3px, #bab9d614 3px, #bab9d614 4px), repeating-linear-gradient(90deg, transparent, transparent 7px, #bab9d60d 7px, #bab9d60d 8px)
}

.spk-pg .spk-inner {
max-width: 1024px;
margin: 0 auto;
position: relative;
z-index: 1
}

.spk-pg .spk-split {
display: grid;
grid-template-columns: 30% 70%;
gap: 32px;
align-items: start
}

.spk-pg .spk-left {
position: sticky;
top: 32px
}

.spk-pg .spk-tag {
display: inline-block;
font-size: 15px;
font-weight: 700;
color: #5F4AB3;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 16px
}

.spk-pg .spk-left h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #2a2040;
margin-bottom: 16px
}

.spk-pg .spk-left p {
font-size: 15px;
line-height: 1.6;
color: #4a4260
}

.spk-pg .spk-right {
display: flex;
flex-direction: column;
gap: 16px
}

.spk-pg .spk-card {
background: #fff;
border-radius: 6px;
padding: 32px;
box-shadow: 1px 5px 22px 0 #5f4ab317;
position: relative;
overflow: hidden;
transition: box-shadow .2s ease-out, transform .18s ease-out
}

.spk-pg .spk-card::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 28px 28px 0;
border-color: transparent #FBF9FB transparent transparent;
transition: border-width .22s ease-out
}

.spk-pg .spk-card:hover::before {
border-width: 0 40px 40px 0;
border-color: transparent #5F4AB3 transparent transparent
}

.spk-pg .spk-card:hover {
box-shadow: 1px 10px 44px 0 #5f4ab31a;
transform: translateY(-2px)
}

.spk-pg .card-num {
font-size: 60px;
line-height: 1.1;
font-weight: 800;
color: #5f4ab31a;
position: absolute;
top: 8px;
right: 32px;
letter-spacing: -.04em
}

.spk-pg .spk-card h4 {
font-size: 18px;
line-height: 1.4;
color: #2a2040;
margin-bottom: 8px;
font-weight: 700
}

.spk-pg .spk-card p {
font-size: 15px;
line-height: 1.6;
color: #4a4260
}

.spk-pg .card-icon {
width: 32px;
height: 32px;
margin-bottom: 16px;
color: #5F4AB3
}

.spk-pg .met-sec {
padding: 64px 32px;
background: linear-gradient(160deg, #2a2040 0%, #3d3060 60%, #5F4AB3 100%);
position: relative
}

.spk-pg .met-sec .geo-ring {
position: absolute;
border-radius: 50%;
border: 1px solid #bab9d61f;
pointer-events: none;
overflow: hidden
}

.spk-pg .met-sec .geo-ring.r1 {
width: 500px;
height: 500px;
top: -200px;
right: -150px
}

.spk-pg .met-sec .geo-ring.r2 {
width: 280px;
height: 280px;
bottom: -100px;
left: -80px
}

.spk-pg .met-inner {
max-width: 1024px;
margin: 0 auto;
position: relative;
z-index: 1
}

.spk-pg .met-head {
text-align: center;
margin-bottom: 32px
}

.spk-pg .met-head .overline-lbl {
color: #BAB9D6
}

.spk-pg .met-head .overline-lbl::before {
background: #BAB9D6
}

.spk-pg .met-head h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #fff;
margin-bottom: 16px
}

.spk-pg .met-head p {
font-size: 15px;
line-height: 1.6;
color: #BAB9D6;
max-width: 560px;
margin: 0 auto
}

.spk-pg .met-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
margin-bottom: 32px
}

.spk-pg .met-item {
text-align: center;
padding: 32px 16px;
background: #ffffff0f;
border-radius: 6px;
border: 1px solid #bab9d626;
transition: background .25s ease-out, border-color .2s ease-out
}

.spk-pg .met-item:hover {
background: #ffffff1a;
border-color: #bab9d64d
}

.spk-pg .met-val {
font-size: clamp(43px, 5vw, 60px);
line-height: 1.1;
font-weight: 800;
color: #fff;
letter-spacing: -.03em;
display: block
}

.spk-pg .met-unit {
font-size: 15px;
color: #BAB9D6;
letter-spacing: .08em;
text-transform: uppercase;
margin-top: 8px;
display: block
}

.spk-pg .met-desc {
font-size: 15px;
line-height: 1.4;
color: #bab9d6d9;
margin-top: 8px
}

.spk-pg .met-bar-row {
display: flex;
flex-direction: column;
gap: 16px;
max-width: 640px;
margin: 0 auto
}

.spk-pg .bar-item {
display: flex;
flex-direction: column;
gap: 8px
}

.spk-pg .bar-lbl {
display: flex;
flex-direction: row;
justify-content: space-between;
font-size: 15px;
color: #BAB9D6
}

.spk-pg .bar-track {
height: 6px;
background: #ffffff1a;
border-radius: 2px;
overflow: hidden
}

.spk-pg .bar-fill {
height: 100%;
border-radius: 2px;
background: linear-gradient(90deg, #BAB9D6, #5F4AB3);
transform-origin: left;
animation: bar-grow 1.2s ease-out forwards;
transform: scaleX(0)
}

@keyframes bar-grow {
to {
transform: scaleX(1)
}
}

.spk-pg .bar-fill.w88 {
width: 88%
}

.spk-pg .bar-fill.w74 {
width: 74%
}

.spk-pg .bar-fill.w91 {
width: 91%
}

.spk-pg .bio-sec {
padding: 64px 32px;
background: #fff
}

.spk-pg .bio-inner {
max-width: 1024px;
margin: 0 auto
}

.spk-pg .bio-head {
text-align: center;
margin-bottom: 32px
}

.spk-pg .bio-head h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #2a2040;
margin-bottom: 16px
}

.spk-pg .bio-head p {
font-size: 15px;
line-height: 1.6;
color: #4a4260;
max-width: 560px;
margin: 0 auto
}

.spk-pg .bio-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: start
}

.spk-pg .bio-card {
background: #FBF9FB;
border-radius: 6px;
padding: 32px;
box-shadow: 1px 2px 2px 0 #5f4ab30f;
transition: box-shadow .35s ease-out
}

.spk-pg .bio-card:hover {
box-shadow: 1px 10px 44px 0 #5f4ab31a
}

.spk-pg .bio-card h5 {
font-size: 18px;
line-height: 1.4;
color: #2a2040;
font-weight: 700;
margin-bottom: 8px
}

.spk-pg .bio-card p {
font-size: 15px;
line-height: 1.6;
color: #4a4260
}

.spk-pg .bio-role {
font-size: 15px;
color: #5F4AB3;
font-weight: 600;
letter-spacing: .05em;
margin-bottom: 16px;
display: block
}

.spk-pg .bio-tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-top: 16px
}

.spk-pg .bio-tag {
font-size: 15px;
color: #5F4AB3;
background: #5f4ab314;
border: 1px solid #5f4ab326;
border-radius: 4px;
padding: 4px 8px;
font-weight: 500
}

.spk-pg .bio-full {
grid-column: 1 / -1
}

.spk-pg .bio-cta {
text-align: center;
margin-top: 32px
}

.spk-pg .bio-cta p {
font-size: 15px;
line-height: 1.6;
color: #4a4260;
margin-bottom: 16px
}

@media (max-width: 900px) {
.spk-pg .spk-split {
grid-template-columns: 1fr
}

.spk-pg .spk-left {
position: static
}

.spk-pg .met-grid {
grid-template-columns: 1fr 1fr
}

.spk-pg .bio-grid {
grid-template-columns: 1fr
}

.spk-pg .bio-full {
grid-column: auto
}
}

@media (max-width: 600px) {
.spk-pg .ttl-blk {
padding: 32px 16px
}

.spk-pg .ttl-img-wrap {
width: 180px;
height: 180px
}

.spk-pg .ttl-thesis {
flex-direction: column;
align-items: center;
gap: 8px
}

.spk-pg .spk-sec,
.spk-pg .met-sec,
.spk-pg .bio-sec {
padding: 32px 16px
}

.spk-pg .met-grid {
grid-template-columns: 1fr
}

.spk-pg .spk-card {
padding: 16px
}

.spk-pg .card-num {
font-size: 43px;
right: 16px
}
}

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

.pr-rel .pr-inner {
max-width: 1024px;
margin: 0 auto;
padding: 0 16px
}

.pr-rel .divider-cross {
display: flex;
align-items: center;
justify-content: center;
gap: 16px;
padding: 8px 0;
overflow: hidden
}

.pr-rel .divider-cross span {
display: inline-block;
width: 8px;
height: 8px;
position: relative;
flex-shrink: 0
}

.pr-rel .divider-cross span::before,
.pr-rel .divider-cross span::after {
content: "";
position: absolute;
background: #BAB9D6
}

.pr-rel .divider-cross span::before {
width: 2px;
height: 8px;
top: 0;
left: 3px
}

.pr-rel .divider-cross span::after {
width: 8px;
height: 2px;
top: 3px;
left: 0
}

.pr-rel .title-band {
padding: 48px 0 32px;
background: linear-gradient(160deg, #f5f3fb 0%, #ece9f5 60%, #BAB9D6 100%);
position: relative
}

.pr-rel .title-band::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(200deg, #5f4ab312 0%, #bab9d60a 100%);
pointer-events: none
}

.pr-rel .title-layout {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 32px
}

.pr-rel .title-img-card {
flex: 0 0 280px;
border-radius: 6px;
overflow: hidden;
box-shadow: 1px 5px 22px 0 #5f4ab317;
position: relative
}

.pr-rel .title-img-card img {
width: 280px;
height: 200px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .35s ease-out, brightness .25s ease-out
}

.pr-rel .title-img-card:hover img {
transform: scale(1.04);
filter: brightness(1.05)
}

.pr-rel .title-img-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 60%;
background: linear-gradient(to bottom, #5f4ab359 0%, transparent 100%);
pointer-events: none
}

.pr-rel .title-shapes {
position: absolute;
bottom: -8px;
right: -8px;
width: 60px;
height: 60px;
pointer-events: none;
overflow: hidden
}

.pr-rel .title-shapes::before {
content: "";
position: absolute;
width: 44px;
height: 44px;
border: 2px solid #5f4ab32e;
border-radius: 4px;
bottom: 12px;
right: 12px
}

.pr-rel .title-shapes::after {
content: "";
position: absolute;
width: 30px;
height: 30px;
border: 2px solid #bab9d64d;
border-radius: 2px;
bottom: 4px;
right: 4px
}

.pr-rel .title-text {
flex: 1 1 auto;
padding-top: 8px
}

.pr-rel .title-overline {
display: block;
font-size: 15px;
letter-spacing: .12em;
color: #5F4AB3;
font-weight: 600;
margin-bottom: 8px;
text-transform: uppercase
}

.pr-rel .title-h1 {
font-size: clamp(43px, 5vw, 60px);
line-height: 1.1;
color: #5F4AB3;
margin: 0 0 16px
}

.pr-rel .title-h1 em {
font-style: normal;
color: #3a2d8a
}

.pr-rel .title-desc {
font-size: 18px;
line-height: 1.6;
color: #2a2535;
margin: 0 0 16px;
max-width: 520px
}

.pr-rel .title-meta-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
flex-wrap: wrap
}

.pr-rel .title-badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: #5f4ab314;
border: 1px solid #5f4ab32e;
border-radius: 4px;
padding: 4px 16px;
font-size: 15px;
color: #5F4AB3;
font-weight: 500
}

.pr-rel .deco-strokes {
position: absolute;
top: 16px;
right: 32px;
display: flex;
flex-direction: column;
gap: 4px;
pointer-events: none
}

.pr-rel .deco-strokes span {
display: block;
height: 2px;
background: #5f4ab326;
border-radius: 2px
}

@media (max-width: 600px) {
.pr-rel .title-layout {
flex-direction: column
}

.pr-rel .title-img-card {
flex: none;
width: 100%
}

.pr-rel .title-img-card img {
width: 100%;
height: 180px
}

.pr-rel .deco-strokes {
display: none
}
}

.pr-rel .posts-band {
padding: 48px 0;
background: #FBF9FB;
position: relative
}

.pr-rel .posts-band::before {
content: "";
position: absolute;
inset: 0;
background-image: linear-gradient(#5f4ab30a 1px, transparent 1px), linear-gradient(90deg, #5f4ab30a 1px, transparent 1px), linear-gradient(#bab9d606 1px, transparent 1px), linear-gradient(90deg, #bab9d606 1px, transparent 1px);
background-size: 40px 40px, 40px 40px, 8px 8px, 8px 8px;
pointer-events: none
}

.pr-rel .posts-heading-row {
text-align: center;
margin-bottom: 32px
}

.pr-rel .posts-overline {
display: block;
font-size: 15px;
letter-spacing: .1em;
color: #5F4AB3;
font-weight: 600;
text-transform: uppercase;
margin-bottom: 8px
}

.pr-rel .posts-h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #2a2535;
margin: 0
}

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

@media (max-width: 900px) {
.pr-rel .posts-grid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 600px) {
.pr-rel .posts-grid {
grid-template-columns: 1fr
}
}

.pr-rel .post-card {
background: #fff;
border-radius: 6px;
box-shadow: 1px 2px 2px 0 #5f4ab30f;
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow .25s ease-out, transform .2s ease-out;
text-decoration: none;
color: inherit
}

.pr-rel .post-card:hover {
box-shadow: 1px 10px 44px 0 #5f4ab31a;
transform: translateY(-2px)
}

.pr-rel .post-img-wrap {
width: 100%;
height: 160px;
overflow: hidden;
position: relative;
flex-shrink: 0
}

.pr-rel .post-img-wrap img {
width: 100%;
height: 160px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .35s ease-out, filter .28s ease-out
}

.pr-rel .post-card:hover .post-img-wrap img {
transform: scale(1.05);
filter: brightness(1.06)
}

.pr-rel .post-img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(to top, #5f4ab32e 0%, transparent 60%);
pointer-events: none;
transition: opacity .22s ease-out
}

.pr-rel .post-card:hover .post-img-overlay {
opacity: .7
}

.pr-rel .post-body {
padding: 16px;
display: flex;
flex-direction: column;
flex: 1 1 auto;
gap: 8px
}

.pr-rel .post-title {
font-size: 18px;
line-height: 1.4;
color: #2a2535;
font-weight: 600;
margin: 0
}

.pr-rel .post-desc {
font-size: 15px;
line-height: 1.6;
color: #3d3850;
margin: 0;
flex: 1 1 auto
}

.pr-rel .post-foot {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
margin-top: 8px
}

.pr-rel .post-likes {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 15px;
color: #5F4AB3;
font-weight: 500
}

.pr-rel .post-likes .like-icon {
width: 16px;
height: 16px;
display: inline-block;
flex-shrink: 0
}

.pr-rel .post-link-label {
font-size: 15px;
color: #5F4AB3;
text-decoration: underline;
text-decoration-color: transparent;
font-weight: 500;
transition: text-decoration-color .2s ease-out
}

.pr-rel .post-card:hover .post-link-label {
text-decoration-color: #5F4AB3
}

.pr-rel .about-band {
padding: 56px 0 48px;
background: #fff;
position: relative
}

.pr-rel .about-band::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, transparent 0%, #BAB9D6 40%, #5F4AB3 60%, transparent 100%)
}

.pr-rel .about-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: start
}

.pr-rel .about-col-left {
padding-top: 0
}

.pr-rel .about-col-right {
padding-top: 32px
}

.pr-rel .about-overline {
display: block;
font-size: 15px;
letter-spacing: .1em;
color: #5F4AB3;
font-weight: 600;
text-transform: uppercase;
margin-bottom: 8px
}

.pr-rel .about-h2 {
font-size: clamp(31px, 3.5vw, 43px);
line-height: 1.1;
color: #2a2535;
margin: 0 0 16px
}

.pr-rel .about-lead {
font-size: 18px;
line-height: 1.6;
color: #2a2535;
margin: 0 0 16px
}

.pr-rel .about-body {
font-size: 15px;
line-height: 1.6;
color: #3d3850;
margin: 0 0 16px
}

.pr-rel .about-stat-group {
display: flex;
flex-direction: column;
gap: 16px
}

.pr-rel .about-stat {
background: linear-gradient(135deg, #f5f3fb 0%, #ece9f5 100%);
border-radius: 6px;
padding: 16px;
box-shadow: 1px 2px 2px 0 #5f4ab30f;
position: relative;
overflow: hidden
}

.pr-rel .about-stat::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(160deg, #5f4ab30d 0%, transparent 70%);
pointer-events: none
}

.pr-rel .about-stat-num {
font-size: 43px;
line-height: 1.1;
color: #5F4AB3;
font-weight: 700;
display: block
}

.pr-rel .about-stat-label {
font-size: 15px;
line-height: 1.4;
color: #3d3850;
display: block;
margin-top: 4px
}

@media (max-width: 900px) {
.pr-rel .about-layout {
grid-template-columns: 1fr
}

.pr-rel .about-col-right {
padding-top: 0
}
}

.pr-rel .cta-band {
padding: 56px 0;
background: linear-gradient(160deg, #2a2535 0%, #3a2d8a 55%, #5F4AB3 100%);
position: relative;
overflow: hidden;
text-align: center
}

.pr-rel .cta-band::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(200deg, #bab9d614 0%, #5f4ab31f 100%);
animation: bg-breathe 10s ease-in-out infinite;
pointer-events: none
}

@keyframes bg-breathe {

0%,
100% {
background-size: 100% 100%;
opacity: .8
}

50% {
background-size: 110% 110%;
opacity: 1
}
}

.pr-rel .cta-deco {
position: absolute;
top: -16px;
right: 48px;
display: flex;
flex-direction: column;
gap: 4px;
pointer-events: none
}

.pr-rel .cta-deco span {
display: block;
height: 2px;
background: #bab9d638;
border-radius: 2px
}

.pr-rel .cta-overline {
display: block;
font-size: 15px;
letter-spacing: .12em;
color: #BAB9D6;
font-weight: 600;
text-transform: uppercase;
margin-bottom: 8px
}

.pr-rel .cta-h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #fff;
margin: 0 0 16px
}

.pr-rel .cta-desc {
font-size: 18px;
line-height: 1.6;
color: #d6d3ec;
margin: 0 auto 32px;
max-width: 560px
}

.pr-rel .cta-btn-row {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 16px;
flex-wrap: wrap
}

.pr-rel .btn-ghost {
display: inline-block;
position: relative;
padding: 16px 32px;
border: 2px solid #BAB9D6;
border-radius: 4px;
font-size: 18px;
color: #fff;
background: transparent;
cursor: pointer;
font-weight: 600;
text-decoration: none;
overflow: hidden;
transition: color .22s ease-out, border-color .22s ease-out;
z-index: 1
}

.pr-rel .btn-ghost::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #BAB9D6;
transition: height .28s ease-out;
z-index: -1
}

.pr-rel .btn-ghost:hover {
color: #2a2535;
border-color: #BAB9D6
}

.pr-rel .btn-ghost:hover::after {
height: 100%
}

.pr-rel .btn-ghost:focus-visible {
outline: 2px solid #BAB9D6;
outline-offset: 2px
}

.pr-rel .btn-ghost:active {
box-shadow: inset 1px 2px 4px 0 #5f4ab32e
}

.pr-rel .btn-primary {
display: inline-block;
position: relative;
padding: 16px 32px;
border: 2px solid #fff;
border-radius: 4px;
font-size: 18px;
color: #5F4AB3;
background: #fff;
cursor: pointer;
font-weight: 600;
text-decoration: none;
overflow: hidden;
transition: color .22s ease-out, background .22s ease-out;
z-index: 1
}

.pr-rel .btn-primary::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #5F4AB3;
transition: height .3s ease-out;
z-index: -1
}

.pr-rel .btn-primary:hover {
color: #fff
}

.pr-rel .btn-primary:hover::after {
height: 100%
}

.pr-rel .btn-primary:focus-visible {
outline: 2px solid #fff;
outline-offset: 2px
}

.pr-rel .btn-primary:active {
box-shadow: inset 1px 2px 4px 0 #5f4ab338
}

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

.ptl .pg-bound {
max-width: 1024px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px
}

.ptl .overline {
display: block;
font-size: 15px;
letter-spacing: .12em;
color: #5F4AB3;
text-transform: uppercase;
margin-bottom: 8px;
font-weight: 600
}

.ptl .ttl-blk {
position: relative;
padding: 80px 32px 72px;
background: #FBF9FB;
text-align: center;
overflow: hidden
}

.ptl .ttl-blk::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse 70% 60% at 50% 40%, #5f4ab312 0%, #bab9d60a 55%, transparent 100%);
pointer-events: none
}

.ptl .ttl-bg-num {
position: absolute;
top: -16px;
right: -16px;
font-size: 260px;
line-height: 1.1;
font-weight: 900;
color: #5f4ab30d;
pointer-events: none;
user-select: none;
overflow: hidden;
max-width: 60%
}

.ptl .ttl-inner {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: 32px
}

.ptl .ttl-text {
max-width: 620px
}

.ptl .ttl-num-accent {
display: inline-block;
font-size: 60px;
line-height: 1.1;
font-weight: 900;
color: #5F4AB3;
margin-bottom: 8px
}

.ptl .ttl-h1 {
font-size: clamp(43px, 6vw, 72px);
line-height: 1.1;
color: #5F4AB3;
margin: 0 0 16px
}

.ptl .ttl-h1 .drop-letter {
display: inline-block;
opacity: 0;
transform: translateY(-18px);
animation: letterDrop .25s ease-out forwards
}

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

.ptl .ttl-sub {
font-size: 18px;
line-height: 1.6;
color: #3a3350;
margin: 0
}

.ptl .ttl-img-wrap {
position: relative;
width: 100%;
max-width: 640px;
border-radius: 6px;
overflow: hidden;
box-shadow: 1px 10px 44px 0 #5f4ab31a
}

.ptl .ttl-img-wrap img {
width: 100%;
height: 340px;
object-fit: cover;
object-position: center;
display: block
}

.ptl .ttl-img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(to left, #5f4ab373 0%, #5f4ab314 55%, transparent 100%);
pointer-events: none
}

.ptl .ttl-cta-row {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
justify-content: center
}

.ptl .btn-prim {
position: relative;
display: inline-block;
padding: 16px 32px;
font-size: 15px;
font-weight: 700;
color: #5F4AB3;
border: 2px solid #5F4AB3;
border-radius: 4px;
text-decoration: none;
background: transparent;
overflow: hidden;
transition: color .22s ease-out;
cursor: pointer
}

.ptl .btn-prim::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #5F4AB3;
transition: height .28s ease-out;
z-index: 0
}

.ptl .btn-prim:hover::after {
height: 100%
}

.ptl .btn-prim:hover {
color: #fff
}

.ptl .btn-prim span {
position: relative;
z-index: 1
}

.ptl .btn-sec {
position: relative;
display: inline-block;
padding: 16px 32px;
font-size: 15px;
font-weight: 600;
color: #5F4AB3;
border: 2px solid #BAB9D6;
border-radius: 4px;
text-decoration: none;
background: transparent;
overflow: hidden;
transition: color .2s ease-out, border-color .2s ease-out;
cursor: pointer
}

.ptl .btn-sec::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #BAB9D6;
transition: height .25s ease-out;
z-index: 0
}

.ptl .btn-sec:hover::after {
height: 100%
}

.ptl .btn-sec:hover {
color: #3a3350
}

.ptl .btn-sec span {
position: relative;
z-index: 1
}

.ptl .who-blk {
padding: 72px 32px;
background: #fff
}

.ptl .who-blk .pg-bound {
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-start
}

.ptl .who-left {
flex: 1 1 320px;
min-width: 0
}

.ptl .who-right {
flex: 1 1 320px;
min-width: 0
}

.ptl .who-h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #5F4AB3;
margin: 0 0 16px
}

.ptl .who-lead {
font-size: 18px;
line-height: 1.6;
color: #3a3350;
margin: 0 0 32px
}

.ptl .who-img-wrap {
position: relative;
border-radius: 6px;
overflow: hidden;
box-shadow: 1px 5px 22px 0 #5f4ab317;
transition: box-shadow .35s ease-out
}

.ptl .who-img-wrap::after {
content: '';
position: absolute;
inset: 0;
border: 2px solid transparent;
border-radius: 6px;
transition: border-color .28s ease-out;
pointer-events: none
}

.ptl .who-img-wrap:hover::after {
border-color: #5F4AB3
}

.ptl .who-img-wrap img {
width: 100%;
height: 280px;
object-fit: cover;
object-position: center;
display: block
}

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

.ptl .fit-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
border-radius: 4px;
background: #FBF9FB;
box-shadow: 1px 2px 2px 0 #5f4ab30f
}

.ptl .fit-icon {
flex-shrink: 0;
width: 36px;
height: 36px;
border-radius: 4px;
background: #5F4AB3;
display: flex;
align-items: center;
justify-content: center
}

.ptl .fit-icon i {
color: #fff;
font-size: 18px
}

.ptl .fit-text {
flex: 1;
min-width: 0
}

.ptl .fit-label {
display: block;
font-size: 15px;
font-weight: 700;
color: #3a3350;
margin-bottom: 4px
}

.ptl .fit-desc {
font-size: 15px;
line-height: 1.6;
color: #555;
margin: 0
}

.ptl .scale-blk {
padding: 64px 32px;
background: linear-gradient(160deg, #5F4AB3 0%, #3d2e80 100%);
position: relative;
overflow: hidden
}

.ptl .scale-blk::before {
content: '';
position: absolute;
top: -60px;
right: -60px;
width: 280px;
height: 280px;
border-radius: 50%;
border: 40px solid #bab9d61f;
pointer-events: none
}

.ptl .scale-blk::after {
content: '';
position: absolute;
bottom: -80px;
left: -40px;
width: 200px;
height: 200px;
border-radius: 50%;
border: 30px solid #bab9d614;
pointer-events: none
}

.ptl .scale-blk .pg-bound {
position: relative;
z-index: 1;
text-align: center
}

.ptl .scale-overline {
display: block;
font-size: 15px;
letter-spacing: .12em;
color: #BAB9D6;
text-transform: uppercase;
margin-bottom: 8px;
font-weight: 600
}

.ptl .scale-h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #fff;
margin: 0 0 32px
}

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

.ptl .scale-stat {
text-align: center
}

.ptl .scale-num {
display: block;
font-size: clamp(43px, 6vw, 60px);
line-height: 1.1;
font-weight: 900;
color: #fff
}

.ptl .scale-unit {
display: block;
font-size: 15px;
line-height: 1.6;
color: #BAB9D6;
margin-top: 8px
}

.ptl .scale-note {
font-size: 15px;
line-height: 1.6;
color: #ffffffb3;
max-width: 560px;
margin: 0 auto
}

.ptl .sup-blk {
padding: 72px 32px;
background: #FBF9FB
}

.ptl .sup-blk .pg-bound {
display: flex;
flex-direction: row;
gap: 32px;
align-items: center
}

.ptl .sup-img-col {
flex: 0 0 400px;
max-width: 400px
}

.ptl .sup-img-wrap {
position: relative;
border-radius: 6px;
overflow: hidden;
box-shadow: 1px 10px 44px 0 #5f4ab31a
}

.ptl .sup-img-wrap::after {
content: '';
position: absolute;
inset: 0;
border: 2px solid transparent;
border-radius: 6px;
transition: border-color .32s ease-out;
pointer-events: none
}

.ptl .sup-img-wrap:hover::after {
border-color: #5F4AB3
}

.ptl .sup-img-wrap img {
width: 100%;
height: 320px;
object-fit: cover;
object-position: center;
display: block
}

.ptl .sup-text-col {
flex: 1 1 0;
min-width: 0
}

.ptl .sup-h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #5F4AB3;
margin: 0 0 16px
}

.ptl .sup-lead {
font-size: 18px;
line-height: 1.6;
color: #3a3350;
margin: 0 0 16px
}

.ptl .sup-body {
font-size: 15px;
line-height: 1.6;
color: #555;
margin: 0 0 32px
}

.ptl .sup-cards {
display: flex;
flex-direction: column;
gap: 16px
}

.ptl .sup-card {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
border-radius: 4px;
background: #fff;
box-shadow: 1px 2px 2px 0 #5f4ab30f
}

.ptl .sup-card-icon {
flex-shrink: 0;
width: 40px;
height: 40px;
border-radius: 4px;
background: #5f4ab314;
display: flex;
align-items: center;
justify-content: center
}

.ptl .sup-card-icon i {
color: #5F4AB3;
font-size: 20px
}

.ptl .sup-card-body {
flex: 1;
min-width: 0
}

.ptl .sup-card-title {
display: block;
font-size: 15px;
font-weight: 700;
color: #3a3350;
margin-bottom: 4px
}

.ptl .sup-card-desc {
font-size: 15px;
line-height: 1.6;
color: #555;
margin: 0
}

.ptl .avail-blk {
padding: 72px 32px;
background: #fff
}

.ptl .avail-blk .pg-bound {
text-align: center
}

.ptl .avail-h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #5F4AB3;
margin: 0 0 8px
}

.ptl .avail-sub {
font-size: 18px;
line-height: 1.6;
color: #3a3350;
max-width: 560px;
margin: 0 auto 32px
}

.ptl .avail-rows {
display: flex;
flex-direction: column;
gap: 32px
}

.ptl .avail-row {
display: flex;
flex-direction: row;
gap: 32px;
align-items: center;
text-align: left
}

.ptl .avail-row.rev {
flex-direction: row-reverse
}

.ptl .avail-row-img {
flex: 0 0 360px;
max-width: 360px;
position: relative;
border-radius: 6px;
overflow: hidden;
box-shadow: 1px 5px 22px 0 #5f4ab317
}

.ptl .avail-row-img::after {
content: '';
position: absolute;
inset: 0;
border: 2px solid transparent;
border-radius: 6px;
transition: border-color .3s ease-out;
pointer-events: none
}

.ptl .avail-row-img:hover::after {
border-color: #5F4AB3
}

.ptl .avail-row-img img {
width: 100%;
height: 240px;
object-fit: cover;
object-position: center;
display: block
}

.ptl .avail-row-text {
flex: 1 1 0;
min-width: 0
}

.ptl .avail-row-h3 {
font-size: 31px;
line-height: 1.1;
color: #5F4AB3;
margin: 0 0 16px
}

.ptl .avail-row-p {
font-size: 15px;
line-height: 1.6;
color: #555;
margin: 0 0 16px
}

.ptl .avail-tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
list-style: none;
padding: 0;
margin: 0
}

.ptl .avail-tags li {
font-size: 15px;
font-weight: 600;
color: #5F4AB3;
background: #5f4ab314;
border-radius: 2px;
padding: 4px 8px;
letter-spacing: .04em
}

.ptl .avail-link {
display: inline-block;
margin-top: 16px;
font-size: 15px;
font-weight: 700;
color: #5F4AB3;
text-decoration: none;
border-bottom: 1px solid transparent;
transition: border-color .2s ease-out
}

.ptl .avail-link:hover {
border-color: #5F4AB3
}

.ptl .appr-blk {
padding: 72px 32px;
background: #FBF9FB;
position: relative;
overflow: hidden
}

.ptl .appr-blk::before {
content: '';
position: absolute;
bottom: -80px;
right: -80px;
width: 320px;
height: 320px;
border-radius: 50%;
border: 50px solid #bab9d626;
pointer-events: none
}

.ptl .appr-blk .pg-bound {
position: relative;
z-index: 1;
text-align: center
}

.ptl .appr-h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #5F4AB3;
margin: 0 0 8px
}

.ptl .appr-sub {
font-size: 18px;
line-height: 1.6;
color: #3a3350;
max-width: 520px;
margin: 0 auto 32px
}

.ptl .appr-steps {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
text-align: left
}

.ptl .appr-step {
position: relative;
padding: 32px;
border-radius: 6px;
background: #fff;
box-shadow: 1px 5px 22px 0 #5f4ab317;
transition: box-shadow .35s ease-out, transform .28s ease-out
}

.ptl .appr-step:hover {
box-shadow: 1px 10px 44px 0 #5f4ab31a;
transform: translateY(-4px)
}

.ptl .appr-step-num {
display: block;
font-size: 60px;
line-height: 1.1;
font-weight: 900;
color: #5f4ab31a;
margin-bottom: 8px
}

.ptl .appr-step-h4 {
font-size: 18px;
line-height: 1.4;
color: #3a3350;
font-weight: 700;
margin: 0 0 8px
}

.ptl .appr-step-p {
font-size: 15px;
line-height: 1.6;
color: #555;
margin: 0
}

.ptl .exp-blk {
padding: 72px 32px;
background: #fff
}

.ptl .exp-blk .pg-bound {
text-align: center
}

.ptl .exp-h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #5F4AB3;
margin: 0 0 8px
}

.ptl .exp-sub {
font-size: 18px;
line-height: 1.6;
color: #3a3350;
max-width: 520px;
margin: 0 auto 32px
}

.ptl .exp-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
text-align: left
}

.ptl .exp-card {
position: relative;
border-radius: 6px;
overflow: hidden;
background: #FBF9FB;
box-shadow: 1px 2px 2px 0 #5f4ab30f;
display: flex;
flex-direction: column
}

.ptl .exp-card-img {
position: relative;
overflow: hidden
}

.ptl .exp-card-img::after {
content: '';
position: absolute;
inset: 0;
border: 2px solid transparent;
transition: border-color .28s ease-out;
pointer-events: none
}

.ptl .exp-card:hover .exp-card-img::after {
border-color: #5F4AB3
}

.ptl .exp-card-img img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
display: block
}

.ptl .exp-card-body {
padding: 32px;
flex: 1;
display: flex;
flex-direction: column;
gap: 16px
}

.ptl .exp-quote {
font-size: 18px;
line-height: 1.6;
color: #3a3350;
margin: 0;
font-style: italic
}

.ptl .exp-meta {
display: flex;
flex-direction: column;
gap: 4px
}

.ptl .exp-name {
font-size: 15px;
font-weight: 700;
color: #5F4AB3
}

.ptl .exp-role {
font-size: 15px;
color: #888
}

.ptl .exp-tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
list-style: none;
padding: 0;
margin: 0
}

.ptl .exp-tags li {
font-size: 15px;
font-weight: 600;
color: #5F4AB3;
background: #5f4ab314;
border-radius: 2px;
padding: 4px 8px
}

.ptl .exp-footer-note {
margin-top: 32px;
font-size: 15px;
line-height: 1.6;
color: #888
}

.ptl .exp-footer-note a {
color: #5F4AB3;
text-decoration: none;
border-bottom: 1px solid transparent;
transition: border-color .18s ease-out
}

.ptl .exp-footer-note a:hover {
border-color: #5F4AB3
}

@media (max-width: 900px) {
.ptl .who-blk .pg-bound {
flex-direction: column
}

.ptl .scale-grid {
grid-template-columns: repeat(2, 1fr);
gap: 32px
}

.ptl .sup-blk .pg-bound {
flex-direction: column
}

.ptl .sup-img-col {
flex: none;
max-width: 100%;
width: 100%
}

.ptl .avail-row,
.ptl .avail-row.rev {
flex-direction: column
}

.ptl .avail-row-img {
flex: none;
max-width: 100%;
width: 100%
}

.ptl .appr-steps {
grid-template-columns: 1fr
}

.ptl .exp-grid {
grid-template-columns: 1fr
}
}

@media (max-width: 600px) {
.ptl .ttl-blk {
padding: 48px 16px
}

.ptl .pg-bound {
padding-left: 16px;
padding-right: 16px
}

.ptl .ttl-cta-row {
flex-direction: column;
align-items: stretch
}

.ptl .scale-grid {
grid-template-columns: 1fr 1fr;
gap: 16px
}

.ptl .who-blk,
.ptl .sup-blk,
.ptl .avail-blk,
.ptl .appr-blk,
.ptl .exp-blk {
padding: 48px 16px
}

.ptl .scale-blk {
padding: 48px 16px
}
}

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

.abt-us .pg-lead {
background: #2a1f5c;
padding: 64px 32px;
position: relative;
overflow: hidden
}

.abt-us .pg-lead::before {
content: '';
position: absolute;
top: -60px;
right: -60px;
width: 320px;
height: 320px;
background: linear-gradient(135deg, #5f4ab32e 0%, #bab9d612 100%);
clip-path: polygon(30% 0%, 100% 15%, 85% 80%, 10% 100%, 0% 40%);
pointer-events: none
}

.abt-us .pg-lead::after {
content: '';
position: absolute;
bottom: -40px;
left: -30px;
width: 220px;
height: 220px;
background: linear-gradient(200deg, #5f4ab31a 0%, #bab9d60a 100%);
clip-path: polygon(20% 0%, 100% 30%, 80% 100%, 0% 70%);
pointer-events: none
}

.abt-us .lead-inner {
max-width: 1024px;
margin: 0 auto;
text-align: center;
position: relative;
z-index: 1
}

.abt-us .lead-overline {
display: inline-block;
font-size: 15px;
line-height: 1.4;
letter-spacing: .12em;
color: #BAB9D6;
text-transform: uppercase;
margin-bottom: 16px
}

.abt-us .lead-h1 {
font-size: clamp(43px, 6vw, 72px);
line-height: 1.1;
color: #FBF9FB;
margin: 0 0 16px
}

.abt-us .lead-desc {
font-size: clamp(15px, 2vw, 18px);
line-height: 1.6;
color: #BAB9D6;
max-width: 620px;
margin: 0 auto 32px
}

.abt-us .dot-path {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 8px;
margin-top: 32px
}

.abt-us .dot-path span {
display: block;
border-radius: 50%;
background: #BAB9D6;
opacity: .35
}

.abt-us .dot-path span:nth-child(1) {
width: 6px;
height: 6px;
opacity: .2
}

.abt-us .dot-path span:nth-child(2) {
width: 8px;
height: 8px;
opacity: .3
}

.abt-us .dot-path span:nth-child(3) {
width: 10px;
height: 10px;
opacity: .5
}

.abt-us .dot-path span:nth-child(4) {
width: 12px;
height: 12px;
opacity: .7
}

.abt-us .dot-path span:nth-child(5) {
width: 10px;
height: 10px;
opacity: .5
}

.abt-us .dot-path span:nth-child(6) {
width: 8px;
height: 8px;
opacity: .3
}

.abt-us .dot-path span:nth-child(7) {
width: 6px;
height: 6px;
opacity: .2
}

.abt-us .divider-dash {
max-width: 1024px;
margin: 0 auto;
height: 2px;
background: repeating-linear-gradient(to right, #BAB9D6 0px, #BAB9D6 4px, transparent 4px, transparent 8px, #5F4AB3 8px, #5F4AB3 10px, transparent 10px, transparent 16px);
opacity: .22
}

.abt-us .story-sec {
padding: 64px 32px;
background: #FBF9FB
}

.abt-us .story-grid {
max-width: 1024px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: start
}

.abt-us .story-left {
display: flex;
flex-direction: column;
gap: 16px
}

.abt-us .story-overline {
font-size: 15px;
line-height: 1.4;
letter-spacing: .1em;
color: #5F4AB3;
text-transform: uppercase;
display: block
}

.abt-us .story-h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #2a1f5c;
margin: 0
}

.abt-us .story-body {
font-size: 15px;
line-height: 1.6;
color: #2d2d3a;
margin: 0
}

.abt-us .story-body.accent {
font-size: 18px;
line-height: 1.4;
color: #3a2e7a;
font-weight: 500
}

.abt-us .story-right {
display: flex;
flex-direction: column;
gap: 16px
}

.abt-us .img-frame {
width: 100%;
height: 260px;
overflow: hidden;
border-radius: 6px;
position: relative;
box-shadow: 1px 5px 22px 0 #5f4ab317
}

.abt-us .img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .45s ease-out
}

.abt-us .img-frame::after {
content: '';
position: absolute;
inset: 0;
background: #5f4ab361;
opacity: 0;
transition: opacity .25s ease-out;
pointer-events: none
}

.abt-us .img-frame:hover::after {
opacity: 1
}

.abt-us .img-frame:hover img {
transform: scale(1.04)
}

.abt-us .stat-row {
display: flex;
flex-direction: row;
gap: 16px
}

.abt-us .stat-card {
flex: 1;
background: #fff;
border-radius: 6px;
padding: 16px;
text-align: center;
box-shadow: 1px 2px 2px 0 #5f4ab30f;
border-top: 3px solid #5F4AB3
}

.abt-us .stat-num {
font-size: 31px;
line-height: 1.1;
color: #5F4AB3;
display: block;
font-weight: 700
}

.abt-us .stat-label {
font-size: 15px;
line-height: 1.4;
color: #4a4a5a;
display: block;
margin-top: 4px
}

.abt-us .divider-space {
padding: 0 32px
}

.abt-us .team-sec {
padding: 64px 32px;
background: #fff;
position: relative
}

.abt-us .rot-decor {
position: absolute;
top: 32px;
right: 32px;
width: 64px;
height: 64px;
pointer-events: none;
animation: spin-slow 18s linear infinite;
opacity: .13
}

@keyframes spin-slow {
from {
transform: rotate(0deg)
}

to {
transform: rotate(360deg)
}
}

.abt-us .rot-decor svg {
width: 64px;
height: 64px
}

.abt-us .team-inner {
max-width: 1024px;
margin: 0 auto
}

.abt-us .team-header {
text-align: center;
margin-bottom: 32px
}

.abt-us .team-overline {
font-size: 15px;
line-height: 1.4;
letter-spacing: .1em;
color: #5F4AB3;
text-transform: uppercase;
display: block;
margin-bottom: 8px
}

.abt-us .team-h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #2a1f5c;
margin: 0 0 8px
}

.abt-us .team-sub {
font-size: 15px;
line-height: 1.6;
color: #4a4a5a;
max-width: 540px;
margin: 0 auto
}

.abt-us .team-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: start
}

.abt-us .team-imgs {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

.abt-us .t-img {
width: 100%;
height: 180px;
overflow: hidden;
border-radius: 4px;
position: relative;
box-shadow: 1px 5px 22px 0 #5f4ab317
}

.abt-us .t-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .38s ease-out
}

.abt-us .t-img::after {
content: '';
position: absolute;
inset: 0;
background: #5f4ab366;
opacity: 0;
transition: opacity .22s ease-out;
pointer-events: none
}

.abt-us .t-img:hover::after {
opacity: 1
}

.abt-us .t-img:hover img {
transform: scale(1.05)
}

.abt-us .t-img.tall {
height: 376px;
grid-row: span 2
}

.abt-us .legend-col {
display: flex;
flex-direction: column;
gap: 16px
}

.abt-us .legend-block {
background: #FBF9FB;
border-radius: 6px;
padding: 16px;
box-shadow: 1px 2px 2px 0 #5f4ab30f
}

.abt-us .legend-title {
font-size: 15px;
line-height: 1.4;
letter-spacing: .08em;
color: #5F4AB3;
text-transform: uppercase;
display: block;
margin-bottom: 16px
}

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

.abt-us .legend-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 8px;
background: #fff;
border-radius: 4px;
box-shadow: 1px 2px 2px 0 #5f4ab30f;
transition: box-shadow .2s ease-out
}

.abt-us .legend-item:hover {
box-shadow: 1px 5px 22px 0 #5f4ab317
}

.abt-us .leg-icon {
width: 32px;
height: 32px;
border-radius: 4px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.abt-us .leg-icon.col-a {
background: #5f4ab31f
}

.abt-us .leg-icon.col-b {
background: #bab9d659
}

.abt-us .leg-icon.col-c {
background: #2a1f5c1a
}

.abt-us .leg-icon.col-d {
background: #5f4ab314
}

.abt-us .leg-icon i {
font-size: 18px;
color: #5F4AB3
}

.abt-us .leg-text {
display: flex;
flex-direction: column;
gap: 4px
}

.abt-us .leg-label {
font-size: 15px;
line-height: 1.4;
color: #2a1f5c;
font-weight: 600
}

.abt-us .leg-desc {
font-size: 15px;
line-height: 1.4;
color: #4a4a5a
}

.abt-us .fold-card {
position: relative;
background: linear-gradient(160deg, #5F4AB3 0%, #2a1f5c 100%);
border-radius: 6px;
padding: 32px;
color: #FBF9FB;
overflow: hidden;
transition: box-shadow .28s ease-out;
box-shadow: 1px 5px 22px 0 #5f4ab317
}

.abt-us .fold-card::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 40px 40px 0;
border-color: transparent #fbf9fb26 transparent transparent;
transition: border-width .35s ease-out
}

.abt-us .fold-card:hover::before {
border-width: 0 60px 60px 0
}

.abt-us .fold-card:hover {
box-shadow: 1px 10px 44px 0 #5f4ab31a
}

.abt-us .fold-h4 {
font-size: 18px;
line-height: 1.4;
color: #FBF9FB;
margin: 0 0 8px
}

.abt-us .fold-body {
font-size: 15px;
line-height: 1.6;
color: #BAB9D6;
margin: 0
}

.abt-us .act-link {
display: inline-block;
margin-top: 16px;
font-size: 15px;
line-height: 1.4;
color: #BAB9D6;
text-decoration: none;
border-bottom: 1px solid #bab9d666;
transition: color .18s ease-out, border-color .18s ease-out
}

.abt-us .act-link:hover {
color: #FBF9FB;
border-color: #FBF9FB
}

@media (max-width: 900px) {
.abt-us .story-grid {
grid-template-columns: 1fr
}

.abt-us .team-layout {
grid-template-columns: 1fr
}

.abt-us .team-imgs {
grid-template-columns: 1fr 1fr
}

.abt-us .t-img.tall {
height: 180px;
grid-row: span 1
}
}

@media (max-width: 600px) {
.abt-us .pg-lead {
padding: 32px 16px
}

.abt-us .story-sec,
.abt-us .team-sec {
padding: 32px 16px
}

.abt-us .stat-row {
flex-direction: column
}

.abt-us .team-imgs {
grid-template-columns: 1fr
}

.abt-us .t-img.tall {
height: 200px;
grid-row: span 1
}

.abt-us .divider-space {
padding: 0 16px
}
}

.ct-us {
display: flex;
flex-direction: column;
width: 100%;
overflow-x: clip
}

.ct-us .reach-panel {
background: #5F4AB3;
padding: 80px 32px 64px;
position: relative
}

.ct-us .reach-panel::after {
content: "";
position: absolute;
bottom: -1px;
left: 0;
width: 100%;
height: 48px;
background: #FBF9FB;
clip-path: ellipse(55% 100% at 50% 100%)
}

.ct-us .reach-deco {
position: absolute;
top: -40px;
right: -40px;
width: 220px;
height: 220px;
border-radius: 50%;
border: 1px solid #bab9d62e;
pointer-events: none;
overflow: hidden
}

.ct-us .reach-deco::before {
content: "";
position: absolute;
top: 20px;
left: 20px;
right: 20px;
bottom: 20px;
border-radius: 50%;
border: 1px solid #bab9d624
}

.ct-us .reach-deco::after {
content: "";
position: absolute;
top: 44px;
left: 44px;
right: 44px;
bottom: 44px;
border-radius: 50%;
border: 1px solid #bab9d61a
}

.ct-us .reach-inner {
max-width: 1024px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-end;
position: relative;
z-index: 1
}

.ct-us .reach-text {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 16px
}

.ct-us .reach-overline {
font-size: 15px;
letter-spacing: .12em;
color: #BAB9D6;
font-weight: 400;
line-height: 1.4;
text-transform: uppercase
}

.ct-us .reach-h1 {
font-size: clamp(43px, 6vw, 72px);
line-height: 1.1;
color: #fff;
font-weight: 700;
margin: 0
}

.ct-us .reach-desc {
font-size: 18px;
line-height: 1.6;
color: #fbf9fbd1;
max-width: 480px;
margin: 0
}

.ct-us .reach-cards {
display: flex;
flex-direction: column;
gap: 16px;
min-width: 260px
}

.ct-us .reach-card {
background: #ffffff14;
border: 1px solid #bab9d638;
border-radius: 6px;
padding: 16px;
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
transition: border-color .22s ease-out, background .28s ease-out
}

.ct-us .reach-card:hover {
border-color: #bab9d68c;
background: #ffffff21
}

.ct-us .reach-card-icon {
width: 36px;
height: 36px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
background: #bab9d626;
border-radius: 4px
}

.ct-us .reach-card-icon svg {
width: 18px;
height: 18px;
stroke: #BAB9D6;
fill: none;
stroke-width: 1.6;
stroke-linecap: round;
stroke-linejoin: round
}

.ct-us .reach-card-body {
display: flex;
flex-direction: column;
gap: 4px
}

.ct-us .reach-card-label {
font-size: 15px;
color: #BAB9D6;
line-height: 1.4;
letter-spacing: .06em;
text-transform: uppercase
}

.ct-us .reach-card-val {
font-size: 15px;
color: #fff;
line-height: 1.4;
text-decoration: none;
transition: color .18s ease-out
}

.ct-us .reach-card-val:hover {
color: #BAB9D6;
text-decoration: underline
}

.ct-us .form-area {
background: #FBF9FB;
padding: 72px 32px 80px;
position: relative
}

.ct-us .form-area::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 600px;
height: 600px;
background: radial-gradient(ellipse 60% 60% at 50% 50%, #5f4ab30f 0%, transparent 70%);
pointer-events: none;
border-radius: 50%
}

.ct-us .form-wrap {
max-width: 1024px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-start;
position: relative;
z-index: 1
}

.ct-us .form-meta {
flex: 0 0 280px;
display: flex;
flex-direction: column;
gap: 16px;
padding-top: 8px
}

.ct-us .form-overline {
font-size: 15px;
letter-spacing: .12em;
color: #5F4AB3;
font-weight: 400;
line-height: 1.4;
text-transform: uppercase
}

.ct-us .form-h2 {
font-size: clamp(31px, 4vw, 43px);
line-height: 1.1;
color: #2a2040;
font-weight: 700;
margin: 0
}

.ct-us .form-note {
font-size: 15px;
line-height: 1.6;
color: #3d3555;
margin: 0
}

.ct-us .form-note-sub {
font-size: 15px;
line-height: 1.6;
color: #3d3555;
margin: 0
}

.ct-us .press-link {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
color: #5F4AB3;
text-decoration: none;
border-bottom: 1px solid #5f4ab34d;
padding-bottom: 4px;
transition: border-color .2s ease-out, color .2s ease-out;
margin-top: 8px;
width: fit-content
}

.ct-us .press-link:hover {
color: #3d2e8a;
border-color: #3d2e8a
}

.ct-us .chart-strip {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 4px;
margin-top: 16px;
height: 48px
}

.ct-us .chart-bar {
flex: 1;
border-radius: 2px;
background: linear-gradient(180deg, #5F4AB3 0%, #BAB9D6 100%);
opacity: .18;
transition: opacity .25s ease-out
}

.ct-us .chart-bar:nth-child(1) {
height: 30%;
opacity: .12
}

.ct-us .chart-bar:nth-child(2) {
height: 45%;
opacity: .15
}

.ct-us .chart-bar:nth-child(3) {
height: 55%;
opacity: .18
}

.ct-us .chart-bar:nth-child(4) {
height: 65%;
opacity: .2
}

.ct-us .chart-bar:nth-child(5) {
height: 75%;
opacity: .22
}

.ct-us .chart-bar:nth-child(6) {
height: 85%;
opacity: .25
}

.ct-us .chart-bar:nth-child(7) {
height: 100%;
opacity: .3
}

.ct-us .chart-strip:hover .chart-bar {
opacity: .45
}

.ct-us .frm {
flex: 1 1 0;
background: #fff;
border-radius: 6px;
padding: 32px;
box-shadow: 1px 5px 22px 0 #5f4ab317;
display: flex;
flex-direction: column;
gap: 16px
}

.ct-us .frm-row {
display: flex;
flex-direction: row;
gap: 16px
}

.ct-us .frm-field {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1 1 0
}

.ct-us .frm-field.full {
flex: 0 0 100%;
width: 100%
}

.ct-us .frm-label {
font-size: 15px;
color: #2a2040;
line-height: 1.4;
font-weight: 500
}

.ct-us .frm-label .req {
color: #5F4AB3;
margin-left: 2px
}

.ct-us .frm-input {
width: 100%;
padding: 12px 16px;
border: 1px solid #BAB9D6;
border-radius: 4px;
font-size: 15px;
color: #2a2040;
background: #FBF9FB;
line-height: 1.4;
box-sizing: border-box;
transition: border-color .2s ease-out, box-shadow .25s ease-out;
outline: none;
appearance: none;
-webkit-appearance: none
}

.ct-us .frm-input::placeholder {
color: #9b96b8;
font-weight: 300
}

.ct-us .frm-input:focus {
border-color: #5F4AB3;
box-shadow: 1px 2px 2px 0 #5f4ab30f;
background: #fff
}

.ct-us .frm-select {
width: 100%;
padding: 12px 16px;
border: 1px solid #BAB9D6;
border-radius: 4px;
font-size: 15px;
color: #2a2040;
background: #FBF9FB;
line-height: 1.4;
box-sizing: border-box;
transition: border-color .2s ease-out, box-shadow .25s ease-out;
outline: none;
appearance: none;
-webkit-appearance: none;
cursor: pointer;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235F4AB3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
padding-right: 40px
}

.ct-us .frm-select:focus {
border-color: #5F4AB3;
box-shadow: 1px 2px 2px 0 #5f4ab30f;
background-color: #fff
}

.ct-us .slot-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 8px
}

.ct-us .slot-opt {
position: relative
}

.ct-us .slot-opt input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
pointer-events: none
}

.ct-us .slot-opt label {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 8px 4px;
border: 1px solid #BAB9D6;
border-radius: 4px;
font-size: 15px;
color: #3d3555;
line-height: 1.4;
cursor: pointer;
text-align: center;
background: #FBF9FB;
transition: border-color .2s ease-out, background .22s ease-out, color .2s ease-out;
user-select: none
}

.ct-us .slot-opt label:hover {
border-color: #5F4AB3;
background: #5f4ab30d
}

.ct-us .slot-opt input[type="radio"]:checked+label {
border-color: #5F4AB3;
background: #5f4ab31a;
color: #5F4AB3;
box-shadow: inset 1px 2px 2px 0 #5f4ab314
}

.ct-us .slot-opt input[type="radio"]:focus-visible+label {
outline: 2px solid #5F4AB3;
outline-offset: 2px
}

.ct-us .slot-time {
font-size: 15px;
font-weight: 600;
line-height: 1.4
}

.ct-us .slot-day {
font-size: 15px;
font-weight: 300;
line-height: 1.4;
color: #7a6ea8
}

.ct-us .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
padding: 4px 0
}

.ct-us .privacy-row input[type="checkbox"] {
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px;
accent-color: #5F4AB3;
cursor: pointer;
border-radius: 2px
}

.ct-us .privacy-row input[type="checkbox"]:checked {
box-shadow: inset 1px 2px 2px 0 #5f4ab31f
}

.ct-us .privacy-text {
font-size: 15px;
line-height: 1.6;
color: #3d3555;
margin: 0
}

.ct-us .privacy-text a {
color: #5F4AB3;
text-decoration: none;
border-bottom: 1px solid #5f4ab359;
transition: border-color .18s ease-out
}

.ct-us .privacy-text a:hover {
border-color: #5F4AB3
}

.ct-us .frm-submit {
position: relative;
overflow: hidden;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 14px 32px;
border: 2px solid #5F4AB3;
border-radius: 4px;
font-size: 18px;
font-weight: 600;
color: #5F4AB3;
background: transparent;
cursor: pointer;
line-height: 1.4;
transition: color .25s ease-out, border-color .25s ease-out;
align-self: flex-start
}

.ct-us .frm-submit::before {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #5F4AB3;
transition: height .28s ease-out;
z-index: 0
}

.ct-us .frm-submit:hover::before {
height: 100%
}

.ct-us .frm-submit:hover {
color: #fff
}

.ct-us .frm-submit:active {
box-shadow: inset 1px 2px 2px 0 #5f4ab32e
}

.ct-us .frm-submit:focus-visible {
outline: 2px solid #5F4AB3;
outline-offset: 3px
}

.ct-us .frm-submit-text {
position: relative;
z-index: 1
}

.ct-us .frm-submit svg {
position: relative;
z-index: 1;
width: 18px;
height: 18px;
stroke: currentColor;
fill: none;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
transition: transform .22s ease-out
}

.ct-us .frm-submit:hover svg {
transform: translateX(4px)
}

.ct-us .frm-divider {
height: 1px;
background: linear-gradient(90deg, transparent, #BAB9D6 40%, #BAB9D6 60%, transparent);
border: none;
margin: 4px 0
}

@media (max-width: 900px) {
.ct-us .reach-inner {
flex-direction: column;
align-items: flex-start;
gap: 32px
}

.ct-us .reach-cards {
width: 100%;
flex-direction: row;
flex-wrap: wrap
}

.ct-us .reach-card {
flex: 1 1 200px
}

.ct-us .form-wrap {
flex-direction: column
}

.ct-us .form-meta {
flex: none;
width: 100%
}

.ct-us .slot-grid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 600px) {
.ct-us .reach-panel {
padding: 48px 16px 56px
}

.ct-us .reach-h1 {
font-size: 43px
}

.ct-us .form-area {
padding: 48px 16px 56px
}

.ct-us .frm {
padding: 16px
}

.ct-us .frm-row {
flex-direction: column
}

.ct-us .reach-cards {
flex-direction: column
}

.ct-us .slot-grid {
grid-template-columns: repeat(2, 1fr)
}

.ct-us .frm-submit {
width: 100%;
justify-content: center
}
}

.success-pg {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 32px 16px;
background-color: #FBF9FB
}

.success-pg .success-wrap {
max-width: 1024px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 32px
}

.success-pg .icon-ring {
width: 80px;
height: 80px;
border-radius: 50%;
background: #FBF9FB;
border: 2px solid #BAB9D6;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 1px 5px 22px 0 #5f4ab317;
flex-shrink: 0
}

.success-pg .icon-ring svg {
display: block
}

.success-pg .success-card {
background: #fff;
border-radius: 6px;
box-shadow: 1px 10px 44px 0 #5f4ab31a;
padding: 32px;
max-width: 560px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
text-align: center
}

.success-pg .success-card .overline {
font-size: 15px;
line-height: 1.4;
letter-spacing: .12em;
color: #5F4AB3;
text-transform: uppercase;
font-weight: 600
}

.success-pg .success-card .main-heading {
font-size: 43px;
line-height: 1.1;
color: #5F4AB3;
margin: 0
}

.success-pg .success-card .sub-text {
font-size: 18px;
line-height: 1.6;
color: #2d2a3e;
margin: 0;
max-width: 420px
}

.success-pg .success-card .detail-text {
font-size: 15px;
line-height: 1.6;
color: #4a4660;
margin: 0
}

.success-pg .divider-line {
width: 48px;
height: 2px;
background: #BAB9D6;
border-radius: 2px
}

.success-pg .action-row {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
justify-content: center;
margin-top: 8px
}

.success-pg .btn-primary {
position: relative;
overflow: hidden;
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 32px;
border-radius: 4px;
border: 2px solid #5F4AB3;
background: transparent;
color: #5F4AB3;
font-size: 15px;
line-height: 1.4;
font-weight: 600;
letter-spacing: .06em;
cursor: pointer;
text-decoration: none;
transition: color .25s ease-out, border-color .25s ease-out;
z-index: 0
}

.success-pg .btn-primary::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #5F4AB3;
transition: height .22s ease-out;
z-index: -1
}

.success-pg .btn-primary:hover::before,
.success-pg .btn-primary:focus::before {
height: 100%
}

.success-pg .btn-primary:hover,
.success-pg .btn-primary:focus {
color: #fff;
outline: none
}

.success-pg .btn-primary:active {
box-shadow: inset 1px 2px 2px 0 #5f4ab32e
}

.success-pg .btn-secondary {
position: relative;
overflow: hidden;
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 32px;
border-radius: 4px;
border: 2px solid #BAB9D6;
background: transparent;
color: #4a4660;
font-size: 15px;
line-height: 1.4;
font-weight: 500;
letter-spacing: .04em;
cursor: pointer;
text-decoration: none;
transition: color .35s ease-out, border-color .35s ease-out;
z-index: 0
}

.success-pg .btn-secondary::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #BAB9D6;
transition: height .28s ease-out;
z-index: -1
}

.success-pg .btn-secondary:hover::before,
.success-pg .btn-secondary:focus::before {
height: 100%
}

.success-pg .btn-secondary:hover,
.success-pg .btn-secondary:focus {
color: #2d2a3e;
border-color: #BAB9D6;
outline: none
}

.success-pg .btn-secondary:active {
box-shadow: inset 1px 2px 2px 0 #bab9d638
}

.success-pg .contact-note {
font-size: 15px;
line-height: 1.6;
color: #4a4660;
text-align: center
}

.success-pg .contact-note a {
color: #5F4AB3;
text-decoration: none;
border-bottom: 1px solid transparent;
transition: border-color .18s ease-out
}

.success-pg .contact-note a:hover,
.success-pg .contact-note a:focus {
border-bottom-color: #5F4AB3;
outline: none
}

@media (max-width: 600px) {
.success-pg {
padding: 32px 16px
}

.success-pg .success-card {
padding: 32px 16px
}

.success-pg .success-card .main-heading {
font-size: 31px
}

.success-pg .action-row {
flex-direction: column;
align-items: stretch
}

.success-pg .btn-primary,
.success-pg .btn-secondary {
justify-content: center
}
}