@import "https://cdn.jsdelivr.net/npm/@fontsource/inter@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/inter@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/inter@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/inter@latest/700-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-sans@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-sans@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-sans@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-sans@latest/700-italic.css";

*,
::before,
::after {
box-sizing: border-box
}

html {
scroll-behavior: smooth
}

body {
margin: 0;
overflow-x: hidden;
min-height: 100vh;
font-family: 'Inter', sans-serif
}

:focus-visible {
outline: 3px solid;
outline-color: #EFDC00;
outline-offset: 3px;
border-radius: 4px
}

.site-header {
position: relative;
background: linear-gradient(160deg, #254799 0%, #1b3570 60%, #12285a 100%);
padding: 32px 16px 0;
overflow: hidden
}

.site-header::before {
content: '';
position: absolute;
top: -32px;
right: -64px;
width: 320px;
height: 320px;
background: #efdc0012;
border-radius: 50%;
pointer-events: none
}

.site-header::after {
content: '';
position: absolute;
bottom: 32px;
left: -96px;
width: 260px;
height: 260px;
background: #edd5eb0d;
border-radius: 50%;
pointer-events: none
}

.header-top-row {
display: flex;
justify-content: center;
margin-bottom: 16px
}

.logo-capsule {
display: flex;
align-items: center;
justify-content: center;
padding: 8px 32px;
background: #fff;
border: 3px solid #EFDC00;
border-radius: 22px;
box-shadow: 0 5px 28px 0 #2547991a;
min-width: 140px
}

.logo-capsule img {
display: block;
object-fit: contain
}

.header-brand-row {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
margin-bottom: 32px
}

.brand-name {
font-family: 'Fira Sans', sans-serif;
font-size: 30px;
font-weight: 700;
line-height: 1.2;
letter-spacing: .02em;
color: #fff;
margin: 0;
text-align: center
}

.brand-tagline {
font-family: 'Inter', sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
letter-spacing: .01em;
color: #EDD5EB;
margin: 0;
text-align: center
}

.header-nav-row {
display: flex;
justify-content: center
}

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

.primary-nav li a {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 700;
line-height: 1.4;
letter-spacing: .01em;
color: #fff;
text-decoration: none;
background: #ffffff14;
border: 1px solid #efdc004d;
border-radius: 22px;
transition: background .5s ease-in-out, border-color .45s ease-in-out, color .5s ease-in-out;
min-height: 44px
}

.primary-nav li a:hover,
.primary-nav li a:focus-visible {
background: #EFDC00;
border-color: #EFDC00;
color: #12285a;
outline: none
}

.primary-nav li a .bi {
font-size: 15px;
transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.primary-nav li a:hover .bi {
transform: translateX(4px)
}

.nav-bottom-accent {
height: 4px;
margin-top: 32px;
background: linear-gradient(90deg, transparent 0%, #EFDC00 40%, #EDD5EB 70%, transparent 100%);
border-radius: 1px
}

.site-footer {
position: relative;
background: #12285a;
overflow: hidden;
padding: 64px 16px 32px
}

.footer-geo-one {
position: absolute;
top: -48px;
left: -48px;
width: 200px;
height: 200px;
background: #efdc000f;
border-radius: 14px;
transform: rotate(20deg);
pointer-events: none
}

.footer-geo-two {
position: absolute;
bottom: -32px;
right: -32px;
width: 160px;
height: 160px;
background: #edd5eb0d;
border-radius: 22px;
transform: rotate(-15deg);
pointer-events: none
}

.footer-geo-three {
position: absolute;
top: 50%;
right: 10%;
width: 80px;
height: 80px;
background: #25479940;
border-radius: 8px;
transform: rotate(35deg) translateY(-50%);
pointer-events: none
}

.footer-columns {
display: flex;
flex-wrap: wrap;
gap: 32px;
max-width: 1200px;
margin: 0 auto 64px;
align-items: flex-start;
position: relative
}

.footer-brand-col {
flex: 0 0 auto;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 16px;
min-width: 200px
}

.footer-logo-capsule {
display: flex;
align-items: center;
justify-content: center;
padding: 8px 16px;
background: #fff;
border: 2px solid #EFDC00;
border-radius: 14px;
box-shadow: 0 3px 6px 0 #25479912
}

.footer-logo-capsule img {
display: block;
object-fit: contain
}

.footer-brand-name {
font-family: 'Fira Sans', sans-serif;
font-size: 18px;
font-weight: 700;
line-height: 1.2;
letter-spacing: .02em;
color: #fff;
margin: 0
}

.footer-tagline {
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 1.6;
letter-spacing: .01em;
color: #EDD5EB;
margin: 0
}

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

.footer-col-label {
font-family: 'Fira Sans', sans-serif;
font-size: 14px;
font-weight: 700;
line-height: 1.2;
letter-spacing: .02em;
color: #EFDC00;
margin: 0;
text-transform: uppercase
}

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

.footer-contact-list li {
display: flex;
align-items: flex-start;
gap: 8px
}

.footer-contact-list li .bi {
font-size: 15px;
color: #EDD5EB;
margin-top: 2px;
flex-shrink: 0
}

.footer-contact-list li a,
.footer-contact-list li span {
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 1.6;
letter-spacing: .01em;
color: #EDD5EB;
text-decoration: none;
transition: color .5s ease-in-out
}

.footer-contact-list li a:hover {
color: #EFDC00
}

.footer-links-col {
flex: 0 0 auto;
display: flex;
flex-direction: column;
gap: 16px;
min-width: 180px
}

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

.footer-policy-nav li a {
display: inline-flex;
align-items: center;
gap: 8px;
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 1.6;
letter-spacing: .01em;
color: #EDD5EB;
text-decoration: none;
transition: color .5s ease-in-out
}

.footer-policy-nav li a .bi {
font-size: 14px;
transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.footer-policy-nav li a:hover {
color: #EFDC00
}

.footer-policy-nav li a:hover .bi {
transform: translateX(4px)
}

.footer-bottom-bar {
max-width: 1200px;
margin: 0 auto;
padding-top: 32px;
border-top: 1px solid #edd5eb26;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 16px;
position: relative
}

.footer-copyright {
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 1.4;
letter-spacing: .01em;
color: #edd5eb99;
margin: 0
}

.footer-domain-badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 4px 16px;
background: #efdc001a;
border: 1px solid #efdc0040;
border-radius: 22px;
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 700;
line-height: 1.4;
letter-spacing: .01em;
color: #EFDC00;
text-decoration: none;
transition: background .5s ease-in-out, border-color .45s ease-in-out
}

.footer-domain-badge:hover {
background: #efdc0033;
border-color: #efdc008c
}

.cookie-bar {
display: none;
position: fixed;
bottom: 32px;
left: 0;
right: 0;
margin: 0 auto;
width: 90%;
max-width: 680px;
background: #fff;
border: 1px solid #25479926;
border-radius: 14px;
box-shadow: 0 10px 60px 0 #25479921;
z-index: 1000;
padding: 16px 32px;
opacity: 0;
transition: opacity .18s ease-in-out
}

.cookie-bar[data-vis="on"] {
opacity: 1
}

.cookie-bar-top {
display: flex;
align-items: flex-start;
gap: 16px;
margin-bottom: 16px
}

.cookie-bar-icon {
flex-shrink: 0;
width: 32px;
height: 32px;
background: #EFDC00;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center
}

.cookie-bar-icon .bi {
font-size: 18px;
color: #12285a
}

.cookie-bar-text {
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 1.6;
letter-spacing: .01em;
color: #1e3060;
margin: 0
}

.cookie-bar-text strong {
font-weight: 700;
color: #12285a
}

.cookie-detail-toggle {
background: none;
border: none;
padding: 0;
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 700;
letter-spacing: .01em;
color: #254799;
cursor: pointer;
text-decoration: underline;
display: inline-flex;
align-items: center;
gap: 4px;
margin-bottom: 8px;
transition: color .5s ease-in-out
}

.cookie-detail-toggle:hover {
color: #EFDC00
}

.cookie-detail-panel {
display: none;
padding: 16px;
background: #2547990a;
border-radius: 8px;
margin-bottom: 16px
}

.cookie-detail-panel[data-open="yes"] {
display: block
}

.cookie-toggle-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px
}

.cookie-toggle-label {
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 1.6;
color: #1e3060
}

.cookie-toggle-switch {
position: relative;
width: 44px;
height: 24px;
flex-shrink: 0
}

.cookie-toggle-switch input {
opacity: 0;
width: 0;
height: 0;
position: absolute
}

.cookie-toggle-track {
position: absolute;
inset: 0;
background: #25479926;
border-radius: 22px;
cursor: pointer;
transition: background .5s ease-in-out
}

.cookie-toggle-track::after {
content: '';
position: absolute;
top: 3px;
left: 3px;
width: 18px;
height: 18px;
background: #fff;
border-radius: 50%;
transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cookie-toggle-switch input:checked+.cookie-toggle-track {
background: #254799
}

.cookie-toggle-switch input:checked+.cookie-toggle-track::after {
transform: translateX(20px)
}

.cookie-bar-actions {
display: flex;
flex-wrap: wrap;
gap: 8px;
justify-content: flex-end
}

.cookie-btn-accept {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 32px;
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 700;
letter-spacing: .01em;
color: #12285a;
background: #EFDC00;
border: 2px solid #EFDC00;
border-radius: 8px;
cursor: pointer;
min-height: 44px;
transition: background .5s ease-in-out, border-color .45s ease-in-out, color .5s ease-in-out
}

.cookie-btn-accept:hover {
background: #d4c300;
border-color: #d4c300
}

.cookie-btn-decline {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 32px;
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 700;
letter-spacing: .01em;
color: #254799;
background: transparent;
border: 2px solid #254799;
border-radius: 8px;
cursor: pointer;
min-height: 44px;
transition: background .5s ease-in-out, color .5s ease-in-out
}

.cookie-btn-decline:hover {
background: #25479914
}

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

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

.footer-columns {
flex-direction: column;
gap: 32px
}

.footer-bottom-bar {
flex-direction: column;
align-items: flex-start
}

.cookie-bar {
padding: 16px;
width: 95%;
bottom: 16px
}

.cookie-bar-actions {
justify-content: stretch
}

.cookie-btn-accept,
.cookie-btn-decline {
flex: 1 1 auto;
justify-content: center
}
}

@media (max-width: 320px) {
.brand-name {
font-size: 18px
}

.primary-nav li a {
font-size: 14px;
padding: 8px 12px
}
}

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

.policy-section p {
font-size: 15px;
line-height: 1.9;
letter-spacing: .01em;
color: #1b2a4a;
margin-bottom: 16px
}

.policy-section ul,
.policy-section ol {
margin: 16px 0 32px 32px;
padding: 0
}

.policy-section li {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #1b2a4a;
margin-bottom: 8px
}

.policy-section ul li {
list-style-type: disc
}

.policy-section ol li {
list-style-type: decimal
}

.policy-section ul ul,
.policy-section ol ol,
.policy-section ul ol,
.policy-section ol ul {
margin: 8px 0 8px 32px
}

.policy-section strong,
.policy-section b {
font-weight: 700;
color: #254799;
letter-spacing: .02em
}

.policy-section em,
.policy-section i {
font-style: italic;
color: #1b2a4a
}

.policy-section a {
color: #254799;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .5s ease-in-out, text-decoration-color .45s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.policy-section a:hover {
color: #EFDC00;
text-decoration-color: #EFDC00
}

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

.policy-section ul,
.policy-section ol {
margin-left: 16px
}

.policy-section p,
.policy-section li {
font-size: 14px
}
}

@media (min-width: 1440px) {
.policy-section {
padding: 96px 64px
}
}

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

.rt .grad-line {
height: 3px;
background: linear-gradient(90deg, #EFDC00, #254799);
border: none;
margin: 0
}

.rt .title-block {
position: relative;
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 560px;
background: #254799;
overflow: hidden
}

.rt .title-bg-anim {
position: absolute;
inset: 0;
background: conic-gradient(from 0deg at 38% 55%, #254799 0%, #1e3a7a 18%, #EFDC00 36%, #EDD5EB 54%, #254799 72%, #1e3a7a 90%, #254799 100%);
opacity: .18;
animation: bgshift 12s ease-in-out infinite alternate
}

@keyframes bgshift {
0% {
transform: rotate(0deg) scale(1.1)
}

100% {
transform: rotate(15deg) scale(1.3)
}
}

.rt .title-grid-lines {
position: absolute;
inset: 0;
background-image: linear-gradient(#ffffff0a 1px, transparent 1px), linear-gradient(90deg, #ffffff0a 1px, transparent 1px);
background-size: 48px 48px;
pointer-events: none
}

.rt .title-text-zone {
position: relative;
z-index: 2;
padding: 96px 64px 64px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 32px
}

.rt .title-img-zone {
position: relative;
z-index: 2;
padding: 32px 32px 32px 16px;
display: flex;
align-items: stretch
}

.rt .title-h1 {
font-size: 56px;
line-height: 1.2;
letter-spacing: .01em;
color: #fff;
margin: 0;
font-weight: 800
}

.rt .title-h1 span {
color: #EFDC00
}

.rt .title-slogan {
font-size: 18px;
line-height: 1.6;
letter-spacing: .02em;
color: #EDD5EB;
margin: 0;
border-left: none;
padding-left: 0;
font-style: italic
}

.rt .title-badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: #efdc0026;
border: 1px solid #efdc0066;
border-radius: 4px;
padding: 8px 16px;
color: #EFDC00;
font-size: 14px;
letter-spacing: .02em;
width: fit-content
}

.rt .title-img-frame {
position: relative;
width: 100%;
border-radius: 14px;
overflow: hidden;
flex: 1
}

.rt .title-img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.rt .title-scanlines {
position: absolute;
inset: 0;
background: repeating-linear-gradient(0deg, transparent, transparent 3px, #25479914 3px, #25479914 4px);
pointer-events: none;
border-radius: 14px
}

.rt .title-dashed-frame {
position: absolute;
inset: -8px;
border: 2px dashed #efdc0059;
border-radius: 22px;
pointer-events: none
}

@keyframes slideinleft {
from {
opacity: 0;
transform: translateX(-48px)
}

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

.rt .title-badge {
animation: slideinleft .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s both
}

.rt .title-h1 {
animation: slideinleft .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) .25s both
}

.rt .title-slogan {
animation: slideinleft .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .4s both
}

.rt .title-img-zone {
animation: slideinleft .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .5s both
}

.rt .approach-block {
background: #f5f4ef;
padding: 96px 0;
position: relative
}

.rt .approach-block::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #EDD5EB, #254799)
}

.rt .approach-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start
}

.rt .approach-left {
display: flex;
flex-direction: column;
gap: 32px
}

.rt .approach-heading {
font-size: 42px;
line-height: 1.2;
letter-spacing: .01em;
color: #254799;
margin: 0;
text-align: center;
text-decoration: underline;
text-decoration-color: #EFDC00;
text-underline-offset: 6px
}

.rt .approach-para {
font-size: 18px;
line-height: 1.6;
letter-spacing: .01em;
color: #1b2a50;
margin: 0
}

.rt .approach-img-wrap {
border-radius: 14px;
overflow: hidden;
box-shadow: 0 5px 28px 0 #2547991a
}

.rt .approach-img-wrap img {
width: 100%;
height: 340px;
object-fit: cover;
object-position: center;
display: block
}

.rt .two-col-list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
list-style: none;
margin: 0;
padding: 0
}

.rt .two-col-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
font-size: 15px;
line-height: 1.6;
color: #1b2a50
}

