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

body {
margin: 0;
overflow-x: hidden;
min-height: 100vh;
font-family: 'Exo 2', sans-serif;
font-weight: 400;
font-size: 14px;
line-height: 1.7;
color: #003237;
background: #FFFDFA
}

* {
box-sizing: inherit
}

img {
max-width: 100%;
height: auto;
display: block
}

a {
text-decoration: none;
color: inherit;
transition: color .12s ease-out
}

button {
font-family: inherit;
cursor: pointer;
border: none;
background: none;
padding: 0
}

::selection {
background: #FF3D64;
color: #FFFDFA
}

:focus-visible {
outline: none;
box-shadow: 0 0 0 3px #ff3d6466;
border-radius: 6px
}

.top-bar {
background: linear-gradient(135deg, #FFFDFA 0%, #ff3d640a 100%);
border-bottom: 1px solid #00323714;
position: relative;
z-index: 100
}

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

.brand-lock {
display: flex;
align-items: center;
gap: 16px;
flex-shrink: 0
}

.brand-lock__logo-box {
width: 60px;
height: 60px;
padding: 8px;
background: #FFFDFA;
border-radius: 20px;
box-shadow: 2px 5px 14px -1px #00323714;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #ff3d641f
}

.brand-lock__logo {
width: 100%;
height: 100%;
object-fit: contain
}

.brand-lock__name {
font-size: 29px;
line-height: 1.1;
font-weight: 700;
color: #003237;
letter-spacing: -.02em
}

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

.primary-nav__link {
padding: 16px 24px;
font-size: 14px;
line-height: 1.4;
font-weight: 400;
color: #003237;
background: #FFFDFA;
border-radius: 48px;
border: 1px solid #0032371a;
transition: background .11s ease-out, border-color .11s ease-out, color .11s ease-out, box-shadow .11s ease-out;
position: relative;
overflow: hidden;
white-space: nowrap
}

.primary-nav__link::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #FF3D64 0%, #ff3d64cc 100%);
transition: left .14s ease-out;
z-index: -1
}

.primary-nav__link:hover {
color: #FFFDFA;
border-color: #FF3D64;
box-shadow: 2px 5px 14px -1px #ff3d642e
}

.primary-nav__link:hover::before {
left: 0
}

.trust-badge {
display: flex;
align-items: center;
gap: 8px;
padding: 16px 24px;
background: linear-gradient(135deg, #0032370a 0%, #ff3d640f 100%);
border-radius: 48px;
border: 1px solid #00323714;
flex-shrink: 0
}

.trust-badge__icon {
width: 24px;
height: 24px;
border-radius: 48px;
background: #FF3D64;
display: flex;
align-items: center;
justify-content: center;
position: relative
}

.trust-badge__icon::before {
content: '';
position: absolute;
width: 8px;
height: 12px;
border: 2px solid #FFFDFA;
border-top: none;
border-left: none;
transform: rotate(45deg) translateY(-1px)
}

.trust-badge__text {
font-size: 14px;
line-height: 1.4;
font-weight: 700;
color: #003237
}

.trust-badge__year {
font-weight: 300;
opacity: .7
}

@media (max-width: 900px) {
.top-bar__inner {
flex-direction: column;
align-items: flex-start;
gap: 24px
}

.primary-nav {
width: 100%;
justify-content: flex-start
}

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

@media (max-width: 600px) {
.top-bar__inner {
padding: 16px 24px
}

.brand-lock {
flex-direction: column;
align-items: flex-start;
gap: 8px
}

.brand-lock__name {
font-size: 29px
}

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

.primary-nav__link {
text-align: center
}
}

.base-footer {
background: linear-gradient(180deg, #FFFDFA 0%, #0032370f 100%);
border-top: 1px solid #00323714;
margin-top: 80px
}

.base-footer__inner {
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px 40px
}

.footer-brand {
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
margin-bottom: 80px
}

.footer-brand__logo-row {
display: flex;
align-items: center;
gap: 16px
}

.footer-brand__logo-box {
width: 56px;
height: 56px;
padding: 8px;
background: #FFFDFA;
border-radius: 20px;
box-shadow: 2px 5px 14px -1px #00323714;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #ff3d641f
}

.footer-brand__logo {
width: 100%;
height: 100%;
object-fit: contain
}

.footer-brand__name {
font-size: 29px;
line-height: 1.1;
font-weight: 700;
color: #003237
}

.footer-nav {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
margin-bottom: 80px
}

.footer-nav__link {
padding: 16px 24px;
font-size: 14px;
line-height: 1.4;
font-weight: 400;
color: #003237;
background: #fffdfa99;
border-radius: 48px;
border: 1px solid #0032371a;
transition: background .11s ease-out, border-color .11s ease-out, color .11s ease-out, box-shadow .11s ease-out;
position: relative;
overflow: hidden
}

.footer-nav__link::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #FF3D64 0%, #ff3d64cc 100%);
transition: left .14s ease-out;
z-index: -1
}

.footer-nav__link:hover {
color: #FFFDFA;
border-color: #FF3D64;
box-shadow: 2px 5px 14px -1px #ff3d642e
}

.footer-nav__link:hover::before {
left: 0
}

.footer-contact {
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
margin-bottom: 80px
}

.footer-contact__heading {
font-size: 29px;
line-height: 1.1;
font-weight: 700;
color: #003237
}

.footer-contact__grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24px;
width: 100%;
max-width: 800px
}

.contact-card {
padding: 24px;
background: #fffdfacc;
border-radius: 20px;
border: 1px solid #00323714;
box-shadow: 2px 1px 4px -1px #0032370d;
display: flex;
flex-direction: column;
gap: 16px;
transition: box-shadow .12s ease-out, border-color .12s ease-out
}

.contact-card:hover {
box-shadow: 2px 5px 14px -1px #ff3d641f;
border-color: #ff3d6433
}

.contact-card__label {
font-size: 14px;
line-height: 1.4;
font-weight: 700;
color: #003237;
text-transform: uppercase;
letter-spacing: .08em;
opacity: .6
}

.contact-card__value {
font-size: 14px;
line-height: 1.7;
font-weight: 400;
color: #003237;
word-break: break-word
}

.contact-card__value--link {
color: #FF3D64;
transition: color .11s ease-out
}

.contact-card__value--link:hover {
color: #003237
}

@media (max-width: 700px) {
.footer-contact__grid {
grid-template-columns: 1fr
}
}

.footer-legal {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
margin-bottom: 40px
}

.legal-nav {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 8px
}

.legal-nav__link {
padding: 8px 16px;
font-size: 14px;
line-height: 1.4;
font-weight: 300;
color: #003237;
opacity: .7;
border-radius: 6px;
transition: opacity .1s ease-out, background .1s ease-out
}

.legal-nav__link:hover {
opacity: 1;
background: #0032370a
}

.footer-copy {
text-align: center;
padding-top: 40px;
border-top: 1px solid #00323714
}

.footer-copy__text {
font-size: 14px;
line-height: 1.7;
font-weight: 300;
color: #003237;
opacity: .6
}

@media (max-width: 600px) {
.base-footer__inner {
padding: 40px 24px 24px
}

.footer-brand {
margin-bottom: 40px
}

.footer-nav {
margin-bottom: 40px;
width: 100%
}

.footer-nav__link {
width: 100%;
text-align: center
}

.footer-contact {
margin-bottom: 40px
}

.footer-contact__heading {
font-size: 29px
}

.footer-legal {
margin-bottom: 24px
}

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

.legal-nav__link {
text-align: center;
width: 100%
}

.footer-copy {
padding-top: 24px
}
}

.consent-shell {
position: fixed;
top: 24px;
right: 24px;
z-index: 1500;
max-width: 440px;
width: calc(100% - 48px)
}

.consent-box {
background: #FFFDFA;
border-radius: 20px;
padding: 24px;
box-shadow: 2px 10px 44px -1px #0032371a;
border: 1px solid #00323714;
display: none;
opacity: 0;
transform: translateX(120%);
transition: opacity .26s ease-out, transform .26s ease-out
}

.consent-box.active {
display: block
}

.consent-box.visible {
opacity: 1;
transform: translateX(0)
}

.consent-box.hiding {
opacity: 0;
transform: translateX(120%)
}

.consent-text {
font-size: 14px;
line-height: 1.7;
color: #003237;
margin-bottom: 24px
}

.consent-actions {
display: flex;
gap: 8px;
margin-bottom: 16px
}

.consent-btn {
flex: 1;
padding: 16px 24px;
font-size: 14px;
line-height: 1.4;
font-weight: 700;
border-radius: 48px;
transition: background .11s ease-out, color .11s ease-out, box-shadow .11s ease-out;
position: relative;
overflow: hidden
}

.consent-btn--primary {
background: #FF3D64;
color: #FFFDFA;
border: 1px solid #FF3D64
}

.consent-btn--primary::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #003237;
transition: left .14s ease-out;
z-index: -1
}

