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

body {
font-family: 'Public Sans', sans-serif;
font-size: 16px;
line-height: 1.5
}

.hd-root {
background: linear-gradient(135deg, #fff 0%, #f2f5fb 60%, #dde8fa 100%);
border-bottom: 1px solid #A8B3D2;
box-shadow: 0 3px 2px -1px #828c9712 0 7px 22px -1px #828c9717;
position: relative;
z-index: 100
}

.hd-band {
max-width: 1320px;
margin: 0 auto;
padding: 0 40px
}

.hd-notice {
background: linear-gradient(90deg, #A8B3D2 0%, #B0CBFA 100%);
padding: 8px 40px;
display: flex;
align-items: center;
justify-content: center;
gap: 16px
}

.hd-notice-text {
font-size: 16px;
color: #1d2630;
font-weight: 700;
letter-spacing: -.01em;
line-height: 1.1
}

.hd-notice-pill {
background: #fff;
color: #828C97;
font-size: 16px;
font-weight: 700;
padding: 4px 16px;
border-radius: 36px;
white-space: nowrap;
box-shadow: 0 3px 2px -1px #b0cbfa12
}

.hd-body {
display: flex;
align-items: center;
justify-content: space-between;
gap: 40px;
padding: 24px 0
}

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

.hd-logo-pill {
background: #fff;
border: 1px solid #A8B3D2;
border-radius: 36px;
padding: 8px 24px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 3px 2px -1px #a8b3d212 0 7px 22px -1px #a8b3d217;
width: 140px;
height: 72px
}

.hd-logo-pill img {
width: 90px;
height: 56px;
object-fit: contain;
display: block
}

.hd-brand-name {
font-size: 16px;
font-weight: 700;
color: #2c3a4a;
letter-spacing: -.02em;
line-height: 1.1;
text-align: center
}

.hd-menu-deck {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 8px;
flex: 1
}

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

.hd-contact-link {
font-size: 16px;
color: #828C97;
text-decoration: none;
line-height: 1.5;
transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.hd-contact-link:hover {
color: #2c3a4a
}

.hd-contact-link:focus {
outline: 2px solid #B0CBFA;
outline-offset: 2px;
border-radius: 4px
}

.hd-nav-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
gap: 8px;
justify-content: flex-end
}

.hd-nav-list li {
display: flex
}

.hd-nav-link {
font-size: 16px;
font-weight: 700;
color: #2c3a4a;
text-decoration: none;
padding: 8px 16px;
border-radius: 4px;
border: 1px solid transparent;
line-height: 1.5;
position: relative;
overflow: hidden;
transition: color .42s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .38s ease-in-out;
display: flex;
align-items: center;
min-height: 44px
}

.hd-nav-link::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(90deg, #B0CBFA 0%, #A8B3D2 100%);
transform: translateX(-100%);
transition: transform .4s cubic-bezier(0.34, 1.2, 0.64, 1);
z-index: 0;
border-radius: 4px
}

.hd-nav-link:hover::before {
transform: translateX(0)
}

.hd-nav-link:hover {
color: #1d2630;
border-color: #A8B3D2
}

.hd-nav-link:focus {
outline: 2px solid #828C97;
outline-offset: 2px
}

.hd-nav-link span {
position: relative;
z-index: 1
}

.hd-nav-link.active-pg {
background: #A8B3D2;
color: #1d2630;
border-color: #828C97
}

.ft-root {
background: linear-gradient(180deg, #f2f5fb 0%, #e8eef8 100%);
border-top: 1px solid #A8B3D2;
box-shadow: 0 -3px 2px -1px #828c9712
}

.ft-upper {
max-width: 1320px;
margin: 0 auto;
padding: 72px 40px 40px;
display: flex;
gap: 72px;
flex-wrap: wrap;
align-items: flex-start
}

.ft-brand-col {
display: flex;
flex-direction: column;
gap: 16px;
flex-shrink: 0;
min-width: 180px
}

.ft-logo-cell {
background: #fff;
border: 1px solid #A8B3D2;
border-radius: 36px;
padding: 8px 16px;
display: flex;
align-items: center;
justify-content: flex-start;
box-shadow: 0 3px 2px -1px #a8b3d212 0 7px 22px -1px #a8b3d217;
width: 120px;
height: 64px
}

.ft-logo-cell img {
width: 80px;
height: 48px;
object-fit: contain;
display: block
}

.ft-brand-label {
font-size: 23px;
font-weight: 700;
color: #2c3a4a;
letter-spacing: -.02em;
line-height: 1.1
}

.ft-brand-desc {
font-size: 16px;
color: #828C97;
line-height: 1.5;
max-width: 220px
}

.ft-cols {
display: flex;
gap: 72px;
flex-wrap: wrap;
flex: 1
}

.ft-col {
display: flex;
flex-direction: column;
gap: 16px;
min-width: 140px
}

.ft-col-heading {
font-size: 16px;
font-weight: 700;
color: #2c3a4a;
letter-spacing: -.01em;
line-height: 1.1;
padding-bottom: 8px;
border-bottom: 2px solid #B0CBFA
}

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

.ft-link-list li {
display: flex
}

.ft-pg-link {
font-size: 16px;
color: #828C97;
text-decoration: none;
line-height: 1.5;
transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.ft-pg-link:hover {
color: #2c3a4a
}

.ft-pg-link:focus {
outline: 2px solid #B0CBFA;
outline-offset: 2px;
border-radius: 4px
}

.ft-contact-item {
display: flex;
flex-direction: column;
gap: 4px
}

.ft-contact-label {
font-size: 16px;
font-weight: 700;
color: #828C97;
line-height: 1.1
}

.ft-contact-val {
font-size: 16px;
color: #2c3a4a;
text-decoration: none;
line-height: 1.5;
transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.ft-contact-val:hover {
color: #828C97
}

.ft-contact-val:focus {
outline: 2px solid #A8B3D2;
outline-offset: 2px;
border-radius: 4px
}

.ft-lower {
border-top: 1px solid #A8B3D2;
max-width: 1320px;
margin: 0 auto;
padding: 24px 40px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 16px
}

.ft-copy {
font-size: 16px;
color: #828C97;
line-height: 1.5
}

.ft-legal-links {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 24px;
flex-wrap: wrap
}

.ft-legal-links li {
display: flex
}

.ft-legal-link {
font-size: 16px;
color: #828C97;
text-decoration: none;
line-height: 1.5;
transition: color .4s ease-in-out
}

.ft-legal-link:hover {
color: #2c3a4a
}

.ft-legal-link:focus {
outline: 2px solid #B0CBFA;
outline-offset: 2px;
border-radius: 4px
}

.ck-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 1500;
display: none;
background: #fff;
border-top: 1px solid #A8B3D2;
box-shadow: 0 -7px 22px -1px #828c9717 0 -10px 36px -1px #828c971c
}

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

.ck-text-pod {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1;
min-width: 240px
}

.ck-desc {
font-size: 16px;
color: #828C97;
line-height: 1.5
}

.ck-headline {
font-size: 16px;
font-weight: 700;
color: #2c3a4a;
line-height: 1.1
}

.ck-actions {
display: flex;
gap: 16px;
flex-shrink: 0;
flex-wrap: wrap
}

.ck-btn {
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 700;
padding: 8px 24px;
border-radius: 36px;
border: 2px solid #A8B3D2;
cursor: pointer;
min-height: 44px;
min-width: 120px;
position: relative;
overflow: hidden;
transition: color .42s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .38s ease-in-out;
background: #fff;
color: #2c3a4a
}

.ck-btn::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(90deg, #B0CBFA 0%, #A8B3D2 100%);
transform: translateX(-100%);
transition: transform .4s cubic-bezier(0.34, 1.2, 0.64, 1);
z-index: 0
}

.ck-btn:hover::before {
transform: translateX(0)
}

.ck-btn:hover {
color: #1d2630;
border-color: #828C97
}

.ck-btn:focus {
outline: 2px solid #828C97;
outline-offset: 2px
}

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

.ck-pref-trigger {
position: fixed;
bottom: 16px;
right: 16px;
z-index: 1400;
width: 44px;
height: 44px;
border-radius: 36px;
background: #A8B3D2;
border: 2px solid #828C97;
cursor: pointer;
display: none;
align-items: center;
justify-content: center;
box-shadow: 0 7px 22px -1px #828c9717;
transition: background .38s ease-in-out
}

.ck-pref-trigger:hover {
background: #B0CBFA
}

.ck-pref-trigger:focus {
outline: 2px solid #2c3a4a;
outline-offset: 2px
}

.ck-pref-icon {
width: 20px;
height: 20px;
display: block
}

@media (max-width: 768px) {
.hd-band {
padding: 0 16px
}

.hd-notice {
padding: 8px 16px;
flex-wrap: wrap;
gap: 8px
}

.hd-body {
flex-direction: column;
align-items: flex-start;
gap: 16px;
padding: 16px 0
}

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

.hd-menu-deck {
align-items: flex-start;
width: 100%
}

.hd-contact-strip {
flex-wrap: wrap;
gap: 8px
}

.hd-nav-list {
justify-content: flex-start
}

.ft-upper {
padding: 40px 16px 24px;
gap: 40px
}

.ft-cols {
gap: 40px
}

.ft-lower {
padding: 16px;
flex-direction: column;
align-items: flex-start
}

.ck-bar-inner {
padding: 16px;
flex-direction: column;
align-items: flex-start;
gap: 16px
}

.ck-pref-trigger {
bottom: 8px;
right: 8px
}
}

.c-legal-content {
max-width: 1320px;
margin: 0 auto;
padding: 72px 40px;
color: #2c3340
}

.c-legal-content p {
font-size: 16px;
line-height: 1.9;
margin-bottom: 24px;
color: #2c3340
}

.c-legal-content strong,
.c-legal-content b {
font-weight: 700;
color: #1e2530
}

.c-legal-content em,
.c-legal-content i {
font-style: italic;
color: #3d4756
}

.c-legal-content a {
color: #5a6a8a;
text-decoration: underline;
text-decoration-color: #A8B3D2;
text-underline-offset: 3px;
transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1), text-decoration-color .42s ease-in-out
}

.c-legal-content a:hover {
color: #828C97;
text-decoration-color: #B0CBFA
}

.c-legal-content table {
width: 100%;
border-collapse: collapse;
margin-bottom: 40px;
font-size: 16px;
line-height: 1.5;
border-radius: 4px;
overflow: hidden;
box-shadow: 0 3px 2px -1px #828c9712 0 7px 22px -1px #828c9717
}

.c-legal-content thead {
background-color: #f2f5fb
}

.c-legal-content tbody tr {
border-bottom: 1px solid #dde3ef;
transition: background-color .35s ease-in-out
}

.c-legal-content tbody tr:last-child {
border-bottom: none
}

.c-legal-content tbody tr:hover {
background-color: #f7f9fe
}

.c-legal-content th {
padding: 16px 24px;
text-align: left;
font-size: 16px;
font-weight: 700;
color: #1e2530;
letter-spacing: -.01em;
border-bottom: 2px solid #B0CBFA
}

.c-legal-content td {
padding: 16px 24px;
font-size: 16px;
line-height: 1.5;
color: #2c3340;
vertical-align: top
}

.c-legal-content hr {
border: none;
border-top: 1px solid #dde3ef;
margin: 40px 0;
box-shadow: inset 0 1px 0 #a8b3d22e
}

.c-legal-content div {
margin-bottom: 24px
}

@media (max-width: 768px) {
.c-legal-content {
padding: 40px 16px
}

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

.c-legal-content th,
.c-legal-content td {
padding: 16px
}
}

.bse {
background: #fff;
overflow-x: clip
}

.bse .pg-bound {
max-width: 1320px;
margin: 0 auto;
padding: 0 40px
}

.bse .title-row {
display: flex;
flex-direction: row;
align-items: stretch;
min-height: 560px;
position: relative
}

.bse .title-row .t-left {
flex: 1 1 50%;
display: flex;
flex-direction: column;
justify-content: center;
padding: 72px 40px 72px 0;
position: relative;
z-index: 1
}

.bse .title-row .t-right {
flex: 1 1 50%;
position: relative
}

.bse .title-row .t-right .img-frame {
width: 100%;
height: 100%;
min-height: 480px;
overflow: hidden;
border-radius: 4px
}

.bse .title-row .t-right .img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.bse .title-row .t-right .img-frame:hover img {
transform: scale(1.05)
}

.bse .title-row .t-right .scanline-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
background-image: repeating-linear-gradient(0deg, #828c9712 0px, #828c9712 1px, transparent 1px, transparent 3px);
border-radius: 4px
}

.bse .title-row .t-bg-num {
position: absolute;
right: 8px;
top: 50%;
transform: translateY(-50%);
font-size: 220px;
font-weight: 900;
color: #a8b3d214;
line-height: 1.1;
letter-spacing: -8px;
pointer-events: none;
user-select: none;
z-index: 0
}

.bse .title-row .t-label {
font-size: 16px;
color: #828C97;
letter-spacing: .12em;
text-transform: uppercase;
margin-bottom: 24px;
line-height: 1.5
}

.bse .title-row h1 {
font-size: 58px;
font-weight: 800;
line-height: 1.1;
letter-spacing: -.03em;
color: #1e2530;
margin-bottom: 40px
}

.bse .title-row h1 em {
font-style: normal;
color: #828C97
}

.bse .title-row .t-action {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 16px;
font-weight: 600;
color: #1e2530;
text-decoration: none !important;
border-bottom: 2px solid #B0CBFA;
padding-bottom: 4px;
transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.bse .title-row .t-action:hover {
color: #828C97;
border-color: #828C97
}

.bse .title-row .t-divider {
width: 48px;
height: 2px;
background: #B0CBFA;
margin-bottom: 24px
}

.bse .moment-band {
background: #f4f6fb;
padding: 72px 0
}

.bse .moment-band .moment-inner {
max-width: 1320px;
margin: 0 auto;
padding: 0 40px;
display: flex;
flex-direction: row;
gap: 40px;
align-items: center
}

.bse .moment-band .m-portrait {
flex: 0 0 320px
}

.bse .moment-band .m-portrait .port-frame {
width: 320px;
height: 480px;
overflow: hidden;
border-radius: 4px;
box-shadow: 0 7px 22px -1px #828c9717
}

.bse .moment-band .m-portrait .port-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .45s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.bse .moment-band .m-portrait .port-frame:hover img {
transform: scale(1.04)
}

.bse .moment-band .m-text {
flex: 1 1 auto
}

.bse .moment-band .m-text .m-tag {
font-size: 16px;
color: #A8B3D2;
letter-spacing: .1em;
text-transform: uppercase;
margin-bottom: 16px;
line-height: 1.5
}

.bse .moment-band .m-text h2 {
font-size: 42px;
font-weight: 800;
line-height: 1.1;
letter-spacing: -.02em;
color: #1e2530;
margin-bottom: 24px
}

.bse .moment-band .m-text .m-quote {
font-size: 23px;
font-weight: 600;
line-height: 1.5;
color: #828C97;
margin-bottom: 24px;
padding-left: 16px;
border-left: none;
position: relative
}

.bse .moment-band .m-text .m-quote::before {
content: "";
position: absolute;
top: 4px;
left: 0;
width: 3px;
height: calc(100% - 8px);
background: #B0CBFA;
border-radius: 4px
}

.bse .moment-band .m-text .m-body {
font-size: 16px;
color: #4a5260;
line-height: 1.9;
margin-bottom: 16px
}

.bse .moment-band .m-text .m-body.narrow {
max-width: 480px
}

.bse .moment-band .m-text .m-attrib {
font-size: 16px;
color: #828C97;
line-height: 1.5;
margin-top: 24px
}

.bse .moment-band .m-text .m-attrib strong {
color: #1e2530
}

.bse .fit-band {
background: #fff;
padding: 72px 0
}

.bse .fit-band .fit-inner {
max-width: 1320px;
margin: 0 auto;
padding: 0 40px
}

.bse .fit-band .fit-head {
text-align: center;
margin-bottom: 40px
}

.bse .fit-band .fit-head h2 {
font-size: 42px;
font-weight: 800;
line-height: 1.1;
letter-spacing: -.02em;
color: #1e2530;
margin-bottom: 16px
}

.bse .fit-band .fit-head p {
font-size: 16px;
color: #828C97;
line-height: 1.5
}

.bse .fit-band .fit-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.bse .fit-band .fit-col {
border-radius: 4px;
padding: 40px
}

.bse .fit-band .fit-col.col-yes {
background: #f4f6fb;
box-shadow: 0 3px 2px -1px #828c9712
}

.bse .fit-band .fit-col.col-no {
background: #fff;
box-shadow: 0 7px 22px -1px #a8b3d217
}

.bse .fit-band .fit-col .col-label {
font-size: 16px;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
margin-bottom: 24px
}

.bse .fit-band .fit-col.col-yes .col-label {
color: #828C97
}

.bse .fit-band .fit-col.col-no .col-label {
color: #A8B3D2
}

.bse .fit-band .fit-col h3 {
font-size: 23px;
font-weight: 700;
line-height: 1.5;
color: #1e2530;
margin-bottom: 16px
}

.bse .fit-band .fit-item {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
margin-bottom: 16px
}

.bse .fit-band .fit-item .fit-num {
font-size: 42px;
font-weight: 900;
line-height: 1.1;
color: #a8b3d240;
flex-shrink: 0;
width: 40px;
text-align: right
}

.bse .fit-band .fit-item .fit-desc {
font-size: 16px;
color: #4a5260;
line-height: 1.9;
padding-top: 8px
}

.bse .fit-band .fit-divider {
width: 60%;
height: 1px;
background: #a8b3d24d;
margin: 40px auto
}

.bse .approach-band {
background: linear-gradient(160deg, #b0cbfa2e 0%, #ffff 60%);
padding: 72px 0
}

.bse .approach-band .appr-inner {
max-width: 1320px;
margin: 0 auto;
padding: 0 40px
}

.bse .approach-band .appr-top {
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start;
margin-bottom: 40px
}

.bse .approach-band .appr-top .appr-hd {
flex: 1 1 40%
}

.bse .approach-band .appr-top .appr-hd h2 {
font-size: 42px;
font-weight: 800;
line-height: 1.1;
letter-spacing: -.02em;
color: #1e2530;
margin-bottom: 16px
}

.bse .approach-band .appr-top .appr-hd p {
font-size: 16px;
color: #828C97;
line-height: 1.9
}

.bse .approach-band .appr-top .appr-img {
flex: 1 1 55%
}

.bse .approach-band .appr-top .appr-img .a-frame {
width: 100%;
height: 320px;
overflow: hidden;
border-radius: 4px;
box-shadow: 0 10px 36px -1px #a8b3d21c
}

.bse .approach-band .appr-top .appr-img .a-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .4s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.bse .approach-band .appr-top .appr-img .a-frame:hover img {
transform: scale(1.05)
}

.bse .approach-band .flow-row {
display: flex;
flex-direction: row;
gap: 0;
align-items: stretch
}

.bse .approach-band .flow-step {
flex: 1 1 0;
padding: 24px;
position: relative;
text-align: center
}

.bse .approach-band .flow-step::after {
content: "";
position: absolute;
right: -1px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
border-left: 12px solid #B0CBFA;
z-index: 2
}

.bse .approach-band .flow-step:last-child::after {
display: none
}

.bse .approach-band .flow-step .step-n {
font-size: 42px;
font-weight: 900;
color: #b0cbfa59;
line-height: 1.1;
margin-bottom: 8px
}

.bse .approach-band .flow-step .step-title {
font-size: 16px;
font-weight: 700;
color: #1e2530;
line-height: 1.5;
margin-bottom: 8px
}

.bse .approach-band .flow-step .step-desc {
font-size: 16px;
color: #828C97;
line-height: 1.5
}

.bse .approach-band .flow-step {
background: #fff;
border-radius: 4px;
box-shadow: 0 3px 2px -1px #828c9712;
margin-right: 16px
}

.bse .approach-band .flow-step:last-child {
margin-right: 0
}

.bse .gap-band {
background: #1e2530;
padding: 72px 0
}

.bse .gap-band .gap-inner {
max-width: 1320px;
margin: 0 auto;
padding: 0 40px;
display: flex;
flex-direction: row;
gap: 40px;
align-items: center
}

.bse .gap-band .gap-img {
flex: 0 0 480px
}

.bse .gap-band .gap-img .g-frame {
width: 100%;
height: 360px;
overflow: hidden;
border-radius: 4px;
box-shadow: 0 10px 36px -1px #828c971c
}

.bse .gap-band .gap-img .g-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: brightness(0.85) saturate(0.9);
transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1), filter .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.bse .gap-band .gap-img .g-frame:hover img {
transform: scale(1.04);
filter: brightness(0.95) saturate(1)
}

.bse .gap-band .gap-text {
flex: 1 1 auto
}

.bse .gap-band .gap-text h2 {
font-size: 42px;
font-weight: 800;
line-height: 1.1;
letter-spacing: -.02em;
color: #fff;
margin-bottom: 24px
}

.bse .gap-band .gap-text .g-line {
font-size: 23px;
font-weight: 600;
color: #B0CBFA;
line-height: 1.5;
margin-bottom: 24px
}

.bse .gap-band .gap-text .g-body {
font-size: 16px;
color: #ffffffbf;
line-height: 1.9;
margin-bottom: 16px
}

.bse .gap-band .gap-text .g-body.narrow {
max-width: 420px
}

.bse .gap-band .gap-text .g-link {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 16px;
font-weight: 600;
color: #B0CBFA;
text-decoration: none !important;
margin-top: 8px;
border-bottom: 1px solid #b0cbfa66;
padding-bottom: 4px;
transition: color .35s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.bse .gap-band .gap-text .g-link:hover {
color: #fff;
border-color: #fff
}

.bse .peers-band {
background: #f4f6fb;
padding: 72px 0
}

.bse .peers-band .peers-inner {
max-width: 1320px;
margin: 0 auto;
padding: 0 40px
}

.bse .peers-band .peers-head {
margin-bottom: 40px
}

.bse .peers-band .peers-head h2 {
font-size: 42px;
font-weight: 800;
line-height: 1.1;
letter-spacing: -.02em;
color: #1e2530;
margin-bottom: 16px
}

.bse .peers-band .peers-head p {
font-size: 16px;
color: #828C97;
line-height: 1.9;
max-width: 560px
}

.bse .peers-band .role-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.bse .peers-band .role-card {
background: #fff;
border-radius: 4px;
padding: 40px 24px;
text-align: center;
box-shadow: 0 7px 22px -1px #a8b3d217;
transition: box-shadow .4s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.bse .peers-band .role-card:hover {
box-shadow: 0 10px 36px -1px #a8b3d21c
}

.bse .peers-band .role-card .rc-ico {
width: 48px;
height: 48px;
margin: 0 auto 16px;
display: flex;
align-items: center;
justify-content: center
}

.bse .peers-band .role-card .rc-ico svg {
width: 36px;
height: 36px
}

.bse .peers-band .role-card h4 {
font-size: 16px;
font-weight: 700;
color: #1e2530;
line-height: 1.5;
margin-bottom: 8px
}

.bse .peers-band .role-card p {
font-size: 16px;
color: #828C97;
line-height: 1.9
}

.bse .peers-band .peers-partial-div {
width: 40%;
height: 1px;
background: #a8b3d259;
margin: 40px 0
}

.bse .peers-band .peers-note {
font-size: 16px;
color: #4a5260;
line-height: 1.9;
max-width: 680px
}

.bse .journey-band {
background: #fff;
padding: 72px 0
}

.bse .journey-band .journey-inner {
max-width: 1320px;
margin: 0 auto;
padding: 0 40px
}

.bse .journey-band .journey-head {
text-align: center;
margin-bottom: 40px
}

.bse .journey-band .journey-head h2 {
font-size: 42px;
font-weight: 800;
line-height: 1.1;
letter-spacing: -.02em;
color: #1e2530;
margin-bottom: 16px
}

.bse .journey-band .journey-head p {
font-size: 16px;
color: #828C97;
line-height: 1.5;
max-width: 560px;
margin: 0 auto
}

.bse .journey-band .jrn-track {
display: flex;
flex-direction: column;
gap: 24px;
max-width: 800px;
margin: 0 auto
}

.bse .journey-band .jrn-item {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start
}

.bse .journey-band .jrn-item .jrn-num {
font-size: 72px;
font-weight: 900;
color: #a8b3d22e;
line-height: 1.1;
flex-shrink: 0;
width: 72px;
text-align: right
}

.bse .journey-band .jrn-item .jrn-body {
flex: 1 1 auto;
padding-top: 16px
}

.bse .journey-band .jrn-item .jrn-body h4 {
font-size: 23px;
font-weight: 700;
color: #1e2530;
line-height: 1.5;
margin-bottom: 8px
}

.bse .journey-band .jrn-item .jrn-body p {
font-size: 16px;
color: #4a5260;
line-height: 1.9
}

.bse .journey-band .jrn-item .jrn-body p.narrow {
max-width: 520px
}

.bse .journey-band .jrn-partial {
width: 30%;
height: 1px;
background: #a8b3d24d;
margin: 8px 0 8px 96px
}

.bse .journey-band .jrn-close {
font-size: 16px;
color: #828C97;
line-height: 1.9;
text-align: center;
max-width: 560px;
margin: 40px auto 0
}

@keyframes appear-scale {
from {
opacity: 0;
transform: scale(0.8) rotate(-2deg)
}

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

.bse .flow-step {
animation: appear-scale .42s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.bse .flow-step:nth-child(1) {
animation-delay: .05s
}

.bse .flow-step:nth-child(2) {
animation-delay: .12s
}

.bse .flow-step:nth-child(3) {
animation-delay: .19s
}

.bse .flow-step:nth-child(4) {
animation-delay: .26s
}

@media (max-width: 900px) {
.bse .title-row {
flex-direction: column
}

.bse .title-row .t-left {
padding: 40px 0 24px
}

.bse .title-row .t-right {
min-height: 280px
}

.bse .title-row h1 {
font-size: 42px
}

.bse .title-row .t-bg-num {
font-size: 120px
}

.bse .moment-band .moment-inner {
flex-direction: column
}

.bse .moment-band .m-portrait {
flex: none;
width: 100%
}

.bse .moment-band .m-portrait .port-frame {
width: 100%;
height: 340px
}

.bse .fit-band .fit-cols {
grid-template-columns: 1fr
}

.bse .approach-band .appr-top {
flex-direction: column
}

.bse .approach-band .flow-row {
flex-direction: column;
gap: 16px
}

.bse .approach-band .flow-step {
margin-right: 0;
margin-bottom: 0
}

.bse .approach-band .flow-step::after {
display: none
}

.bse .gap-band .gap-inner {
flex-direction: column
}

.bse .gap-band .gap-img {
flex: none;
width: 100%
}

.bse .gap-band .gap-img .g-frame {
height: 240px
}

.bse .peers-band .role-grid {
grid-template-columns: 1fr
}

.bse .journey-band .jrn-item .jrn-num {
font-size: 42px;
width: 48px
}

.bse .pg-bound {
padding: 0 16px
}

.bse .moment-band .moment-inner,
.bse .fit-band .fit-inner,
.bse .approach-band .appr-inner,
.bse .gap-band .gap-inner,
.bse .peers-band .peers-inner,
.bse .journey-band .journey-inner {
padding: 0 16px
}
}

@media (prefers-reduced-motion: reduce) {
.bse .flow-step {
animation: none
}
}

.lrn-prog {
background: #fff;
overflow-x: hidden
}

.lrn-prog .prog-title {
position: relative;
padding: 72px 40px;
background: linear-gradient(135deg, #e8edf5 0%, #d4dff5 30%, #c8d8f8 55%, #b8cef5 75%, #e2e8f2 100%);
background-size: 200% 200%;
animation: bg-breathe 10s ease-in-out infinite
}

@keyframes bg-breathe {

0%,
100% {
background-size: 200% 200%;
background-position: 0 50%
}

50% {
background-size: 220% 220%;
background-position: 100% 50%
}
}

.lrn-prog .prog-title::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url(./graphics_bank/the-6small.jpg) center/cover no-repeat;
opacity: .07;
pointer-events: none
}

.lrn-prog .geo-shape {
position: absolute;
border-radius: 4px;
pointer-events: none
}

.lrn-prog .geo-shape.s1 {
width: 120px;
height: 120px;
top: 24px;
right: 8%;
border: 2px dashed #828c9740;
transform: rotate(18deg)
}

.lrn-prog .geo-shape.s2 {
width: 64px;
height: 64px;
bottom: 40px;
left: 5%;
background: #b0cbfa2e;
transform: rotate(-12deg)
}

.lrn-prog .geo-shape.s3 {
width: 44px;
height: 44px;
top: 40px;
left: 12%;
border: 1px dashed #a8b3d24d;
border-radius: 36px
}

.lrn-prog .title-inner {
max-width: 1320px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 24px
}

.lrn-prog .title-label {
display: inline-block;
font-size: 16px;
font-weight: 600;
letter-spacing: .12em;
text-transform: uppercase;
color: #828C97;
padding: 8px 24px;
border: 1px solid #828c974d;
border-radius: 4px;
background: #fff9
}

.lrn-prog .title-h1 {
font-size: 58px;
font-weight: 800;
line-height: 1.1;
letter-spacing: -.03em;
color: #2a3040;
margin: 0
}

.lrn-prog .title-h1 .accented {
color: #828C97;
position: relative;
display: inline-block
}

.lrn-prog .title-h1 .accented::after {
content: '';
position: absolute;
bottom: 4px;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #A8B3D2, #B0CBFA);
border-radius: 4px
}

.lrn-prog .title-sub {
font-size: 23px;
line-height: 1.5;
color: #4a5568;
max-width: 640px;
margin: 0
}

.lrn-prog .title-actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
justify-content: center;
margin-top: 8px
}

.lrn-prog .btn-primary {
display: inline-block;
padding: 16px 40px;
font-size: 16px;
font-weight: 700;
letter-spacing: .04em;
color: #fff;
background: #828C97;
border: none;
border-radius: 4px;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s ease-in-out;
box-shadow: 0 3px 2px -1px #828c9712 0 7px 22px -1px #828c9717;
text-decoration: none
}

.lrn-prog .btn-primary::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #4a5568;
transition: left .38s cubic-bezier(0.34, 1.2, 0.64, 1);
z-index: 0
}

.lrn-prog .btn-primary:hover::before {
left: 0
}

.lrn-prog .btn-primary:hover {
box-shadow: 0 10px 36px -1px #828c971c
}

.lrn-prog .btn-primary span {
position: relative;
z-index: 1
}

.lrn-prog .btn-outline {
display: inline-block;
padding: 16px 40px;
font-size: 16px;
font-weight: 600;
color: #828C97;
background: #ffffffb3;
border: 2px solid #A8B3D2;
border-radius: 4px;
cursor: pointer;
text-decoration: none;
transition: background .42s ease-in-out, border-color .42s ease-in-out
}

.lrn-prog .btn-outline:hover {
background: #b0cbfa26;
border-color: #B0CBFA
}

.lrn-prog .title-stats {
display: flex;
flex-direction: row;
gap: 40px;
margin-top: 8px;
flex-wrap: wrap;
justify-content: center
}

.lrn-prog .stat-item {
text-align: center
}

.lrn-prog .stat-num {
font-size: 42px;
font-weight: 800;
line-height: 1.1;
color: #2a3040;
letter-spacing: -.02em
}

.lrn-prog .stat-desc {
font-size: 16px;
color: #828C97;
line-height: 1.5;
margin: 0
}

.lrn-prog .stat-divider {
width: 1px;
background: #828c9733;
align-self: stretch
}

.lrn-prog .title-img-wrap {
position: relative;
width: 100%;
max-width: 960px;
border-radius: 4px;
overflow: hidden;
box-shadow: 0 10px 36px -1px #828c971c
}

.lrn-prog .title-img-wrap img {
width: 100%;
height: 400px;
object-fit: cover;
object-position: center;
display: block
}

.lrn-prog .title-img-wrap::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, #828c9773 0%, #b0cbfa40 60%, transparent 100%);
pointer-events: none
}

.lrn-prog .prog-divider {
height: 3px;
background: linear-gradient(90deg, #A8B3D2 0%, #B0CBFA 100%);
border: none;
margin: 0
}

.lrn-prog .detail-sec {
padding: 72px 40px;
background: #f5f7fb;
position: relative
}

.lrn-prog .detail-sec::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url(./graphics_bank/the-6small.jpg) center/cover no-repeat;
opacity: .03;
pointer-events: none
}

.lrn-prog .detail-inner {
max-width: 1320px;
margin: 0 auto;
position: relative
}

.lrn-prog .detail-top {
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start;
margin-bottom: 72px
}

.lrn-prog .detail-col-text {
flex: 1 1 0;
min-width: 0
}

.lrn-prog .detail-col-aside {
flex: 0 0 340px;
min-width: 0;
margin-top: 40px
}

.lrn-prog .detail-eyebrow {
font-size: 16px;
font-weight: 600;
letter-spacing: .1em;
text-transform: uppercase;
color: #A8B3D2;
margin: 0 0 16px
}

.lrn-prog .detail-h2 {
font-size: 42px;
font-weight: 800;
line-height: 1.1;
letter-spacing: -.025em;
color: #2a3040;
margin: 0 0 24px
}

.lrn-prog .detail-h2 .dash {
color: #B0CBFA;
margin: 0 4px
}

.lrn-prog .detail-body {
font-size: 16px;
line-height: 1.9;
color: #4a5568;
margin: 0 0 16px
}

.lrn-prog .detail-body.narrow {
max-width: 480px;
font-size: 16px;
line-height: 1.5;
color: #6b7a8d
}

.lrn-prog .dashed-feature {
border: 2px dashed #a8b3d280;
border-radius: 4px;
padding: 24px;
background: #ffffffb3;
box-shadow: 0 3px 2px -1px #a8b3d212 0 7px 22px -1px #a8b3d217
}

.lrn-prog .dashed-feature-title {
font-size: 16px;
font-weight: 700;
color: #2a3040;
letter-spacing: .06em;
text-transform: uppercase;
margin: 0 0 16px
}

.lrn-prog .feat-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px
}

.lrn-prog .feat-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
font-size: 16px;
line-height: 1.5;
color: #3d4a5c
}

.lrn-prog .feat-num {
font-size: 30px;
font-weight: 800;
line-height: 1.1;
color: #b0cbfa80;
flex-shrink: 0;
min-width: 32px
}

.lrn-prog .feat-text {
padding-top: 4px
}

.lrn-prog .feat-text strong {
display: block;
color: #2a3040;
font-weight: 700;
margin-bottom: 4px
}

.lrn-prog .modules-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-bottom: 72px
}

.lrn-prog .mod-card {
background: #fff;
border-radius: 4px;
padding: 24px;
box-shadow: 0 3px 2px -1px #828c9712 0 7px 22px -1px #828c9717;
display: flex;
flex-direction: column;
gap: 16px;
text-align: center;
transition: box-shadow .42s ease-in-out, transform .42s cubic-bezier(0.34, 1.2, 0.64, 1);
cursor: default
}

.lrn-prog .mod-card:hover {
box-shadow: 0 10px 36px -1px #828c971c;
transform: translateY(-4px)
}

.lrn-prog .mod-num {
font-size: 42px;
font-weight: 800;
line-height: 1.1;
color: #a8b3d259;
letter-spacing: -.04em
}

.lrn-prog .mod-title {
font-size: 16px;
font-weight: 700;
color: #2a3040;
margin: 0;
letter-spacing: .02em
}

.lrn-prog .mod-desc {
font-size: 16px;
line-height: 1.5;
color: #6b7a8d;
margin: 0
}

.lrn-prog .mod-tag {
display: inline-block;
font-size: 16px;
font-weight: 600;
color: #828C97;
background: #b0cbfa26;
border-radius: 4px;
padding: 4px 16px;
align-self: center
}

.lrn-prog .experts-row {
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start;
margin-bottom: 72px
}

.lrn-prog .experts-label {
flex: 0 0 200px;
font-size: 23px;
font-weight: 800;
line-height: 1.1;
color: #2a3040;
letter-spacing: -.02em;
padding-top: 8px
}

.lrn-prog .experts-cards {
flex: 1 1 0;
display: flex;
flex-direction: row;
gap: 24px;
flex-wrap: wrap
}

.lrn-prog .expert-card {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
background: #fff;
border-radius: 4px;
padding: 24px;
box-shadow: 0 7px 22px -1px #828c9717;
flex: 1 1 260px;
min-width: 0
}

.lrn-prog .expert-portrait {
width: 72px;
height: 72px;
flex-shrink: 0;
overflow: hidden
}

.lrn-prog .expert-portrait img {
width: 72px;
height: 72px;
object-fit: cover;
object-position: center;
display: block
}

.lrn-prog .expert-info {
flex: 1 1 0;
min-width: 0
}

.lrn-prog .expert-name {
font-size: 16px;
font-weight: 700;
color: #2a3040;
margin: 0 0 4px
}

.lrn-prog .expert-role {
font-size: 16px;
color: #828C97;
margin: 0 0 8px
}

.lrn-prog .expert-quote {
font-size: 16px;
line-height: 1.5;
color: #4a5568;
margin: 0;
font-style: italic
}

.lrn-prog .reveal-wrap {
position: relative;
border-radius: 4px;
overflow: hidden;
margin-bottom: 72px
}

.lrn-prog .reveal-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, #828c97eb 0%, #a8b3d2e0 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 16px;
transition: opacity .45s ease-in-out;
cursor: pointer;
z-index: 2
}

.lrn-prog .reveal-wrap:hover .reveal-overlay {
opacity: 0;
pointer-events: none
}

.lrn-prog .reveal-overlay-text {
font-size: 23px;
font-weight: 700;
color: #fff;
text-align: center;
margin: 0
}

.lrn-prog .reveal-overlay-hint {
font-size: 16px;
color: #fffc;
margin: 0
}

.lrn-prog .reveal-content {
background: #fff;
padding: 40px;
border-radius: 4px
}

.lrn-prog .reveal-h3 {
font-size: 30px;
font-weight: 800;
line-height: 1.1;
color: #2a3040;
margin: 0 0 24px;
letter-spacing: -.02em
}

.lrn-prog .faq-list {
display: flex;
flex-direction: column;
gap: 16px
}

.lrn-prog .faq-item {
border-bottom: 1px solid #a8b3d24d;
padding-bottom: 16px
}

.lrn-prog .faq-q {
font-size: 16px;
font-weight: 700;
color: #2a3040;
margin: 0 0 8px
}

.lrn-prog .faq-a {
font-size: 16px;
line-height: 1.5;
color: #4a5568;
margin: 0
}

.lrn-prog .rating-strip {
display: flex;
flex-direction: row;
gap: 40px;
align-items: center;
background: #2a3040;
border-radius: 4px;
padding: 40px;
flex-wrap: wrap
}

.lrn-prog .rating-score {
flex: 0 0 auto;
text-align: center
}

.lrn-prog .rating-big {
font-size: 72px;
font-weight: 800;
line-height: 1.1;
color: #B0CBFA;
letter-spacing: -.04em
}

.lrn-prog .rating-label {
font-size: 16px;
color: #fff9;
margin: 0
}

.lrn-prog .rating-sep {
width: 1px;
height: 80px;
background: #ffffff26;
flex-shrink: 0
}

.lrn-prog .rating-text {
flex: 1 1 0;
min-width: 200px
}

.lrn-prog .rating-h4 {
font-size: 23px;
font-weight: 700;
color: #fff;
margin: 0 0 8px;
line-height: 1.1
}

.lrn-prog .rating-p {
font-size: 16px;
line-height: 1.5;
color: #ffffffb3;
margin: 0
}

.lrn-prog .reviews-mini {
flex: 0 0 auto;
display: flex;
flex-direction: column;
gap: 16px
}

.lrn-prog .review-mini-item {
background: #ffffff12;
border-radius: 4px;
padding: 16px;
max-width: 260px
}

.lrn-prog .review-mini-name {
font-size: 16px;
font-weight: 700;
color: #B0CBFA;
margin: 0 0 4px
}

.lrn-prog .review-mini-text {
font-size: 16px;
line-height: 1.5;
color: #ffffffbf;
margin: 0
}

@media (max-width: 1024px) {
.lrn-prog .modules-grid {
grid-template-columns: repeat(2, 1fr)
}

.lrn-prog .detail-top {
flex-direction: column;
gap: 40px
}

.lrn-prog .detail-col-aside {
flex: 0 0 auto;
width: 100%;
margin-top: 0
}
}

@media (max-width: 768px) {
.lrn-prog .title-h1 {
font-size: 42px
}

.lrn-prog .prog-title {
padding: 40px 24px
}

.lrn-prog .title-stats {
gap: 24px
}

.lrn-prog .stat-divider {
display: none
}

.lrn-prog .modules-grid {
grid-template-columns: 1fr
}

.lrn-prog .experts-row {
flex-direction: column;
gap: 24px
}

.lrn-prog .experts-label {
flex: 0 0 auto
}

.lrn-prog .rating-strip {
flex-direction: column;
gap: 24px
}

.lrn-prog .rating-sep {
display: none
}

.lrn-prog .detail-sec {
padding: 40px 24px
}

.lrn-prog .reveal-content {
padding: 24px
}

.lrn-prog .detail-h2 {
font-size: 30px
}
}

@media (max-width: 480px) {
.lrn-prog .title-h1 {
font-size: 30px
}

.lrn-prog .title-sub {
font-size: 16px
}

.lrn-prog .title-actions {
flex-direction: column;
align-items: stretch
}

.lrn-prog .btn-primary,
.lrn-prog .btn-outline {
text-align: center
}
}

@media (prefers-reduced-motion: reduce) {
.lrn-prog .prog-title {
animation: none
}

.lrn-prog .mod-card {
transition: none
}

.lrn-prog .reveal-overlay {
transition: none
}
}

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

.ct-us .pg-band {
max-width: 1320px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px
}

.ct-us .split-panel {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 480px
}

.ct-us .split-left {
background-color: #f2f4f8;
padding: 72px 40px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative
}

.ct-us .split-right {
background-color: #fff;
padding: 72px 40px;
display: flex;
flex-direction: column;
justify-content: center
}

.ct-us .split-left::after {
content: '';
position: absolute;
right: -1px;
top: 50%;
transform: translateY(-50%);
width: 2px;
height: 64px;
background: #B0CBFA;
border-radius: 4px
}

.ct-us .pg-label {
font-size: 16px;
line-height: 1.5;
color: #828C97;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 16px;
display: block
}

.ct-us .pg-h1 {
font-size: 58px;
line-height: 1.1;
letter-spacing: -.02em;
color: #1e2530;
font-weight: 800;
margin-bottom: 24px
}

.ct-us .pg-h1 span {
color: #828C97
}

.ct-us .pg-lead {
font-size: 16px;
line-height: 1.9;
color: #3d4550;
margin-bottom: 40px;
max-width: 440px
}

.ct-us .dot-path {
display: flex;
flex-direction: row;
gap: 8px;
align-items: center;
margin-bottom: 40px
}

.ct-us .dot-path span {
width: 8px;
height: 8px;
border-radius: 36px;
background: #B0CBFA;
display: inline-block;
opacity: .5
}

.ct-us .dot-path span:nth-child(2) {
opacity: .75;
width: 12px;
height: 12px
}

.ct-us .dot-path span:nth-child(3) {
opacity: 1;
width: 16px;
height: 16px;
background: #A8B3D2
}

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

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

.ct-us .reach-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 24px
}