.rt .two-col-list li .list-icon {
color: #EFDC00;
font-size: 18px;
flex-shrink: 0;
margin-top: 2px;
filter: drop-shadow(0 1px 2px #efdc0066)
}

.rt .two-col-list li strong {
display: block;
font-size: 14px;
color: #254799;
letter-spacing: .02em
}

.rt .offer-block {
background: #254799;
padding: 96px 0;
position: relative
}

.rt .offer-block-topo {
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cpath d='M0 300 Q150 200 300 300 Q450 400 600 300' fill='none' stroke='#ffffff0a' stroke-width='1.5'/%3E%3Cpath d='M0 250 Q150 150 300 250 Q450 350 600 250' fill='none' stroke='#ffffff0a' stroke-width='1.5'/%3E%3Cpath d='M0 350 Q150 250 300 350 Q450 450 600 350' fill='none' stroke='#ffffff0a' stroke-width='1.5'/%3E%3Cpath d='M0 200 Q150 100 300 200 Q450 300 600 200' fill='none' stroke='#ffffff08' stroke-width='1'/%3E%3Cpath d='M0 400 Q150 300 300 400 Q450 500 600 400' fill='none' stroke='#ffffff08' stroke-width='1'/%3E%3C/svg%3E");
background-repeat: repeat;
background-size: 600px 600px;
pointer-events: none
}

.rt .offer-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
position: relative;
z-index: 1
}

