body {
margin: 0;
padding: 0;
min-height: 100vh;
font-family: 'Rubik', sans-serif
}

.layout-plate {
box-sizing: border-box;
width: 100%;
max-width: 1280px;
margin: 0 auto;
padding: 0 48px
}

.site-header {
background: linear-gradient(160deg, #0F3A52 70%, #1a5070 100%);
position: relative
}

.header-top-bar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 24px 0 8px;
gap: 24px
}

.brand-pod {
display: flex;
align-items: center;
gap: 24px;
text-decoration: none
}

.logo-card {
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
width: 64px;
height: 64px;
background: #fff;
border-radius: 5px;
box-shadow: -1px 7px 14px -2px #0f3a5217 -1px 1px 2px -2px #0f3a5214;
flex-shrink: 0
}

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

.brand-name {
font-family: 'Rubik', sans-serif;
font-size: 42px;
font-weight: 700;
line-height: 1.1;
letter-spacing: .01em;
color: #fff;
margin: 0
}

.brand-name span {
display: block;
font-size: 14px;
font-weight: 400;
line-height: 1.4;
letter-spacing: .02em;
color: #FFF8E1;
margin-top: 8px
}

.header-contact-cell {
display: flex;
align-items: center;
gap: 8px;
flex-shrink: 0
}

.phone-link {
display: flex;
align-items: center;
gap: 8px;
text-decoration: none;
color: #FFF8E1;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
letter-spacing: .01em;
padding: 8px 24px;
border: 1.5px solid #fff8e159;
border-radius: 5px;
transition: border-color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .5s ease
}

.phone-link:hover {
border-color: #FFF8E1;
background: #fff8e114
}

.phone-link:focus {
outline: none;
position: relative
}

.phone-link:focus::before {
content: "Appeler";
position: absolute;
top: -22px;
left: 0;
font-size: 14px;
color: #FFF8E1;
background: #0F3A52;
padding: 0 8px;
border-radius: 5px;
white-space: nowrap
}

.phone-link i {
font-size: 18px
}

.header-divider {
width: 100%;
height: 1px;
background: #fff8e126;
margin: 8px 0 0
}

.primary-nav {
padding: 0
}

.primary-nav-deck {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0;
padding: 0;
margin: 0;
list-style: none
}

.primary-nav-deck li {
display: flex
}

.nav-link {
display: flex;
align-items: center;
text-decoration: none;
color: #ffffffd1;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
letter-spacing: .01em;
padding: 24px;
border-bottom: 2px solid transparent;
transition: color .5s ease, border-color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
white-space: nowrap;
min-height: 44px;
box-sizing: border-box
}

.nav-link:hover {
color: #FFF8E1;
border-bottom-color: #FF102C
}

.nav-link:focus {
outline: none;
position: relative;
color: #FFF8E1
}

.nav-link:focus::before {
content: "Aller à";
position: absolute;
top: 4px;
left: 8px;
font-size: 14px;
color: #FFF8E1;
background: #0f3a52e6;
padding: 0 8px;
border-radius: 5px;
white-space: nowrap
}

.nav-link.active {
color: #FFF8E1;
border-bottom-color: #FF102C;
font-weight: 700
}

.nav-link-accent {
color: #FFF8E1;
background: #ff102c2e;
border-radius: 5px 5px 0 0
}

.nav-link-accent:hover {
background: #ff102c47;
border-bottom-color: #FF102C
}

@media (max-width: 1024px) {
.layout-plate {
padding: 0 24px
}

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

.primary-nav-deck {
gap: 0
}

.nav-link {
padding: 24px 15px;
font-size: 14px
}
}

@media (max-width: 640px) {
.layout-plate {
padding: 0 24px
}

.header-top-bar {
flex-direction: column;
align-items: flex-start;
gap: 24px;
padding: 24px 0 8px
}

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

.header-contact-cell {
width: 100%
}

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

.primary-nav-deck {
flex-wrap: wrap
}

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

.site-footer {
background: #0F3A52
}

.footer-upper {
padding: 48px 0;
border-bottom: 1px solid #fff8e126
}

.footer-brand-row {
display: flex;
align-items: center;
gap: 24px;
margin-bottom: 48px
}

.footer-logo-card {
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
width: 60px;
height: 60px;
background: #fff;
border-radius: 5px;
box-shadow: -1px 7px 14px -2px #0f3a5224;
flex-shrink: 0
}

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

.footer-brand-label {
font-family: 'Rubik', sans-serif;
font-size: 18px;
font-weight: 700;
line-height: 1.4;
letter-spacing: .01em;
color: #fff
}

.footer-brand-label span {
display: block;
font-size: 14px;
font-weight: 400;
color: #fff8e1a6;
margin-top: 8px
}

.footer-columns-deck {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 48px
}

.footer-col-pod {
display: flex;
flex-direction: column;
gap: 8px
}

.footer-col-heading {
font-family: 'Rubik', sans-serif;
font-size: 14px;
font-weight: 700;
line-height: 1.4;
letter-spacing: .02em;
color: #FFF8E1;
text-transform: uppercase;
margin: 0 0 8px;
padding-bottom: 8px;
border-bottom: 1.5px solid #FF102C;
display: inline-block
}

.footer-address {
font-size: 14px;
line-height: 1.6;
letter-spacing: .01em;
color: #ffffffb8;
font-style: normal
}

.footer-contact-link {
display: flex;
align-items: center;
gap: 8px;
text-decoration: none;
color: #ffffffb8;
font-size: 14px;
line-height: 1.6;
letter-spacing: .01em;
transition: color .5s ease
}

.footer-contact-link:hover {
color: #FFF8E1
}

.footer-contact-link:focus {
outline: none;
position: relative;
color: #FFF8E1
}

.footer-contact-link:focus::before {
content: "Contacter";
position: absolute;
top: -20px;
left: 0;
font-size: 14px;
color: #FFF8E1;
background: #0f3a52e6;
padding: 0 8px;
border-radius: 5px;
white-space: nowrap
}

.footer-contact-link i {
font-size: 15px;
flex-shrink: 0
}

.footer-desc {
font-size: 14px;
line-height: 1.6;
letter-spacing: .01em;
color: #ffffffb8;
margin: 0
}

.footer-bottom {
padding: 24px 0
}

.footer-bottom-inner {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 24px
}

.footer-copy {
font-size: 14px;
line-height: 1.4;
letter-spacing: .01em;
color: #ffffff80
}

.footer-legal-nav {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 24px;
list-style: none;
padding: 0;
margin: 0
}

.footer-legal-nav li {
display: flex
}

.legal-link {
text-decoration: none;
color: #ffffff8c;
font-size: 14px;
line-height: 1.4;
letter-spacing: .01em;
transition: color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.legal-link:hover {
color: #FFF8E1
}

.legal-link:focus {
outline: none;
position: relative;
color: #FFF8E1
}

.legal-link:focus::before {
content: "Voir";
position: absolute;
top: -20px;
left: 0;
font-size: 14px;
color: #FFF8E1;
background: #0f3a52e6;
padding: 0 8px;
border-radius: 5px;
white-space: nowrap
}

@media (max-width: 1024px) {
.footer-columns-deck {
grid-template-columns: repeat(2, 1fr);
gap: 48px 24px
}
}

@media (max-width: 640px) {
.footer-columns-deck {
grid-template-columns: 1fr;
gap: 24px
}

.footer-bottom-inner {
flex-direction: column;
align-items: flex-start;
gap: 8px
}

.footer-brand-row {
margin-bottom: 24px
}
}

.cookie-notice {
display: none;
position: fixed;
bottom: 24px;
left: 0;
right: 0;
margin: 0 auto;
width: calc(100% - 48px);
max-width: 520px;
background: #fff;
border-radius: 5px;
box-shadow: -1px 12px 36px -2px #0f3a5224 -1px 7px 14px -2px #0f3a5217;
z-index: 2000;
padding: 24px;
box-sizing: border-box
}

.cookie-notice-title {
font-family: 'Rubik', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
letter-spacing: .01em;
color: #0F3A52;
margin: 0 0 8px
}

.cookie-notice-desc {
font-size: 14px;
line-height: 1.6;
letter-spacing: .01em;
color: #0F3A52;
margin: 0 0 24px
}

.cookie-notice-desc a {
color: #FF102C;
text-decoration: underline
}

.cookie-notice-desc a:hover {
text-decoration: none
}

.cookie-btn-row {
display: flex;
align-items: center;
gap: 24px;
flex-wrap: wrap
}

.cookie-accept {
font-family: 'Rubik', sans-serif;
font-size: 14px;
font-weight: 700;
line-height: 1.4;
letter-spacing: .01em;
color: #FF102C;
background: none;
border: none;
padding: 0;
cursor: pointer;
text-decoration: underline;
transition: color .5s ease
}

.cookie-accept:hover {
color: #0F3A52
}

.cookie-accept:focus {
outline: 2px solid #FF102C;
outline-offset: 2px;
border-radius: 5px
}

.cookie-decline {
font-family: 'Rubik', sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 1.4;
letter-spacing: .01em;
color: #0F3A52;
background: none;
border: none;
padding: 0;
cursor: pointer;
text-decoration: underline;
transition: color .5s ease
}

.cookie-decline:hover {
color: #FF102C
}

.cookie-decline:focus {
outline: 2px solid #0F3A52;
outline-offset: 2px;
border-radius: 5px
}

.policy-content {
max-width: 1280px;
margin: 0 auto;
padding: 96px 48px;
color: #0F3A52
}

.policy-content h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
color: #0F3A52;
margin-bottom: 48px;
margin-top: 0
}

.policy-content h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: .01em;
color: #0F3A52;
margin-top: 96px;
margin-bottom: 24px
}