.ct-us .reach-list li {
display: flex;
flex-direction: column;
gap: 8px
}

.ct-us .reach-list__num {
font-size: 42px;
line-height: 1.1;
font-weight: 800;
color: #B0CBFA;
opacity: .35;
letter-spacing: -.03em;
display: block;
margin-bottom: -8px
}

.ct-us .reach-list__tag {
font-size: 16px;
line-height: 1.5;
color: #828C97;
text-transform: uppercase;
letter-spacing: .06em;
font-weight: 600
}

.ct-us .reach-list__val {
font-size: 16px;
line-height: 1.5;
color: #2a3040;
font-weight: 400
}

.ct-us .reach-list__val a {
color: #2a3040;
text-decoration: none;
position: relative;
display: inline-block
}

.ct-us .reach-list__val a::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
right: 50%;
height: 1px;
background: #A8B3D2;
transition: left .38s cubic-bezier(0.34, 1.2, 0.64, 1), right .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.ct-us .reach-list__val a:hover::after {
left: 0;
right: 0
}

.ct-us .reach-list__val a:focus-visible {
outline: 2px solid #A8B3D2 !important;
outline-offset: 2px !important;
border-radius: 4px !important
}

.ct-us .divider-band {
display: flex;
justify-content: center;
align-items: center;
padding: 16px 0
}