.rt .offer-heading {
font-size: 42px;
line-height: 1.2;
letter-spacing: .01em;
color: #fff;
margin: 0 0 64px;
text-align: center;
text-decoration: underline;
text-decoration-color: #EFDC00;
text-underline-offset: 6px
}

.rt .offer-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 16px
}

.rt .offer-card {
background: #ffffff12;
border: 1px solid #ffffff1f;
border-radius: 14px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
transition: background .5s ease-in-out, box-shadow .5s ease-in-out
}

.rt .offer-card:hover {
background: #ffffff21;
box-shadow: 0 10px 60px 0 #efdc0021
}

.rt .offer-card.anchor {
grid-row: 1 / 3;
background: #efdc001f;
border-color: #efdc0059
}

.rt .offer-card-icon {
font-size: 30px;
color: #EFDC00
}

.rt .offer-card-title {
font-size: 22px;
line-height: 1.4;
letter-spacing: .01em;
color: #fff;
margin: 0
}

.rt .offer-card-desc {
font-size: 15px;
line-height: 1.6;
color: #ffffffbf;
margin: 0;
flex: 1
}

.rt .offer-card-tag {
display: inline-flex;
align-items: center;
gap: 4px;
background: #efdc002e;
border-radius: 4px;
padding: 4px 8px;
font-size: 14px;
color: #EFDC00;
letter-spacing: .02em;
width: fit-content
}

.rt .offer-card-img {
border-radius: 8px;
overflow: hidden;
margin-top: 8px
}

.rt .offer-card-img img {
width: 100%;
height: 180px;
object-fit: cover;
object-position: center;
display: block
}

.rt .stories-block {
background: #fff;
padding: 96px 0;
position: relative
}

.rt .stories-block::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #254799, #EDD5EB)
}

.rt .stories-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

.rt .stories-heading {
font-size: 42px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b2a50;
margin: 0 0 64px;
text-align: center;
text-decoration: underline;
text-decoration-color: #EDD5EB;
text-underline-offset: 6px
}

.rt .stories-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px
}

.rt .story-card {
border: 1px solid #e8e4f0;
border-radius: 14px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: 0 3px 6px 0 #25479912;
transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.rt .story-card:hover {
box-shadow: 0 10px 60px 0 #25479921
}

.rt .story-card.featured {
grid-column: 1 / 3;
display: grid;
grid-template-columns: auto 1fr;
gap: 32px;
align-items: start;
border: 2px dashed #EFDC00;
background: #fffef0
}

.rt .story-portrait {
width: 120px;
flex-shrink: 0
}

.rt .story-portrait img {
width: 120px;
height: 154px;
object-fit: cover;
object-position: center;
border-radius: 14px;
display: block;
box-shadow: 0 5px 28px 0 #2547991a
}

.rt .story-body {
display: flex;
flex-direction: column;
gap: 16px
}

.rt .story-quote {
font-size: 18px;
line-height: 1.6;
letter-spacing: .01em;
color: #1b2a50;
margin: 0;
font-style: italic
}

.rt .story-name {
font-size: 15px;
line-height: 1.4;
color: #254799;
font-weight: 700;
margin: 0;
letter-spacing: .02em
}

.rt .story-detail {
font-size: 14px;
line-height: 1.4;
color: #6b6b80;
margin: 0
}

.rt .outcomes-block {
background: linear-gradient(158deg, #EDD5EB 0%, #f0ecf8 60%, #e8edf8 100%);
padding: 96px 0
}

.rt .outcomes-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
display: grid;
grid-template-columns: 5fr 7fr;
gap: 64px;
align-items: start
}

.rt .outcomes-left {
display: flex;
flex-direction: column;
gap: 32px
}

.rt .outcomes-heading {
font-size: 42px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b2a50;
margin: 0;
text-align: center;
text-decoration: underline;
text-decoration-color: #254799;
text-underline-offset: 6px
}

.rt .outcomes-para {
font-size: 18px;
line-height: 1.6;
letter-spacing: .01em;
color: #1b2a50;
margin: 0
}

.rt .outcomes-img-wrap {
border-radius: 14px;
overflow: hidden;
box-shadow: 0 10px 60px 0 #25479921
}

.rt .outcomes-img-wrap img {
width: 100%;
height: 320px;
object-fit: cover;
object-position: center top;
display: block
}

.rt .outcomes-right {
display: flex;
flex-direction: column;
gap: 16px
}

.rt .outcome-item {
background: #fff;
border-radius: 8px;
padding: 16px 32px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
box-shadow: 0 3px 6px 0 #25479912;
transition: box-shadow .48s ease-in-out, transform .48s ease-in-out
}

.rt .outcome-item:hover {
box-shadow: 0 5px 28px 0 #2547991a;
transform: translateX(4px)
}

.rt .outcome-icon {
font-size: 22px;
color: #254799;
flex-shrink: 0;
margin-top: 2px
}

.rt .outcome-text {
display: flex;
flex-direction: column;
gap: 4px
}

.rt .outcome-title {
font-size: 15px;
font-weight: 700;
color: #1b2a50;
margin: 0;
line-height: 1.4
}

.rt .outcome-desc {
font-size: 14px;
line-height: 1.6;
color: #4a4a6a;
margin: 0
}

.rt .team-block {
background: #1b2a50;
padding: 96px 0
}

.rt .team-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

.rt .team-heading {
font-size: 42px;
line-height: 1.2;
letter-spacing: .01em;
color: #fff;
margin: 0 0 64px;
text-align: center;
text-decoration: underline;
text-decoration-color: #EFDC00;
text-underline-offset: 6px
}

.rt .team-layout {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px
}

.rt .team-member {
display: flex;
flex-direction: column;
gap: 16px
}

.rt .team-member-name {
font-size: 22px;
line-height: 1.4;
letter-spacing: .01em;
color: #EFDC00;
margin: 0
}

.rt .team-member-role {
font-size: 14px;
line-height: 1.4;
color: #EDD5EB;
letter-spacing: .02em;
margin: 0;
font-weight: 600
}

.rt .team-member-bio {
font-size: 15px;
line-height: 1.6;
color: #ffffffbf;
margin: 0
}

.rt .team-divider {
width: 32px;
height: 2px;
background: #EFDC00;
border-radius: 1px
}

.rt .team-credentials {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 8px
}

.rt .team-credentials li {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 14px;
line-height: 1.6;
color: #ffffffa6
}

.rt .team-credentials li i {
color: #EFDC00;
font-size: 14px;
flex-shrink: 0
}

.rt .team-no-portrait {
width: 64px;
height: 64px;
border-radius: 22px;
background: #efdc0026;
display: flex;
align-items: center;
justify-content: center;
color: #EFDC00;
font-size: 30px;
flex-shrink: 0
}

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

.rt .title-img-zone {
display: none
}

.rt .title-text-zone {
padding: 64px 32px
}

.rt .approach-inner {
grid-template-columns: 1fr;
gap: 32px
}

.rt .offer-grid {
grid-template-columns: 1fr 1fr
}

.rt .offer-card.anchor {
grid-column: 1 / 3;
grid-row: auto
}

.rt .outcomes-inner {
grid-template-columns: 1fr;
gap: 32px
}

.rt .team-layout {
grid-template-columns: 1fr 1fr
}
}

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

.rt .approach-heading,
.rt .offer-heading,
.rt .stories-heading,
.rt .outcomes-heading,
.rt .team-heading {
font-size: 30px
}

.rt .offer-grid {
grid-template-columns: 1fr
}

.rt .offer-card.anchor {
grid-column: auto
}

.rt .stories-layout {
grid-template-columns: 1fr
}

.rt .story-card.featured {
grid-column: auto;
grid-template-columns: 1fr
}

.rt .team-layout {
grid-template-columns: 1fr
}

.rt .two-col-list {
grid-template-columns: 1fr
}

.rt .approach-block,
.rt .offer-block,
.rt .stories-block,
.rt .outcomes-block,
.rt .team-block {
padding: 64px 0
}
}

