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

body {
margin: 0;
padding: 0
}

html {
scroll-behavior: smooth
}

body {
min-height: 100svh;
overflow-x: hidden;
-webkit-text-size-adjust: 100%;
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #2a1f27;
background: #fff
}

:focus {
outline: none
}

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

.site-header {
background: linear-gradient(135deg, #BD86B3 0%, #DBBEC7 60%, #EEE1EA 100%);
border-bottom: 2px solid #BD86B3;
box-shadow: 0 5px 28px 0 #bd86b317;
position: relative;
z-index: 100
}

.header-top {
max-width: 1440px;
margin: 0 auto;
padding: 24px 40px 12px;
display: flex;
align-items: center;
gap: 24px
}

.brand-frame {
display: flex;
align-items: center;
gap: 12px;
text-decoration: none;
flex-shrink: 0
}

.logo-hex {
width: 60px;
height: 60px;
background: #fff;
border: 2px solid #BD86B3;
box-shadow: 0 2px 6px 0 #bd86b30f 0 5px 28px 0 #bd86b317;
clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
flex-shrink: 0
}

.logo-hex img {
width: 50px;
height: 50px;
object-fit: contain;
object-position: center;
display: block
}

.brand-name {
font-size: 27px;
font-weight: 700;
line-height: 1.1;
color: #2a1f27;
letter-spacing: 0
}

.header-proof {
margin-left: auto;
background: #ffffff8c;
border: 1px solid #bd86b34d;
border-radius: 11px;
padding: 8px 24px;
font-size: 13px;
line-height: 1.35;
color: #2a1f27;
box-shadow: 0 2px 6px 0 #bd86b30f;
white-space: nowrap
}

.header-proof strong {
font-weight: 700;
display: block;
font-size: 20px;
line-height: 1.1;
color: #2a1f27
}

.header-nav-bar {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px 24px
}

.header-nav-bar nav {
display: flex;
flex-wrap: wrap;
gap: 4px;
align-items: center
}

.nav-link {
display: inline-block;
font-size: 16px;
font-weight: 700;
line-height: 1.35;
color: #2a1f27;
text-decoration: none;
padding: 8px 24px;
border: 2px solid #2a1f274d;
border-radius: 6px;
background: transparent;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1);
white-space: nowrap;
min-height: 44px;
display: flex;
align-items: center
}

.nav-link:hover {
background: #fff9;
border-color: #2a1f27;
box-shadow: 0 5px 28px 0 #bd86b317
}

.nav-link.current {
background: #fffc;
border-color: #2a1f27
}

@media (max-width: 768px) {
.header-top {
padding: 24px 24px 12px;
flex-wrap: wrap
}

.header-proof {
white-space: normal;
margin-left: 0;
width: 100%
}

.header-nav-bar {
padding: 0 24px 24px
}
}

@media (max-width: 390px) {
.header-top {
padding: 12px 12px 8px
}

.brand-name {
font-size: 20px
}

.header-nav-bar {
padding: 0 12px 12px
}

.nav-link {
font-size: 13px;
padding: 8px 12px
}
}