.ct-us .divider-inner {
width: 80px;
height: 3px;
background: linear-gradient(90deg, #B0CBFA, #A8B3D2, #B0CBFA);
border-radius: 36px
}

.ct-us .form-area {
background-color: #fff;
padding: 72px 0;
position: relative
}

.ct-us .form-area::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(160deg, #f2f4f8 0%, #fff 55%);
z-index: 0;
pointer-events: none
}

.ct-us .form-shell {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 72px;
align-items: start
}

.ct-us .form-aside {
padding-top: 8px
}

.ct-us .form-aside-h {
font-size: 30px;
line-height: 1.1;
font-weight: 800;
color: #1e2530;
letter-spacing: -.01em;
margin-bottom: 16px
}

.ct-us .form-aside-p {
font-size: 16px;
line-height: 1.9;
color: #3d4550;
margin-bottom: 24px;
max-width: 280px
}

.ct-us .form-aside-p.narrow {
max-width: 220px;
font-size: 16px;
line-height: 1.5;
color: #828C97
}

.ct-us .img-frame {
width: 100%;
height: 220px;
border-radius: 4px;
overflow: hidden;
box-shadow: 0 7px 22px -1px #828c9717;
margin-bottom: 24px
}

.ct-us .img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.ct-us .img-frame:hover img {
transform: scale(1.05)
}

.ct-us .arrow-hint {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-bottom: 24px
}

.ct-us .arrow-hint__icon {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center
}

.ct-us .arrow-hint__icon svg {
width: 16px;
height: 16px;
fill: none;
stroke: #A8B3D2;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round
}

.ct-us .arrow-hint__text {
font-size: 16px;
line-height: 1.5;
color: #828C97
}

.ct-us .form-card {
background: #fff;
border-radius: 4px;
padding: 40px;
box-shadow: 0 3px 2px -1px #828c9712 0 7px 22px -1px #828c9717 0 10px 36px -1px #828c971c
}

.ct-us .field-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-bottom: 24px
}