@media (max-width: 320px) {
.rt .title-text-zone {
padding: 32px 16px
}

.rt .title-h1 {
font-size: 30px
}

.rt .approach-inner,
.rt .offer-inner,
.rt .stories-inner,
.rt .outcomes-inner,
.rt .team-inner {
padding: 0 16px
}
}

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

@keyframes elasticEntrance {
0% {
opacity: 0;
transform: translateY(32px) scaleY(0.96)
}

60% {
opacity: 1;
transform: translateY(-6px) scaleY(1.02)
}

80% {
transform: translateY(3px) scaleY(0.99)
}

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

.faq-pg .top-strip {
position: relative;
padding: 96px 32px 64px;
background: #f5f5f0;
overflow: hidden
}

.faq-pg .top-strip-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 64px
}

.faq-pg .top-strip-left {
flex: 1 1 340px;
padding-top: 16px
}

.faq-pg .top-strip-right {
flex: 2 1 560px;
position: relative
}

.faq-pg .corner-line-tl {
position: absolute;
top: 0;
left: 0;
width: 48px;
height: 48px;
pointer-events: none
}

.faq-pg .corner-line-tl::before,
.faq-pg .corner-line-tl::after {
content: "";
position: absolute;
background: #254799;
opacity: .35
}

.faq-pg .corner-line-tl::before {
top: 0;
left: 0;
width: 48px;
height: 1px
}

.faq-pg .corner-line-tl::after {
top: 0;
left: 0;
width: 1px;
height: 48px
}

.faq-pg .corner-line-br {
position: absolute;
bottom: 0;
right: 0;
width: 48px;
height: 48px;
pointer-events: none
}

.faq-pg .corner-line-br::before,
.faq-pg .corner-line-br::after {
content: "";
position: absolute;
background: #EFDC00;
opacity: .6
}

.faq-pg .corner-line-br::before {
bottom: 0;
right: 0;
width: 48px;
height: 1px
}

.faq-pg .corner-line-br::after {
bottom: 0;
right: 0;
width: 1px;
height: 48px
}

.faq-pg .strip-eyebrow {
font-size: 14px;
letter-spacing: .02em;
color: #254799;
font-weight: 600;
line-height: 1.4;
margin-bottom: 16px;
text-transform: uppercase
}

.faq-pg .strip-h1 {
font-size: 56px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1b1b;
font-weight: 800;
margin: 0 0 8px
}

.faq-pg .strip-h1 .punct {
color: #EFDC00
}

.faq-pg .strip-sub {
font-size: 18px;
line-height: 1.6;
color: #3a3a3a;
letter-spacing: .01em;
margin: 0;
max-width: 340px
}

.faq-pg .top-img-wrap {
position: relative;
border-radius: 1px;
overflow: hidden;
animation: elasticEntrance .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.faq-pg .top-img-wrap img {
width: 100%;
height: 340px;
object-fit: cover;
object-position: center 30%;
display: block;
filter: saturate(0.7) brightness(0.92) hue-rotate(0deg);
opacity: .88
}

.faq-pg .arrow-hint {
position: absolute;
bottom: -32px;
right: 32px;
opacity: .22;
pointer-events: none
}

.faq-pg .arrow-hint svg {
width: 32px;
height: 32px
}

.faq-pg .faq-accordion-wrap {
max-width: 1200px;
margin: 0 auto;
padding: 64px 32px;
animation: elasticEntrance .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s both
}

.faq-pg .accordion-heading {
font-size: 30px;
line-height: 1.4;
letter-spacing: .01em;
color: #1b1b1b;
font-weight: 700;
text-align: center;
margin: 0 0 8px;
text-decoration: underline;
text-decoration-color: #EFDC00;
text-underline-offset: 6px
}

.faq-pg .accordion-desc {
font-size: 15px;
line-height: 1.6;
color: #444;
text-align: center;
max-width: 560px;
margin: 0 auto 64px;
letter-spacing: .01em
}

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

.faq-pg .faq-item {
border-radius: 8px;
background: #fff;
box-shadow: 0 3px 6px 0 #25479912;
border: 1px solid #e8e8e8;
overflow: hidden;
transition: box-shadow .5s ease-in-out
}

.faq-pg .faq-item:hover {
box-shadow: 0 5px 28px 0 #2547991a
}

.faq-pg .faq-toggle {
display: none
}

.faq-pg .faq-label {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 22px 24px;
cursor: pointer;
font-size: 18px;
font-weight: 600;
line-height: 1.4;
color: #1b1b1b;
letter-spacing: .01em;
user-select: none;
transition: background .5s ease-in-out
}

.faq-pg .faq-label:hover {
background: #fafaf5
}

.faq-pg .faq-icon {
flex-shrink: 0;
width: 28px;
height: 28px;
border-radius: 4px;
background: #EFDC00;
display: flex;
align-items: center;
justify-content: center;
transition: background .5s ease-in-out, transform .5s ease-in-out
}

.faq-pg .faq-icon .ico-plus,
.faq-pg .faq-icon .ico-minus {
display: block;
width: 14px;
height: 2px;
background: #1b1b1b;
border-radius: 1px;
position: relative;
transition: opacity .45s ease-in-out
}

.faq-pg .faq-icon .ico-plus::before {
content: "";
position: absolute;
left: 6px;
top: -6px;
width: 2px;
height: 14px;
background: #1b1b1b;
border-radius: 1px;
transition: opacity .45s ease-in-out
}

.faq-pg .faq-icon .ico-minus {
display: none
}

.faq-pg .faq-body {
max-height: 0;
overflow: hidden;
transition: max-height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), padding .45s ease-in-out;
padding: 0 24px
}

.faq-pg .faq-body-text {
font-size: 15px;
line-height: 1.9;
color: #3a3a3a;
letter-spacing: .01em;
padding-bottom: 22px
}

.faq-pg .faq-toggle:checked+.faq-label {
background: #f9f7e8
}

.faq-pg .faq-toggle:checked+.faq-label .faq-icon {
background: #254799;
transform: rotate(180deg)
}

.faq-pg .faq-toggle:checked~.faq-body {
max-height: 400px
}

.faq-pg .faq-toggle:checked+.faq-label .ico-plus {
display: none
}

.faq-pg .faq-toggle:checked+.faq-label .ico-minus {
display: block;
background: #fff
}

.faq-pg .faq-toggle:checked+.faq-label .ico-plus::before {
display: none
}

.faq-pg .blurred-bg-strip {
position: relative;
padding: 96px 32px;
overflow: hidden
}

.faq-pg .blurred-bg-img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 60%;
filter: blur(12px) saturate(0.5) brightness(0.55);
transform: scale(1.06);
z-index: 0
}

.faq-pg .blurred-bg-overlay {
position: absolute;
inset: 0;
background: #2547998c;
z-index: 1
}

.faq-pg .blurred-bg-inner {
position: relative;
z-index: 2;
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 64px
}

.faq-pg .blurred-left {
flex: 2 1 480px
}

.faq-pg .blurred-right {
flex: 1 1 280px;
display: flex;
flex-direction: column;
gap: 32px;
padding-top: 8px
}

.faq-pg .blurred-h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: .01em;
color: #fff;
font-weight: 700;
margin: 0 0 16px;
text-decoration: underline;
text-decoration-color: #EFDC00;
text-underline-offset: 7px
}

.faq-pg .blurred-p {
font-size: 15px;
line-height: 1.9;
color: #ffffffe0;
letter-spacing: .01em;
margin: 0 0 32px;
max-width: 480px
}

.faq-pg .stat-card {
background: #ffffff1a;
border: 1px solid #ffffff2e;
border-radius: 8px;
padding: 16px;
animation: elasticEntrance .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) .15s both
}

.faq-pg .stat-num {
font-size: 42px;
line-height: 1.2;
font-weight: 800;
color: #EFDC00;
letter-spacing: .01em;
display: block
}

.faq-pg .stat-label {
font-size: 14px;
line-height: 1.4;
color: #ffffffc7;
letter-spacing: .02em;
display: block;
margin-top: 4px
}

.faq-pg .contact-strip {
padding: 64px 32px;
background: #fff
}

.faq-pg .contact-strip-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 64px
}

.faq-pg .contact-portrait-col {
flex: 0 0 200px
}

.faq-pg .portrait-frame {
width: 200px;
height: 200px;
border-radius: 1px;
overflow: hidden;
box-shadow: 0 5px 28px 0 #2547991a
}

