* {
box-sizing: border-box
}

body {
margin: 0;
font-family: 'Lexend', sans-serif
}

html {
scroll-behavior: auto
}

:focus {
outline: 2px dashed #0B82A3;
outline-offset: 3px;
animation: focus-rotate 3s linear infinite
}

@keyframes focus-rotate {
0% {
outline-offset: 3px
}

50% {
outline-offset: 5px
}

100% {
outline-offset: 3px
}
}

.site-header {
position: relative;
overflow: hidden
}

.header-nav-strip {
background-color: #0B82A3;
position: relative;
z-index: 10
}

.header-nav-strip-inner {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
display: flex;
align-items: center;
justify-content: flex-end;
min-height: 52px;
gap: 8px
}

.header-nav-strip-inner a {
color: #FFF;
font-family: 'Lexend', sans-serif;
font-size: 16px;
line-height: 1.5;
text-decoration: none;
padding: 8px 16px;
border-radius: 3px;
display: inline-block;
min-height: 44px;
display: flex;
align-items: center;
transition: background-color .5s ease-in-out, color .45s ease-in-out;
white-space: nowrap
}

.header-nav-strip-inner a:hover {
background-color: #ffffff26;
color: #FFF
}

.header-nav-strip-inner a.active-page {
background-color: #fff3;
font-weight: 700
}

.header-banner {
background: linear-gradient(135deg, #F4557C 0%, #c73060 55%, #0B82A3 100%);
position: relative
}

.header-banner::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(180deg, #0b82a32e 0%, #f4557c14 100%);
pointer-events: none
}

.header-banner-inner {
max-width: 1140px;
margin: 0 auto;
padding: 32px;
display: flex;
align-items: center;
gap: 32px;
position: relative;
z-index: 2
}

.logo-box {
flex-shrink: 0;
background-color: #1a2a3a;
border-radius: 3px;
padding: 8px;
box-shadow: 0 3px 6px 1px #f4557c12 0 7px 28px 1px #f4557c1c;
display: flex;
align-items: center;
justify-content: center;
min-width: 75px;
min-height: 75px
}

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

.header-tagline-box {
flex: 1
}

.header-tagline-box .tagline-label {
display: inline-block;
background-color: #ffffff2e;
color: #FFF;
font-family: 'Lexend', sans-serif;
font-size: 16px;
line-height: 1.5;
letter-spacing: .12em;
text-transform: uppercase;
padding: 8px 16px;
border-radius: 3px;
margin-bottom: 16px
}

.header-tagline-box .tagline-heading {
font-family: 'Lexend', sans-serif;
font-size: 40px;
font-weight: 700;
line-height: 1.1;
color: #FFF;
margin: 0 0 16px
}

.header-tagline-box .tagline-sub {
font-family: 'Lexend', sans-serif;
font-size: 18px;
line-height: 1.5;
color: #ffffffe0;
margin: 0;
max-width: 520px
}

.header-action-box {
flex-shrink: 0;
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 16px
}

.header-start-btn {
display: inline-flex;
align-items: center;
gap: 8px;
background-color: #FFF;
color: #0B82A3;
font-family: 'Lexend', sans-serif;
font-size: 18px;
font-weight: 700;
line-height: 1.5;
padding: 16px 32px;
border-radius: 24px;
text-decoration: none;
border: none;
cursor: pointer;
box-shadow: 0 7px 28px 1px #0b82a31c;
position: relative;
overflow: hidden;
transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
min-height: 56px;
white-space: nowrap
}

.header-start-btn::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background-color: #0B82A3;
transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 0
}

.header-start-btn:hover::after {
height: 100%
}

.header-start-btn:hover {
color: #FFF
}

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

.header-stat-row {
display: flex;
gap: 16px;
align-items: center
}

.header-stat-item {
text-align: center;
background-color: #ffffff1f;
border-radius: 3px;
padding: 8px 16px
}

.header-stat-item .stat-number {
display: block;
font-family: 'Lexend', sans-serif;
font-size: 22px;
font-weight: 700;
line-height: 1.1;
color: #FFF
}

.header-stat-item .stat-desc {
display: block;
font-family: 'Lexend', sans-serif;
font-size: 16px;
line-height: 1.5;
color: #fffc
}

.header-deco-shape {
position: absolute;
right: -40px;
bottom: -40px;
width: 220px;
height: 220px;
border-radius: 40px;
background-color: #ffffff0f;
transform: rotate(22deg);
pointer-events: none;
z-index: 1
}

.header-deco-shape-two {
position: absolute;
right: 120px;
top: -30px;
width: 110px;
height: 110px;
border-radius: 24px;
background-color: #ffffff0d;
transform: rotate(-14deg);
pointer-events: none;
z-index: 1
}

.site-footer {
background-color: #0B82A3;
position: relative
}