.ct-us .field-group {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 24px
}

.ct-us .field-group.no-gap {
margin-bottom: 0
}

.ct-us .field-label {
font-size: 16px;
line-height: 1.5;
color: #2a3040;
font-weight: 600;
letter-spacing: .01em
}

.ct-us .field-label sup {
color: #828C97;
font-size: 16px
}

.ct-us .field-input {
height: 48px;
padding: 0 16px;
border: 1.5px solid #dde2ea;
border-radius: 4px;
font-size: 16px;
line-height: 1.5;
color: #1e2530;
background: #f9fbff;
outline: none;
width: 100%;
box-sizing: border-box;
transition: border-color .38s ease-in-out, box-shadow .38s ease-in-out
}

.ct-us .field-input::placeholder {
color: #a8b3d299
}

.ct-us .field-input:focus {
border-color: #A8B3D2;
box-shadow: 0 0 0 3px #b0cbfa2e
}

.ct-us .field-input:focus-visible {
outline: 2px solid #A8B3D2 !important;
outline-offset: 1px !important
}

.ct-us .field-select {
height: 48px;
padding: 0 16px;
border: 1.5px solid #dde2ea;
border-radius: 4px;
font-size: 16px;
line-height: 1.5;
color: #1e2530;
background: #f9fbff;
outline: none;
width: 100%;
box-sizing: border-box;
appearance: none;
cursor: pointer;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23828C97' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
padding-right: 40px;
transition: border-color .38s ease-in-out, box-shadow .38s ease-in-out
}