.faq-pg .portrait-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
opacity: .9
}

.faq-pg .contact-text-col {
flex: 1 1 400px
}

.faq-pg .contact-h2 {
font-size: 30px;
line-height: 1.4;
letter-spacing: .01em;
font-weight: 700;
color: #1b1b1b;
margin: 0 0 16px;
text-decoration: underline;
text-decoration-color: #254799;
text-underline-offset: 5px
}

.faq-pg .contact-p {
font-size: 15px;
line-height: 1.9;
color: #3a3a3a;
letter-spacing: .01em;
margin: 0 0 32px
}

.faq-pg .contact-links-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 16px
}

.faq-pg .contact-link-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.4;
color: #254799;
letter-spacing: .01em;
text-decoration: none;
border: 1px solid transparent;
border-radius: 4px;
padding: 8px 16px;
background: #f0f4ff;
transition: border-color .5s ease-in-out, background .5s ease-in-out;
font-weight: 500
}

.faq-pg .contact-link-item:hover {
border-color: #254799;
background: #e8eeff
}

.faq-pg .contact-link-item:focus {
outline: 2px solid #254799;
outline-offset: 2px
}

.faq-pg .contact-link-item .link-icon {
font-size: 18px;
transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.faq-pg .contact-link-item:hover .link-icon {
transform: translateX(4px)
}

.faq-pg .contact-info-col {
flex: 0 0 260px
}

.faq-pg .contact-info-block {
background: #f5f5f0;
border-radius: 8px;
padding: 32px;
box-shadow: 0 3px 6px 0 #25479912
}

.faq-pg .contact-info-heading {
font-size: 14px;
letter-spacing: .02em;
font-weight: 700;
color: #254799;
text-transform: uppercase;
margin: 0 0 16px;
line-height: 1.4
}

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

.faq-pg .contact-info-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
font-size: 14px;
line-height: 1.6;
color: #2a2a2a;
letter-spacing: .01em
}

.faq-pg .contact-info-row i {
color: #254799;
font-size: 15px;
margin-top: 2px;
flex-shrink: 0
}

@media (max-width: 1024px) {
.faq-pg .top-strip-inner {
gap: 32px
}

.faq-pg .blurred-bg-inner {
gap: 32px
}

.faq-pg .contact-strip-inner {
flex-wrap: wrap;
gap: 32px
}

.faq-pg .contact-info-col {
flex: 1 1 220px
}
}

@media (max-width: 768px) {
.faq-pg .top-strip {
padding: 64px 16px 48px
}

.faq-pg .top-strip-inner {
flex-direction: column;
gap: 32px
}

.faq-pg .strip-h1 {
font-size: 42px
}

.faq-pg .top-img-wrap img {
height: 220px
}

.faq-pg .faq-accordion-wrap {
padding: 64px 16px
}

.faq-pg .blurred-bg-strip {
padding: 64px 16px
}

.faq-pg .blurred-bg-inner {
flex-direction: column;
gap: 32px
}

.faq-pg .blurred-h2 {
font-size: 30px
}

.faq-pg .contact-strip {
padding: 64px 16px
}

.faq-pg .contact-strip-inner {
flex-direction: column;
gap: 32px
}

.faq-pg .contact-portrait-col {
flex: none
}
}

@media (max-width: 320px) {
.faq-pg .strip-h1 {
font-size: 30px
}

.faq-pg .accordion-heading {
font-size: 22px
}

.faq-pg .blurred-h2 {
font-size: 22px
}

.faq-pg .faq-label {
font-size: 15px;
padding: 16px
}
}

.ctus {
background: #fff;
overflow-x: clip;
position: relative
}

.ctus .geo-pulse {
position: absolute;
top: 80px;
right: -60px;
width: 320px;
height: 320px;
border: 1.5px solid #25479914;
border-radius: 1px;
pointer-events: none;
transform: rotate(18deg);
animation: geo-spin 18s linear infinite;
z-index: 0
}

.ctus .geo-pulse::before {
content: '';
display: block;
position: absolute;
top: 24px;
left: 24px;
right: 24px;
bottom: 24px;
border: 1px solid #efdc001f;
border-radius: 1px
}

@keyframes geo-spin {
from {
transform: rotate(18deg)
}

to {
transform: rotate(378deg)
}
}

.ctus .reach-strip {
background: #f4f6fb;
padding: 64px 0;
position: relative
}

.ctus .reach-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start
}

.ctus .reach-text-col {
display: flex;
flex-direction: column;
gap: 32px
}

.ctus .reach-eyebrow {
font-size: 14px;
letter-spacing: .08em;
color: #254799;
text-transform: uppercase;
font-weight: 600;
line-height: 1.4
}

.ctus .reach-heading {
font-size: 42px;
line-height: 1.2;
color: #1b2d5e;
letter-spacing: .01em;
font-weight: 700;
margin: 0
}

.ctus .reach-heading .accent-line {
display: block;
font-size: 56px;
color: #254799;
line-height: 1.2
}

.ctus .reach-desc {
font-size: 18px;
line-height: 1.6;
color: #2e3d5f;
letter-spacing: .01em;
margin: 0
}

.ctus .reach-contact-cards {
display: flex;
flex-direction: column;
gap: 16px
}