.consent-btn--primary:hover {
box-shadow: 2px 5px 14px -1px #ff3d642e
}

.consent-btn--primary:hover::before {
left: 0
}

.consent-btn--secondary {
background: #FFFDFA;
color: #003237;
border: 1px solid #00323733
}

.consent-btn--secondary::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #0032370f;
transition: left .14s ease-out;
z-index: -1
}

.consent-btn--secondary:hover {
box-shadow: 2px 5px 14px -1px #00323714
}

.consent-btn--secondary:hover::before {
left: 0
}

.consent-settings-toggle {
font-size: 14px;
line-height: 1.4;
font-weight: 400;
color: #FF3D64;
text-align: center;
padding: 8px;
border-radius: 6px;
transition: background .1s ease-out;
cursor: pointer
}

.consent-settings-toggle:hover {
background: #ff3d640f
}

.consent-details {
display: none;
padding-top: 24px;
border-top: 1px solid #00323714;
margin-top: 24px
}

.consent-details.visible {
display: block
}

.consent-option {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px 0;
border-bottom: 1px solid #0032370f
}

.consent-option:last-child {
border-bottom: none
}

.consent-option__label {
font-size: 14px;
line-height: 1.4;
font-weight: 400;
color: #003237
}

.consent-toggle {
position: relative;
width: 48px;
height: 24px;
background: #00323733;
border-radius: 48px;
cursor: pointer;
transition: background .12s ease-out
}

.consent-toggle::after {
content: '';
position: absolute;
top: 2px;
left: 2px;
width: 20px;
height: 20px;
background: #FFFDFA;
border-radius: 48px;
transition: left .12s ease-out;
box-shadow: 2px 1px 4px -1px #00323726
}

.consent-toggle.active {
background: #FF3D64
}

.consent-toggle.active::after {
left: 26px
}

@media (max-width: 600px) {
.consent-shell {
top: 16px;
right: 16px;
left: 16px;
width: auto;
max-width: none
}

.consent-box {
padding: 16px
}

.consent-actions {
flex-direction: column
}

.consent-btn {
width: 100%
}
}

.legal-text {
max-width: 1170px;
margin: 0 auto;
padding: 80px 24px;
background: #FFFDFA
}

.legal-text p {
font-size: 14px;
line-height: 1.7;
color: #003237;
margin: 0 0 16px
}

.legal-text p:last-child {
margin-bottom: 0
}

.legal-text strong,
.legal-text b {
font-weight: 600;
color: #003237
}

.legal-text em,
.legal-text i {
font-style: italic
}

.legal-text ul,
.legal-text ol {
margin: 0 0 24px;
padding: 0 0 0 24px
}

.legal-text ul li,
.legal-text ol li {
font-size: 14px;
line-height: 1.7;
color: #003237;
margin: 0 0 8px
}

.legal-text ul li:last-child,
.legal-text ol li:last-child {
margin-bottom: 0
}

.legal-text ul {
list-style-type: disc
}

.legal-text ol {
list-style-type: decimal
}

.legal-text hr {
border: none;
height: 1px;
background: #0032371f;
margin: 40px 0
}

.legal-text table {
width: 100%;
border-collapse: collapse;
margin: 0 0 24px;
background: #fff;
border-radius: 6px;
overflow: hidden;
box-shadow: 2px 1px 4px -1px #0032370d
}

.legal-text thead {
background: #0032370a
}

.legal-text th {
font-size: 14px;
line-height: 1.4;
font-weight: 600;
color: #003237;
text-align: left;
padding: 16px;
border-bottom: 1px solid #00323714
}

.legal-text td {
font-size: 14px;
line-height: 1.7;
color: #003237;
padding: 16px;
border-bottom: 1px solid #0032370f
}

.legal-text tr:last-child td {
border-bottom: none
}

.legal-text tbody tr {
transition: background .12s ease-out
}

.legal-text tbody tr:hover {
background: #00323705
}

.legal-text div {
margin: 0 0 16px
}

.legal-text div:last-child {
margin-bottom: 0
}

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

.legal-text table {
display: block;
overflow-x: auto
}

.legal-text th,
.legal-text td {
padding: 8px;
font-size: 14px
}
}

.hlp {
background: #FFFDFA;
color: #003237;
margin: 0;
padding: 0
}

.hlp__intro {
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px;
display: grid;
grid-template-columns: 1fr 1.4fr;
gap: 40px;
align-items: center;
position: relative
}

.hlp__intro-txt {
position: relative;
z-index: 2
}