.ct-us .field-select:focus {
border-color: #A8B3D2;
box-shadow: 0 0 0 3px #b0cbfa2e
}

.ct-us .field-select:focus-visible {
outline: 2px solid #A8B3D2 !important;
outline-offset: 1px !important
}

.ct-us .field-textarea {
padding: 16px;
border: 1.5px solid #dde2ea;
border-radius: 4px;
font-size: 16px;
line-height: 1.9;
color: #1e2530;
background: #f9fbff;
outline: none;
width: 100%;
box-sizing: border-box;
resize: vertical;
min-height: 120px;
transition: border-color .38s ease-in-out, box-shadow .38s ease-in-out
}

.ct-us .field-textarea::placeholder {
color: #a8b3d299
}

.ct-us .field-textarea:focus {
border-color: #A8B3D2;
box-shadow: 0 0 0 3px #b0cbfa2e
}

.ct-us .field-textarea:focus-visible {
outline: 2px solid #A8B3D2 !important;
outline-offset: 1px !important
}

.ct-us .category-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
margin-bottom: 24px
}

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

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

.ct-us .cat-opt label {
display: flex;
flex-direction: column;
padding: 16px;
border: 1.5px solid #dde2ea;
border-radius: 4px;
cursor: pointer;
background: #f9fbff;
transition: border-color .35s cubic-bezier(0.34, 1.2, 0.64, 1), background .35s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.ct-us .cat-opt input[type="radio"]:checked+label {
border-color: #A8B3D2;
background: #f0f4ff;
box-shadow: 0 3px 2px -1px #828c9712
}

.ct-us .cat-opt label:hover {
border-color: #B0CBFA;
box-shadow: 0 3px 2px -1px #828c9712
}

.ct-us .cat-opt input[type="radio"]:focus-visible+label {
outline: 2px solid #A8B3D2 !important;
outline-offset: 2px !important
}

.ct-us .cat-name {
font-size: 16px;
line-height: 1.5;
color: #2a3040;
font-weight: 600
}

.ct-us .cat-desc {
font-size: 16px;
line-height: 1.5;
color: #828C97;
margin-top: 4px
}

.ct-us .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
margin-bottom: 24px;
padding: 16px;
background: #f2f4f8;
border-radius: 4px
}