.ctus .contact-card {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
background: #fff;
border-radius: 8px;
padding: 16px 32px 16px 16px;
box-shadow: 0 3px 6px 0 #25479912;
transition: box-shadow .55s ease-in-out, transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus .contact-card:hover {
box-shadow: 0 5px 28px 0 #2547991a;
transform: translateY(-2px)
}

.ctus .card-icon-wrap {
width: 44px;
height: 44px;
border-radius: 8px;
background: #254799;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.ctus .card-icon-wrap i {
color: #EFDC00;
font-size: 18px
}

.ctus .card-data {
display: flex;
flex-direction: column;
gap: 4px
}

.ctus .card-label {
font-size: 14px;
color: #6077a8;
letter-spacing: .02em;
line-height: 1.4
}

.ctus .card-value {
font-size: 15px;
color: #1b2d5e;
font-weight: 600;
letter-spacing: .01em;
line-height: 1.4;
text-decoration: none;
transition: color .45s ease-in-out
}

.ctus .card-value:hover {
color: #254799;
outline: 1px solid #254799;
outline-offset: 2px
}

.ctus .reach-img-col {
position: relative
}

.ctus .reach-img-frame {
border-radius: 14px;
overflow: hidden;
box-shadow: 0 10px 60px 0 #25479921;
position: relative
}

.ctus .reach-img-frame img {
width: 100%;
height: 420px;
object-fit: cover;
object-position: center top;
display: block;
filter: grayscale(100%);
transition: filter .65s ease-in-out
}

.ctus .reach-img-frame:hover img {
filter: grayscale(0%)
}

.ctus .img-badge {
position: absolute;
bottom: 24px;
left: 24px;
background: #EFDC00;
border-radius: 8px;
padding: 8px 16px;
font-size: 14px;
font-weight: 700;
color: #1b2d5e;
letter-spacing: .01em;
line-height: 1.4;
box-shadow: 0 3px 6px 0 #efdc0012
}

.ctus .form-strip {
background: #fff;
padding: 96px 0 64px;
position: relative
}

.ctus .form-strip-deco {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: conic-gradient(from 200deg at 50% 0%, #EFDC00, #EDD5EB, #254799, #EFDC00);
opacity: .35
}

.ctus .form-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
display: grid;
grid-template-columns: 2fr 1fr;
gap: 64px;
align-items: start
}

.ctus .form-col {
display: flex;
flex-direction: column;
gap: 32px
}

.ctus .form-heading-block {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus .form-heading {
font-size: 30px;
color: #1b2d5e;
line-height: 1.2;
letter-spacing: .01em;
font-weight: 700;
margin: 0;
text-align: center;
text-decoration: underline;
text-decoration-color: #EFDC00;
text-underline-offset: 6px
}

.ctus .form-sub {
font-size: 15px;
color: #4a5e8a;
line-height: 1.6;
letter-spacing: .01em;
margin: 0;
text-align: left
}

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

.ctus .form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

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

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

.ctus .field-label {
font-size: 14px;
color: #2e3d5f;
font-weight: 600;
letter-spacing: .02em;
line-height: 1.4
}

.ctus .field-label .req {
color: #254799;
margin-left: 2px
}

.ctus .form-input,
.ctus .form-textarea,
.ctus .form-select {
border: 1.5px solid #d0d9ee;
border-radius: 8px;
padding: 12px 16px;
font-size: 15px;
color: #1b2d5e;
background: #f9fbff;
line-height: 1.6;
letter-spacing: .01em;
outline: none;
transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out;
width: 100%;
box-sizing: border-box
}

.ctus .form-input::placeholder,
.ctus .form-textarea::placeholder {
color: #8fa3c8
}

.ctus .form-input:focus,
.ctus .form-textarea:focus,
.ctus .form-select:focus {
border-color: #254799;
box-shadow: 0 0 0 2px #2547991a;
background: #fff
}

.ctus .form-textarea {
resize: vertical;
min-height: 120px
}

.ctus .form-select {
appearance: none;
cursor: pointer
}

.ctus .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 16px;
background: #f4f6fb;
border-radius: 8px
}

.ctus .privacy-check {
width: 18px;
height: 18px;
margin-top: 2px;
accent-color: #254799;
flex-shrink: 0;
cursor: pointer
}

.ctus .privacy-text {
font-size: 14px;
color: #4a5e8a;
line-height: 1.6;
letter-spacing: .01em;
margin: 0
}

.ctus .privacy-text a {
color: #254799;
font-weight: 600;
text-decoration: none;
transition: outline .45s ease-in-out
}

.ctus .privacy-text a:hover {
outline: 1px solid #254799;
outline-offset: 2px
}

.ctus .submit-btn {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
background: #254799;
color: #EFDC00;
border: none;
border-radius: 8px;
padding: 16px 32px;
font-size: 15px;
font-weight: 700;
letter-spacing: .02em;
line-height: 1.4;
cursor: pointer;
align-self: flex-start;
box-shadow: 0 5px 28px 0 #2547991a;
transition: background .5s ease-in-out, box-shadow .55s ease-in-out, transform .45s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus .submit-btn i {
transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus .submit-btn:hover {
background: #1b3880;
box-shadow: 0 10px 60px 0 #25479921;
transform: translateY(-1px)
}

.ctus .submit-btn:hover i {
transform: translateX(5px)
}

.ctus .submit-btn:focus {
outline: 2px solid #EFDC00;
outline-offset: 3px
}

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

.ctus .sidebar-col {
display: flex;
flex-direction: column;
gap: 32px
}

.ctus .compare-card {
background: #f4f6fb;
border-radius: 14px;
padding: 32px;
box-shadow: 0 3px 6px 0 #25479912
}

.ctus .compare-heading {
font-size: 18px;
color: #1b2d5e;
font-weight: 700;
letter-spacing: .01em;
line-height: 1.4;
margin: 0 0 16px;
text-align: center;
text-decoration: underline;
text-decoration-color: #EFDC00;
text-underline-offset: 5px
}

.ctus .compare-table {
width: 100%;
border-collapse: collapse
}

.ctus .compare-table th {
font-size: 14px;
color: #254799;
font-weight: 700;
letter-spacing: .02em;
padding: 8px 8px 8px 0;
text-align: left;
border-bottom: 1.5px solid #d0d9ee;
line-height: 1.4
}

.ctus .compare-table th:not(:first-child) {
text-align: center
}

.ctus .compare-table td {
font-size: 14px;
color: #2e3d5f;
padding: 8px 8px 8px 0;
border-bottom: 1px solid #e8edf7;
line-height: 1.6;
letter-spacing: .01em
}

.ctus .compare-table td:not(:first-child) {
text-align: center
}

.ctus .compare-table tr:last-child td {
border-bottom: none
}

.ctus .check-yes {
color: #254799;
font-size: 15px
}

.ctus .check-no {
color: #c0c8dc;
font-size: 15px
}

.ctus .hours-note {
background: #254799;
border-radius: 8px;
padding: 16px;
display: flex;
flex-direction: column;
gap: 8px
}

.ctus .hours-label {
font-size: 14px;
color: #EFDC00;
font-weight: 700;
letter-spacing: .02em;
line-height: 1.4
}

.ctus .hours-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 4px
}

.ctus .hours-list li {
font-size: 14px;
color: #c8d6f5;
line-height: 1.6;
letter-spacing: .01em;
display: flex;
flex-direction: row;
justify-content: space-between
}

.ctus .hours-list li span {
color: #fff;
font-weight: 600
}

.ctus .map-alt-strip {
background: #f0f3fb;
padding: 64px 0;
position: relative;
overflow: hidden
}

.ctus .map-alt-deco {
position: absolute;
bottom: -40px;
left: -40px;
width: 200px;
height: 200px;
border: 2px solid #efdc0026;
border-radius: 1px;
transform: rotate(30deg);
pointer-events: none
}

.ctus .map-alt-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
display: flex;
flex-direction: column;
gap: 32px
}

.ctus .map-alt-heading-row {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 32px
}

.ctus .map-alt-h {
font-size: 22px;
color: #1b2d5e;
font-weight: 700;
letter-spacing: .01em;
line-height: 1.2;
margin: 0;
text-decoration: underline;
text-decoration-color: #EFDC00;
text-underline-offset: 5px
}

.ctus .map-alt-desc {
font-size: 15px;
color: #4a5e8a;
line-height: 1.6;
letter-spacing: .01em;
margin: 0;
max-width: 480px
}

.ctus .address-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px
}

.ctus .addr-tile {
background: #fff;
border-radius: 14px;
padding: 32px;
box-shadow: 0 3px 6px 0 #25479912;
display: flex;
flex-direction: column;
gap: 16px;
transition: box-shadow .55s ease-in-out, transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative
}

.ctus .addr-tile:hover {
box-shadow: 0 5px 28px 0 #2547991a;
transform: translateY(-3px)
}

.ctus .addr-tile.featured {
background: #254799;
grid-column: span 1
}

.ctus .addr-tile.featured .addr-tile-label {
color: #EFDC00
}

.ctus .addr-tile.featured .addr-tile-value {
color: #fff
}

.ctus .addr-tile.featured .addr-tile-sub {
color: #c8d6f5
}

.ctus .addr-tile.featured .addr-icon i {
color: #EFDC00
}

.ctus .addr-icon {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
background: #25479914;
border-radius: 8px
}

.ctus .addr-tile.featured .addr-icon {
background: #efdc0026
}

.ctus .addr-icon i {
font-size: 18px;
color: #254799
}

.ctus .addr-tile-label {
font-size: 14px;
color: #6077a8;
font-weight: 600;
letter-spacing: .02em;
line-height: 1.4;
text-transform: uppercase
}

.ctus .addr-tile-value {
font-size: 18px;
color: #1b2d5e;
font-weight: 700;
line-height: 1.4;
letter-spacing: .01em
}

.ctus .addr-tile-sub {
font-size: 14px;
color: #4a5e8a;
line-height: 1.6;
letter-spacing: .01em
}

.ctus .big-accent-tile {
grid-column: span 3;
background: #EFDC00;
border-radius: 14px;
padding: 32px;
display: flex;
flex-direction: row;
align-items: center;
gap: 32px;
box-shadow: 0 5px 28px 0 #efdc001a
}

.ctus .big-accent-tile .accent-big-text {
font-size: 30px;
color: #1b2d5e;
font-weight: 700;
line-height: 1.2;
letter-spacing: .01em;
flex: 1
}

.ctus .big-accent-tile .accent-note {
font-size: 15px;
color: #2e3d5f;
line-height: 1.6;
letter-spacing: .01em;
max-width: 360px
}

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

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