.site-footer {
background: linear-gradient(180deg, #EEE1EA 0%, #DBBEC7 100%);
border-top: 2px solid #BD86B3;
box-shadow: 0 -5px 28px 0 #bd86b317
}

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

.footer-logo-frame {
width: 60px;
height: 60px;
background: #fff;
border: 2px solid #BD86B3;
box-shadow: 0 5px 28px 0 #bd86b317 0 10px 36px 0 #bd86b31f;
clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden
}

.footer-logo-frame img {
width: 50px;
height: 50px;
object-fit: contain;
object-position: center;
display: block
}

.footer-brand-name {
font-size: 37px;
font-weight: 700;
line-height: 1.1;
color: #2a1f27;
text-align: center
}

.footer-tagline {
font-size: 16px;
line-height: 1.6;
color: #2a1f27;
text-align: center;
max-width: 480px
}

.footer-contact-row {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px 40px;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 24px
}

.footer-contact-item {
font-size: 16px;
line-height: 1.35;
color: #2a1f27;
text-decoration: none;
background: #ffffff80;
border: 1px solid #bd86b34d;
border-radius: 11px;
padding: 8px 24px;
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer-contact-item:hover {
background: #fffc;
box-shadow: 0 5px 28px 0 #bd86b317
}

.footer-contact-label {
font-size: 13px;
font-weight: 700;
display: block;
color: #2a1f27;
opacity: .7
}

.footer-divider {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px;
border: none;
border-top: 1px solid #bd86b366
}

.footer-legal-row {
max-width: 1440px;
margin: 0 auto;
padding: 24px 40px;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 12px
}

.footer-copy {
font-size: 13px;
line-height: 1.35;
color: #2a1f27;
opacity: .75
}

.footer-legal-links {
display: flex;
flex-wrap: wrap;
gap: 12px
}

.footer-legal-link {
font-size: 13px;
line-height: 1.35;
color: #2a1f27;
text-decoration: underline;
text-underline-offset: 3px;
transition: opacity .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer-legal-link:hover {
opacity: .6
}

@media (max-width: 768px) {
.footer-brand-row {
padding: 40px 24px 24px
}

.footer-contact-row {
padding: 0 24px 24px
}

.footer-divider {
padding: 0 24px
}

.footer-legal-row {
padding: 24px;
flex-direction: column;
align-items: flex-start
}
}

@media (max-width: 390px) {
.footer-brand-name {
font-size: 27px
}

.footer-brand-row {
padding: 40px 12px 24px
}

.footer-contact-row {
padding: 0 12px 24px
}

.footer-divider {
padding: 0 12px
}

.footer-legal-row {
padding: 24px 12px
}
}

.cookie-tile {
font-family: 'Source Sans Pro', sans-serif;
background: #fff;
border: 2px solid #BD86B3;
border-radius: 11px;
box-shadow: 0 10px 36px 0 #bd86b31f;
padding: 24px;
max-width: 420px;
width: calc(100% - 24px)
}

.cookie-headline {
font-size: 16px;
font-weight: 700;
line-height: 1.35;
color: #2a1f27;
margin-bottom: 8px
}

.cookie-desc {
font-size: 13px;
line-height: 1.6;
color: #2a1f27;
margin-bottom: 24px
}

.cookie-uses {
margin: 8px 0 0;
padding: 0 0 0 16px;
font-size: 13px;
line-height: 1.6;
color: #2a1f27
}

.cookie-actions {
display: flex;
gap: 12px
}

.cookie-btn {
flex: 1;
font-family: 'Source Sans Pro', sans-serif;
font-size: 13px;
font-weight: 700;
line-height: 1.35;
color: #2a1f27;
background: transparent;
border: 2px solid #BD86B3;
border-radius: 6px;
padding: 8px 12px;
min-height: 44px;
cursor: pointer;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.cookie-btn:hover {
background: #EEE1EA;
box-shadow: 0 5px 28px 0 #bd86b317
}

.cookie-btn:active {
box-shadow: inset 0 2px 6px 0 #bd86b31f
}

.pref-trigger {
position: fixed;
bottom: 24px;
left: 24px;
width: 44px;
height: 44px;
background: #fff;
border: 2px solid #BD86B3;
border-radius: 46px;
box-shadow: 0 5px 28px 0 #bd86b317;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
z-index: 1400;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.pref-trigger:hover {
box-shadow: 0 10px 36px 0 #bd86b31f
}

.pref-icon {
width: 20px;
height: 20px;
fill: none;
stroke: #BD86B3;
stroke-width: 2;
stroke-linecap: round
}

.legal-jxk-wrapper {
max-width: 1440px;
margin: 0 auto;
padding: 80px 40px
}

.legal-jxk-wrapper h1 {
font-size: 52px;
line-height: 1.1;
color: #2d1f2b;
margin-bottom: 40px;
margin-top: 0
}

.legal-jxk-wrapper h2 {
font-size: 37px;
line-height: 1.35;
color: #2d1f2b;
margin-top: 80px;
margin-bottom: 24px
}

.legal-jxk-wrapper h3 {
font-size: 27px;
line-height: 1.35;
color: #2d1f2b;
margin-top: 40px;
margin-bottom: 24px
}

.legal-jxk-wrapper h4 {
font-size: 20px;
line-height: 1.6;
color: #2d1f2b;
margin-top: 40px;
margin-bottom: 12px
}

.legal-jxk-wrapper h5 {
font-size: 16px;
line-height: 1.6;
color: #2d1f2b;
margin-top: 24px;
margin-bottom: 12px
}

.legal-jxk-wrapper h6 {
font-size: 13px;
line-height: 1.6;
color: #5a3d54;
margin-top: 24px;
margin-bottom: 8px;
text-transform: uppercase
}

.legal-jxk-wrapper p {
font-size: 16px;
line-height: 1.8;
color: #2d1f2b;
margin-top: 0;
margin-bottom: 24px;
max-width: 72ch
}

.legal-jxk-wrapper strong,
.legal-jxk-wrapper b {
font-weight: 700;
color: #2d1f2b
}

.legal-jxk-wrapper em,
.legal-jxk-wrapper i {
font-style: italic;
color: #4a2f45
}

.legal-jxk-wrapper a {
color: #8d4e82;
text-decoration: underline;
text-underline-offset: 3px;
transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.legal-jxk-wrapper a:hover {
color: #BD86B3
}

.legal-jxk-wrapper a:visited {
color: #7a4070
}

.legal-jxk-wrapper div {
margin-bottom: 24px
}

.legal-jxk-wrapper table {
width: 100%;
border-collapse: collapse;
margin-top: 24px;
margin-bottom: 40px;
font-size: 16px;
line-height: 1.6;
box-shadow: 0 2px 6px 0 #bd86b30f;
border-radius: 11px;
overflow: hidden
}

.legal-jxk-wrapper thead {
background-color: #EEE1EA
}

.legal-jxk-wrapper thead th {
font-size: 13px;
font-weight: 700;
color: #2d1f2b;
text-transform: uppercase;
padding: 12px 24px;
text-align: left
}

.legal-jxk-wrapper tbody tr {
border-top: 1px solid #DBBEC7;
transition: background-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.legal-jxk-wrapper tbody tr:hover {
background-color: #f7f0f5
}

.legal-jxk-wrapper tbody tr:first-child {
border-top: none
}

.legal-jxk-wrapper td {
padding: 12px 24px;
color: #2d1f2b;
vertical-align: top
}

.legal-jxk-wrapper th {
padding: 12px 24px;
vertical-align: top
}

@media (max-width: 768px) {
.legal-jxk-wrapper {
padding: 40px 24px
}

.legal-jxk-wrapper h1 {
font-size: 37px
}

.legal-jxk-wrapper h2 {
font-size: 27px;
margin-top: 40px
}

.legal-jxk-wrapper h3 {
font-size: 20px
}

.legal-jxk-wrapper table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}
}

@media (max-width: 390px) {
.legal-jxk-wrapper {
padding: 24px 12px
}

.legal-jxk-wrapper h1 {
font-size: 27px
}

.legal-jxk-wrapper h2 {
font-size: 20px
}

.legal-jxk-wrapper h3 {
font-size: 16px
}

.legal-jxk-wrapper p {
font-size: 16px
}

.legal-jxk-wrapper td,
.legal-jxk-wrapper th {
padding: 8px 12px
}
}

.mdet {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.mdet .title-area {
display: flex;
flex-direction: row;
align-items: stretch;
min-height: 520px;
position: relative
}

.mdet .title-area .txt-half {
flex: 0 0 52%;
padding: 80px 40px 80px 80px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
position: relative;
z-index: 1
}

.mdet .title-area .deco-stripe {
position: absolute;
top: 0;
left: 0;
width: 6px;
height: 100%;
background: linear-gradient(180deg, #BD86B3 0%, #DBBEC7 100%);
border-radius: 0 6px 6px 0
}

.mdet .title-area .pub-meta {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
flex-wrap: wrap
}

.mdet .title-area .pub-meta span {
font-size: 13px;
line-height: 1.6;
color: #5a3d55;
background: #EEE1EA;
padding: 4px 12px;
border-radius: 30px
}

.mdet .title-area .page-h1 {
font-size: 52px;
line-height: 1.1;
color: #2d1a2a;
margin: 0
}

.mdet .title-area .tagline {
font-size: 20px;
line-height: 1.6;
color: #4a2e45;
margin: 0
}

.mdet .title-area .price-badge {
display: inline-flex;
flex-direction: column;
gap: 4px;
background: #fff;
border: 2px solid #BD86B3;
border-radius: 11px;
padding: 12px 24px;
box-shadow: 0 5px 28px 0 #bd86b317;
width: fit-content
}

.mdet .title-area .price-badge .price-num {
font-size: 37px;
line-height: 1.1;
color: #BD86B3;
font-weight: 700
}

.mdet .title-area .price-badge .price-num .price-frac {
color: #DBBEC7;
font-size: 27px
}

.mdet .title-area .price-badge .price-desc {
font-size: 13px;
line-height: 1.6;
color: #5a3d55
}

.mdet .title-area .act-links {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap
}

.mdet .title-area .act-links .btn-primary {
font-size: 16px;
line-height: 1.35;
color: #BD86B3;
background: transparent;
border: 2px solid #BD86B3;
border-radius: 6px;
padding: 12px 24px;
cursor: pointer;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1);
text-decoration: none;
display: inline-block
}

.mdet .title-area .act-links .btn-primary:hover {
background: #BD86B3;
color: #fff;
box-shadow: 0 5px 28px 0 #bd86b317
}

.mdet .title-area .act-links .btn-primary:active {
box-shadow: inset 0 2px 6px 0 #bd86b31f
}

.mdet .title-area .act-links .btn-secondary {
font-size: 16px;
line-height: 1.35;
color: #5a3d55;
background: transparent;
border: 2px solid #DBBEC7;
border-radius: 6px;
padding: 12px 24px;
cursor: pointer;
transition: box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1), border-color .22s cubic-bezier(0.4, 0, 0.2, 1);
text-decoration: none;
display: inline-block
}

.mdet .title-area .act-links .btn-secondary:hover {
border-color: #BD86B3;
box-shadow: 0 5px 28px 0 #bd86b317
}

.mdet .title-area .act-links .btn-secondary:active {
box-shadow: inset 0 2px 6px 0 #dbbec71f
}

.mdet .title-area .img-half {
flex: 0 0 48%;
position: relative;
overflow: hidden;
border-radius: 0 0 0 46px
}

.mdet .title-area .img-half img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.mdet .title-area .img-half .img-blur-edge {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 0% 50%, #ffffff61 0%, transparent 55%);
pointer-events: none
}

.mdet .curve-divider {
width: 100%;
overflow: hidden;
line-height: 0;
background: #fff
}

.mdet .curve-divider svg {
display: block;
width: 100%
}

.mdet .detail-body {
background: #fff;
padding: 80px
}

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

.mdet .detail-body .col-narrow {
display: flex;
flex-direction: column;
gap: 24px
}

.mdet .detail-body .col-mid {
display: flex;
flex-direction: column;
gap: 24px
}

.mdet .detail-body .col-wide {
display: flex;
flex-direction: column;
gap: 24px
}

.mdet .detail-body .indicators-row {
display: flex;
flex-direction: column;
gap: 12px
}

.mdet .detail-body .circ-indicator {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.mdet .detail-body .circ-dot {
width: 40px;
height: 40px;
border-radius: 30px;
background: linear-gradient(180deg, #BD86B3 0%, #DBBEC7 100%);
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center
}

.mdet .detail-body .circ-dot svg {
width: 20px;
height: 20px
}

.mdet .detail-body .circ-label {
font-size: 13px;
line-height: 1.6;
color: #4a2e45
}

.mdet .detail-body .prog-label {
font-size: 20px;
line-height: 1.35;
color: #2d1a2a;
margin: 0 0 8px
}

.mdet .detail-body .prog-body {
font-size: 16px;
line-height: 1.8;
color: #3d2438
}

.mdet .detail-body .prog-body p {
margin: 0 0 12px
}

.mdet .detail-body .prog-body h2 {
font-size: 27px;
line-height: 1.35;
color: #2d1a2a;
margin: 24px 0 8px
}

.mdet .detail-body .prog-body h3 {
font-size: 20px;
line-height: 1.35;
color: #3d2438;
margin: 16px 0 8px
}

.mdet .detail-body .prog-body ol {
padding-left: 24px;
margin: 0 0 12px
}

.mdet .detail-body .prog-body li {
margin-bottom: 8px
}

.mdet .detail-body .prog-body dl {
margin: 0 0 12px
}

.mdet .detail-body .prog-body dt {
font-size: 16px;
line-height: 1.6;
color: #2d1a2a;
font-weight: 600
}

.mdet .detail-body .prog-body dd {
margin: 0 0 8px 24px;
color: #4a2e45
}

.mdet .detail-body .prog-body abbr {
text-decoration: underline dotted;
cursor: help
}

.mdet .detail-body .desc-body {
font-size: 16px;
line-height: 1.8;
color: #3d2438
}

.mdet .detail-body .desc-body p {
margin: 0 0 12px
}

.mdet .detail-body .desc-body h2 {
font-size: 27px;
line-height: 1.35;
color: #2d1a2a;
margin: 24px 0 8px
}

.mdet .detail-body .desc-body blockquote {
margin: 24px 0;
padding: 12px 24px;
background: #EEE1EA;
border-radius: 11px;
font-size: 20px;
line-height: 1.6;
color: #2d1a2a
}

.mdet .detail-body .desc-body cite {
font-size: 13px;
color: #5a3d55;
font-style: normal
}

.mdet .detail-body .desc-body ul {
padding-left: 24px;
margin: 0 0 12px
}

.mdet .detail-body .desc-body li {
margin-bottom: 8px
}

.mdet .detail-body .desc-body dl {
margin: 0 0 12px
}

.mdet .detail-body .desc-body dt {
font-weight: 600;
color: #2d1a2a
}

.mdet .detail-body .desc-body dd {
margin: 0 0 8px 24px;
color: #4a2e45
}

.mdet .detail-body .desc-body figure {
margin: 24px 0
}

.mdet .detail-body .desc-body figcaption {
font-size: 13px;
color: #5a3d55;
margin-top: 8px
}

.mdet .detail-body .desc-body details {
border: 2px solid #DBBEC7;
border-radius: 11px;
padding: 12px 24px;
margin-bottom: 12px
}

.mdet .detail-body .desc-body summary {
font-size: 16px;
line-height: 1.6;
color: #2d1a2a;
cursor: pointer;
font-weight: 600;
list-style: none;
position: relative;
padding-right: 24px;
transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.mdet .detail-body .desc-body summary:hover {
color: #BD86B3
}

.mdet .detail-body .prog-body details {
border: 2px solid #DBBEC7;
border-radius: 11px;
padding: 12px 24px;
margin-bottom: 12px
}

.mdet .detail-body .prog-body summary {
font-size: 16px;
line-height: 1.6;
color: #2d1a2a;
cursor: pointer;
font-weight: 600;
list-style: none;
position: relative;
padding-right: 24px;
transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.mdet .detail-body .prog-body summary:hover {
color: #BD86B3
}

.mdet .detail-body .dashed-path-wrap {
position: relative
}

.mdet .detail-body .dashed-path-wrap svg.deco-path {
position: absolute;
top: -40px;
right: -40px;
width: 120px;
height: 300px;
pointer-events: none;
opacity: .35
}

.mdet .detail-body .readtime-tag {
font-size: 13px;
line-height: 1.6;
color: #5a3d55;
background: #EEE1EA;
border-radius: 30px;
padding: 4px 12px;
display: inline-block;
width: fit-content
}

.mdet .detail-body .section-sub {
font-size: 20px;
line-height: 1.35;
color: #2d1a2a;
margin: 0
}

@media (max-width: 1280px) {
.mdet .title-area .txt-half {
padding: 80px 24px 80px 40px
}

.mdet .detail-body {
padding: 80px 40px
}

.mdet .detail-body .body-grid {
grid-template-columns: 1fr 2fr;
gap: 24px
}

.mdet .detail-body .col-wide {
grid-column: 1 / -1
}
}

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

.mdet .title-area .txt-half {
flex: unset;
padding: 40px 24px
}

.mdet .title-area .img-half {
flex: unset;
height: 260px;
border-radius: 0 0 46px 46px
}

.mdet .title-area .page-h1 {
font-size: 37px
}

.mdet .detail-body {
padding: 40px 24px
}

.mdet .detail-body .body-grid {
grid-template-columns: 1fr;
gap: 24px
}

.mdet .detail-body .col-wide {
grid-column: unset
}
}

@media (max-width: 390px) {
.mdet .title-area .page-h1 {
font-size: 27px
}

.mdet .title-area .tagline {
font-size: 16px
}

.mdet .title-area .price-badge .price-num {
font-size: 27px
}

.mdet .detail-body {
padding: 24px 12px
}
}

.abt-us {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.abt-us .pg-reveal {
animation: elastic-in .26s cubic-bezier(0.4, 0, 0.2, 1) both
}

@keyframes elastic-in {
0% {
opacity: 0;
transform: translateY(18px) scaleY(0.97)
}

70% {
opacity: 1;
transform: translateY(-4px) scaleY(1.01)
}

100% {
opacity: 1;
transform: translateY(0) scaleY(1)
}
}

.abt-us .title-band {
position: relative;
background: linear-gradient(180deg, #BD86B3 0%, #DBBEC7 100%);
padding: 80px;
display: flex;
flex-direction: row;
align-items: stretch;
gap: 40px;
overflow: hidden
}

.abt-us .title-band::before {
content: '';
position: absolute;
top: -60px;
right: -60px;
width: 320px;
height: 320px;
border-radius: 46px;
background: #bd86b32e;
transform: rotate(18deg);
pointer-events: none
}

.abt-us .title-band::after {
content: '';
position: absolute;
bottom: -80px;
left: 30%;
width: 200px;
height: 200px;
border-radius: 46px;
background: #dbbec721;
transform: rotate(-12deg);
pointer-events: none
}

.abt-us .title-text-col {
flex: 1 1 60%;
display: flex;
flex-direction: column;
justify-content: center;
gap: 12px;
position: relative;
z-index: 1
}

.abt-us .title-img-col {
flex: 0 0 38%;
position: relative;
z-index: 1;
border-radius: 11px;
overflow: hidden;
box-shadow: 0 10px 36px 0 #bd86b31f;
min-height: 320px
}

.abt-us .title-img-col img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.abt-us .title-img-col::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 50%;
background: linear-gradient(180deg, #bd86b38c 0%, #bd86b300 100%);
pointer-events: none
}

.abt-us .pg-h1 {
font-size: 52px;
line-height: 1.1;
color: #fff;
margin: 0
}

.abt-us .pg-h1 span {
font-size: 37px;
display: block;
line-height: 1.35
}

.abt-us .title-caption {
display: block;
font-size: 13px;
letter-spacing: .22em;
color: #ffffffbf;
text-transform: uppercase;
border-top: 1.5px solid #ffffff59;
padding-top: 8px;
width: 180px
}

.abt-us .wave-divider {
width: 100%;
overflow: hidden;
line-height: 0;
background: #fff
}

.abt-us .wave-divider svg {
display: block;
width: 100%
}

.abt-us .split-about {
background: #fff;
padding: 80px 80px 40px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 80px;
position: relative
}

.abt-us .split-about::before {
content: '';
position: absolute;
left: 0;
top: 40px;
bottom: 40px;
width: 5px;
border-radius: 30px;
background: linear-gradient(180deg, #BD86B3 0%, #DBBEC7 100%)
}

.abt-us .about-left {
flex: 0 0 58%;
display: flex;
flex-direction: column;
gap: 24px
}

.abt-us .about-right {
flex: 1 1 auto;
display: flex;
flex-direction: column;
gap: 24px;
padding-top: 8px
}

.abt-us .about-h2 {
font-size: 37px;
line-height: 1.1;
color: #2d1a2a;
margin: 0
}

.abt-us .about-h2 strong {
font-size: 52px;
display: block;
line-height: 1.1;
color: #BD86B3
}

.abt-us .about-body {
font-size: 16px;
line-height: 1.6;
color: #3a2535;
margin: 0
}

.abt-us .about-accent-block {
background: linear-gradient(180deg, #EEE1EA 0%, #DBBEC7 100%);
border-radius: 11px;
padding: 24px;
box-shadow: 0 5px 28px 0 #dbbec717
}

.abt-us .about-accent-block .acc-label {
font-size: 13px;
letter-spacing: .18em;
text-transform: uppercase;
color: #7a4a72;
margin: 0 0 8px
}

.abt-us .about-accent-block .acc-text {
font-size: 16px;
line-height: 1.6;
color: #2d1a2a;
margin: 0;
text-align: right
}

.abt-us .bar-chart-wrap {
margin-top: 8px;
display: flex;
flex-direction: column;
gap: 12px
}

.abt-us .bar-row {
display: flex;
flex-direction: column;
gap: 4px
}

.abt-us .bar-label-row {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center
}

.abt-us .bar-name {
font-size: 13px;
color: #3a2535;
line-height: 1.35
}

.abt-us .bar-val {
font-size: 13px;
color: #BD86B3;
font-weight: 700;
line-height: 1.35
}

.abt-us .bar-track {
height: 8px;
background: #bd86b31f;
border-radius: 30px;
overflow: hidden
}

.abt-us .bar-fill {
height: 100%;
border-radius: 30px;
background: linear-gradient(90deg, #BD86B3 0%, #DBBEC7 100%);
animation: bar-grow .28s cubic-bezier(0.0, 0, 0.2, 1) both;
animation-delay: .1s
}

@keyframes bar-grow {
from {
width: 0 !important
}
}

.abt-us .bar-fill.w88 {
width: 88%
}

.abt-us .bar-fill.w74 {
width: 74%
}

.abt-us .bar-fill.w91 {
width: 91%
}

.abt-us .bar-fill.w65 {
width: 65%
}

.abt-us .chart-h5 {
font-size: 16px;
color: #2d1a2a;
margin: 0 0 8px;
line-height: 1.35
}

.abt-us .edge-strip-section {
position: relative;
background: #EEE1EA;
padding: 80px 80px 80px 112px
}

.abt-us .edge-strip-section::before {
content: '';
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 6px;
background: linear-gradient(180deg, #BD86B3 0%, #DBBEC7 100%);
border-radius: 30px 0 0 30px
}

.abt-us .edge-inner {
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start
}

.abt-us .edge-img-col {
flex: 0 0 42%;
border-radius: 11px;
overflow: hidden;
box-shadow: 0 10px 36px 0 #bd86b31f
}

.abt-us .edge-img-col img {
width: 100%;
height: 340px;
object-fit: cover;
object-position: center;
display: block
}

.abt-us .edge-text-col {
flex: 1 1 auto;
display: flex;
flex-direction: column;
gap: 24px
}

.abt-us .edge-h3 {
font-size: 37px;
line-height: 1.1;
color: #2d1a2a;
margin: 0
}

.abt-us .edge-h3 em {
font-style: normal;
font-size: 27px;
color: #7a4a72;
display: block;
line-height: 1.35
}

.abt-us .edge-para {
font-size: 16px;
line-height: 1.6;
color: #3a2535;
margin: 0
}

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

.abt-us .team-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
background: #fff;
border-radius: 11px;
padding: 12px 24px;
box-shadow: 0 2px 6px 0 #bd86b30f;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .team-item:hover {
box-shadow: 0 5px 28px 0 #bd86b317
}

.abt-us .team-dot {
width: 10px;
height: 10px;
border-radius: 30px;
background: #BD86B3;
flex-shrink: 0
}

.abt-us .team-name {
font-size: 16px;
color: #2d1a2a;
font-weight: 700;
line-height: 1.35;
flex: 0 0 auto
}

.abt-us .team-role {
font-size: 13px;
color: #7a4a72;
line-height: 1.35
}

.abt-us .team-sep {
color: #DBBEC7;
margin: 0 4px
}

.abt-us .disclosure-section {
background: #fff;
padding: 80px;
display: flex;
flex-direction: column;
gap: 40px
}

.abt-us .disc-heading-row {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 40px
}

.abt-us .disc-h3 {
font-size: 37px;
line-height: 1.1;
color: #2d1a2a;
margin: 0;
flex: 0 0 auto
}

.abt-us .disc-h3 span {
font-size: 27px;
display: block;
color: #BD86B3;
line-height: 1.35
}

.abt-us .disc-intro {
font-size: 16px;
line-height: 1.6;
color: #3a2535;
margin: 0;
max-width: 520px;
text-align: center;
align-self: center
}

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

.abt-us .disc-card {
border-radius: 11px;
border: 1.5px solid #DBBEC7;
overflow: hidden;
box-shadow: 0 2px 6px 0 #bd86b30f;
transition: box-shadow .24s cubic-bezier(0.0, 0, 0.2, 1)
}

.abt-us .disc-card:hover {
box-shadow: 0 5px 28px 0 #bd86b317
}

.abt-us .disc-summary {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 24px;
cursor: pointer;
list-style: none;
background: #fff;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .disc-summary::-webkit-details-marker {
display: none
}

.abt-us details.disc-card[open] .disc-summary {
background: #EEE1EA
}

.abt-us .disc-icon {
width: 36px;
height: 36px;
border-radius: 6px;
background: linear-gradient(180deg, #BD86B3 0%, #DBBEC7 100%);
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center
}

.abt-us .disc-icon svg {
display: block
}

.abt-us .disc-sum-label {
font-size: 16px;
color: #2d1a2a;
font-weight: 700;
line-height: 1.35;
flex: 1 1 auto
}

.abt-us .disc-arrow {
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us details.disc-card[open] .disc-arrow {
transform: rotate(180deg)
}

.abt-us .disc-body {
padding: 0 24px 24px;
font-size: 16px;
line-height: 1.6;
color: #3a2535
}

.abt-us .disc-img-wrap {
border-radius: 6px;
overflow: hidden;
margin-bottom: 12px;
box-shadow: 0 2px 6px 0 #bd86b30f
}

.abt-us .disc-img-wrap img {
width: 100%;
height: 160px;
object-fit: cover;
object-position: center;
display: block
}

.abt-us .wave-divider-2 {
width: 100%;
overflow: hidden;
line-height: 0;
background: #EEE1EA
}

.abt-us .wave-divider-2 svg {
display: block;
width: 100%
}

.abt-us .contact-strip {
background: linear-gradient(180deg, #BD86B3 0%, #DBBEC7 100%);
padding: 40px 80px;
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
border-radius: 0
}

.abt-us .contact-strip-text {
flex: 1 1 auto
}

.abt-us .contact-strip-h4 {
font-size: 27px;
color: #fff;
margin: 0 0 8px;
line-height: 1.35
}

.abt-us .contact-strip-p {
font-size: 16px;
color: #ffffffe0;
margin: 0;
line-height: 1.6
}

.abt-us .contact-strip-links {
display: flex;
flex-direction: column;
gap: 8px;
align-items: flex-end
}

.abt-us .contact-link {
font-size: 16px;
color: #fff;
text-decoration: none;
border: 1.5px solid #ffffff80;
border-radius: 30px;
padding: 8px 24px;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
display: inline-block
}

.abt-us .contact-link:hover {
background: #ffffff2e;
box-shadow: 0 5px 28px 0 #bd86b317
}

.abt-us .contact-link:focus {
outline: 2px solid #fff;
outline-offset: 3px
}

.abt-us .contact-link:active {
box-shadow: inset 0 2px 6px 0 #bd86b31f
}

@media (max-width: 1280px) {
.abt-us .title-band {
padding: 80px 40px
}

.abt-us .split-about {
padding: 80px 40px 40px;
gap: 40px
}

.abt-us .edge-strip-section {
padding: 80px 40px 80px 80px
}

.abt-us .disclosure-section {
padding: 80px 40px
}

.abt-us .contact-strip {
padding: 40px
}

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

@media (max-width: 768px) {
.abt-us .title-band {
flex-direction: column;
padding: 40px 24px;
gap: 24px
}

.abt-us .title-img-col {
min-height: 220px;
flex: 0 0 auto
}

.abt-us .pg-h1 {
font-size: 37px
}

.abt-us .pg-h1 span {
font-size: 27px
}

.abt-us .split-about {
flex-direction: column;
padding: 40px 24px;
gap: 24px
}

.abt-us .split-about::before {
display: none
}

.abt-us .about-h2 strong {
font-size: 37px
}

.abt-us .edge-strip-section {
padding: 40px 24px
}

.abt-us .edge-strip-section::before {
display: none
}

.abt-us .edge-inner {
flex-direction: column
}

.abt-us .edge-img-col {
flex: 0 0 auto
}

.abt-us .disclosure-section {
padding: 40px 24px;
gap: 24px
}

.abt-us .disc-heading-row {
flex-direction: column;
align-items: flex-start;
gap: 12px
}

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

.abt-us .contact-strip {
flex-direction: column;
padding: 40px 24px;
gap: 24px;
align-items: flex-start
}

.abt-us .contact-strip-links {
align-items: flex-start
}
}

@media (max-width: 390px) {
.abt-us .title-band {
padding: 24px 12px
}

.abt-us .pg-h1 {
font-size: 27px
}

.abt-us .pg-h1 span {
font-size: 20px
}

.abt-us .split-about {
padding: 24px 12px
}

.abt-us .edge-strip-section {
padding: 24px 12px
}

.abt-us .disclosure-section {
padding: 24px 12px
}

.abt-us .contact-strip {
padding: 24px 12px
}

.abt-us .about-h2 strong {
font-size: 27px
}

.abt-us .edge-h3 {
font-size: 27px
}

.abt-us .disc-h3 {
font-size: 27px
}
}

.srvs-pg {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.srvs-pg .col-reveal-1 {
animation: colAppear .22s cubic-bezier(0.4, 0, 0.2, 1) both
}

.srvs-pg .col-reveal-2 {
animation: colAppear .24s cubic-bezier(0.4, 0, 0.2, 1) .08s both
}

.srvs-pg .col-reveal-3 {
animation: colAppear .26s cubic-bezier(0.4, 0, 0.2, 1) .16s both
}

.srvs-pg .col-reveal-4 {
animation: colAppear .28s cubic-bezier(0.4, 0, 0.2, 1) .24s both
}

@keyframes colAppear {
from {
opacity: 0;
transform: translateY(18px)
}

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

.srvs-pg .pg-top {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 40px;
background: #fff;
padding: 80px 80px 40px
}

.srvs-pg .pg-top .img-col {
flex: 0 0 260px;
position: relative
}

.srvs-pg .pg-top .img-col .img-frame {
width: 260px;
height: 340px;
border-radius: 11px;
overflow: hidden;
box-shadow: 0 10px 36px 0 #bd86b31f
}

.srvs-pg .pg-top .img-col .img-frame img {
width: 260px;
height: 340px;
object-fit: cover;
object-position: center;
display: block
}

.srvs-pg .pg-top .img-col .vignette {
position: absolute;
top: 0;
left: 0;
width: 260px;
height: 340px;
border-radius: 11px;
background: radial-gradient(ellipse at 30% 30%, transparent 55%, #eee1ea8c 100%);
pointer-events: none
}

.srvs-pg .pg-top .txt-col {
flex: 1 1 auto;
display: flex;
flex-direction: column;
justify-content: center;
padding-left: 40px
}

.srvs-pg .pg-top .txt-col .pg-label {
font-size: 13px;
line-height: 1.6;
color: #BD86B3;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 12px
}

.srvs-pg .pg-top .txt-col .pg-heading {
font-size: 52px;
line-height: 1.1;
color: #1e1530;
margin: 0 0 24px
}

.srvs-pg .pg-top .txt-col .pg-heading .punct {
color: #BD86B3
}

.srvs-pg .pg-top .txt-col .pg-desc {
font-size: 16px;
line-height: 1.6;
color: #3d2e4a;
max-width: 540px;
margin: 0
}

.srvs-pg .dot-divider {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 0 80px;
margin: 0
}

.srvs-pg .dot-divider .dot-line {
flex: 1 1 auto;
border: none;
border-top: 2px dotted #DBBEC7;
height: 0
}

.srvs-pg .dot-divider .dot-center {
width: 12px;
height: 12px;
border-radius: 30px;
background: #BD86B3;
flex-shrink: 0
}

.srvs-pg .offerings {
background: #EEE1EA;
padding: 80px
}

.srvs-pg .offerings .off-top {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 40px
}

.srvs-pg .offerings .off-heading {
font-size: 37px;
line-height: 1.1;
color: #1e1530;
margin: 0
}

.srvs-pg .offerings .off-heading .big-word {
font-size: 52px;
display: block;
line-height: 1.1
}

.srvs-pg .offerings .off-sub {
font-size: 16px;
line-height: 1.6;
color: #3d2e4a;
max-width: 360px;
text-align: right;
margin: 0
}

.srvs-pg .offerings .cards-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px
}

.srvs-pg .offerings .svc-card {
background: #fff;
border-radius: 11px;
padding: 24px;
box-shadow: 0 2px 6px 0 #bd86b30f;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.srvs-pg .offerings .svc-card:hover {
box-shadow: 0 10px 36px 0 #bd86b31f
}

.srvs-pg .offerings .svc-card .card-num {
font-size: 52px;
line-height: 1.1;
color: #EEE1EA;
font-weight: 700;
position: absolute;
top: 12px;
right: 16px;
user-select: none
}

.srvs-pg .offerings .svc-card .card-num sup {
font-size: 20px;
color: #BD86B3;
vertical-align: super
}

.srvs-pg .offerings .svc-card .card-name {
font-size: 20px;
line-height: 1.35;
color: #1e1530;
margin: 0 0 12px;
position: relative;
z-index: 1
}

.srvs-pg .offerings .svc-card .card-body {
font-size: 13px;
line-height: 1.6;
color: #3d2e4a;
margin: 0 0 24px;
position: relative;
z-index: 1
}

.srvs-pg .offerings .svc-card .card-tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
position: relative;
z-index: 1
}

.srvs-pg .offerings .svc-card .tag {
font-size: 13px;
line-height: 1.35;
color: #BD86B3;
border: 1px solid #DBBEC7;
border-radius: 30px;
padding: 4px 12px
}

.srvs-pg .mask-divider {
height: 4px;
background: linear-gradient(to bottom, #DBBEC7, #EEE1EA);
margin: 0
}

.srvs-pg .depth-band {
background: #1e1530;
padding: 80px
}

.srvs-pg .depth-band .band-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center
}

.srvs-pg .depth-band .band-left .band-label {
font-size: 13px;
line-height: 1.6;
color: #DBBEC7;
text-transform: uppercase;
letter-spacing: .08em;
margin-bottom: 12px
}

.srvs-pg .depth-band .band-left .band-heading {
font-size: 37px;
line-height: 1.1;
color: #fff;
margin: 0 0 24px
}

.srvs-pg .depth-band .band-left .band-heading .accent {
color: #BD86B3
}

.srvs-pg .depth-band .band-left .band-para {
font-size: 16px;
line-height: 1.6;
color: #c4b0cc;
margin: 0 0 24px
}

.srvs-pg .depth-band .band-left .band-link {
display: inline-block;
font-size: 16px;
line-height: 1.35;
color: #fff;
border: 1px solid #BD86B3;
border-radius: 6px;
padding: 12px 24px;
text-decoration: none;
transition: box-shadow .24s cubic-bezier(0.0, 0, 0.2, 1), background .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs-pg .depth-band .band-left .band-link:hover {
background: #BD86B3;
box-shadow: 0 5px 28px 0 #bd86b317;
color: #fff
}

.srvs-pg .depth-band .band-left .band-link:focus {
outline: 2px solid #DBBEC7;
outline-offset: 3px
}

.srvs-pg .depth-band .band-right {
display: flex;
flex-direction: column;
gap: 24px
}

.srvs-pg .depth-band .band-right .metric-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 24px;
border-top: 1px dotted #3d2e4a;
padding-top: 24px
}

.srvs-pg .depth-band .band-right .metric-row:first-child {
border-top: none;
padding-top: 0
}

.srvs-pg .depth-band .band-right .metric-num {
font-size: 52px;
line-height: 1.1;
color: #BD86B3;
font-weight: 700;
flex-shrink: 0;
width: 100px
}

.srvs-pg .depth-band .band-right .metric-num sup {
font-size: 20px;
color: #DBBEC7;
vertical-align: super
}

.srvs-pg .depth-band .band-right .metric-desc {
font-size: 16px;
line-height: 1.6;
color: #c4b0cc;
margin: 0;
padding-top: 8px
}

.srvs-pg .dot-divider-dark {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 0 80px;
background: #1e1530;
margin: 0
}

.srvs-pg .dot-divider-dark .dot-line {
flex: 1 1 auto;
border: none;
border-top: 2px dotted #3d2e4a;
height: 0
}

.srvs-pg .dot-divider-dark .dot-center {
width: 10px;
height: 10px;
border-radius: 30px;
background: #BD86B3;
flex-shrink: 0
}

.srvs-pg .process-band {
background: #fff;
padding: 80px
}

.srvs-pg .process-band .proc-header {
text-align: center;
margin-bottom: 40px
}

.srvs-pg .process-band .proc-header .proc-heading {
font-size: 37px;
line-height: 1.1;
color: #1e1530;
margin: 0 0 12px
}

.srvs-pg .process-band .proc-header .proc-heading .big-word {
font-size: 52px;
display: block
}

.srvs-pg .process-band .proc-header .proc-sub {
font-size: 16px;
line-height: 1.6;
color: #3d2e4a;
margin: 0 auto;
max-width: 480px
}

.srvs-pg .process-band .steps-row {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-bottom: 40px
}

.srvs-pg .process-band .step-item {
border: 1px solid #EEE1EA;
border-radius: 11px;
padding: 24px;
position: relative;
transition: box-shadow .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs-pg .process-band .step-item:hover {
box-shadow: 0 5px 28px 0 #bd86b317
}

.srvs-pg .process-band .step-item .step-num {
font-size: 37px;
line-height: 1.1;
color: #EEE1EA;
font-weight: 700;
margin: 0 0 8px
}

.srvs-pg .process-band .step-item .step-num sup {
font-size: 16px;
color: #BD86B3;
vertical-align: super
}

.srvs-pg .process-band .step-item .step-name {
font-size: 20px;
line-height: 1.35;
color: #1e1530;
margin: 0 0 8px
}

.srvs-pg .process-band .step-item .step-body {
font-size: 13px;
line-height: 1.6;
color: #3d2e4a;
margin: 0
}

.srvs-pg .process-band .img-showcase {
display: flex;
flex-direction: row;
gap: 40px;
align-items: center;
background: #EEE1EA;
border-radius: 11px;
padding: 40px
}

.srvs-pg .process-band .img-showcase .showcase-img {
width: 320px;
height: 220px;
border-radius: 11px;
overflow: hidden;
flex-shrink: 0;
box-shadow: 0 10px 36px 0 #bd86b31f
}

.srvs-pg .process-band .img-showcase .showcase-img img {
width: 320px;
height: 220px;
object-fit: cover;
object-position: center;
display: block
}

.srvs-pg .process-band .img-showcase .showcase-txt .showcase-heading {
font-size: 27px;
line-height: 1.35;
color: #1e1530;
margin: 0 0 12px
}

.srvs-pg .process-band .img-showcase .showcase-txt .showcase-body {
font-size: 16px;
line-height: 1.6;
color: #3d2e4a;
margin: 0 0 24px
}

.srvs-pg .process-band .img-showcase .showcase-txt .list-inline {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
list-style: none;
padding: 0;
margin: 0
}

.srvs-pg .process-band .img-showcase .showcase-txt .list-inline li {
font-size: 13px;
line-height: 1.6;
color: #3d2e4a
}

.srvs-pg .process-band .img-showcase .showcase-txt .list-inline li+li::before {
content: "";
display: inline-block;
width: 4px;
height: 4px;
border-radius: 30px;
background: #BD86B3;
vertical-align: middle;
margin-right: 8px;
margin-left: 0
}

.srvs-pg .mask-item {
display: inline-block;
position: relative;
overflow: hidden;
border-radius: 46px;
cursor: default
}

.srvs-pg .mask-item .mask-circle {
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
border-radius: 30px;
background: #bd86b321;
transform: translate(-50%, -50%);
transition: width .28s cubic-bezier(0.0, 0, 0.2, 1), height .28s cubic-bezier(0.0, 0, 0.2, 1);
pointer-events: none
}

.srvs-pg .mask-item:hover .mask-circle {
width: 300px;
height: 300px
}

@media (max-width: 1280px) {
.srvs-pg .pg-top {
padding-left: 40px;
padding-right: 40px
}

.srvs-pg .dot-divider,
.srvs-pg .dot-divider-dark {
padding-left: 40px;
padding-right: 40px
}

.srvs-pg .offerings {
padding-left: 40px;
padding-right: 40px
}

.srvs-pg .offerings .cards-grid {
grid-template-columns: repeat(2, 1fr)
}

.srvs-pg .depth-band {
padding-left: 40px;
padding-right: 40px
}

.srvs-pg .process-band {
padding-left: 40px;
padding-right: 40px
}
}

@media (max-width: 768px) {
.srvs-pg .pg-top {
flex-direction: column;
gap: 24px;
padding: 40px 24px 24px
}

.srvs-pg .pg-top .img-col {
flex: 0 0 auto
}

.srvs-pg .pg-top .img-col .img-frame {
width: 100%;
height: 220px
}

.srvs-pg .pg-top .img-col .img-frame img {
width: 100%;
height: 220px
}

.srvs-pg .pg-top .img-col .vignette {
width: 100%;
height: 220px
}

.srvs-pg .pg-top .txt-col {
padding-left: 0
}

.srvs-pg .pg-top .txt-col .pg-heading {
font-size: 37px
}

.srvs-pg .dot-divider,
.srvs-pg .dot-divider-dark {
padding-left: 24px;
padding-right: 24px
}

.srvs-pg .offerings {
padding: 40px 24px
}

.srvs-pg .offerings .off-top {
flex-direction: column;
align-items: flex-start;
gap: 12px
}

.srvs-pg .offerings .off-sub {
text-align: left
}

.srvs-pg .offerings .cards-grid {
grid-template-columns: 1fr
}

.srvs-pg .depth-band {
padding: 40px 24px
}

.srvs-pg .depth-band .band-grid {
grid-template-columns: 1fr;
gap: 40px
}

.srvs-pg .process-band {
padding: 40px 24px
}

.srvs-pg .process-band .steps-row {
grid-template-columns: 1fr
}

.srvs-pg .process-band .img-showcase {
flex-direction: column;
padding: 24px
}

.srvs-pg .process-band .img-showcase .showcase-img {
width: 100%;
height: 180px
}

.srvs-pg .process-band .img-showcase .showcase-img img {
width: 100%;
height: 180px
}
}

@media (max-width: 390px) {
.srvs-pg .pg-top .txt-col .pg-heading {
font-size: 27px
}

.srvs-pg .offerings .off-heading .big-word {
font-size: 37px
}

.srvs-pg .depth-band .band-right .metric-num {
font-size: 37px;
width: 80px
}
}

.metho {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.metho .pg-band {
background: linear-gradient(180deg, #BD86B3 0%, #DBBEC7 100%);
padding: 80px 80px 40px;
position: relative
}

.metho .pg-band::before {
content: '';
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");
background-size: 200px 200px;
pointer-events: none
}

.metho .pg-band-row {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 80px;
position: relative;
z-index: 1
}

.metho .pg-band-img-frame {
flex: 0 0 340px;
width: 340px;
height: 340px;
border-radius: 46px;
overflow: hidden;
position: relative
}

.metho .pg-band-img-frame::after {
content: '';
position: absolute;
inset: 0;
background: #bd86b347;
pointer-events: none
}

.metho .pg-band-img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.metho .pg-band-text {
flex: 1 1 0;
padding-bottom: 8px
}

.metho .pg-band-label {
font-size: 13px;
line-height: 1.6;
color: #fff;
opacity: .82;
margin-bottom: 12px;
letter-spacing: .08em;
text-transform: uppercase
}

.metho .pg-band-heading {
font-size: 52px;
line-height: 1.1;
color: #fff;
margin: 0 0 24px
}

.metho .pg-band-heading span {
font-size: 37px;
display: block
}

.metho .pg-band-desc {
font-size: 16px;
line-height: 1.6;
color: #fff;
max-width: 480px;
margin: 0 0 24px
}

.metho .pg-band-link {
display: inline-block;
border: 2px solid #fff;
color: #fff;
font-size: 16px;
line-height: 1.35;
padding: 12px 40px;
border-radius: 11px;
text-decoration: none;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.metho .pg-band-link:hover {
background: #fff;
color: #BD86B3;
box-shadow: 0 5px 28px 0 #bd86b317
}

.metho .pg-band-link:focus-visible {
outline: 3px solid #fff;
outline-offset: 3px
}

.metho .diag-deco {
position: absolute;
top: 24px;
right: 80px;
width: 120px;
height: 120px;
pointer-events: none;
opacity: .18
}

.metho .diag-deco line {
stroke: #fff;
stroke-width: 1
}

.metho .divider-a {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 8px;
padding: 24px 0;
background: #fff
}

.metho .divider-a-line {
width: 60px;
height: 1px;
background: #DBBEC7
}

.metho .divider-a-dot {
width: 6px;
height: 6px;
border-radius: 30px;
background: #BD86B3;
flex-shrink: 0
}

.metho .cards-area {
background: #fff;
padding: 40px 80px 80px
}

.metho .cards-area-heading {
font-size: 27px;
line-height: 1.35;
color: #2d1a2e;
margin: 0 0 40px;
text-align: center
}

.metho .card-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 40px
}

.metho .prog-card {
border-radius: 11px;
box-shadow: 0 5px 28px 0 #bd86b317;
background: #fff;
border: 1.5px solid #EEE1EA;
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.metho .prog-card:hover {
box-shadow: 0 10px 36px 0 #bd86b31f
}

.metho .prog-card-img {
width: 100%;
height: 200px;
overflow: hidden;
flex-shrink: 0
}

.metho .prog-card-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.metho .prog-card-body {
padding: 24px;
display: flex;
flex-direction: column;
flex: 1 1 0
}

.metho .prog-card-ttl {
font-size: 20px;
line-height: 1.35;
color: #2d1a2e;
margin: 0 0 12px
}

.metho .prog-card-desc {
font-size: 16px;
line-height: 1.6;
color: #3d2540;
margin: 0 0 24px;
flex: 1 1 0
}

.metho .prog-card-meta {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
flex-wrap: wrap;
margin-bottom: 24px
}

.metho .prog-card-price {
font-size: 20px;
line-height: 1.35;
color: #BD86B3;
font-weight: 700
}

.metho .prog-card-pricedes {
font-size: 13px;
line-height: 1.6;
color: #7a5580
}

.metho .prog-card-readtime {
font-size: 13px;
line-height: 1.6;
color: #7a5580;
margin-left: auto
}

.metho .prog-card-action {
display: inline-block;
border: 2px solid #BD86B3;
color: #BD86B3;
font-size: 16px;
line-height: 1.35;
padding: 12px 24px;
border-radius: 11px;
text-decoration: none;
text-align: center;
transition: background .24s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.metho .prog-card-action:hover {
background: #BD86B3;
color: #fff;
box-shadow: 0 5px 28px 0 #bd86b317
}

.metho .prog-card-action:focus-visible {
outline: 3px solid #BD86B3;
outline-offset: 3px
}

.metho .divider-b {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 8px;
padding: 24px 0;
background: #EEE1EA
}

.metho .divider-b-dot {
width: 6px;
height: 6px;
border-radius: 30px;
background: #BD86B3;
flex-shrink: 0
}

.metho .divider-b-line {
width: 80px;
height: 1px;
background: #BD86B3
}

.metho .approach-area {
background: #EEE1EA;
padding: 80px;
position: relative
}

.metho .approach-row {
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.metho .approach-left {
flex: 0 0 260px;
position: relative
}

.metho .approach-accent-bar {
position: absolute;
left: -16px;
top: 4px;
width: 3px;
height: 80px;
background: #BD86B3;
border-radius: 6px
}

.metho .approach-label {
font-size: 13px;
line-height: 1.6;
color: #7a5580;
text-transform: uppercase;
letter-spacing: .07em;
margin-bottom: 12px
}

.metho .approach-heading {
font-size: 37px;
line-height: 1.1;
color: #2d1a2e;
margin: 0 0 24px
}

.metho .approach-right {
flex: 1 1 0;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.metho .step-item {
background: #fff;
border-radius: 11px;
padding: 24px;
box-shadow: 0 2px 6px 0 #bd86b30f;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.metho .step-item:hover {
box-shadow: 0 5px 28px 0 #bd86b317
}

.metho .step-num {
font-size: 37px;
line-height: 1.1;
color: #DBBEC7;
font-weight: 700;
margin-bottom: 8px
}

.metho .step-ttl {
font-size: 16px;
line-height: 1.35;
color: #2d1a2e;
font-weight: 700;
margin: 0 0 8px
}

.metho .step-txt {
font-size: 13px;
line-height: 1.6;
color: #3d2540;
margin: 0
}

.metho .divider-c {
background: #fff;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
padding: 24px 0;
gap: 8px
}

.metho .divider-c-dot {
width: 6px;
height: 6px;
border-radius: 30px;
background: #DBBEC7
}

.metho .divider-c-line {
width: 100px;
height: 1px;
background: #DBBEC7
}

.metho .table-area {
background: #fff;
padding: 80px
}

.metho .table-area-row {
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.metho .table-narrative {
flex: 0 0 320px
}

.metho .table-narrative-heading {
font-size: 27px;
line-height: 1.35;
color: #2d1a2e;
margin: 0 0 24px
}

.metho .table-narrative-txt {
font-size: 16px;
line-height: 1.6;
color: #3d2540;
margin: 0 0 24px
}

.metho .table-narrative-note {
font-size: 13px;
line-height: 1.6;
color: #7a5580;
border-top: 1px solid #EEE1EA;
padding-top: 12px;
margin: 0
}

.metho .data-tbl-wrap {
flex: 1 1 0;
overflow-x: auto
}

.metho .data-tbl {
width: 100%;
border-collapse: collapse;
font-size: 16px
}

.metho .data-tbl thead tr {
background: linear-gradient(180deg, #BD86B3 0%, #DBBEC7 100%)
}

.metho .data-tbl thead th {
color: #fff;
font-size: 13px;
line-height: 1.6;
padding: 12px 16px;
text-align: left;
font-weight: 600
}

.metho .data-tbl tbody tr {
border-bottom: 1px solid #EEE1EA;
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.metho .data-tbl tbody tr:hover {
background: #EEE1EA
}

.metho .data-tbl tbody td {
padding: 12px 16px;
color: #2d1a2e;
line-height: 1.6;
font-size: 16px
}

.metho .data-tbl tbody td.tbl-accent {
color: #BD86B3;
font-weight: 600
}

.metho .divider-d {
background: linear-gradient(180deg, #BD86B3 0%, #DBBEC7 100%);
height: 3px
}

.metho .faq-area {
background: #f7f0f5;
padding: 80px
}

.metho .faq-area-heading {
font-size: 37px;
line-height: 1.1;
color: #2d1a2e;
margin: 0 0 40px;
text-align: right
}

.metho .faq-list {
display: flex;
flex-direction: column;
gap: 12px;
max-width: 860px;
margin: 0 auto
}

.metho .faq-item {
background: #fff;
border-radius: 11px;
box-shadow: 0 2px 6px 0 #bd86b30f;
overflow: hidden
}

.metho .faq-toggle {
display: none
}

.metho .faq-lbl {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 24px;
cursor: pointer;
font-size: 16px;
line-height: 1.35;
color: #2d1a2e;
font-weight: 600;
gap: 12px;
user-select: none
}

.metho .faq-lbl:focus-visible {
outline: 3px solid #BD86B3;
outline-offset: -3px
}

.metho .faq-icon {
flex-shrink: 0;
width: 20px;
height: 20px;
position: relative
}

.metho .faq-icon::before,
.metho .faq-icon::after {
content: '';
position: absolute;
background: #BD86B3;
border-radius: 6px;
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), opacity .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.metho .faq-icon::before {
width: 20px;
height: 2px;
top: 9px;
left: 0
}

.metho .faq-icon::after {
width: 2px;
height: 20px;
top: 0;
left: 9px
}

.metho .faq-toggle:checked~.faq-lbl .faq-icon::after {
transform: rotate(90deg);
opacity: 0
}

.metho .faq-body {
max-height: 0;
overflow: hidden;
transition: max-height .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.metho .faq-toggle:checked~.faq-body {
max-height: 300px
}

.metho .faq-body-inner {
padding: 0 24px 24px;
font-size: 16px;
line-height: 1.6;
color: #3d2540
}

.metho .contact-strip {
background: linear-gradient(180deg, #BD86B3 0%, #DBBEC7 100%);
padding: 40px 80px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 40px
}

.metho .contact-strip-txt {
font-size: 20px;
line-height: 1.35;
color: #fff;
margin: 0
}

.metho .contact-strip-link {
display: inline-block;
border: 2px solid #fff;
color: #fff;
font-size: 16px;
line-height: 1.35;
padding: 12px 40px;
border-radius: 30px;
text-decoration: none;
flex-shrink: 0;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.metho .contact-strip-link:hover {
background: #fff;
color: #BD86B3;
box-shadow: 0 5px 28px 0 #bd86b317
}

.metho .contact-strip-link:focus-visible {
outline: 3px solid #fff;
outline-offset: 3px
}

@media (max-width: 1280px) {

.metho .pg-band,
.metho .cards-area,
.metho .approach-area,
.metho .table-area,
.metho .faq-area,
.metho .contact-strip {
padding-left: 40px;
padding-right: 40px
}

.metho .diag-deco {
right: 40px
}

.metho .card-grid {
gap: 24px
}

.metho .table-area-row {
gap: 40px
}

.metho .approach-row {
gap: 40px
}
}

@media (max-width: 768px) {
.metho .pg-band {
padding: 40px 24px 24px
}

.metho .pg-band-row {
flex-direction: column;
gap: 24px;
align-items: flex-start
}

.metho .pg-band-img-frame {
flex: 0 0 220px;
width: 100%;
height: 220px
}

.metho .pg-band-heading {
font-size: 37px
}

.metho .pg-band-heading span {
font-size: 27px
}

.metho .diag-deco {
display: none
}

.metho .cards-area {
padding: 24px 24px 40px
}

.metho .card-grid {
grid-template-columns: 1fr;
gap: 24px
}

.metho .approach-area {
padding: 40px 24px
}

.metho .approach-row {
flex-direction: column;
gap: 24px
}

.metho .approach-left {
flex: none
}

.metho .approach-right {
grid-template-columns: 1fr;
gap: 12px
}

.metho .table-area {
padding: 40px 24px
}

.metho .table-area-row {
flex-direction: column;
gap: 24px
}

.metho .table-narrative {
flex: none
}

.metho .faq-area {
padding: 40px 24px
}

.metho .faq-area-heading {
text-align: left;
font-size: 27px
}

.metho .contact-strip {
padding: 40px 24px;
flex-direction: column;
align-items: flex-start;
gap: 24px
}
}

@media (max-width: 390px) {
.metho .pg-band-heading {
font-size: 27px
}

.metho .pg-band-heading span {
font-size: 20px
}

.metho .approach-heading {
font-size: 27px
}

.metho .faq-area-heading {
font-size: 20px
}

.metho .cards-area-heading {
font-size: 20px
}
}

.ctus-pg {
max-width: 1440px;
margin: 0 auto;
overflow: hidden
}

.ctus-pg .reach-band {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 560px;
position: relative
}

.ctus-pg .reach-left {
background: linear-gradient(180deg, #BD86B3 0%, #DBBEC7 100%);
padding: 80px 40px 80px 80px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
overflow: hidden
}

.ctus-pg .reach-left::before {
content: "";
position: absolute;
top: -40px;
right: -40px;
width: 220px;
height: 220px;
border-radius: 46px;
background: #ffffff14;
transform: rotate(15deg);
pointer-events: none
}

.ctus-pg .reach-left::after {
content: "";
position: absolute;
bottom: 24px;
left: 40px;
width: 120px;
height: 120px;
border-radius: 46px;
background: #ffffff0f;
transform: rotate(-8deg);
pointer-events: none
}

.ctus-pg .faded-mark {
font-size: 180px;
line-height: 1.1;
color: #ffffff1f;
position: absolute;
top: 20px;
left: 24px;
pointer-events: none;
font-style: italic
}

.ctus-pg .reach-eyebrow {
font-size: 13px;
line-height: 1.6;
color: #ffffffbf;
text-transform: uppercase;
letter-spacing: .08em;
margin-bottom: 12px;
position: relative;
z-index: 1
}

.ctus-pg .reach-heading {
font-size: 52px;
line-height: 1.1;
color: #fff;
margin: 0 0 24px;
position: relative;
z-index: 1
}

.ctus-pg .reach-heading span {
font-size: 27px;
line-height: 1.35;
display: block;
color: #ffffffe0
}

.ctus-pg .reach-desc {
font-size: 16px;
line-height: 1.6;
color: #ffffffe6;
max-width: 340px;
margin: 0 0 40px;
position: relative;
z-index: 1
}

.ctus-pg .coord-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px;
position: relative;
z-index: 1
}

.ctus-pg .coord-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px
}

.ctus-pg .coord-icon {
width: 36px;
height: 36px;
border-radius: 11px;
background: #ffffff2e;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.ctus-pg .coord-icon svg {
width: 16px;
height: 16px;
fill: none;
stroke: #fff;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round
}

.ctus-pg .coord-text {
font-size: 16px;
line-height: 1.6;
color: #fff
}

.ctus-pg .coord-text a {
color: #fff;
text-decoration: underline;
text-decoration-color: #ffffff80;
transition: text-decoration-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .coord-text a:hover {
text-decoration-color: #fff
}

.ctus-pg .reach-right {
background: #fff;
padding: 80px 80px 80px 40px;
display: flex;
flex-direction: column;
justify-content: center
}

.ctus-pg .form-label-top {
font-size: 13px;
line-height: 1.6;
color: #BD86B3;
text-transform: uppercase;
margin-bottom: 8px
}

.ctus-pg .form-title {
font-size: 37px;
line-height: 1.35;
color: #2d1f2b;
margin: 0 0 8px
}

.ctus-pg .form-subtitle {
font-size: 16px;
line-height: 1.6;
color: #5a3f55;
margin: 0 0 40px
}

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

.ctus-pg .field-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.ctus-pg .field-grp {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus-pg .field-grp label {
font-size: 13px;
line-height: 1.6;
color: #2d1f2b;
font-weight: 600
}

.ctus-pg .field-grp input,
.ctus-pg .field-grp select {
font-size: 16px;
line-height: 1.6;
color: #2d1f2b;
background: #fff;
border: 1.5px solid #DBBEC7;
border-radius: 11px;
padding: 12px 24px;
outline: none;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1);
width: 100%;
box-sizing: border-box;
appearance: none;
-webkit-appearance: none
}

.ctus-pg .field-grp input::placeholder {
color: #2d1f2b66
}

.ctus-pg .field-grp input:focus,
.ctus-pg .field-grp select:focus {
border-color: #BD86B3;
box-shadow: 0 5px 28px 0 #bd86b317
}

.ctus-pg .select-wrap {
position: relative
}

.ctus-pg .select-wrap::after {
content: "";
position: absolute;
right: 16px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 6px solid #BD86B3;
pointer-events: none
}

.ctus-pg .select-wrap select {
padding-right: 40px;
cursor: pointer
}

.ctus-pg .priority-grp {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus-pg .priority-grp legend {
font-size: 13px;
line-height: 1.6;
color: #2d1f2b;
font-weight: 600;
margin-bottom: 4px
}

.ctus-pg .priority-opts {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap
}

.ctus-pg .priority-opts input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0
}

.ctus-pg .priority-opts label {
font-size: 13px;
line-height: 1.6;
color: #5a3f55;
border: 1.5px solid #DBBEC7;
border-radius: 30px;
padding: 8px 24px;
cursor: pointer;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .22s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.4, 0, 0.2, 1);
display: inline-block
}

.ctus-pg .priority-opts input[type="radio"]:checked+label {
background: #BD86B3;
border-color: #BD86B3;
color: #fff
}

.ctus-pg .priority-opts label:hover {
border-color: #BD86B3;
color: #2d1f2b
}

.ctus-pg .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px
}

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

.ctus-pg .privacy-row p {
font-size: 13px;
line-height: 1.6;
color: #5a3f55;
margin: 0
}

.ctus-pg .privacy-row a {
color: #BD86B3;
text-decoration: underline;
text-decoration-color: #bd86b380;
transition: text-decoration-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .privacy-row a:hover {
text-decoration-color: #BD86B3
}

.ctus-pg .submit-btn {
font-size: 16px;
line-height: 1.35;
color: #BD86B3;
background: transparent;
border: 1.5px solid #BD86B3;
border-radius: 30px;
padding: 12px 40px;
cursor: pointer;
align-self: flex-start;
transition: background .25s cubic-bezier(0.0, 0, 0.2, 1), color .25s cubic-bezier(0.0, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .submit-btn:hover {
background: #BD86B3;
color: #fff;
box-shadow: 0 10px 36px 0 #bd86b31f
}

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

.ctus-pg .submit-btn:active {
box-shadow: inset 0 2px 6px 0 #bd86b32e
}

.ctus-pg .arrows-divider {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 8px;
padding: 24px 0;
background: #EEE1EA
}

.ctus-pg .arr-shape {
width: 0;
height: 0;
border-top: 8px solid transparent;
border-bottom: 8px solid transparent;
border-left: 12px solid #DBBEC7
}

.ctus-pg .arr-shape.dim {
border-left-color: #bd86b359
}

.ctus-pg .arr-shape.mid {
border-left-color: #bd86b399
}

.ctus-pg .info-band {
background: #EEE1EA;
padding: 80px;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1.4fr;
gap: 40px;
align-items: start
}

.ctus-pg .info-col {
display: flex;
flex-direction: column;
gap: 12px
}

.ctus-pg .info-col-label {
font-size: 13px;
line-height: 1.6;
color: #BD86B3;
text-transform: uppercase
}

.ctus-pg .info-col-val {
font-size: 16px;
line-height: 1.6;
color: #2d1f2b
}

.ctus-pg .info-col-val a {
color: #2d1f2b;
text-decoration: underline;
text-decoration-color: #bd86b366;
transition: text-decoration-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .info-col-val a:hover {
text-decoration-color: #BD86B3
}

.ctus-pg .info-accent-col {
display: flex;
flex-direction: column;
gap: 12px;
background: linear-gradient(180deg, #BD86B3 0%, #DBBEC7 100%);
border-radius: 11px;
padding: 24px;
box-shadow: 0 5px 28px 0 #bd86b317
}

.ctus-pg .info-accent-col .info-col-label {
color: #ffffffbf
}

.ctus-pg .info-accent-col .info-col-val {
color: #fff;
font-size: 20px;
line-height: 1.35
}

.ctus-pg .info-accent-col .info-note {
font-size: 13px;
line-height: 1.6;
color: #fffc
}

.ctus-pg .abbr-anchor {
font-size: 52px;
line-height: 1.1;
color: #bd86b326;
font-weight: 700;
position: absolute;
bottom: 12px;
right: 24px;
pointer-events: none
}

.ctus-pg .info-band-inner {
position: relative
}

@keyframes ctus-rotate-in {
from {
opacity: 0;
transform: rotate(-4deg) translateY(16px)
}

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

.ctus-pg .reach-heading {
animation: ctus-rotate-in .28s cubic-bezier(0.0, 0, 0.2, 1) both
}

.ctus-pg .form-title {
animation: ctus-rotate-in .25s cubic-bezier(0.4, 0, 0.2, 1) .08s both
}

@media (max-width: 1280px) {
.ctus-pg .reach-left {
padding: 80px 24px 80px 40px
}

.ctus-pg .reach-right {
padding: 80px 40px 80px 24px
}

.ctus-pg .info-band {
padding: 80px 40px;
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 768px) {
.ctus-pg .reach-band {
grid-template-columns: 1fr
}

.ctus-pg .reach-left {
padding: 80px 24px 40px
}

.ctus-pg .reach-heading {
font-size: 37px
}

.ctus-pg .reach-right {
padding: 40px 24px 80px
}

.ctus-pg .field-row {
grid-template-columns: 1fr
}

.ctus-pg .info-band {
padding: 40px 24px;
grid-template-columns: 1fr
}

.ctus-pg .faded-mark {
font-size: 100px
}
}

@media (max-width: 390px) {
.ctus-pg .reach-heading {
font-size: 27px
}

.ctus-pg .form-title {
font-size: 27px
}

.ctus-pg .priority-opts {
flex-direction: column
}

.ctus-pg .submit-btn {
align-self: stretch;
text-align: center
}
}

.frst {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.frst .ttl-blk {
padding: 80px 80px 120px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: end;
position: relative;
border-top: 2px solid #BD86B3;
border-bottom: 2px solid #DBBEC7
}

.frst .ttl-stripe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 4px;
background: linear-gradient(90deg, #BD86B3, #DBBEC7, #EEE1EA)
}

.frst .ttl-left {
display: flex;
flex-direction: column;
gap: 24px
}

.frst .ttl-label {
font-size: 13px;
line-height: 1.6;
color: #BD86B3;
letter-spacing: .08em;
text-transform: uppercase
}

.frst .ttl-h {
font-size: 52px;
line-height: 1.1;
color: #1b1320;
margin: 0
}

.frst .ttl-h span {
font-size: 27px;
line-height: 1.35;
display: block;
color: #4a3055;
margin-top: 8px
}

.frst .ttl-sub {
font-size: 20px;
line-height: 1.6;
color: #3d2a48;
max-width: 480px
}

.frst .ttl-meta {
display: flex;
flex-direction: row;
gap: 40px;
align-items: center;
margin-top: 12px
}

.frst .ttl-meta-item {
font-size: 13px;
line-height: 1.6;
color: #6b4d7a
}

.frst .ttl-meta-item strong {
display: block;
font-size: 27px;
line-height: 1.1;
color: #1b1320
}

.frst .ttl-img-wrap {
position: relative;
border-radius: 11px;
overflow: hidden;
height: 480px
}

.frst .ttl-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: saturate(0.85);
transition: filter .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .ttl-img-wrap img:hover {
filter: saturate(1)
}

.frst .ttl-img-vign {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 20% 20%, #bd86b347 0%, transparent 60%), radial-gradient(ellipse at 80% 80%, #1b132059 0%, transparent 55%);
pointer-events: none;
border-radius: 11px
}

.frst .avail-blk {
padding: 80px;
background: linear-gradient(180deg, #EEE1EA 0%, #fff 100%)
}

.frst .avail-top {
max-width: 600px;
margin: 0 auto 80px;
text-align: center
}

.frst .avail-h {
font-size: 37px;
line-height: 1.1;
color: #1b1320;
margin: 0 0 24px
}

.frst .avail-h em {
font-size: 52px;
font-style: normal
}

.frst .avail-desc {
font-size: 16px;
line-height: 1.6;
color: #3d2a48
}

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

.frst .avail-card {
border-radius: 11px;
padding: 40px 24px;
background: #fff;
box-shadow: 0 5px 28px 0 #bd86b317;
border-top: 3px solid #BD86B3;
transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.frst .avail-card:hover {
box-shadow: 0 10px 36px 0 #bd86b31f;
transform: translateY(-4px)
}

.frst .avail-card.alt {
border-top-color: #DBBEC7
}

.frst .avail-card-num {
font-size: 52px;
line-height: 1.1;
color: #EEE1EA;
font-weight: 700;
margin-bottom: 8px
}

.frst .avail-card-name {
font-size: 20px;
line-height: 1.35;
color: #1b1320;
margin: 0 0 12px
}

.frst .avail-card-text {
font-size: 16px;
line-height: 1.6;
color: #4a3055;
margin: 0
}

.frst .avail-img-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 40px
}

.frst .avail-img-box {
border-radius: 11px;
overflow: hidden;
height: 260px
}

.frst .avail-img-box img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: saturate(0.8);
transition: filter .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .avail-img-box img:hover {
filter: saturate(1)
}

.frst .ratio-bar-wrap {
margin-top: 40px;
background: #fff;
border-radius: 11px;
padding: 24px 40px;
box-shadow: 0 2px 6px 0 #bd86b30f
}

.frst .ratio-bar-label {
display: flex;
flex-direction: row;
justify-content: space-between;
font-size: 13px;
line-height: 1.6;
color: #4a3055;
margin-bottom: 8px
}

.frst .ratio-bar-track {
height: 12px;
background: #EEE1EA;
border-radius: 6px;
overflow: hidden
}

.frst .ratio-bar-fill {
height: 100%;
background: linear-gradient(90deg, #BD86B3, #DBBEC7);
border-radius: 6px;
width: 72%;
transition: width .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .ratio-bar-note {
font-size: 13px;
line-height: 1.6;
color: #6b4d7a;
margin-top: 8px;
text-align: right
}

.frst .ppl-blk {
padding: 80px;
background: #fff
}

.frst .ppl-h {
font-size: 37px;
line-height: 1.1;
color: #1b1320;
margin: 0 0 8px;
text-align: right
}

.frst .ppl-sub {
font-size: 16px;
line-height: 1.6;
color: #4a3055;
margin: 0 0 40px;
text-align: right
}

.frst .ppl-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px
}

.frst .ppl-card {
display: grid;
grid-template-columns: 140px 1fr;
gap: 24px;
align-items: start
}

.frst .ppl-card.offset {
margin-top: 80px
}

.frst .ppl-img-box {
border-radius: 46px;
overflow: hidden;
height: 180px;
width: 140px;
flex-shrink: 0
}

.frst .ppl-img-box img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: saturate(0.8);
transition: filter .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .ppl-img-box img:hover {
filter: saturate(1)
}

.frst .ppl-body {
display: flex;
flex-direction: column;
gap: 12px
}

.frst .ppl-quote {
font-size: 16px;
line-height: 1.8;
color: #1b1320;
font-style: italic;
margin: 0
}

.frst .ppl-name {
font-size: 13px;
line-height: 1.6;
color: #BD86B3
}

.frst .ppl-detail {
font-size: 13px;
line-height: 1.6;
color: #4a3055;
background: #EEE1EA;
border-radius: 6px;
padding: 8px 12px
}

.frst .val-blk {
padding: 80px;
background: linear-gradient(180deg, #2a1a35 0%, #3d2a48 100%);
position: relative;
overflow: hidden
}

.frst .val-blk-bg {
position: absolute;
inset: 0;
background: linear-gradient(180deg, #BD86B3 0%, #2a1a35 100%);
opacity: 0;
animation: colorwash 8s ease-in-out infinite alternate;
pointer-events: none
}

@keyframes colorwash {
0% {
opacity: 0
}

100% {
opacity: .07
}
}

.frst .val-inner {
display: grid;
grid-template-columns: 1fr 480px;
gap: 80px;
align-items: start;
position: relative
}

.frst .val-left {
display: flex;
flex-direction: column;
gap: 24px
}

.frst .val-h {
font-size: 37px;
line-height: 1.1;
color: #EEE1EA;
margin: 0
}

.frst .val-h strong {
font-size: 52px;
display: block;
color: #DBBEC7
}

.frst .val-text {
font-size: 16px;
line-height: 1.8;
color: #c9b8d4;
margin: 0
}

.frst .val-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px
}

.frst .val-list li {
font-size: 16px;
line-height: 1.6;
color: #c9b8d4;
padding: 12px 24px;
background: #bd86b31a;
border-radius: 6px
}

.frst .val-list li::before {
content: '';
display: inline-block;
width: 8px;
height: 8px;
background: #BD86B3;
border-radius: 30px;
margin-right: 12px;
vertical-align: middle
}

.frst .val-right {
display: flex;
flex-direction: column;
gap: 24px
}

.frst .val-card {
background: #ffffff0f;
border-radius: 11px;
padding: 24px;
border-top: 2px solid #bd86b34d
}

.frst .val-card-h {
font-size: 20px;
line-height: 1.35;
color: #DBBEC7;
margin: 0 0 8px
}

.frst .val-card-p {
font-size: 16px;
line-height: 1.6;
color: #a890b8;
margin: 0
}

.frst .val-cta-wrap {
display: flex;
flex-direction: row;
gap: 12px;
margin-top: 12px
}

.frst .val-btn {
display: inline-block;
padding: 12px 40px;
border-radius: 30px;
font-size: 16px;
line-height: 1.6;
border: 2px solid #BD86B3;
color: #DBBEC7;
background: transparent;
cursor: pointer;
text-decoration: none;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), background .25s cubic-bezier(0.0, 0, 0.2, 1), color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .val-btn:hover {
background: #BD86B3;
color: #fff;
box-shadow: 0 10px 36px 0 #bd86b31f
}

.frst .val-btn:active {
box-shadow: inset 0 2px 6px 0 #bd86b32e
}

.frst .val-btn.sec {
border-color: #bd86b366;
color: #a890b8
}

.frst .val-btn.sec:hover {
background: #bd86b326;
color: #DBBEC7
}

@media (max-width: 1280px) {
.frst .ttl-blk {
padding: 40px 40px 80px;
gap: 40px
}

.frst .ttl-h {
font-size: 37px
}

.frst .avail-blk {
padding: 80px 40px
}

.frst .avail-grid {
grid-template-columns: 1fr 1fr
}

.frst .ppl-blk {
padding: 80px 40px
}

.frst .val-blk {
padding: 80px 40px
}

.frst .val-inner {
grid-template-columns: 1fr 1fr;
gap: 40px
}
}

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

.frst .ttl-img-wrap {
height: 280px
}

.frst .ttl-h {
font-size: 37px
}

.frst .ttl-meta {
gap: 24px
}

.frst .avail-blk {
padding: 40px 24px
}

.frst .avail-grid {
grid-template-columns: 1fr
}

.frst .avail-top {
margin-bottom: 40px
}

.frst .avail-img-row {
grid-template-columns: 1fr
}

.frst .ppl-blk {
padding: 40px 24px
}

.frst .ppl-grid {
grid-template-columns: 1fr;
gap: 40px
}

.frst .ppl-card.offset {
margin-top: 0
}

.frst .ppl-card {
grid-template-columns: 100px 1fr;
gap: 12px
}

.frst .ppl-img-box {
width: 100px;
height: 130px
}

.frst .val-blk {
padding: 40px 24px
}

.frst .val-inner {
grid-template-columns: 1fr;
gap: 40px
}

.frst .val-h strong {
font-size: 37px
}
}

@media (max-width: 390px) {
.frst .ttl-h {
font-size: 27px
}

.frst .ttl-sub {
font-size: 16px
}

.frst .avail-h em {
font-size: 37px
}

.frst .ppl-card {
grid-template-columns: 1fr
}

.frst .ppl-img-box {
width: 100%;
height: 200px;
border-radius: 11px
}

.frst .val-cta-wrap {
flex-direction: column
}
}

.success-pg {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80px 24px;
background: linear-gradient(to bottom, #fff, #EEE1EA)
}

.success-pg .confirm-wrap {
max-width: 560px;
width: 100%;
text-align: center;
padding: 80px 40px;
background: #fff;
border-radius: 11px;
box-shadow: 0 10px 36px 0 #bd86b31f
}

.success-pg .confirm-icon {
width: 64px;
height: 64px;
margin: 0 auto 40px;
display: flex;
align-items: center;
justify-content: center
}

.success-pg .confirm-icon svg {
width: 64px;
height: 64px
}

.success-pg .confirm-title {
font-size: 37px;
line-height: 1.1;
color: #2d1f2b;
margin: 0 0 24px
}

.success-pg .confirm-title span {
font-size: 52px;
display: block;
color: #BD86B3;
line-height: 1.1
}

.success-pg .confirm-body {
font-size: 16px;
line-height: 1.6;
color: #3d2b3a;
margin: 0 0 40px
}

.success-pg .confirm-detail {
font-size: 13px;
line-height: 1.6;
color: #7a5c74;
margin: 0 0 40px;
padding: 24px;
background: #EEE1EA;
border-radius: 6px
}

.success-pg .back-btn {
display: inline-block;
font-size: 16px;
line-height: 1.35;
color: #BD86B3;
text-decoration: none;
padding: 12px 40px;
border: 2px solid #BD86B3;
border-radius: 30px;
background: transparent;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .26s cubic-bezier(0.0, 0, 0.2, 1);
cursor: pointer
}

.success-pg .back-btn:hover {
background: #BD86B3;
color: #fff;
box-shadow: 0 5px 28px 0 #bd86b317
}

.success-pg .back-btn:focus {
outline: 3px solid #BD86B3;
outline-offset: 3px
}

.success-pg .back-btn:active {
box-shadow: inset 0 2px 6px 0 #bd86b32e
}

@media (max-width: 768px) {
.success-pg {
padding: 40px 24px
}

.success-pg .confirm-wrap {
padding: 40px 24px
}

.success-pg .confirm-title span {
font-size: 37px
}

.success-pg .confirm-title {
font-size: 27px
}
}

@media (max-width: 390px) {
.success-pg .confirm-wrap {
padding: 40px 12px
}
}