.ct-us .privacy-row input[type="checkbox"] {
width: 20px;
height: 20px;
min-width: 20px;
margin-top: 2px;
accent-color: #A8B3D2;
cursor: pointer
}

.ct-us .privacy-row input[type="checkbox"]:focus-visible {
outline: 2px solid #A8B3D2 !important;
outline-offset: 2px !important
}

.ct-us .privacy-text {
font-size: 16px;
line-height: 1.5;
color: #3d4550
}

.ct-us .privacy-text a {
color: #828C97;
text-decoration: underline;
transition: color .35s ease-in-out
}

.ct-us .privacy-text a:hover {
color: #2a3040
}

.ct-us .privacy-text a:focus-visible {
outline: 2px solid #A8B3D2 !important;
outline-offset: 2px !important;
border-radius: 4px !important
}

.ct-us .form-section-label {
font-size: 16px;
line-height: 1.5;
color: #828C97;
text-transform: uppercase;
letter-spacing: .07em;
font-weight: 600;
margin-bottom: 16px;
display: block
}

.ct-us .submit-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 24px
}

.ct-us .btn-submit {
position: relative;
overflow: hidden;
height: 52px;
padding: 0 40px;
border: none;
border-radius: 36px;
font-size: 16px;
line-height: 1.5;
font-weight: 700;
color: #fff;
background: #828C97;
cursor: pointer;
letter-spacing: .04em;
text-transform: uppercase;
box-shadow: 0 7px 22px -1px #828c9717;
transition: color .4s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .4s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.ct-us .btn-submit::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #2a3040;
transition: left .42s cubic-bezier(0.34, 1.2, 0.64, 1);
z-index: 0
}

.ct-us .btn-submit:hover::before {
left: 0
}

.ct-us .btn-submit:hover {
box-shadow: 0 10px 36px -1px #828c971c
}

.ct-us .btn-submit span {
position: relative;
z-index: 1
}

.ct-us .btn-submit:focus-visible {
outline: 2px solid #A8B3D2 !important;
outline-offset: 3px !important
}

.ct-us .submit-note {
font-size: 16px;
line-height: 1.5;
color: #828C97
}