.ctus .reach-text-col>* {
animation: cascade-in .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.ctus .reach-text-col> :nth-child(1) {
animation-delay: .1s
}

.ctus .reach-text-col> :nth-child(2) {
animation-delay: .22s
}

.ctus .reach-text-col> :nth-child(3) {
animation-delay: .34s
}

.ctus .reach-text-col> :nth-child(4) {
animation-delay: .46s
}

.ctus .reach-img-col {
animation: cascade-in .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .55s both
}

@media (max-width: 1024px) {
.ctus .reach-inner {
grid-template-columns: 1fr;
gap: 32px
}

.ctus .form-inner {
grid-template-columns: 1fr;
gap: 32px
}

.ctus .address-grid {
grid-template-columns: 1fr 1fr
}

.ctus .big-accent-tile {
grid-column: span 2
}

.ctus .map-alt-heading-row {
flex-direction: column;
align-items: flex-start;
gap: 8px
}
}

@media (max-width: 768px) {
.ctus .reach-heading .accent-line {
font-size: 42px
}

.ctus .reach-heading {
font-size: 30px
}

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

.ctus .address-grid {
grid-template-columns: 1fr
}

.ctus .big-accent-tile {
grid-column: span 1;
flex-direction: column;
align-items: flex-start;
gap: 16px
}

.ctus .reach-strip,
.ctus .form-strip,
.ctus .map-alt-strip {
padding: 64px 0
}

.ctus .geo-pulse {
display: none
}
}

@media (max-width: 320px) {

.ctus .reach-inner,
.ctus .form-inner,
.ctus .map-alt-inner {
padding: 0 16px
}

.ctus .reach-heading .accent-line {
font-size: 30px
}
}

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

.abt-us .narrow-col {
max-width: 1200px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px
}

.abt-us .editorial-col {
max-width: 780px;
margin-left: auto;
margin-right: auto
}

@keyframes diag-slide-in {
from {
opacity: 0;
transform: translate(-28px, -20px)
}

to {
opacity: 1;
transform: translate(0, 0)
}
}

@keyframes diag-slide-in-right {
from {
opacity: 0;
transform: translate(28px, -20px)
}

to {
opacity: 1;
transform: translate(0, 0)
}
}

.abt-us .reveal-diag {
animation: diag-slide-in .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.abt-us .reveal-diag-right {
animation: diag-slide-in-right .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
animation-delay: .12s
}

.abt-us .reveal-diag-delay {
animation: diag-slide-in .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
animation-delay: .22s
}

.abt-us .title-block {
padding-top: 96px;
padding-bottom: 64px;
background: #fff;
position: relative
}

.abt-us .title-block-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: center
}

.abt-us .title-text-side {
display: flex;
flex-direction: column;
gap: 16px
}

.abt-us .title-label {
font-size: 14px;
letter-spacing: .08em;
color: #254799;
text-transform: uppercase;
font-weight: 600
}

.abt-us .title-h1 {
font-size: 56px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b2340;
font-weight: 800;
margin: 0
}

.abt-us .title-h1 .keyword-underline {
text-decoration: underline;
text-decoration-color: #EFDC00;
text-decoration-thickness: 4px;
text-underline-offset: 6px
}

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

.abt-us .title-image-side {
display: flex;
flex-direction: column;
align-items: flex-end;
position: relative
}

.abt-us .title-img-wrap {
width: 420px;
height: 420px;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 10px 60px 0 #25479921;
position: relative
}

.abt-us .title-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block;
image-rendering: crisp-edges
}

.abt-us .title-deco-accent {
position: absolute;
bottom: -16px;
left: -16px;
width: 80px;
height: 80px;
background: #EFDC00;
border-radius: 4px;
z-index: 0;
pointer-events: none
}

.abt-us .title-img-wrap {
position: relative;
z-index: 1
}

.abt-us .wave-divider {
display: block;
width: 100%;
overflow: hidden;
line-height: 0;
margin-top: 32px
}

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

.abt-us .asymmetric-rule {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 32px
}

.abt-us .asymmetric-rule .rule-long {
flex: 3;
height: 1px;
background: #254799;
opacity: .18
}

.abt-us .asymmetric-rule .rule-short {
flex: 1;
height: 1px;
background: #EFDC00;
opacity: .6
}

.abt-us .rule-center-deco {
width: 8px;
height: 8px;
border-radius: 50%;
background: #EFDC00;
flex-shrink: 0
}

.abt-us .story-block {
padding-top: 64px;
padding-bottom: 64px;
background: #254799
}

.abt-us .story-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 16px
}

.abt-us .story-anchor {
grid-column: 1;
grid-row: 1 / 3;
border-radius: 14px;
overflow: hidden;
position: relative;
min-height: 420px;
box-shadow: 0 5px 28px 0 #2547991a
}

.abt-us .story-anchor img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.abt-us .story-anchor-caption {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 32px;
background: linear-gradient(to top, #254799eb 0%, transparent 100%);
color: #fff
}

.abt-us .story-anchor-caption h2 {
font-size: 30px;
line-height: 1.2;
letter-spacing: .01em;
margin: 0 0 8px;
font-weight: 700;
text-align: center
}

.abt-us .story-anchor-caption p {
font-size: 15px;
line-height: 1.6;
margin: 0;
opacity: .88;
text-align: left
}

.abt-us .story-compact {
border-radius: 8px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px;
background: #ffffff12;
border: 1px solid #ffffff1f
}

.abt-us .story-compact-icon {
font-size: 22px;
color: #EFDC00;
line-height: 1
}

.abt-us .story-compact h4 {
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
color: #fff;
font-weight: 700;
margin: 0;
text-align: center;
text-decoration: underline;
text-decoration-color: #efdc0066;
text-underline-offset: 4px
}

.abt-us .story-compact p {
font-size: 14px;
line-height: 1.6;
color: #ffffffc7;
margin: 0;
text-align: left
}

.abt-us .story-img-small {
border-radius: 8px;
overflow: hidden;
height: 180px
}

.abt-us .story-img-small img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.abt-us .team-block {
padding-top: 96px;
padding-bottom: 96px;
background: #EDD5EB;
position: relative
}

.abt-us .team-block-inner {
display: flex;
flex-direction: column;
gap: 64px
}

.abt-us .team-heading-row {
text-align: center
}

.abt-us .team-heading-row h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b2340;
margin: 0 0 16px;
font-weight: 800;
text-align: center;
text-decoration: underline;
text-decoration-color: #254799;
text-decoration-thickness: 2px;
text-underline-offset: 8px
}

.abt-us .team-heading-row p {
font-size: 18px;
line-height: 1.6;
color: #3a3f55;
max-width: 560px;
margin: 0 auto;
text-align: left
}

.abt-us .team-portraits-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
max-width: 780px;
margin: 0 auto
}

.abt-us .portrait-card {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
background: #fff;
border-radius: 14px;
padding: 24px;
box-shadow: 0 3px 6px 0 #25479912;
transition: box-shadow .5s ease-in-out, transform .5s ease-in-out;
position: relative
}

.abt-us .portrait-card:hover {
box-shadow: 0 10px 60px 0 #25479921;
transform: translateY(-4px)
}

.abt-us .portrait-card:focus-within {
outline: 2px solid #254799;
outline-offset: 2px
}

.abt-us .portrait-img-wrap {
width: 88px;
height: 117px;
border-radius: 8px;
overflow: hidden;
flex-shrink: 0;
box-shadow: 0 3px 6px 0 #25479912
}

.abt-us .portrait-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.abt-us .portrait-info {
display: flex;
flex-direction: column;
gap: 8px
}

.abt-us .portrait-name {
font-size: 18px;
line-height: 1.4;
color: #1b2340;
font-weight: 700;
margin: 0;
text-align: left
}

.abt-us .portrait-role {
font-size: 14px;
letter-spacing: .02em;
color: #254799;
font-weight: 600;
text-transform: uppercase
}

.abt-us .portrait-bio {
font-size: 14px;
line-height: 1.6;
color: #3a3f55;
margin: 0;
text-align: left
}

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

.abt-us .metric-item {
background: #fff;
border-radius: 8px;
padding: 24px 16px;
text-align: center;
box-shadow: 0 3px 6px 0 #25479912;
position: relative;
overflow: hidden
}

.abt-us .metric-item::before {
content: '';
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: #EFDC00;
border-radius: 4px 4px 0 0
}

.abt-us .metric-num {
font-size: 42px;
line-height: 1.2;
font-weight: 800;
color: #254799;
letter-spacing: .01em;
display: block
}

.abt-us .metric-desc {
font-size: 14px;
line-height: 1.4;
color: #3a3f55;
margin-top: 4px;
display: block
}

.abt-us .dashed-accent-block {
border: 2px dashed #254799;
border-radius: 14px;
padding: 32px;
background: #fff9;
max-width: 640px;
margin: 0 auto
}

.abt-us .dashed-accent-block p {
font-size: 18px;
line-height: 1.6;
color: #1b2340;
margin: 0;
text-align: left;
letter-spacing: .01em
}

.abt-us .process-block {
padding-top: 64px;
padding-bottom: 96px;
background: #fff
}

.abt-us .process-heading {
text-align: center;
margin-bottom: 64px
}