.policy-content h3 {
font-size: 18px;
line-height: 1.4;
letter-spacing: .02em;
color: #0F3A52;
font-weight: 700;
margin-top: 48px;
margin-bottom: 24px
}

.policy-content h4 {
font-size: 18px;
line-height: 1.4;
letter-spacing: .02em;
color: #0F3A52;
font-weight: 600;
margin-top: 48px;
margin-bottom: 8px
}

.policy-content h5 {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #0F3A52;
font-weight: 700;
margin-top: 24px;
margin-bottom: 8px;
text-transform: uppercase
}

.policy-content h6 {
font-size: 14px;
line-height: 1.4;
letter-spacing: .02em;
color: #FF102C;
font-weight: 700;
margin-top: 24px;
margin-bottom: 8px;
text-transform: uppercase
}

.policy-content p {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #0F3A52;
margin-top: 0;
margin-bottom: 24px;
max-width: 72ch
}

.policy-content strong,
.policy-content b {
font-weight: 700;
color: #0F3A52
}

.policy-content em,
.policy-content i {
font-style: italic;
color: inherit
}

.policy-content hr {
border: none;
border-top: 1px solid #0f3a5224;
margin-top: 48px;
margin-bottom: 48px
}

.policy-content div {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em
}

.policy-content table {
width: 100%;
border-collapse: collapse;
margin-top: 24px;
margin-bottom: 48px;
font-size: 14px;
line-height: 1.6;
letter-spacing: .01em;
box-shadow: -1px 7px 14px -2px #0f3a5217;
border-radius: 5px;
overflow: hidden
}

.policy-content thead {
background-color: #0F3A52;
color: #fff
}

.policy-content thead th {
padding: 24px;
font-size: 14px;
font-weight: 700;
letter-spacing: .02em;
text-align: left;
color: #fff;
border: none
}

