html {
box-sizing: border-box
}

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

body {
margin: 0;
padding: 0;
min-height: 100vh
}

.top-bar {
background: linear-gradient(90deg, #1b0a2e 0%, #2a1045 100%);
border-bottom: 1px solid #64279b38;
padding: 8px 40px;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 24px
}

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

.top-contact-item {
display: flex;
align-items: center;
gap: 8px;
font-family: 'Lora', serif;
font-size: 14px;
line-height: 1.5;
color: #c8b8d8;
text-decoration: none;
transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.top-contact-item:hover,
.top-contact-item:focus {
color: #C47CCE;
outline: none
}

.top-contact-item:focus-visible {
outline: 2px dashed #C47CCE;
outline-offset: 3px;
border-radius: 5px
}

.top-contact-item .mi {
font-size: 14px;
color: #C47CCE
}

.top-location {
display: flex;
align-items: center;
gap: 8px;
font-family: 'Lora', serif;
font-size: 14px;
line-height: 1.5;
color: #c8b8d8
}

.top-location .mi {
font-size: 14px;
color: #C47CCE
}

.top-divider {
width: 1px;
height: 16px;
background: #c47cce4d
}

.site-header {
background: linear-gradient(135deg, #120620 0%, #1e0a35 60%, #160828 100%);
border-bottom: 1px solid #64279b59;
box-shadow: 2px 6px 25px -1px #64279b17;
position: relative
}

.header-inner {
max-width: 1440px;
margin: 0 auto;
padding: 24px 40px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 40px
}

.brand-pod {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
flex-shrink: 0
}

.logo-ring {
width: 80px;
height: 80px;
border-radius: 40px;
background: #e0cfde12;
border: 1px solid #c47cce66;
box-shadow: 2px 1px 3px -1px #64279b12 0 0 0 3px #64279b1f;
display: flex;
align-items: center;
justify-content: center;
padding: 8px
}

.logo-ring img {
width: 64px;
height: 64px;
object-fit: contain;
display: block
}

.brand-tagline {
font-family: 'Lora', serif;
font-size: 14px;
line-height: 1.5;
color: #C47CCE;
letter-spacing: .06em;
text-align: center;
white-space: nowrap
}

.primary-nav-deck {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap
}

.nav-link {
font-family: 'Lora', serif;
font-size: 18px;
line-height: 1.5;
color: #d4c4e0;
text-decoration: none;
padding: 8px 24px;
border-radius: 10px;
border: 1px solid transparent;
display: inline-flex;
align-items: center;
gap: 8px;
transition: color .55s cubic-bezier(0.22, 1, 0.36, 1), border-color .55s cubic-bezier(0.22, 1, 0.36, 1), background .55s cubic-bezier(0.22, 1, 0.36, 1);
white-space: nowrap;
min-height: 44px
}

.nav-link:hover,
.nav-link:focus {
color: #E0CFDE;
border-color: #c47cce59;
background: #64279b1f;
outline: none
}

.nav-link:focus-visible {
outline: 2px dashed #C47CCE;
outline-offset: 3px
}

.nav-link[data-active="true"] {
color: #fff;
border-color: #c47cce80;
background: #64279b33
}

.nav-cta-link {
font-family: 'Lora', serif;
font-size: 18px;
line-height: 1.5;
color: #E0CFDE;
text-decoration: none;
padding: 8px 24px;
border-radius: 10px;
border: 1px solid #c47cce80;
background: #64279b2e;
display: inline-flex;
align-items: center;
gap: 8px;
transition: color .45s ease-in-out, background .45s ease-in-out, border-color .45s ease-in-out;
white-space: nowrap;
min-height: 44px;
box-shadow: inset 0 1px 4px #64279b21
}

.nav-cta-link:hover,
.nav-cta-link:focus {
color: #fff;
background: #64279b61;
border-color: #C47CCE;
outline: none
}

.nav-cta-link:focus-visible {
outline: 2px dashed #C47CCE;
outline-offset: 3px
}

.nav-arrow {
display: inline-flex;
align-items: center;
font-size: 14px;
transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.nav-cta-link:hover .nav-arrow,
.nav-cta-link:focus .nav-arrow {
transform: translateX(4px)
}

.site-footer {
background: linear-gradient(180deg, #120620 0%, #0e0418 100%);
border-top: 1px solid #64279b4d
}

.footer-upper {
max-width: 1440px;
margin: 0 auto;
padding: 80px 40px 40px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 40px
}

.footer-brand-cell {
display: flex;
flex-direction: column;
gap: 24px
}

.footer-brand-name {
font-family: 'Lora', serif;
font-size: 22px;
line-height: 1.1;
color: #E0CFDE;
letter-spacing: -.02em;
font-weight: 700
}

.footer-desc {
font-family: 'Lora', serif;
font-size: 14px;
line-height: 1.9;
color: #9e8aaf
}

.footer-links-cell {
display: flex;
flex-direction: column;
gap: 24px
}

.footer-group-label {
font-family: 'Lora', serif;
font-size: 14px;
line-height: 1.5;
color: #C47CCE;
letter-spacing: .08em;
text-transform: uppercase;
font-weight: 700
}

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

.footer-link-list li a {
font-family: 'Lora', serif;
font-size: 18px;
line-height: 1.5;
color: #b8a4cc;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 8px;
transition: color .5s cubic-bezier(0.22, 1, 0.36, 1);
padding: 4px 0;
min-height: 44px
}

.footer-link-list li a:hover,
.footer-link-list li a:focus {
color: #E0CFDE;
outline: none
}

.footer-link-list li a:focus-visible {
outline: 2px dashed #C47CCE;
outline-offset: 3px;
border-radius: 5px
}

.footer-link-list li a .mi {
font-size: 14px;
color: #64279B;
transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.footer-link-list li a:hover .mi {
color: #C47CCE
}

.footer-contact-cell {
display: flex;
flex-direction: column;
gap: 24px
}

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

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

.footer-contact-list li .mi {
font-size: 18px;
color: #C47CCE;
flex-shrink: 0;
margin-top: 2px
}

.footer-contact-list li a,
.footer-contact-list li span {
font-family: 'Lora', serif;
font-size: 14px;
line-height: 1.9;
color: #9e8aaf;
text-decoration: none;
transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.footer-contact-list li a:hover,
.footer-contact-list li a:focus {
color: #E0CFDE;
outline: none
}

.footer-contact-list li a:focus-visible {
outline: 2px dashed #C47CCE;
outline-offset: 3px;
border-radius: 5px
}

.footer-divider {
max-width: 1440px;
margin: 0 auto;
height: 1px;
background: #64279b33
}

.footer-bottom-strip {
max-width: 1440px;
margin: 0 auto;
padding: 40px 40px 80px;
display: flex;
flex-direction: column;
align-items: center;
gap: 24px
}

.footer-logo-ring {
width: 72px;
height: 72px;
border-radius: 40px;
background: #e0cfde0d;
border: 1px solid #c47cce4d;
box-shadow: 2px 1px 3px -1px #64279b12;
display: flex;
align-items: center;
justify-content: center;
padding: 8px
}

.footer-logo-ring img {
width: 56px;
height: 56px;
object-fit: contain;
display: block
}

.footer-legal-links {
display: flex;
align-items: center;
gap: 24px;
flex-wrap: wrap;
justify-content: center
}

.footer-legal-links a {
font-family: 'Lora', serif;
font-size: 14px;
line-height: 1.5;
color: #7a6888;
text-decoration: underline;
text-underline-offset: 3px;
transition: color .5s cubic-bezier(0.22, 1, 0.36, 1);
min-height: 44px;
display: inline-flex;
align-items: center
}

.footer-legal-links a:hover,
.footer-legal-links a:focus {
color: #C47CCE;
outline: none
}

.footer-legal-links a:focus-visible {
outline: 2px dashed #C47CCE;
outline-offset: 3px;
border-radius: 5px
}

.footer-legal-dot {
width: 3px;
height: 3px;
border-radius: 40px;
background: #c47cce59;
flex-shrink: 0
}

.footer-copy {
font-family: 'Lora', serif;
font-size: 14px;
line-height: 1.5;
color: #5a4868;
text-align: center
}

.cookie-bar {
position: fixed;
bottom: 24px;
right: 24px;
z-index: 4000;
width: 360px;
max-width: calc(100vw - 48px);
background: linear-gradient(135deg, #1a0830 0%, #220d40 100%);
border: 1px solid #c47cce66;
border-radius: 16px;
box-shadow: 2px 10px 36px -1px #64279b21 inset 0 1px 0 #c47cce1a;
padding: 24px;
display: none;
flex-direction: column;
gap: 24px;
transform: translateY(20px);
opacity: 0;
transition: transform .38s cubic-bezier(0.22, 1, 0.36, 1), opacity .38s cubic-bezier(0.22, 1, 0.36, 1)
}

.cookie-bar[data-visible="true"] {
transform: translateY(0);
opacity: 1
}

.cookie-bar-text {
font-family: 'Lora', serif;
font-size: 14px;
line-height: 1.9;
color: #c0aed4
}

.cookie-bar-text a {
color: #C47CCE;
text-decoration: underline;
text-underline-offset: 2px;
transition: color .45s ease-in-out
}

.cookie-bar-text a:hover,
.cookie-bar-text a:focus {
color: #E0CFDE;
outline: none
}

.cookie-bar-text a:focus-visible {
outline: 2px dashed #C47CCE;
outline-offset: 2px;
border-radius: 5px
}

.cookie-toggles {
display: none;
flex-direction: column;
gap: 8px
}

.cookie-toggles[data-open="true"] {
display: flex
}

.cookie-toggle-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
padding: 8px;
border-radius: 10px;
background: #64279b1a
}

.cookie-toggle-label {
font-family: 'Lora', serif;
font-size: 14px;
line-height: 1.5;
color: #c0aed4
}

.cookie-toggle-label span {
font-size: 14px;
color: #7a6888;
display: block;
line-height: 1.5
}

.toggle-switch {
position: relative;
width: 40px;
height: 22px;
flex-shrink: 0
}

.toggle-switch input {
opacity: 0;
width: 0;
height: 0;
position: absolute
}

.toggle-track {
position: absolute;
inset: 0;
background: #64279b40;
border-radius: 26px;
border: 1px solid #c47cce4d;
cursor: pointer;
transition: background .45s ease-in-out
}

.toggle-track::after {
content: '';
position: absolute;
top: 2px;
left: 2px;
width: 16px;
height: 16px;
border-radius: 40px;
background: #7a6888;
transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1), background .45s ease-in-out
}

.toggle-switch input:checked+.toggle-track {
background: #64279b8c;
border-color: #C47CCE
}

.toggle-switch input:checked+.toggle-track::after {
transform: translateX(18px);
background: #C47CCE
}

.toggle-switch input:focus-visible+.toggle-track {
outline: 2px dashed #C47CCE;
outline-offset: 3px
}

.toggle-always-on {
font-family: 'Lora', serif;
font-size: 14px;
line-height: 1.5;
color: #7a6888;
flex-shrink: 0
}

.cookie-actions {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
flex-wrap: wrap
}

.cookie-btn {
font-family: 'Lora', serif;
font-size: 14px;
line-height: 1.5;
background: none;
border: none;
cursor: pointer;
padding: 8px 0;
text-decoration: underline;
text-underline-offset: 3px;
transition: color .45s ease-in-out;
min-height: 44px;
display: inline-flex;
align-items: center
}

.cookie-btn:focus-visible {
outline: 2px dashed #C47CCE;
outline-offset: 3px;
border-radius: 5px
}

.cookie-btn-accept {
color: #E0CFDE
}

.cookie-btn-accept:hover,
.cookie-btn-accept:focus {
color: #fff
}

.cookie-btn-reject {
color: #9e8aaf
}

.cookie-btn-reject:hover,
.cookie-btn-reject:focus {
color: #E0CFDE
}

.cookie-btn-settings {
color: #7a6888
}

.cookie-btn-settings:hover,
.cookie-btn-settings:focus {
color: #C47CCE
}

.cookie-btn-save {
color: #C47CCE
}

.cookie-btn-save:hover,
.cookie-btn-save:focus {
color: #E0CFDE
}

@media (max-width: 900px) {
.top-bar {
padding: 8px 24px;
flex-wrap: wrap;
gap: 8px
}

.header-inner {
padding: 24px;
flex-wrap: wrap;
gap: 24px
}

.primary-nav-deck {
gap: 8px
}

.nav-link {
font-size: 14px;
padding: 8px 16px
}

.nav-cta-link {
font-size: 14px;
padding: 8px 16px
}

.footer-upper {
grid-template-columns: 1fr;
padding: 40px 24px 24px
}

.footer-bottom-strip {
padding: 24px 24px 40px
}
}

@media (max-width: 600px) {
.top-location {
display: none
}

.top-divider:first-of-type {
display: none
}

.brand-pod {
width: 100%;
flex-direction: row;
align-items: center;
gap: 16px
}

.primary-nav-deck {
width: 100%
}
}

.rules-a-block {
max-width: 1440px;
margin: 0 auto;
padding: 80px 40px;
color: #d4c8e0;
line-height: 1.9
}

.rules-a-block h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: -.03em;
color: #e8dff0;
margin-bottom: 40px;
margin-top: 0;
padding-bottom: 24px;
border-bottom: 1px solid #64279b59
}

.rules-a-block h2 {
font-size: 22px;
line-height: 1.5;
letter-spacing: -.015em;
color: #ddd0ea;
margin-top: 80px;
margin-bottom: 24px;
padding-left: 0;
position: relative
}

.rules-a-block h2::after {
content: "";
display: block;
width: 40px;
height: 2px;
background: linear-gradient(90deg, #64279B, #C47CCE);
margin-top: 8px;
border-radius: 5px
}

.rules-a-block h3 {
font-size: 18px;
line-height: 1.5;
letter-spacing: -.01em;
color: #cfc2de;
margin-top: 40px;
margin-bottom: 24px
}

.rules-a-block h4 {
font-size: 18px;
line-height: 1.5;
letter-spacing: -.005em;
color: #c4b8d4;
margin-top: 40px;
margin-bottom: 24px;
font-weight: 600
}

.rules-a-block h5 {
font-size: 14px;
line-height: 1.5;
letter-spacing: .04em;
text-transform: uppercase;
color: #C47CCE;
margin-top: 40px;
margin-bottom: 8px
}

.rules-a-block h6 {
font-size: 14px;
line-height: 1.5;
letter-spacing: .02em;
color: #b8add0;
margin-top: 24px;
margin-bottom: 8px;
font-weight: 600
}

.rules-a-block p {
font-size: 18px;
line-height: 1.9;
color: #c8bcda;
margin-top: 0;
margin-bottom: 24px;
max-width: 72ch
}

.rules-a-block ul {
margin-top: 0;
margin-bottom: 24px;
padding-left: 24px;
list-style: none
}

.rules-a-block ol {
margin-top: 0;
margin-bottom: 24px;
padding-left: 24px;
list-style: none;
counter-reset: policy-counter
}

.rules-a-block ul li {
font-size: 18px;
line-height: 1.9;
color: #c8bcda;
margin-bottom: 8px;
padding-left: 24px;
position: relative;
max-width: 72ch
}

.rules-a-block ul li::before {
content: "";
display: block;
width: 6px;
height: 6px;
border-radius: 40px;
background: #C47CCE;
position: absolute;
left: 0;
top: 12px;
opacity: .75
}

.rules-a-block ol li {
font-size: 18px;
line-height: 1.9;
color: #c8bcda;
margin-bottom: 8px;
padding-left: 24px;
position: relative;
max-width: 72ch;
counter-increment: policy-counter
}

.rules-a-block ol li::before {
content: counter(policy-counter) ".";
position: absolute;
left: 0;
top: 0;
font-size: 14px;
color: #C47CCE;
font-weight: 700;
line-height: 1.9;
opacity: .85
}

.rules-a-block ul ul,
.rules-a-block ol ol,
.rules-a-block ul ol,
.rules-a-block ol ul {
margin-top: 8px;
margin-bottom: 8px;
padding-left: 24px
}

.rules-a-block strong,
.rules-a-block b {
font-weight: 700;
color: #e0d4ee
}

.rules-a-block hr {
border: none;
border-top: 1px solid #c47cce2e;
margin-top: 80px;
margin-bottom: 80px;
background: none
}

.rules-a-block div {
font-size: 18px;
line-height: 1.9;
color: #c8bcda
}

.rules-a-block div p:last-child {
margin-bottom: 0
}

@media (max-width: 900px) {
.rules-a-block {
padding: 80px 24px
}

.rules-a-block h1 {
font-size: 56px
}

.rules-a-block h2 {
margin-top: 40px
}

.rules-a-block hr {
margin-top: 40px;
margin-bottom: 40px
}
}

@media (max-width: 600px) {
.rules-a-block {
padding: 40px 24px
}

.rules-a-block h1 {
font-size: 22px;
letter-spacing: -.02em
}

.rules-a-block h2 {
margin-top: 40px
}

.rules-a-block p,
.rules-a-block ul li,
.rules-a-block ol li,
.rules-a-block div {
font-size: 14px
}
}

.abus {
background: #0d0a12;
color: #d4c8e0;
overflow-x: clip;
position: relative
}

.abus ::selection {
background: linear-gradient(90deg, #64279B, #C47CCE);
color: #fff
}

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

.abus .pg-wrap {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px
}

@keyframes vignette-breathe {

0%,
100% {
opacity: .55
}

50% {
opacity: .85
}
}

.abus .split-hero {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 620px;
position: relative
}

.abus .split-left {
background: #64279B;
padding: 80px 40px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
overflow: hidden
}

.abus .split-left::before {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 30% 40%, #c47cce2e 0%, #0d0a1273 70%);
animation: vignette-breathe 6s ease-in-out infinite;
pointer-events: none
}

.abus .quote-mark {
position: absolute;
top: 24px;
left: 24px;
font-size: 220px;
line-height: 1.1;
color: #e0cfde12;
pointer-events: none;
user-select: none;
font-style: normal;
display: block
}

.abus .split-left-inner {
position: relative;
z-index: 1
}

.abus .accent-phrase {
display: inline-block;
font-size: 14px;
line-height: 1.5;
letter-spacing: .12em;
text-transform: uppercase;
color: #E0CFDE;
background: #e0cfde1a;
border-radius: 5px;
padding: 8px 24px;
margin-bottom: 24px
}

.abus .split-h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: -.03em;
color: #fff;
margin: 0 0 24px
}

.abus .split-h1 em {
font-style: normal;
color: #E0CFDE;
text-decoration: underline;
text-decoration-color: #c47cce80;
text-underline-offset: 6px
}

.abus .split-desc {
font-size: 18px;
line-height: 1.9;
color: #e0cfded9;
margin: 0;
max-width: 460px
}

.abus .split-right {
background: #1a0f2a;
position: relative;
overflow: hidden;
display: flex;
align-items: stretch
}

.abus .split-img-wrap {
width: 100%;
height: 100%;
position: relative;
clip-path: polygon(8% 0%, 100% 0%, 100% 100%, 0% 100%)
}

.abus .split-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.abus .split-img-wrap:hover img {
transform: scale(1.04)
}

.abus .split-img-overlay {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 50% 40%, #64279b59 0%, #0d0a12b8 80%);
transition: opacity .55s ease-in-out;
pointer-events: none
}

.abus .split-img-wrap:hover .split-img-overlay {
opacity: .3
}

.abus .split-divider {
height: 2px;
background: linear-gradient(90deg, #64279B 0%, #C47CCE 50%, transparent 100%)
}

.abus .milestones-band {
background: #110d1c;
padding: 80px 0;
position: relative
}

.abus .milestones-band::before {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 50% 50%, #64279b14 0%, transparent 70%);
animation: vignette-breathe 8s ease-in-out infinite;
pointer-events: none
}

.abus .band-label {
font-size: 14px;
letter-spacing: .14em;
text-transform: uppercase;
color: #C47CCE;
margin-bottom: 8px;
display: block
}

.abus .band-heading {
font-size: 22px;
line-height: 1.5;
color: #E0CFDE;
margin: 0 0 40px;
text-decoration: underline;
text-decoration-color: #c47cce59;
text-underline-offset: 5px
}

.abus .milestone-track {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 0;
position: relative;
overflow-x: auto;
padding-bottom: 8px
}

.abus .milestone-track::before {
content: "";
position: absolute;
top: 28px;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, transparent 0%, #64279B 15%, #C47CCE 50%, #64279B 85%, transparent 100%)
}

.abus .mstone {
flex: 1;
min-width: 160px;
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
position: relative;
padding-top: 0
}

.abus .mstone-dot {
width: 56px;
height: 56px;
border-radius: 16px;
background: #1e1430;
border: 2px solid #64279B;
display: flex;
align-items: center;
justify-content: center;
position: relative;
z-index: 1;
transition: background .5s cubic-bezier(0.22, 1, 0.36, 1), border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
box-shadow: 2px 6px 25px -1px #64279b17
}

.abus .mstone:hover .mstone-dot {
background: #64279B;
border-color: #C47CCE;
box-shadow: 2px 10px 36px -1px #64279b21
}

.abus .mstone-dot svg {
width: 22px;
height: 22px;
stroke: #C47CCE;
fill: none;
stroke-width: 1.8;
transition: stroke .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.abus .mstone:hover .mstone-dot svg {
stroke: #fff
}

.abus .mstone-year {
font-size: 14px;
line-height: 1.5;
color: #C47CCE;
font-weight: 600;
letter-spacing: .06em
}

.abus .mstone-label {
font-size: 14px;
line-height: 1.5;
color: #E0CFDE;
text-align: center;
max-width: 130px
}

.abus .mstone-sub {
font-size: 14px;
line-height: 1.5;
color: #c47cce99;
text-align: center;
max-width: 130px
}

.abus .ms-divider {
height: 2px;
background: #C47CCE;
opacity: .18;
margin: 40px 0 0
}

.abus .values-block {
background: #0d0a12;
padding: 80px 0;
position: relative
}

.abus .values-block::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, transparent, #64279B 40%, #C47CCE 60%, transparent)
}

.abus .values-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start
}

.abus .values-left {
display: flex;
flex-direction: column;
gap: 24px
}

.abus .values-img-frame {
position: relative;
border-radius: 26px;
overflow: hidden;
box-shadow: 2px 10px 36px -1px #64279b21
}

.abus .values-img-frame img {
width: 100%;
height: 380px;
object-fit: cover;
display: block;
clip-path: polygon(0 0, 100% 0, 100% 88%, 92% 100%, 0 100%);
transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.abus .values-img-frame:hover img {
transform: scale(1.05)
}

.abus .values-img-tint {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 40% 35%, #64279b66 0%, #0d0a12ad 75%);
transition: opacity .6s ease-in-out;
pointer-events: none
}

.abus .values-img-frame:hover .values-img-tint {
opacity: .25
}

.abus .values-stat-row {
display: flex;
flex-direction: row;
gap: 24px
}

.abus .stat-pill {
flex: 1;
background: #1a0f2a;
border-radius: 16px;
padding: 24px;
box-shadow: inset 2px 1px 3px -1px #64279b12 2px 6px 25px -1px #64279b17;
display: flex;
flex-direction: column;
gap: 8px;
transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), background .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.abus .stat-pill:hover {
background: #200f38;
box-shadow: inset 2px 1px 3px -1px #64279b12 2px 10px 36px -1px #64279b21
}

.abus .stat-num {
font-size: 56px;
line-height: 1.1;
letter-spacing: -.03em;
color: #C47CCE
}

.abus .stat-desc {
font-size: 14px;
line-height: 1.5;
color: #e0cfdeb3
}

.abus .values-right {
display: flex;
flex-direction: column;
gap: 24px;
padding-top: 8px
}

.abus .values-heading {
font-size: 22px;
line-height: 1.5;
color: #E0CFDE;
margin: 0;
text-decoration: underline;
text-decoration-color: #c47cce59;
text-underline-offset: 5px
}

.abus .values-para {
font-size: 18px;
line-height: 1.9;
color: #d4c8e0d9;
margin: 0
}

.abus .val-cards {
display: flex;
flex-direction: column;
gap: 24px
}

.abus .val-card {
background: #15102080;
border-radius: 16px;
padding: 24px;
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
box-shadow: inset 2px 1px 3px -1px #64279b12;
transition: background .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.abus .val-card:hover {
background: #1e1430
}

.abus .val-icon {
width: 40px;
height: 40px;
min-width: 40px;
border-radius: 10px;
background: #64279b38;
display: flex;
align-items: center;
justify-content: center
}

.abus .val-icon svg {
width: 20px;
height: 20px;
stroke: #C47CCE;
fill: none;
stroke-width: 1.8
}

.abus .val-text h5 {
font-size: 18px;
line-height: 1.5;
color: #E0CFDE;
margin: 0 0 8px
}

.abus .val-text p {
font-size: 14px;
line-height: 1.9;
color: #c47ccebf;
margin: 0
}

.abus .team-band {
background: #110d1c;
padding: 80px 0;
position: relative
}

.abus .team-band::before {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 50% 60%, #c47cce0f 0%, transparent 65%);
animation: vignette-breathe 7s ease-in-out infinite;
pointer-events: none
}

.abus .team-head-row {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 40px;
margin-bottom: 40px
}

.abus .team-heading {
font-size: 22px;
line-height: 1.5;
color: #E0CFDE;
margin: 0;
text-decoration: underline;
text-decoration-color: #c47cce59;
text-underline-offset: 5px
}

.abus .team-sub {
font-size: 18px;
line-height: 1.9;
color: #d4c8e0bf;
margin: 0;
max-width: 520px
}

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

.abus .tm-card {
background: #16102280;
border-radius: 26px;
overflow: hidden;
box-shadow: 2px 6px 25px -1px #64279b17;
transition: box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1), background .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.abus .tm-card:hover {
background: #1e1430;
box-shadow: 2px 10px 36px -1px #64279b21
}

.abus .tm-img-wrap {
position: relative;
height: 260px;
overflow: hidden
}

.abus .tm-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
clip-path: polygon(0 0, 100% 0, 100% 85%, 50% 100%, 0 85%);
transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.abus .tm-card:hover .tm-img-wrap img {
transform: scale(1.06)
}

.abus .tm-tint {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 50% 30%, #64279b61 0%, #0d0a12a6 80%);
transition: opacity .55s ease-in-out;
pointer-events: none
}

.abus .tm-card:hover .tm-tint {
opacity: .2
}

.abus .tm-body {
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px
}

.abus .tm-name {
font-size: 18px;
line-height: 1.5;
color: #E0CFDE;
margin: 0
}

.abus .tm-role {
display: inline-block;
font-size: 14px;
line-height: 1.5;
color: #C47CCE;
background: #c47cce1a;
border-radius: 5px;
padding: 4px 8px
}

.abus .tm-quote {
font-size: 14px;
line-height: 1.9;
color: #d4c8e0a6;
margin: 0
}

.abus .tm-tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-top: 8px
}

.abus .tm-tag {
font-size: 14px;
line-height: 1.5;
color: #e0cfdeb3;
background: #64279b26;
border-radius: 5px;
padding: 4px 8px
}

.abus .contact-strip {
margin-top: 40px;
background: linear-gradient(135deg, #64279b38 0%, #c47cce14 100%);
border-radius: 16px;
padding: 40px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 40px;
box-shadow: inset 2px 1px 3px -1px #64279b12
}

.abus .strip-text h4 {
font-size: 22px;
line-height: 1.5;
color: #E0CFDE;
margin: 0 0 8px
}

.abus .strip-text p {
font-size: 18px;
line-height: 1.9;
color: #d4c8e0b3;
margin: 0
}

.abus .strip-link {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 18px;
line-height: 1.5;
color: #E0CFDE;
text-decoration: none;
letter-spacing: .01em;
position: relative;
padding-bottom: 4px;
transition: color .5s cubic-bezier(0.22, 1, 0.36, 1), letter-spacing .5s cubic-bezier(0.22, 1, 0.36, 1);
white-space: nowrap
}

.abus .strip-link::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 1px;
background: #C47CCE;
transform: scaleX(0.3);
transform-origin: left;
transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.abus .strip-link:hover {
color: #C47CCE;
letter-spacing: .04em
}

.abus .strip-link:hover::after {
transform: scaleX(1)
}

.abus .strip-link svg {
width: 18px;
height: 18px;
stroke: currentColor;
fill: none;
stroke-width: 2;
flex-shrink: 0;
transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.abus .strip-link:hover svg {
transform: translateX(4px)
}

.abus .zigzag-top {
width: 100%;
line-height: 0;
overflow: hidden
}

.abus .zigzag-top svg {
display: block;
width: 100%
}

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

.abus .split-right {
min-height: 300px
}

.abus .split-img-wrap {
clip-path: none
}

.abus .values-grid {
grid-template-columns: 1fr
}

.abus .team-grid {
grid-template-columns: 1fr 1fr
}

.abus .team-head-row {
flex-direction: column;
align-items: flex-start
}

.abus .contact-strip {
flex-direction: column;
align-items: flex-start
}

.abus .milestone-track::before {
display: none
}

.abus .milestone-track {
flex-direction: column;
gap: 24px
}

.abus .mstone {
align-items: flex-start;
flex-direction: row
}
}

@media (max-width: 600px) {
.abus .pg-wrap {
padding: 0 24px
}

.abus .split-left {
padding: 40px 24px
}

.abus .split-h1 {
font-size: 22px
}

.abus .team-grid {
grid-template-columns: 1fr
}

.abus .values-stat-row {
flex-direction: column
}

.abus .milestones-band,
.abus .values-block,
.abus .team-band {
padding: 40px 0
}
}

.lp-prog {
background: #0d0a12;
color: #d8cfe4;
overflow-x: clip;
position: relative
}

.lp-prog ::selection {
background: linear-gradient(90deg, #64279B, #C47CCE);
color: #fff
}

.lp-prog .lp-wrap {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px
}

.lp-prog .tb-outer {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 620px;
position: relative
}

.lp-prog .tb-left {
padding: 80px 40px 80px 80px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
z-index: 1
}

.lp-prog .tb-deco {
position: absolute;
top: 40px;
left: 40px;
pointer-events: none;
z-index: 0
}

.lp-prog .tb-deco span {
display: block;
border-radius: 40px;
background: #64279b21;
position: absolute
}

.lp-prog .tb-deco span:nth-child(1) {
width: 80px;
height: 80px;
top: 0;
left: 0
}

.lp-prog .tb-deco span:nth-child(2) {
width: 40px;
height: 40px;
top: 24px;
left: 100px;
border-radius: 26px
}

.lp-prog .tb-deco span:nth-child(3) {
width: 16px;
height: 16px;
top: 80px;
left: 24px;
border-radius: 10px
}

.lp-prog .tb-label {
font-size: 14px;
letter-spacing: .18em;
text-transform: uppercase;
color: #C47CCE;
margin-bottom: 24px;
font-weight: 600;
position: relative;
z-index: 1
}

.lp-prog .tb-h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: -.02em;
color: #ede8f4;
margin-bottom: 24px;
position: relative;
z-index: 1
}

.lp-prog .tb-h1 .grad-word {
background: linear-gradient(135deg, #C47CCE 0%, #64279B 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.lp-prog .tb-desc {
font-size: 18px;
line-height: 1.9;
color: #b8adc8;
max-width: 480px;
margin-bottom: 40px;
position: relative;
z-index: 1
}

.lp-prog .tb-cta {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 18px;
color: #C47CCE;
text-decoration: none;
font-weight: 600;
letter-spacing: .01em;
transition: gap .5s cubic-bezier(0.22, 1, 0.36, 1), color .45s ease-in-out;
position: relative;
z-index: 1;
border: none;
background: none;
cursor: pointer;
padding: 0
}

.lp-prog .tb-cta:hover {
gap: 16px;
color: #E0CFDE
}

.lp-prog .tb-cta .arr {
display: flex;
align-items: center;
transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.lp-prog .tb-cta:hover .arr {
transform: translateX(4px)
}

.lp-prog .tb-right {
position: relative;
overflow: hidden
}

.lp-prog .tb-img-wrap {
width: 100%;
height: 100%;
position: relative;
overflow: hidden
}

.lp-prog .tb-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: saturate(0.6) brightness(0.75);
transition: filter .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.lp-prog .tb-img-wrap:hover img {
filter: saturate(1) brightness(0.9)
}

.lp-prog .tb-vignette {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 70% 50%, transparent 30%, #0d0a12b8 100%);
pointer-events: none
}

.lp-prog .scallop {
width: 100%;
line-height: 0;
overflow: hidden
}

.lp-prog .scallop svg {
display: block;
width: 100%
}

.lp-prog .detail-outer {
background: linear-gradient(160deg, #130d1e 0%, #1a0f2a 55%, #0d0a12 100%);
padding: 80px 0;
position: relative;
overflow: hidden
}

.lp-prog .detail-bg-accent {
position: absolute;
width: 520px;
height: 520px;
border-radius: 40px;
background: radial-gradient(ellipse at center, #64279b17 0%, transparent 70%);
right: -80px;
bottom: -80px;
pointer-events: none
}

.lp-prog .detail-grid {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 40px;
align-items: start
}

.lp-prog .detail-aside-left {
display: flex;
flex-direction: column;
gap: 24px
}

.lp-prog .detail-stat {
background: #64279b14;
border: 1px solid #c47cce1f;
border-radius: 16px;
padding: 24px;
box-shadow: 2px 6px 25px -1px #64279b17 inset 0 1px 0 #c47cce0f;
transition: border-color .5s ease-in-out, box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.lp-prog .detail-stat:hover {
border-color: #c47cce4d;
box-shadow: 2px 10px 36px -1px #64279b21
}

.lp-prog .stat-num {
font-size: 56px;
line-height: 1.1;
font-weight: 700;
color: #C47CCE;
letter-spacing: -.03em;
display: block
}

.lp-prog .stat-label {
font-size: 14px;
color: #9080a8;
line-height: 1.5;
margin-top: 8px;
display: block
}

.lp-prog .detail-center {
display: flex;
flex-direction: column;
gap: 40px
}

.lp-prog .detail-top-label {
font-size: 14px;
letter-spacing: .16em;
text-transform: uppercase;
color: #C47CCE;
font-weight: 600;
margin-bottom: 8px;
display: block
}

.lp-prog .detail-h2 {
font-size: 22px;
line-height: 1.5;
color: #ede8f4;
letter-spacing: -.01em;
margin-bottom: 24px;
padding-bottom: 8px;
border-bottom: 2px solid #c47cce33;
display: inline-block
}

.lp-prog .detail-body {
font-size: 18px;
line-height: 1.9;
color: #b8adc8
}

.lp-prog .steps-list {
display: flex;
flex-direction: column;
gap: 24px;
list-style: none;
padding: 0;
margin: 0
}

.lp-prog .step-item {
display: grid;
grid-template-columns: 48px 1fr;
gap: 24px;
align-items: start;
padding: 24px;
background: #ffffff06;
border-radius: 16px;
border: 1px solid #c47cce12;
box-shadow: 2px 1px 3px -1px #64279b12 inset 0 1px 0 #ffffff08;
transition: background .55s cubic-bezier(0.22, 1, 0.36, 1), border-color .5s ease-in-out;
animation: reveal-blur .7s cubic-bezier(0.22, 1, 0.36, 1) both
}

.lp-prog .step-item:nth-child(1) {
animation-delay: .1s
}

.lp-prog .step-item:nth-child(2) {
animation-delay: .22s
}

.lp-prog .step-item:nth-child(3) {
animation-delay: .34s
}

.lp-prog .step-item:nth-child(4) {
animation-delay: .46s
}

.lp-prog .step-item:nth-child(5) {
animation-delay: .58s
}

@keyframes reveal-blur {
from {
filter: blur(6px);
opacity: 0;
transform: translateY(10px)
}

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

.lp-prog .step-item:hover {
background: #64279b1a;
border-color: #c47cce33
}

.lp-prog .step-num {
width: 48px;
height: 48px;
border-radius: 10px;
background: linear-gradient(135deg, #64279B 0%, #3d1560 100%);
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
font-weight: 700;
color: #E0CFDE;
flex-shrink: 0;
box-shadow: 2px 6px 25px -1px #64279b17
}

.lp-prog .step-body {
display: flex;
flex-direction: column;
gap: 8px
}

.lp-prog .step-title {
font-size: 18px;
line-height: 1.5;
color: #ede8f4;
font-weight: 600
}

.lp-prog .step-desc {
font-size: 14px;
line-height: 1.9;
color: #9080a8
}

.lp-prog .detail-aside-right {
display: flex;
flex-direction: column;
gap: 24px
}

.lp-prog .aside-card {
background: #c47cce0f;
border: 1px solid #c47cce1a;
border-radius: 16px;
padding: 24px;
box-shadow: 2px 1px 3px -1px #64279b12 inset 0 2px 0 #c47cce0d;
transition: border-color .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.lp-prog .aside-card:hover {
border-color: #c47cce47
}

.lp-prog .aside-card-label {
font-size: 14px;
letter-spacing: .12em;
text-transform: uppercase;
color: #C47CCE;
font-weight: 600;
margin-bottom: 8px;
display: block
}

.lp-prog .aside-card-text {
font-size: 14px;
line-height: 1.9;
color: #9080a8
}

.lp-prog .tag-group {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 8px
}

.lp-prog .tag {
font-size: 14px;
line-height: 1.5;
color: #C47CCE;
background: #64279b1f;
border: 1px solid #c47cce26;
border-radius: 10px;
padding: 4px 8px;
transition: background .45s ease-in-out, border-color .45s ease-in-out
}

.lp-prog .tag:hover {
background: #64279b38;
border-color: #c47cce59
}

.lp-prog .dots-corner {
position: absolute;
top: 40px;
right: 40px;
pointer-events: none;
display: flex;
flex-direction: column;
gap: 8px;
align-items: flex-end
}

.lp-prog .dots-corner .dot {
border-radius: 40px;
background: #c47cce1a;
display: block
}

.lp-prog .dots-corner .dot:nth-child(1) {
width: 10px;
height: 10px
}

.lp-prog .dots-corner .dot:nth-child(2) {
width: 18px;
height: 18px;
border-radius: 10px
}

.lp-prog .dots-corner .dot:nth-child(3) {
width: 8px;
height: 8px
}

.lp-prog .dots-corner .dot:nth-child(4) {
width: 24px;
height: 24px;
border-radius: 16px
}

.lp-prog .dots-corner .dot:nth-child(5) {
width: 12px;
height: 12px;
border-radius: 10px
}

@media (max-width: 1100px) {
.lp-prog .detail-grid {
grid-template-columns: 1fr 1fr
}

.lp-prog .detail-aside-right {
grid-column: 1 / -1;
flex-direction: row;
flex-wrap: wrap
}

.lp-prog .aside-card {
flex: 1 1 200px
}
}

@media (max-width: 860px) {
.lp-prog .tb-outer {
grid-template-columns: 1fr
}

.lp-prog .tb-right {
height: 320px
}

.lp-prog .tb-left {
padding: 80px 24px 40px
}

.lp-prog .tb-h1 {
font-size: 40px
}

.lp-prog .detail-grid {
grid-template-columns: 1fr
}

.lp-prog .detail-aside-left {
flex-direction: row;
flex-wrap: wrap
}

.lp-prog .detail-stat {
flex: 1 1 140px
}

.lp-prog .lp-wrap {
padding: 0 24px
}

.lp-prog .detail-outer {
padding: 40px 0
}
}

@media (max-width: 560px) {
.lp-prog .tb-h1 {
font-size: 32px
}

.lp-prog .step-item {
grid-template-columns: 40px 1fr;
gap: 8px
}
}

.cu-page {
background: #0d0a12;
color: #d4c8e0;
overflow-x: clip;
position: relative
}

.cu-page ::selection {
background: linear-gradient(90deg, #64279B, #C47CCE);
color: #fff
}

.cu-page * {
box-sizing: border-box
}

.cu-page .band-divider {
width: 100%;
height: 3px;
background: linear-gradient(90deg, transparent, #64279B 30%, #C47CCE 70%, transparent);
border: none;
margin: 0
}

.cu-page .diamond-sep {
display: inline-flex;
align-items: center;
gap: 8px;
margin-bottom: 24px
}

.cu-page .diamond-sep span {
display: inline-block;
width: 8px;
height: 8px;
background: #C47CCE;
transform: rotate(45deg)
}

.cu-page .diamond-sep em {
font-style: normal;
font-size: 14px;
letter-spacing: .12em;
color: #C47CCE;
text-transform: uppercase
}

.cu-page .reach-block {
max-width: 1440px;
margin: 0 auto;
padding: 80px 40px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start;
position: relative
}

.cu-page .reach-block::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 25% 40%, #64279b21 0%, transparent 65%);
pointer-events: none
}

.cu-page .reach-left {
position: relative;
z-index: 1
}

.cu-page .reach-left h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: -.03em;
color: #f0eaf6;
margin: 0 0 24px;
text-decoration-line: underline;
text-decoration-color: #64279B;
text-decoration-thickness: 2px;
text-underline-offset: 8px
}

.cu-page .reach-left p {
font-size: 18px;
line-height: 1.9;
color: #b8a8cc;
margin: 0 0 40px;
max-width: 440px
}

.cu-page .contact-cards {
display: flex;
flex-direction: column;
gap: 24px
}

.cu-page .c-card {
background: #64279b12;
border: 1px solid #c47cce24;
border-radius: 16px;
padding: 24px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 24px;
box-shadow: inset 2px 1px 3px -1px #64279b12;
transition: background .55s cubic-bezier(0.22, 1, 0.36, 1), border-color .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.cu-page .c-card:hover {
background: #64279b24;
border-color: #c47cce52;
box-shadow: 2px 6px 25px -1px #64279b17
}

.cu-page .c-card-icon {
width: 40px;
height: 40px;
min-width: 40px;
border-radius: 10px;
background: #64279b40;
display: flex;
align-items: center;
justify-content: center;
color: #C47CCE;
font-size: 18px;
transition: background .5s ease-in-out, color .5s ease-in-out
}

.cu-page .c-card:hover .c-card-icon {
background: #64279b73;
color: #E0CFDE
}

.cu-page .c-card-icon svg {
width: 20px;
height: 20px;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round
}

.cu-page .c-card-body {
display: flex;
flex-direction: column;
gap: 8px
}

.cu-page .c-card-label {
font-size: 14px;
color: #7a6890;
letter-spacing: .08em;
text-transform: uppercase
}

.cu-page .c-card-val {
font-size: 18px;
color: #e8dff4;
line-height: 1.5;
text-decoration: none;
transition: letter-spacing .6s cubic-bezier(0.22, 1, 0.36, 1), color .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.cu-page .c-card-val:hover {
letter-spacing: .04em;
color: #C47CCE
}

.cu-page .reach-right {
position: relative;
z-index: 1
}

.cu-page .form-shell {
background: #120c1cd9;
border: 1px solid #c47cce29;
border-radius: 26px;
padding: 40px;
box-shadow: 2px 10px 36px -1px #64279b21 inset 2px 1px 3px -1px #64279b12;
position: relative;
overflow: hidden
}

.cu-page .form-shell::before {
content: '';
position: absolute;
top: -40px;
right: -40px;
width: 200px;
height: 200px;
border-radius: 40px;
background: radial-gradient(ellipse at 60% 40%, #64279b2e 0%, transparent 70%);
pointer-events: none
}

.cu-page .dot-scatter {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
overflow: hidden;
border-radius: 26px
}

.cu-page .dot-scatter span {
position: absolute;
width: 3px;
height: 3px;
border-radius: 5px;
background: #c47cce2e
}

.cu-page .dot-scatter span:nth-child(1) {
top: 12%;
left: 8%
}

.cu-page .dot-scatter span:nth-child(2) {
top: 28%;
left: 92%
}

.cu-page .dot-scatter span:nth-child(3) {
top: 65%;
left: 5%
}

.cu-page .dot-scatter span:nth-child(4) {
top: 80%;
left: 88%
}

.cu-page .dot-scatter span:nth-child(5) {
top: 45%;
left: 95%
}

.cu-page .dot-scatter span:nth-child(6) {
top: 90%;
left: 40%
}

.cu-page .dot-scatter span:nth-child(7) {
top: 8%;
left: 55%
}

.cu-page .form-head {
margin-bottom: 40px;
position: relative;
z-index: 1
}

.cu-page .form-head h2 {
font-size: 22px;
line-height: 1.5;
color: #f0eaf6;
margin: 0 0 8px;
text-decoration-line: underline;
text-decoration-color: #64279B;
text-decoration-thickness: 1px;
text-underline-offset: 5px
}

.cu-page .form-head p {
font-size: 14px;
line-height: 1.9;
color: #7a6890;
margin: 0
}

.cu-page .cu-form {
display: flex;
flex-direction: column;
gap: 24px;
position: relative;
z-index: 1
}

.cu-page .field-group {
display: flex;
flex-direction: column;
gap: 8px
}

.cu-page .field-group label {
font-size: 14px;
color: #9880b0;
letter-spacing: .06em;
text-transform: uppercase
}

.cu-page .field-group input[type="email"],
.cu-page .field-group select {
width: 100%;
background: #64279b14;
border: 1px solid #c47cce2e;
border-radius: 10px;
padding: 16px 24px;
font-size: 18px;
color: #e8dff4;
outline: none;
appearance: none;
-webkit-appearance: none;
transition: border-color .5s ease-in-out, background .5s ease-in-out, box-shadow .5s ease-in-out;
box-shadow: inset 2px 1px 3px -1px #64279b12
}

.cu-page .field-group input[type="email"]::placeholder {
color: #4a3860
}

.cu-page .field-group select option {
background: #1a0f2a;
color: #e8dff4
}

.cu-page .field-group input[type="email"]:focus,
.cu-page .field-group select:focus {
border-color: #c47cce8c;
background: #64279b24;
box-shadow: 2px 6px 25px -1px #64279b17 inset 2px 1px 3px -1px #64279b12
}

.cu-page .select-wrap {
position: relative
}

.cu-page .select-wrap select {
cursor: pointer;
padding-right: 48px
}

.cu-page .select-arrow {
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
pointer-events: none;
color: #7a6890;
display: flex;
align-items: center
}

.cu-page .select-arrow svg {
width: 16px;
height: 16px;
fill: none;
stroke: currentColor;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round
}

.cu-page .time-prefs {
display: flex;
flex-direction: column;
gap: 8px
}

.cu-page .time-prefs label {
font-size: 14px;
color: #9880b0;
letter-spacing: .06em;
text-transform: uppercase
}

.cu-page .time-badges {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px
}

.cu-page .time-badges input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0
}

.cu-page .time-badge-label {
display: inline-flex;
align-items: center;
padding: 8px 24px;
border-radius: 40px;
border: 1px solid #c47cce33;
background: #64279b0f;
color: #9880b0;
font-size: 14px;
cursor: pointer;
transition: background .45s cubic-bezier(0.22, 1, 0.36, 1), border-color .45s cubic-bezier(0.22, 1, 0.36, 1), color .45s cubic-bezier(0.22, 1, 0.36, 1);
user-select: none
}

.cu-page .time-badge-label:hover {
background: #64279b2e;
border-color: #c47cce66;
color: #C47CCE
}

.cu-page .time-badges input[type="radio"]:checked+.time-badge-label {
background: #64279b59;
border-color: #C47CCE;
color: #E0CFDE;
box-shadow: 2px 1px 3px -1px #64279b12
}

.cu-page .time-badges input[type="radio"]:focus-visible+.time-badge-label {
outline: 2px solid #C47CCE;
outline-offset: 3px
}

.cu-page .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
padding: 24px;
background: #64279b0f;
border-radius: 10px;
border: 1px solid #c47cce1a
}

.cu-page .privacy-row input[type="checkbox"] {
width: 18px;
height: 18px;
min-width: 18px;
margin-top: 2px;
accent-color: #64279B;
cursor: pointer
}

.cu-page .privacy-row .priv-text {
font-size: 14px;
line-height: 1.9;
color: #7a6890
}

.cu-page .privacy-row .priv-text a {
color: #C47CCE;
text-decoration: underline;
text-decoration-color: #c47cce66;
text-underline-offset: 3px;
transition: letter-spacing .6s cubic-bezier(0.22, 1, 0.36, 1), color .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.cu-page .privacy-row .priv-text a:hover {
letter-spacing: .04em;
color: #E0CFDE
}

.cu-page .submit-btn {
display: inline-flex;
align-items: center;
gap: 8px;
background: transparent;
border: 1px solid #c47cce59;
border-radius: 10px;
padding: 16px 40px;
font-size: 18px;
color: #C47CCE;
cursor: pointer;
position: relative;
overflow: hidden;
align-self: flex-start;
transition: border-color .55s cubic-bezier(0.22, 1, 0.36, 1), color .55s cubic-bezier(0.22, 1, 0.36, 1), background .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.cu-page .submit-btn:hover {
border-color: #C47CCE;
color: #E0CFDE;
background: #64279b38;
box-shadow: 2px 6px 25px -1px #64279b17
}

.cu-page .submit-btn:focus-visible {
outline: 2px solid #C47CCE;
outline-offset: 4px
}

.cu-page .submit-btn:active {
background: #64279b59
}

.cu-page .btn-arrow {
display: inline-flex;
align-items: center;
transform: translateX(0);
transition: transform .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.cu-page .submit-btn:hover .btn-arrow {
transform: translateX(8px)
}

.cu-page .btn-arrow svg {
width: 18px;
height: 18px;
fill: none;
stroke: currentColor;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round
}

.cu-page .alt-block {
background: linear-gradient(180deg, #0d0a12 0%, #130d1f 60%, #1a0f2a 100%);
padding: 80px 0 0
}

.cu-page .alt-inner {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px 80px;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 80px;
align-items: start
}

.cu-page .alt-label-col {
position: sticky;
top: 40px
}

.cu-page .alt-label-col h3 {
font-size: 22px;
line-height: 1.5;
color: #f0eaf6;
margin: 0 0 24px;
text-decoration-line: underline;
text-decoration-color: #64279B;
text-decoration-thickness: 1px;
text-underline-offset: 5px
}

.cu-page .alt-label-col p {
font-size: 14px;
line-height: 1.9;
color: #7a6890;
margin: 0
}

.cu-page .meta-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.cu-page .meta-item {
background: #64279b0d;
border: 1px solid #c47cce1a;
border-radius: 16px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px;
box-shadow: inset 2px 1px 3px -1px #64279b12;
transition: background .65s cubic-bezier(0.22, 1, 0.36, 1), border-color .65s cubic-bezier(0.22, 1, 0.36, 1), transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.cu-page .meta-grid:hover .meta-item {
transform: scale(0.98)
}

.cu-page .meta-grid:hover .meta-item:hover {
transform: scale(1.02);
background: #64279b21;
border-color: #c47cce47
}

.cu-page .meta-item-icon {
width: 32px;
height: 32px;
color: #64279B;
transition: color .5s ease-in-out
}

.cu-page .meta-item:hover .meta-item-icon {
color: #C47CCE
}

.cu-page .meta-item-icon svg {
width: 28px;
height: 28px;
fill: none;
stroke: currentColor;
stroke-width: 1.6;
stroke-linecap: round;
stroke-linejoin: round
}

.cu-page .meta-item h5 {
font-size: 14px;
line-height: 1.5;
color: #9880b0;
margin: 0;
letter-spacing: .06em;
text-transform: uppercase
}

.cu-page .meta-item p {
font-size: 18px;
line-height: 1.5;
color: #e8dff4;
margin: 0
}

.cu-page .meta-item .note {
font-size: 14px;
color: #7a6890;
line-height: 1.9
}

@media (max-width: 1024px) {
.cu-page .reach-block {
grid-template-columns: 1fr;
gap: 40px;
padding: 80px 24px
}

.cu-page .reach-left h1 {
font-size: 40px
}

.cu-page .alt-inner {
grid-template-columns: 1fr;
gap: 40px;
padding: 0 24px 80px
}

.cu-page .alt-label-col {
position: static
}

.cu-page .meta-grid {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 640px) {
.cu-page .reach-left h1 {
font-size: 36px
}

.cu-page .meta-grid {
grid-template-columns: 1fr
}

.cu-page .form-shell {
padding: 24px
}

.cu-page .time-badges {
gap: 8px
}

.cu-page .submit-btn {
width: 100%;
justify-content: center
}
}

.philan {
background: #0d0a12;
color: #d8cfe0;
overflow-x: clip;
position: relative
}

.philan ::selection {
background: linear-gradient(90deg, #64279B, #C47CCE);
color: #f0eaf5
}

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

.philan .pg-strip {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 24px 80px;
max-width: 1440px;
margin: 0 auto
}

.philan .pg-strip .stroke-group {
display: flex;
flex-direction: row;
gap: 8px;
opacity: .35
}

.philan .pg-strip .stroke-group span {
display: block;
width: 3px;
height: 18px;
background: #C47CCE;
border-radius: 5px
}

.philan .pg-strip .stroke-group span:nth-child(2) {
height: 12px;
margin-top: 3px
}

.philan .pg-strip .stroke-group span:nth-child(3) {
height: 22px;
margin-top: -2px
}

.philan .pg-strip .stroke-group span:nth-child(4) {
height: 10px;
margin-top: 4px
}

.philan .pg-strip .breadcrumb {
font-size: 14px;
line-height: 1.5;
color: #8a7a96;
letter-spacing: .04em
}

.philan .pg-strip .breadcrumb a {
color: #8a7a96;
text-decoration: none;
transition: color .5s cubic-bezier(0.22, 1, 0.36, 1), letter-spacing .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.philan .pg-strip .breadcrumb a:hover {
color: #C47CCE;
letter-spacing: .07em
}

.philan .pg-strip .breadcrumb span {
margin: 0 8px;
opacity: .4
}

.philan .above-fold {
max-width: 1440px;
margin: 0 auto;
padding: 40px 80px 80px;
display: grid;
grid-template-columns: 1fr 380px;
gap: 80px;
align-items: end;
position: relative
}

.philan .above-fold::before {
content: '';
position: absolute;
top: 0;
left: 80px;
right: 380px;
bottom: 0;
background: radial-gradient(ellipse at 30% 40%, #64279b1f 0%, transparent 65%);
pointer-events: none
}

.philan .af-left {
display: flex;
flex-direction: column;
gap: 24px;
position: relative;
z-index: 1
}

.philan .af-left .eyebrow {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px
}

.philan .af-left .eyebrow .dot {
width: 8px;
height: 8px;
border-radius: 5px;
background: #64279B;
animation: colorload .65s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

@keyframes colorload {
0% {
background: #2a2030
}

60% {
background: #C47CCE
}

100% {
background: #64279B
}
}

.philan .af-left .eyebrow .label {
font-size: 14px;
line-height: 1.5;
color: #8a7a96;
letter-spacing: .1em;
text-transform: uppercase
}

.philan .af-left .pg-heading {
font-size: 56px;
line-height: 1.1;
letter-spacing: -.02em;
color: #ede8f2;
margin: 0;
text-decoration: underline;
text-decoration-color: #64279b66;
text-underline-offset: 6px;
text-decoration-thickness: 2px
}

.philan .af-left .tagline {
font-size: 18px;
line-height: 1.9;
color: #b0a4bc;
max-width: 520px;
margin: 0
}

.philan .af-left .af-links {
display: flex;
flex-direction: row;
gap: 40px;
align-items: center;
padding-top: 8px
}

.philan .af-left .af-links a {
font-size: 14px;
line-height: 1.5;
color: #C47CCE;
text-decoration: none;
letter-spacing: .03em;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
transition: letter-spacing .55s cubic-bezier(0.22, 1, 0.36, 1), color .45s ease-in-out;
position: relative;
overflow: hidden
}

.philan .af-left .af-links a i {
font-size: 14px;
transition: transform .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.philan .af-left .af-links a:hover {
letter-spacing: .07em;
color: #E0CFDE
}

.philan .af-left .af-links a:hover i {
transform: translateX(4px)
}

.philan .af-right {
position: relative;
height: 420px
}

.philan .af-right .img-wrap {
width: 100%;
height: 100%;
border-radius: 16px;
overflow: hidden;
box-shadow: 2px 10px 36px -1px #64279b21;
position: relative
}

.philan .af-right .img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: filter .6s cubic-bezier(0.22, 1, 0.36, 1);
filter: saturate(0.7) brightness(0.75)
}

.philan .af-right .img-wrap:hover img {
filter: saturate(1) brightness(0.9)
}

.philan .af-right .img-wrap .img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(180deg, #64279b59 0%, #0d0a128c 100%);
border-radius: 16px;
pointer-events: none;
transition: opacity .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.philan .af-right .img-wrap:hover .img-overlay {
opacity: .5
}

.philan .af-right .shape-a {
position: absolute;
width: 120px;
height: 120px;
border: 2px solid #64279b33;
border-radius: 26px;
top: -24px;
left: -24px;
pointer-events: none
}

.philan .af-right .shape-b {
position: absolute;
width: 60px;
height: 60px;
background: #c47cce12;
border-radius: 16px;
bottom: -16px;
right: -16px;
pointer-events: none
}

.philan .divider-mono {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
padding: 40px 80px;
gap: 24px
}

.philan .divider-mono .div-line {
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent, #64279b40, transparent);
max-width: 400px
}

.philan .divider-mono .div-symbol {
font-size: 22px;
line-height: 1.1;
color: #c47cce66;
font-weight: 700;
letter-spacing: -.03em;
border: 1px solid #64279b33;
border-radius: 10px;
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center
}

.philan .metrics-band {
background: linear-gradient(160deg, #130e1c 0%, #0f0b18 55%, #12101a 100%);
clip-path: polygon(0 0, 100% 24px, 100% 100%, 0 calc(100% - 24px));
padding: 80px;
position: relative
}

.philan .metrics-band::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 70% 50%, #64279b17 0%, transparent 60%);
pointer-events: none
}

.philan .metrics-inner {
max-width: 1440px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start;
position: relative;
z-index: 1
}

.philan .metrics-left {
display: flex;
flex-direction: column;
gap: 24px
}

.philan .metrics-left .sec-label {
font-size: 14px;
line-height: 1.5;
color: #64279B;
letter-spacing: .1em;
text-transform: uppercase
}

.philan .metrics-left .sec-head {
font-size: 22px;
line-height: 1.5;
color: #ede8f2;
margin: 0;
text-decoration: underline;
text-decoration-color: #c47cce4d;
text-underline-offset: 5px;
text-decoration-thickness: 1px
}

.philan .metrics-left .sec-body {
font-size: 18px;
line-height: 1.9;
color: #a094ac;
margin: 0
}

.philan .dual-metric {
display: flex;
flex-direction: row;
gap: 40px;
padding-top: 24px;
border-top: 1px solid #64279b33;
margin-top: 8px
}

.philan .dual-metric .met-item {
display: flex;
flex-direction: column;
gap: 8px
}

.philan .dual-metric .met-item .met-fig {
font-size: 56px;
line-height: 1.1;
letter-spacing: -.03em;
color: #C47CCE;
animation: colorload .7s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

.philan .dual-metric .met-item .met-desc {
font-size: 14px;
line-height: 1.5;
color: #7a6e84;
max-width: 140px
}

.philan .metrics-right {
display: flex;
flex-direction: column;
gap: 24px
}

.philan .activity-list {
display: flex;
flex-direction: column;
gap: 24px;
padding: 0;
margin: 0;
list-style: none
}

.philan .activity-list li {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
padding: 24px;
background: #64279b0f;
border-radius: 16px;
box-shadow: inset 2px 1px 3px -1px #64279b12;
transition: background .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
cursor: default
}

.philan .activity-list li:hover {
background: #64279b1f;
box-shadow: inset 2px 6px 25px -1px #64279b17
}

.philan .activity-list li:active {
background: #c47cce26
}

.philan .activity-list .act-icon {
width: 40px;
height: 40px;
border-radius: 10px;
background: #64279b33;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
transition: background .45s ease-in-out
}

.philan .activity-list li:hover .act-icon {
background: #64279b59
}

.philan .activity-list .act-icon i {
font-size: 18px;
color: #C47CCE
}

.philan .activity-list .act-text {
display: flex;
flex-direction: column;
gap: 8px
}

.philan .activity-list .act-text .act-name {
font-size: 18px;
line-height: 1.5;
color: #ddd5e6;
margin: 0
}

.philan .activity-list .act-text .act-desc {
font-size: 14px;
line-height: 1.9;
color: #8a7a96;
margin: 0
}

.philan .divider-b {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
padding: 40px 80px;
gap: 24px
}

.philan .divider-b .div-line {
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent, #c47cce33, transparent);
max-width: 400px
}

.philan .divider-b .div-symbol {
font-size: 22px;
line-height: 1.1;
color: #64279b80;
font-weight: 700;
letter-spacing: -.03em;
border: 1px solid #c47cce26;
border-radius: 10px;
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center
}

.philan .timeline-block {
max-width: 1440px;
margin: 0 auto;
padding: 40px 80px 80px;
display: grid;
grid-template-columns: 340px 1fr;
gap: 80px;
align-items: start
}

.philan .tl-sidebar {
background: linear-gradient(160deg, #1a1128 0%, #150f22 100%);
border-radius: 26px;
padding: 40px;
display: flex;
flex-direction: column;
gap: 24px;
box-shadow: 2px 6px 25px -1px #64279b17 inset 2px 1px 3px -1px #64279b12;
position: sticky;
top: 40px
}

.philan .tl-sidebar .sid-label {
font-size: 14px;
line-height: 1.5;
color: #64279B;
letter-spacing: .1em;
text-transform: uppercase
}

.philan .tl-sidebar .sid-head {
font-size: 22px;
line-height: 1.5;
color: #ede8f2;
margin: 0;
text-decoration: underline;
text-decoration-color: #64279b59;
text-underline-offset: 5px;
text-decoration-thickness: 1px
}

.philan .tl-sidebar .sid-body {
font-size: 14px;
line-height: 1.9;
color: #8a7a96;
margin: 0
}

.philan .tl-sidebar .badge-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
padding-top: 8px
}

.philan .tl-sidebar .badge {
font-size: 14px;
line-height: 1.5;
color: #C47CCE;
background: #64279b26;
border-radius: 40px;
padding: 4px 16px;
border: 1px solid #64279b40;
transition: background .45s ease-in-out, color .45s ease-in-out
}

.philan .tl-sidebar .badge:hover {
background: #64279b47;
color: #E0CFDE
}

.philan .tl-main {
display: flex;
flex-direction: column;
gap: 0
}

.philan .tl-item {
display: flex;
flex-direction: row;
gap: 24px;
position: relative;
padding-bottom: 40px
}

.philan .tl-item:last-child {
padding-bottom: 0
}

.philan .tl-track {
display: flex;
flex-direction: column;
align-items: center;
flex-shrink: 0;
width: 40px
}

.philan .tl-track .tl-dot {
width: 16px;
height: 16px;
border-radius: 5px;
background: #64279B;
border: 2px solid #c47cce66;
flex-shrink: 0;
margin-top: 4px;
transition: background .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.philan .tl-item:hover .tl-dot {
background: #C47CCE
}

.philan .tl-track .tl-line {
width: 1px;
flex: 1;
background: linear-gradient(180deg, #64279b66 0%, #64279b1a 100%);
margin-top: 8px
}

.philan .tl-item:last-child .tl-line {
display: none
}

.philan .tl-card {
flex: 1;
background: #140e1eb3;
border-radius: 16px;
padding: 24px;
border: 1px solid #64279b26;
box-shadow: inset 2px 1px 3px -1px #64279b12;
transition: border-color .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1);
display: flex;
flex-direction: column;
gap: 8px
}

.philan .tl-card:hover {
border-color: #64279b66;
box-shadow: inset 2px 6px 25px -1px #64279b17
}

.philan .tl-card .tl-year {
font-size: 14px;
line-height: 1.5;
color: #64279B;
letter-spacing: .08em;
text-transform: uppercase
}

.philan .tl-card .tl-head {
font-size: 18px;
line-height: 1.5;
color: #ddd5e6;
margin: 0
}

.philan .tl-card .tl-body {
font-size: 14px;
line-height: 1.9;
color: #8a7a96;
margin: 0
}

@media (max-width: 1100px) {
.philan .above-fold {
grid-template-columns: 1fr;
padding: 40px 40px 80px;
gap: 40px
}

.philan .af-right {
height: 280px
}

.philan .metrics-inner {
grid-template-columns: 1fr;
gap: 40px
}

.philan .metrics-band {
padding: 80px 40px
}

.philan .timeline-block {
grid-template-columns: 1fr;
padding: 40px 40px 80px;
gap: 40px
}

.philan .tl-sidebar {
position: static
}
}

@media (max-width: 700px) {
.philan .above-fold {
padding: 24px 24px 80px
}

.philan .pg-strip {
padding: 24px
}

.philan .pg-heading {
font-size: 22px !important
}

.philan .af-links {
flex-direction: column !important;
align-items: flex-start !important;
gap: 16px !important
}

.philan .dual-metric {
flex-direction: column;
gap: 24px
}

.philan .metrics-band {
padding: 80px 24px;
clip-path: none
}

.philan .timeline-block {
padding: 40px 24px 80px
}

.philan .divider-mono,
.philan .divider-b {
padding: 40px 24px
}
}

.entr {
background: #0d0a12;
color: #d4c8e0;
overflow-x: clip;
position: relative
}

.entr .cross-divider {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 8px 0
}

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

.entr .cross-divider span::before,
.entr .cross-divider span::after {
content: "";
position: absolute;
background: #64279B;
border-radius: 1px
}

.entr .cross-divider span::before {
width: 2px;
height: 6px;
left: 2px;
top: 0
}

.entr .cross-divider span::after {
width: 6px;
height: 2px;
left: 0;
top: 2px
}

.entr .cross-divider .line {
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent, #64279B44, transparent);
max-width: 200px
}

.entr .cross-divider .center-gem {
width: 8px;
height: 8px;
background: #C47CCE;
transform: rotate(45deg);
border-radius: 2px;
flex-shrink: 0
}

.entr ::selection {
background: linear-gradient(90deg, #64279B, #C47CCE);
color: #fff
}

@keyframes flicker-accent {

0%,
100% {
opacity: 0
}

15% {
opacity: .06
}

30% {
opacity: 0
}

55% {
opacity: .04
}

70% {
opacity: 0
}

85% {
opacity: .05
}
}

@keyframes load-in {
from {
opacity: 0;
transform: translateY(16px)
}

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

.entr .title-band {
position: relative;
border-top: 1px solid #64279B55;
border-bottom: 1px solid #64279B55;
padding: 40px 24px;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center
}

.entr .title-band::before {
content: "";
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(135deg, #64279B0a 0px, #64279B0a 2px, transparent 2px, transparent 18px);
pointer-events: none
}

.entr .title-band::after {
content: "";
position: absolute;
inset: 0;
background: #64279B;
animation: flicker-accent 7s ease-in-out infinite;
pointer-events: none
}

.entr .title-inner {
max-width: 1440px;
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 40px;
position: relative;
z-index: 1
}

.entr .title-text-col {
flex: 1;
min-width: 0;
animation: load-in .6s cubic-bezier(0.22, 1, 0.36, 1) both
}

.entr .title-accent-phrase {
display: inline-block;
font-size: 14px;
letter-spacing: .12em;
color: #C47CCE;
text-transform: uppercase;
margin-bottom: 8px;
border-bottom: 1px solid #C47CCE66;
padding-bottom: 8px
}

.entr .title-h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: -.03em;
color: #ede6f5;
margin: 0 0 24px
}

.entr .title-h1 em {
font-style: normal;
color: #C47CCE
}

.entr .title-sub {
font-size: 18px;
line-height: 1.5;
color: #b8a8cc;
max-width: 480px;
margin: 0
}

.entr .title-img-col {
flex: 0 0 420px;
animation: load-in .7s cubic-bezier(0.22, 1, 0.36, 1) .15s both
}

.entr .title-img-frame {
border-radius: 16px;
overflow: hidden;
position: relative;
box-shadow: 2px 10px 36px -1px #64279b21
}

.entr .title-img-frame::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(160deg, #64279B55, #0d0a1288);
transition: opacity .5s cubic-bezier(0.22, 1, 0.36, 1);
border-radius: 16px
}

.entr .title-img-frame:hover::after {
opacity: 0
}

.entr .title-img-frame img {
display: block;
width: 100%;
height: 280px;
object-fit: cover;
filter: blur(0px) saturate(0.8);
transition: filter .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.entr .title-img-frame:hover img {
filter: blur(0px) saturate(1.1)
}

.entr .community-sec {
padding: 80px 24px;
position: relative;
background: #100d18
}

.entr .community-sec::before {
content: "";
position: absolute;
inset: 0;
background-image: url(./photo_gallery/best_graphic8.jpg);
background-size: cover;
background-position: center;
opacity: .04;
pointer-events: none;
border-radius: 0
}

.entr .community-wrap {
max-width: 1440px;
margin: 0 auto;
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 24px;
align-items: start
}

.entr .comm-lead {
padding: 40px;
background: #16111f;
border-radius: 26px;
box-shadow: inset 2px 1px 3px -1px #64279b12;
position: relative;
animation: load-in .55s cubic-bezier(0.22, 1, 0.36, 1) .1s both
}

.entr .comm-lead-label {
font-size: 14px;
color: #C47CCE;
letter-spacing: .1em;
text-transform: uppercase;
display: block;
margin-bottom: 24px;
border-bottom: 1px solid #C47CCE33;
padding-bottom: 8px
}

.entr .comm-lead h2 {
font-size: 22px;
line-height: 1.5;
color: #ede6f5;
margin: 0 0 24px;
letter-spacing: -.01em
}

.entr .comm-lead p {
font-size: 18px;
line-height: 1.9;
color: #b8a8cc;
margin: 0
}

.entr .comm-stat {
padding: 24px;
background: #13101b;
border-radius: 16px;
box-shadow: 2px 6px 25px -1px #64279b17;
display: flex;
flex-direction: column;
gap: 8px;
animation: load-in .55s cubic-bezier(0.22, 1, 0.36, 1) both
}

.entr .comm-stat:nth-child(2) {
animation-delay: .15s
}

.entr .comm-stat:nth-child(3) {
animation-delay: .25s
}

.entr .comm-stat:nth-child(4) {
animation-delay: .35s
}

.entr .comm-stat .stat-num {
font-size: 56px;
line-height: 1.1;
color: #C47CCE;
letter-spacing: -.04em
}

.entr .comm-stat .stat-label {
font-size: 14px;
color: #8a7a9e;
line-height: 1.5
}

.entr .comm-stat .stat-icon {
width: 24px;
height: 24px;
margin-bottom: 8px;
color: #64279B
}

.entr .gap-sec {
padding: 80px 24px;
background: #0d0a12;
position: relative
}

.entr .gap-wrap {
max-width: 1440px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 40px;
align-items: center
}

.entr .gap-img-side {
flex: 0 0 520px;
border-radius: 16px;
overflow: hidden;
box-shadow: 2px 10px 36px -1px #64279b21;
position: relative
}

.entr .gap-img-side::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(200deg, #64279B66, transparent 60%);
transition: opacity .55s ease-in-out
}

.entr .gap-img-side:hover::after {
opacity: 0
}

.entr .gap-img-side img {
display: block;
width: 100%;
height: 380px;
object-fit: cover;
filter: blur(3px) saturate(0.7);
transition: filter .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.entr .gap-img-side:hover img {
filter: blur(0px) saturate(1)
}

.entr .gap-text-side {
flex: 1;
min-width: 0
}

.entr .gap-text-side h2 {
font-size: 22px;
line-height: 1.5;
color: #ede6f5;
margin: 0 0 24px;
letter-spacing: -.01em;
border-bottom: 1px solid #64279B44;
padding-bottom: 8px
}

.entr .gap-text-side p {
font-size: 18px;
line-height: 1.9;
color: #b8a8cc;
margin: 0 0 24px
}

.entr .gap-text-side p:last-child {
margin: 0
}

.entr .gap-tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-top: 24px
}

.entr .gap-tag {
font-size: 14px;
color: #C47CCE;
background: #64279B1a;
border: 1px solid #64279B44;
border-radius: 5px;
padding: 8px 24px;
letter-spacing: .06em
}

.entr .support-sec {
padding: 80px 24px;
background: #0f0c17;
position: relative
}

.entr .support-sec::after {
content: "";
position: absolute;
inset: 0;
background: #64279B;
animation: flicker-accent 11s ease-in-out 3s infinite;
pointer-events: none
}

.entr .support-wrap {
max-width: 1440px;
margin: 0 auto;
position: relative;
z-index: 1
}

.entr .support-head {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 40px;
gap: 40px
}

.entr .support-head h2 {
font-size: 22px;
line-height: 1.5;
color: #ede6f5;
margin: 0;
letter-spacing: -.01em;
border-bottom: 1px solid #C47CCE44;
padding-bottom: 8px;
max-width: 420px
}

.entr .support-head p {
font-size: 18px;
line-height: 1.9;
color: #8a7a9e;
max-width: 480px;
margin: 0
}

.entr .support-items {
display: flex;
flex-direction: row;
gap: 24px
}

.entr .sup-item {
flex: 1;
background: #16111f;
border-radius: 16px;
padding: 24px;
box-shadow: inset 2px 1px 3px -1px #64279b12 2px 6px 25px -1px #64279b17;
display: flex;
flex-direction: column;
gap: 8px;
transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.entr .sup-item:hover {
box-shadow: inset 2px 1px 3px -1px #64279b12 2px 10px 36px -1px #64279b21
}

.entr .sup-icon {
width: 32px;
height: 32px;
margin-bottom: 8px;
color: #C47CCE;
flex-shrink: 0
}

.entr .sup-item h4 {
font-size: 18px;
line-height: 1.5;
color: #ede6f5;
margin: 0
}

.entr .sup-item p {
font-size: 14px;
line-height: 1.9;
color: #8a7a9e;
margin: 0
}

.entr .value-sec {
padding: 80px 24px;
background: #0d0a12;
position: relative
}

.entr .value-wrap {
max-width: 1440px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 40px;
align-items: start
}

.entr .value-text {
flex: 1;
min-width: 0
}

.entr .value-text h2 {
font-size: 22px;
line-height: 1.5;
color: #ede6f5;
margin: 0 0 24px;
border-bottom: 1px solid #64279B44;
padding-bottom: 8px
}

.entr .value-text p {
font-size: 18px;
line-height: 1.9;
color: #b8a8cc;
margin: 0 0 24px
}

.entr .value-text p:last-of-type {
margin-bottom: 0
}

.entr .value-timeline {
flex: 0 0 480px
}

.entr .timeline {
list-style: none;
padding: 0;
margin: 0;
position: relative
}

.entr .timeline::before {
content: "";
position: absolute;
left: 12px;
top: 0;
bottom: 0;
width: 1px;
background: linear-gradient(180deg, #64279B, #C47CCE44, transparent)
}

.entr .tl-item {
display: flex;
flex-direction: row;
gap: 24px;
padding: 0 0 40px;
position: relative;
animation: load-in .6s cubic-bezier(0.22, 1, 0.36, 1) both
}

.entr .tl-item:nth-child(1) {
animation-delay: .1s
}

.entr .tl-item:nth-child(2) {
animation-delay: .2s
}

.entr .tl-item:nth-child(3) {
animation-delay: .3s
}

.entr .tl-item:nth-child(4) {
animation-delay: .4s
}

.entr .tl-dot {
width: 24px;
height: 24px;
border-radius: 40px;
background: #64279B;
flex-shrink: 0;
margin-top: 4px;
box-shadow: 2px 1px 3px -1px #64279b12;
display: flex;
align-items: center;
justify-content: center;
z-index: 1
}

.entr .tl-dot::after {
content: "";
width: 8px;
height: 8px;
border-radius: 40px;
background: #C47CCE
}

.entr .tl-body {
flex: 1
}

.entr .tl-body h5 {
font-size: 18px;
line-height: 1.5;
color: #ede6f5;
margin: 0 0 8px
}

.entr .tl-body p {
font-size: 14px;
line-height: 1.9;
color: #8a7a9e;
margin: 0
}

.entr .cond-sec {
padding: 80px 24px;
background: #100d18;
position: relative
}

.entr .cond-sec::before {
content: "";
position: absolute;
inset: 0;
background-image: url(./photo_gallery/asset-2024-010.jpg);
background-size: cover;
background-position: center;
opacity: .04;
pointer-events: none
}

.entr .cond-wrap {
max-width: 1440px;
margin: 0 auto;
position: relative;
z-index: 1
}

.entr .cond-head {
max-width: 600px;
margin-bottom: 40px
}

.entr .cond-head h2 {
font-size: 22px;
line-height: 1.5;
color: #ede6f5;
margin: 0 0 24px;
border-bottom: 1px solid #C47CCE44;
padding-bottom: 8px
}

.entr .cond-head p {
font-size: 18px;
line-height: 1.9;
color: #b8a8cc;
margin: 0
}

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

.entr .cond-card {
background: #13101b;
border-radius: 16px;
padding: 24px;
box-shadow: inset 2px 1px 3px -1px #64279b12;
display: flex;
flex-direction: column;
gap: 8px;
transition: background .5s ease-in-out
}

.entr .cond-card:hover {
background: #1a1325
}

.entr .cond-card h5 {
font-size: 18px;
line-height: 1.5;
color: #ede6f5;
margin: 0
}

.entr .cond-card p {
font-size: 14px;
line-height: 1.9;
color: #8a7a9e;
margin: 0
}

.entr .cond-badge {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 14px;
color: #C47CCE;
margin-bottom: 8px
}

.entr .cond-badge svg {
width: 16px;
height: 16px;
flex-shrink: 0
}

.entr .rep-sec {
padding: 80px 24px;
background: #0d0a12;
position: relative
}

.entr .rep-wrap {
max-width: 1440px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 40px;
align-items: start
}

.entr .rep-img-col {
flex: 0 0 400px;
border-radius: 16px;
overflow: hidden;
box-shadow: 2px 10px 36px -1px #64279b21;
position: relative
}

.entr .rep-img-col::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(140deg, #64279B55, transparent 70%);
transition: opacity .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.entr .rep-img-col:hover::after {
opacity: 0
}

.entr .rep-img-col img {
display: block;
width: 100%;
height: 360px;
object-fit: cover;
filter: blur(3px) saturate(0.65);
transition: filter .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.entr .rep-img-col:hover img {
filter: blur(0px) saturate(1)
}

.entr .rep-text-col {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: 24px
}

.entr .rep-text-col h2 {
font-size: 22px;
line-height: 1.5;
color: #ede6f5;
margin: 0;
border-bottom: 1px solid #64279B44;
padding-bottom: 8px
}

.entr .rep-text-col p {
font-size: 18px;
line-height: 1.9;
color: #b8a8cc;
margin: 0
}

.entr .rep-refs {
display: flex;
flex-direction: column;
gap: 24px
}

.entr .rep-ref {
background: #16111f;
border-radius: 10px;
padding: 24px;
box-shadow: inset 2px 1px 3px -1px #64279b12
}

.entr .rep-ref-quote {
font-size: 18px;
line-height: 1.9;
color: #c8b8dc;
margin: 0 0 8px;
font-style: italic
}

.entr .rep-ref-author {
font-size: 14px;
color: #8a7a9e;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px
}

.entr .rep-ref-author::before {
content: "";
display: inline-block;
width: 16px;
height: 1px;
background: #64279B
}

.entr .rep-assoc {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px
}

.entr .rep-assoc-tag {
font-size: 14px;
color: #b8a8cc;
background: #64279B1a;
border: 1px solid #64279B33;
border-radius: 5px;
padding: 8px 24px;
letter-spacing: .04em;
transition: color .45s ease-in-out, border-color .45s ease-in-out
}

.entr .rep-assoc-tag:hover {
color: #C47CCE;
border-color: #C47CCE55
}

@media (max-width: 1100px) {
.entr .community-wrap {
grid-template-columns: 1fr 1fr
}

.entr .comm-lead {
grid-column: 1 / -1
}

.entr .gap-wrap {
flex-direction: column
}

.entr .gap-img-side {
flex: none;
width: 100%
}

.entr .value-wrap {
flex-direction: column
}

.entr .value-timeline {
flex: none;
width: 100%
}

.entr .rep-wrap {
flex-direction: column
}

.entr .rep-img-col {
flex: none;
width: 100%
}
}

@media (max-width: 768px) {
.entr .title-inner {
flex-direction: column
}

.entr .title-h1 {
font-size: 22px
}

.entr .title-img-col {
flex: none;
width: 100%
}

.entr .community-wrap {
grid-template-columns: 1fr
}

.entr .support-head {
flex-direction: column;
align-items: flex-start
}

.entr .support-items {
flex-direction: column
}

.entr .cond-grid {
grid-template-columns: 1fr
}

.entr .gap-img-side img,
.entr .rep-img-col img {
height: 240px
}
}

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

.success-page::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 30%, #64279b2e 0%, #0d0b1200 70%);
pointer-events: none
}

.success-page .card {
position: relative;
max-width: 560px;
width: 100%;
background: #13101c;
border-radius: 26px;
padding: 80px 40px;
box-shadow: 2px 6px 25px -1px #64279b17 2px 10px 36px -1px #64279b21 inset 0 1px 0 #c47cce14;
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
text-align: center
}

.success-page .icon-wrap {
width: 72px;
height: 72px;
border-radius: 40px;
background: #1a1228;
box-shadow: 2px 1px 3px -1px #64279b12 inset 0 1px 12px #64279b26;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.success-page .icon-wrap svg {
display: block
}

.success-page .msg-label {
font-size: 14px;
line-height: 1.5;
letter-spacing: .08em;
color: #C47CCE;
text-transform: uppercase
}

.success-page .msg-heading {
font-size: 56px;
line-height: 1.1;
letter-spacing: -.02em;
color: #E0CFDE;
margin: 0
}

.success-page .msg-body {
font-size: 18px;
line-height: 1.9;
color: #a090a8;
max-width: 420px;
margin: 0
}

.success-page .divider {
width: 48px;
height: 2px;
background: linear-gradient(90deg, #64279B, #C47CCE);
border-radius: 5px;
flex-shrink: 0
}

.success-page .back-link {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 14px;
line-height: 1.5;
letter-spacing: .04em;
color: #8a6e96;
text-decoration: none;
padding: 8px 24px;
border-radius: 10px;
border: 1px solid #64279b33;
transition: color .5s cubic-bezier(0.22, 1, 0.36, 1), border-color .6s cubic-bezier(0.22, 1, 0.36, 1), background .55s ease-in-out;
position: relative;
overflow: hidden
}

.success-page .back-link .arrow-icon {
display: inline-flex;
align-items: center;
transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1);
flex-shrink: 0
}

.success-page .back-link:hover {
color: #E0CFDE;
border-color: #c47cce66;
background: #64279b1f
}

.success-page .back-link:hover .arrow-icon {
transform: translateX(-4px)
}

.success-page .back-link:focus-visible {
outline: 2px solid #C47CCE;
outline-offset: 3px
}

.success-page .meta-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
flex-wrap: wrap;
justify-content: center
}

.success-page .meta-badge {
font-size: 14px;
line-height: 1.5;
color: #6b5878;
background: #64279b14;
border-radius: 16px;
padding: 8px 24px;
border: 1px solid #64279b26
}

@media (max-width: 600px) {
.success-page .card {
padding: 40px 24px;
gap: 24px
}

.success-page .msg-heading {
font-size: 22px
}

.success-page .msg-body {
font-size: 14px
}
}