.abt-us .process-heading h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b2340;
font-weight: 800;
margin: 0 0 16px;
text-align: center;
text-decoration: underline;
text-decoration-color: #EFDC00;
text-decoration-thickness: 3px;
text-underline-offset: 8px
}

.abt-us .process-heading p {
font-size: 18px;
line-height: 1.6;
color: #3a3f55;
max-width: 560px;
margin: 0 auto;
text-align: left
}

.abt-us .process-mosaic {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 280px 280px;
gap: 16px
}

.abt-us .mosaic-img {
border-radius: 14px;
overflow: hidden;
box-shadow: 0 5px 28px 0 #2547991a;
transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative
}

.abt-us .mosaic-img:hover {
transform: scale(1.025);
box-shadow: 0 10px 60px 0 #25479921
}

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

.abt-us .mosaic-img.tall {
grid-row: 1 / 3
}

.abt-us .mosaic-img.img1 {
object-position: center
}

.abt-us .mosaic-img img.pos-top {
object-position: center top
}

.abt-us .mosaic-img img.pos-center {
object-position: center center
}

.abt-us .mosaic-img img.pos-bottom {
object-position: center bottom
}

.abt-us .process-text-col {
display: flex;
flex-direction: column;
gap: 32px;
margin-top: 64px
}

.abt-us .process-step-list {
display: flex;
flex-direction: column;
gap: 16px;
list-style: none;
padding: 0;
margin: 0;
max-width: 780px;
margin-left: auto;
margin-right: auto
}

.abt-us .process-step-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
border-radius: 8px;
background: #f5f4ff;
transition: background .5s ease-in-out
}

.abt-us .process-step-list li:hover {
background: #EDD5EB
}

.abt-us .step-bullet {
width: 32px;
height: 32px;
border-radius: 4px;
background: #EFDC00;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
font-size: 15px;
font-weight: 800;
color: #1b2340;
line-height: 1
}

.abt-us .step-text h5 {
font-size: 15px;
line-height: 1.4;
color: #1b2340;
font-weight: 700;
margin: 0 0 4px;
text-align: left;
text-decoration: underline;
text-decoration-color: #254799;
text-underline-offset: 3px
}

.abt-us .step-text p {
font-size: 14px;
line-height: 1.6;
color: #3a3f55;
margin: 0;
text-align: left
}

.abt-us .cta-strip {
margin-top: 64px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 16px;
flex-wrap: wrap
}

.abt-us .btn-primary {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
background: #254799;
color: #fff;
font-size: 15px;
font-weight: 700;
letter-spacing: .02em;
padding: 16px 32px;
border-radius: 8px;
border: none;
cursor: pointer;
text-decoration: none;
box-shadow: 0 5px 28px 0 #2547991a;
transition: background .5s ease-in-out, box-shadow .5s ease-in-out, transform .45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative
}

.abt-us .btn-primary:hover {
background: #1b3580;
box-shadow: 0 10px 60px 0 #25479921;
transform: translateY(-2px)
}

.abt-us .btn-primary:hover .btn-icon {
transform: translateX(4px)
}

.abt-us .btn-primary:focus {
outline: 2px solid #EFDC00;
outline-offset: 3px
}

.abt-us .btn-icon {
transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt-us .btn-secondary {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
background: transparent;
color: #254799;
font-size: 15px;
font-weight: 700;
letter-spacing: .02em;
padding: 16px 32px;
border-radius: 8px;
border: 2px solid #254799;
cursor: pointer;
text-decoration: none;
transition: background .5s ease-in-out, color .5s ease-in-out, box-shadow .5s ease-in-out
}

.abt-us .btn-secondary:hover {
background: #254799;
color: #fff;
box-shadow: 0 5px 28px 0 #2547991a
}

.abt-us .btn-secondary:hover .btn-icon {
transform: translateX(4px)
}

.abt-us .btn-secondary:focus {
outline: 2px solid #EFDC00;
outline-offset: 3px
}

.abt-us .final-rule {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 64px
}

.abt-us .final-rule .rule-long {
flex: 3;
height: 1px;
background: #254799;
opacity: .15
}

.abt-us .final-rule .rule-short {
flex: 1;
height: 1px;
background: #EFDC00;
opacity: .5
}

.abt-us .final-rule .rule-center-deco {
width: 8px;
height: 8px;
border-radius: 50%;
background: #254799;
flex-shrink: 0;
opacity: .35
}

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

.abt-us .title-img-wrap {
width: 100%;
height: 320px
}

.abt-us .title-image-side {
align-items: center
}

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

.abt-us .story-anchor {
grid-column: 1 / 3;
grid-row: 1;
min-height: 280px
}

.abt-us .process-mosaic {
grid-template-columns: 1fr 1fr;
grid-template-rows: 220px 220px 220px
}

.abt-us .mosaic-img.tall {
grid-row: 1 / 3
}

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

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

.abt-us .narrow-col {
padding-left: 16px;
padding-right: 16px
}

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

.abt-us .story-anchor {
grid-column: 1;
min-height: 240px
}

.abt-us .story-img-small {
height: 140px
}

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

.abt-us .process-mosaic {
grid-template-columns: 1fr;
grid-template-rows: 200px 200px 200px 200px 200px
}

.abt-us .mosaic-img.tall {
grid-row: auto
}

.abt-us .team-heading-row h2,
.abt-us .process-heading h2 {
font-size: 30px
}

.abt-us .metric-num {
font-size: 30px
}

.abt-us .cta-strip {
flex-direction: column;
align-items: stretch
}

.abt-us .btn-primary,
.abt-us .btn-secondary {
justify-content: center
}
}

@media (max-width: 320px) {
.abt-us .title-h1 {
font-size: 30px
}

.abt-us .portrait-card {
flex-direction: column
}

.abt-us .portrait-img-wrap {
width: 100%;
height: 160px
}
}

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

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

.success-page .success-icon-ring {
width: 80px;
height: 80px;
border-radius: 22px;
background: linear-gradient(135deg, #EFDC00 0%, #f5e84d 100%);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 32px;
box-shadow: 0 5px 28px 0 #2547991a
}

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

.success-page .success-heading {
font-size: 42px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b2a4a;
margin: 0 0 16px
}

.success-page .success-subtext {
font-size: 18px;
line-height: 1.6;
letter-spacing: .01em;
color: #3a4a6b;
margin: 0 0 32px
}

.success-page .success-divider {
width: 48px;
height: 3px;
border-radius: 4px;
background: #EFDC00;
margin: 0 auto 32px
}

.success-page .success-detail-box {
background: #f4f6fb;
border-radius: 14px;
padding: 32px;
margin-bottom: 32px;
text-align: left;
box-shadow: 0 3px 6px 0 #25479912
}

.success-page .success-detail-box .detail-label {
font-size: 14px;
line-height: 1.4;
letter-spacing: .02em;
color: #254799;
text-transform: uppercase;
margin: 0 0 8px
}

.success-page .success-detail-box .detail-text {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #2c3a58;
margin: 0 0 16px
}

.success-page .success-detail-box .detail-text:last-child {
margin-bottom: 0
}

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

.success-page .btn-home {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 32px;
background: #254799;
color: #fff;
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
border-radius: 8px;
text-decoration: none;
border: none;
box-shadow: 0 5px 28px 0 #2547991a;
transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s ease-in-out;
cursor: pointer
}

.success-page .btn-home:hover {
background: #1a3370;
box-shadow: 0 10px 60px 0 #25479921
}

.success-page .btn-home:hover .btn-home-icon {
transform: translateX(4px)
}

.success-page .btn-home-icon {
transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
display: inline-flex
}

.success-page .btn-secondary-link {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 32px;
background: transparent;
color: #254799;
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
border-radius: 8px;
text-decoration: none;
border: 2px solid #254799;
transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s ease-in-out;
cursor: pointer
}

.success-page .btn-secondary-link:hover {
background: #EDD5EB;
color: #1a3370
}

.success-page .btn-secondary-link:hover .btn-sec-icon {
transform: translateX(4px)
}

.success-page .btn-sec-icon {
transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
display: inline-flex
}

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

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

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

.success-page .btn-home,
.success-page .btn-secondary-link {
justify-content: center
}

.success-page .success-detail-box {
padding: 16px
}
}

@media (max-width: 320px) {
.success-page .success-heading {
font-size: 22px
}

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