.policy-content tbody tr {
border-bottom: 1px solid #0f3a521a;
transition: background-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

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

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

.policy-content tbody tr:hover {
background-color: #fff8e1cc
}

.policy-content td {
padding: 24px;
font-size: 14px;
line-height: 1.6;
color: #0F3A52;
vertical-align: top;
border: none
}

.policy-content th {
padding: 24px;
font-size: 14px;
font-weight: 700;
letter-spacing: .02em;
text-align: left;
vertical-align: top;
border: none
}

@media (max-width: 1024px) {
.policy-content {
padding: 96px 24px
}

.policy-content h1 {
font-size: 42px
}

.policy-content h2 {
font-size: 42px;
margin-top: 48px
}

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

@media (max-width: 640px) {
.policy-content {
padding: 48px 24px
}

.policy-content h1 {
font-size: 42px;
margin-bottom: 24px
}

.policy-content h2 {
font-size: 42px;
margin-top: 48px
}

.policy-content h3 {
margin-top: 48px
}

.policy-content p {
max-width: 100%
}

.policy-content thead th,
.policy-content td {
padding: 8px 24px
}
}

.bys-pg {
overflow-x: hidden
}

.bys-pg .load-blur {
animation: blurIn .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

@keyframes blurIn {
from {
filter: blur(8px);
opacity: 0
}

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

.bys-pg ::selection {
background: #0F3A52;
color: #fff
}

.bys-pg a {
transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
display: inline-block
}

.bys-pg a:hover {
transform: rotate(-2deg);
color: #FF102C
}

.bys-pg .divider-cross {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
margin: 48px auto;
width: 100%
}

.bys-pg .divider-cross .line {
height: 1px;
width: 80px;
background: #0F3A52;
opacity: .18
}

.bys-pg .divider-cross .cross {
width: 10px;
height: 10px;
position: relative;
flex-shrink: 0
}

.bys-pg .divider-cross .cross::before,
.bys-pg .divider-cross .cross::after {
content: "";
position: absolute;
background: #0F3A52;
opacity: .35
}

.bys-pg .divider-cross .cross::before {
width: 10px;
height: 1px;
top: 50%;
left: 0;
transform: translateY(-50%)
}

.bys-pg .divider-cross .cross::after {
width: 1px;
height: 10px;
left: 50%;
top: 0;
transform: translateX(-50%)
}

.bys-pg .accent {
color: #FF102C
}

.bys-pg .dot-label {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 14px;
letter-spacing: .02em;
color: #0F3A52;
opacity: .7
}

.bys-pg .dot-label .dot {
width: 8px;
height: 8px;
border-radius: 38px;
background: #FF102C;
flex-shrink: 0
}

.bys-pg .title-blk {
max-width: 1280px;
margin: 0 auto;
padding: 48px 48px 96px;
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 48px;
align-items: center;
position: relative
}

.bys-pg .title-blk .bg-num {
position: absolute;
font-size: 280px;
font-weight: 900;
color: #0F3A52;
opacity: .04;
line-height: 1.1;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
pointer-events: none;
user-select: none;
white-space: nowrap;
letter-spacing: -.02em;
z-index: 0
}

.bys-pg .title-blk .img-left,
.bys-pg .title-blk .img-right {
border-radius: 5px;
overflow: hidden;
position: relative;
z-index: 1;
box-shadow: -1px 7px 14px -2px #0f3a5217
}

.bys-pg .title-blk .img-left img,
.bys-pg .title-blk .img-right img {
width: 100%;
height: 280px;
object-fit: cover;
display: block;
filter: saturate(0.6) brightness(0.9) hue-rotate(0deg);
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.bys-pg .title-blk .img-left:hover img,
.bys-pg .title-blk .img-right:hover img {
transform: scale(1.05)
}

.bys-pg .title-blk .img-right {
display: flex;
align-items: flex-end
}

.bys-pg .title-blk .title-mid {
text-align: center;
position: relative;
z-index: 1
}

.bys-pg .title-blk .title-mid .prob {
font-size: 15px;
line-height: 1.6;
color: #0F3A52;
opacity: .65;
letter-spacing: .01em;
margin-bottom: 24px
}

.bys-pg .title-blk .title-mid h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: -.01em;
color: #0F3A52;
margin-bottom: 24px
}

.bys-pg .title-blk .title-mid .sol {
font-size: 18px;
line-height: 1.6;
color: #0F3A52;
opacity: .8;
letter-spacing: .01em
}

.bys-pg .title-wrap {
position: relative;
background: #FFF8E1;
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), 98% 100%, 96% calc(100% - 16px), 94% 100%, 92% calc(100% - 16px), 90% 100%, 88% calc(100% - 16px), 86% 100%, 84% calc(100% - 16px), 82% 100%, 80% calc(100% - 16px), 78% 100%, 76% calc(100% - 16px), 74% 100%, 72% calc(100% - 16px), 70% 100%, 68% calc(100% - 16px), 66% 100%, 64% calc(100% - 16px), 62% 100%, 60% calc(100% - 16px), 58% 100%, 56% calc(100% - 16px), 54% 100%, 52% calc(100% - 16px), 50% 100%, 48% calc(100% - 16px), 46% 100%, 44% calc(100% - 16px), 42% 100%, 40% calc(100% - 16px), 38% 100%, 36% calc(100% - 16px), 34% 100%, 32% calc(100% - 16px), 30% 100%, 28% calc(100% - 16px), 26% 100%, 24% calc(100% - 16px), 22% 100%, 20% calc(100% - 16px), 18% 100%, 16% calc(100% - 16px), 14% 100%, 12% calc(100% - 16px), 10% 100%, 8% calc(100% - 16px), 6% 100%, 4% calc(100% - 16px), 2% 100%, 0 calc(100% - 24px))
}

.bys-pg .readiness-wrap {
background: #fff;
padding-top: 96px;
padding-bottom: 96px
}

.bys-pg .readiness {
max-width: 1280px;
margin: 0 auto;
padding: 0 48px;
display: grid;
grid-template-columns: 2fr 1fr;
gap: 48px;
align-items: start
}

.bys-pg .readiness .main-col h2 {
font-size: 42px;
line-height: 1.1;
color: #0F3A52;
letter-spacing: .01em;
margin-bottom: 8px;
text-decoration: underline;
text-decoration-color: #ff102c4d;
text-underline-offset: 6px
}

.bys-pg .readiness .main-col .lead {
font-size: 18px;
line-height: 1.6;
color: #0F3A52;
margin-bottom: 24px;
letter-spacing: .01em
}

.bys-pg .readiness .main-col .body-txt {
font-size: 15px;
line-height: 1.6;
color: #0F3A52;
opacity: .8;
letter-spacing: .01em;
margin-bottom: 24px
}

.bys-pg .readiness .main-col .body-txt:last-child {
margin-bottom: 0
}

.bys-pg .readiness .side-col {
position: sticky;
top: 48px
}

.bys-pg .readiness .side-col .note-card {
background: linear-gradient(247deg, #0F3A52, #FF102C);
border-radius: 5px;
padding: 24px;
color: #fff;
box-shadow: -1px 12px 36px -2px #ff102c24;
margin-bottom: 24px
}

.bys-pg .readiness .side-col .note-card h5 {
font-size: 14px;
line-height: 1.4;
letter-spacing: .02em;
text-transform: uppercase;
opacity: .75;
margin-bottom: 8px
}

.bys-pg .readiness .side-col .note-card p {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em
}

.bys-pg .readiness .side-col .checklist {
background: #FFF8E1;
border-radius: 5px;
padding: 24px;
box-shadow: -1px 1px 2px -2px #0f3a5214
}

.bys-pg .readiness .side-col .checklist h5 {
font-size: 14px;
line-height: 1.4;
color: #0F3A52;
letter-spacing: .02em;
text-transform: uppercase;
opacity: .65;
margin-bottom: 24px
}

.bys-pg .readiness .side-col .checklist .chk-item {
display: flex;
align-items: flex-start;
gap: 8px;
margin-bottom: 8px;
font-size: 14px;
line-height: 1.6;
color: #0F3A52;
letter-spacing: .01em
}

.bys-pg .readiness .side-col .checklist .chk-item:last-child {
margin-bottom: 0
}

.bys-pg .readiness .side-col .checklist .chk-icon {
width: 16px;
height: 16px;
flex-shrink: 0;
margin-top: 3px
}

.bys-pg .steps-row {
margin-top: 48px;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.bys-pg .steps-row .step-card {
background: #fff;
border: 1px solid #0f3a521a;
border-radius: 5px;
padding: 24px;
position: relative;
transition: box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .5s ease;
overflow: hidden
}

.bys-pg .steps-row .step-card::after {
content: "";
position: absolute;
inset: 4px;
border-radius: 5px;
border: 1px solid transparent;
transition: border-color .7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
pointer-events: none
}

.bys-pg .steps-row .step-card:hover {
box-shadow: -1px 7px 14px -2px #0f3a5217;
border-color: #ff102c33
}

.bys-pg .steps-row .step-card:hover::after {
border-color: #ff102c26
}

.bys-pg .steps-row .step-card .snum {
font-size: 42px;
line-height: 1.1;
color: #0F3A52;
opacity: .07;
font-weight: 900;
letter-spacing: -.02em;
margin-bottom: 8px
}

.bys-pg .steps-row .step-card h4 {
font-size: 15px;
line-height: 1.4;
color: #0F3A52;
letter-spacing: .01em;
margin-bottom: 8px;
text-decoration: underline;
text-decoration-color: #ff102c40;
text-underline-offset: 4px
}

.bys-pg .steps-row .step-card p {
font-size: 14px;
line-height: 1.6;
color: #0F3A52;
opacity: .7;
letter-spacing: .01em
}

.bys-pg .steps-row .step-card .dot-label {
margin-bottom: 8px
}

.bys-pg .steps-row:hover .step-card h4 {
text-decoration-color: #ff102c80
}

.bys-pg .link-btn {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
letter-spacing: .02em;
color: #0F3A52;
text-decoration: none;
padding: 8px 0;
border-bottom: 1px solid #0f3a5240;
margin-top: 24px;
transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .6s ease;
position: relative
}

.bys-pg .link-btn::after {
content: "";
position: absolute;
bottom: -3px;
left: 0;
width: 0;
height: 1px;
background: #FF102C;
transition: width .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.bys-pg .link-btn:hover {
color: #FF102C;
border-color: transparent;
transform: none
}

.bys-pg .link-btn:hover::after {
width: 100%
}

@media (max-width: 1024px) {
.bys-pg .title-blk {
grid-template-columns: 1fr 2fr;
padding: 48px 24px 96px
}

.bys-pg .title-blk .img-right {
display: none
}

.bys-pg .readiness {
grid-template-columns: 1fr;
padding: 0 24px
}

.bys-pg .readiness .side-col {
position: static;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.bys-pg .readiness .side-col .note-card,
.bys-pg .readiness .side-col .checklist {
margin-bottom: 0
}

.bys-pg .steps-row {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 640px) {
.bys-pg .title-blk {
grid-template-columns: 1fr;
padding: 48px 24px 96px
}

.bys-pg .title-blk .img-left {
display: none
}

.bys-pg .title-blk .title-mid h1 {
font-size: 42px
}

.bys-pg .readiness-wrap {
padding-top: 48px;
padding-bottom: 48px
}

.bys-pg .readiness .side-col {
grid-template-columns: 1fr
}

.bys-pg .steps-row {
grid-template-columns: 1fr
}

.bys-pg .title-blk .bg-num {
font-size: 140px
}
}

.abt-us {
overflow-x: hidden
}

.abt-us .pg-title {
position: relative;
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 520px
}

.abt-us .pg-title::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(247deg, #FF102C 0%, #0F3A52 100%);
z-index: 0
}

.abt-us .title-left {
position: relative;
z-index: 1;
padding: 96px 48px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px
}

.abt-us .title-right {
position: relative;
z-index: 1;
overflow: hidden
}

.abt-us .title-right img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
mix-blend-mode: luminosity;
filter: contrast(1.1) brightness(0.85) sepia(0.3);
opacity: .7;
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

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

.abt-us .title-right::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(247deg, #ff102c73 0%, #0f3a5299 100%);
pointer-events: none
}

.abt-us .deco-shape {
position: absolute;
width: 180px;
height: 180px;
border: 2px solid #ffffff1f;
border-radius: 5px;
top: 48px;
left: -24px;
transform: rotate(18deg);
pointer-events: none
}

.abt-us .deco-shape2 {
position: absolute;
width: 90px;
height: 90px;
border: 2px solid #ffffff14;
border-radius: 5px;
bottom: 48px;
right: 24px;
transform: rotate(-12deg);
pointer-events: none
}

.abt-us .title-eyebrow {
font-size: 14px;
letter-spacing: .02em;
color: #ffffffa6;
line-height: 1.4;
text-transform: uppercase
}

.abt-us .title-h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
color: #fff;
margin: 0
}

.abt-us .title-h1 .accent-word {
background: linear-gradient(247deg, #FFF8E1 0%, #FF102C 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.abt-us .title-sub {
font-size: 18px;
line-height: 1.6;
letter-spacing: .01em;
color: #fffc;
max-width: 420px;
margin: 0
}

.abt-us .title-link {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
color: #FFF8E1;
text-decoration: none;
letter-spacing: .01em;
border: 1px solid #fff8e166;
border-radius: 5px;
padding: 8px 24px;
align-self: flex-start;
position: relative;
transition: color .5s ease, border-color .6s ease
}

.abt-us .title-link::before {
content: '';
position: absolute;
inset: 3px;
border: 1px solid #fff8e100;
border-radius: 5px;
transition: border-color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt-us .title-link:hover::before {
border-color: #fff8e180
}

.abt-us .title-link:hover {
border-color: #fff8e1cc;
color: #fff
}

.abt-us .about-grid {
max-width: 1280px;
margin: 0 auto;
padding: 96px 48px;
display: grid;
grid-template-columns: 1fr 320px;
gap: 48px;
align-items: start
}

.abt-us .about-main-col {
display: flex;
flex-direction: column;
gap: 24px
}

.abt-us .about-h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: .01em;
color: #0F3A52;
margin: 0;
padding-bottom: 8px;
border-bottom: 2px solid #FF102C;
display: inline-block
}

.abt-us .about-lead {
font-size: 18px;
line-height: 1.6;
letter-spacing: .01em;
color: #0F3A52;
margin: 0
}

.abt-us .about-body {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #2a4a5e;
margin: 0
}

.abt-us .about-body .accent-inline {
color: #FF102C;
font-weight: 600
}

.abt-us .about-aside {
background: #FFF8E1;
border-radius: 5px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 24px;
box-shadow: -1px 7px 14px -2px #0f3a5217;
position: sticky;
top: 24px
}

.abt-us .aside-label {
font-size: 14px;
letter-spacing: .02em;
color: #0F3A52;
text-transform: uppercase;
line-height: 1.4;
opacity: .65
}

.abt-us .aside-note {
font-size: 15px;
line-height: 1.6;
color: #0F3A52;
margin: 0
}

.abt-us .aside-divider {
height: 1px;
background: #0f3a5226
}

.abt-us .aside-stat {
display: flex;
flex-direction: column;
gap: 8px
}

.abt-us .aside-stat-num {
font-size: 42px;
line-height: 1.1;
color: #FF102C;
letter-spacing: .01em;
font-weight: 700
}

.abt-us .aside-stat-desc {
font-size: 14px;
line-height: 1.4;
color: #0F3A52;
letter-spacing: .01em
}

.abt-us .wave-div {
width: 100%;
overflow: hidden;
line-height: 0
}

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

.abt-us .checklist-strip {
background: #FFF8E1;
position: relative;
overflow: hidden;
padding: 96px 0
}

.abt-us .checklist-bg-pattern {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.abt-us .checklist-bg-pattern svg {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
opacity: .05;
width: 700px;
height: 700px
}

.abt-us .checklist-inner {
max-width: 1280px;
margin: 0 auto;
padding: 0 48px;
position: relative;
z-index: 1
}

.abt-us .checklist-h3 {
font-size: 42px;
line-height: 1.1;
color: #0F3A52;
margin: 0 0 48px;
letter-spacing: .01em;
padding-bottom: 8px;
border-bottom: 2px solid #0F3A52;
display: inline-block
}

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

.abt-us .check-card {
background: #fff;
border-radius: 5px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px;
box-shadow: -1px 1px 2px -2px #ff102c14 -1px 7px 14px -2px #ff102c17;
animation: card-wave-in .7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.abt-us .check-card:nth-child(1) {
animation-delay: .05s
}

.abt-us .check-card:nth-child(2) {
animation-delay: .15s
}

.abt-us .check-card:nth-child(3) {
animation-delay: .25s
}

.abt-us .check-card:nth-child(4) {
animation-delay: .35s
}

.abt-us .check-card:nth-child(5) {
animation-delay: .45s
}

.abt-us .check-card:nth-child(6) {
animation-delay: .55s
}

@keyframes card-wave-in {
from {
opacity: 0;
transform: translateY(24px)
}

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

.abt-us .check-icon {
width: 32px;
height: 32px;
flex-shrink: 0;
animation: icon-float 3.2s ease-in-out infinite
}

.abt-us .check-card:nth-child(2) .check-icon {
animation-delay: .4s
}

.abt-us .check-card:nth-child(3) .check-icon {
animation-delay: .8s
}

.abt-us .check-card:nth-child(4) .check-icon {
animation-delay: 1.2s
}

.abt-us .check-card:nth-child(5) .check-icon {
animation-delay: 1.6s
}

.abt-us .check-card:nth-child(6) .check-icon {
animation-delay: 2s
}

@keyframes icon-float {

0%,
100% {
transform: translateY(0px)
}

50% {
transform: translateY(-5px)
}
}

.abt-us .check-card-title {
font-size: 15px;
font-weight: 600;
line-height: 1.4;
color: #0F3A52;
letter-spacing: .01em;
margin: 0
}

.abt-us .check-card-text {
font-size: 14px;
line-height: 1.6;
color: #2a4a5e;
margin: 0;
letter-spacing: .01em
}

.abt-us .wave-div2 {
width: 100%;
overflow: hidden;
line-height: 0;
transform: rotate(180deg)
}

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

.abt-us .two-col-strip {
max-width: 1280px;
margin: 0 auto;
padding: 96px 48px;
display: grid;
grid-template-columns: 1fr 3px 1fr;
gap: 48px;
align-items: center
}

.abt-us .col-accent-div {
background: linear-gradient(247deg, #FF102C 0%, #0F3A52 100%);
border-radius: 38px;
align-self: stretch
}

.abt-us .two-col-left {
display: flex;
flex-direction: column;
gap: 24px
}

.abt-us .two-col-right {
display: flex;
flex-direction: column;
gap: 24px
}

.abt-us .col-h3 {
font-size: 42px;
line-height: 1.1;
color: #0F3A52;
margin: 0;
letter-spacing: .01em;
padding-bottom: 8px;
border-bottom: 2px solid #FF102C;
display: inline-block
}

.abt-us .col-text {
font-size: 15px;
line-height: 1.6;
color: #2a4a5e;
margin: 0;
letter-spacing: .01em
}

.abt-us .col-img-wrap {
border-radius: 5px;
overflow: hidden;
box-shadow: -1px 12px 36px -2px #0f3a5224
}

.abt-us .col-img-wrap img {
width: 100%;
height: 280px;
object-fit: cover;
display: block;
transition: transform .8s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

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

.abt-us .col-link {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
color: #0F3A52;
text-decoration: none;
letter-spacing: .01em;
border: 1px solid #0f3a5259;
border-radius: 5px;
padding: 8px 24px;
align-self: flex-start;
position: relative;
transition: color .5s ease, border-color .6s ease
}

.abt-us .col-link::before {
content: '';
position: absolute;
inset: 3px;
border: 1px solid #0f3a5200;
border-radius: 5px;
transition: border-color .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt-us .col-link:hover::before {
border-color: #0f3a5266
}

.abt-us .col-link:hover {
border-color: #0F3A52;
color: #FF102C
}

.abt-us .col-link:focus-visible {
outline: 2px solid #FF102C;
outline-offset: 3px
}

.abt-us .math-symbol {
position: absolute;
font-size: 280px;
line-height: 1;
color: #0f3a520a;
pointer-events: none;
right: 48px;
top: 50%;
transform: translateY(-50%);
letter-spacing: -.02em;
user-select: none
}

.abt-us .team-strip {
background: #0F3A52;
padding: 96px 0;
position: relative
}

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

.abt-us .team-h2 {
font-size: 42px;
line-height: 1.1;
color: #fff;
margin: 0 0 48px;
letter-spacing: .01em;
padding-bottom: 8px;
border-bottom: 2px solid #FF102C;
display: inline-block
}

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

.abt-us .team-card {
background: #ffffff0f;
border: 1px solid #ffffff1a;
border-radius: 5px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px;
box-shadow: -1px 7px 14px -2px #ff102c17;
transition: background .6s ease, border-color .5s ease
}

.abt-us .team-card:hover {
background: #ffffff1a;
border-color: #fff3
}

.abt-us .team-img-wrap {
border-radius: 5px;
overflow: hidden;
margin-bottom: 8px
}

.abt-us .team-img-wrap img {
width: 100%;
height: 200px;
object-fit: cover;
display: block;
filter: grayscale(0.3);
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter .6s ease
}

.abt-us .team-card:hover .team-img-wrap img {
transform: scale(1.04);
filter: grayscale(0)
}

.abt-us .team-name {
font-size: 18px;
line-height: 1.4;
color: #FFF8E1;
letter-spacing: .01em;
margin: 0
}

.abt-us .team-role {
font-size: 14px;
line-height: 1.4;
color: #fff8e199;
letter-spacing: .02em;
text-transform: uppercase;
margin: 0
}

.abt-us .team-quote {
font-size: 15px;
line-height: 1.6;
color: #ffffffbf;
margin: 8px 0 0;
letter-spacing: .01em
}

.abt-us .team-icon-row {
display: flex;
flex-direction: row;
gap: 8px;
margin-top: 8px
}

.abt-us .team-icon-row i {
font-size: 18px;
color: #FF102C;
animation: icon-float 3.5s ease-in-out infinite
}

.abt-us .team-icon-row i:nth-child(2) {
animation-delay: .5s
}

.abt-us .team-icon-row i:nth-child(3) {
animation-delay: 1s
}

.abt-us .contact-row {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 48px;
flex-wrap: wrap
}

.abt-us .contact-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 15px;
color: #ffffffbf;
letter-spacing: .01em;
text-decoration: none;
transition: color .5s ease
}

.abt-us .contact-item:hover {
color: #FFF8E1
}

.abt-us .contact-item i {
font-size: 18px;
color: #FF102C
}

@media (max-width: 1024px) {
.abt-us .pg-title {
grid-template-columns: 1fr
}

.abt-us .title-right {
height: 320px
}

.abt-us .about-grid {
grid-template-columns: 1fr;
padding: 48px 24px
}

.abt-us .about-aside {
position: static
}

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

.abt-us .checklist-inner {
padding: 0 24px
}

.abt-us .two-col-strip {
grid-template-columns: 1fr;
padding: 48px 24px
}

.abt-us .col-accent-div {
display: none
}

.abt-us .team-cards {
grid-template-columns: repeat(2, 1fr)
}

.abt-us .team-inner {
padding: 0 24px
}

.abt-us .math-symbol {
font-size: 160px;
right: 24px
}
}

@media (max-width: 640px) {
.abt-us .title-left {
padding: 48px 24px
}

.abt-us .title-h1 {
font-size: 42px
}

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

.abt-us .checklist-strip {
padding: 48px 0
}

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

.abt-us .team-strip {
padding: 48px 0
}

.abt-us .contact-row {
flex-direction: column;
gap: 8px
}

.abt-us .math-symbol {
display: none
}
}

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

.lp-prog .lp-inner {
max-width: 1280px;
margin: 0 auto;
padding: 0 48px
}

@media (max-width: 640px) {
.lp-prog .lp-inner {
padding: 0 24px
}
}

.lp-prog a {
color: #0F3A52;
text-decoration: underline;
display: inline-block;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lp-prog a:hover {
transform: rotate(-2deg)
}

.lp-prog .accent {
color: #FF102C
}

.lp-prog .lp-num-accent {
font-size: 56px;
line-height: 1.1;
font-weight: 700;
color: #0F3A52;
letter-spacing: .01em
}

.lp-prog .lp-num-label {
font-size: 14px;
line-height: 1.4;
color: #5a7a8a;
letter-spacing: .02em;
margin-top: 8px
}

.lp-prog .prog-lead {
padding: 96px 0 48px;
position: relative
}

.lp-prog .prog-lead-grid {
display: grid;
grid-template-columns: 1fr 1.2fr;
gap: 48px;
align-items: center
}

@media (max-width: 1024px) {
.lp-prog .prog-lead-grid {
grid-template-columns: 1fr 1fr;
gap: 24px
}
}

@media (max-width: 640px) {
.lp-prog .prog-lead-grid {
grid-template-columns: 1fr;
gap: 24px
}
}

.lp-prog .prog-lead-text {
order: 1;
position: relative
}

.lp-prog .prog-lead-deco {
position: absolute;
top: -24px;
left: -24px;
width: 120px;
height: 120px;
background: linear-gradient(247deg, #0F3A52, #FF102C);
clip-path: polygon(20% 0%, 80% 5%, 100% 30%, 95% 75%, 70% 100%, 15% 95%, 0% 60%, 5% 20%);
opacity: .08;
pointer-events: none;
z-index: 0
}

.lp-prog .prog-lead-text-body {
position: relative;
z-index: 1
}

.lp-prog .prog-eyebrow {
font-size: 14px;
line-height: 1.4;
letter-spacing: .02em;
color: #FF102C;
margin-bottom: 24px;
text-transform: uppercase
}

.lp-prog .prog-h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
color: #0F3A52;
margin-bottom: 24px
}

@media (max-width: 1024px) {
.lp-prog .prog-h1 {
font-size: 42px
}
}

@media (max-width: 640px) {
.lp-prog .prog-h1 {
font-size: 42px
}
}

.lp-prog .prog-lead-para {
font-size: 18px;
line-height: 1.6;
letter-spacing: .01em;
color: #2a4a5a;
margin-bottom: 24px
}

.lp-prog .prog-lead-thesis {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #3a5a6a;
margin-bottom: 8px
}

.lp-prog .prog-metrics {
display: flex;
flex-direction: row;
gap: 48px;
margin-top: 48px;
padding-top: 24px;
border-top: 1px solid #e8eef2
}

@media (max-width: 640px) {
.lp-prog .prog-metrics {
gap: 24px
}
}

.lp-prog .prog-lead-img {
order: 2;
position: relative;
border-radius: 38px;
overflow: hidden;
box-shadow: -1px 7px 14px -2px #0f3a5217 -1px 12px 36px -2px #0f3a5224
}

.lp-prog .prog-lead-img img {
width: 100%;
height: 480px;
object-fit: cover;
display: block;
filter: sepia(18%) saturate(1.15) brightness(1.04);
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lp-prog .prog-lead-img:hover img {
transform: scale(1.04)
}

@media (max-width: 640px) {
.lp-prog .prog-lead-img {
order: -1
}

.lp-prog .prog-lead-img img {
height: 280px
}
}

.lp-prog .div-blur {
height: 64px;
background: linear-gradient(180deg, #fff 0%, #f0f5f8 50%, #fff 100%);
filter: blur(2px);
margin: 0
}

.lp-prog .prog-detail {
padding: 96px 0;
background: #FFF8E1;
position: relative
}

.lp-prog .prog-detail-wrap {
max-width: 1280px;
margin: 0 auto;
padding: 0 48px
}

@media (max-width: 640px) {
.lp-prog .prog-detail-wrap {
padding: 0 24px
}
}

.lp-prog .prog-detail-top {
display: grid;
grid-template-columns: 1fr 320px;
gap: 48px;
margin-bottom: 96px;
align-items: start
}

@media (max-width: 1024px) {
.lp-prog .prog-detail-top {
grid-template-columns: 1fr;
gap: 24px;
margin-bottom: 48px
}
}

.lp-prog .prog-detail-h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: .01em;
color: #0F3A52;
margin-bottom: 24px;
text-decoration: underline;
text-decoration-color: #FF102C;
text-decoration-thickness: 2px;
text-underline-offset: 6px
}

.lp-prog .prog-detail-lead {
font-size: 18px;
line-height: 1.6;
color: #2a4a5a;
margin-bottom: 8px
}

.lp-prog .prog-detail-sub {
font-size: 15px;
line-height: 1.6;
color: #3a5a6a
}

.lp-prog .prog-aside {
background: #fff;
border-radius: 38px;
padding: 24px;
box-shadow: -1px 1px 2px -2px #ff102c14 -1px 7px 14px -2px #ff102c17
}

.lp-prog .prog-aside-label {
font-size: 14px;
letter-spacing: .02em;
color: #FF102C;
text-transform: uppercase;
margin-bottom: 8px
}

.lp-prog .prog-aside-val {
font-size: 15px;
line-height: 1.6;
color: #0F3A52;
margin-bottom: 24px
}

.lp-prog .prog-aside-val:last-child {
margin-bottom: 0
}

.lp-prog .prog-rows {
display: flex;
flex-direction: column;
gap: 48px
}

.lp-prog .prog-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
background: #fff;
border-radius: 38px;
padding: 48px;
box-shadow: -1px 1px 2px -2px #0f3a5214 -1px 7px 14px -2px #0f3a5217;
transition: box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lp-prog .prog-row:hover {
box-shadow: -1px 1px 2px -2px #0f3a5214 -1px 7px 14px -2px #0f3a5217 -1px 12px 36px -2px #0f3a5224
}

.lp-prog .prog-row.rev .prog-row-visual {
order: -1
}

@media (max-width: 1024px) {
.lp-prog .prog-row {
grid-template-columns: 1fr;
gap: 24px;
padding: 24px
}

.lp-prog .prog-row.rev .prog-row-visual {
order: 0
}
}

.lp-prog .prog-row-num {
font-size: 56px;
line-height: 1.1;
font-weight: 700;
color: #FF102C;
opacity: .15;
letter-spacing: .01em;
margin-bottom: 8px
}

.lp-prog .prog-row-h {
font-size: 18px;
line-height: 1.4;
color: #0F3A52;
font-weight: 600;
letter-spacing: .01em;
margin-bottom: 8px;
text-decoration: underline;
text-decoration-color: #0F3A52;
text-decoration-thickness: 1px;
text-underline-offset: 4px
}

.lp-prog .prog-row-p {
font-size: 15px;
line-height: 1.6;
color: #3a5a6a
}

.lp-prog .prog-row-note {
font-size: 14px;
line-height: 1.4;
color: #7a9aaa;
margin-top: 8px
}

.lp-prog .prog-row-visual {
border-radius: 5px;
background: linear-gradient(247deg, #0F3A52, #FF102C);
min-height: 180px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 8px;
padding: 24px;
position: relative;
overflow: hidden;
transition: background .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lp-prog .prog-row-visual:hover {
backdrop-filter: blur(8px) brightness(1.1)
}

.lp-prog .prog-row-visual-icon {
color: #ffffffe6;
font-size: 42px;
line-height: 1
}

.lp-prog .prog-row-visual-caption {
font-size: 14px;
color: #ffffffbf;
letter-spacing: .02em;
text-align: center
}

.lp-prog .prog-row-visual-img {
width: 100%;
height: 220px;
object-fit: cover;
border-radius: 5px;
display: block;
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lp-prog .prog-row:hover .prog-row-visual-img {
transform: scale(1.04)
}

.lp-prog .prog-img-wrap {
border-radius: 5px;
overflow: hidden;
width: 100%
}

.lp-prog .prog-aside:hover {
backdrop-filter: blur(6px);
background: #ffffffd9
}

.lp-prog .prog-faq {
margin-top: 96px
}

.lp-prog .prog-faq-h {
font-size: 42px;
line-height: 1.1;
color: #0F3A52;
letter-spacing: .01em;
margin-bottom: 48px;
text-decoration: underline;
text-decoration-color: #FF102C;
text-decoration-thickness: 2px;
text-underline-offset: 6px
}

.lp-prog .prog-faq-list {
display: flex;
flex-direction: column;
gap: 8px
}

.lp-prog .prog-faq-item {
border-radius: 5px;
background: #fff;
box-shadow: -1px 1px 2px -2px #0f3a5214
}

.lp-prog .prog-faq-item summary {
font-size: 15px;
line-height: 1.6;
color: #0F3A52;
font-weight: 600;
letter-spacing: .01em;
padding: 24px;
cursor: pointer;
list-style: none;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 24px;
transition: color .5s ease
}

.lp-prog .prog-faq-item summary:hover {
color: #FF102C
}

.lp-prog .prog-faq-item summary::-webkit-details-marker {
display: none
}

.lp-prog .prog-faq-chevron {
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lp-prog .prog-faq-item[open] .prog-faq-chevron {
transform: rotate(180deg)
}

.lp-prog .prog-faq-body {
font-size: 15px;
line-height: 1.6;
color: #3a5a6a;
padding: 0 24px 24px;
letter-spacing: .01em
}

.lp-prog .prog-cta-strip {
margin-top: 96px;
background: linear-gradient(247deg, #0F3A52, #FF102C);
border-radius: 38px;
padding: 48px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 24px;
box-shadow: -1px 12px 36px -2px #0f3a5224
}

@media (max-width: 640px) {
.lp-prog .prog-cta-strip {
flex-direction: column;
padding: 24px;
gap: 24px;
align-items: flex-start
}
}

.lp-prog .prog-cta-text {
font-size: 18px;
line-height: 1.4;
color: #fff;
letter-spacing: .01em;
max-width: 600px
}

.lp-prog .prog-btn {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 24px 48px;
background: #fff;
color: #0F3A52;
font-size: 15px;
font-weight: 600;
letter-spacing: .02em;
border-radius: 5px;
text-decoration: none;
border: 2px solid transparent;
flex-shrink: 0;
transition: border-color .5s ease, box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .5s ease;
box-shadow: -1px 1px 2px -2px #0f3a5214;
cursor: pointer
}

.lp-prog .prog-btn:hover {
border-color: #0F3A52;
outline: 2px solid #0f3a5240;
outline-offset: 3px;
transform: none
}

.lp-prog .prog-btn:active {
box-shadow: inset 0 2px 6px #0f3a522e
}

@keyframes lp-emerge {
from {
opacity: 0;
transform: translateY(18px)
}

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

.lp-prog .prog-lead-text-body {
animation: lp-emerge .8s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.lp-prog .prog-lead-img {
animation: lp-emerge .7s cubic-bezier(0.25, 0.46, 0.45, 0.94) .15s both
}

.lp-prog .prog-row {
animation: lp-emerge .7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

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

.ctus-pg a {
color: #0F3A52;
transition: color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus-pg a:hover {
color: #FF102C
}

.ctus-pg .lnk-inline {
display: inline;
text-decoration: underline !important
}

.ctus-pg .lnk-inline:hover {
transform: rotate(-2deg);
display: inline-block
}

.ctus-pg .pg-band {
width: 100%;
height: 6px;
background: linear-gradient(247deg, #FF102C, #0F3A52 70%, transparent)
}

.ctus-pg .reach-panel {
max-width: 1280px;
margin: 0 auto;
padding: 96px 48px 48px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
position: relative
}

.ctus-pg .reach-panel::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(247deg, #ff102c0a, #0f3a520f);
border-radius: 5px;
pointer-events: none
}

.ctus-pg .reach-left {
position: relative;
z-index: 1
}

.ctus-pg .reach-eyebrow {
font-size: 14px;
letter-spacing: .02em;
color: #FF102C;
line-height: 1.4;
margin-bottom: 24px;
text-transform: uppercase
}

.ctus-pg .reach-h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
color: #0F3A52;
margin-bottom: 24px
}

.ctus-pg .reach-h1 .accent {
color: #FF102C
}

.ctus-pg .reach-desc {
font-size: 18px;
line-height: 1.6;
color: #2a4a5e;
margin-bottom: 48px
}

.ctus-pg .reach-facts {
display: flex;
flex-direction: column;
gap: 24px
}

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

.ctus-pg .fact-icon {
width: 44px;
height: 44px;
min-width: 44px;
background: linear-gradient(247deg, #FF102C, #0F3A52);
border-radius: 5px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: -1px 7px 14px -2px #0f3a5217
}

.ctus-pg .fact-icon i {
color: #fff;
font-size: 18px
}

.ctus-pg .fact-text {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus-pg .fact-label {
font-size: 14px;
letter-spacing: .02em;
color: #FF102C;
line-height: 1.4
}

.ctus-pg .fact-val {
font-size: 15px;
line-height: 1.4;
color: #0F3A52
}

.ctus-pg .reach-right {
position: relative;
z-index: 1
}

.ctus-pg .img-frame {
position: relative;
border-radius: 5px;
overflow: hidden;
box-shadow: -1px 12px 36px -2px #0f3a5224
}

.ctus-pg .img-frame img {
width: 100%;
height: 420px;
object-fit: cover;
display: block;
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter .7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
filter: saturate(0.85) contrast(1.05)
}

.ctus-pg .img-frame:hover img {
transform: scale(1.04);
filter: saturate(1.1) contrast(1.0)
}

.ctus-pg .img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(247deg, #ff102c1f, #0f3a522e);
pointer-events: none
}

.ctus-pg .img-tag {
position: absolute;
bottom: 24px;
left: 24px;
background: #fff;
border-radius: 5px;
padding: 8px 24px;
font-size: 14px;
color: #0F3A52;
letter-spacing: .01em;
box-shadow: -1px 7px 14px -2px #0f3a5217
}

.ctus-pg .div-stripe {
height: 4px;
background: linear-gradient(247deg, transparent, #FFF8E1 40%, transparent);
margin: 0
}

.ctus-pg .form-zone {
background: #0F3A52;
position: relative;
overflow: hidden
}

.ctus-pg .form-zone::before {
content: "";
position: absolute;
top: -48px;
right: -48px;
width: 320px;
height: 320px;
border: 2px solid #fff8e114;
border-radius: 38px;
pointer-events: none
}

.ctus-pg .form-zone::after {
content: "";
position: absolute;
bottom: -24px;
left: 48px;
width: 180px;
height: 180px;
border: 1px solid #ff102c26;
border-radius: 38px;
pointer-events: none
}

.ctus-pg .form-inner {
max-width: 1280px;
margin: 0 auto;
padding: 96px 48px;
display: grid;
grid-template-columns: 5fr 7fr;
gap: 96px;
align-items: start;
position: relative;
z-index: 1
}

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

.ctus-pg .form-aside-label {
font-size: 14px;
color: #fff8e199;
letter-spacing: .02em;
line-height: 1.4;
text-transform: uppercase
}

.ctus-pg .form-aside-h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: .01em;
color: #FFF8E1;
text-decoration: underline;
text-decoration-color: #ff102c80;
text-underline-offset: 6px
}

.ctus-pg .form-aside-p {
font-size: 15px;
line-height: 1.6;
color: #fff8e1bf
}

.ctus-pg .form-aside-note {
font-size: 14px;
line-height: 1.4;
color: #fff8e180;
border-top: 1px solid #fff8e11a;
padding-top: 24px
}

.ctus-pg .contact-frm {
display: flex;
flex-direction: column;
gap: 24px
}

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

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

.ctus-pg .frm-field.full {
grid-column: 1 / -1
}

.ctus-pg .frm-label {
font-size: 14px;
color: #fff8e1b3;
letter-spacing: .02em;
line-height: 1.4
}

.ctus-pg .frm-input {
background: #fff8e10f;
border: 1px solid #fff8e12e;
border-radius: 5px;
padding: 8px 24px;
font-size: 15px;
color: #FFF8E1;
line-height: 1.6;
outline: none;
transition: border-color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .5s ease;
width: 100%;
box-sizing: border-box
}

.ctus-pg .frm-input::placeholder {
color: #fff8e14d
}

.ctus-pg .frm-input:focus {
border-color: #FF102C;
background: #fff8e11a
}

.ctus-pg .checks-group {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus-pg .checks-title {
font-size: 14px;
color: #fff8e1b3;
letter-spacing: .02em;
line-height: 1.4;
margin-bottom: 8px
}

.ctus-pg .chk-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
cursor: pointer
}

.ctus-pg .chk-item input[type="checkbox"] {
width: 18px;
height: 18px;
min-width: 18px;
accent-color: #FF102C;
cursor: pointer;
border-radius: 5px
}

.ctus-pg .chk-item input[type="checkbox"]:checked {
box-shadow: inset 0 1px 3px #ff102c4d
}

.ctus-pg .chk-label {
font-size: 15px;
color: #fff8e1cc;
line-height: 1.4;
cursor: pointer
}

.ctus-pg .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
padding-top: 8px;
border-top: 1px solid #fff8e11a
}

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

.ctus-pg .privacy-row input[type="checkbox"]:checked {
box-shadow: inset 0 1px 3px #ff102c4d
}

.ctus-pg .privacy-txt {
font-size: 14px;
color: #fff8e18c;
line-height: 1.6
}

.ctus-pg .privacy-txt a {
color: #fff8e1cc;
text-decoration: underline !important;
transition: color .5s ease
}

.ctus-pg .privacy-txt a:hover {
color: #FF102C
}

.ctus-pg .submit-btn {
align-self: flex-start;
background: transparent;
border: 2px solid #FF102C;
border-radius: 38px;
padding: 8px 48px;
font-size: 15px;
color: #FFF8E1;
letter-spacing: .02em;
cursor: pointer;
position: relative;
transition: color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
line-height: 1.6
}

.ctus-pg .submit-btn::before {
content: "";
position: absolute;
inset: 4px;
border: 1px solid #ff102c00;
border-radius: 38px;
transition: border-color .5s ease
}

.ctus-pg .submit-btn:hover {
background: #FF102C;
color: #fff
}

.ctus-pg .submit-btn:hover::before {
border-color: #ffffff4d
}

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

.ctus-pg .submit-btn:focus-visible {
outline: 2px solid #FFF8E1;
outline-offset: 4px
}

.ctus-pg .div-band {
height: 8px;
background: linear-gradient(247deg, #FF102C 0%, #0F3A52 60%, transparent 100%)
}

.ctus-pg .info-strip {
background: #FFF8E1;
position: relative
}

.ctus-pg .info-strip::before {
content: "";
position: absolute;
top: 0;
right: 0;
width: 45%;
height: 100%;
background: linear-gradient(247deg, #ff102c0d, #0f3a520a);
pointer-events: none
}

.ctus-pg .info-grid {
max-width: 1280px;
margin: 0 auto;
padding: 96px 48px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 48px;
position: relative;
z-index: 1
}

.ctus-pg .info-card {
background: #fff;
border-radius: 5px;
padding: 48px 24px;
box-shadow: -1px 1px 2px -2px #ff102c14 -1px 7px 14px -2px #0f3a5217;
display: flex;
flex-direction: column;
gap: 24px;
position: relative;
transition: box-shadow .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus-pg .info-card:hover {
box-shadow: -1px 12px 36px -2px #0f3a5224
}

.ctus-pg .info-card-ico {
width: 52px;
height: 52px;
background: linear-gradient(247deg, #FF102C, #0F3A52);
border-radius: 5px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: -1px 7px 14px -2px #0f3a5217
}

.ctus-pg .info-card-ico i {
color: #fff;
font-size: 22px
}

.ctus-pg .info-card-h {
font-size: 15px;
letter-spacing: .02em;
color: #FF102C;
line-height: 1.4;
text-decoration: underline;
text-underline-offset: 4px;
text-decoration-color: #ff102c4d
}

.ctus-pg .info-card-body {
font-size: 15px;
line-height: 1.6;
color: #0F3A52
}

.ctus-pg .info-card-aside {
font-size: 14px;
line-height: 1.4;
color: #0f3a528c
}

.ctus-pg .img-card {
grid-column: 2 / 4;
position: relative;
border-radius: 5px;
overflow: hidden;
min-height: 280px;
box-shadow: -1px 12px 36px -2px #0f3a5224
}

.ctus-pg .img-card img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .8s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus-pg .img-card:hover img {
transform: scale(1.05)
}

.ctus-pg .img-card-caption {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 24px;
background: linear-gradient(to top, #0f3a52d9, transparent);
font-size: 15px;
color: #FFF8E1;
line-height: 1.4
}

@media (max-width: 1024px) {
.ctus-pg .reach-panel {
grid-template-columns: 1fr;
padding: 48px 24px;
gap: 48px
}

.ctus-pg .reach-h1 {
font-size: 42px
}

.ctus-pg .form-inner {
grid-template-columns: 1fr;
padding: 48px 24px;
gap: 48px
}

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

.ctus-pg .img-card {
grid-column: 1 / -1
}
}

@media (max-width: 640px) {
.ctus-pg .reach-panel {
padding: 48px 24px 24px
}

.ctus-pg .reach-h1 {
font-size: 42px
}

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

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

.ctus-pg .img-card {
grid-column: 1
}

.ctus-pg .submit-btn {
width: 100%;
text-align: center
}
}

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

.frnt .pg-wrap {
max-width: 1280px;
margin: 0 auto;
padding: 0 24px
}

.frnt .accent {
color: #FF102C
}

.frnt a {
color: #0F3A52;
text-decoration: underline;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s ease;
display: inline-block
}

.frnt a:hover {
transform: rotate(-2deg);
color: #FF102C
}

.frnt ::selection {
background: #0F3A52;
color: #FFF8E1
}

.frnt img {
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.frnt .img-wrap {
overflow: hidden;
border-radius: 5px
}

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

.frnt .tb {
padding: 96px 0 48px;
background: #fff;
position: relative
}

.frnt .tb::before {
content: '';
position: absolute;
top: 24px;
left: 0;
right: 0;
bottom: 0;
background-image: repeating-linear-gradient(247deg, #0f3a520a 0px, #0f3a520a 1px, transparent 1px, transparent 28px), repeating-linear-gradient(157deg, #ff102c08 0px, #ff102c08 1px, transparent 1px, transparent 28px);
pointer-events: none
}

.frnt .tb-grid {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 48px
}

.frnt .tb-left {
flex: 0 0 58%;
max-width: 58%
}

.frnt .tb-right {
flex: 1;
position: relative
}

.frnt .tb-kicker {
font-size: 14px;
letter-spacing: .02em;
color: #FF102C;
text-transform: uppercase;
margin-bottom: 24px;
line-height: 1.4;
opacity: 0;
animation: fadeUp .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s forwards
}

.frnt .tb-h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
color: #0F3A52;
margin-bottom: 48px;
opacity: 0;
animation: fadeUp .7s cubic-bezier(0.25, 0.46, 0.45, 0.94) .25s forwards
}

.frnt .tb-pts {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 24px;
opacity: 0;
animation: fadeUp .8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .45s forwards
}

.frnt .tb-pts li {
font-size: 18px;
line-height: 1.6;
color: #0F3A52;
letter-spacing: .01em;
padding-left: 24px;
position: relative
}

.frnt .tb-pts li::before {
content: '';
position: absolute;
left: 0;
top: 12px;
width: 8px;
height: 2px;
background: #FF102C
}

.frnt .tb-img-frame {
position: relative;
border-radius: 5px;
overflow: hidden;
opacity: 0;
animation: fadeUp .9s cubic-bezier(0.25, 0.46, 0.45, 0.94) .6s forwards
}

.frnt .tb-img-frame img {
width: 100%;
height: 420px;
object-fit: cover;
display: block;
border-radius: 5px;
filter: saturate(0.85) contrast(1.05)
}

.frnt .tb-img-frame::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(247deg, #0f3a5259 0%, #ff102c1f 100%);
border-radius: 5px;
pointer-events: none
}

.frnt .tb-dot-pattern {
position: absolute;
bottom: -24px;
right: -8px;
width: 96px;
height: 96px;
background-image: radial-gradient(circle, #ff102c33 1.5px, transparent 1.5px);
background-size: 12px 12px;
pointer-events: none
}

.frnt .div-wave {
width: 100%;
line-height: 0;
overflow: hidden
}

.frnt .div-wave svg {
display: block;
width: 100%
}

.frnt .outcomes {
background: #FFF8E1;
padding: 96px 0
}

.frnt .outcomes-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start
}

.frnt .outcomes-img-col {
position: relative
}

.frnt .outcomes-img-col .img-wrap {
border-radius: 5px
}

.frnt .outcomes-img-col img {
width: 100%;
height: 380px;
object-fit: cover;
display: block
}

.frnt .outcomes-img-col::before {
content: '';
position: absolute;
top: -8px;
left: -8px;
right: 8px;
bottom: 8px;
border: 2px solid #ff102c33;
border-radius: 5px;
pointer-events: none;
z-index: 0
}

.frnt .outcomes-img-col .img-wrap {
position: relative;
z-index: 1
}

.frnt .outcomes-txt {
display: flex;
flex-direction: column;
gap: 24px
}

.frnt .outcomes-h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: .01em;
color: #0F3A52;
text-decoration: underline;
text-decoration-color: #ff102c59;
text-underline-offset: 6px
}

.frnt .outcomes-body {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start
}

.frnt .outcomes-body p {
font-size: 15px;
line-height: 1.6;
color: #0F3A52;
letter-spacing: .01em;
margin: 0;
flex: 1
}

.frnt .outcomes-aside {
flex: 0 0 140px;
font-size: 14px;
line-height: 1.4;
color: #0f3a5299;
letter-spacing: .02em;
padding-top: 4px
}

.frnt .outcomes-items {
display: flex;
flex-direction: column;
gap: 8px
}

.frnt .out-item {
background: #fff;
border-radius: 5px;
padding: 24px;
box-shadow: -1px 1px 2px -2px #0f3a5214 -1px 7px 14px -2px #0f3a5217;
transition: box-shadow .5s ease, transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.frnt .out-item:hover {
box-shadow: -1px 1px 2px -2px #0f3a5214 -1px 7px 14px -2px #0f3a5217 -1px 12px 36px -2px #0f3a5224;
transform: translateY(-2px)
}

.frnt .out-item h4 {
font-size: 15px;
line-height: 1.4;
color: #0F3A52;
letter-spacing: .01em;
margin: 0 0 8px
}

.frnt .out-item p {
font-size: 14px;
line-height: 1.6;
color: #0f3a52b3;
margin: 0;
letter-spacing: .01em
}

.frnt .div-wave2 {
width: 100%;
line-height: 0;
overflow: hidden
}

.frnt .mirror {
background: #0F3A52;
padding: 96px 0;
position: relative;
overflow: hidden
}

.frnt .mirror::before {
content: '';
position: absolute;
top: 48px;
right: 48px;
width: 220px;
height: 220px;
border: 1.5px solid #fff8e114;
border-radius: 38px;
animation: outlinePulse 4s ease-in-out infinite;
pointer-events: none
}

.frnt .mirror::after {
content: '';
position: absolute;
top: 72px;
right: 72px;
width: 176px;
height: 176px;
border: 1px solid #fff8e10d;
border-radius: 38px;
animation: outlinePulse 4s ease-in-out .8s infinite;
pointer-events: none
}

@keyframes outlinePulse {

0%,
100% {
opacity: .5
}

50% {
opacity: 1
}
}

.frnt .mirror-grid {
display: grid;
grid-template-columns: 1fr 480px;
gap: 96px;
align-items: center
}

.frnt .mirror-txt {
display: flex;
flex-direction: column;
gap: 24px
}

.frnt .mirror-h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: .01em;
color: #FFF8E1;
text-decoration: underline;
text-decoration-color: #ff102c80;
text-underline-offset: 6px
}

.frnt .mirror-body {
display: flex;
flex-direction: row;
gap: 24px
}

.frnt .mirror-body p {
font-size: 15px;
line-height: 1.6;
color: #fff8e1d9;
letter-spacing: .01em;
margin: 0;
flex: 1
}

.frnt .mirror-aside {
flex: 0 0 120px;
font-size: 14px;
line-height: 1.4;
color: #fff8e173;
letter-spacing: .02em
}

.frnt .mirror-quote {
background: #fff8e10f;
border-radius: 5px;
padding: 24px
}

.frnt .mirror-quote p {
font-size: 18px;
line-height: 1.6;
color: #FFF8E1;
letter-spacing: .01em;
margin: 0 0 24px
}

.frnt .mirror-quote cite {
font-size: 14px;
color: #fff8e18c;
letter-spacing: .02em;
font-style: normal
}

.frnt .mirror-img-col .img-wrap {
border-radius: 5px
}

.frnt .mirror-img-col img {
width: 100%;
height: 460px;
object-fit: cover;
display: block;
filter: saturate(0.7) brightness(0.9)
}

.frnt .shape {
background: #fff;
padding: 96px 0;
position: relative
}

.frnt .shape-geo {
position: absolute;
bottom: 48px;
left: 24px;
width: 160px;
height: 160px;
border: 1.5px solid #ff102c12;
border-radius: 38px;
animation: outlinePulse 5s ease-in-out 1s infinite;
pointer-events: none
}

.frnt .shape-h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: .01em;
color: #0F3A52;
text-decoration: underline;
text-decoration-color: #0f3a5233;
text-underline-offset: 6px;
margin-bottom: 48px;
max-width: 640px
}

.frnt .shape-layout {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 48px;
align-items: start
}

.frnt .shape-col-main {
grid-column: 1 / 3;
display: flex;
flex-direction: column;
gap: 48px
}

.frnt .shape-col-side {
display: flex;
flex-direction: column;
gap: 24px
}

.frnt .shape-phase {
display: flex;
flex-direction: column;
gap: 8px
}

.frnt .shape-phase-num {
font-size: 56px;
line-height: 1.1;
color: #ff102c1f;
letter-spacing: .01em;
font-weight: 700
}

.frnt .shape-phase h4 {
font-size: 18px;
line-height: 1.4;
color: #0F3A52;
letter-spacing: .01em;
margin: 0 0 8px
}

.frnt .shape-phase p {
font-size: 15px;
line-height: 1.6;
color: #0f3a52bf;
margin: 0;
letter-spacing: .01em
}

.frnt .shape-aside-card {
background: linear-gradient(247deg, #0F3A52 0%, #FF102C 100%);
border-radius: 5px;
padding: 24px
}

.frnt .shape-aside-card p {
font-size: 15px;
line-height: 1.6;
color: #FFF8E1;
margin: 0;
letter-spacing: .01em
}

.frnt .shape-aside-img .img-wrap {
border-radius: 5px
}

.frnt .shape-aside-img img {
width: 100%;
height: 220px;
object-fit: cover;
display: block
}

.frnt .shape-spacer {
height: 48px;
display: flex;
align-items: center;
justify-content: center
}

.frnt .shape-spacer-line {
width: 1px;
height: 48px;
background: linear-gradient(to bottom, transparent, #ff102c4d, transparent)
}

.frnt .current {
background: #FFF8E1;
padding: 96px 0
}

.frnt .current-top {
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-end;
margin-bottom: 48px
}

.frnt .current-h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: .01em;
color: #0F3A52;
text-decoration: underline;
text-decoration-color: #ff102c59;
text-underline-offset: 6px;
flex: 1
}

.frnt .current-intro {
flex: 0 0 420px;
font-size: 15px;
line-height: 1.6;
color: #0f3a52cc;
letter-spacing: .01em
}

.frnt .current-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-bottom: 48px
}

.frnt .cur-card {
background: #fff;
border-radius: 5px;
padding: 24px;
box-shadow: -1px 1px 2px -2px #ff102c14 -1px 7px 14px -2px #ff102c17;
transition: box-shadow .65s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .55s ease;
position: relative
}

.frnt .cur-card:hover {
box-shadow: -1px 1px 2px -2px #ff102c14 -1px 7px 14px -2px #ff102c17 -1px 12px 36px -2px #ff102c24;
transform: translateY(-3px)
}

.frnt .cur-card-icon {
width: 38px;
height: 38px;
background: #ff102c14;
border-radius: 5px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 24px
}

.frnt .cur-card-icon i {
font-size: 18px;
color: #FF102C
}

.frnt .cur-card h4 {
font-size: 15px;
line-height: 1.4;
color: #0F3A52;
letter-spacing: .01em;
margin: 0 0 8px
}

.frnt .cur-card p {
font-size: 14px;
line-height: 1.6;
color: #0f3a52b3;
margin: 0;
letter-spacing: .01em
}

.frnt .current-bottom {
display: flex;
flex-direction: row;
gap: 48px;
align-items: center
}

.frnt .current-bottom-img .img-wrap {
border-radius: 5px
}

.frnt .current-bottom-img img {
width: 340px;
height: 240px;
object-fit: cover;
display: block
}

.frnt .current-bottom-txt {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px
}

.frnt .current-bottom-txt p {
font-size: 15px;
line-height: 1.6;
color: #0f3a52cc;
letter-spacing: .01em;
margin: 0
}

.frnt .btn-link {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
letter-spacing: .02em;
color: #0F3A52;
text-decoration: none;
padding: 8px 24px;
border: 1.5px solid #0F3A52;
border-radius: 38px;
transition: color .5s ease, border-color .5s ease, box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
align-self: flex-start
}

.frnt .btn-link::before {
content: '';
position: absolute;
inset: 3px;
border: 1px solid transparent;
border-radius: 38px;
transition: border-color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.frnt .btn-link:hover {
color: #FF102C;
border-color: #FF102C;
text-decoration: none;
transform: none
}

.frnt .btn-link:hover::before {
border-color: #ff102c4d
}

.frnt .btn-link:active {
box-shadow: inset 0 2px 4px #ff102c26
}

.frnt .has-tip {
position: relative
}

.frnt .has-tip .tip-text {
position: absolute;
bottom: calc(100% + 8px);
left: 50%;
transform: translateX(-50%);
background: #0F3A52;
color: #FFF8E1;
font-size: 14px;
line-height: 1.4;
letter-spacing: .01em;
padding: 8px 24px;
border-radius: 5px;
white-space: nowrap;
pointer-events: none;
opacity: 0;
transition: opacity .5s ease;
box-shadow: -1px 7px 14px -2px #0f3a5224
}

.frnt .has-tip:focus .tip-text,
.frnt .has-tip:focus-within .tip-text {
opacity: 1
}

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

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

.frnt .reveal {
opacity: 0;
transform: translateY(32px);
transition: opacity .7s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.frnt .reveal.visible {
opacity: 1;
transform: translateY(0)
}

.frnt .reveal-d1 {
transition-delay: .1s
}

.frnt .reveal-d2 {
transition-delay: .22s
}

.frnt .reveal-d3 {
transition-delay: .36s
}

.frnt .reveal-d4 {
transition-delay: .5s
}

@media (max-width: 1024px) {
.frnt .tb-grid {
flex-direction: column
}

.frnt .tb-left {
flex: 0 0 100%;
max-width: 100%
}

.frnt .tb-h1 {
font-size: 42px
}

.frnt .outcomes-grid {
grid-template-columns: 1fr
}

.frnt .mirror-grid {
grid-template-columns: 1fr;
gap: 48px
}

.frnt .shape-layout {
grid-template-columns: 1fr 1fr
}

.frnt .shape-col-main {
grid-column: 1 / 2
}

.frnt .current-top {
flex-direction: column;
align-items: flex-start;
gap: 24px
}

.frnt .current-intro {
flex: none
}

.frnt .current-bottom {
flex-direction: column
}

.frnt .current-bottom-img img {
width: 100%;
height: 220px
}
}

@media (max-width: 640px) {
.frnt .tb {
padding: 48px 0 24px
}

.frnt .tb-h1 {
font-size: 42px
}

.frnt .outcomes {
padding: 48px 0
}

.frnt .mirror {
padding: 48px 0
}

.frnt .shape {
padding: 48px 0
}

.frnt .current {
padding: 48px 0
}

.frnt .outcomes-body {
flex-direction: column;
gap: 8px
}

.frnt .outcomes-aside {
flex: none
}

.frnt .mirror-body {
flex-direction: column;
gap: 8px
}

.frnt .mirror-aside {
flex: none
}

.frnt .shape-layout {
grid-template-columns: 1fr
}

.frnt .shape-col-main {
grid-column: 1
}

.frnt .current-grid {
grid-template-columns: 1fr
}

.frnt .mirror-grid {
grid-template-columns: 1fr
}

.frnt .mirror-img-col {
display: none
}
}

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

.success-page .confirm-wrap {
max-width: 1280px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 48px
}

.success-page .icon-ring {
width: 72px;
height: 72px;
border-radius: 38px;
border: 2px solid #FF102C;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: -1px 7px 14px -2px #ff102c17;
transition: box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

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

.success-page .confirm-body {
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
text-align: center;
max-width: 560px
}

.success-page .confirm-title {
font-size: 42px;
line-height: 1.1;
letter-spacing: .01em;
color: #0F3A52;
margin: 0
}

.success-page .confirm-title span {
color: #FF102C
}

.success-page .confirm-note {
font-size: 18px;
line-height: 1.6;
letter-spacing: .01em;
color: #0F3A52;
margin: 0;
opacity: .82
}

.success-page .confirm-detail {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #0F3A52;
margin: 0;
opacity: .6
}

.success-page .divider-line {
width: 48px;
height: 2px;
background: linear-gradient(247deg, #0F3A52, #FF102C);
border-radius: 5px
}

.success-page .return-link {
display: inline-block;
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #0F3A52;
text-decoration: none;
padding: 8px 24px;
border: 1.5px solid #0F3A52;
border-radius: 5px;
position: relative;
transition: color .5s ease, border-color .5s ease, box-shadow .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.success-page .return-link::before {
content: "";
position: absolute;
inset: 3px;
border: 1px solid transparent;
border-radius: 5px;
transition: border-color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
pointer-events: none
}

.success-page .return-link:hover {
color: #FF102C;
border-color: #FF102C;
box-shadow: -1px 7px 14px -2px #ff102c17
}

.success-page .return-link:hover::before {
border-color: #ff102c38
}

.success-page .return-link:focus-visible {
outline: 2px solid #FF102C;
outline-offset: 4px
}

.success-page .return-link:active {
box-shadow: inset -1px 1px 2px -2px #ff102c14
}

@media (max-width: 640px) {
.success-page {
padding: 48px 24px
}

.success-page .confirm-title {
font-size: 42px
}

.success-page .confirm-body {
gap: 24px
}
}