@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/600.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/600-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/700-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/lora@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/lora@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/nm/@fontsource/lora@latest/600.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/lora@latest/600-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/lora@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/lora@latest/700-italic.css";

* {
box-sizing: border-box
}

body {
margin: 0;
font-family: 'Nunito', sans-serif;
font-size: 17px;
line-height: 1.6;
color: #2a2a2a;
background: #fff;
letter-spacing: .01em
}

.topband {
position: relative;
background: linear-gradient(135deg, #EDF5FF 0%, #fff 48%, #f8fcff 100%);
border-bottom: 1px solid #39d1ca2e;
padding: 16px 0;
z-index: 100
}

.topband::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 2px;
background: linear-gradient(90deg, transparent 0%, #39D1CA 50%, transparent 100%);
opacity: .4
}

.topband-plate {
max-width: 1320px;
margin: 0 auto;
padding: 0 32px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 16px
}

.brandzone {
display: flex;
align-items: center;
gap: 16px;
padding: 8px 16px;
border: 2px dashed #9515573d;
border-radius: 2px;
background: #ffffffb3;
box-shadow: 0 3px 4px -1px #39d1ca14;
transition: box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1), border-color .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.brandzone:hover {
border-color: #9515576b;
box-shadow: 0 5px 20px -1px #39d1ca1c
}

.brandzone img {
display: block;
width: 48px;
height: 48px;
object-fit: contain
}

.brandtag {
font-family: 'Lora', serif;
font-size: 17px;
font-weight: 600;
color: #951557;
letter-spacing: .02em;
line-height: 1.15
}

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

.navzone a {
display: inline-block;
padding: 12px 16px;
font-size: 15px;
font-weight: 600;
color: #3a3a3a;
text-decoration: none;
letter-spacing: .01em;
border-radius: 2px;
transition: background-color .22s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.navzone a::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: linear-gradient(180deg, #39d1ca1f 0%, #39d1ca38 100%);
transition: height .26s cubic-bezier(0.0, 0, 0.2, 1);
z-index: -1
}

.navzone a:hover::before {
height: 100%
}

.navzone a:hover {
color: #1a1a1a;
box-shadow: 0 3px 4px -1px #95155714
}

.navzone a:focus {
outline: 2px solid #39D1CA;
outline-offset: 2px;
background: #951557;
color: #fff
}

.trustmark {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
background: #39d1ca14;
border-radius: 12px;
border: 1px solid #39d1ca33;
box-shadow: 0 3px 4px -1px #95155714
}

.trustmark svg {
width: 20px;
height: 20px;
fill: #39D1CA
}

.trustlabel {
font-size: 15px;
font-weight: 600;
color: #2a2a2a;
letter-spacing: .01em;
line-height: 1.15
}

.baseplate {
background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
border-top: 1px solid #95155714;
padding: 64px 0 32px;
position: relative
}

.baseplate::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 60%;
height: 1px;
background: linear-gradient(90deg, transparent 0%, #39D1CA 50%, transparent 100%);
opacity: .3
}

.basegrid {
max-width: 1320px;
margin: 0 auto;
padding: 0 32px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 64px
}

.infostack {
display: flex;
flex-direction: column;
gap: 16px
}

.logowrap {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 8px 12px;
border: 2px dashed #95155733;
border-radius: 2px;
background: #fff9;
box-shadow: 0 3px 4px -1px #39d1ca14;
width: fit-content
}

.logowrap img {
display: block;
width: 36px;
height: 36px;
object-fit: contain
}

.companyname {
font-family: 'Lora', serif;
font-size: 17px;
font-weight: 700;
color: #951557;
letter-spacing: .02em;
line-height: 1.15
}

.missiontext {
font-size: 15px;
line-height: 1.6;
color: #4a4a4a;
letter-spacing: .01em;
max-width: 420px
}

.missiontext strong {
font-weight: 700;
color: #2a2a2a
}

.linkcolumn {
display: flex;
flex-direction: column;
gap: 16px
}

.columnhead {
font-family: 'Lora', serif;
font-size: 17px;
font-weight: 700;
color: #951557;
letter-spacing: .02em;
line-height: 1.15;
margin: 0 0 8px
}

.linkcolumn a {
display: inline-block;
font-size: 15px;
font-weight: 400;
color: #3a3a3a;
text-decoration: none;
letter-spacing: .01em;
line-height: 1.4;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), padding-left .24s cubic-bezier(0.0, 0, 0.2, 1);
position: relative;
padding-left: 0
}

.linkcolumn a::before {
content: '';
position: absolute;
left: -8px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 2px;
background: #39D1CA;
transition: width .24s cubic-bezier(0.0, 0, 0.2, 1)
}

.linkcolumn a:hover {
color: #39D1CA;
padding-left: 12px
}

.linkcolumn a:hover::before {
width: 8px
}

.linkcolumn a:focus {
outline: 2px solid #39D1CA;
outline-offset: 2px;
background: #951557;
color: #fff
}

.contactcolumn {
display: flex;
flex-direction: column;
gap: 16px
}

.contactrow {
display: flex;
align-items: flex-start;
gap: 12px
}

.contacticon {
width: 20px;
height: 20px;
flex-shrink: 0;
margin-top: 2px
}

.contacticon svg {
width: 100%;
height: 100%;
fill: #39D1CA
}

.contactdetail {
display: flex;
flex-direction: column;
gap: 4px
}

.contactlabel {
font-size: 15px;
font-weight: 600;
color: #951557;
letter-spacing: .01em;
line-height: 1.15
}

.contactvalue {
font-size: 15px;
font-weight: 400;
color: #3a3a3a;
letter-spacing: .01em;
line-height: 1.4
}

.contactvalue a {
color: inherit;
text-decoration: none;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactvalue a:hover {
color: #39D1CA
}

.contactvalue a:focus {
outline: 2px solid #39D1CA;
outline-offset: 2px;
background: #951557;
color: #fff
}

.legalband {
background: linear-gradient(180deg, #edf5ff4d 0%, #ffffff80 100%);
border-top: 1px solid #39d1ca24;
padding: 32px 0;
margin-top: 32px;
position: relative
}

.legalband::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 40%;
height: 1px;
background: linear-gradient(90deg, transparent 0%, #951557 50%, transparent 100%);
opacity: .2
}

.legalcell {
max-width: 1320px;
margin: 0 auto;
padding: 0 32px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 16px
}

.copyright {
font-size: 15px;
color: #5a5a5a;
letter-spacing: .01em;
line-height: 1.4
}

.legallinks {
display: flex;
gap: 16px;
flex-wrap: wrap
}

.legallinks a {
font-size: 15px;
color: #3a3a3a;
text-decoration: none;
letter-spacing: .01em;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
position: relative
}

.legallinks a::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 0;
height: 1px;
background: #39D1CA;
transition: width .26s cubic-bezier(0.0, 0, 0.2, 1)
}

.legallinks a:hover {
color: #39D1CA
}

.legallinks a:hover::after {
width: 100%
}

.legallinks a:focus {
outline: 2px solid #39D1CA;
outline-offset: 2px;
background: #951557;
color: #fff
}

.yearfounded {
font-size: 15px;
color: #6a6a6a;
letter-spacing: .01em;
line-height: 1.4;
padding: 8px 16px;
background: #39d1ca0f;
border-radius: 2px;
border: 1px solid #39d1ca1f
}

.consentbar {
position: fixed;
top: 0;
left: 0;
width: 100%;
background: linear-gradient(135deg, #fff 0%, #EDF5FF 100%);
border-bottom: 2px solid #39d1ca4d;
box-shadow: 0 8px 36px -1px #95155721;
z-index: 1200;
transform: translateX(-100%);
transition: transform .18s cubic-bezier(0.0, 0, 0.2, 1);
display: none
}

.consentbar.visible {
transform: translateX(0);
display: block
}

.consentcell {
max-width: 1320px;
margin: 0 auto;
padding: 16px 32px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px;
flex-wrap: wrap
}

.consentmessage {
flex: 1;
min-width: 280px
}

.consenttitle {
font-size: 17px;
font-weight: 700;
color: #951557;
letter-spacing: .02em;
line-height: 1.15;
margin: 0 0 8px
}

.consentdesc {
font-size: 15px;
color: #3a3a3a;
letter-spacing: .01em;
line-height: 1.4;
margin: 0
}

.consentactions {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap
}

.consentaccept {
padding: 12px 32px;
font-size: 15px;
font-weight: 700;
color: #fff;
background: linear-gradient(180deg, #39D1CA 0%, #2bb8b2 100%);
border: none;
border-radius: 2px;
cursor: pointer;
letter-spacing: .01em;
text-transform: lowercase;
box-shadow: 0 3px 4px -1px #39d1ca14;
transition: box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1), transform .24s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.consentaccept::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #fff3;
transition: height .26s cubic-bezier(0.0, 0, 0.2, 1)
}

.consentaccept:hover::before {
height: 100%
}

.consentaccept:hover {
box-shadow: 0 5px 20px -1px #39d1ca1c;
transform: translateY(-1px)
}

.consentaccept:focus {
outline: 2px solid #951557;
outline-offset: 2px;
background: #951557
}

.consentdecline {
font-size: 15px;
font-weight: 600;
color: #3a3a3a;
background: none;
border: none;
cursor: pointer;
letter-spacing: .01em;
text-decoration: underline;
text-decoration-color: transparent;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.consentdecline:hover {
color: #951557;
text-decoration-color: #951557
}

.consentdecline:focus {
outline: 2px solid #39D1CA;
outline-offset: 2px;
background: #951557;
color: #fff;
text-decoration: none
}

.optoutrow {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0
}

.optoutlabel {
font-size: 15px;
color: #3a3a3a;
letter-spacing: .01em;
line-height: 1.4;
cursor: pointer;
user-select: none
}

.optouttoggle {
position: relative;
width: 48px;
height: 24px;
background: #95155733;
border-radius: 12px;
cursor: pointer;
transition: background-color .24s cubic-bezier(0.4, 0, 0.2, 1);
border: 1px solid #9515574d
}

.optouttoggle::before {
content: '';
position: absolute;
top: 2px;
left: 2px;
width: 18px;
height: 18px;
background: #fff;
border-radius: 50%;
box-shadow: 0 3px 4px -1px #39d1ca14;
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.optoutcheck {
display: none
}

.optoutcheck:checked+.optouttoggle {
background: #39D1CA;
border-color: #39D1CA
}

.optoutcheck:checked+.optouttoggle::before {
transform: translateX(24px)
}

.optouttoggle:hover {
background: #39d1ca4d
}

.optoutcheck:checked+.optouttoggle:hover {
background: #2bb8b2
}

.optoutcheck:focus+.optouttoggle {
outline: 2px solid #39D1CA;
outline-offset: 2px
}

@media (max-width: 768px) {
.topband-plate {
flex-direction: column;
align-items: flex-start;
gap: 16px
}

.navzone {
width: 100%;
flex-direction: column;
align-items: stretch
}

.navzone a {
text-align: center;
padding: 16px
}

.trustmark {
width: 100%;
justify-content: center
}

.basegrid {
grid-template-columns: 1fr;
gap: 32px
}

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

.legallinks {
flex-direction: column;
gap: 8px
}

.consentcell {
flex-direction: column;
align-items: stretch;
gap: 16px
}

.consentactions {
flex-direction: column;
width: 100%
}

.consentaccept,
.consentdecline {
width: 100%;
text-align: center
}
}

@media (min-width: 769px) and (max-width: 1024px) {
.topband-plate {
gap: 24px
}

.navzone {
gap: 8px
}

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

.policy-region {
max-width: 1320px;
margin: 0 auto;
padding: 64px 32px
}

.policy-region h1 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
margin-bottom: 32px;
color: #951557
}

.policy-region h2 {
font-size: 26px;
line-height: 1.4;
letter-spacing: .015em;
margin-top: 64px;
margin-bottom: 16px;
color: #951557
}

.policy-region h3 {
font-size: 17px;
line-height: 1.4;
letter-spacing: .015em;
margin-top: 32px;
margin-bottom: 16px;
color: #951557
}

.policy-region h4,
.policy-region h5,
.policy-region h6 {
font-size: 17px;
line-height: 1.4;
letter-spacing: .015em;
margin-top: 32px;
margin-bottom: 8px;
color: #951557
}

.policy-region p {
font-size: 17px;
line-height: 1.6;
letter-spacing: .015em;
margin-bottom: 16px
}

.policy-region strong,
.policy-region b {
font-weight: 600;
color: #951557
}

.policy-region em,
.policy-region i {
font-style: italic
}

.policy-region a {
color: #39D1CA;
text-decoration: none;
border-bottom: 1px solid #39d1ca4d;
transition: border-color .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.policy-region a:hover {
border-bottom-color: #39D1CA
}

.policy-region ul,
.policy-region ol {
font-size: 17px;
line-height: 1.6;
letter-spacing: .015em;
margin-bottom: 16px;
padding-left: 32px
}

.policy-region li {
margin-bottom: 8px
}

.policy-region table {
width: 100%;
border-collapse: collapse;
margin-top: 32px;
margin-bottom: 32px;
font-size: 15px;
line-height: 1.4;
letter-spacing: .015em;
box-shadow: 0 3px 4px -1px #39d1ca14 0 5px 20px -1px #39d1ca1c;
border-radius: 12px;
overflow: hidden
}

.policy-region thead {
background-color: #EDF5FF
}

.policy-region th {
padding: 16px;
text-align: left;
font-weight: 600;
color: #951557;
border-bottom: 2px solid #39d1ca33
}

.policy-region td {
padding: 16px;
border-bottom: 1px solid #39d1ca1a
}

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

.policy-region tbody tr:hover {
background-color: #edf5ff80
}

@media (max-width: 768px) {
.policy-region {
padding: 32px 16px
}

.policy-region h1 {
font-size: 26px;
margin-bottom: 16px
}

.policy-region h2 {
font-size: 17px;
margin-top: 32px
}

.policy-region h3,
.policy-region h4,
.policy-region h5,
.policy-region h6 {
font-size: 15px;
margin-top: 16px
}

.policy-region p,
.policy-region ul,
.policy-region ol {
font-size: 15px
}

.policy-region table {
font-size: 15px
}

.policy-region th,
.policy-region td {
padding: 8px
}
}

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

.podDetail .titleArea {
position: relative;
background: linear-gradient(353deg, #39D1CA 0%, #EDF5FF 38%, #fff 72%);
padding: 64px 16px;
overflow: hidden
}

.podDetail .titleArea::before {
content: '';
position: absolute;
top: -120px;
right: -80px;
width: 340px;
height: 340px;
background: radial-gradient(circle, #39d1ca26 0%, transparent 68%);
filter: blur(64px);
pointer-events: none
}

.podDetail .titleArea::after {
content: '';
position: absolute;
bottom: -90px;
left: -60px;
width: 280px;
height: 280px;
background: radial-gradient(circle, #9515571f 0%, transparent 65%);
filter: blur(56px);
pointer-events: none
}

.podDetail .titleWrap {
max-width: 1320px;
margin: 0 auto;
position: relative;
z-index: 2
}

.podDetail .titleWrap h1 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
color: #1a1a2e;
margin: 0 0 16px;
font-weight: 700
}

.podDetail .titleWrap .subline {
font-size: 17px;
line-height: 1.6;
letter-spacing: .015em;
color: #2d2d44;
margin: 0 0 32px;
max-width: 720px
}

.podDetail .titleWrap .backLink {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #951557;
text-decoration: none;
padding: 8px 16px;
border: 1px solid #9515574d;
border-radius: 2px;
background: #ffffff80;
transition: background .24s cubic-bezier(0.4, 0, 0.2, 1), border-color .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.podDetail .titleWrap .backLink::before {
content: '';
width: 16px;
height: 16px;
background: currentColor;
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M19 12H5M12 19l-7-7 7-7'/%3E%3C/svg%3E") center/contain no-repeat
}

.podDetail .titleWrap .backLink:hover {
background: #ffffffd9;
border-color: #95155780
}

.podDetail .articleMain {
max-width: 1320px;
margin: 0 auto;
padding: 64px 16px;
display: grid;
grid-template-columns: 1fr;
gap: 64px
}

.podDetail .featuredImg {
position: relative;
width: 100%;
aspect-ratio: 16/9;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 5px 20px -1px #39d1ca1c 0 8px 36px -1px #39d1ca21
}

.podDetail .featuredImg::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #39d1ca26;
z-index: 1;
transition: opacity .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.podDetail .featuredImg:hover::before {
opacity: 0
}

.podDetail .featuredImg img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.podDetail .articleBody {
font-size: 17px;
line-height: 1.6;
letter-spacing: .015em;
color: #2d2d44
}

.podDetail .articleBody p {
margin: 0 0 8px;
text-indent: 32px
}

.podDetail .articleBody p:first-child {
text-indent: 0
}

.podDetail .articleBody h2 {
font-size: 26px;
line-height: 1.4;
letter-spacing: .01em;
color: #1a1a2e;
margin: 64px 0 16px;
font-weight: 600
}

.podDetail .articleBody h3 {
font-size: 17px;
line-height: 1.4;
letter-spacing: .015em;
color: #1a1a2e;
margin: 32px 0 16px;
font-weight: 600
}

.podDetail .articleBody ins {
text-decoration: none;
background: linear-gradient(353deg, #39d1ca33 0%, #edf5ff4d 100%);
padding: 2px 4px;
border-radius: 2px
}

.podDetail .articleBody em {
font-style: italic;
color: #951557
}

.podDetail .articleBody ul {
list-style: none;
margin: 16px 0;
padding: 0
}

.podDetail .articleBody ul li {
padding: 8px 0;
border-bottom: 1px solid #39d1ca33;
position: relative;
padding-left: 32px
}

.podDetail .articleBody ul li::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 20px;
height: 20px;
background: #39D1CA;
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center/contain no-repeat
}

.podDetail .articleBody ul li:last-child {
border-bottom: none
}

.podDetail .articleBody blockquote {
margin: 32px 0;
padding: 16px 32px;
border-left: none;
background: #EDF5FF;
border-radius: 12px;
font-size: 17px;
line-height: 1.6;
letter-spacing: .015em;
color: #2d2d44;
position: relative
}

.podDetail .articleBody blockquote::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: linear-gradient(353deg, #39D1CA 0%, #951557 100%);
border-radius: 2px 0 0 2px
}

.podDetail .articleBody details {
margin: 32px 0;
border: 1px solid #39d1ca4d;
border-radius: 12px;
overflow: hidden
}

.podDetail .articleBody summary {
padding: 16px;
cursor: pointer;
font-weight: 600;
color: #1a1a2e;
background: #edf5ff80;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.podDetail .articleBody summary:hover {
background: #edf5ffcc
}

.podDetail .articleBody details[open] summary {
border-bottom: 1px solid #39d1ca4d
}

.podDetail .articleBody details p {
padding: 16px;
margin: 0;
text-indent: 0
}

.podDetail .engagementArea {
background: #fff;
padding: 64px 16px;
position: relative
}

.podDetail .engagementArea::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, #39D1CA 0%, transparent 100%)
}

.podDetail .engageWrap {
max-width: 1320px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr 2fr;
gap: 32px
}

.podDetail .likeCard {
background: #fff;
border: 1px solid #39d1ca4d;
border-radius: 12px;
padding: 32px;
position: relative;
overflow: hidden;
box-shadow: 0 3px 4px -1px #39d1ca14;
transition: box-shadow .26s cubic-bezier(0.4, 0, 0.2, 1), border-color .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.podDetail .likeCard::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 0;
height: 100%;
background: linear-gradient(353deg, #39d1ca14 0%, #edf5ff66 100%);
transition: width .28s cubic-bezier(0.0, 0, 0.2, 1);
z-index: 0
}

.podDetail .likeCard:hover::before {
width: 100%
}

.podDetail .likeCard:hover {
border-color: #39d1ca80;
box-shadow: 0 5px 20px -1px #39d1ca1c 0 8px 36px -1px #39d1ca21
}

.podDetail .likeCard .likeIcon {
width: 48px;
height: 48px;
background: #39D1CA;
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E") center/contain no-repeat;
margin: 0 0 16px;
position: relative;
z-index: 1
}

.podDetail .likeCard .likeCount {
font-size: 26px;
line-height: 1.15;
letter-spacing: .01em;
color: #1a1a2e;
font-weight: 700;
margin: 0 0 8px;
position: relative;
z-index: 1
}

.podDetail .likeCard .likeLabel {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #5a5a6e;
margin: 0;
position: relative;
z-index: 1
}

.podDetail .initialsCard {
background: linear-gradient(353deg, #edf5ff99 0%, #fffc 100%);
border: 1px solid #95155733;
border-radius: 12px;
padding: 32px;
position: relative;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 3px 4px -1px #95155714
}

.podDetail .initialsCard::after {
content: 'BC';
position: absolute;
font-size: 68px;
line-height: 1.15;
letter-spacing: .01em;
font-weight: 700;
color: #95155714;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 0;
pointer-events: none
}

.podDetail .initialsCard .initText {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #2d2d44;
text-align: center;
position: relative;
z-index: 1;
margin: 0
}

.podDetail .pollCard {
background: #fff;
border: 1px solid #39d1ca4d;
border-radius: 12px;
padding: 32px;
position: relative;
box-shadow: 0 3px 4px -1px #39d1ca14
}

.podDetail .pollCard::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 8px;
height: 8px;
background: #951557;
border-radius: 0 12px 0 0
}

.podDetail .pollCard h3 {
font-size: 17px;
line-height: 1.4;
letter-spacing: .015em;
color: #1a1a2e;
margin: 0 0 16px;
font-weight: 600
}

.podDetail .pollCard .pollQuestion {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #2d2d44;
margin: 0 0 16px
}

.podDetail .pollOptions {
display: flex;
flex-direction: column;
gap: 8px
}

.podDetail .pollOption {
position: relative
}

.podDetail .pollOption input[type="radio"] {
position: absolute;
opacity: 0;
pointer-events: none
}

.podDetail .pollOption label {
display: block;
padding: 16px;
border: 1px solid #39d1ca4d;
border-radius: 2px;
cursor: pointer;
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #2d2d44;
background: #fff;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .22s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.podDetail .pollOption label::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: linear-gradient(353deg, #39d1ca26 0%, #edf5ff4d 100%);
transition: height .26s cubic-bezier(0.0, 0, 0.2, 1);
z-index: 0
}

.podDetail .pollOption input[type="radio"]:checked+label::before {
height: 100%
}

.podDetail .pollOption input[type="radio"]:checked+label {
border-color: #39D1CA;
color: #1a1a2e;
font-weight: 600
}

.podDetail .pollOption label span {
position: relative;
z-index: 1
}

.podDetail .backTop {
max-width: 1320px;
margin: 0 auto;
padding: 0 16px 64px;
text-align: center
}

.podDetail .backTop a {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #951557;
text-decoration: none;
padding: 16px 32px;
border: 1px solid #9515574d;
border-radius: 12px;
background: #fff;
transition: background .24s cubic-bezier(0.4, 0, 0.2, 1), border-color .24s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 3px 4px -1px #95155714
}

.podDetail .backTop a::before {
content: '';
width: 20px;
height: 20px;
background: currentColor;
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M12 19V5M5 12l7-7 7 7'/%3E%3C/svg%3E") center/contain no-repeat
}

.podDetail .backTop a:hover {
background: #edf5ff80;
border-color: #95155780
}

@media (max-width: 768px) {
.podDetail .titleWrap h1 {
font-size: 26px
}

.podDetail .titleWrap .subline {
font-size: 15px
}

.podDetail .articleMain {
padding: 32px 16px;
gap: 32px
}

.podDetail .articleBody {
font-size: 15px
}

.podDetail .articleBody h2 {
font-size: 17px;
margin: 32px 0 16px
}

.podDetail .articleBody h3 {
font-size: 15px
}

.podDetail .engageWrap {
grid-template-columns: 1fr;
gap: 16px
}

.podDetail .engagementArea {
padding: 32px 16px
}

.podDetail .backTop {
padding: 0 16px 32px
}
}

.podlist {
background: #fff;
color: #1a1a1a;
overflow-x: clip
}

.podlist .titlezone {
position: relative;
max-width: 1320px;
margin: 0 auto;
padding: 64px 16px;
display: flex;
flex-direction: column;
gap: 32px
}

.podlist .titlezone::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(353deg, #39d1ca08 0%, #95155705 85%, transparent 100%);
pointer-events: none;
z-index: 0
}

.podlist .titlezone::after {
content: '';
position: absolute;
top: 20%;
right: 5%;
width: 280px;
height: 280px;
border: 2px solid #39d1ca26;
border-radius: 12px;
transform: rotate(-12deg);
pointer-events: none;
z-index: 0
}

.podlist .titlecopy {
position: relative;
z-index: 1;
max-width: 720px
}

.podlist .titlecopy h1 {
font-size: 68px;
line-height: 1.15;
letter-spacing: .01em;
margin: 0 0 16px;
font-weight: 700;
color: #951557
}

.podlist .titlecopy .quote {
font-size: 26px;
line-height: 1.6;
letter-spacing: .02em;
margin: 0;
color: #4a4a4a;
font-style: italic
}

.podlist .titleimg {
position: relative;
z-index: 1;
width: 100%;
max-width: 520px;
align-self: flex-end
}

.podlist .titleimg img {
width: 100%;
height: 280px;
object-fit: cover;
border-radius: 12px;
filter: grayscale(0.2) contrast(1.05);
transition: filter .26s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 5px 20px -1px #39d1ca1c
}

.podlist .titleimg img:hover {
filter: grayscale(0) contrast(1)
}

.podlist .divider {
max-width: 1320px;
margin: 0 auto;
padding: 0 16px
}

.podlist .dividerline {
max-width: 180px;
height: 3px;
background: linear-gradient(353deg, #39D1CA 0%, #951557 100%);
border-radius: 2px;
margin: 0 auto
}

.podlist .postgrid {
max-width: 1320px;
margin: 0 auto;
padding: 64px 16px
}

.podlist .postgrid h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
margin: 0 0 32px;
font-weight: 600;
color: #2a2a2a
}

.podlist .gridwrap {
display: grid;
grid-template-columns: 1fr;
gap: 32px
}

.podlist .postcard {
background: #fff;
border: 2px solid #39d1ca33;
border-radius: 12px;
overflow: hidden;
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 3px 4px -1px #39d1ca14;
display: flex;
flex-direction: column
}

.podlist .postcard:hover {
transform: translateY(-4px);
box-shadow: 0 8px 36px -1px #39d1ca21
}

.podlist .postimg {
width: 100%;
height: 240px;
position: relative;
overflow: hidden
}

.podlist .postimg::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #39d1ca26;
z-index: 1;
transition: opacity .26s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none
}

.podlist .postcard:hover .postimg::before {
opacity: 0
}

.podlist .postimg img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.podlist .postcard:hover .postimg img {
transform: scale(1.05)
}

.podlist .postcopy {
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
flex-grow: 1
}

.podlist .postsub {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
margin: 0;
color: #951557;
text-transform: uppercase;
font-weight: 600
}

.podlist .posttitle {
font-size: 26px;
line-height: 1.4;
letter-spacing: .01em;
margin: 0;
font-weight: 700;
color: #2a2a2a
}

.podlist .postdesc {
font-size: 17px;
line-height: 1.6;
letter-spacing: .01em;
margin: 0;
color: #5a5a5a;
flex-grow: 1
}

.podlist .postfoot {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 8px
}

.podlist .likecount {
display: flex;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
color: #6a6a6a
}

.podlist .likecount::before {
content: '';
width: 18px;
height: 18px;
background: #39D1CA;
border-radius: 2px;
display: block;
position: relative
}

.podlist .likecount::after {
content: '';
position: absolute;
width: 10px;
height: 6px;
border-left: 2px solid #fff;
border-bottom: 2px solid #fff;
transform: rotate(-45deg);
margin-left: -14px;
margin-top: 2px
}

.podlist .postlink {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #951557;
text-decoration: none;
font-weight: 600;
transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
text-transform: lowercase
}

.podlist .postlink:hover {
color: #39D1CA
}

.podlist .valuezone {
background: #EDF5FF;
padding: 64px 16px;
position: relative
}

.podlist .valuezone::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 8px;
background: linear-gradient(353deg, #39D1CA 0%, #951557 100%);
opacity: .4;
animation: colorshift 12s ease-in-out infinite
}

@keyframes colorshift {

0%,
100% {
opacity: .4;
transform: translateX(0)
}

50% {
opacity: .6;
transform: translateX(20px)
}
}

.podlist .valuewrap {
max-width: 1320px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr;
gap: 32px
}

.podlist .valuewrap h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
margin: 0 0 16px;
font-weight: 600;
color: #951557
}

.podlist .valuepairs {
display: flex;
flex-direction: column;
gap: 32px
}

.podlist .pair {
display: flex;
flex-direction: column;
gap: 8px
}

.podlist .pairlabel {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
margin: 0;
color: #39D1CA;
font-weight: 600;
text-transform: uppercase;
padding-bottom: 8px;
border-bottom: 2px solid #39D1CA
}

.podlist .pairvalue {
font-size: 17px;
line-height: 1.6;
letter-spacing: .01em;
margin: 0;
color: #3a3a3a
}

.podlist .methodzone {
max-width: 1320px;
margin: 0 auto;
padding: 64px 16px
}

.podlist .methodzone h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
margin: 0 0 32px;
font-weight: 600;
color: #2a2a2a
}

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

.podlist .steplist li {
font-size: 17px;
line-height: 1.6;
letter-spacing: .01em;
color: #4a4a4a;
padding: 16px 0;
border-bottom: 1px solid #39d1ca33;
position: relative;
padding-left: 48px
}

.podlist .steplist li::before {
content: '';
position: absolute;
left: 0;
top: 16px;
width: 32px;
height: 32px;
background: linear-gradient(353deg, #39D1CA 0%, #951557 100%);
border-radius: 2px
}

.podlist .steplist li:last-child {
border-bottom: none
}

.podlist .imagezone {
position: relative;
padding: 64px 16px;
background: #fff
}

.podlist .imagezone::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url(./site_images/visual002.jpg);
background-size: cover;
background-position: center;
opacity: .08;
pointer-events: none
}

.podlist .imagezone::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(353deg, #39d1cad9 0%, #951557bf 100%);
pointer-events: none
}

.podlist .imagecopy {
max-width: 1320px;
margin: 0 auto;
position: relative;
z-index: 1;
color: #fff
}

.podlist .imagecopy h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
margin: 0 0 16px;
font-weight: 300;
color: #fff
}

.podlist .imagecopy p {
font-size: 17px;
line-height: 1.6;
letter-spacing: .01em;
margin: 0;
max-width: 640px
}

.podlist .imagecopy p+p {
text-indent: 32px
}

.podlist .actionzone {
max-width: 1320px;
margin: 0 auto;
padding: 64px 16px;
background: #fff
}

.podlist .actionwrap {
display: flex;
flex-direction: column;
gap: 32px;
align-items: flex-start
}

.podlist .actionwrap h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
margin: 0;
font-weight: 600;
color: #951557
}

.podlist .actionwrap p {
font-size: 17px;
line-height: 1.6;
letter-spacing: .01em;
margin: 0;
color: #4a4a4a;
max-width: 640px
}

.podlist .ctalink {
display: inline-block;
padding: 16px 32px;
background: #fff;
border: 2px solid #39D1CA;
border-radius: 2px;
color: #39D1CA;
text-decoration: none;
font-size: 17px;
line-height: 1.4;
letter-spacing: .02em;
font-weight: 600;
text-transform: lowercase;
position: relative;
overflow: hidden;
transition: color .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.podlist .ctalink::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #39D1CA;
transition: height .26s cubic-bezier(0.4, 0, 0.2, 1);
z-index: -1
}

.podlist .ctalink:hover {
color: #fff
}

.podlist .ctalink:hover::before {
height: 100%
}

@media (min-width: 768px) {
.podlist .titlezone {
flex-direction: row;
align-items: flex-start;
justify-content: space-between
}

.podlist .titlecopy {
max-width: 640px
}

.podlist .titleimg {
max-width: 480px
}

.podlist .gridwrap {
grid-template-columns: repeat(2, 1fr)
}

.podlist .valuewrap {
grid-template-columns: 1fr 1fr;
align-items: start
}

.podlist .actionwrap {
flex-direction: row;
justify-content: space-between;
align-items: center
}

.podlist .actionwrap h2,
.podlist .actionwrap p {
max-width: 480px
}
}

@media (min-width: 1024px) {
.podlist .titlezone {
padding: 96px 32px
}

.podlist .postgrid {
padding: 96px 32px
}

.podlist .gridwrap {
grid-template-columns: repeat(3, 1fr)
}

.podlist .valuezone {
padding: 96px 32px
}

.podlist .methodzone {
padding: 96px 32px
}

.podlist .imagezone {
padding: 96px 32px
}

.podlist .actionzone {
padding: 96px 32px
}
}

.srvcs {
max-width: 1320px;
margin: 0 auto;
background: #fff
}

.srvcs .splithero {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 580px;
position: relative;
overflow: visible
}

.srvcs .splithero .leftpanel {
background: linear-gradient(353deg, #39D1CA 8%, #EDF5FF 68%);
display: flex;
align-items: center;
justify-content: center;
padding: 64px;
position: relative
}

.srvcs .splithero .rightpanel {
background: #951557;
display: flex;
align-items: center;
padding: 64px;
position: relative
}

.srvcs .splithero .shapedecor {
position: absolute;
width: 180px;
height: 180px;
border: 2px solid #ffffff4d;
border-radius: 50%;
top: 64px;
left: 64px;
pointer-events: none
}

.srvcs .splithero .shapedecor::before {
content: '';
position: absolute;
width: 80px;
height: 80px;
background: #ffffff26;
border-radius: 50%;
bottom: -32px;
right: -32px
}

.srvcs .splithero .shapedecor::after {
content: '';
position: absolute;
width: 40px;
height: 40px;
background: #fff3;
border-radius: 50%;
top: -16px;
right: 32px
}

.srvcs .splithero .herocopy {
position: relative;
z-index: 2;
color: #fff;
max-width: 520px
}

.srvcs .splithero .herocopy h1 {
font-size: 68px;
line-height: 1.15;
letter-spacing: .01em;
margin: 0 0 32px;
font-weight: 300
}

.srvcs .splithero .herocopy .herotext {
font-size: 17px;
line-height: 1.6;
letter-spacing: .02em;
color: #fffffff2
}

.srvcs .splithero .animline {
position: absolute;
bottom: 0;
left: 0;
height: 3px;
background: #39D1CA;
width: 0;
animation: drawline 1.8s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

@keyframes drawline {
to {
width: 100%
}
}

.srvcs .offerband {
background: linear-gradient(353deg, #951557 15%, #39D1CA 85%);
height: 8px;
width: 100%
}

.srvcs .coreoffering {
padding: 64px 32px;
background: #fff;
position: relative
}

.srvcs .coreoffering .offercontainer {
max-width: 1100px;
margin: 0 auto
}

.srvcs .coreoffering .sectionlabel {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #951557;
text-transform: uppercase;
margin: 0 0 16px;
font-weight: 600
}

.srvcs .coreoffering h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
margin: 0 0 32px;
color: #1a1a1a;
font-weight: 400
}

.srvcs .coreoffering .offertext {
font-size: 17px;
line-height: 1.6;
letter-spacing: .02em;
color: #333;
margin: 0 0 32px
}

.srvcs .coreoffering .offertext p {
margin: 0 0 8px;
text-indent: 32px
}

.srvcs .coreoffering .offertext p:first-child {
text-indent: 0
}

.srvcs .coreoffering .offerlist {
list-style: none;
padding: 0;
margin: 64px 0 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 32px
}

.srvcs .coreoffering .offerlist li {
border-bottom: 1px solid #39d1ca4d;
padding: 0 0 16px;
position: relative
}

.srvcs .coreoffering .offerlist li::before {
content: '';
position: absolute;
left: 0;
top: 0;
width: 4px;
height: 100%;
background: #39D1CA;
opacity: 0;
transition: opacity .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvcs .coreoffering .offerlist li:hover::before {
opacity: 1
}

.srvcs .coreoffering .offerlist .itemtitle {
font-size: 17px;
line-height: 1.4;
letter-spacing: .02em;
color: #1a1a1a;
font-weight: 600;
margin: 0 0 8px;
padding-left: 16px
}

.srvcs .coreoffering .offerlist .itemdesc {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #555;
margin: 0;
padding-left: 16px
}

.srvcs .programstructure {
padding: 64px 32px;
background: #fafbfc;
position: relative
}

.srvcs .programstructure::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
pointer-events: none
}

.srvcs .programstructure .structcontainer {
max-width: 1100px;
margin: 0 auto;
position: relative;
z-index: 1
}

.srvcs .programstructure h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
margin: 0 0 64px;
color: #1a1a1a;
font-weight: 400;
text-align: center
}

.srvcs .programstructure .structgrid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px
}

.srvcs .programstructure .structcard {
background: #fff;
border-radius: 12px;
padding: 32px;
box-shadow: 0 3px 4px -1px #39d1ca14 0 5px 20px -1px #39d1ca1c;
position: relative;
overflow: hidden;
transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvcs .programstructure .structcard:hover {
transform: translateY(-4px);
box-shadow: 0 8px 36px -1px #39d1ca21
}

.srvcs .programstructure .structcard .cardnumber {
font-size: 68px;
line-height: 1;
letter-spacing: .01em;
color: #39d1ca26;
font-weight: 700;
margin: 0 0 16px;
position: absolute;
top: 16px;
right: 16px;
pointer-events: none
}

.srvcs .programstructure .structcard h3 {
font-size: 26px;
line-height: 1.4;
letter-spacing: .01em;
color: #1a1a1a;
font-weight: 600;
margin: 0 0 16px;
position: relative;
z-index: 1
}

.srvcs .programstructure .structcard .carddesc {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #555;
margin: 0
}

.srvcs .programstructure .structcard .dotgroup {
position: absolute;
bottom: 16px;
right: 16px;
display: flex;
gap: 8px;
pointer-events: none
}

.srvcs .programstructure .structcard .dotgroup .dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: #39D1CA;
opacity: .3
}

.srvcs .programstructure .structcard .dotgroup .dot:nth-child(2) {
width: 12px;
height: 12px;
opacity: .2
}

.srvcs .programstructure .structcard .dotgroup .dot:nth-child(3) {
width: 6px;
height: 6px;
opacity: .4
}

.srvcs .approachdetail {
padding: 64px 32px;
background: #fff
}

.srvcs .approachdetail .detailcontainer {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start
}

.srvcs .approachdetail .detailleft h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
margin: 0 0 32px;
color: #1a1a1a;
font-weight: 400
}

.srvcs .approachdetail .detailleft .accentbar {
width: 4px;
height: 120px;
background: linear-gradient(353deg, #951557 15%, #39D1CA 85%);
margin: 0 0 32px
}

.srvcs .approachdetail .detailleft .detailtext {
font-size: 17px;
line-height: 1.6;
letter-spacing: .02em;
color: #333
}

.srvcs .approachdetail .detailleft .detailtext p {
margin: 0 0 8px;
text-indent: 32px
}

.srvcs .approachdetail .detailleft .detailtext p:first-child {
text-indent: 0
}

.srvcs .approachdetail .detailright {
display: flex;
flex-direction: column;
gap: 32px
}

.srvcs .approachdetail .imgwrap {
position: relative;
overflow: hidden;
border-radius: 12px;
width: 100%;
height: 320px
}

.srvcs .approachdetail .imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.srvcs .approachdetail .imgwrap::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #39d1ca4d;
z-index: 1;
transition: opacity .28s cubic-bezier(0.0, 0, 0.2, 1);
pointer-events: none
}

.srvcs .approachdetail .imgwrap:hover::before {
opacity: 0
}

.srvcs .approachdetail .imgwrap:hover img {
transform: scale(1.05)
}

.srvcs .approachdetail .imgwrap .imgcaption {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 16px;
background: #951557e6;
color: #fff;
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
transform: translateY(100%);
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 2
}

.srvcs .approachdetail .imgwrap:hover .imgcaption {
transform: translateY(0)
}

.srvcs .metricsection {
padding: 64px 32px;
background: linear-gradient(353deg, #EDF5FF 12%, #fff 72%);
position: relative
}

.srvcs .metricsection .metricscontainer {
max-width: 1100px;
margin: 0 auto
}

.srvcs .metricsection h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
margin: 0 0 64px;
color: #1a1a1a;
font-weight: 400
}

.srvcs .metricsection .metricsgrid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px
}

.srvcs .metricsection .metricbox {
background: #fff;
border-radius: 2px;
padding: 32px;
text-align: center;
border: 2px solid #39D1CA;
position: relative;
overflow: hidden
}

.srvcs .metricsection .metricbox::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #39D1CA;
transition: height .26s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.srvcs .metricsection .metricbox:hover::before {
height: 100%
}

.srvcs .metricsection .metricbox .metricnumber {
font-size: 68px;
line-height: 1;
letter-spacing: .01em;
color: #951557;
font-weight: 700;
margin: 0 0 8px;
position: relative;
z-index: 1;
transition: color .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvcs .metricsection .metricbox:hover .metricnumber {
color: #fff
}

.srvcs .metricsection .metricbox .metriclabel {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #333;
margin: 0;
position: relative;
z-index: 1;
transition: color .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvcs .metricsection .metricbox:hover .metriclabel {
color: #fff
}

.srvcs .resourcesection {
padding: 64px 32px;
background: #fff
}

.srvcs .resourcesection .resourcecontainer {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 2fr 1fr;
gap: 64px;
align-items: center
}

.srvcs .resourcesection .resourceleft {
position: relative
}

.srvcs .resourcesection .resourceleft h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
margin: 0 0 32px;
color: #1a1a1a;
font-weight: 400
}

.srvcs .resourcesection .resourceleft .resourcetext {
font-size: 17px;
line-height: 1.6;
letter-spacing: .02em;
color: #333;
margin: 0 0 32px
}

.srvcs .resourcesection .resourceleft .resourcetext p {
margin: 0 0 8px;
text-indent: 32px
}

.srvcs .resourcesection .resourceleft .resourcetext p:first-child {
text-indent: 0
}

.srvcs .resourcesection .resourceleft .resourcelink {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 17px;
line-height: 1.4;
letter-spacing: .02em;
color: #951557;
text-decoration: none;
font-weight: 600;
transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvcs .resourcesection .resourceleft .resourcelink::before {
content: '';
width: 16px;
height: 16px;
background: #951557;
clip-path: polygon(0 0, 100% 50%, 0 100%);
transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), background .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvcs .resourcesection .resourceleft .resourcelink:hover {
color: #39D1CA
}

.srvcs .resourcesection .resourceleft .resourcelink:hover::before {
background: #39D1CA;
transform: translateX(4px)
}

.srvcs .resourcesection .resourceright {
position: relative
}

.srvcs .resourcesection .imgwrap {
position: relative;
overflow: hidden;
border-radius: 12px;
width: 100%;
height: 380px
}

.srvcs .resourcesection .imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.srvcs .resourcesection .imgwrap::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #9515574d;
z-index: 1;
transition: opacity .28s cubic-bezier(0.0, 0, 0.2, 1);
pointer-events: none
}

.srvcs .resourcesection .imgwrap:hover::before {
opacity: 0
}

.srvcs .resourcesection .imgwrap:hover img {
transform: scale(1.05)
}

.srvcs .resourcesection .imgwrap .imgcaption {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 16px;
background: #39d1cae6;
color: #1a1a1a;
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
transform: translateY(100%);
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 2
}

.srvcs .resourcesection .imgwrap:hover .imgcaption {
transform: translateY(0)
}

.srvcs .resourcesection .dotcorner {
position: absolute;
top: -32px;
right: -32px;
width: 120px;
height: 120px;
pointer-events: none
}

.srvcs .resourcesection .dotcorner .dot {
position: absolute;
border-radius: 50%;
background: #39D1CA
}

.srvcs .resourcesection .dotcorner .dot:nth-child(1) {
width: 24px;
height: 24px;
top: 32px;
left: 16px;
opacity: .4
}

.srvcs .resourcesection .dotcorner .dot:nth-child(2) {
width: 16px;
height: 16px;
top: 64px;
left: 48px;
opacity: .6
}

.srvcs .resourcesection .dotcorner .dot:nth-child(3) {
width: 12px;
height: 12px;
top: 48px;
left: 80px;
opacity: .3
}

.srvcs .resourcesection .dotcorner .dot:nth-child(4) {
width: 8px;
height: 8px;
top: 80px;
left: 72px;
opacity: .5
}

.srvcs .hovertext {
display: inline-block;
position: relative
}

.srvcs .hovertext .char {
display: inline-block;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvcs .hovertext:hover .char:nth-child(1) {
color: #39D1CA;
transition-delay: 0s
}

.srvcs .hovertext:hover .char:nth-child(2) {
color: #39D1CA;
transition-delay: .02s
}

.srvcs .hovertext:hover .char:nth-child(3) {
color: #39D1CA;
transition-delay: .04s
}

.srvcs .hovertext:hover .char:nth-child(4) {
color: #39D1CA;
transition-delay: .06s
}

.srvcs .hovertext:hover .char:nth-child(5) {
color: #39D1CA;
transition-delay: .08s
}

.srvcs .hovertext:hover .char:nth-child(6) {
color: #39D1CA;
transition-delay: .1s
}

.srvcs .hovertext:hover .char:nth-child(7) {
color: #39D1CA;
transition-delay: .12s
}

.srvcs .hovertext:hover .char:nth-child(8) {
color: #39D1CA;
transition-delay: .14s
}

.srvcs .hovertext:hover .char:nth-child(9) {
color: #39D1CA;
transition-delay: .16s
}

.srvcs .hovertext:hover .char:nth-child(10) {
color: #39D1CA;
transition-delay: .18s
}

.srvcs .hovertext:hover .char:nth-child(11) {
color: #39D1CA;
transition-delay: .2s
}

.srvcs .hovertext:hover .char:nth-child(12) {
color: #39D1CA;
transition-delay: .22s
}

.srvcs .hovertext:hover .char:nth-child(13) {
color: #39D1CA;
transition-delay: .24s
}

.srvcs .hovertext:hover .char:nth-child(14) {
color: #39D1CA;
transition-delay: .26s
}

.srvcs .hovertext:hover .char:nth-child(15) {
color: #39D1CA;
transition-delay: .28s
}

.srvcs .hovertext:hover .char:nth-child(16) {
color: #39D1CA;
transition-delay: .3s
}

.srvcs .hovertext:hover .char:nth-child(17) {
color: #39D1CA;
transition-delay: .32s
}

.srvcs .hovertext:hover .char:nth-child(18) {
color: #39D1CA;
transition-delay: .34s
}

.srvcs .hovertext:hover .char:nth-child(19) {
color: #39D1CA;
transition-delay: .36s
}

.srvcs .hovertext:hover .char:nth-child(20) {
color: #39D1CA;
transition-delay: .38s
}

@media (max-width: 1024px) {
.srvcs .splithero {
grid-template-columns: 1fr;
min-height: auto
}

.srvcs .splithero .leftpanel,
.srvcs .splithero .rightpanel {
padding: 64px 32px
}

.srvcs .splithero .herocopy h1 {
font-size: 50px
}

.srvcs .coreoffering .offerlist {
grid-template-columns: 1fr
}

.srvcs .programstructure .structgrid {
grid-template-columns: 1fr
}

.srvcs .approachdetail .detailcontainer {
grid-template-columns: 1fr;
gap: 32px
}

.srvcs .metricsection .metricsgrid {
grid-template-columns: repeat(2, 1fr)
}

.srvcs .resourcesection .resourcecontainer {
grid-template-columns: 1fr;
gap: 32px
}
}

@media (max-width: 768px) {
.srvcs .splithero .herocopy h1 {
font-size: 26px
}

.srvcs .coreoffering h2,
.srvcs .programstructure h2,
.srvcs .approachdetail .detailleft h2,
.srvcs .metricsection h2,
.srvcs .resourcesection .resourceleft h2 {
font-size: 26px
}

.srvcs .metricsection .metricsgrid {
grid-template-columns: 1fr
}

.srvcs .programstructure .structcard .cardnumber {
font-size: 50px
}

.srvcs .metricsection .metricbox .metricnumber {
font-size: 50px
}
}

.strt {
max-width: 1320px;
margin: 0 auto;
background: #fff
}

.strt .titlezone {
position: relative;
padding: 128px 32px 64px;
background: linear-gradient(353deg, #39D1CA 0%, #EDF5FF 42%, #fff 100%);
overflow: hidden
}

.strt .titlezone::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: radial-gradient(circle at 20% 30%, #39d1ca08 0%, transparent 50%), radial-gradient(circle at 80% 70%, #95155705 0%, transparent 50%);
opacity: .6;
pointer-events: none
}

.strt .titlezone::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: repeating-linear-gradient(0deg, transparent, transparent 2px, #39d1ca05 2px, #39d1ca05 4px);
pointer-events: none
}

.strt .titlezone .anchortext {
position: relative;
z-index: 1;
max-width: 780px
}

.strt .titlezone h1 {
font-size: 68px;
line-height: 1.15;
letter-spacing: .01em;
color: #1a1a2e;
margin: 0 0 32px
}

.strt .titlezone h1 .marked {
position: relative;
display: inline-block
}

.strt .titlezone h1 .marked::after {
content: '';
position: absolute;
bottom: 8px;
left: 0;
right: 0;
height: 12px;
background: #9515572e;
z-index: -1;
animation: lineexpand .24s cubic-bezier(0.4, 0, 0.2, 1) forwards;
transform-origin: left
}

@keyframes lineexpand {
from {
transform: scaleX(0)
}

to {
transform: scaleX(1)
}
}

.strt .titlezone p {
font-size: 17px;
line-height: 1.6;
letter-spacing: .015em;
color: #2d2d44;
margin: 0
}

.strt .contextgrid {
padding: 64px 32px;
background: #fff
}

.strt .contextgrid .framewrap {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
max-width: 1100px;
margin: 0 0 0 auto
}

.strt .contextgrid .textcol h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .012em;
font-weight: 300;
color: #1a1a2e;
margin: 0 0 32px
}

.strt .contextgrid .textcol p {
font-size: 17px;
line-height: 1.6;
letter-spacing: .015em;
color: #2d2d44;
margin: 0 0 16px;
text-indent: 32px
}

.strt .contextgrid .textcol p:first-of-type {
text-indent: 0
}

.strt .contextgrid .imagecol {
position: relative
}

.strt .contextgrid .imagecol .imgbox {
position: relative;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 5px 20px -1px #39d1ca1c
}

.strt .contextgrid .imagecol .imgbox img {
width: 100%;
height: 480px;
object-fit: cover;
display: block;
transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.strt .contextgrid .imagecol .imgbox::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #39d1ca24;
z-index: 1;
transition: opacity .26s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none
}

.strt .contextgrid .imagecol .imgbox:hover::before {
opacity: 0
}

.strt .contextgrid .imagecol .imgbox:hover img {
transform: scale(1.04)
}

.strt .contextgrid .imagecol .badge {
position: absolute;
bottom: 24px;
right: 24px;
background: #fff;
padding: 16px 32px;
border-radius: 2px;
box-shadow: 0 3px 4px -1px #95155714;
z-index: 2
}

.strt .contextgrid .imagecol .badge .num {
font-size: 26px;
line-height: 1.15;
letter-spacing: .01em;
font-weight: 600;
color: #951557;
margin: 0 0 8px
}

.strt .contextgrid .imagecol .badge .label {
font-size: 15px;
line-height: 1.4;
letter-spacing: .015em;
color: #2d2d44;
margin: 0
}

.strt .evidencebar {
padding: 64px 32px;
background: #EDF5FF;
position: relative
}

.strt .evidencebar::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: repeating-linear-gradient(90deg, #39D1CA 0px, #39D1CA 8px, transparent 8px, transparent 16px, #951557 16px, #951557 20px, transparent 20px, transparent 32px)
}

.strt .evidencebar .metrics {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px;
max-width: 1100px
}

.strt .evidencebar .metricbox {
background: #fff;
padding: 32px;
border-radius: 12px;
border: 2px solid transparent;
transition: border-color .22s cubic-bezier(0.0, 0, 0.2, 1), transform .22s cubic-bezier(0.0, 0, 0.2, 1);
box-shadow: 0 3px 4px -1px #39d1ca14
}

.strt .evidencebar .metricbox:hover {
border-color: #39D1CA;
transform: scale(1.05)
}

.strt .evidencebar .metricbox:hover~.metricbox {
transform: scale(0.96)
}

.strt .evidencebar .metricbox .figure {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
font-weight: 600;
color: #951557;
margin: 0 0 16px
}

.strt .evidencebar .metricbox .desc {
font-size: 15px;
line-height: 1.6;
letter-spacing: .015em;
color: #2d2d44;
margin: 0
}

.strt .boundaries {
padding: 64px 32px;
background: #fff
}

.strt .boundaries .layout {
display: grid;
grid-template-columns: 380px 1fr;
gap: 64px;
max-width: 1100px;
margin: 0 auto
}

.strt .boundaries .leftside h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .012em;
font-weight: 300;
color: #1a1a2e;
margin: 0 0 32px
}

.strt .boundaries .leftside .quotebox {
background: linear-gradient(353deg, #39d1ca0f 0%, #edf5ff66 100%);
padding: 32px;
border-radius: 12px;
border-left: 0;
position: relative
}

.strt .boundaries .leftside .quotebox::before {
content: '';
position: absolute;
left: 0;
top: 32px;
bottom: 32px;
width: 4px;
background: #39D1CA;
border-radius: 2px
}

.strt .boundaries .leftside .quotebox p {
font-size: 17px;
line-height: 1.6;
letter-spacing: .015em;
color: #2d2d44;
margin: 0
}

.strt .boundaries .leftside .quotebox .highlight {
color: #951557;
font-weight: 600
}

.strt .boundaries .rightside ul {
list-style: none;
margin: 0;
padding: 0
}

.strt .boundaries .rightside li {
padding: 24px 0;
border-bottom: 1px solid #39d1ca33;
font-size: 17px;
line-height: 1.6;
letter-spacing: .015em;
color: #2d2d44;
transition: padding-left .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.strt .boundaries .rightside li:hover {
padding-left: 16px
}

.strt .boundaries .rightside li:last-child {
border-bottom: none
}

.strt .practiceflow {
padding: 64px 32px;
background: linear-gradient(353deg, #fff 0%, #EDF5FF 78%, #39d1ca14 100%);
position: relative
}

.strt .practiceflow::after {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 600px;
height: 600px;
background: radial-gradient(circle at center, #39d1ca0f 0%, transparent 70%);
pointer-events: none
}

.strt .practiceflow .container {
max-width: 1100px;
margin: 0 auto;
position: relative;
z-index: 1
}

.strt .practiceflow h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .012em;
font-weight: 300;
color: #1a1a2e;
margin: 0 0 64px;
text-align: center
}

.strt .practiceflow .steps {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.strt .practiceflow .stepcard {
background: #fff;
padding: 32px;
border-radius: 12px;
box-shadow: 0 5px 20px -1px #39d1ca1c;
position: relative;
overflow: hidden
}

.strt .practiceflow .stepcard::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: #39D1CA;
transition: height .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.strt .practiceflow .stepcard:hover::before {
height: 100%
}

.strt .practiceflow .stepcard .stepnum {
font-size: 26px;
line-height: 1.15;
letter-spacing: .01em;
font-weight: 600;
color: #951557;
margin: 0 0 16px;
position: relative;
z-index: 1;
transition: color .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.strt .practiceflow .stepcard:hover .stepnum {
color: #fff
}

.strt .practiceflow .stepcard h3 {
font-size: 26px;
line-height: 1.4;
letter-spacing: .01em;
color: #1a1a2e;
margin: 0 0 16px;
position: relative;
z-index: 1;
transition: color .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.strt .practiceflow .stepcard:hover h3 {
color: #fff
}

.strt .practiceflow .stepcard p {
font-size: 15px;
line-height: 1.6;
letter-spacing: .015em;
color: #2d2d44;
margin: 0;
position: relative;
z-index: 1;
transition: color .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.strt .practiceflow .stepcard:hover p {
color: #fffffff2
}

.strt .mechanism {
padding: 64px 32px;
background: #fff;
position: relative
}

.strt .mechanism::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: repeating-linear-gradient(90deg, #951557 0px, #951557 6px, transparent 6px, transparent 12px, #39D1CA 12px, #39D1CA 18px, transparent 18px, transparent 28px)
}

.strt .mechanism .split {
display: grid;
grid-template-columns: 1fr 520px;
gap: 64px;
max-width: 1100px
}

.strt .mechanism .textzone h2 {
font-size: 50px;
line-height: 1.15;
letter-spacing: .012em;
font-weight: 300;
color: #1a1a2e;
margin: 0 0 32px
}

.strt .mechanism .textzone p {
font-size: 17px;
line-height: 1.6;
letter-spacing: .015em;
color: #2d2d44;
margin: 0 0 16px;
text-indent: 32px
}

.strt .mechanism .textzone p:first-of-type {
text-indent: 0
}

.strt .mechanism .textzone .cta {
display: inline-block;
padding: 16px 32px;
background: #fff;
color: #951557;
font-size: 15px;
line-height: 1.4;
letter-spacing: .015em;
text-decoration: none;
border: 2px solid #951557;
border-radius: 2px;
margin: 16px 0 0;
position: relative;
overflow: hidden;
transition: color .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.strt .mechanism .textzone .cta::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: #951557;
transition: height .26s cubic-bezier(0.4, 0, 0.2, 1);
z-index: -1
}

.strt .mechanism .textzone .cta:hover {
color: #fff
}

.strt .mechanism .textzone .cta:hover::before {
height: 100%
}

.strt .mechanism .imagezone {
position: relative
}

.strt .mechanism .imagezone .imgwrap {
position: relative;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 8px 36px -1px #95155721
}

.strt .mechanism .imagezone .imgwrap img {
width: 100%;
height: 560px;
object-fit: cover;
display: block;
transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.strt .mechanism .imagezone .imgwrap::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #9515571f;
z-index: 1;
transition: opacity .26s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none
}

.strt .mechanism .imagezone .imgwrap:hover::before {
opacity: 0
}

.strt .mechanism .imagezone .imgwrap:hover img {
transform: scale(1.04)
}

.strt .mechanism .imagezone .overlay {
position: absolute;
top: 32px;
left: 32px;
background: #fffffff5;
padding: 24px 32px;
border-radius: 2px;
box-shadow: 0 5px 20px -1px #39d1ca1c;
max-width: 280px
}

.strt .mechanism .imagezone .overlay h4 {
font-size: 17px;
line-height: 1.4;
letter-spacing: .015em;
color: #951557;
margin: 0 0 8px;
font-weight: 600
}

.strt .mechanism .imagezone .overlay p {
font-size: 15px;
line-height: 1.6;
letter-spacing: .015em;
color: #2d2d44;
margin: 0
}

@media (max-width: 768px) {
.strt .titlezone {
padding: 64px 16px 32px
}

.strt .titlezone h1 {
font-size: 50px
}

.strt .contextgrid,
.strt .evidencebar,
.strt .boundaries,
.strt .practiceflow,
.strt .mechanism {
padding: 32px 16px
}

.strt .contextgrid .framewrap {
grid-template-columns: 1fr;
gap: 32px
}

.strt .contextgrid .imagecol .imgbox img {
height: 320px
}

.strt .evidencebar .metrics {
grid-template-columns: 1fr 1fr;
gap: 16px
}

.strt .boundaries .layout {
grid-template-columns: 1fr;
gap: 32px
}

.strt .practiceflow .steps {
grid-template-columns: 1fr;
gap: 16px
}

.strt .mechanism .split {
grid-template-columns: 1fr;
gap: 32px
}

.strt .mechanism .imagezone .imgwrap img {
height: 360px
}
}

.contactpage {
max-width: 1320px;
margin: 0 auto;
background: #fff;
color: #2a2a2a
}

.contactpage .topbar {
background: linear-gradient(353deg, #951557 0%, #39D1CA 92%);
padding: 64px 32px;
position: relative;
overflow: hidden
}

.contactpage .topbar::before {
content: '';
position: absolute;
top: -120px;
right: 64px;
width: 280px;
height: 280px;
border: 2px solid #ffffff1f;
border-radius: 50%;
transform: rotate(25deg)
}

.contactpage .topbar::after {
content: '';
position: absolute;
bottom: 32px;
left: 48px;
width: 160px;
height: 160px;
border: 2px solid #ffffff14;
border-radius: 2px;
transform: rotate(-15deg)
}

.contactpage .topbar .topbarwrap {
max-width: 920px;
margin: 0 auto;
position: relative;
z-index: 2
}

.contactpage .topbar h1 {
font-size: 68px;
line-height: 1.15;
color: #fff;
margin: 0 0 16px;
letter-spacing: .01em;
font-weight: 300
}

.contactpage .topbar .lead {
font-size: 17px;
line-height: 1.6;
color: #ffffffeb;
margin: 0;
letter-spacing: .02em
}

.contactpage .formzone {
background: #fafbfc;
padding: 64px 32px;
position: relative
}

.contactpage .formzone::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url(./site_images/testimonial33.jpg) center/cover;
opacity: .03;
filter: grayscale(100%);
pointer-events: none
}

.contactpage .formzone .formwrap {
max-width: 840px;
margin: 0 auto;
position: relative;
z-index: 2
}

.contactpage .formzone h2 {
font-size: 50px;
line-height: 1.15;
color: #2a2a2a;
margin: 0 0 8px;
letter-spacing: .01em;
font-weight: 300
}

.contactpage .formzone .formdesc {
font-size: 17px;
line-height: 1.6;
color: #5a5a5a;
margin: 0 0 32px;
letter-spacing: .02em
}

.contactpage .formzone .formgrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin: 0 0 16px
}

.contactpage .formzone .fullwidth {
grid-column: 1 / -1
}

.contactpage .formzone .fieldwrap {
display: flex;
flex-direction: column
}

.contactpage .formzone label {
font-size: 15px;
line-height: 1.4;
color: #3a3a3a;
margin: 0 0 8px;
letter-spacing: .01em;
font-weight: 500
}

.contactpage .formzone input[type="text"],
.contactpage .formzone input[type="email"],
.contactpage .formzone select,
.contactpage .formzone textarea {
font-size: 15px;
line-height: 1.6;
color: #2a2a2a;
background: #fff;
border: 2px solid #d4d4d4;
border-radius: 2px;
padding: 12px 16px;
letter-spacing: .01em;
transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactpage .formzone input[type="text"]::placeholder,
.contactpage .formzone input[type="email"]::placeholder,
.contactpage .formzone textarea::placeholder {
color: #9a9a9a
}

.contactpage .formzone input[type="text"]:focus,
.contactpage .formzone input[type="email"]:focus,
.contactpage .formzone select:focus,
.contactpage .formzone textarea:focus {
outline: none;
border-color: #39D1CA;
box-shadow: 0 0 0 3px #39d1ca14
}

.contactpage .formzone select {
cursor: pointer;
appearance: none;
background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%232a2a2a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
padding-right: 48px
}

.contactpage .formzone textarea {
resize: vertical;
min-height: 120px
}

.contactpage .formzone .radiogroup {
display: flex;
gap: 32px;
margin: 8px 0 0
}

.contactpage .formzone .radiowrap {
display: flex;
align-items: center;
gap: 8px;
cursor: pointer
}

.contactpage .formzone input[type="radio"] {
width: 20px;
height: 20px;
margin: 0;
cursor: pointer;
accent-color: #39D1CA
}

.contactpage .formzone .radiowrap span {
font-size: 15px;
line-height: 1.4;
color: #3a3a3a;
letter-spacing: .01em
}

.contactpage .formzone .privacywrap {
display: flex;
align-items: flex-start;
gap: 8px;
margin: 16px 0 0;
padding: 16px;
background: #39d1ca0a;
border-radius: 2px;
border-left: 4px solid #39D1CA
}

.contactpage .formzone input[type="checkbox"] {
width: 20px;
height: 20px;
margin: 2px 0 0;
cursor: pointer;
flex-shrink: 0;
accent-color: #39D1CA
}

.contactpage .formzone .privacytext {
font-size: 15px;
line-height: 1.6;
color: #3a3a3a;
margin: 0;
letter-spacing: .01em
}

.contactpage .formzone .privacytext a {
color: #951557;
text-decoration: none;
border-bottom: 1px solid #9515574d;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactpage .formzone .privacytext a:hover {
border-bottom-color: #951557
}

.contactpage .formzone .submitwrap {
margin: 32px 0 0
}

.contactpage .formzone button[type="submit"] {
font-size: 17px;
line-height: 1.4;
color: #fff;
background: #951557;
border: none;
border-radius: 2px;
padding: 16px 64px;
cursor: pointer;
letter-spacing: .02em;
position: relative;
overflow: hidden;
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 5px 20px -1px #9515571c 0 3px 4px -1px #95155714
}

.contactpage .formzone button[type="submit"]::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #39D1CA;
transition: height .26s cubic-bezier(0.0, 0, 0.2, 1);
z-index: 0
}

.contactpage .formzone button[type="submit"]:hover::before {
height: 100%
}

.contactpage .formzone button[type="submit"]:hover {
transform: translateY(-2px);
box-shadow: 0 8px 36px -1px #95155721 0 5px 20px -1px #9515571c
}

.contactpage .formzone button[type="submit"]:active {
transform: translateY(0)
}

.contactpage .formzone button[type="submit"] span {
position: relative;
z-index: 1
}

.contactpage .tierzone {
padding: 64px 32px;
background: #fff;
position: relative
}

.contactpage .tierzone::before {
content: '';
position: absolute;
top: -80px;
left: 0;
width: 100%;
height: 160px;
background: #fafbfc;
clip-path: path('M0,80 Q320,0 640,80 T1280,80 L1280,160 L0,160 Z')
}

.contactpage .tierzone .tierwrap {
max-width: 1200px;
margin: 0 auto
}

.contactpage .tierzone h2 {
font-size: 50px;
line-height: 1.15;
color: #2a2a2a;
margin: 0 0 8px;
text-align: center;
letter-spacing: .01em;
font-weight: 300
}

.contactpage .tierzone .tierdesc {
font-size: 17px;
line-height: 1.6;
color: #5a5a5a;
margin: 0 0 64px;
text-align: center;
letter-spacing: .02em
}

.contactpage .tierzone .tiergrid {
display: grid;
grid-template-columns: 1fr 1.4fr 1fr;
gap: 32px
}

.contactpage .tierzone .tiercard {
background: #fff;
border: 2px solid #e8e8e8;
border-radius: 12px;
padding: 32px;
position: relative;
transition: transform .26s cubic-bezier(0.0, 0, 0.2, 1), box-shadow .26s cubic-bezier(0.0, 0, 0.2, 1), border-color .26s cubic-bezier(0.0, 0, 0.2, 1);
box-shadow: 0 3px 4px -1px #39d1ca14
}

.contactpage .tierzone .tiercard.featured {
border-color: #39D1CA;
box-shadow: 0 8px 36px -1px #39d1ca21 0 5px 20px -1px #39d1ca1c;
transform: translateY(-8px)
}

.contactpage .tierzone .tiercard:hover {
transform: translateY(-4px);
box-shadow: 0 8px 36px -1px #39d1ca21 0 5px 20px -1px #39d1ca1c;
border-color: #39D1CA
}

.contactpage .tierzone .tiercard.featured:hover {
transform: translateY(-12px)
}

.contactpage .tierzone .tierlabel {
font-size: 15px;
line-height: 1.4;
color: #951557;
margin: 0 0 8px;
letter-spacing: .02em;
font-weight: 600;
text-transform: uppercase
}

.contactpage .tierzone .tiertitle {
font-size: 26px;
line-height: 1.4;
color: #2a2a2a;
margin: 0 0 16px;
letter-spacing: .01em;
font-weight: 500
}

.contactpage .tierzone .tierprice {
font-size: 50px;
line-height: 1.15;
color: #2a2a2a;
margin: 0 0 8px;
letter-spacing: .01em;
font-weight: 300
}

.contactpage .tierzone .tierperiod {
font-size: 15px;
line-height: 1.4;
color: #7a7a7a;
margin: 0 0 32px;
letter-spacing: .01em
}

.contactpage .tierzone .tierfeatures {
list-style: none;
margin: 0;
padding: 0
}

.contactpage .tierzone .tierfeatures li {
font-size: 15px;
line-height: 1.6;
color: #4a4a4a;
margin: 0;
padding: 8px 0;
border-bottom: 1px solid #efefef;
letter-spacing: .01em;
position: relative;
padding-left: 32px
}

.contactpage .tierzone .tierfeatures li:last-child {
border-bottom: none
}

.contactpage .tierzone .tierfeatures li::before {
content: '';
position: absolute;
left: 0;
top: 13px;
width: 16px;
height: 16px;
background: #39D1CA;
border-radius: 50%;
opacity: .2
}

.contactpage .tierzone .tierfeatures li::after {
content: '';
position: absolute;
left: 4px;
top: 17px;
width: 8px;
height: 8px;
background: #39D1CA;
border-radius: 50%
}

.contactpage .directreach {
background: linear-gradient(353deg, #EDF5FF 0%, #fff 88%);
padding: 64px 32px;
position: relative
}

.contactpage .directreach::before {
content: '';
position: absolute;
bottom: 48px;
right: 32px;
width: 220px;
height: 220px;
background: #39D1CA;
opacity: .04;
border-radius: 50%;
animation: bgpulse 12s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

@keyframes bgpulse {

0%,
100% {
transform: scale(1);
opacity: .04
}

50% {
transform: scale(1.15);
opacity: .06
}
}

.contactpage .directreach .reachwrap {
max-width: 920px;
margin: 0 auto
}

.contactpage .directreach h2 {
font-size: 50px;
line-height: 1.15;
color: #2a2a2a;
margin: 0 0 32px;
letter-spacing: .01em;
font-weight: 300
}

.contactpage .directreach .methodgrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.contactpage .directreach .methodcard {
background: #fff;
border-radius: 12px;
padding: 32px;
box-shadow: 0 5px 20px -1px #39d1ca1c 0 3px 4px -1px #39d1ca14;
transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.contactpage .directreach .methodcard::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: linear-gradient(353deg, #951557 0%, #39D1CA 92%);
transform: scaleY(0);
transform-origin: bottom;
transition: transform .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.contactpage .directreach .methodcard:hover::before {
transform: scaleY(1);
transform-origin: top
}

.contactpage .directreach .methodcard:hover {
transform: translateY(-4px);
box-shadow: 0 8px 36px -1px #39d1ca21 0 5px 20px -1px #39d1ca1c
}

.contactpage .directreach .methodicon {
width: 48px;
height: 48px;
background: linear-gradient(353deg, #95155714 0%, #39d1ca14 92%);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin: 0 0 16px;
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactpage .directreach .methodcard:hover .methodicon {
transform: scale(1.08)
}

.contactpage .directreach .methodicon svg {
width: 24px;
height: 24px;
fill: #951557
}

.contactpage .directreach .methodtitle {
font-size: 17px;
line-height: 1.4;
color: #2a2a2a;
margin: 0 0 8px;
letter-spacing: .01em;
font-weight: 600
}

.contactpage .directreach .methodvalue {
font-size: 15px;
line-height: 1.6;
color: #39D1CA;
margin: 0 0 8px;
letter-spacing: .01em;
word-break: break-word
}

.contactpage .directreach .methodvalue a {
color: #39D1CA;
text-decoration: none;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactpage .directreach .methodvalue a:hover {
color: #951557
}

.contactpage .directreach .methodnote {
font-size: 15px;
line-height: 1.6;
color: #6a6a6a;
margin: 0;
letter-spacing: .01em
}

@media (max-width: 768px) {
.contactpage .topbar {
padding: 32px 16px
}

.contactpage .topbar h1 {
font-size: 50px
}

.contactpage .formzone {
padding: 32px 16px
}

.contactpage .formzone h2 {
font-size: 26px
}

.contactpage .formzone .formgrid {
grid-template-columns: 1fr
}

.contactpage .tierzone {
padding: 32px 16px
}

.contactpage .tierzone h2 {
font-size: 26px
}

.contactpage .tierzone .tiergrid {
grid-template-columns: 1fr
}

.contactpage .tierzone .tiercard.featured {
transform: translateY(0)
}

.contactpage .directreach {
padding: 32px 16px
}

.contactpage .directreach h2 {
font-size: 26px
}

.contactpage .directreach .methodgrid {
grid-template-columns: 1fr
}
}

.abtus {
max-width: 1320px;
margin: 0 auto;
background: #fff
}

.abtus .ttlwrap {
position: relative;
padding: 128px 32px 64px;
background: linear-gradient(353deg, #39D1CA 0%, #EDF5FF 42%, #fff 100%);
overflow: visible
}

.abtus .ttlwrap::before {
content: '';
position: absolute;
top: 64px;
left: 32px;
width: 280px;
height: 280px;
background: #9515570f;
border-radius: 50%;
filter: blur(84px);
pointer-events: none
}

.abtus .ttlwrap::after {
content: '';
position: absolute;
bottom: 32px;
right: 64px;
width: 320px;
height: 320px;
background: #39d1ca17;
border-radius: 50%;
filter: blur(96px);
pointer-events: none
}

.abtus .ttlinner {
position: relative;
z-index: 1
}

.abtus .ttlh {
font-size: 68px;
line-height: 1.15;
letter-spacing: .01em;
color: #1a1a2e;
margin: 0 0 32px;
font-weight: 600
}

.abtus .ttlh .ltrdrop {
display: inline-block;
animation: ltrdropfall .24s cubic-bezier(0.4, 0, 0.2, 1) backwards
}

.abtus .ttlh .ltrdrop:nth-child(1) {
animation-delay: 0s
}

.abtus .ttlh .ltrdrop:nth-child(2) {
animation-delay: .04s
}

.abtus .ttlh .ltrdrop:nth-child(3) {
animation-delay: .08s
}

.abtus .ttlh .ltrdrop:nth-child(4) {
animation-delay: .12s
}

.abtus .ttlh .ltrdrop:nth-child(5) {
animation-delay: .16s
}

.abtus .ttlh .ltrdrop:nth-child(6) {
animation-delay: .2s
}

.abtus .ttlh .ltrdrop:nth-child(7) {
animation-delay: .24s
}

.abtus .ttlh .ltrdrop:nth-child(8) {
animation-delay: .28s
}

.abtus .ttlh .ltrdrop:nth-child(9) {
animation-delay: .32s
}

.abtus .ttlh .ltrdrop:nth-child(10) {
animation-delay: .36s
}

.abtus .ttlh .ltrdrop:nth-child(11) {
animation-delay: .4s
}

.abtus .ttlh .ltrdrop:nth-child(12) {
animation-delay: .44s
}

.abtus .ttlh .ltrdrop:nth-child(13) {
animation-delay: .48s
}

.abtus .ttlh .ltrdrop:nth-child(14) {
animation-delay: .52s
}

.abtus .ttlh .ltrdrop:nth-child(15) {
animation-delay: .56s
}

@keyframes ltrdropfall {
from {
transform: translateY(-48px);
opacity: 0
}

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

.abtus .ttldesc {
font-size: 26px;
line-height: 1.6;
letter-spacing: .02em;
color: #2d2d44;
max-width: 720px;
margin: 0
}

.abtus .strybox {
background: #edf5ff52;
padding: 64px 32px;
position: relative
}

.abtus .strybox::before {
content: '';
position: absolute;
top: 0;
left: 16px;
right: 16px;
height: 1px;
background: repeating-linear-gradient(to right, #39D1CA 0px, #39D1CA 3px, transparent 3px, transparent 8px);
opacity: .4
}

.abtus .strybox::after {
content: '';
position: absolute;
bottom: 0;
left: 16px;
right: 16px;
height: 1px;
background: repeating-linear-gradient(to right, #951557 0px, #951557 3px, transparent 3px, transparent 8px);
opacity: .4
}

.abtus .strycontainer {
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-start
}

.abtus .strymain {
flex: 3
}

.abtus .strydet {
flex: 1;
position: relative
}

.abtus .stryh {
font-size: 50px;
line-height: 1.15;
letter-spacing: .015em;
color: #1a1a2e;
margin: 0 0 32px;
font-weight: 300
}

.abtus .strypara {
font-size: 17px;
line-height: 1.6;
letter-spacing: .015em;
color: #3d3d5c;
margin: 0 0 16px;
text-indent: 32px
}

.abtus .strypara:first-of-type {
text-indent: 0
}

.abtus .stryimgwrap {
position: relative;
width: 100%;
aspect-ratio: 4 / 5;
overflow: hidden;
border-radius: 2px;
margin: 0 0 16px
}

.abtus .stryimgwrap::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 8px;
height: calc(100% - 16px);
background: #39D1CA;
z-index: 2
}

.abtus .stryimgwrap::after {
content: '';
position: absolute;
bottom: 0;
right: 0;
width: calc(100% - 16px);
height: 8px;
background: #951557;
z-index: 2
}

.abtus .stryimg {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1), filter .26s cubic-bezier(0.4, 0, 0.2, 1);
filter: sepia(0.12) saturate(0.88)
}

.abtus .stryimgwrap:hover .stryimg {
transform: scale(1.05);
filter: sepia(0) saturate(1)
}

.abtus .strymetrics {
display: flex;
flex-direction: column;
gap: 16px
}

.abtus .metricitem {
background: #fff;
padding: 16px;
border-radius: 2px;
box-shadow: 0 3px 4px -1px #39d1ca14 0 5px 20px -1px #39d1ca1c;
position: relative;
overflow: hidden
}

.abtus .metricitem::before {
content: '';
position: absolute;
top: 8px;
left: 8px;
right: 8px;
bottom: 8px;
border: 1px solid #39D1CA;
border-radius: 2px;
pointer-events: none
}

.abtus .metricitem.pulsing::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 8px;
height: 8px;
background: #951557;
border-radius: 50%;
transform: translate(-50%, -50%);
animation: pulseglow 2.4s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

@keyframes pulseglow {

0%,
100% {
opacity: .3;
transform: translate(-50%, -50%) scale(1)
}

50% {
opacity: .8;
transform: translate(-50%, -50%) scale(1.4)
}
}

.abtus .metricval {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
color: #951557;
margin: 0 0 8px;
font-weight: 600;
display: flex;
align-items: center;
gap: 16px
}

.abtus .metricarrow {
display: inline-block;
width: 32px;
height: 2px;
background: #39D1CA;
position: relative
}

.abtus .metricarrow::after {
content: '';
position: absolute;
right: -8px;
top: 50%;
width: 12px;
height: 12px;
border-right: 2px solid #39D1CA;
border-top: 2px solid #39D1CA;
transform: translateY(-50%) rotate(45deg)
}

.abtus .metriclbl {
font-size: 15px;
line-height: 1.4;
letter-spacing: .015em;
color: #5d5d7a;
margin: 0
}

.abtus .tmbox {
background: #fff;
padding: 64px 32px;
position: relative
}

.abtus .tmgrid {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 64px;
align-items: start
}

.abtus .tmleft {
display: flex;
flex-direction: column;
gap: 32px
}

.abtus .tmh {
font-size: 50px;
line-height: 1.15;
letter-spacing: .015em;
color: #1a1a2e;
margin: 0 0 16px;
font-weight: 300
}

.abtus .tmlist {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 0
}

.abtus .tmlistitem {
padding: 16px 0;
border-bottom: 1px solid #39d1ca33;
display: flex;
align-items: center;
gap: 16px;
position: relative
}

.abtus .tmlistitem::before {
content: '';
width: 6px;
height: 6px;
background: #951557;
border-radius: 50%;
flex-shrink: 0
}

.abtus .tmlisttxt {
font-size: 17px;
line-height: 1.6;
letter-spacing: .015em;
color: #3d3d5c;
margin: 0
}

.abtus .tmright {
display: flex;
flex-direction: column;
gap: 32px
}

.abtus .tmimgstack {
display: flex;
flex-direction: column;
gap: 16px
}

.abtus .tmimgwrap {
position: relative;
width: 100%;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 5px 20px -1px #9515571c 0 8px 36px -1px #95155721
}

.abtus .tmimgwrap.tall {
aspect-ratio: 3 / 4
}

.abtus .tmimgwrap.wide {
aspect-ratio: 16 / 9
}

.abtus .tmimgwrap::before {
content: '';
position: absolute;
top: 12px;
left: 12px;
right: 12px;
bottom: 12px;
border: 2px solid #39d1ca66;
border-top: none;
border-left: none;
border-radius: 12px;
pointer-events: none;
z-index: 2
}

.abtus .tmimg {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), filter .22s cubic-bezier(0.0, 0, 0.2, 1);
filter: sepia(0.08) saturate(0.92)
}

.abtus .tmimgwrap:hover .tmimg {
transform: scale(1.08);
filter: sepia(0) saturate(1)
}

.abtus .tmquote {
background: linear-gradient(353deg, #edf5ff99 0%, #fff6 48%, #fff0 100%);
padding: 32px;
border-radius: 12px;
position: relative;
border: 1px solid #9515571f
}

.abtus .tmquote::before {
content: '';
position: absolute;
top: 16px;
left: 16px;
width: 32px;
height: 32px;
background: #39D1CA;
opacity: .15;
border-radius: 50%
}

.abtus .tmquotetxt {
font-size: 17px;
line-height: 1.6;
letter-spacing: .015em;
color: #2d2d44;
margin: 0 0 16px;
font-style: italic
}

.abtus .tmquoteauth {
font-size: 15px;
line-height: 1.4;
letter-spacing: .015em;
color: #951557;
margin: 0;
font-weight: 600
}

@media (max-width: 768px) {
.abtus .ttlwrap {
padding: 96px 16px 48px
}

.abtus .ttlh {
font-size: 50px
}

.abtus .ttldesc {
font-size: 17px
}

.abtus .strybox {
padding: 48px 16px
}

.abtus .strycontainer {
flex-direction: column;
gap: 32px
}

.abtus .stryh {
font-size: 26px
}

.abtus .strypara {
font-size: 15px
}

.abtus .metricval {
font-size: 26px
}

.abtus .tmbox {
padding: 48px 16px
}

.abtus .tmgrid {
grid-template-columns: 1fr;
gap: 32px
}

.abtus .tmh {
font-size: 26px
}

.abtus .tmlisttxt {
font-size: 15px
}

.abtus .tmquotetxt {
font-size: 15px
}
}

.successConfirm {
max-width: 1320px;
margin: 0 auto;
padding: 64px 16px
}

.successConfirm .confirmWrap {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: 64px 32px;
background: linear-gradient(353deg, #EDF5FF 8%, #fff 42%);
border-radius: 12px;
box-shadow: 0 5px 20px -1px #39d1ca1c
}

.successConfirm .iconCircle {
width: 84px;
height: 84px;
border-radius: 999px;
background: #39D1CA;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 32px;
box-shadow: 0 8px 36px -1px #39d1ca21
}

.successConfirm .iconCircle svg {
width: 42px;
height: 42px;
stroke: #fff;
stroke-width: 3;
fill: none;
stroke-linecap: round;
stroke-linejoin: round
}

.successConfirm .mainTitle {
font-size: 50px;
line-height: 1.15;
letter-spacing: .01em;
color: #951557;
margin: 0 0 16px;
font-weight: 600
}

.successConfirm .statusText {
font-size: 17px;
line-height: 1.6;
letter-spacing: .02em;
color: #2a2a2a;
margin: 0 0 32px;
max-width: 540px
}

.successConfirm .detailBox {
background: #fff;
border: 1px solid #39D1CA;
border-radius: 2px;
padding: 32px;
margin-bottom: 32px;
width: 100%;
max-width: 640px;
text-align: left
}

.successConfirm .detailBox .infoTitle {
font-size: 17px;
line-height: 1.4;
letter-spacing: .01em;
color: #951557;
margin: 0 0 16px;
font-weight: 600
}

.successConfirm .detailBox .infoPara {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #3a3a3a;
margin: 0
}

.successConfirm .detailBox .infoPara+.infoPara {
margin-top: 8px;
text-indent: 1.2em
}

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

.successConfirm .primaryBtn {
display: inline-block;
padding: 16px 32px;
background: #39D1CA;
color: #fff;
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
text-decoration: none;
border-radius: 12px;
font-weight: 500;
position: relative;
overflow: hidden;
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 3px 4px -1px #39d1ca14
}

.successConfirm .primaryBtn::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #951557;
transition: height .26s cubic-bezier(0.0, 0, 0.2, 1);
z-index: 0
}

.successConfirm .primaryBtn:hover::before {
height: 100%
}

.successConfirm .primaryBtn span {
position: relative;
z-index: 1
}

.successConfirm .primaryBtn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 36px -1px #39d1ca21
}

.successConfirm .secondaryBtn {
display: inline-block;
padding: 16px 32px;
background: transparent;
color: #951557;
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
text-decoration: none;
border: 1px solid #951557;
border-radius: 12px;
font-weight: 500;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.successConfirm .secondaryBtn:hover {
background: #951557;
color: #fff
}

@media (max-width: 768px) {
.successConfirm {
padding: 32px 16px
}

.successConfirm .confirmWrap {
padding: 32px 16px
}

.successConfirm .mainTitle {
font-size: 26px
}

.successConfirm .statusText {
font-size: 15px
}

.successConfirm .detailBox {
padding: 16px
}

.successConfirm .actionRow {
flex-direction: column;
width: 100%
}

.successConfirm .primaryBtn,
.successConfirm .secondaryBtn {
width: 100%;
text-align: center
}
}