.footer-top-bar {
height: 4px;
background: linear-gradient(90deg, #F4557C 0%, #0B82A3 100%)
}

.footer-grid {
max-width: 1140px;
margin: 0 auto;
padding: 64px 32px 32px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px
}

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

.footer-logo-box {
background-color: #1a2a3a;
border-radius: 3px;
padding: 8px;
box-shadow: 0 3px 6px 1px #0b82a312;
display: inline-flex;
align-items: center;
justify-content: center;
width: 75px;
height: 75px
}

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

.footer-brand-name {
font-family: 'Lexend', sans-serif;
font-size: 22px;
font-weight: 700;
line-height: 1.1;
color: #FFF;
margin: 0
}

.footer-brand-desc {
font-family: 'Lexend', sans-serif;
font-size: 16px;
line-height: 1.5;
color: #ffffffc7;
margin: 0
}

.footer-founded {
font-family: 'Lexend', sans-serif;
font-size: 16px;
line-height: 1.5;
color: #fff9;
margin: 0
}

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

.footer-col-heading {
font-family: 'Lexend', sans-serif;
font-size: 18px;
font-weight: 700;
line-height: 1.5;
color: #FFF;
margin: 0 0 8px;
letter-spacing: .06em;
text-transform: uppercase
}

.footer-contact-item {
display: flex;
align-items: flex-start;
gap: 8px;
font-family: 'Lexend', sans-serif;
font-size: 16px;
line-height: 1.5;
color: #ffffffd1
}

.footer-contact-item a {
color: #ffffffd1;
text-decoration: none;
transition: color .45s ease-in-out
}

.footer-contact-item a:hover {
color: #FFF
}

.footer-contact-item .pe-icon {
flex-shrink: 0;
margin-top: 2px;
color: #ffffff8c;
font-size: 18px
}

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

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

.footer-links-list li a {
font-family: 'Lexend', sans-serif;
font-size: 16px;
line-height: 1.5;
color: #fffc;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 0;
min-height: 44px;
transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.footer-links-list li a:hover {
color: #FFF
}

.footer-divider {
max-width: 1140px;
margin: 0 auto;
border: none;
border-top: 1px solid #ffffff26
}

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

.footer-copyright {
font-family: 'Lexend', sans-serif;
font-size: 16px;
line-height: 1.5;
color: #fff9;
margin: 0
}

.footer-policy-links {
display: flex;
gap: 16px;
flex-wrap: wrap
}

.footer-policy-links a {
font-family: 'Lexend', sans-serif;
font-size: 16px;
line-height: 1.5;
color: #ffffffa6;
text-decoration: underline;
text-underline-offset: 3px;
transition: color .45s ease-in-out;
padding: 8px 0;
min-height: 44px;
display: inline-flex;
align-items: center
}

.footer-policy-links a:hover {
color: #FFF
}

@media (max-width: 1024px) {
.header-banner-inner {
flex-wrap: wrap;
gap: 32px
}

.header-action-box {
align-items: flex-start;
width: 100%
}

.header-stat-row {
flex-wrap: wrap
}

.header-tagline-box .tagline-heading {
font-size: 28px
}

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

.footer-brand-column {
grid-column: 1 / -1
}
}

@media (max-width: 640px) {
.header-nav-strip-inner {
flex-wrap: wrap;
justify-content: center;
padding: 8px 16px;
gap: 8px;
min-height: unset
}

.header-nav-strip-inner a {
font-size: 16px;
padding: 8px
}

.header-banner-inner {
padding: 32px 16px
}

.header-tagline-box .tagline-heading {
font-size: 22px
}

.header-tagline-box .tagline-sub {
font-size: 16px
}

.header-start-btn {
font-size: 16px;
padding: 16px
}

.footer-grid {
grid-template-columns: 1fr;
padding: 32px 16px 16px
}

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

.footer-policy-links {
gap: 8px
}
}

.consent-bar {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 8000;
background-color: #FFF;
box-shadow: 0 7px 28px 1px #0b82a31c;
border-radius: 0 0 3px 3px;
display: none;
opacity: 0;
transition: opacity .38s ease-in-out
}

.consent-bar.visible {
opacity: 1
}

.consent-bar-inner {
max-width: 1140px;
margin: 0 auto;
padding: 16px 32px;
display: flex;
align-items: flex-start;
gap: 32px;
flex-wrap: wrap
}

.consent-text-box {
flex: 1;
min-width: 240px
}

.consent-data-list {
margin: 8px 0 0;
padding: 0 0 0 16px;
font-family: 'Lexend', sans-serif;
font-size: 16px;
line-height: 1.5;
color: #2c3e50
}

.consent-data-list li {
margin-bottom: 4px
}

.consent-intro {
font-family: 'Lexend', sans-serif;
font-size: 16px;
line-height: 1.5;
color: #2c3e50;
margin: 0
}

.consent-headline {
font-family: 'Lexend', sans-serif;
font-size: 18px;
font-weight: 700;
line-height: 1.5;
color: #0B82A3;
margin: 0 0 8px
}

.consent-actions-box {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 8px;
flex-shrink: 0
}

.consent-accept-btn {
font-family: 'Lexend', sans-serif;
font-size: 16px;
font-weight: 700;
color: #FFF;
background-color: #0B82A3;
border: none;
border-radius: 3px;
padding: 8px 32px;
cursor: pointer;
min-height: 44px;
text-decoration: underline;
text-underline-offset: 2px;
transition: background-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.consent-accept-btn:hover {
background-color: #F4557C
}

.consent-decline-link {
font-family: 'Lexend', sans-serif;
font-size: 16px;
color: #2c3e50;
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
text-underline-offset: 2px;
padding: 8px 0;
min-height: 44px;
display: inline-flex;
align-items: center;
transition: color .45s ease-in-out
}

.consent-decline-link:hover {
color: #F4557C
}

.consent-opt-out-row {
width: 100%;
display: flex;
align-items: center;
gap: 8px;
padding: 8px 0 0
}

.consent-opt-out-row label {
font-family: 'Lexend', sans-serif;
font-size: 16px;
line-height: 1.5;
color: #2c3e50;
cursor: pointer
}

.consent-opt-out-row input[type="checkbox"] {
width: 18px;
height: 18px;
cursor: pointer;
accent-color: #0B82A3
}

.agreement-content {
max-width: 1140px;
margin: 0 auto;
padding: 64px 32px
}

.agreement-content p {
font-size: 18px;
line-height: 1.9;
color: #2d2d2d;
margin-bottom: 16px
}

.agreement-content strong,
.agreement-content b {
font-weight: 700;
color: #1a2a3a
}

.agreement-content ul,
.agreement-content ol {
margin: 16px 0 32px;
padding-left: 32px
}

.agreement-content ul {
list-style: none;
padding-left: 0
}

.agreement-content ul li {
padding-left: 32px;
position: relative
}

.agreement-content ul li::before {
content: "";
position: absolute;
left: 8px;
top: 13px;
width: 6px;
height: 6px;
border-radius: 3px;
background-color: #F4557C
}

.agreement-content ol {
list-style: decimal
}

.agreement-content ol li {
padding-left: 8px
}

.agreement-content li {
font-size: 18px;
line-height: 1.9;
color: #2d2d2d;
margin-bottom: 8px
}

.agreement-content li::marker {
color: #0B82A3;
font-weight: 700
}

.agreement-content table {
width: 100%;
border-collapse: collapse;
margin: 32px 0;
font-size: 16px;
line-height: 1.5;
box-shadow: 0 3px 6px 1px #f4557c12;
border-radius: 24px;
overflow: hidden
}

.agreement-content thead {
background-color: #0B82A3
}

.agreement-content thead th {
color: #FFF;
font-size: 16px;
font-weight: 700;
letter-spacing: .04em;
text-transform: uppercase;
padding: 16px 32px;
text-align: left;
border: none
}

.agreement-content tbody tr {
border-bottom: 1px solid #0b82a31f;
transition: background-color .5s ease-in-out
}

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

.agreement-content tbody tr:nth-child(even) {
background-color: #0b82a30a
}

.agreement-content tbody tr:hover {
background-color: #f4557c0d
}

.agreement-content td {
padding: 16px 32px;
color: #2d2d2d;
font-size: 16px;
line-height: 1.5;
vertical-align: top;
border: none
}

.agreement-content th {
padding: 16px 32px
}

.agreement-content div {
margin-bottom: 32px
}

.agreement-content div p:last-child {
margin-bottom: 0
}

@media (max-width: 1024px) {
.agreement-content {
padding: 64px 32px
}

.agreement-content p,
.agreement-content li {
font-size: 18px
}

.agreement-content table {
display: block;
overflow-x: auto;
border-radius: 24px
}
}

@media (max-width: 640px) {
.agreement-content {
padding: 32px 16px
}

.agreement-content p,
.agreement-content li {
font-size: 16px;
line-height: 1.9
}

.agreement-content thead th,
.agreement-content td {
padding: 16px
}

.agreement-content ul,
.agreement-content ol {
margin: 16px 0
}

.agreement-content div {
margin-bottom: 16px
}
}

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

.services .gradient-word {
font-style: italic
}

.services .dot-accent::after {
content: '';
display: inline-block;
width: 7px;
height: 7px;
background: #F4557C;
border-radius: 40px;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -2px
}

.services .bento-panel {
max-width: 1140px;
margin: 0 auto;
padding: 64px 32px;
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto;
gap: 16px
}

.services .bento-image-cell {
grid-column: 2;
grid-row: 1 / 3;
position: relative;
border-radius: 24px;
overflow: hidden;
min-height: 360px
}

.services .bento-image-cell img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.services .bento-image-cell:hover img {
transform: scale(1.04)
}

.services .bento-image-cell .image-gradient-overlay {
position: absolute;
inset: 0;
background: linear-gradient(277deg, #f4557c2e 0%, #0b82a31a 50%, transparent 100%);
pointer-events: none
}

.services .bento-curved-bg {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.services .bento-curved-bg svg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: .13
}

.services .bento-text-top {
grid-column: 1;
grid-row: 1;
background: #fdf1f5;
border-radius: 24px;
padding: 32px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
overflow: hidden
}

.services .bento-text-top .bento-curved-bg {
pointer-events: none
}

.services .bento-text-bottom {
grid-column: 1;
grid-row: 2;
background: #eaf5f9;
border-radius: 24px;
padding: 32px;
display: flex;
flex-direction: column;
justify-content: center
}

.services .bento-eyebrow {
font-size: 16px;
font-weight: 600;
color: #0B82A3;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 16px
}

.services .bento-heading {
font-size: 56px;
line-height: 1.1;
font-weight: 800;
color: #1b1b2e;
margin: 0 0 16px
}

.services .bento-subtext {
font-size: 18px;
line-height: 1.9;
color: #3a3a4a;
margin: 0
}

.services .bento-desc {
font-size: 16px;
line-height: 1.5;
color: #3a3a4a;
margin: 0
}

.services .bento-cta {
display: inline-block;
margin-top: 16px;
padding: 14px 32px;
background: #1b1b2e;
color: #fff;
font-size: 16px;
font-weight: 700;
border-radius: 3px;
text-decoration: none;
border: none;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .5s ease-in-out;
box-shadow: 0 7px 28px 1px #f4557c1c
}

.services .bento-cta::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #F4557C;
transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 0
}

.services .bento-cta:hover::before {
height: 100%
}

.services .bento-cta span {
position: relative;
z-index: 1
}

.services .divider-triangle {
width: 100%;
line-height: 0;
overflow: hidden
}

.services .divider-triangle svg {
display: block;
width: 100%
}

.services .offerings-area {
background: #fdf1f5;
padding: 64px 32px;
animation: desatcycle 8s ease-in-out infinite
}

@keyframes desatcycle {
0% {
filter: saturate(1)
}

50% {
filter: saturate(0.88)
}

100% {
filter: saturate(1)
}
}

.services .offerings-inner {
max-width: 1140px;
margin: 0 auto
}

.services .offerings-label {
font-size: 16px;
font-weight: 600;
color: #F4557C;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 8px
}

.services .offerings-heading {
font-size: 40px;
line-height: 1.1;
font-weight: 800;
color: #1b1b2e;
margin: 0 0 32px
}

.services .offerings-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16px
}

.services .offering-card {
background: #fff;
border-radius: 24px;
padding: 32px;
box-shadow: 0 3px 6px 1px #f4557c12;
transition: box-shadow .5s ease-in-out, transform .5s ease-in-out;
position: relative;
overflow: hidden
}

.services .offering-card:hover {
box-shadow: 0 8px 36px 1px #f4557c1f;
transform: translateY(-4px)
}

.services .offering-card .card-mask-reveal {
position: absolute;
inset: 0;
background: linear-gradient(277deg, #f4557c0f 0%, #0b82a30a 100%);
border-radius: 24px;
clip-path: circle(0% at 50% 50%);
transition: clip-path .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
pointer-events: none
}

.services .offering-card:hover .card-mask-reveal {
clip-path: circle(100% at 50% 50%)
}

.services .card-icon-wrap {
width: 48px;
height: 48px;
border-radius: 3px;
background: #fdf1f5;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px
}

.services .card-icon-wrap svg {
width: 26px;
height: 26px
}

.services .card-name {
font-size: 22px;
line-height: 1.1;
font-weight: 700;
color: #1b1b2e;
margin: 0 0 8px
}

.services .card-desc {
font-size: 16px;
line-height: 1.5;
color: #3a3a4a;
margin: 0 0 16px
}

.services .card-detail-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px
}

.services .card-detail-list li {
font-size: 16px;
line-height: 1.5;
color: #3a3a4a;
display: flex;
align-items: flex-start;
gap: 8px
}

.services .card-detail-list li .list-dot {
flex-shrink: 0;
width: 6px;
height: 6px;
border-radius: 40px;
background: #0B82A3;
margin-top: 8px
}

.services .card-link {
display: inline-block;
margin-top: 16px;
font-size: 16px;
font-weight: 700;
color: #1b1b2e;
text-decoration: none;
border-bottom: 2px solid #F4557C;
padding-bottom: 2px;
transition: color .5s ease-in-out;
background: none
}

.services .card-link:hover {
background: linear-gradient(277deg, #F4557C 0%, #0B82A3 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.services .divider-triangle-up {
width: 100%;
line-height: 0;
overflow: hidden
}

.services .divider-triangle-up svg {
display: block;
width: 100%
}

.services .reviews-area {
background: #fff;
padding: 64px 32px 96px
}

.services .reviews-inner {
max-width: 1140px;
margin: 0 auto
}

.services .reviews-top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: start;
margin-bottom: 64px
}

.services .reviews-heading-col {
display: flex;
flex-direction: column;
gap: 16px
}

.services .reviews-label {
font-size: 16px;
font-weight: 600;
color: #0B82A3;
letter-spacing: .08em;
text-transform: uppercase
}

.services .reviews-heading {
font-size: 40px;
line-height: 1.1;
font-weight: 800;
color: #1b1b2e;
margin: 0
}

.services .reviews-pull-quote {
font-size: 22px;
line-height: 1.5;
color: #F4557C;
font-style: italic;
font-weight: 600;
margin: 0;
padding: 16px 0 16px 16px;
border-top: 2px solid #F4557C
}

.services .reviews-body {
font-size: 16px;
line-height: 1.9;
color: #3a3a4a;
margin: 0
}

.services .reviews-cards {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

.services .review-card {
background: #fdf1f5;
border-radius: 24px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: 0 3px 6px 1px #f4557c12;
transition: box-shadow .6s ease-in-out
}

.services .review-card:hover {
box-shadow: 0 7px 28px 1px #f4557c1c
}

.services .review-person {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px
}

.services .review-portrait {
width: 64px;
height: 64px;
border-radius: 24px;
overflow: hidden;
flex-shrink: 0
}

.services .review-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block;
transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.services .review-portrait:hover img {
transform: scale(1.06)
}

.services .review-name {
font-size: 18px;
font-weight: 700;
color: #1b1b2e;
margin: 0 0 4px
}

.services .review-role {
font-size: 16px;
color: #0B82A3;
margin: 0
}

.services .review-text {
font-size: 16px;
line-height: 1.9;
color: #3a3a4a;
margin: 0
}

.services .review-card-noimg {
background: #eaf5f9;
border-radius: 24px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: 0 3px 6px 1px #0b82a312;
transition: box-shadow .6s ease-in-out
}

.services .review-card-noimg:hover {
box-shadow: 0 7px 28px 1px #0b82a31c
}

.services .review-initials {
width: 64px;
height: 64px;
border-radius: 24px;
background: #0B82A3;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.services .review-initials span {
font-size: 22px;
font-weight: 800;
color: #fff
}

.services .circles-deco {
position: absolute;
pointer-events: none;
overflow: hidden;
inset: 0
}

.services .circles-deco svg {
position: absolute;
top: -40px;
right: -40px;
opacity: .07;
width: 320px;
height: 320px
}

.services .bento-text-top {
position: relative
}

@media (max-width: 1024px) {
.services .bento-panel {
grid-template-columns: 1fr;
grid-template-rows: auto auto auto;
padding: 64px 32px
}

.services .bento-image-cell {
grid-column: 1;
grid-row: 1;
min-height: 280px
}

.services .bento-text-top {
grid-column: 1;
grid-row: 2
}

.services .bento-text-bottom {
grid-column: 1;
grid-row: 3
}

.services .bento-heading {
font-size: 40px
}

.services .offerings-grid {
grid-template-columns: 1fr 1fr
}

.services .reviews-top {
grid-template-columns: 1fr;
gap: 16px
}

.services .reviews-cards {
grid-template-columns: 1fr
}
}

@media (max-width: 640px) {
.services .bento-panel {
padding: 32px 16px;
gap: 8px
}

.services .bento-heading {
font-size: 28px
}

.services .bento-text-top,
.services .bento-text-bottom {
padding: 16px
}

.services .offerings-area {
padding: 32px 16px
}

.services .offerings-grid {
grid-template-columns: 1fr
}

.services .offerings-heading {
font-size: 28px
}

.services .reviews-area {
padding: 32px 16px 64px
}

.services .reviews-heading {
font-size: 28px
}

.services .reviews-cards {
grid-template-columns: 1fr
}
}

.prime {
overflow-x: hidden
}

.prime .grain-bg {
position: relative;
background-color: #f2ede8;
padding: 96px 0 0
}

.prime .grain-bg::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.06'/%3E%3C/svg%3E");
background-size: 200px 200px;
pointer-events: none;
z-index: 0
}

.prime .grain-bg::after {
content: "";
position: absolute;
bottom: -1px;
left: 0;
width: 100%;
line-height: 0;
z-index: 2
}

.prime .grain-bg .pulse-outline {
position: absolute;
top: 50%;
right: 8%;
transform: translateY(-50%);
width: 320px;
height: 320px;
border: 2px solid #f4557c26;
border-radius: 40px;
animation: pulse-step 2.8s steps(4, end) infinite;
pointer-events: none;
z-index: 0
}

.prime .grain-bg .pulse-outline-2 {
position: absolute;
top: 50%;
right: 8%;
transform: translateY(-50%);
width: 380px;
height: 380px;
border: 1px solid #0b82a31a;
border-radius: 40px;
animation: pulse-step 2.8s steps(4, end) infinite .7s;
pointer-events: none;
z-index: 0
}

@keyframes pulse-step {

0%,
100% {
opacity: 1
}

25% {
opacity: .4
}

50% {
opacity: .9
}

75% {
opacity: .3
}
}

.prime .title-reveal {
animation: clip-reveal .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

@keyframes clip-reveal {
from {
clip-path: inset(0 0 100% 0)
}

to {
clip-path: inset(0 0 0% 0)
}
}

.prime .title-reveal-delay {
animation: clip-reveal .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .2s both
}

.prime .title-reveal-late {
animation: clip-reveal .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) .4s both
}

.prime .grain-bg .max-bound {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
position: relative;
z-index: 1;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 64px
}

.prime .grain-bg .text-zone {
flex: 1 1 520px;
padding: 64px 0 96px
}

.prime .grain-bg .text-zone .eyebrow {
display: inline-block;
font-size: 16px;
line-height: 1.5;
letter-spacing: .12em;
text-transform: uppercase;
color: #0B82A3;
margin-bottom: 16px;
font-weight: 600
}

.prime .grain-bg .text-zone h1 {
font-size: 56px;
line-height: 1.1;
color: #1a1218;
margin-bottom: 16px;
font-weight: 800
}

.prime .grain-bg .text-zone h1 em {
font-style: italic;
color: #F4557C;
font-family: Georgia, serif
}

.prime .grain-bg .text-zone .problem-line {
font-size: 22px;
line-height: 1.5;
color: #4a3f48;
margin-bottom: 32px;
max-width: 480px
}

.prime .grain-bg .text-zone .solution-block {
background: #fff;
border-radius: 24px;
padding: 32px;
box-shadow: 0 7px 28px 1px #f4557c1c;
max-width: 460px
}

.prime .grain-bg .text-zone .solution-block p {
font-size: 18px;
line-height: 1.9;
color: #2c2530;
margin: 0
}

.prime .grain-bg .text-zone .action-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 32px;
margin-top: 32px
}

.prime .grain-bg .text-zone .btn-primary {
display: inline-block;
padding: 16px 32px;
background: #1a1218;
color: #fff;
font-size: 18px;
line-height: 1.5;
font-weight: 700;
border-radius: 3px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
border: none;
cursor: pointer
}

.prime .grain-bg .text-zone .btn-primary::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #F4557C;
transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 0
}