.ct-us .form-sep {
height: 1px;
background: linear-gradient(90deg, transparent, #dde2ea, transparent);
margin-bottom: 24px
}

@keyframes settle-bounce {
0% {
transform: translateY(18px);
opacity: 0
}

65% {
transform: translateY(-5px);
opacity: 1
}

82% {
transform: translateY(2px)
}

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

.ct-us .form-card {
animation: settle-bounce .55s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.ct-us .split-left .pg-h1 {
animation: settle-bounce .48s cubic-bezier(0.34, 1.2, 0.64, 1) .08s both
}

@media (max-width: 900px) {
.ct-us .split-panel {
grid-template-columns: 1fr
}

.ct-us .split-left::after {
display: none
}

.ct-us .split-left {
padding: 40px 24px
}

.ct-us .split-right {
padding: 40px 24px
}

.ct-us .form-shell {
grid-template-columns: 1fr;
gap: 40px
}

.ct-us .field-row {
grid-template-columns: 1fr
}

.ct-us .category-grid {
grid-template-columns: 1fr
}

.ct-us .pg-h1 {
font-size: 42px
}

.ct-us .form-area {
padding: 40px 0
}

.ct-us .form-card {
padding: 24px
}

.ct-us .submit-row {
flex-direction: column;
align-items: flex-start
}

.ct-us .form-aside-p {
max-width: 100%
}
}

@media (max-width: 600px) {
.ct-us .pg-h1 {
font-size: 30px
}

.ct-us .form-card {
padding: 16px
}

.ct-us .form-area {
padding: 24px 0
}
}

@media (prefers-reduced-motion: reduce) {

.ct-us .form-card,
.ct-us .split-left .pg-h1 {
animation: none
}
}

.abt-pg {
max-width: 100%;
overflow-x: clip
}

.abt-pg .pg-bound {
max-width: 1320px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px
}

.abt-pg .reveal-grow {
animation: growReveal .85s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

@keyframes growReveal {
from {
height: 0;
opacity: 0
}

to {
height: auto;
opacity: 1
}
}

@keyframes fadeUp {
from {
opacity: 0;
transform: translateY(24px)
}

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

@keyframes scatterFade {
from {
opacity: 0
}

to {
opacity: .07
}
}

.abt-pg .dot-field {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.abt-pg .dot-field span {
position: absolute;
width: 5px;
height: 5px;
border-radius: 50%;
background: #828C97;
opacity: .07;
animation: scatterFade 1.2s ease-in-out both
}

.abt-pg .dot-field span:nth-child(1) {
top: 12%;
left: 8%;
animation-delay: .1s
}

.abt-pg .dot-field span:nth-child(2) {
top: 28%;
left: 3%;
animation-delay: .2s
}

.abt-pg .dot-field span:nth-child(3) {
top: 55%;
left: 6%;
animation-delay: .15s
}

.abt-pg .dot-field span:nth-child(4) {
top: 72%;
left: 12%;
animation-delay: .25s
}

.abt-pg .dot-field span:nth-child(5) {
top: 88%;
left: 5%;
animation-delay: .3s
}

.abt-pg .dot-field span:nth-child(6) {
top: 18%;
left: 92%;
animation-delay: .12s
}

.abt-pg .dot-field span:nth-child(7) {
top: 40%;
left: 88%;
animation-delay: .22s
}

.abt-pg .dot-field span:nth-child(8) {
top: 65%;
left: 95%;
animation-delay: .18s
}

.abt-pg .dot-field span:nth-child(9) {
top: 82%;
left: 90%;
animation-delay: .28s
}

.abt-pg .dot-field span:nth-child(10) {
top: 6%;
left: 45%;
animation-delay: .08s
}

.abt-pg .dot-field span:nth-child(11) {
top: 95%;
left: 55%;
animation-delay: .32s
}

.abt-pg .dot-field span:nth-child(12) {
top: 50%;
left: 50%;
animation-delay: .2s
}

.abt-pg .id-strip {
position: relative;
background: #fff;
padding-top: 72px;
padding-bottom: 72px
}

.abt-pg .id-strip .pg-bound {
position: relative;
z-index: 1
}

.abt-pg .id-layout {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 72px
}

.abt-pg .id-img-col {
flex: 0 0 260px;
display: flex;
flex-direction: column;
gap: 16px
}

.abt-pg .id-portrait-wrap {
border-radius: 36px;
overflow: hidden;
width: 260px;
height: 334px;
box-shadow: 0 7px 22px -1px #a8b3d217;
position: relative
}

.abt-pg .id-portrait-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abt-pg .id-portrait-wrap:hover img {
transform: scale(1.05)
}

.abt-pg .id-portrait-overlay {
position: absolute;
inset: 0;
background: #b0cbfa38;
pointer-events: none;
border-radius: 36px
}

.abt-pg .id-person-tag {
background: #f4f6fa;
border-radius: 4px;
padding: 16px;
text-align: center;
box-shadow: 0 3px 2px -1px #828c9712
}

.abt-pg .id-person-tag .p-name {
font-size: 16px;
font-weight: 700;
color: #2a2f3a;
line-height: 1.5;
letter-spacing: -.01em;
display: block
}

.abt-pg .id-person-tag .p-role {
font-size: 16px;
color: #828C97;
line-height: 1.5;
display: block
}

.abt-pg .id-text-col {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 24px;
animation: fadeUp .72s cubic-bezier(0.34, 1.2, 0.64, 1) both;
animation-delay: .1s
}

.abt-pg .id-eyebrow {
font-size: 16px;
color: #828C97;
letter-spacing: .08em;
text-transform: uppercase;
line-height: 1.5
}

.abt-pg .id-h1 {
font-size: 58px;
font-weight: 800;
color: #1e2330;
line-height: 1.1;
letter-spacing: -.03em;
margin: 0
}

.abt-pg .id-h1 .und-word {
position: relative;
display: inline-block
}

.abt-pg .id-h1 .und-word::after {
content: '';
position: absolute;
left: 0;
bottom: -4px;
width: 100%;
height: 3px;
background: #B0CBFA;
border-radius: 4px
}

.abt-pg .id-sub {
font-size: 23px;
font-weight: 600;
color: #3a4155;
line-height: 1.5;
letter-spacing: -.01em;
margin: 0
}

.abt-pg .id-desc {
font-size: 16px;
color: #4a5168;
line-height: 1.9;
margin: 0;
max-width: 640px
}

.abt-pg .id-desc-narrow {
font-size: 16px;
color: #4a5168;
line-height: 1.9;
margin: 0;
max-width: 420px
}

.abt-pg .id-accent {
color: #828C97;
font-weight: 700
}

.abt-pg .id-stat-row {
display: flex;
flex-direction: row;
gap: 40px;
flex-wrap: wrap
}

.abt-pg .id-stat {
display: flex;
flex-direction: column;
gap: 8px
}

.abt-pg .id-stat .s-num {
font-size: 42px;
font-weight: 800;
color: #1e2330;
line-height: 1.1;
letter-spacing: -.03em
}

.abt-pg .id-stat .s-label {
font-size: 16px;
color: #828C97;
line-height: 1.5
}

.abt-pg .id-cta-row {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
align-items: center
}

.abt-pg .btn-primary {
display: inline-block;
padding: 16px 40px;
background: #1e2330;
color: #fff;
font-size: 16px;
font-weight: 600;
border-radius: 4px;
text-decoration: none;
border: none;
cursor: pointer;
position: relative;
overflow: hidden;
box-shadow: 0 7px 22px -1px #828c9717;
transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s ease-in-out
}

.abt-pg .btn-primary::before {
content: '';
position: absolute;
inset: 0;
background: #A8B3D2;
transform: translateX(-100%);
transition: transform .42s cubic-bezier(0.34, 1.2, 0.64, 1);
z-index: 0
}

.abt-pg .btn-primary:hover::before {
transform: translateX(0)
}

.abt-pg .btn-primary:hover {
color: #1e2330;
box-shadow: 0 10px 36px -1px #a8b3d21c
}

.abt-pg .btn-primary span {
position: relative;
z-index: 1
}

.abt-pg .btn-ghost {
display: inline-block;
padding: 16px 40px;
background: transparent;
color: #1e2330;
font-size: 16px;
font-weight: 600;
border-radius: 4px;
text-decoration: none;
border: 2px solid #A8B3D2;
cursor: pointer;
position: relative;
overflow: hidden;
transition: border-color .38s ease-in-out, color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abt-pg .btn-ghost::before {
content: '';
position: absolute;
inset: 0;
background: #B0CBFA;
opacity: .18;
transform: translateX(-100%);
transition: transform .42s cubic-bezier(0.34, 1.2, 0.64, 1);
z-index: 0
}

.abt-pg .btn-ghost:hover::before {
transform: translateX(0)
}

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

.abt-pg .depth-strip {
position: relative;
background: #f0f3f8;
padding-top: 72px;
padding-bottom: 72px
}

.abt-pg .depth-strip .pg-bound {
position: relative;
z-index: 1
}

.abt-pg .geo-bg {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.abt-pg .geo-bg::before {
content: '';
position: absolute;
width: 40px;
height: 40px;
border: 2px solid #A8B3D2;
border-radius: 4px;
top: 15%;
left: 4%;
opacity: .12;
transform: rotate(22deg)
}

.abt-pg .geo-bg::after {
content: '';
position: absolute;
width: 24px;
height: 24px;
background: #B0CBFA;
border-radius: 4px;
bottom: 20%;
right: 6%;
opacity: .14;
transform: rotate(45deg)
}

.abt-pg .geo-tri {
position: absolute;
width: 0;
height: 0;
border-left: 14px solid transparent;
border-right: 14px solid transparent;
border-bottom: 24px solid #A8B3D2;
top: 60%;
left: 2%;
opacity: .1
}

.abt-pg .geo-circ {
position: absolute;
width: 32px;
height: 32px;
border: 2px solid #828C97;
border-radius: 50%;
top: 30%;
right: 3%;
opacity: .1
}

.abt-pg .geo-sq2 {
position: absolute;
width: 16px;
height: 16px;
background: #828C97;
border-radius: 4px;
top: 75%;
left: 50%;
opacity: .08;
transform: rotate(30deg)
}

.abt-pg .depth-label {
text-align: center;
margin-bottom: 40px
}

.abt-pg .depth-label .sec-eyebrow {
font-size: 16px;
color: #828C97;
letter-spacing: .08em;
text-transform: uppercase;
line-height: 1.5
}

.abt-pg .depth-label .sec-h2 {
font-size: 42px;
font-weight: 800;
color: #1e2330;
line-height: 1.1;
letter-spacing: -.03em;
margin: 8px 0 0
}

.abt-pg .depth-label .sec-h2 .und-word {
position: relative;
display: inline-block
}

.abt-pg .depth-label .sec-h2 .und-word::after {
content: '';
position: absolute;
left: 0;
bottom: -4px;
width: 100%;
height: 3px;
background: #A8B3D2;
border-radius: 4px
}

.abt-pg .divider-text {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
margin-bottom: 40px
}

.abt-pg .divider-text::before,
.abt-pg .divider-text::after {
content: '';
flex: 1;
height: 1px;
background: #c8d0de
}

.abt-pg .divider-text .div-word {
font-size: 16px;
color: #828C97;
letter-spacing: .1em;
text-transform: uppercase;
white-space: nowrap
}

.abt-pg .compare-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-bottom: 40px
}

.abt-pg .cmp-card {
background: #fff;
border-radius: 4px;
padding: 40px;
box-shadow: 0 7px 22px -1px #a8b3d217;
transition: box-shadow .38s ease-in-out, transform .38s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative
}

.abt-pg .cmp-card:hover {
box-shadow: 0 10px 36px -1px #a8b3d21c;
transform: translateY(-4px)
}

.abt-pg .cmp-card .card-head {
font-size: 23px;
font-weight: 700;
color: #1e2330;
line-height: 1.1;
letter-spacing: -.02em;
margin-bottom: 24px;
text-align: center
}

.abt-pg .cmp-card .card-accent-line {
width: 48px;
height: 3px;
background: #B0CBFA;
border-radius: 4px;
margin: 0 auto 24px
}

.abt-pg .cmp-card.alt .card-accent-line {
background: #A8B3D2
}

.abt-pg .feat-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px
}

.abt-pg .feat-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
font-size: 16px;
color: #3a4155;
line-height: 1.9
}

.abt-pg .feat-list li .f-num {
font-size: 30px;
font-weight: 800;
color: #B0CBFA;
line-height: 1.1;
letter-spacing: -.03em;
flex-shrink: 0;
width: 32px;
opacity: .7
}

.abt-pg .cmp-card.alt .feat-list li .f-num {
color: #A8B3D2
}

.abt-pg .img-trio {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16px;
margin-bottom: 40px
}

.abt-pg .trio-frame {
border-radius: 4px;
overflow: hidden;
aspect-ratio: 4/3;
box-shadow: 0 3px 2px -1px #828c9712;
position: relative
}

.abt-pg .trio-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .44s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abt-pg .trio-frame:hover img {
transform: scale(1.06)
}

.abt-pg .trio-frame .img-tint {
position: absolute;
inset: 0;
pointer-events: none
}

.abt-pg .trio-frame:nth-child(1) .img-tint {
background: #b0cbfa2e
}

.abt-pg .trio-frame:nth-child(2) .img-tint {
background: #a8b3d22e
}

.abt-pg .trio-frame:nth-child(3) .img-tint {
background: #828c9726
}

.abt-pg .img-duo {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-bottom: 40px
}

.abt-pg .duo-frame {
border-radius: 4px;
overflow: hidden;
aspect-ratio: 16/10;
box-shadow: 0 3px 2px -1px #828c9712;
position: relative
}

.abt-pg .duo-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .44s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abt-pg .duo-frame:hover img {
transform: scale(1.06)
}

.abt-pg .duo-frame .img-tint {
position: absolute;
inset: 0;
pointer-events: none
}

.abt-pg .duo-frame:nth-child(1) .img-tint {
background: #b0cbfa26
}

.abt-pg .duo-frame:nth-child(2) .img-tint {
background: #a8b3d226
}

.abt-pg .approach-row {
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start;
flex-wrap: wrap
}

.abt-pg .approach-text {
flex: 1 1 340px;
display: flex;
flex-direction: column;
gap: 16px
}

.abt-pg .approach-text .at-h3 {
font-size: 30px;
font-weight: 700;
color: #1e2330;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0
}

.abt-pg .approach-text .at-p {
font-size: 16px;
color: #4a5168;
line-height: 1.9;
margin: 0
}

.abt-pg .approach-text .at-p-narrow {
font-size: 16px;
color: #4a5168;
line-height: 1.9;
margin: 0;
max-width: 380px
}

.abt-pg .approach-metrics {
flex: 0 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
min-width: 280px
}

.abt-pg .metric-box {
background: #fff;
border-radius: 4px;
padding: 24px;
text-align: center;
box-shadow: 0 7px 22px -1px #a8b3d217;
transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s ease-in-out
}

.abt-pg .metric-box:hover {
transform: translateY(-4px);
box-shadow: 0 10px 36px -1px #a8b3d21c
}

.abt-pg .metric-box .m-val {
font-size: 42px;
font-weight: 800;
color: #1e2330;
line-height: 1.1;
letter-spacing: -.03em;
display: block
}

.abt-pg .metric-box .m-unit {
font-size: 16px;
color: #828C97;
line-height: 1.5;
display: block
}

.abt-pg .hover-group {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 40px;
flex-wrap: nowrap
}

.abt-pg .hg-item {
flex: 1 1 0;
background: #fff;
border-radius: 4px;
padding: 24px;
box-shadow: 0 3px 2px -1px #828c9712;
transition: flex .42s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s ease-in-out, opacity .38s ease-in-out;
min-width: 0;
text-align: center
}

.abt-pg .hover-group:has(.hg-item:hover) .hg-item:not(:hover) {
flex: .6 1 0;
opacity: .72
}

.abt-pg .hover-group .hg-item:hover {
flex: 1.8 1 0;
box-shadow: 0 10px 36px -1px #a8b3d21c
}

.abt-pg .hg-item .hg-num {
font-size: 42px;
font-weight: 800;
color: #B0CBFA;
line-height: 1.1;
letter-spacing: -.03em;
display: block
}

.abt-pg .hg-item .hg-label {
font-size: 16px;
font-weight: 600;
color: #1e2330;
line-height: 1.5;
display: block;
margin-top: 8px
}

.abt-pg .hg-item .hg-desc {
font-size: 16px;
color: #828C97;
line-height: 1.9;
margin-top: 8px;
display: block
}

.abt-pg .curve-connector {
display: block;
width: 100%;
height: 40px;
margin: 16px 0;
overflow: hidden
}

.abt-pg .curve-connector svg {
width: 100%;
height: 100%
}

@media (max-width: 900px) {
.abt-pg .id-layout {
flex-direction: column;
gap: 40px
}

.abt-pg .id-img-col {
flex: 0 0 auto;
flex-direction: row;
align-items: flex-start;
gap: 16px
}

.abt-pg .id-portrait-wrap {
width: 180px;
height: 231px;
flex-shrink: 0
}

.abt-pg .id-person-tag {
flex: 1;
align-self: flex-start
}

.abt-pg .id-h1 {
font-size: 42px
}

.abt-pg .compare-grid {
grid-template-columns: 1fr
}

.abt-pg .img-trio {
grid-template-columns: 1fr 1fr
}

.abt-pg .img-trio .trio-frame:nth-child(3) {
grid-column: span 2
}

.abt-pg .approach-row {
flex-direction: column
}

.abt-pg .hover-group {
flex-wrap: wrap
}

.abt-pg .hg-item {
flex: 1 1 calc(50% - 8px)
}
}

@media (max-width: 600px) {
.abt-pg .id-img-col {
flex-direction: column;
align-items: flex-start
}

.abt-pg .id-h1 {
font-size: 30px
}

.abt-pg .id-sub {
font-size: 16px
}

.abt-pg .id-stat-row {
gap: 24px
}

.abt-pg .id-stat .s-num {
font-size: 30px
}

.abt-pg .img-trio {
grid-template-columns: 1fr
}

.abt-pg .img-trio .trio-frame:nth-child(3) {
grid-column: span 1
}

.abt-pg .img-duo {
grid-template-columns: 1fr
}

.abt-pg .depth-label .sec-h2 {
font-size: 30px
}

.abt-pg .approach-metrics {
min-width: 0;
width: 100%
}

.abt-pg .hover-group {
flex-direction: column
}

.abt-pg .hg-item {
flex: 1 1 auto
}

.abt-pg .hover-group:has(.hg-item:hover) .hg-item:not(:hover) {
flex: 1 1 auto;
opacity: 1
}

.abt-pg .hover-group .hg-item:hover {
flex: 1 1 auto
}
}

@media (min-width: 601px) {

.abt-pg .id-portrait-wrap img,
.abt-pg .trio-frame img,
.abt-pg .duo-frame img {
transition: transform .44s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abt-pg .btn-primary,
.abt-pg .btn-ghost {
transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s ease-in-out
}
}

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

.success-pg .success-wrap {
max-width: 560px;
width: 100%;
text-align: center
}

.success-pg .success-icon {
width: 72px;
height: 72px;
margin: 0 auto 40px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 36px;
background: linear-gradient(135deg, #B0CBFA 0%, #A8B3D2 100%);
box-shadow: 0 7px 22px -1px #828c9717 0 10px 36px -1px #828c971c
}

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

.success-pg .success-heading {
font-size: 42px;
font-weight: 700;
line-height: 1.1;
letter-spacing: -.03em;
color: #2c3540;
margin: 0 0 16px
}

.success-pg .success-sub {
font-size: 16px;
line-height: 1.9;
color: #828C97;
margin: 0 0 40px
}

.success-pg .success-divider {
width: 48px;
height: 3px;
background: linear-gradient(90deg, #B0CBFA, #A8B3D2);
border-radius: 4px;
margin: 0 auto 40px
}

.success-pg .success-detail {
font-size: 16px;
line-height: 1.5;
color: #828C97;
margin: 0 0 40px
}

.success-pg .success-detail strong {
color: #2c3540;
font-weight: 600
}

.success-pg .success-actions {
display: flex;
flex-direction: row;
gap: 16px;
justify-content: center;
flex-wrap: wrap
}

.success-pg .btn-primary {
display: inline-block;
padding: 16px 40px;
background: #828C97;
color: #fff;
font-size: 16px;
font-weight: 600;
text-decoration: none;
border-radius: 4px;
border: 2px solid #828C97;
cursor: pointer;
position: relative;
overflow: hidden;
box-shadow: 0 3px 2px -1px #828c9712 0 7px 22px -1px #828c9717;
transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.success-pg .btn-primary::before {
content: "";
position: absolute;
inset: 0;
background: #2c3540;
transform: translateX(-100%);
transition: transform .42s cubic-bezier(0.34, 1.2, 0.64, 1);
z-index: 0
}

.success-pg .btn-primary:hover::before {
transform: translateX(0)
}

.success-pg .btn-primary:hover {
border-color: #2c3540;
color: #fff
}

.success-pg .btn-primary span {
position: relative;
z-index: 1
}

.success-pg .btn-secondary {
display: inline-block;
padding: 16px 40px;
background: transparent;
color: #828C97;
font-size: 16px;
font-weight: 600;
text-decoration: none;
border-radius: 4px;
border: 2px solid #A8B3D2;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .35s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.success-pg .btn-secondary::before {
content: "";
position: absolute;
inset: 0;
background: #B0CBFA;
transform: translateX(-100%);
transition: transform .4s cubic-bezier(0.34, 1.2, 0.64, 1);
z-index: 0
}

.success-pg .btn-secondary:hover::before {
transform: translateX(0)
}

.success-pg .btn-secondary:hover {
border-color: #B0CBFA;
color: #2c3540
}

.success-pg .btn-secondary span {
position: relative;
z-index: 1
}

.success-pg .success-note {
margin-top: 40px;
font-size: 16px;
line-height: 1.5;
color: #A8B3D2
}

.success-pg .success-note a {
color: #828C97;
text-decoration: underline;
text-underline-offset: 3px;
transition: color .36s ease-in-out
}

.success-pg .success-note a:hover {
color: #2c3540
}

@media (max-width: 600px) {
.success-pg .success-heading {
font-size: 30px
}

.success-pg .success-actions {
flex-direction: column;
align-items: stretch
}

.success-pg .btn-primary,
.success-pg .btn-secondary {
text-align: center
}
}