.hlp__intro-stripe {
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: linear-gradient(180deg, #FF3D64 0%, #003237 100%);
border-radius: 6px
}

.hlp__intro h1 {
font-size: 70px;
line-height: 1.1;
margin: 0 0 24px;
font-weight: 700;
color: #003237
}

.hlp__intro-manifest {
font-size: 29px;
line-height: 1.4;
margin: 0 0 16px;
color: #003237;
opacity: .9
}

.hlp__intro-manifest:last-of-type {
margin-bottom: 0
}

.hlp__intro-img-wrap {
position: relative;
height: 420px;
border-radius: 20px;
overflow: hidden;
box-shadow: 2px 10px 44px -1px #0032371a
}

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

.hlp__intro-tint {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #FF3D64;
opacity: .15;
pointer-events: none
}

.hlp__res-sect {
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px;
position: relative
}

.hlp__res-bg {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: repeating-linear-gradient(45deg, transparent, transparent 10px, #ff3d6405 10px, #ff3d6405 20px);
pointer-events: none;
z-index: 0
}

.hlp__res-inner {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 80px
}

.hlp__res-sidebar {
position: relative
}

.hlp__res-sidebar h2 {
font-size: 40px;
line-height: 1.1;
margin: 0 0 24px;
font-weight: 700;
color: #003237
}

.hlp__res-sidebar-desc {
font-size: 14px;
line-height: 1.7;
color: #003237;
margin: 0 0 16px
}

.hlp__res-img-box {
margin-top: 40px;
border-radius: 48px;
overflow: hidden;
box-shadow: 2px 5px 14px -1px #00323714;
position: relative;
height: 280px
}

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

.hlp__res-content {
display: flex;
flex-direction: column;
gap: 40px
}

.hlp__res-card {
background: #FFF;
border-radius: 20px;
padding: 40px;
box-shadow: 2px 5px 14px -1px #00323714;
border: 2px dashed transparent;
transition: border-color .12s ease-out, box-shadow .12s ease-out, transform .1s ease-out;
position: relative;
overflow: hidden
}

.hlp__res-card::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #ff3d6408 0%, #00323708 100%);
transition: left .14s ease-out;
pointer-events: none
}

.hlp__res-card:hover {
border-color: #ff3d6433;
box-shadow: 2px 10px 44px -1px #0032371a;
transform: translateY(-2px)
}

.hlp__res-card:hover::before {
left: 0
}

.hlp__res-card-head {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 24px
}

.hlp__res-icon {
width: 48px;
height: 48px;
border-radius: 48px;
background: linear-gradient(180deg, #FF3D64 0%, #003237 100%);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
animation: hlp-spin 3s linear infinite
}

@keyframes hlp-spin {
0% {
transform: rotate(0deg) scale(1)
}

25% {
transform: rotate(2deg) scale(1.05)
}

50% {
transform: rotate(0deg) scale(1)
}

75% {
transform: rotate(-2deg) scale(1.05)
}

100% {
transform: rotate(0deg) scale(1)
}
}

.hlp__res-icon svg {
width: 24px;
height: 24px;
fill: #FFFDFA
}

.hlp__res-card h3 {
font-size: 29px;
line-height: 1.1;
margin: 0;
font-weight: 700;
color: #003237
}

.hlp__res-card-txt {
font-size: 14px;
line-height: 1.7;
color: #003237;
margin: 0 0 16px
}

.hlp__res-card-txt:last-child {
margin-bottom: 0
}

.hlp__res-card-quote {
background: #0032370a;
border-left: none;
padding: 24px;
border-radius: 6px;
margin: 24px 0 0;
font-size: 14px;
line-height: 1.7;
color: #003237;
font-style: italic;
position: relative
}

.hlp__res-card-quote::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
background: linear-gradient(180deg, #FF3D64 0%, #003237 100%);
border-radius: 6px 0 0 6px
}

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

.hlp__res-list li {
font-size: 14px;
line-height: 1.7;
color: #003237;
padding-left: 24px;
position: relative
}

.hlp__res-list li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 6px;
height: 6px;
background: #FF3D64;
border-radius: 48px
}

.hlp__res-link {
display: inline-block;
color: #003237;
text-decoration: none;
font-size: 14px;
line-height: 1.7;
position: relative;
padding: 0 4px;
transition: color .1s ease-out
}

.hlp__res-link::after {
content: '';
position: absolute;
left: 50%;
right: 50%;
bottom: 2px;
height: 2px;
background: #FF3D64;
transition: left .12s ease-out, right .12s ease-out
}

.hlp__res-link:hover {
color: #FF3D64
}

.hlp__res-link:hover::after {
left: 0;
right: 0
}

.hlp__res-btn {
display: inline-block;
padding: 16px 40px;
background: linear-gradient(135deg, #FF3D64 0%, #003237 100%);
color: #FFFDFA;
text-decoration: none;
border-radius: 6px;
font-size: 14px;
line-height: 1.1;
font-weight: 700;
border: none;
cursor: pointer;
position: relative;
overflow: hidden;
transition: box-shadow .1s ease-out, transform .08s ease-out;
box-shadow: 2px 5px 14px -1px #00323714
}

.hlp__res-btn::before {
content: '';
position: absolute;
top: -100%;
left: -100%;
width: 300%;
height: 300%;
background: linear-gradient(135deg, #fffdfa33 0%, transparent 100%);
transition: top .14s ease-out, left .14s ease-out;
pointer-events: none
}

.hlp__res-btn:hover {
box-shadow: 2px 10px 44px -1px #0032371a;
transform: translateY(-1px)
}

.hlp__res-btn:hover::before {
top: -50%;
left: -50%
}

.hlp__res-btn:active {
transform: translateY(0)
}

.hlp__res-meta {
display: flex;
align-items: center;
gap: 24px;
margin-top: 24px;
padding-top: 24px;
border-top: 1px solid #0032371a
}

.hlp__res-meta-item {
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
line-height: 1.1;
color: #003237
}

.hlp__res-meta-icon {
width: 20px;
height: 20px;
fill: #FF3D64
}

.hlp__res-meta-val {
font-weight: 700;
color: #FF3D64
}

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

.hlp__intro h1 {
font-size: 40px
}

.hlp__intro-manifest {
font-size: 14px
}

.hlp__intro-img-wrap {
height: 320px
}

.hlp__res-sect {
padding: 40px 24px
}

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

.hlp__res-sidebar h2 {
font-size: 29px
}

.hlp__res-card {
padding: 24px
}

.hlp__res-card h3 {
font-size: 14px
}

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

@media (max-width: 640px) {
.hlp__intro {
padding: 24px 16px
}

.hlp__intro h1 {
font-size: 29px
}

.hlp__intro-img-wrap {
height: 240px
}

.hlp__res-sect {
padding: 24px 16px
}

.hlp__res-card {
padding: 16px
}

.hlp__res-card-head {
flex-direction: column;
align-items: flex-start
}

.hlp__res-img-box {
height: 200px
}
}

.front {
background: #FFFDFA;
color: #003237;
overflow-x: clip
}

.front__hero {
position: relative;
background: linear-gradient(180deg, #003237 0%, #004851 100%);
padding: 80px 24px;
overflow: hidden
}

.front__hero-wave {
position: absolute;
bottom: -2px;
left: 0;
width: 100%;
height: 120px;
background: #FFFDFA;
clip-path: polygon(0 50%, 10% 45%, 20% 50%, 30% 45%, 40% 50%, 50% 45%, 60% 50%, 70% 45%, 80% 50%, 90% 45%, 100% 50%, 100% 100%, 0 100%)
}

.front__hero-anim {
position: absolute;
top: 0;
right: 0;
width: 600px;
height: 600px;
background: linear-gradient(135deg, #FF3D64 0%, transparent 70%);
opacity: 0;
animation: front-bleed 8s ease-in-out infinite;
pointer-events: none
}

@keyframes front-bleed {

0%,
100% {
opacity: 0;
transform: translate(100px, -100px)
}

50% {
opacity: .15;
transform: translate(0, 0)
}
}

.front__hero-contain {
max-width: 1170px;
margin: 0 auto
}

.front__hero-txt {
max-width: 720px;
color: #FFFDFA
}

.front__hero-h {
font-size: 70px;
line-height: 1.1;
margin: 0 0 24px;
font-weight: 700
}

.front__hero-p {
font-size: 29px;
line-height: 1.4;
margin: 0 0 16px;
font-weight: 300
}

.front__hero-p:last-of-type {
margin-bottom: 0
}

.front__outcomes {
padding: 80px 24px;
background: #FFFDFA;
position: relative
}

.front__outcomes-contain {
max-width: 1170px;
margin: 0 auto;
display: flex;
gap: 40px;
align-items: flex-start
}

.front__outcomes-left {
flex: 1 1 65%
}

.front__outcomes-right {
flex: 1 1 35%;
display: flex;
flex-direction: column;
gap: 16px
}

.front__outcomes-h {
font-size: 40px;
line-height: 1.1;
margin: 0 0 24px;
font-weight: 700;
color: #003237
}

.front__outcomes-txt {
font-size: 14px;
line-height: 1.7;
margin: 0 0 16px
}

.front__outcomes-txt:last-child {
margin-bottom: 0
}

.front__outcomes-tag {
background: #FF3D64;
color: #FFFDFA;
padding: 8px 16px;
border-radius: 6px;
font-size: 14px;
line-height: 1.4;
font-weight: 600;
text-align: center
}

.front__outcomes-label {
background: linear-gradient(180deg, #003237 0%, #004851 100%);
color: #FFFDFA;
padding: 16px;
border-radius: 6px;
font-size: 14px;
line-height: 1.4;
box-shadow: 2px 5px 14px -1px #00323714
}

@media (max-width: 768px) {
.front__outcomes-contain {
flex-direction: column
}

.front__outcomes-left,
.front__outcomes-right {
flex: 1 1 100%
}
}

.front__invest {
padding: 80px 24px;
background: #FFFDFA;
position: relative
}

.front__invest::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 800px;
height: 800px;
background: radial-gradient(circle, #ff3d6414 0%, transparent 70%);
transform: translate(-50%, -50%);
pointer-events: none
}

.front__invest-contain {
max-width: 1170px;
margin: 0 auto;
position: relative;
z-index: 1
}

.front__invest-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px
}

.front__invest-card {
background: #FFFDFA;
border: 2px solid #003237;
border-radius: 20px;
padding: 24px;
position: relative;
overflow: hidden
}

.front__invest-card::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(135deg, transparent 0%, #FF3D64 50%, transparent 100%);
opacity: 0;
transition: left .12s ease-out, opacity .12s ease-out;
pointer-events: none
}

.front__invest-card:hover::before {
left: 100%;
opacity: .1
}

.front__invest-icon {
width: 56px;
height: 56px;
background: linear-gradient(180deg, #FF3D64 0%, #d63254 100%);
border-radius: 48px;
display: flex;
align-items: center;
justify-content: center;
margin: 0 0 16px;
box-shadow: 2px 10px 44px -1px #ff3d641a
}

.front__invest-icon svg {
width: 28px;
height: 28px;
fill: #FFFDFA
}

.front__invest-h {
font-size: 29px;
line-height: 1.1;
margin: 0 0 16px;
font-weight: 700;
color: #003237
}

.front__invest-p {
font-size: 14px;
line-height: 1.7;
margin: 0;
color: #003237
}

@media (max-width: 992px) {
.front__invest-grid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 640px) {
.front__invest-grid {
grid-template-columns: 1fr
}
}

.front__team {
padding: 80px 24px;
background: linear-gradient(180deg, #FFFDFA 0%, #f8f5f2 100%);
position: relative
}

.front__team::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 3px;
background: linear-gradient(90deg, transparent 0%, #FF3D64 50%, transparent 100%)
}

.front__team-contain {
max-width: 1170px;
margin: 0 auto
}

.front__team-h {
font-size: 40px;
line-height: 1.1;
margin: 0 0 40px;
font-weight: 700;
color: #003237;
text-align: center
}

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

.front__team-member {
display: flex;
gap: 24px;
align-items: flex-start;
position: relative
}

.front__team-member::before {
content: '';
position: absolute;
top: 8px;
left: 8px;
width: 8px;
height: 8px;
background: #FF3D64;
border-radius: 48px
}

.front__team-img {
width: 120px;
height: 120px;
border-radius: 48px;
object-fit: cover;
flex-shrink: 0;
box-shadow: 2px 5px 14px -1px #00323714
}

.front__team-info {
flex: 1
}

.front__team-name {
font-size: 29px;
line-height: 1.1;
margin: 0 0 8px;
font-weight: 700;
color: #003237
}

.front__team-role {
font-size: 14px;
line-height: 1.4;
margin: 0 0 16px;
color: #FF3D64;
font-weight: 600
}

.front__team-bio {
font-size: 14px;
line-height: 1.7;
margin: 0;
color: #003237
}

@media (max-width: 768px) {
.front__team-list {
grid-template-columns: 1fr
}

.front__team-member {
flex-direction: column
}
}

.front__trust {
padding: 80px 24px;
background: #003237;
position: relative
}

.front__trust-chevron {
position: absolute;
top: -40px;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 60px solid transparent;
border-right: 60px solid transparent;
border-top: 40px solid #f8f5f2
}

.front__trust-contain {
max-width: 1170px;
margin: 0 auto
}

.front__trust-h {
font-size: 40px;
line-height: 1.1;
margin: 0 0 40px;
font-weight: 700;
color: #FFFDFA;
text-align: center
}

.front__trust-steps {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px
}

.front__trust-step {
flex: 1;
background: #fffdfa0d;
border: 1px solid #fffdfa1a;
border-radius: 20px;
padding: 24px;
text-align: center;
position: relative
}

.front__trust-step-num {
font-size: 70px;
line-height: 1.1;
margin: 0 0 16px;
font-weight: 700;
color: #FF3D64
}

.front__trust-step-label {
font-size: 14px;
line-height: 1.4;
margin: 0;
color: #FFFDFA;
font-weight: 600
}

.front__trust-arrow {
width: 40px;
height: 40px;
flex-shrink: 0
}

.front__trust-arrow svg {
width: 100%;
height: 100%;
fill: #FF3D64
}

@media (max-width: 768px) {
.front__trust-steps {
flex-direction: column
}

.front__trust-arrow {
transform: rotate(90deg)
}
}

.front__exp {
padding: 80px 24px;
background: #FFFDFA;
position: relative
}

.front__exp-contain {
max-width: 1170px;
margin: 0 auto
}

.front__exp-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center
}

.front__exp-txt {
position: relative
}

.front__exp-bracket {
position: absolute;
top: -16px;
left: -16px;
width: 40px;
height: 40px;
border-top: 4px solid #FF3D64;
border-left: 4px solid #FF3D64;
border-radius: 6px 0 0 0
}

.front__exp-bracket-bottom {
position: absolute;
bottom: -16px;
right: -16px;
width: 40px;
height: 40px;
border-bottom: 4px solid #FF3D64;
border-right: 4px solid #FF3D64;
border-radius: 0 0 6px 0
}

.front__exp-h {
font-size: 40px;
line-height: 1.1;
margin: 0 0 24px;
font-weight: 700;
color: #003237
}

.front__exp-quote {
font-size: 29px;
line-height: 1.4;
margin: 0 0 24px;
font-weight: 300;
color: #003237;
padding: 24px;
background: linear-gradient(180deg, #ff3d640d 0%, transparent 100%);
border-left: 4px solid #FF3D64;
border-radius: 6px
}

.front__exp-p {
font-size: 14px;
line-height: 1.7;
margin: 0 0 16px;
color: #003237
}

.front__exp-p:last-child {
margin-bottom: 0
}

.front__exp-author {
font-size: 14px;
line-height: 1.4;
margin: 16px 0 0;
color: #FF3D64;
font-weight: 600
}

.front__exp-img-wrap {
position: relative;
border-radius: 20px;
overflow: hidden;
box-shadow: 2px 10px 44px -1px #0032371a
}

.front__exp-img-wrap::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url(./photo_storage/toppict4-2026_01.jpg) center / cover no-repeat;
opacity: .08;
pointer-events: none
}

.front__exp-img {
width: 100%;
height: 480px;
object-fit: cover;
display: block;
opacity: .08
}

@media (max-width: 768px) {
.front__exp-layout {
grid-template-columns: 1fr
}

.front__exp-img {
height: 320px
}
}

@media (max-width: 640px) {
.front__hero-h {
font-size: 40px
}

.front__hero-p {
font-size: 14px
}

.front__outcomes-h,
.front__invest-h,
.front__team-h,
.front__trust-h,
.front__exp-h {
font-size: 29px
}

.front__exp-quote {
font-size: 14px
}

.front__team-name {
font-size: 14px
}

.front__trust-step-num {
font-size: 40px
}
}

.front a {
color: #FF3D64;
text-decoration: none;
position: relative;
display: inline;
background: linear-gradient(90deg, transparent 50%, #ff3d641a 50%);
background-size: 200% 100%;
background-position: 0 0;
transition: background-position .15s ease-out
}

.front a:hover {
background-position: -100% 0
}

.front button {
background: #FF3D64;
color: #FFFDFA;
border: none;
padding: 16px 40px;
border-radius: 6px;
font-size: 14px;
line-height: 1.4;
font-weight: 600;
cursor: pointer;
position: relative;
overflow: hidden;
transition: transform .08s ease-out
}

.front button::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(135deg, transparent 0%, #fffdfa33 50%, transparent 100%);
transition: left .15s ease-out
}

.front button:hover::before {
left: 100%
}

.front button:hover {
transform: translateY(-2px)
}

.front button:active {
transform: translateY(0)
}

.abt-us {
background: #FFFDFA;
color: #003237;
overflow-x: clip
}

.abt-us ::selection {
background: #FF3D64;
color: #FFFDFA
}

.abt-us .tl-hero {
position: relative;
padding: 120px 0 64px;
overflow: hidden;
background: linear-gradient(158deg, #003237 0%, #FF3D64 100%)
}

.abt-us .tl-hero::before {
content: '';
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(0deg, #fffdfa05 0px, transparent 1px, transparent 40px, #fffdfa05 41px), repeating-linear-gradient(90deg, #fffdfa05 0px, transparent 1px, transparent 40px, #fffdfa05 41px);
pointer-events: none
}

.abt-us .tl-hero::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: #FF3D64
}

.abt-us .tl-hero-wrap {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 40fr 60fr;
gap: 40px;
align-items: center
}

.abt-us .tl-hero-txt {
animation: slideInLeft .8s ease-out
}

@keyframes slideInLeft {
from {
opacity: 0;
transform: translateX(-40px)
}

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

.abt-us .tl-hero-label {
font-size: 14px;
line-height: 1.4;
text-transform: uppercase;
letter-spacing: .08em;
color: #fffdfab3;
margin: 0 0 16px
}

.abt-us .tl-hero h1 {
font-size: 70px;
line-height: 1.1;
color: #FFFDFA;
margin: 0;
font-weight: 700
}

.abt-us .tl-hero-img-wrap {
position: relative;
animation: slideInRight .9s ease-out
}

@keyframes slideInRight {
from {
opacity: 0;
transform: translateX(40px)
}

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

.abt-us .tl-hero-img-wrap img {
width: 100%;
height: 380px;
object-fit: cover;
border-radius: 20px;
opacity: .85;
filter: brightness(1.1) saturate(0.9);
box-shadow: 2px 10px 44px -1px #0032371a
}

.abt-us .origin-sec {
padding: 80px 0;
background: #FFFDFA;
position: relative;
border-bottom: 2px solid #003237
}

.abt-us .origin-sec::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 120px;
height: 3px;
background: linear-gradient(90deg, transparent 0%, #FF3D64 50%, transparent 100%)
}

.abt-us .origin-wrap {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 40px;
animation: fadeInUp .11s ease-out
}

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

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

.abt-us .origin-card {
background: #FFFDFA;
border: 1px solid #0032371f;
border-radius: 20px;
padding: 40px 24px;
position: relative;
transition: transform .12s ease-out, box-shadow .12s ease-out
}

.abt-us .origin-card:hover {
transform: translateY(-4px);
box-shadow: 2px 10px 44px -1px #ff3d641a
}

.abt-us .origin-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #FF3D64 0%, #003237 100%);
border-radius: 20px 20px 0 0;
opacity: 0;
transition: opacity .1s ease-out
}

.abt-us .origin-card:hover::before {
opacity: 1
}

.abt-us .origin-card-num {
font-size: 70px;
line-height: 1.1;
font-weight: 700;
color: #ff3d6426;
margin: 0 0 16px
}

.abt-us .origin-card h3 {
font-size: 29px;
line-height: 1.4;
color: #003237;
margin: 0 0 16px;
font-weight: 700
}

.abt-us .origin-card p {
font-size: 14px;
line-height: 1.7;
color: #003237cc;
margin: 0
}

.abt-us .metrics-sec {
padding: 80px 0;
background: linear-gradient(180deg, #ff3d6408 0%, #00323708 100%);
position: relative
}

.abt-us .metrics-wrap {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px
}

.abt-us .metrics-grid {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 80px;
align-items: start
}

.abt-us .metrics-sidebar {
position: sticky;
top: 24px;
animation: slideInLeft .13s ease-out
}

.abt-us .metrics-sidebar h2 {
font-size: 40px;
line-height: 1.1;
color: #003237;
margin: 0 0 24px;
font-weight: 700
}

.abt-us .metrics-sidebar-desc {
font-size: 14px;
line-height: 1.7;
color: #003237bf;
margin: 0 0 24px
}

.abt-us .metrics-sidebar-img {
width: 100%;
height: 280px;
object-fit: cover;
border-radius: 48px;
box-shadow: 2px 5px 14px -1px #00323714;
filter: saturate(0.95) brightness(1.05)
}

.abt-us .metrics-content {
animation: slideInRight .14s ease-out .08s both
}

.abt-us .metrics-list {
display: flex;
flex-direction: column;
gap: 24px
}

.abt-us .metrics-item {
background: #FFFDFA;
border-radius: 6px;
padding: 24px;
box-shadow: 2px 1px 4px -1px #0032370d;
position: relative;
overflow: hidden;
transition: box-shadow .09s linear
}

.abt-us .metrics-item:hover {
box-shadow: 2px 5px 14px -1px #ff3d6414
}

.abt-us .metrics-item::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
height: 3px;
background: linear-gradient(90deg, #FF3D64 0%, #003237 100%);
transition: width .15s ease-out
}

.abt-us .metrics-item:nth-child(1)::after {
width: 92%
}

.abt-us .metrics-item:nth-child(2)::after {
width: 78%
}

.abt-us .metrics-item:nth-child(3)::after {
width: 85%
}

.abt-us .metrics-item:nth-child(4)::after {
width: 68%
}

.abt-us .metrics-item:hover::after {
width: 100%
}

.abt-us .metrics-item-head {
display: flex;
align-items: center;
gap: 16px;
margin: 0 0 8px
}

.abt-us .metrics-item-rank {
font-size: 40px;
line-height: 1;
font-weight: 700;
color: #FF3D64;
min-width: 56px
}

.abt-us .metrics-item h4 {
font-size: 29px;
line-height: 1.1;
color: #003237;
margin: 0;
font-weight: 600
}

.abt-us .metrics-item p {
font-size: 14px;
line-height: 1.7;
color: #003237b3;
margin: 0;
padding-left: 72px
}

.abt-us .team-sec {
padding: 80px 0;
background: #FFFDFA;
position: relative
}

.abt-us .team-sec::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
background: linear-gradient(225deg, #ff3d6405 0%, transparent 50%);
pointer-events: none;
clip-path: polygon(0 0, 100% 0, 100% 100%, 0 95%)
}

.abt-us .team-wrap {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
position: relative;
z-index: 1
}

.abt-us .team-hd {
text-align: center;
margin: 0 0 80px;
animation: fadeInUp .12s ease-out
}

.abt-us .team-hd h2 {
font-size: 40px;
line-height: 1.1;
color: #003237;
margin: 0 0 16px;
font-weight: 700
}

.abt-us .team-hd-sub {
font-size: 14px;
line-height: 1.7;
color: #003237b3;
margin: 0;
max-width: 680px;
margin-left: auto;
margin-right: auto
}

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

.abt-us .team-member {
background: #FFFDFA;
border-radius: 20px;
overflow: hidden;
box-shadow: 2px 1px 4px -1px #0032370d;
transition: transform .1s ease-out, box-shadow .1s ease-out;
animation: fadeInUp .13s ease-out;
animation-fill-mode: both
}

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

.abt-us .team-member:nth-child(2) {
animation-delay: .1s
}

.abt-us .team-member:nth-child(3) {
animation-delay: .15s
}

.abt-us .team-member:hover {
transform: scale(1.02);
box-shadow: 2px 10px 44px -1px #ff3d641a
}

.abt-us .team-member-img {
width: 100%;
height: 320px;
object-fit: cover;
filter: saturate(0.9) brightness(1.05);
transition: filter .12s ease-out
}

.abt-us .team-member:hover .team-member-img {
filter: saturate(1) brightness(1)
}

.abt-us .team-member-info {
padding: 24px;
background: linear-gradient(180deg, #FFFDFA 0%, #fffdfaf2 100%)
}

.abt-us .team-member h5 {
font-size: 29px;
line-height: 1.1;
color: #003237;
margin: 0 0 8px;
font-weight: 600
}

.abt-us .team-member-role {
font-size: 14px;
line-height: 1.4;
color: #FF3D64;
margin: 0 0 16px;
font-weight: 500
}

.abt-us .team-member p {
font-size: 14px;
line-height: 1.7;
color: #003237bf;
margin: 0
}

.abt-us .flash-trigger {
display: inline-block;
cursor: pointer;
transition: transform .08s ease-out
}

.abt-us .flash-trigger:active {
animation: flashClick .3s ease-out;
transform: scale(0.98)
}

@keyframes flashClick {

0%,
100% {
background-color: transparent
}

50% {
background-color: #ff3d6433
}
}

@media (max-width: 1024px) {
.abt-us .tl-hero-wrap {
grid-template-columns: 1fr;
gap: 40px
}

.abt-us .tl-hero {
padding: 80px 0 64px
}

.abt-us .tl-hero h1 {
font-size: 40px
}

.abt-us .origin-wrap {
grid-template-columns: 1fr;
gap: 24px
}

.abt-us .metrics-grid {
grid-template-columns: 1fr;
gap: 40px
}

.abt-us .metrics-sidebar {
position: static
}

.abt-us .team-grid {
grid-template-columns: 1fr;
gap: 24px
}
}

@media (max-width: 768px) {
.abt-us .tl-hero {
padding: 64px 0 40px
}

.abt-us .tl-hero h1 {
font-size: 29px
}

.abt-us .tl-hero-img-wrap img {
height: 280px
}

.abt-us .origin-sec,
.abt-us .metrics-sec,
.abt-us .team-sec {
padding: 40px 0
}

.abt-us .origin-card {
padding: 24px 16px
}

.abt-us .origin-card-num {
font-size: 40px
}

.abt-us .origin-card h3 {
font-size: 29px
}

.abt-us .metrics-sidebar h2,
.abt-us .team-hd h2 {
font-size: 29px
}

.abt-us .metrics-item-rank {
font-size: 29px;
min-width: 48px
}

.abt-us .metrics-item h4 {
font-size: 29px
}

.abt-us .metrics-item p {
padding-left: 64px
}

.abt-us .team-hd {
margin: 0 0 40px
}

.abt-us .team-member-img {
height: 240px
}

.abt-us .team-member h5 {
font-size: 29px
}
}

.cntct-pg {
background: #FFFDFA;
color: #003237;
overflow-x: clip
}

.cntct-pg * {
box-sizing: border-box
}

.cntct-pg input,
.cntct-pg textarea,
.cntct-pg button,
.cntct-pg select {
font-family: inherit
}

.cntct-pg .tblock {
max-width: 1170px;
margin: 0 auto;
padding: 80px 24px;
display: flex;
gap: 40px;
align-items: stretch;
position: relative
}

.cntct-pg .tblock__img-strip {
width: 240px;
flex-shrink: 0;
position: relative;
overflow: hidden;
border-radius: 20px
}

.cntct-pg .tblock__img-strip::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, #FF3D64 0%, #003237 100%);
opacity: .15;
z-index: 1;
pointer-events: none
}

.cntct-pg .tblock__img-strip::after {
content: '';
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(0deg, transparent, transparent 2px, #00323708 2px, #00323708 4px);
z-index: 2;
pointer-events: none
}

.cntct-pg .tblock__img-strip img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: grayscale(0.2) contrast(1.1)
}

.cntct-pg .tblock__content {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
padding-left: 40px
}

.cntct-pg .tblock__heading {
font-size: 70px;
line-height: 1.1;
font-weight: 700;
color: #003237;
margin: 0;
letter-spacing: -.02em
}

.cntct-pg .tblock__deco {
position: absolute;
left: 0;
top: 40px;
width: 280px;
height: 380px;
border: 3px solid #ff3d641f;
border-radius: 48px;
pointer-events: none;
z-index: 0
}

.cntct-pg .form-sect {
background: #003237;
padding: 80px 24px;
position: relative;
overflow: hidden
}

.cntct-pg .form-sect::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: linear-gradient(30deg, transparent 48%, #ff3d6408 48%, #ff3d6408 52%, transparent 52%), linear-gradient(150deg, transparent 48%, #ff3d6408 48%, #ff3d6408 52%, transparent 52%);
background-size: 60px 104px;
opacity: .4;
pointer-events: none
}

.cntct-pg .form-sect::after {
content: '';
position: absolute;
bottom: -120px;
right: -120px;
width: 400px;
height: 400px;
background: #FF3D64;
border-radius: 48px;
opacity: 0;
animation: colorBleed 8s ease-in-out infinite;
pointer-events: none
}

@keyframes colorBleed {

0%,
100% {
opacity: 0;
transform: translate(0, 0)
}

50% {
opacity: .08;
transform: translate(-60px, -60px)
}
}

.cntct-pg .form-sect__inner {
max-width: 1170px;
margin: 0 auto;
position: relative;
z-index: 1
}

.cntct-pg .form-sect__layout {
display: grid;
grid-template-columns: 1fr 340px;
gap: 80px;
align-items: start
}

.cntct-pg .form-sect__main-form {
background: #FFFDFA;
padding: 40px;
border-radius: 20px;
box-shadow: 2px 10px 44px -1px #0032371a
}

.cntct-pg .form-sect__form-title {
font-size: 40px;
line-height: 1.1;
font-weight: 700;
color: #003237;
margin: 0 0 24px
}

.cntct-pg .form-sect__form-desc {
font-size: 14px;
line-height: 1.7;
color: #003237;
margin: 0 0 40px;
opacity: .75
}

.cntct-pg .form-grp {
margin-bottom: 24px
}

.cntct-pg .form-grp__label {
display: block;
font-size: 14px;
line-height: 1.4;
font-weight: 700;
color: #003237;
margin-bottom: 8px
}

.cntct-pg .form-grp__input {
width: 100%;
padding: 16px;
border: 2px solid #00323726;
border-radius: 6px;
font-size: 14px;
line-height: 1.4;
color: #003237;
background: #FFFDFA;
transition: border-color .12s ease-out, box-shadow .12s ease-out
}

.cntct-pg .form-grp__input::placeholder {
color: #00323766;
font-size: 13px
}

.cntct-pg .form-grp__input:focus {
outline: none;
border-color: #FF3D64;
box-shadow: inset 2px 2px 3px #ff3d6414
}

.cntct-pg .form-grp__input:hover:not(:focus) {
border-color: #00323740
}

.cntct-pg .form-grp__textarea {
width: 100%;
padding: 16px;
border: 2px solid #00323726;
border-radius: 6px;
font-size: 14px;
line-height: 1.7;
color: #003237;
background: #FFFDFA;
min-height: 140px;
resize: vertical;
transition: border-color .12s ease-out, box-shadow .12s ease-out
}

.cntct-pg .form-grp__textarea::placeholder {
color: #00323766;
font-size: 13px
}

.cntct-pg .form-grp__textarea:focus {
outline: none;
border-color: #FF3D64;
box-shadow: inset 2px 2px 3px #ff3d6414
}

.cntct-pg .form-grp__textarea:hover:not(:focus) {
border-color: #00323740
}

.cntct-pg .rating-block {
margin-bottom: 24px
}

.cntct-pg .rating-block__label {
display: block;
font-size: 14px;
line-height: 1.4;
font-weight: 700;
color: #003237;
margin-bottom: 16px
}

.cntct-pg .rating-block__options {
display: flex;
gap: 8px;
flex-wrap: wrap
}

.cntct-pg .rating-opt {
position: relative
}

.cntct-pg .rating-opt__input {
position: absolute;
opacity: 0;
pointer-events: none
}

.cntct-pg .rating-opt__label {
display: flex;
align-items: center;
justify-content: center;
width: 56px;
height: 56px;
border: 2px solid #00323726;
border-radius: 48px;
font-size: 14px;
font-weight: 700;
color: #003237;
background: #FFFDFA;
cursor: pointer;
transition: border-color .1s ease-out, background .1s ease-out, color .1s ease-out, transform .08s ease-out;
user-select: none
}

.cntct-pg .rating-opt__label:hover {
border-color: #FF3D64;
transform: translateY(-2px)
}

.cntct-pg .rating-opt__input:checked+.rating-opt__label {
background: #FF3D64;
border-color: #FF3D64;
color: #FFFDFA;
animation: ratingFlash .15s ease-out
}

@keyframes ratingFlash {
0% {
transform: scale(1)
}

50% {
transform: scale(1.1)
}

100% {
transform: scale(1)
}
}

.cntct-pg .rating-opt__input:focus+.rating-opt__label {
box-shadow: 0 0 0 3px #ff3d6433
}

.cntct-pg .privacy-check {
margin-bottom: 24px;
display: flex;
align-items: start;
gap: 8px
}

.cntct-pg .privacy-check__input {
width: 20px;
height: 20px;
flex-shrink: 0;
margin-top: 2px;
cursor: pointer;
accent-color: #FF3D64
}

.cntct-pg .privacy-check__label {
font-size: 14px;
line-height: 1.7;
color: #003237;
opacity: .75;
cursor: pointer;
user-select: none
}

.cntct-pg .privacy-check__label a {
color: #FF3D64;
text-decoration: none;
position: relative;
transition: color .1s ease-out
}

.cntct-pg .privacy-check__label a::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 1px;
background: #FF3D64;
transform: scaleX(0);
transform-origin: center;
transition: transform .12s ease-out
}

.cntct-pg .privacy-check__label a:hover::after {
transform: scaleX(1)
}

.cntct-pg .form-submit {
width: 100%;
padding: 16px 40px;
border: none;
border-radius: 6px;
font-size: 14px;
font-weight: 700;
color: #FFFDFA;
background: linear-gradient(135deg, #FF3D64 0%, #003237 100%);
background-size: 200% 200%;
background-position: 0 50%;
cursor: pointer;
transition: background-position .15s ease-out, transform .08s ease-out, box-shadow .12s ease-out;
box-shadow: 2px 5px 14px -1px #ff3d6414;
text-transform: uppercase;
letter-spacing: .05em
}

.cntct-pg .form-submit:hover {
background-position: 100% 50%;
transform: translateY(-1px);
box-shadow: 2px 10px 44px -1px #ff3d641a
}

.cntct-pg .form-submit:active {
transform: translateY(0);
box-shadow: inset 2px 3px 4px #00323726
}

.cntct-pg .form-submit:focus {
outline: 3px solid #ff3d644d;
outline-offset: 2px
}

.cntct-pg .form-sect__sidebar {
position: sticky;
top: 80px
}

.cntct-pg .contact-card {
background: #FFFDFA;
padding: 40px;
border-radius: 20px;
box-shadow: 2px 5px 14px -1px #00323714 inset 1px 1px 3px #0032370a
}

.cntct-pg .contact-card__title {
font-size: 29px;
line-height: 1.4;
font-weight: 300;
color: #003237;
margin: 0 0 24px
}

.cntct-pg .contact-card__item {
margin-bottom: 24px
}

.cntct-pg .contact-card__item:last-child {
margin-bottom: 0
}

.cntct-pg .contact-card__label {
font-size: 14px;
line-height: 1.4;
font-weight: 700;
color: #003237;
margin-bottom: 8px;
display: block;
text-transform: uppercase;
letter-spacing: .05em;
opacity: .6
}

.cntct-pg .contact-card__value {
font-size: 14px;
line-height: 1.7;
color: #003237;
margin: 0
}

.cntct-pg .contact-card__value a {
color: #003237;
text-decoration: none;
position: relative;
display: inline-block;
transition: color .12s ease-out
}

.cntct-pg .contact-card__value a::before {
content: '';
position: absolute;
left: 50%;
right: 50%;
bottom: 0;
height: 2px;
background: #FF3D64;
transition: left .15s ease-out, right .15s ease-out
}

.cntct-pg .contact-card__value a:hover {
color: #FF3D64
}

.cntct-pg .contact-card__value a:hover::before {
left: 0;
right: 0
}

.cntct-pg .feature-strip {
margin-top: 40px;
padding-top: 40px;
border-top: 2px dashed #ff3d6433
}

.cntct-pg .feature-strip__row {
display: flex;
gap: 24px;
justify-content: space-between
}

.cntct-pg .feature-item {
flex: 1;
text-align: center
}

.cntct-pg .feature-item__icon {
width: 48px;
height: 48px;
margin: 0 auto 8px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 48px;
background: linear-gradient(135deg, #ff3d641a 0%, #0032371a 100%)
}

.cntct-pg .feature-item__icon svg {
width: 24px;
height: 24px
}

.cntct-pg .feature-item__label {
font-size: 14px;
line-height: 1.4;
color: #003237;
opacity: .75
}

@media (max-width: 1024px) {
.cntct-pg .tblock {
padding: 40px 24px;
gap: 24px
}

.cntct-pg .tblock__img-strip {
width: 180px
}

.cntct-pg .tblock__content {
padding-left: 24px
}

.cntct-pg .tblock__heading {
font-size: 40px
}

.cntct-pg .tblock__deco {
width: 200px;
height: 280px
}

.cntct-pg .form-sect {
padding: 40px 24px
}

.cntct-pg .form-sect__layout {
grid-template-columns: 1fr;
gap: 40px
}

.cntct-pg .form-sect__sidebar {
position: static
}

.cntct-pg .feature-strip__row {
gap: 16px
}
}

@media (max-width: 768px) {
.cntct-pg .tblock {
flex-direction: column;
padding: 24px 16px;
gap: 16px
}

.cntct-pg .tblock__img-strip {
width: 100%;
height: 200px
}

.cntct-pg .tblock__content {
padding-left: 0
}

.cntct-pg .tblock__heading {
font-size: 29px
}

.cntct-pg .tblock__deco {
display: none
}

.cntct-pg .form-sect {
padding: 24px 16px
}

.cntct-pg .form-sect__main-form {
padding: 24px
}

.cntct-pg .form-sect__form-title {
font-size: 29px
}

.cntct-pg .contact-card {
padding: 24px
}

.cntct-pg .rating-block__options {
justify-content: center
}

.cntct-pg .feature-strip__row {
flex-direction: column;
gap: 24px
}
}

@media (max-width: 480px) {
.cntct-pg .rating-opt__label {
width: 48px;
height: 48px;
font-size: 13px
}

.cntct-pg .form-submit {
padding: 16px 24px
}
}

.success-pg {
background: linear-gradient(180deg, #FFFDFA 0%, #fff 100%);
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 40px 16px
}

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

.success-pg .icon-box {
width: 120px;
height: 120px;
margin: 0 auto 40px;
position: relative;
background: #FFFDFA;
border-radius: 48px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 2px 5px 14px -1px #ff3d6414
}

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

.success-pg .icon-box circle {
fill: none;
stroke: #FF3D64;
stroke-width: 3;
stroke-linecap: round;
stroke-dasharray: 166;
stroke-dashoffset: 166;
animation: draw-circle .6s ease-out .1s forwards
}

.success-pg .icon-box polyline {
fill: none;
stroke: #FF3D64;
stroke-width: 3;
stroke-linecap: round;
stroke-linejoin: round;
stroke-dasharray: 48;
stroke-dashoffset: 48;
animation: draw-check .4s ease-out .5s forwards
}

@keyframes draw-circle {
to {
stroke-dashoffset: 0
}
}

@keyframes draw-check {
to {
stroke-dashoffset: 0
}
}

.success-pg .msg-title {
font-size: 40px;
line-height: 1.1;
color: #003237;
margin: 0 0 16px
}

.success-pg .msg-text {
font-size: 14px;
line-height: 1.7;
color: #003237;
margin: 0 0 40px;
opacity: .75
}

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

.success-pg .btn-primary {
background: #FF3D64;
color: #FFFDFA;
border: none;
padding: 16px 40px;
font-size: 14px;
line-height: 1.4;
border-radius: 6px;
cursor: pointer;
text-decoration: none;
display: inline-block;
position: relative;
overflow: hidden;
box-shadow: 2px 1px 4px -1px #ff3d640d;
transition: box-shadow .12s ease-out
}

.success-pg .btn-primary::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(135deg, transparent 0%, #00323726 100%);
transition: left .15s ease-out
}

.success-pg .btn-primary:hover::before {
left: 100%
}

.success-pg .btn-primary:hover {
box-shadow: 2px 5px 14px -1px #ff3d6414
}

.success-pg .btn-secondary {
background: transparent;
color: #003237;
border: 2px solid #003237;
padding: 14px 40px;
font-size: 14px;
line-height: 1.4;
border-radius: 6px;
cursor: pointer;
text-decoration: none;
display: inline-block;
transition: background .1s linear, color .1s linear
}

.success-pg .btn-secondary:hover {
background: #003237;
color: #FFFDFA
}

.success-pg .info-block {
margin-top: 80px;
padding-top: 40px;
border-top: 1px solid #0032371a
}

.success-pg .info-title {
font-size: 14px;
line-height: 1.4;
color: #003237;
margin: 0 0 16px;
opacity: .6;
text-transform: uppercase;
letter-spacing: .08em
}

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

.success-pg .contact-list li {
font-size: 14px;
line-height: 1.7;
color: #003237
}

.success-pg .contact-list a {
color: #FF3D64;
text-decoration: none;
position: relative;
transition: opacity .08s linear
}

.success-pg .contact-list a:hover {
opacity: .7
}

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

.success-pg .icon-box {
width: 96px;
height: 96px;
margin-bottom: 24px
}

.success-pg .icon-box svg {
width: 48px;
height: 48px
}

.success-pg .msg-title {
font-size: 29px
}

.success-pg .actions {
flex-direction: column
}

.success-pg .btn-primary,
.success-pg .btn-secondary {
width: 100%
}

.success-pg .info-block {
margin-top: 40px;
padding-top: 24px
}
}