.prime .grain-bg .text-zone .btn-primary:hover::before {
height: 100%
}

.prime .grain-bg .text-zone .btn-primary span {
position: relative;
z-index: 1
}

.prime .grain-bg .text-zone .tagline {
font-size: 16px;
line-height: 1.5;
color: #7a6e78
}

.prime .grain-bg .image-zone {
flex: 0 0 380px;
padding-top: 32px;
position: relative
}

.prime .grain-bg .image-zone .img-frame {
position: relative;
border-radius: 24px;
overflow: hidden;
width: 100%
}

.prime .grain-bg .image-zone .img-frame img {
width: 100%;
height: 520px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prime .grain-bg .image-zone .img-frame:hover img {
transform: scale(1.05)
}

.prime .grain-bg .image-zone .img-frame .vignette {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 30% 20%, transparent 40%, #140a128c 100%);
pointer-events: none;
border-radius: 24px
}

.prime .grain-bg .image-zone .direction-arrow {
position: absolute;
bottom: -32px;
left: 50%;
transform: translateX(-50%);
display: flex;
flex-direction: column;
align-items: center;
gap: 8px
}

.prime .grain-bg .image-zone .direction-arrow svg {
animation: bounce-down 1.4s steps(3, end) infinite
}

@keyframes bounce-down {

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

50% {
transform: translateY(8px)
}
}

.prime .wave-divider {
line-height: 0;
margin-bottom: -1px
}

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

.prime .who-fits {
background: #fff;
padding: 96px 0;
position: relative
}

.prime .who-fits .pulse-bg-outline {
position: absolute;
top: 50%;
left: 4%;
transform: translateY(-50%);
width: 260px;
height: 260px;
border: 1px solid #0b82a317;
border-radius: 40px;
animation: pulse-step 3.2s steps(4, end) infinite .3s;
pointer-events: none
}

.prime .who-fits .max-bound {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 64px
}

.prime .who-fits .label-column {
flex: 0 0 300px;
padding-top: 8px
}

.prime .who-fits .label-column h2 {
font-size: 40px;
line-height: 1.1;
color: #1a1218;
font-weight: 800;
margin-bottom: 16px
}

.prime .who-fits .label-column h2 .dot {
display: inline-block;
width: 8px;
height: 8px;
background: #F4557C;
border-radius: 40px;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -4px
}

.prime .who-fits .label-column .aside-note {
font-size: 16px;
line-height: 1.9;
color: #7a6e78
}

.prime .who-fits .cards-column {
flex: 1 1 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px
}

.prime .who-fits .fit-card {
background: #fdf8f6;
border-radius: 24px;
padding: 32px;
position: relative;
overflow: hidden;
box-shadow: 0 3px 6px 1px #f4557c12;
transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .45s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prime .who-fits .fit-card:hover {
box-shadow: 0 8px 36px 1px #f4557c1f;
transform: translateY(-4px)
}

.prime .who-fits .fit-card .diagonal-stripe {
position: absolute;
top: 0;
right: 0;
width: 64px;
height: 64px;
overflow: hidden;
pointer-events: none
}

.prime .who-fits .fit-card .diagonal-stripe::after {
content: "";
position: absolute;
top: -20px;
right: -20px;
width: 80px;
height: 80px;
background: linear-gradient(277deg, #F4557C 50%, transparent 50%);
border-radius: 3px
}

.prime .who-fits .fit-card .card-icon {
width: 40px;
height: 40px;
margin-bottom: 16px;
color: #0B82A3
}

.prime .who-fits .fit-card h4 {
font-size: 18px;
line-height: 1.5;
color: #1a1218;
font-weight: 700;
margin-bottom: 8px
}

.prime .who-fits .fit-card p {
font-size: 16px;
line-height: 1.9;
color: #4a3f48;
margin: 0
}

.prime .who-fits .fit-card.not-fit {
background: #f5f0f8
}

.prime .who-fits .fit-card.not-fit .diagonal-stripe::after {
background: linear-gradient(277deg, #0B82A3 50%, transparent 50%)
}

.prime .wave-divider-2 {
line-height: 0;
margin-bottom: -1px
}

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

.prime .conditions {
background: #0B82A3;
padding: 96px 0;
position: relative
}

.prime .conditions .pulse-bg-outline {
position: absolute;
top: 30%;
right: 6%;
width: 300px;
height: 300px;
border: 1px solid #ffffff1a;
border-radius: 40px;
animation: pulse-step 2.6s steps(4, end) infinite 1s;
pointer-events: none
}

.prime .conditions .max-bound {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px
}

.prime .conditions .conditions-header {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 64px;
margin-bottom: 64px
}

.prime .conditions .conditions-header h2 {
font-size: 40px;
line-height: 1.1;
color: #fff;
font-weight: 800;
flex: 0 0 400px
}

.prime .conditions .conditions-header h2 .dot {
display: inline-block;
width: 8px;
height: 8px;
background: #F4557C;
border-radius: 40px;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -4px
}

.prime .conditions .conditions-header .header-body {
flex: 1 1 auto
}

.prime .conditions .conditions-header .header-body p {
font-size: 18px;
line-height: 1.9;
color: #ffffffd9;
margin: 0
}

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

.prime .conditions .condition-item {
background: #ffffff14;
border-radius: 24px;
padding: 32px;
position: relative;
overflow: hidden;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prime .conditions .condition-item:hover {
background: #ffffff24
}

.prime .conditions .condition-item .diagonal-stripe {
position: absolute;
top: 0;
right: 0;
width: 56px;
height: 56px;
overflow: hidden;
pointer-events: none
}

.prime .conditions .condition-item .diagonal-stripe::after {
content: "";
position: absolute;
top: -18px;
right: -18px;
width: 72px;
height: 72px;
background: linear-gradient(277deg, #f4557c99 50%, transparent 50%);
border-radius: 3px
}

.prime .conditions .condition-item .num {
font-size: 40px;
line-height: 1.1;
font-weight: 800;
color: #fff3;
margin-bottom: 8px;
font-family: Georgia, serif
}

.prime .conditions .condition-item h5 {
font-size: 18px;
line-height: 1.5;
color: #fff;
font-weight: 700;
margin-bottom: 8px
}

.prime .conditions .condition-item p {
font-size: 16px;
line-height: 1.9;
color: #ffffffc7;
margin: 0
}

.prime .wave-divider-3 {
line-height: 0;
margin-bottom: -1px
}

.prime .wave-divider-3 svg {
display: block;
width: 100%
}

.prime .support-section {
background: #fdf8f6;
padding: 96px 0;
position: relative
}

.prime .support-section .pulse-bg-outline {
position: absolute;
bottom: 10%;
left: 3%;
width: 200px;
height: 200px;
border: 1px solid #f4557c1a;
border-radius: 40px;
animation: pulse-step 3.5s steps(4, end) infinite .5s;
pointer-events: none
}

.prime .support-section .max-bound {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px
}

.prime .support-section .support-top {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 64px;
margin-bottom: 64px
}

.prime .support-section .support-top .image-block {
flex: 0 0 360px;
position: relative
}

.prime .support-section .support-top .image-block .img-wrap {
border-radius: 24px;
overflow: hidden;
position: relative
}

.prime .support-section .support-top .image-block .img-wrap img {
width: 100%;
height: 440px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prime .support-section .support-top .image-block .img-wrap:hover img {
transform: scale(1.05)
}

.prime .support-section .support-top .image-block .img-wrap .vignette {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 70% 20%, transparent 40%, #140a1273 100%);
pointer-events: none
}

.prime .support-section .support-top .text-block {
flex: 1 1 auto;
padding-top: 16px
}

.prime .support-section .support-top .text-block h2 {
font-size: 40px;
line-height: 1.1;
color: #1a1218;
font-weight: 800;
margin-bottom: 16px
}

.prime .support-section .support-top .text-block h2 .dot {
display: inline-block;
width: 8px;
height: 8px;
background: #F4557C;
border-radius: 40px;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -4px
}

.prime .support-section .support-top .text-block .body-text {
font-size: 18px;
line-height: 1.9;
color: #4a3f48;
margin-bottom: 32px;
max-width: 520px
}

.prime .support-section .support-top .text-block .pull-quote {
font-size: 22px;
line-height: 1.5;
color: #0B82A3;
font-style: italic;
font-family: Georgia, serif;
border-top: 2px solid #0b82a333;
padding-top: 16px;
max-width: 480px
}

.prime .support-section .people-row {
display: flex;
flex-direction: row;
gap: 32px
}

.prime .support-section .person-card {
flex: 1 1 auto;
background: #fff;
border-radius: 24px;
padding: 32px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
box-shadow: 0 3px 6px 1px #0b82a312;
position: relative;
overflow: hidden;
transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prime .support-section .person-card:hover {
box-shadow: 0 8px 36px 1px #0b82a31f
}

.prime .support-section .person-card .diagonal-stripe {
position: absolute;
top: 0;
right: 0;
width: 56px;
height: 56px;
overflow: hidden;
pointer-events: none
}

.prime .support-section .person-card .diagonal-stripe::after {
content: "";
position: absolute;
top: -18px;
right: -18px;
width: 72px;
height: 72px;
background: linear-gradient(277deg, #0B82A3 50%, transparent 50%);
border-radius: 3px
}

.prime .support-section .person-card .portrait {
width: 80px;
height: 80px;
border-radius: 40px;
overflow: hidden;
flex-shrink: 0
}

.prime .support-section .person-card .portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top
}

.prime .support-section .person-card .person-info h5 {
font-size: 18px;
line-height: 1.5;
color: #1a1218;
font-weight: 700;
margin-bottom: 8px
}

.prime .support-section .person-card .person-info .role {
font-size: 16px;
line-height: 1.5;
color: #0B82A3;
font-weight: 600;
margin-bottom: 8px
}

.prime .support-section .person-card .person-info p {
font-size: 16px;
line-height: 1.9;
color: #4a3f48;
margin: 0
}

.prime .wave-divider-4 {
line-height: 0;
margin-bottom: -1px
}

.prime .wave-divider-4 svg {
display: block;
width: 100%
}

.prime .long-value {
position: relative;
padding: 96px 0;
background: #1a1218
}

.prime .long-value .bg-image {
position: absolute;
inset: 0;
z-index: 0
}

.prime .long-value .bg-image img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.prime .long-value .bg-image::after {
content: "";
position: absolute;
inset: 0;
background: #140a12e0
}

.prime .long-value .pulse-bg-outline {
position: absolute;
top: 20%;
right: 5%;
width: 280px;
height: 280px;
border: 1px solid #f4557c1f;
border-radius: 40px;
animation: pulse-step 3s steps(4, end) infinite .8s;
pointer-events: none;
z-index: 1
}

.prime .long-value .max-bound {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
position: relative;
z-index: 1
}

.prime .long-value .value-header {
margin-bottom: 64px;
max-width: 640px
}

.prime .long-value .value-header h2 {
font-size: 40px;
line-height: 1.1;
color: #fff;
font-weight: 800;
margin-bottom: 16px
}

.prime .long-value .value-header h2 .dot {
display: inline-block;
width: 8px;
height: 8px;
background: #F4557C;
border-radius: 40px;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -4px
}

.prime .long-value .value-header p {
font-size: 18px;
line-height: 1.9;
color: #ffffffc7;
margin: 0
}

.prime .long-value .value-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
margin-bottom: 64px
}

.prime .long-value .value-item {
background: #ffffff0f;
border-radius: 24px;
padding: 32px;
position: relative;
overflow: hidden;
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prime .long-value .value-item:hover {
background: #ffffff1a
}

.prime .long-value .value-item .diagonal-stripe {
position: absolute;
top: 0;
right: 0;
width: 56px;
height: 56px;
overflow: hidden;
pointer-events: none
}

.prime .long-value .value-item .diagonal-stripe::after {
content: "";
position: absolute;
top: -18px;
right: -18px;
width: 72px;
height: 72px;
background: linear-gradient(277deg, #f4557c80 50%, transparent 50%);
border-radius: 3px
}

.prime .long-value .value-item h5 {
font-size: 18px;
line-height: 1.5;
color: #fff;
font-weight: 700;
margin-bottom: 8px
}

.prime .long-value .value-item p {
font-size: 16px;
line-height: 1.9;
color: #ffffffb8;
margin: 0
}

.prime .long-value .value-bottom {
display: flex;
flex-direction: row;
align-items: center;
gap: 64px
}

.prime .long-value .value-bottom .bottom-text {
flex: 1 1 auto
}

.prime .long-value .value-bottom .bottom-text p {
font-size: 18px;
line-height: 1.9;
color: #ffffffc7;
margin: 0
}

.prime .long-value .value-bottom .bottom-text .serif-accent {
font-size: 22px;
line-height: 1.5;
color: #F4557C;
font-style: italic;
font-family: Georgia, serif;
margin-top: 16px
}

.prime .long-value .value-bottom .cta-block {
flex: 0 0 auto
}

.prime .long-value .value-bottom .cta-block .btn-light {
display: inline-block;
padding: 16px 32px;
background: #fff;
color: #1a1218;
font-size: 18px;
line-height: 1.5;
font-weight: 700;
border-radius: 3px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prime .long-value .value-bottom .cta-block .btn-light::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #F4557C;
transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 0
}

.prime .long-value .value-bottom .cta-block .btn-light:hover::before {
height: 100%
}

.prime .long-value .value-bottom .cta-block .btn-light:hover {
color: #fff
}

.prime .long-value .value-bottom .cta-block .btn-light span {
position: relative;
z-index: 1
}

@media (max-width: 1024px) {
.prime .grain-bg .max-bound {
flex-direction: column;
gap: 32px
}

.prime .grain-bg .image-zone {
flex: 0 0 auto;
width: 100%
}

.prime .grain-bg .image-zone .img-frame img {
height: 360px
}

.prime .grain-bg .text-zone h1 {
font-size: 40px
}

.prime .who-fits .max-bound {
flex-direction: column;
gap: 32px
}

.prime .who-fits .label-column {
flex: 0 0 auto
}

.prime .conditions .conditions-header {
flex-direction: column;
gap: 16px
}

.prime .conditions .conditions-header h2 {
flex: 0 0 auto
}

.prime .conditions .conditions-grid {
grid-template-columns: 1fr 1fr
}

.prime .support-section .support-top {
flex-direction: column;
gap: 32px
}

.prime .support-section .support-top .image-block {
flex: 0 0 auto;
width: 100%
}

.prime .support-section .support-top .image-block .img-wrap img {
height: 320px
}

.prime .long-value .value-grid {
grid-template-columns: 1fr
}

.prime .long-value .value-bottom {
flex-direction: column;
gap: 32px;
align-items: flex-start
}

.prime .grain-bg .pulse-outline,
.prime .grain-bg .pulse-outline-2 {
display: none
}
}

@media (max-width: 640px) {
.prime .grain-bg {
padding: 64px 0 0
}

.prime .grain-bg .text-zone {
padding: 32px 0 64px
}

.prime .grain-bg .text-zone h1 {
font-size: 28px
}

.prime .grain-bg .text-zone .problem-line {
font-size: 18px
}

.prime .grain-bg .text-zone .action-row {
flex-direction: column;
align-items: flex-start;
gap: 16px
}

.prime .who-fits .cards-column {
grid-template-columns: 1fr
}

.prime .who-fits .label-column h2 {
font-size: 28px
}

.prime .conditions .conditions-grid {
grid-template-columns: 1fr
}

.prime .conditions .conditions-header h2 {
font-size: 28px
}

.prime .support-section .people-row {
flex-direction: column
}

.prime .long-value .value-header h2 {
font-size: 28px
}

.prime .who-fits,
.prime .conditions,
.prime .support-section,
.prime .long-value {
padding: 64px 0
}

.prime .who-fits .max-bound,
.prime .conditions .max-bound,
.prime .support-section .max-bound,
.prime .long-value .max-bound {
padding: 0 16px
}

.prime .grain-bg .max-bound {
padding: 0 16px
}
}

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

.contact-us-page .page-band {
max-width: 1140px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px
}

.contact-us-page .cascade-child {
opacity: 0;
transform: translateY(18px);
animation: cascade-in .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.contact-us-page .cascade-child:nth-child(1) {
animation-delay: .08s
}

.contact-us-page .cascade-child:nth-child(2) {
animation-delay: .18s
}

.contact-us-page .cascade-child:nth-child(3) {
animation-delay: .28s
}

.contact-us-page .cascade-child:nth-child(4) {
animation-delay: .38s
}

.contact-us-page .cascade-child:nth-child(5) {
animation-delay: .48s
}

@keyframes cascade-in {
to {
opacity: 1;
transform: translateY(0)
}
}

.contact-us-page .dot-accent::after {
content: '';
display: inline-block;
width: 7px;
height: 7px;
border-radius: 40px;
background: #F4557C;
margin-left: 8px;
vertical-align: middle;
position: relative;
top: -2px
}

.contact-us-page .wavy-divider {
width: 100%;
overflow: hidden;
line-height: 0;
height: 32px
}

.contact-us-page .wavy-divider svg {
display: block;
width: 100%
}

.contact-us-page .wavy-divider-2 {
width: 100%;
overflow: hidden;
line-height: 0;
height: 32px
}

.contact-us-page .wavy-divider-2 svg {
display: block;
width: 100%
}

.contact-us-page .serif-word {
font-style: italic;
font-family: Georgia, 'Times New Roman', serif
}

.contact-us-page .gradient-link {
color: #0B82A3;
text-decoration: none;
transition: color .5s ease-in-out
}

.contact-us-page .gradient-link:hover {
background: linear-gradient(277deg, #F4557C 50%, #0B82A3 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.contact-us-page .corner-border {
position: relative
}

.contact-us-page .corner-border::before,
.contact-us-page .corner-border::after {
content: '';
position: absolute;
width: 24px;
height: 24px;
pointer-events: none
}

.contact-us-page .corner-border::before {
top: 0;
left: 0;
border-top: 2px solid #0B82A3;
border-left: 2px solid #0B82A3;
border-radius: 3px 0 0 0
}

.contact-us-page .corner-border::after {
bottom: 0;
right: 0;
border-bottom: 2px solid #F4557C;
border-right: 2px solid #F4557C;
border-radius: 0 0 3px 0
}

.contact-us-page .title-strip {
background: #1a2535;
padding: 64px 0 48px;
position: relative;
overflow: hidden
}

.contact-us-page .title-strip-quote {
position: absolute;
font-size: 280px;
line-height: 1.1;
color: #f4557c12;
font-family: Georgia, serif;
top: -40px;
right: 64px;
pointer-events: none;
user-select: none;
z-index: 0
}

.contact-us-page .title-strip-inner {
position: relative;
z-index: 1;
max-width: 1140px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px
}

.contact-us-page .title-strip-label {
font-size: 16px;
line-height: 1.5;
color: #ffffff8c;
text-transform: uppercase;
letter-spacing: .18em;
margin-bottom: 16px;
display: block
}

.contact-us-page .title-strip-heading {
font-size: 72px;
line-height: 1.1;
color: #fff;
margin: 0 0 16px;
font-weight: 700
}

.contact-us-page .title-strip-sub {
font-size: 18px;
line-height: 1.5;
color: #ffffffb8;
max-width: 480px;
margin: 0
}

.contact-us-page .title-strip-image-col {
display: flex;
align-items: flex-end
}

.contact-us-page .title-strip-image-frame {
width: 260px;
height: 200px;
overflow: hidden;
border-radius: 3px;
filter: grayscale(1) contrast(1.15);
box-shadow: 0 8px 36px 1px #f4557c1f
}

.contact-us-page .title-strip-image-frame img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.contact-us-page .title-strip-image-frame:hover img {
transform: scale(1.06)
}

.contact-us-page .title-strip-columns {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 64px
}

.contact-us-page .title-strip-text-col {
flex: 1
}

.contact-us-page .form-strip {
background: #f2f6f9;
padding: 64px 0;
position: relative
}

.contact-us-page .form-strip::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 5px;
height: 100%;
background: linear-gradient(277deg, #F4557C 50%, #0B82A3 100%);
border-radius: 3px 0 0 3px
}

.contact-us-page .form-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start
}

.contact-us-page .form-description-block {
padding-top: 8px
}

.contact-us-page .form-description-heading {
font-size: 40px;
line-height: 1.1;
color: #1a2535;
margin: 0 0 16px;
font-weight: 700
}

.contact-us-page .form-description-body {
font-size: 18px;
line-height: 1.9;
color: #2d3f52;
margin: 0 0 32px
}

.contact-us-page .pull-quote-block {
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-start;
margin-top: 32px
}

.contact-us-page .pull-quote-body {
font-size: 16px;
line-height: 1.9;
color: #2d3f52;
flex: 1;
margin: 0
}

.contact-us-page .pull-quote-aside {
font-size: 22px;
line-height: 1.5;
color: #F4557C;
font-style: italic;
font-family: Georgia, serif;
max-width: 160px;
flex-shrink: 0;
border-top: 2px solid #F4557C;
padding-top: 8px
}

.contact-us-page .contact-form {
background: #fff;
border-radius: 24px;
padding: 32px;
box-shadow: 0 7px 28px 1px #f4557c1c;
position: relative
}

.contact-us-page .form-row {
display: flex;
flex-direction: row;
gap: 16px;
margin-bottom: 16px
}

.contact-us-page .form-field {
display: flex;
flex-direction: column;
flex: 1
}

.contact-us-page .form-field-full {
display: flex;
flex-direction: column;
margin-bottom: 16px
}

.contact-us-page .field-label {
font-size: 16px;
line-height: 1.5;
color: #1a2535;
font-weight: 600;
margin-bottom: 8px
}

.contact-us-page .field-input {
border: 1.5px solid #c8d6e0;
border-radius: 3px;
padding: 12px 16px;
font-size: 16px;
line-height: 1.5;
color: #1a2535;
background: #fff;
box-shadow: inset 0 2px 6px #0b82a30f;
transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out;
outline: none;
width: 100%;
box-sizing: border-box;
appearance: none;
-webkit-appearance: none
}

.contact-us-page .field-input::placeholder {
color: #8ba5b5;
transition: opacity .55s ease-in-out
}

.contact-us-page .field-input:focus::placeholder {
opacity: 0
}

.contact-us-page .field-input:focus {
border-color: #0B82A3;
box-shadow: inset 0 2px 6px #0b82a31a
}

.contact-us-page .field-select {
border: 1.5px solid #c8d6e0;
border-radius: 3px;
padding: 12px 16px;
font-size: 16px;
line-height: 1.5;
color: #1a2535;
background: #fff;
box-shadow: inset 0 2px 6px #0b82a30f;
transition: border-color .5s ease-in-out;
outline: none;
width: 100%;
box-sizing: border-box;
cursor: pointer
}

.contact-us-page .field-select:focus {
border-color: #0B82A3
}

.contact-us-page .radio-group-label {
font-size: 16px;
line-height: 1.5;
color: #1a2535;
font-weight: 600;
margin-bottom: 8px;
display: block
}

.contact-us-page .radio-group {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
margin-bottom: 16px
}

.contact-us-page .radio-option {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
cursor: pointer
}

.contact-us-page .radio-option input[type="radio"] {
accent-color: #0B82A3;
width: 18px;
height: 18px;
cursor: pointer
}

.contact-us-page .radio-option-label {
font-size: 16px;
line-height: 1.5;
color: #2d3f52;
cursor: pointer
}

.contact-us-page .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
margin-bottom: 16px;
margin-top: 8px
}

.contact-us-page .privacy-checkbox {
accent-color: #0B82A3;
width: 18px;
height: 18px;
margin-top: 2px;
flex-shrink: 0;
cursor: pointer
}

.contact-us-page .privacy-text {
font-size: 16px;
line-height: 1.5;
color: #2d3f52
}

.contact-us-page .privacy-text a {
color: #0B82A3;
text-decoration: none;
transition: color .5s ease-in-out
}

.contact-us-page .privacy-text a:hover {
color: #F4557C
}

.contact-us-page .submit-button {
display: inline-block;
background: #1a2535;
color: #fff;
border: none;
border-radius: 3px;
padding: 16px 32px;
font-size: 16px;
line-height: 1.5;
font-weight: 600;
cursor: pointer;
width: 100%;
position: relative;
overflow: hidden;
transition: color .5s ease-in-out;
z-index: 1;
letter-spacing: .04em
}

.contact-us-page .submit-button::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: linear-gradient(277deg, #F4557C 50%, #0B82A3 100%);
transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: -1
}

.contact-us-page .submit-button:hover::before {
height: 100%
}

.contact-us-page .submit-button:hover {
color: #fff
}

.contact-us-page .submit-button:focus {
outline: 2px solid #0B82A3;
outline-offset: 3px
}

.contact-us-page .info-strip {
background: #fff;
padding: 64px 0;
position: relative
}

.contact-us-page .info-strip::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 5px;
height: 100%;
background: #0B82A3;
border-radius: 0 3px 3px 0
}

.contact-us-page .info-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px;
align-items: start
}

.contact-us-page .info-card {
border-radius: 24px;
padding: 32px;
background: #f2f6f9;
box-shadow: 0 3px 6px 1px #0b82a312;
position: relative;
transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.contact-us-page .info-card:hover {
box-shadow: 0 7px 28px 1px #0b82a31c;
transform: translateY(-4px)
}

.contact-us-page .info-card-icon {
width: 40px;
height: 40px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: center
}

.contact-us-page .info-card-icon svg {
width: 36px;
height: 36px
}

.contact-us-page .info-card-heading {
font-size: 16px;
line-height: 1.5;
color: #0B82A3;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .12em;
margin: 0 0 8px
}

.contact-us-page .info-card-value {
font-size: 18px;
line-height: 1.5;
color: #1a2535;
font-weight: 600;
margin: 0 0 8px
}

.contact-us-page .info-card-detail {
font-size: 16px;
line-height: 1.5;
color: #4a6070;
margin: 0
}

.contact-us-page .comparison-block {
margin-top: 32px;
border-radius: 24px;
overflow: hidden;
box-shadow: 0 8px 36px 1px #f4557c1f;
display: flex;
flex-direction: row
}

.contact-us-page .comparison-side {
flex: 1;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px
}

.contact-us-page .comparison-side.left {
background: #1a2535;
color: #fff
}

.contact-us-page .comparison-side.right {
background: linear-gradient(277deg, #F4557C 50%, #0B82A3 100%);
color: #fff
}

.contact-us-page .comparison-label {
font-size: 16px;
line-height: 1.5;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .12em;
opacity: .75
}

.contact-us-page .comparison-heading {
font-size: 22px;
line-height: 1.5;
font-weight: 700;
margin: 0
}

.contact-us-page .comparison-text {
font-size: 16px;
line-height: 1.9;
margin: 0;
opacity: .88
}

.contact-us-page .comparison-divider {
width: 2px;
background: #fff3;
flex-shrink: 0
}

.contact-us-page .progress-rings-row {
display: flex;
flex-direction: row;
gap: 32px;
align-items: center;
justify-content: center;
margin-top: 32px;
flex-wrap: wrap
}

.contact-us-page .ring-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px
}

.contact-us-page .ring-label {
font-size: 16px;
line-height: 1.5;
color: #4a6070;
text-align: center
}

.contact-us-page .ring-svg {
width: 80px;
height: 80px
}

.contact-us-page .ring-percent {
font-size: 16px;
line-height: 1.5;
font-weight: 700;
fill: #1a2535
}

.contact-us-page .info-strip-heading {
font-size: 28px;
line-height: 1.5;
color: #1a2535;
font-weight: 700;
margin: 0 0 32px
}

.contact-us-page .info-bottom {
margin-top: 64px
}

.contact-us-page .info-bottom-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: start
}

.contact-us-page .image-showcase {
border-radius: 24px;
overflow: hidden;
box-shadow: 0 7px 28px 1px #f4557c1c
}

.contact-us-page .image-showcase img {
width: 100%;
height: 280px;
object-fit: cover;
display: block;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
filter: saturate(0.85) brightness(0.97)
}

.contact-us-page .image-showcase:hover img {
transform: scale(1.05)
}

.contact-us-page .response-metric {
display: flex;
flex-direction: column;
gap: 16px
}

.contact-us-page .metric-item {
display: flex;
flex-direction: column;
gap: 8px
}

.contact-us-page .metric-label {
font-size: 16px;
line-height: 1.5;
color: #4a6070
}

.contact-us-page .metric-number {
font-size: 40px;
line-height: 1.1;
font-weight: 700;
color: #1a2535
}

.contact-us-page .metric-bar-track {
height: 3px;
background: #dde8ee;
border-radius: 3px;
width: 100%;
position: relative
}

.contact-us-page .metric-bar-fill {
height: 3px;
border-radius: 3px;
background: linear-gradient(277deg, #F4557C 50%, #0B82A3 100%);
transition: width .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

@media (max-width: 1024px) {
.contact-us-page .title-strip-heading {
font-size: 56px
}

.contact-us-page .title-strip-columns {
gap: 32px
}

.contact-us-page .title-strip-image-frame {
width: 200px;
height: 160px
}

.contact-us-page .form-grid {
grid-template-columns: 1fr;
gap: 32px
}

.contact-us-page .info-grid {
grid-template-columns: 1fr 1fr
}

.contact-us-page .info-bottom-grid {
grid-template-columns: 1fr
}
}

@media (max-width: 640px) {
.contact-us-page .title-strip-heading {
font-size: 40px
}

.contact-us-page .title-strip-columns {
flex-direction: column;
gap: 32px;
align-items: flex-start
}

.contact-us-page .title-strip-image-frame {
width: 100%;
height: 160px
}

.contact-us-page .title-strip-image-col {
width: 100%
}

.contact-us-page .form-row {
flex-direction: column
}

.contact-us-page .info-grid {
grid-template-columns: 1fr
}

.contact-us-page .comparison-block {
flex-direction: column
}

.contact-us-page .comparison-divider {
width: 100%;
height: 2px
}

.contact-us-page .progress-rings-row {
gap: 16px
}

.contact-us-page .radio-group {
flex-direction: column
}

.contact-us-page .title-strip {
padding: 48px 0 32px
}

.contact-us-page .form-strip {
padding: 48px 0
}

.contact-us-page .info-strip {
padding: 48px 0
}

.contact-us-page .pull-quote-block {
flex-direction: column;
gap: 16px
}

.contact-us-page .pull-quote-aside {
max-width: 100%
}
}

.about-us-page {
overflow-x: hidden
}

.about-us-page *,
.about-us-page ::before,
.about-us-page ::after {
box-sizing: border-box
}

.about-us-page img {
display: block;
max-width: 100%
}

.about-us-page .accent-dot {
display: inline-block;
width: 7px;
height: 7px;
border-radius: 50%;
background: #F4557C;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -2px
}

.about-us-page .dot-row {
display: flex;
flex-direction: row;
gap: 8px;
align-items: center
}

.about-us-page .dot-row span {
width: 6px;
height: 6px;
border-radius: 50%;
background: #F4557C;
opacity: .35;
display: inline-block
}

.about-us-page .dot-row span:nth-child(2) {
opacity: .6;
width: 8px;
height: 8px
}

.about-us-page .dot-row span:nth-child(3) {
opacity: .85;
width: 6px;
height: 6px
}

.about-us-page .dot-row span:nth-child(4) {
opacity: .4;
width: 5px;
height: 5px
}

.about-us-page .dot-row span:nth-child(5) {
opacity: .7;
width: 7px;
height: 7px
}

.about-us-page .split-screen {
display: grid;
grid-template-columns: 3fr 1fr;
min-height: 480px;
position: relative
}

.about-us-page .split-left {
background: linear-gradient(277deg, #0B82A3 0%, #0B82A3 50%, #F4557C 100%);
padding: 64px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
overflow: hidden
}

.about-us-page .split-left::before {
content: '';
position: absolute;
width: 320px;
height: 320px;
border-radius: 50%;
border: 2px solid #ffffff14;
top: -80px;
right: -80px;
animation: slow-spin 28s linear infinite;
pointer-events: none
}

.about-us-page .split-left::after {
content: '';
position: absolute;
width: 180px;
height: 180px;
border-radius: 50%;
border: 1.5px solid #ffffff0d;
bottom: 32px;
left: 32px;
animation: slow-spin 40s linear infinite reverse;
pointer-events: none
}

@keyframes slow-spin {
from {
transform: rotate(0deg)
}

to {
transform: rotate(360deg)
}
}

.about-us-page .split-eyebrow {
font-size: 16px;
color: #ffffffb3;
text-transform: uppercase;
letter-spacing: .12em;
margin-bottom: 16px;
display: block
}

.about-us-page .split-heading {
font-size: 56px;
line-height: 1.1;
color: #FFF;
margin: 0 0 16px;
font-weight: 700
}

.about-us-page .split-heading em {
font-style: italic;
font-weight: 400
}

.about-us-page .split-description {
font-size: 18px;
line-height: 1.9;
color: #ffffffd9;
max-width: 540px;
margin: 0 0 32px
}

.about-us-page .split-dots-path {
display: flex;
flex-direction: row;
gap: 8px;
align-items: center
}

.about-us-page .split-dots-path span {
border-radius: 50%;
background: #fff6;
display: inline-block
}

.about-us-page .split-dots-path span:nth-child(1) {
width: 5px;
height: 5px
}

.about-us-page .split-dots-path span:nth-child(2) {
width: 8px;
height: 8px;
background: #ffffffa6
}

.about-us-page .split-dots-path span:nth-child(3) {
width: 5px;
height: 5px
}

.about-us-page .split-dots-path span:nth-child(4) {
width: 10px;
height: 10px;
background: #fffc
}

.about-us-page .split-dots-path span:nth-child(5) {
width: 5px;
height: 5px
}

.about-us-page .split-dots-path span:nth-child(6) {
width: 7px;
height: 7px;
background: #ffffff8c
}

.about-us-page .split-right {
position: relative;
overflow: hidden
}

.about-us-page .split-right img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.about-us-page .split-right:hover img {
transform: scale(1.05)
}

.about-us-page .split-right::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to right, #0b82a38c 0%, transparent 60%);
pointer-events: none
}

.about-us-page .zigzag-divider {
width: 100%;
overflow: hidden;
line-height: 0;
display: block
}

.about-us-page .zigzag-divider svg {
display: block;
width: 100%
}

.about-us-page .story-band {
background: #FFF;
padding: 96px 0 64px;
position: relative
}

.about-us-page .story-band::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to bottom, #f4557c08 0%, #0b82a30d 100%);
pointer-events: none
}

.about-us-page .story-container {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px
}

.about-us-page .story-grid {
display: grid;
grid-template-columns: 3fr 1fr;
gap: 64px;
align-items: start
}

.about-us-page .story-main {
display: flex;
flex-direction: column;
gap: 32px
}

.about-us-page .story-label {
font-size: 16px;
color: #0B82A3;
text-transform: uppercase;
letter-spacing: .1em;
font-weight: 600
}

.about-us-page .story-heading {
font-size: 40px;
line-height: 1.1;
color: #1e2a35;
margin: 0;
font-weight: 700
}

.about-us-page .story-body {
font-size: 18px;
line-height: 1.9;
color: #2c3e4a
}

.about-us-page .story-pull {
font-size: 22px;
line-height: 1.5;
color: #F4557C;
font-style: italic;
border-top: 2px solid #F4557C;
padding-top: 16px
}

.about-us-page .story-image-block {
position: relative;
display: flex;
flex-direction: column;
gap: 16px
}

.about-us-page .story-image-mask {
overflow: hidden;
border-radius: 3px 40px 3px 40px;
box-shadow: 0 7px 28px 1px #f4557c1c
}

.about-us-page .story-image-mask img {
width: 100%;
height: 280px;
object-fit: cover;
object-position: center;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.about-us-page .story-image-mask:hover img {
transform: scale(1.06)
}

.about-us-page .story-badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: linear-gradient(277deg, #0B82A3 0%, #F4557C 100%);
color: #FFF;
font-size: 16px;
padding: 8px 16px;
border-radius: 24px;
font-weight: 600;
align-self: flex-start;
box-shadow: 0 3px 6px 1px #f4557c12
}

.about-us-page .story-badge .pe-7s-camera {
font-size: 18px
}

.about-us-page .steps-band {
background: linear-gradient(to bottom, #f0f8fb 0%, #fdf0f4 100%);
padding: 96px 0;
position: relative
}

.about-us-page .steps-container {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px
}

.about-us-page .steps-top {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
margin-bottom: 64px;
gap: 16px
}

.about-us-page .steps-heading {
font-size: 40px;
line-height: 1.1;
color: #1e2a35;
margin: 0;
font-weight: 700
}

.about-us-page .steps-subtext {
font-size: 18px;
line-height: 1.5;
color: #3a4f5e;
max-width: 560px
}

.about-us-page .steps-row {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px;
position: relative
}

.about-us-page .steps-row::before {
content: '';
position: absolute;
top: 36px;
left: 12.5%;
right: 12.5%;
height: 2px;
background: linear-gradient(277deg, #0B82A3 0%, #F4557C 100%);
pointer-events: none;
z-index: 0
}

.about-us-page .step-item {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 16px;
position: relative;
z-index: 1;
opacity: 0;
transform: translateY(24px);
animation: col-appear .55s ease-in-out forwards
}

.about-us-page .step-item:nth-child(1) {
animation-delay: .1s
}

.about-us-page .step-item:nth-child(2) {
animation-delay: .3s
}

.about-us-page .step-item:nth-child(3) {
animation-delay: .5s
}

.about-us-page .step-item:nth-child(4) {
animation-delay: .7s
}

@keyframes col-appear {
from {
opacity: 0;
transform: translateY(24px)
}

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

.about-us-page .step-icon-ring {
width: 72px;
height: 72px;
border-radius: 50%;
background: #FFF;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 7px 28px 1px #0b82a31c;
position: relative;
flex-shrink: 0
}

.about-us-page .step-icon-ring .pe-7s-camera,
.about-us-page .step-icon-ring .pe-7s-light,
.about-us-page .step-icon-ring .pe-7s-photo,
.about-us-page .step-icon-ring .pe-7s-tools {
font-size: 28px;
color: #0B82A3
}

.about-us-page .step-number {
position: absolute;
top: -6px;
right: -6px;
width: 22px;
height: 22px;
border-radius: 50%;
background: #F4557C;
color: #FFF;
font-size: 16px;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
line-height: 1.1
}

.about-us-page .step-label {
font-size: 18px;
line-height: 1.5;
font-weight: 600;
color: #1e2a35;
margin: 0
}

.about-us-page .step-desc {
font-size: 16px;
line-height: 1.9;
color: #3a4f5e;
margin: 0
}

.about-us-page .team-band {
background: #FFF;
padding: 96px 0 64px;
position: relative
}

.about-us-page .team-band::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to bottom, #0b82a308 0%, #f4557c0a 100%);
pointer-events: none
}

.about-us-page .team-container {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
position: relative;
z-index: 1
}

.about-us-page .team-layout {
display: grid;
grid-template-columns: 1fr 3fr;
gap: 64px;
align-items: start
}

.about-us-page .team-sidebar {
display: flex;
flex-direction: column;
gap: 32px;
position: sticky;
top: 32px
}

.about-us-page .team-sidebar-heading {
font-size: 28px;
line-height: 1.1;
color: #1e2a35;
font-weight: 700;
margin: 0
}

.about-us-page .team-sidebar-text {
font-size: 16px;
line-height: 1.9;
color: #3a4f5e;
margin: 0
}

.about-us-page .team-image-pair {
display: flex;
flex-direction: column;
gap: 16px
}

.about-us-page .team-scene-img {
overflow: hidden;
border-radius: 3px;
box-shadow: 0 8px 36px 1px #0b82a31f
}

.about-us-page .team-scene-img img {
width: 100%;
height: 200px;
object-fit: cover;
object-position: center;
transition: transform .5s ease-in-out
}

.about-us-page .team-scene-img:hover img {
transform: scale(1.05)
}

.about-us-page .team-profiles {
display: flex;
flex-direction: column;
gap: 32px
}

.about-us-page .profile-card {
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-start;
background: linear-gradient(277deg, #0b82a30a 0%, #f4557c0a 100%);
border-radius: 24px;
padding: 32px;
box-shadow: 0 3px 6px 1px #f4557c12;
transition: box-shadow .5s ease-in-out, transform .5s ease-in-out
}

.about-us-page .profile-card:hover {
box-shadow: 0 7px 28px 1px #f4557c1c;
transform: translateY(-3px)
}

.about-us-page .profile-portrait {
width: 96px;
height: 96px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
box-shadow: 0 3px 6px 1px #0b82a312
}

.about-us-page .profile-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top
}

.about-us-page .profile-info {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1
}

.about-us-page .profile-name {
font-size: 22px;
line-height: 1.1;
font-weight: 700;
color: #1e2a35;
margin: 0
}

.about-us-page .profile-role {
font-size: 16px;
color: #0B82A3;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .08em
}

.about-us-page .profile-bio {
font-size: 16px;
line-height: 1.9;
color: #3a4f5e;
margin: 0
}

.about-us-page .profile-tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-top: 8px
}

.about-us-page .profile-tag {
font-size: 16px;
color: #F4557C;
background: #f4557c14;
border-radius: 3px;
padding: 4px 12px;
font-weight: 500
}

.about-us-page .values-band {
background: linear-gradient(to bottom, #0B82A3 0%, #1e2a35 100%);
padding: 96px 0;
position: relative;
overflow: hidden
}

.about-us-page .values-band .geo-spin {
position: absolute;
width: 400px;
height: 400px;
border-radius: 50%;
border: 2px solid #ffffff0d;
top: -100px;
right: -100px;
animation: slow-spin 35s linear infinite;
pointer-events: none
}

.about-us-page .values-band .geo-spin-small {
position: absolute;
width: 200px;
height: 200px;
border-radius: 50%;
border: 1.5px solid #ffffff12;
bottom: -50px;
left: 64px;
animation: slow-spin 22s linear infinite reverse;
pointer-events: none
}

.about-us-page .values-container {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
position: relative;
z-index: 1
}

.about-us-page .values-top {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: flex-end;
margin-bottom: 64px;
gap: 32px
}

.about-us-page .values-heading {
font-size: 40px;
line-height: 1.1;
color: #FFF;
font-weight: 700;
margin: 0;
max-width: 400px
}

.about-us-page .values-intro-text {
font-size: 18px;
line-height: 1.9;
color: #ffffffbf;
max-width: 420px;
margin: 0
}

.about-us-page .values-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.about-us-page .value-tile {
background: #ffffff0f;
border-radius: 24px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
border: 1px solid #ffffff1a;
transition: background .55s ease-in-out, transform .5s ease-in-out
}

.about-us-page .value-tile:hover {
background: #ffffff1a;
transform: translateY(-4px)
}

.about-us-page .value-icon {
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 3px;
background: linear-gradient(277deg, #F4557C 0%, #0B82A3 100%);
flex-shrink: 0
}

.about-us-page .value-icon .pe-7s-star,
.about-us-page .value-icon .pe-7s-loop,
.about-us-page .value-icon .pe-7s-users,
.about-us-page .value-icon .pe-7s-graph1,
.about-us-page .value-icon .pe-7s-display2,
.about-us-page .value-icon .pe-7s-check {
font-size: 22px;
color: #FFF
}

.about-us-page .value-tile-heading {
font-size: 22px;
line-height: 1.1;
color: #FFF;
font-weight: 700;
margin: 0
}

.about-us-page .value-tile-text {
font-size: 16px;
line-height: 1.9;
color: #ffffffbf;
margin: 0
}

.about-us-page .values-image-strip {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
margin-top: 64px
}

.about-us-page .values-img-frame {
overflow: hidden;
border-radius: 3px 24px 3px 24px;
position: relative
}

.about-us-page .values-img-frame img {
width: 100%;
height: 180px;
object-fit: cover;
object-position: center;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.about-us-page .values-img-frame:hover img {
transform: scale(1.06)
}

.about-us-page .values-img-frame::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to top, #0b82a380 0%, transparent 60%);
pointer-events: none
}

@media (max-width: 1024px) {
.about-us-page .split-screen {
grid-template-columns: 1fr
}

.about-us-page .split-right {
height: 280px
}

.about-us-page .split-heading {
font-size: 40px
}

.about-us-page .story-grid {
grid-template-columns: 1fr;
gap: 32px
}

.about-us-page .steps-row {
grid-template-columns: repeat(2, 1fr)
}

.about-us-page .steps-row::before {
display: none
}

.about-us-page .team-layout {
grid-template-columns: 1fr;
gap: 32px
}

.about-us-page .team-sidebar {
position: static
}

.about-us-page .values-top {
flex-direction: column;
align-items: flex-start
}

.about-us-page .values-grid {
grid-template-columns: repeat(2, 1fr)
}

.about-us-page .values-image-strip {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 640px) {
.about-us-page .split-left {
padding: 64px 32px
}

.about-us-page .split-heading {
font-size: 28px
}

.about-us-page .split-description {
font-size: 16px
}

.about-us-page .story-heading {
font-size: 28px
}

.about-us-page .steps-row {
grid-template-columns: 1fr
}

.about-us-page .profile-card {
flex-direction: column;
gap: 16px
}

.about-us-page .values-grid {
grid-template-columns: 1fr
}

.about-us-page .values-image-strip {
grid-template-columns: 1fr
}

.about-us-page .values-heading {
font-size: 28px
}

.about-us-page .steps-heading {
font-size: 28px
}

.about-us-page .story-container,
.about-us-page .steps-container,
.about-us-page .team-container,
.about-us-page .values-container {
padding: 0 16px
}

.about-us-page .story-band,
.about-us-page .steps-band,
.about-us-page .team-band,
.about-us-page .values-band {
padding: 64px 0
}
}

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

.success-page .success-wrapper {
max-width: 1140px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
text-align: center
}

.success-page .success-icon-ring {
width: 88px;
height: 88px;
border-radius: 40px;
background: linear-gradient(277deg, #F4557C 50%, #0B82A3 100%);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 32px;
box-shadow: 0 7px 28px 1px #f4557c1c
}

.success-page .success-icon-ring svg {
width: 40px;
height: 40px;
display: block
}

.success-page .success-heading {
font-size: 40px;
line-height: 1.1;
color: #1b1b2e;
margin: 0 0 16px;
font-weight: 700
}

.success-page .success-heading .accent-word {
font-style: italic
}

.success-page .success-subtext {
font-size: 18px;
line-height: 1.5;
color: #3a3a4a;
max-width: 520px;
margin: 0 0 32px
}

.success-page .success-divider {
width: 64px;
height: 3px;
border-radius: 3px;
background: linear-gradient(277deg, #F4557C 50%, #0B82A3 100%);
margin: 0 0 32px
}

.success-page .success-back-link {
display: inline-block;
padding: 16px 32px;
background: #1b1b2e;
color: #fff;
font-size: 16px;
line-height: 1.5;
border-radius: 3px;
text-decoration: none;
position: relative;
overflow: hidden;
box-shadow: 0 3px 6px 1px #f4557c12;
transition: color .5s ease-in-out, box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.success-page .success-back-link::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: linear-gradient(277deg, #F4557C 50%, #0B82A3 100%);
transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 0
}

.success-page .success-back-link:hover::before {
height: 100%
}

.success-page .success-back-link:hover {
box-shadow: 0 8px 36px 1px #f4557c1f
}

.success-page .success-back-link span {
position: relative;
z-index: 1
}

.success-page .success-back-link:focus {
outline: 2px solid #0B82A3;
outline-offset: 4px
}

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

.success-page .success-heading {
font-size: 28px
}

.success-page .success-subtext {
font-size: 16px
}

.success-page .success-icon-ring {
width: 72px;
height: 72px
}

.success-page .success-icon-ring svg {
width: 32px;
height: 32px
}
}