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

body {
margin: 0;
font-family: 'Cabin', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
font-size: 16px;
line-height: 1.7;
color: #1a1716;
background-color: #fff
}

.brand-lockup {
background: linear-gradient(135deg, #fff 0%, #fafaf8 100%);
border: 2px solid #872127;
border-radius: 4px;
padding: 16px 32px;
box-shadow: 0 2px 3px 0 #87212712 0 6px 14px 0 #8721271a;
display: inline-flex;
align-items: center;
gap: 16px;
transition: box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1), transform .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.brand-lockup:hover {
box-shadow: 0 6px 14px 0 #8721271a 0 12px 60px 0 #8721271c;
transform: translateY(-1px)
}

.brand-lockup img {
width: 76px;
height: 76px;
object-fit: contain;
display: block
}

.brand-lockup-text {
font-family: 'Source Code Pro', monospace;
font-size: 19px;
font-weight: 700;
color: #872127;
letter-spacing: .02em;
line-height: 1.2
}

.top-bar {
background: linear-gradient(180deg, #fcfcfb 0%, #f7f7f5 100%);
border-bottom: 3px solid #872127;
position: relative
}

.top-bar::after {
content: '';
position: absolute;
bottom: -3px;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent 0%, #A85F04 50%, transparent 100%)
}

.top-bar-inner {
max-width: 1280px;
margin: 0 auto;
padding: 32px 32px 16px;
display: grid;
grid-template-columns: auto 1fr;
gap: 64px;
align-items: start
}

.nav-zone {
display: flex;
flex-direction: column;
gap: 32px;
padding-top: 8px
}

.location-badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: #fff;
border: 1px solid #035281;
border-radius: 20px;
padding: 8px 16px;
font-size: 14px;
font-weight: 500;
color: #035281;
letter-spacing: .03em;
box-shadow: 0 2px 3px 0 #03528112;
align-self: flex-start;
transition: box-shadow .21s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.0, 0, 0.2, 1)
}

.location-badge:hover {
border-color: #A85F04;
box-shadow: 0 6px 14px 0 #a85f041a
}

.location-badge svg {
width: 16px;
height: 16px;
fill: currentColor
}

.primary-nav {
display: flex;
flex-wrap: wrap;
gap: 16px 32px;
list-style: none;
margin: 0;
padding: 0
}

.primary-nav li {
margin: 0;
padding: 0
}

.primary-nav a {
display: inline-block;
font-size: 19px;
font-weight: 600;
color: #2d2523;
text-decoration: none;
padding: 8px 16px;
border-radius: 4px;
letter-spacing: .01em;
transition: background-color .17s cubic-bezier(0.4, 0, 0.2, 1), color .19s cubic-bezier(0.0, 0, 0.2, 1), transform .15s cubic-bezier(0.4, 0, 0.2, 1);
position: relative
}

.primary-nav a::after {
content: '';
position: absolute;
bottom: 4px;
left: 16px;
right: 16px;
height: 2px;
background: #872127;
transform: scaleX(0);
transform-origin: right;
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.primary-nav a:hover {
background-color: #fef9f9;
color: #872127;
transform: translateY(-1px)
}

.primary-nav a:hover::after {
transform: scaleX(1);
transform-origin: left
}

.primary-nav a:focus {
outline: 2px solid #035281;
outline-offset: 3px
}

.primary-nav a:focus::before {
content: '';
position: absolute;
inset: -4px;
border: 1px solid #A85F04;
border-radius: 4px;
pointer-events: none
}

.divider-rule {
height: 2px;
background: linear-gradient(90deg, #872127 0%, #A85F04 50%, #035281 100%);
margin-top: 16px;
border-radius: 4px
}

.bottom-bar {
background: linear-gradient(180deg, #2d2523 0%, #1a1514 100%);
border-top: 2px solid #A85F04;
position: relative;
overflow: hidden
}

.bottom-bar::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent 0%, #872127 50%, transparent 100%)
}

.bottom-bar-inner {
max-width: 1280px;
margin: 0 auto;
padding: 64px 32px;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 64px;
align-items: start;
position: relative
}

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

.footer-logo-lock {
display: flex;
align-items: center;
gap: 16px;
background: #fff;
border: 2px solid #872127;
border-radius: 4px;
padding: 16px;
box-shadow: 0 2px 3px 0 #87212712;
align-self: flex-start
}

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

.footer-logo-lock span {
font-family: 'Source Code Pro', monospace;
font-size: 19px;
font-weight: 700;
color: #872127;
letter-spacing: .02em
}

.copyright-text {
font-size: 14px;
font-weight: 500;
color: #b8b3b1;
letter-spacing: .02em;
line-height: 1.5
}

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

.footer-nav-title {
font-size: 14px;
font-weight: 700;
color: #fff;
text-transform: uppercase;
letter-spacing: .08em;
margin: 0 0 8px
}

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

.footer-links a {
display: inline-block;
font-size: 14px;
font-weight: 500;
color: #d4d0ce;
text-decoration: none;
padding: 8px 0;
letter-spacing: .01em;
transition: color .19s cubic-bezier(0.4, 0, 0.2, 1), padding-left .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.footer-links a:hover {
color: #fff;
padding-left: 8px
}

.footer-links a:focus {
outline: 2px solid #A85F04;
outline-offset: 3px
}

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

.trust-badge {
background: linear-gradient(135deg, #87212714 0%, #a85f0414 100%);
border: 1px solid #8721274d;
border-radius: 4px;
padding: 16px;
display: flex;
align-items: center;
gap: 16px;
transition: border-color .21s cubic-bezier(0.4, 0, 0.2, 1), background .24s cubic-bezier(0.0, 0, 0.2, 1)
}

.trust-badge:hover {
border-color: #a85f0499;
background: linear-gradient(135deg, #8721271f 0%, #a85f041f 100%)
}

.trust-badge svg {
width: 32px;
height: 32px;
flex-shrink: 0
}

.trust-badge-text {
display: flex;
flex-direction: column;
gap: 4px
}

.trust-badge-label {
font-size: 14px;
font-weight: 700;
color: #fff;
letter-spacing: .02em;
line-height: 1.2
}

.trust-badge-desc {
font-size: 14px;
font-weight: 400;
color: #b8b3b1;
letter-spacing: .01em;
line-height: 1.5
}

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

.contact-info-item {
display: flex;
align-items: start;
gap: 16px;
font-size: 14px;
color: #d4d0ce;
line-height: 1.5
}

.contact-info-item svg {
width: 20px;
height: 20px;
flex-shrink: 0;
margin-top: 2px
}

.contact-info-item a {
color: #d4d0ce;
text-decoration: none;
transition: color .19s cubic-bezier(0.4, 0, 0.2, 1)
}

.contact-info-item a:hover {
color: #fff
}

.consent-overlay {
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 4000;
display: none;
opacity: 0;
animation-delay: 1414ms;
animation-fill-mode: forwards
}

.consent-overlay.show-consent {
display: block;
animation: fadeInConsent 420ms cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.consent-overlay.hide-consent {
animation: fadeOutConsent 420ms cubic-bezier(0.4, 0, 0.2, 1) forwards
}

@keyframes fadeInConsent {
from {
opacity: 0;
transform: translateY(32px)
}

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

@keyframes fadeOutConsent {
from {
opacity: 1;
transform: translateY(0)
}

to {
opacity: 0;
transform: translateY(32px)
}
}

.consent-bar {
max-width: 1280px;
margin: 0 auto;
background: linear-gradient(180deg, #fff 0%, #f7f7f5 100%);
border: 2px solid #872127;
border-bottom: none;
border-radius: 20px 20px 0 0;
padding: 32px;
box-shadow: 0 12px 60px 0 #8721271c 0 6px 14px 0 #8721271a
}

.consent-main-view {
display: flex;
flex-direction: column;
gap: 32px
}

.consent-text {
font-size: 14px;
line-height: 1.7;
color: #2d2523;
letter-spacing: .01em
}

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

.consent-btn {
font-family: 'Cabin', sans-serif;
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em;
padding: 16px 32px;
border: 2px solid transparent;
border-radius: 4px;
cursor: pointer;
transition: transform .17s cubic-bezier(0.4, 0, 0.2, 1), background-color .19s cubic-bezier(0.0, 0, 0.2, 1), border-color .21s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.0, 0, 0.2, 1);
box-shadow: 0 2px 3px 0 #87212712
}

.consent-btn:hover {
transform: scale(1.05)
}

.consent-btn:focus {
outline: 2px solid #035281;
outline-offset: 3px
}

.consent-btn:focus::before {
content: '';
position: absolute;
inset: -4px;
border: 1px solid #A85F04;
border-radius: 4px;
pointer-events: none
}

.consent-accept {
background-color: #872127;
border-color: #872127;
color: #fff
}

.consent-accept:hover {
background-color: #6d1a20;
box-shadow: 0 6px 14px 0 #8721271a 0 12px 60px 0 #8721271c
}

.consent-reject {
background-color: #fff;
border-color: #2d2523;
color: #2d2523
}

.consent-reject:hover {
background-color: #f7f7f5;
border-color: #872127;
box-shadow: 0 6px 14px 0 #8721271a
}

.consent-settings-link {
font-size: 14px;
font-weight: 600;
color: #035281;
text-decoration: underline;
background: none;
border: none;
cursor: pointer;
padding: 8px 16px;
letter-spacing: .01em;
transition: color .19s cubic-bezier(0.4, 0, 0.2, 1)
}

.consent-settings-link:hover {
color: #A85F04
}

.consent-settings-link:focus {
outline: 2px solid #035281;
outline-offset: 3px
}

.consent-detail-view {
display: none;
flex-direction: column;
gap: 32px
}

.consent-category {
display: flex;
flex-direction: column;
gap: 8px;
padding: 16px;
background: #fff;
border: 1px solid #d4d0ce;
border-radius: 4px;
transition: border-color .21s cubic-bezier(0.4, 0, 0.2, 1)
}

.consent-category:hover {
border-color: #872127
}

.consent-category-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px
}

.consent-category-title {
font-size: 14px;
font-weight: 700;
color: #2d2523;
letter-spacing: .02em;
margin: 0
}

.consent-toggle {
position: relative;
width: 52px;
height: 28px;
flex-shrink: 0
}

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

.consent-toggle-slider {
position: absolute;
inset: 0;
background-color: #d4d0ce;
border-radius: 36px;
cursor: pointer;
transition: background-color .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.consent-toggle-slider::before {
content: '';
position: absolute;
height: 20px;
width: 20px;
left: 4px;
bottom: 4px;
background-color: #fff;
border-radius: 36px;
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 2px 3px 0 #2d252312
}

.consent-toggle input:checked+.consent-toggle-slider {
background-color: #872127
}

.consent-toggle input:checked+.consent-toggle-slider::before {
transform: translateX(24px)
}

.consent-toggle input:disabled+.consent-toggle-slider {
background-color: #b8b3b1;
cursor: not-allowed;
opacity: .6
}

.consent-toggle input:focus+.consent-toggle-slider {
outline: 2px solid #035281;
outline-offset: 3px
}

.consent-category-desc {
font-size: 14px;
line-height: 1.5;
color: #5a5250;
letter-spacing: .01em
}

.consent-back-btn {
font-family: 'Cabin', sans-serif;
font-size: 14px;
font-weight: 600;
color: #035281;
background: none;
border: none;
cursor: pointer;
padding: 8px 0;
text-decoration: underline;
letter-spacing: .01em;
transition: color .19s cubic-bezier(0.4, 0, 0.2, 1);
align-self: flex-start
}

.consent-back-btn:hover {
color: #A85F04
}

.consent-back-btn:focus {
outline: 2px solid #035281;
outline-offset: 3px
}

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

.brand-lockup {
align-self: flex-start
}

.nav-zone {
padding-top: 0
}

.primary-nav {
gap: 16px
}

.bottom-bar-inner {
grid-template-columns: 1fr;
gap: 64px
}

.consent-bar {
margin: 0 16px
}
}

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

.brand-lockup {
padding: 16px
}

.brand-lockup img {
width: 64px;
height: 64px
}

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

.primary-nav a {
width: 100%
}

.bottom-bar-inner {
padding: 64px 16px
}

.consent-bar {
margin: 0 8px;
padding: 32px 16px
}

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

.consent-btn {
width: 100%
}
}

@media (max-width: 480px) {
.brand-lockup {
flex-direction: column;
text-align: center;
gap: 8px
}

.location-badge {
font-size: 14px;
padding: 8px 16px
}

.primary-nav a {
font-size: 16px
}

.footer-logo-lock {
flex-direction: column;
text-align: center
}

.consent-bar {
border-radius: 0;
margin: 0
}
}

.policy-body-f {
max-width: 1280px;
margin: 0 auto;
padding: 64px 32px;
background: #fff
}

.policy-body-f p {
font-size: 19px;
line-height: 1.7;
color: #2c2c2c;
margin-bottom: 16px
}

.policy-body-f p:last-child {
margin-bottom: 0
}

.policy-body-f ul,
.policy-body-f ol {
font-size: 19px;
line-height: 1.7;
color: #2c2c2c;
margin-bottom: 16px;
padding-left: 32px
}

.policy-body-f ul {
list-style-type: disc
}

.policy-body-f ol {
list-style-type: decimal
}

.policy-body-f li {
margin-bottom: 8px;
padding-left: 8px
}

.policy-body-f li:last-child {
margin-bottom: 0
}

.policy-body-f strong,
.policy-body-f b {
font-weight: 700;
color: #1a1a1a
}

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

.policy-body-f a {
color: #872127;
text-decoration: none;
border-bottom: 1px solid #8721274d;
transition: border-color .18s cubic-bezier(0.4, 0, 0.2, 1), color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.policy-body-f a:hover {
color: #035281;
border-bottom-color: #03528199
}

.policy-body-f a:focus {
outline: 2px solid #872127;
outline-offset: 2px
}

.policy-body-f hr {
border: none;
height: 1px;
background: #87212726;
margin: 32px 0
}

.policy-body-f div {
margin-bottom: 32px
}

.policy-body-f div:last-child {
margin-bottom: 0
}

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

.policy-body-f p,
.policy-body-f ul,
.policy-body-f ol {
font-size: 14px;
line-height: 1.7
}

.policy-body-f ul,
.policy-body-f ol {
padding-left: 16px
}

.policy-body-f hr {
margin: 16px 0
}

.policy-body-f div {
margin-bottom: 16px
}
}

@media (max-width: 480px) {
.policy-body-f {
padding: 32px 16px
}
}

.svc-hub {
max-width: 1280px;
margin: 0 auto;
background: #fff
}

.svc-hub .lead-vis {
position: relative;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 96px 32px 64px
}

.svc-hub .lead-vis::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('data:image/svg+xml;utf8,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><rect width="1" height="1" fill="%23872127"/></svg>');
background-size: 64px 64px;
opacity: .03;
pointer-events: none;
z-index: 1
}

.svc-hub .lead-text {
position: relative;
z-index: 2;
max-width: 720px;
margin: 0 auto 64px
}

.svc-hub .lead-text h1 {
font-size: 62px;
line-height: 1.2;
letter-spacing: -.02em;
color: #872127;
margin: 0 0 32px;
text-align: center;
text-transform: uppercase
}

.svc-hub .lead-text p {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #2c2c2c;
margin: 0;
text-align: center
}

.svc-hub .lead-img-wrap {
position: relative;
z-index: 2;
width: 100%;
max-width: 480px;
margin: 0 auto
}

.svc-hub .lead-img-wrap::before,
.svc-hub .lead-img-wrap::after {
content: '';
position: absolute;
width: 32px;
height: 32px;
border: 2px solid #872127;
z-index: 3;
pointer-events: none
}

.svc-hub .lead-img-wrap::before {
top: -8px;
left: -8px;
border-right: none;
border-bottom: none
}

.svc-hub .lead-img-wrap::after {
bottom: -8px;
right: -8px;
border-left: none;
border-top: none
}

.svc-hub .lead-img-wrap img {
display: block;
width: 100%;
height: 420px;
object-fit: cover;
border-radius: 4px;
filter: grayscale(100%);
transition: filter .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-hub .lead-img-wrap:hover img {
filter: grayscale(0%)
}

.svc-hub .divider-dots {
display: flex;
flex-direction: column;
gap: 8px;
padding: 32px 0;
align-items: center
}

.svc-hub .divider-dots .dot-row {
display: flex;
gap: 16px
}

.svc-hub .divider-dots .dot {
width: 4px;
height: 4px;
border-radius: 50%;
background: #A85F04
}

.svc-hub .ratio-grid {
padding: 96px 32px;
background: radial-gradient(ellipse 80% 100% at 20% 50%, #8721270a, #fff0)
}

.svc-hub .ratio-grid h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
color: #035281;
margin: 0 0 16px;
text-align: center
}

.svc-hub .ratio-grid .subtitle {
font-size: 19px;
line-height: 1.5;
letter-spacing: .01em;
color: #4a4a4a;
text-align: center;
margin: 0 0 64px;
max-width: 680px;
margin-left: auto;
margin-right: auto
}

.svc-hub .ratio-cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 32px;
max-width: 1120px;
margin: 0 auto
}

.svc-hub .ratio-card {
background: #fff;
border: 1px solid #e8e8e8;
border-radius: 20px;
padding: 32px;
box-shadow: 0 2px 3px 0 #87212712;
transition: transform .18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1);
animation: card-appear .22s cubic-bezier(0.0, 0, 0.2, 1) backwards
}

.svc-hub .ratio-card:nth-child(1) {
animation-delay: .05s
}

.svc-hub .ratio-card:nth-child(2) {
animation-delay: .1s
}

.svc-hub .ratio-card:nth-child(3) {
animation-delay: .15s
}

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

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

.svc-hub .ratio-card:hover {
transform: translateY(-4px);
box-shadow: 0 6px 14px 0 #8721271a
}

.svc-hub .ratio-card:active {
transform: scale(1.03) translateY(-4px);
transition: transform .15s cubic-bezier(0.0, 0, 0.2, 1)
}

.svc-hub .ratio-card h3 {
font-size: 19px;
line-height: 1.5;
letter-spacing: .005em;
color: #872127;
margin: 0 0 16px;
text-transform: uppercase
}

.svc-hub .ratio-card p {
font-size: 14px;
line-height: 1.7;
letter-spacing: .015em;
color: #5a5a5a;
margin: 0
}

.svc-hub .split-display {
display: flex;
flex-direction: row;
align-items: stretch;
min-height: 520px;
background: #fafbfc
}

.svc-hub .split-left {
flex: 0 0 40%;
padding: 64px 32px;
display: flex;
flex-direction: column;
justify-content: center;
background: radial-gradient(ellipse 120% 100% at 10% 50%, #0352810d, #fff0)
}

.svc-hub .split-left h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
color: #035281;
margin: 0 0 32px
}

.svc-hub .split-left .desc {
font-size: 14px;
line-height: 1.7;
letter-spacing: .015em;
color: #4a4a4a;
margin: 0 0 16px
}

.svc-hub .split-left .desc:last-of-type {
margin-bottom: 0
}

.svc-hub .split-right {
flex: 0 0 60%;
position: relative;
overflow: hidden
}

.svc-hub .split-right::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #8721271f;
z-index: 2;
pointer-events: none;
transition: opacity .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-hub .split-right:hover::before {
opacity: 0
}

.svc-hub .split-right img {
display: block;
width: 100%;
height: 100%;
object-fit: cover
}

.svc-hub .testimonial-stat {
padding: 96px 32px;
background: #fff;
position: relative
}

.svc-hub .testimonial-stat::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('data:image/svg+xml;utf8,<svg width="120" height="120" xmlns="http://www.w3.org/2000/svg"><circle cx="60" cy="60" r="1" fill="%23A85F04"/></svg>');
background-size: 96px 96px;
opacity: .04;
pointer-events: none
}

.svc-hub .testimonial-stat h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
color: #872127;
margin: 0 0 64px;
text-align: center;
text-transform: uppercase
}

.svc-hub .testimonial-wrap {
max-width: 1040px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start;
position: relative
}

.svc-hub .testimonial-box {
background: #fff;
border: 2px solid #035281;
border-radius: 36px;
padding: 32px;
box-shadow: 0 6px 14px 0 #0352811a;
position: relative
}

.svc-hub .testimonial-box::before {
content: '';
position: absolute;
top: -12px;
left: 32px;
width: 48px;
height: 48px;
background: radial-gradient(circle, #a85f0433, transparent 70%);
border-radius: 50%;
pointer-events: none
}

.svc-hub .testimonial-quote {
font-size: 14px;
line-height: 1.7;
letter-spacing: .015em;
color: #3a3a3a;
margin: 0 0 32px;
font-style: italic
}

.svc-hub .testimonial-author {
display: flex;
flex-direction: column;
gap: 8px
}

.svc-hub .testimonial-name {
font-size: 19px;
line-height: 1.5;
letter-spacing: .005em;
color: #035281;
font-weight: 600
}

.svc-hub .testimonial-role {
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
color: #6a6a6a
}

.svc-hub .stat-cluster {
display: flex;
flex-direction: column;
gap: 32px
}

.svc-hub .stat-item {
background: #fff;
border: 1px solid #e8e8e8;
border-radius: 20px;
padding: 32px;
box-shadow: 0 2px 3px 0 #a85f0412;
display: flex;
align-items: center;
gap: 16px;
transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-hub .stat-item:hover {
transform: scale(1.02)
}

.svc-hub .stat-num {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.02em;
color: #A85F04;
font-weight: 700;
flex-shrink: 0
}

.svc-hub .stat-label {
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
color: #4a4a4a
}

@media (max-width: 1024px) {
.svc-hub .lead-text h1 {
font-size: 46px
}

.svc-hub .ratio-grid h2,
.svc-hub .split-left h2,
.svc-hub .testimonial-stat h2 {
font-size: 46px
}

.svc-hub .testimonial-wrap {
grid-template-columns: 1fr;
gap: 48px
}

.svc-hub .split-display {
flex-direction: column
}

.svc-hub .split-left,
.svc-hub .split-right {
flex: 1 1 auto
}

.svc-hub .split-right {
min-height: 360px
}
}

@media (max-width: 768px) {
.svc-hub .lead-vis {
padding-top: 64px;
padding-bottom: 32px
}

.svc-hub .lead-text h1 {
font-size: 46px;
margin-bottom: 16px
}

.svc-hub .lead-text p {
font-size: 14px
}

.svc-hub .lead-img-wrap {
max-width: 100%
}

.svc-hub .lead-img-wrap img {
height: 320px
}

.svc-hub .ratio-grid,
.svc-hub .testimonial-stat {
padding: 64px 16px
}

.svc-hub .ratio-grid h2,
.svc-hub .split-left h2,
.svc-hub .testimonial-stat h2 {
font-size: 46px;
margin-bottom: 32px
}

.svc-hub .ratio-grid .subtitle {
margin-bottom: 32px
}

.svc-hub .ratio-cards {
grid-template-columns: 1fr;
gap: 16px
}

.svc-hub .split-left {
padding: 32px 16px
}

.svc-hub .testimonial-box {
padding: 16px
}

.svc-hub .stat-item {
padding: 16px
}

.svc-hub .stat-num {
font-size: 46px
}
}

@media (max-width: 480px) {
.svc-hub .lead-text h1 {
font-size: 46px
}

.svc-hub .ratio-grid h2,
.svc-hub .split-left h2,
.svc-hub .testimonial-stat h2 {
font-size: 46px
}

.svc-hub .lead-img-wrap img {
height: 280px
}
}

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

.learn-prog .title-area {
position: relative;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
max-width: 1280px;
margin: 0 auto;
padding: 96px 32px;
align-items: center
}

.learn-prog .title-area::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at center, #87212714 0%, #fff0 70%);
pointer-events: none;
z-index: 1
}

.learn-prog .title-txt {
position: relative;
z-index: 2
}

.learn-prog .title-txt h1 {
font-size: 62px;
line-height: 1.2;
margin: 0 0 32px;
letter-spacing: -.02em
}

.learn-prog .title-txt h1 .accent-word {
color: #872127
}

.learn-prog .title-txt .desc {
font-size: 19px;
line-height: 1.7;
margin: 0 0 32px;
color: #4a4a4a
}

.learn-prog .title-actions {
display: flex;
gap: 16px;
flex-wrap: wrap
}

.learn-prog .title-actions a {
font-size: 14px;
line-height: 1.5;
padding: 16px 32px;
text-decoration: none;
border-radius: 4px;
text-transform: uppercase;
letter-spacing: .05em;
transition: transform .18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1);
display: inline-block
}

.learn-prog .title-actions .primary-link {
background: #872127;
color: #fff;
box-shadow: 0 2px 3px 0 #87212712
}

.learn-prog .title-actions .primary-link:hover {
transform: scale(1.05);
box-shadow: 0 6px 14px 0 #8721271a
}

.learn-prog .title-actions .secondary-link {
background: transparent;
color: #035281;
border: 2px solid #035281
}

.learn-prog .title-actions .secondary-link:hover {
transform: scale(1.05);
background: #0352810d
}

.learn-prog .title-visual {
position: relative;
z-index: 2
}

.learn-prog .title-visual-wrapper {
position: relative;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 12px 60px 0 #8721271c
}

.learn-prog .title-visual-wrapper::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 60%;
background: linear-gradient(to top, #87212799 0%, #87212700 100%);
z-index: 2;
pointer-events: none;
transition: opacity .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.learn-prog .title-visual-wrapper:hover::before {
opacity: .3
}

.learn-prog .title-visual-wrapper img {
width: 100%;
height: 480px;
object-fit: cover;
display: block;
filter: blur(2px);
transition: filter .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.learn-prog .title-visual-wrapper:hover img {
filter: blur(0)
}

.learn-prog .dots-scatter {
position: absolute;
top: 20%;
right: 10%;
width: 200px;
height: 200px;
opacity: .15;
pointer-events: none;
z-index: 1
}

.learn-prog .dots-scatter span {
position: absolute;
width: 4px;
height: 4px;
background: #872127;
border-radius: 50%
}

.learn-prog .dots-scatter span:nth-child(1) {
top: 10%;
left: 20%
}

.learn-prog .dots-scatter span:nth-child(2) {
top: 30%;
left: 60%
}

.learn-prog .dots-scatter span:nth-child(3) {
top: 50%;
left: 15%
}

.learn-prog .dots-scatter span:nth-child(4) {
top: 70%;
left: 80%
}

.learn-prog .dots-scatter span:nth-child(5) {
top: 20%;
left: 90%
}

.learn-prog .dots-scatter span:nth-child(6) {
top: 85%;
left: 40%
}

.learn-prog .dots-scatter span:nth-child(7) {
top: 45%;
left: 70%
}

.learn-prog .dots-scatter span:nth-child(8) {
top: 60%;
left: 25%
}

.learn-prog .divider-band {
width: 100%;
height: 8px;
background: linear-gradient(135deg, #872127 0%, #A85F04 100%)
}

.learn-prog .intro-zone {
max-width: 1280px;
margin: 0 auto;
padding: 96px 32px;
display: grid;
grid-template-columns: 2fr 1fr;
gap: 64px;
align-items: start
}

.learn-prog .intro-main h2 {
font-size: 46px;
line-height: 1.2;
margin: 0 0 32px;
letter-spacing: -.01em;
text-transform: uppercase
}

.learn-prog .intro-main p {
font-size: 19px;
line-height: 1.7;
margin: 0 0 16px;
color: #4a4a4a
}

.learn-prog .intro-main p:last-child {
margin-bottom: 0
}

.learn-prog .intro-aside {
background: #fafafa;
padding: 32px;
border-radius: 20px;
border: 2px solid #035281;
position: relative
}

.learn-prog .intro-aside::before {
content: '';
position: absolute;
top: 16px;
left: 16px;
right: 16px;
bottom: 16px;
border: 1px solid #035281;
border-radius: 20px;
pointer-events: none
}

.learn-prog .intro-aside .stat-value {
font-size: 62px;
line-height: 1.2;
color: #A85F04;
margin: 0 0 8px;
letter-spacing: -.03em
}

.learn-prog .intro-aside .stat-label {
font-size: 14px;
line-height: 1.5;
color: #6a6a6a;
text-transform: uppercase;
letter-spacing: .08em
}

.learn-prog .structure-area {
background: linear-gradient(135deg, #03528108 0%, #a85f0408 100%);
padding: 96px 32px;
position: relative
}

.learn-prog .structure-container {
max-width: 1280px;
margin: 0 auto
}

.learn-prog .structure-container h2 {
font-size: 46px;
line-height: 1.2;
margin: 0 0 64px;
letter-spacing: -.01em;
text-align: center
}

.learn-prog .structure-container h2 .accent-word {
color: #872127
}

.learn-prog .modules-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 32px
}

.learn-prog .mod-card {
background: #fff;
padding: 32px;
border-radius: 4px;
border-top: 4px solid transparent;
box-shadow: 0 2px 3px 0 #87212712;
transition: all .24s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.learn-prog .mod-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, #87212705 0%, #a85f0405 100%);
opacity: 0;
transition: opacity .24s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none
}

.learn-prog .mod-card:hover::before {
opacity: 1
}

.learn-prog .mod-card:nth-child(1) {
border-top-color: #872127
}

.learn-prog .mod-card:nth-child(2) {
border-top-color: #A85F04
}

.learn-prog .mod-card:nth-child(3) {
border-top-color: #035281
}

.learn-prog .mod-card:hover {
transform: translateY(-8px);
box-shadow: 0 12px 60px 0 #8721271c
}

.learn-prog .mod-card .mod-num {
font-size: 62px;
line-height: 1.2;
color: #e8e8e8;
margin: 0 0 16px;
letter-spacing: -.03em
}

.learn-prog .mod-card h3 {
font-size: 19px;
line-height: 1.5;
margin: 0 0 16px;
color: #1a1a1a
}

.learn-prog .mod-card p {
font-size: 14px;
line-height: 1.7;
margin: 0;
color: #6a6a6a
}

.learn-prog .complex-zone {
max-width: 1280px;
margin: 0 auto;
padding: 96px 32px;
position: relative
}

.learn-prog .complex-zone h2 {
font-size: 46px;
line-height: 1.2;
margin: 0 0 64px;
letter-spacing: -.01em
}

.learn-prog .complex-layout {
display: grid;
grid-template-columns: 1fr 400px;
gap: 64px;
align-items: start
}

.learn-prog .complex-text p {
font-size: 19px;
line-height: 1.7;
margin: 0 0 16px;
color: #4a4a4a
}

.learn-prog .complex-text .quote-callout {
background: #fff;
border-left: none;
border-radius: 20px;
padding: 32px;
margin: 32px 0;
box-shadow: 0 6px 14px 0 #a85f041a;
position: relative;
border: 2px solid #A85F04
}

.learn-prog .complex-text .quote-callout::before {
content: '';
position: absolute;
top: -2px;
left: 32px;
right: 32px;
height: 2px;
background: #fff
}

.learn-prog .complex-text .quote-callout::after {
content: '';
position: absolute;
bottom: -2px;
left: 32px;
right: 32px;
height: 2px;
background: #fff
}

.learn-prog .complex-text .quote-callout p {
font-size: 19px;
line-height: 1.5;
color: #872127;
margin: 0;
font-style: italic
}

.learn-prog .complex-visual {
position: relative
}

.learn-prog .visual-wrapper {
border-radius: 36px;
overflow: hidden;
box-shadow: 0 12px 60px 0 #0352811c;
position: relative;
clip-path: inset(0 100% 0 0);
animation: wipe-open 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

@keyframes wipe-open {
to {
clip-path: inset(0 0 0 0)
}
}

.learn-prog .visual-wrapper img {
width: 100%;
height: 520px;
object-fit: cover;
display: block;
filter: blur(3px);
transition: filter .26s cubic-bezier(0.0, 0, 0.2, 1)
}

.learn-prog .visual-wrapper:hover img {
filter: blur(0)
}

.learn-prog .visual-wrapper::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(180deg, #03528166 0%, #03528100 100%);
mix-blend-mode: multiply;
pointer-events: none;
z-index: 1
}

.learn-prog .approach-area {
background: #fff;
padding: 96px 32px
}

.learn-prog .approach-container {
max-width: 1280px;
margin: 0 auto
}

.learn-prog .approach-container h2 {
font-size: 46px;
line-height: 1.2;
margin: 0 0 16px;
letter-spacing: -.01em;
text-align: center
}

.learn-prog .approach-container .sub-heading {
font-size: 19px;
line-height: 1.5;
margin: 0 0 64px;
text-align: center;
color: #6a6a6a
}

.learn-prog .steps-horizontal {
display: flex;
gap: 32px;
overflow-x: auto;
padding-bottom: 16px
}

.learn-prog .step-card {
background: #fafafa;
min-width: 320px;
flex: 0 0 320px;
padding: 32px;
border-radius: 36px;
border: 2px solid transparent;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1);
position: relative
}

.learn-prog .step-card::before {
content: '';
position: absolute;
top: 8px;
left: 8px;
right: 8px;
bottom: 8px;
border: 1px solid transparent;
border-radius: 36px;
pointer-events: none;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.learn-prog .step-card:hover {
background: #fff;
border-color: #872127;
transform: scale(1.02)
}

.learn-prog .step-card:hover::before {
border-color: #872127
}

.learn-prog .step-card .step-icon {
width: 64px;
height: 64px;
background: linear-gradient(135deg, #872127 0%, #A85F04 100%);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 0 16px;
box-shadow: 0 2px 3px 0 #87212712
}

.learn-prog .step-card .step-icon svg {
width: 32px;
height: 32px;
fill: #fff
}

.learn-prog .step-card h3 {
font-size: 19px;
line-height: 1.5;
margin: 0 0 8px;
color: #1a1a1a
}

.learn-prog .step-card p {
font-size: 14px;
line-height: 1.7;
margin: 0;
color: #6a6a6a
}

@media (max-width: 1024px) {
.learn-prog .title-area {
grid-template-columns: 1fr;
gap: 32px;
padding: 64px 32px
}

.learn-prog .title-txt h1 {
font-size: 46px
}

.learn-prog .title-visual-wrapper img {
height: 360px
}

.learn-prog .intro-zone {
grid-template-columns: 1fr;
gap: 32px;
padding: 64px 32px
}

.learn-prog .intro-aside {
text-align: center
}

.learn-prog .complex-layout {
grid-template-columns: 1fr;
gap: 32px
}

.learn-prog .visual-wrapper img {
height: 400px
}
}

@media (max-width: 768px) {
.learn-prog .title-txt h1 {
font-size: 46px;
margin-bottom: 16px
}

.learn-prog .title-txt .desc {
font-size: 19px;
margin-bottom: 16px
}

.learn-prog .title-actions {
flex-direction: column
}

.learn-prog .title-actions a {
width: 100%;
text-align: center
}

.learn-prog .intro-main h2 {
font-size: 46px
}

.learn-prog .structure-container h2 {
font-size: 46px;
margin-bottom: 32px
}

.learn-prog .modules-grid {
grid-template-columns: 1fr
}

.learn-prog .complex-zone h2 {
font-size: 46px
}

.learn-prog .approach-container h2 {
font-size: 46px
}

.learn-prog .steps-horizontal {
flex-direction: column
}

.learn-prog .step-card {
min-width: 100%;
flex: 1 1 auto
}
}

@media (max-width: 480px) {
.learn-prog .title-area {
padding: 32px 16px
}

.learn-prog .title-txt h1 {
font-size: 46px
}

.learn-prog .intro-zone {
padding: 32px 16px
}

.learn-prog .structure-area {
padding: 32px 16px
}

.learn-prog .complex-zone {
padding: 32px 16px
}

.learn-prog .approach-area {
padding: 32px 16px
}

.learn-prog .visual-wrapper img {
height: 280px
}
}

.kontakt {
max-width: 1280px;
margin: 0 auto;
background: #fff
}

.kontakt .hero-wrap {
position: relative;
width: 100%;
padding: 96px 32px 64px;
overflow: hidden;
background: radial-gradient(ellipse 70% 60% at 45% 40%, #87212714 0%, #8721270a 35%, #fff0 70%)
}

.kontakt .hero-inner {
max-width: 1280px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: center;
gap: 32px
}

.kontakt .hero-visual {
position: relative;
width: 240px;
height: 240px
}

.kontakt .hero-img {
width: 100%;
height: 100%;
object-fit: cover;
clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.kontakt .hero-wrap:hover .hero-img {
transform: scale(1.05)
}

.kontakt .hero-dots {
position: absolute;
top: -16px;
right: -16px;
width: 80px;
height: 80px;
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(4, 1fr);
gap: 8px;
opacity: .3
}

.kontakt .hero-dot {
width: 8px;
height: 8px;
background: #872127;
border-radius: 50%
}

.kontakt .hero-content {
text-align: center;
max-width: 680px
}

.kontakt .hero-title {
font-size: 62px;
line-height: 1.2;
letter-spacing: -.02em;
color: #872127;
text-transform: uppercase;
margin: 0 0 16px
}

.kontakt .hero-text {
font-size: 19px;
line-height: 1.5;
letter-spacing: .01em;
color: #2d2d2d;
margin: 0
}

.kontakt .info-band {
position: relative;
width: 100%;
padding: 64px 32px;
background: linear-gradient(to bottom, #0352810f 0%, #fff0 100%);
animation: kontakt-glow 8s ease-in-out infinite
}

@keyframes kontakt-glow {

0%,
100% {
background: linear-gradient(to bottom, #0352810f 0%, #fff0 100%)
}

50% {
background: linear-gradient(to bottom, #03528117 0%, #fff0 100%)
}
}

.kontakt .info-inner {
max-width: 1280px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr;
gap: 32px
}

.kontakt .info-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 32px
}

.kontakt .info-card {
background: #fff;
padding: 32px;
border-radius: 20px;
border: 1px solid #8721271f;
box-shadow: 0 2px 3px 0 #87212712;
transition: all .22s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.kontakt .info-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 0;
background: linear-gradient(to bottom, #872127, #A85F04);
transition: height .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.kontakt .info-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 60px 0 #8721271c;
border-color: #8721273d
}

.kontakt .info-card:hover::before {
height: 100%
}

.kontakt .info-icon {
width: 48px;
height: 48px;
margin: 0 0 16px;
display: flex;
align-items: center;
justify-content: center;
background: #87212714;
border-radius: 4px;
transition: transform .19s cubic-bezier(0.4, 0, 0.2, 1)
}

.kontakt .info-card:hover .info-icon {
transform: scale(1.12)
}

.kontakt .info-icon svg {
width: 24px;
height: 24px;
fill: #872127
}

.kontakt .info-label {
font-size: 14px;
line-height: 1.5;
letter-spacing: .08em;
text-transform: uppercase;
color: #A85F04;
margin: 0 0 8px;
font-weight: 600
}

.kontakt .info-value {
font-size: 19px;
line-height: 1.5;
letter-spacing: .01em;
color: #2d2d2d;
margin: 0;
word-break: break-word
}

.kontakt .info-value a {
color: inherit;
text-decoration: none;
position: relative;
display: inline-block;
transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.kontakt .info-value a::after {
content: '';
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 1px;
background: #872127;
transition: width .24s cubic-bezier(0.0, 0, 0.2, 1)
}

.kontakt .info-value a:hover {
color: #872127
}

.kontakt .info-value a:hover::after {
width: 100%;
right: auto;
left: 0
}

.kontakt .info-divider {
width: 100%;
height: 1px;
background: linear-gradient(to right, transparent 0%, #87212733 20%, #87212733 100%);
margin: 32px 0 0
}

.kontakt .info-pattern {
position: absolute;
top: 0;
right: 0;
width: 200px;
height: 100%;
opacity: .03;
pointer-events: none;
background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, #872127 10px, #872127 12px)
}

.kontakt .form-section {
position: relative;
width: 100%;
padding: 96px 32px;
background: #fff;
overflow: hidden
}

.kontakt .form-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: repeating-linear-gradient(0deg, transparent, transparent 40px, #03528105 40px, #03528105 42px);
pointer-events: none;
z-index: 1
}

.kontakt .form-inner {
max-width: 1280px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr;
gap: 64px;
position: relative;
z-index: 2
}

.kontakt .form-header {
text-align: left;
max-width: 640px
}

.kontakt .form-heading {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
color: #2d2d2d;
margin: 0 0 16px
}

.kontakt .form-subtext {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #5d5d5d;
margin: 0
}

.kontakt .form-container {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: start
}

.kontakt .form-visual {
position: relative;
width: 100%;
height: 100%;
min-height: 480px;
border-radius: 20px;
overflow: hidden;
border: 1px solid #0352811f;
box-shadow: 0 6px 14px 0 #0352811a
}

.kontakt .form-img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.kontakt .form-visual:hover .form-img {
transform: scale(1.08)
}

.kontakt .form-box {
background: #fff;
padding: 32px;
border-radius: 20px;
border: 1px solid #a85f041f;
box-shadow: 0 2px 3px 0 #a85f0412
}

.kontakt .form-element {
margin: 0 0 32px
}

.kontakt .form-element:last-of-type {
margin: 0
}

.kontakt .form-label {
display: block;
font-size: 14px;
line-height: 1.5;
letter-spacing: .08em;
text-transform: uppercase;
color: #2d2d2d;
margin: 0 0 8px;
font-weight: 600
}

.kontakt .form-input,
.kontakt .form-select {
width: 100%;
padding: 16px;
font-size: 19px;
line-height: 1.5;
letter-spacing: .01em;
color: #2d2d2d;
background: #fff;
border: 1px solid #87212733;
border-radius: 4px;
transition: all .17s cubic-bezier(0.4, 0, 0.2, 1);
outline: none;
appearance: none
}

.kontakt .form-input::placeholder {
color: #9d9d9d;
text-transform: uppercase;
font-size: 14px;
letter-spacing: .06em
}

.kontakt .form-input:focus,
.kontakt .form-select:focus {
border-color: #872127;
box-shadow: inset 0 0 0 1px #872127, 0 0 0 3px #8721271f
}

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

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

.kontakt .form-privacy {
display: flex;
align-items: flex-start;
gap: 8px;
margin: 0 0 32px
}

.kontakt .form-checkbox {
width: 20px;
height: 20px;
margin: 2px 0 0;
cursor: pointer;
accent-color: #872127;
flex-shrink: 0
}

.kontakt .form-privacy-text {
font-size: 14px;
line-height: 1.7;
letter-spacing: .01em;
color: #5d5d5d;
margin: 0
}

.kontakt .form-privacy-text a {
color: #035281;
text-decoration: none;
position: relative;
transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.kontakt .form-privacy-text a::after {
content: '';
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 1px;
background: #035281;
transition: width .24s cubic-bezier(0.0, 0, 0.2, 1)
}

.kontakt .form-privacy-text a:hover {
color: #872127
}

.kontakt .form-privacy-text a:hover::after {
width: 100%;
right: auto;
left: 0;
background: #872127
}

.kontakt .form-submit {
width: 100%;
padding: 16px 32px;
font-size: 14px;
line-height: 1.5;
letter-spacing: .08em;
text-transform: uppercase;
color: #fff;
background: #872127;
border: none;
border-radius: 4px;
cursor: pointer;
font-weight: 600;
transition: all .21s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 2px 3px 0 #87212712
}

.kontakt .form-submit:hover {
background: #6d1a1f;
transform: scale(1.03);
box-shadow: 0 6px 14px 0 #8721271a
}

.kontakt .form-submit:active {
transform: scale(0.98)
}

.kontakt .form-decorative {
position: absolute;
bottom: 32px;
right: 32px;
width: 120px;
height: 120px;
pointer-events: none;
opacity: .06
}

.kontakt .form-decorative svg {
width: 100%;
height: 100%;
fill: #A85F04
}

@media (max-width: 1024px) {
.kontakt .form-container {
grid-template-columns: 1fr
}

.kontakt .form-visual {
min-height: 320px
}

.kontakt .hero-title {
font-size: 46px
}

.kontakt .form-heading {
font-size: 46px
}
}

@media (max-width: 768px) {
.kontakt .hero-wrap {
padding: 64px 16px 32px
}

.kontakt .hero-title {
font-size: 46px
}

.kontakt .hero-text {
font-size: 19px
}

.kontakt .info-band {
padding: 32px 16px
}

.kontakt .info-grid {
grid-template-columns: 1fr
}

.kontakt .form-section {
padding: 64px 16px
}

.kontakt .form-heading {
font-size: 46px
}

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

.kontakt .form-box {
padding: 16px
}

.kontakt .form-visual {
min-height: 240px
}
}

@media (max-width: 480px) {
.kontakt .hero-title {
font-size: 46px
}

.kontakt .hero-visual {
width: 180px;
height: 180px
}

.kontakt .form-heading {
font-size: 46px
}

.kontakt .info-card {
padding: 16px
}
}

.first {
background: #fff;
color: #1a1a1a;
max-width: 1280px;
margin: 0 auto;
padding: 0;
overflow-x: clip
}

.first * {
box-sizing: border-box
}

.first .split-intro {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 600px;
position: relative;
margin-bottom: 96px
}

.first .split-intro::before {
content: '';
position: absolute;
top: 32px;
left: 32px;
right: 32px;
bottom: 32px;
border: 1px solid #87212733;
pointer-events: none;
z-index: 2
}

.first .split-intro::after {
content: '';
position: absolute;
top: 36px;
left: 36px;
right: 36px;
bottom: 36px;
border: 1px solid #a85f0426;
pointer-events: none;
z-index: 2
}

.first .intro-visual {
position: relative;
overflow: hidden
}

.first .intro-visual img {
width: 100%;
height: 100%;
object-fit: cover;
filter: grayscale(100%) contrast(1.3);
display: block
}

.first .intro-txt {
display: flex;
flex-direction: column;
justify-content: center;
padding: 64px 96px 64px 64px;
background: #fafafa
}

.first .intro-txt h1 {
font-size: 62px;
line-height: 1.2;
letter-spacing: -.02em;
margin: 0 0 32px;
color: #872127;
text-transform: uppercase
}

.first .intro-txt p {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
margin: 0;
color: #333
}

.first .conditions-wrap {
padding: 96px 64px;
background: linear-gradient(ellipse 120% 100% at 20% 50%, #87212708 0%, #a85f0405 50%, #03528108 100%);
position: relative;
margin-bottom: 96px
}

.first .conditions-wrap::before {
content: '';
position: absolute;
top: 50%;
left: 96px;
width: 6px;
height: 6px;
background: #872127;
border-radius: 50%;
transform: translateY(-50%)
}

.first .conditions-wrap::after {
content: '';
position: absolute;
top: 50%;
left: 108px;
width: 10px;
height: 10px;
background: #A85F04;
border-radius: 50%;
transform: translateY(-50%);
opacity: .6
}

.first .conditions-inner {
max-width: 900px;
margin: 0 auto;
text-align: center
}

.first .conditions-inner h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
margin: 0 0 32px;
color: #035281
}

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

.first .cond-card {
background: #fff;
padding: 32px;
border-radius: 4px;
box-shadow: 0 2px 3px 0 #87212712;
text-align: left;
transition: transform .18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.first .cond-card:hover {
transform: translateY(-4px);
box-shadow: 0 6px 14px 0 #8721271a
}

.first .cond-icon {
width: 48px;
height: 48px;
border-radius: 50%;
background: #a85f041a;
border: 2px solid #A85F04;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px
}

.first .cond-icon svg {
width: 24px;
height: 24px;
fill: #A85F04
}

.first .cond-card h3 {
font-size: 19px;
line-height: 1.5;
letter-spacing: 0;
margin: 0 0 16px;
color: #872127
}

.first .cond-card p {
font-size: 14px;
line-height: 1.7;
letter-spacing: .02em;
margin: 0;
color: #555
}

.first .divider-arrows {
display: flex;
justify-content: center;
gap: 8px;
padding: 32px 0;
margin-bottom: 64px
}

.first .divider-arrows span {
width: 0;
height: 0;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-top: 8px solid #0352814d;
transition: border-top-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.first .divider-arrows span:nth-child(2) {
transition-duration: .22s
}

.first .divider-arrows span:nth-child(3) {
transition-duration: .24s
}

.first .divider-arrows span:nth-child(4) {
transition-duration: .26s
}

.first .divider-arrows span:nth-child(5) {
transition-duration: .28s
}

.first .divider-arrows:hover span {
border-top-color: #035281
}

.first .longterm-stage {
display: grid;
grid-template-columns: 320px 1fr 320px;
gap: 64px;
padding: 0 64px 96px;
margin-bottom: 96px;
position: relative
}

.first .longterm-stage::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 1px;
height: 100%;
background: linear-gradient(to bottom, transparent, #87212733, transparent)
}

.first .side-img-wrap {
position: relative;
overflow: hidden;
border-radius: 20px
}

.first .side-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
opacity: .7;
transition: opacity .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.first .side-img-wrap:hover img {
opacity: 1
}

.first .longterm-center {
display: flex;
flex-direction: column;
justify-content: center;
padding: 32px 0
}

.first .longterm-center h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
margin: 0 0 16px;
color: #872127;
text-transform: uppercase
}

.first .longterm-center h3 {
font-size: 19px;
line-height: 1.5;
letter-spacing: 0;
margin: 0 0 32px;
color: #A85F04
}

.first .longterm-center p {
font-size: 14px;
line-height: 1.7;
letter-spacing: .02em;
margin: 0 0 16px;
color: #444
}

.first .longterm-center p:last-of-type {
margin-bottom: 0
}

.first .invest-reveal {
background: #fff;
border-top: 2px solid #a85f0433;
border-bottom: 2px solid #a85f0433;
padding: 96px 64px;
margin-bottom: 96px;
position: relative;
overflow: hidden
}

.first .invest-reveal::before {
content: '';
position: absolute;
top: 50%;
right: -100px;
width: 300px;
height: 300px;
background: radial-gradient(circle, #03528114 0%, transparent 70%);
border-radius: 50%;
transform: translateY(-50%);
animation: invest-pulse 8s ease-in-out infinite
}

@keyframes invest-pulse {

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

50% {
transform: translateY(-50%) scale(1.2);
opacity: .6
}
}

.first .invest-content {
max-width: 800px;
margin: 0 auto;
position: relative;
z-index: 1
}

.first .invest-content h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
margin: 0 0 64px;
color: #035281;
text-align: center
}

.first .invest-blocks {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 32px
}

.first .invest-item {
background: linear-gradient(135deg, #87212705 0%, #a85f0405 100%);
padding: 32px;
border-radius: 36px;
border: 1px solid #03528126;
position: relative;
transition: border-color .19s cubic-bezier(0.4, 0, 0.2, 1)
}

.first .invest-item:hover {
border-color: #03528166
}

.first .invest-num {
font-size: 62px;
line-height: 1;
letter-spacing: -.03em;
color: #872127;
margin: 0 0 8px;
font-weight: 700
}

.first .invest-label {
font-size: 14px;
line-height: 1.5;
letter-spacing: .05em;
text-transform: uppercase;
color: #A85F04;
margin: 0 0 16px
}

.first .invest-item p {
font-size: 14px;
line-height: 1.7;
letter-spacing: .02em;
margin: 0;
color: #555
}

.first .audience-split {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0;
margin-bottom: 96px;
box-shadow: 0 12px 60px 0 #a85f041c;
border-radius: 4px;
overflow: hidden
}

.first .aud-side {
padding: 64px;
position: relative
}

.first .aud-fit {
background: linear-gradient(ellipse 120% 100% at 30% 50%, #0352810a 0%, #87212705 100%)
}

.first .aud-misfit {
background: linear-gradient(ellipse 120% 100% at 70% 50%, #a85f0408 0%, #87212705 100%)
}

.first .aud-side h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
margin: 0 0 32px
}

.first .aud-fit h2 {
color: #035281
}

.first .aud-misfit h2 {
color: #A85F04
}

.first .aud-list {
list-style: none;
padding: 0;
margin: 0
}

.first .aud-list li {
font-size: 14px;
line-height: 1.7;
letter-spacing: .02em;
color: #444;
padding: 16px 0;
border-bottom: 1px solid #0000000d;
position: relative;
padding-left: 32px
}

.first .aud-list li:last-child {
border-bottom: none
}

.first .aud-list li::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 16px;
height: 16px;
border-radius: 50%;
transition: transform .21s cubic-bezier(0.4, 0, 0.2, 1)
}

.first .aud-fit .aud-list li::before {
background: #03528133;
border: 2px solid #035281
}

.first .aud-misfit .aud-list li::before {
background: #a85f0433;
border: 2px solid #A85F04
}

.first .aud-list li:hover::before {
transform: translateY(-50%) scale(1.2)
}

.first .team-showcase {
padding: 96px 64px;
background: #fafafa;
margin-bottom: 96px;
position: relative
}

.first .team-showcase::before {
content: '';
position: absolute;
bottom: 32px;
right: 64px;
width: 4px;
height: 4px;
background: #035281;
border-radius: 50%
}

.first .team-showcase::after {
content: '';
position: absolute;
bottom: 24px;
right: 56px;
width: 8px;
height: 8px;
background: #872127;
border-radius: 50%;
opacity: .5
}

.first .team-showcase h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
margin: 0 0 64px;
color: #872127;
text-align: center;
text-transform: uppercase
}

.first .team-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
max-width: 1100px;
margin: 0 auto
}

.first .team-card {
background: #fff;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 2px 3px 0 #03528112;
transition: transform .23s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .23s cubic-bezier(0.4, 0, 0.2, 1);
position: relative
}

.first .team-card:hover {
transform: scale(1.03);
box-shadow: 0 6px 14px 0 #0352811a
}

.first .team-photo {
width: 100%;
height: 280px;
overflow: hidden;
position: relative
}

.first .team-photo::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #87212733;
z-index: 1;
transition: opacity .27s cubic-bezier(0.0, 0, 0.2, 1)
}

.first .team-card:hover .team-photo::before {
opacity: 0
}

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

.first .team-info {
padding: 32px
}

.first .team-info h3 {
font-size: 19px;
line-height: 1.5;
letter-spacing: 0;
margin: 0 0 8px;
color: #035281
}

.first .team-role {
font-size: 14px;
line-height: 1.5;
letter-spacing: .05em;
text-transform: uppercase;
color: #A85F04;
margin: 0 0 16px
}

.first .team-info p {
font-size: 14px;
line-height: 1.7;
letter-spacing: .02em;
margin: 0;
color: #555
}

.first .community-final {
padding: 96px 64px;
background: linear-gradient(ellipse 140% 100% at 15% 50%, #a85f040a 0%, #03528108 50%, #8721270a 100%);
position: relative;
clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
}

.first .community-wrap {
max-width: 1000px;
margin: 0 auto;
text-align: center
}

.first .community-wrap h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
margin: 0 0 32px;
color: #035281
}

.first .community-wrap p {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
margin: 0 0 16px;
color: #444
}

.first .community-wrap p:last-of-type {
margin-bottom: 64px
}

.first .comm-features {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px
}

.first .comm-feat {
background: #fff;
padding: 32px;
border-radius: 36px;
box-shadow: 0 2px 3px 0 #87212712;
transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.first .comm-feat::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, #a85f040d 0%, transparent 70%);
opacity: 0;
transition: opacity .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.first .comm-feat:hover::before {
opacity: 1
}

.first .comm-feat:hover {
transform: translateY(-8px)
}

.first .comm-feat-icon {
width: 56px;
height: 56px;
border-radius: 50%;
background: #0352811a;
border: 2px solid #035281;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 16px;
position: relative;
z-index: 1
}

.first .comm-feat-icon svg {
width: 28px;
height: 28px;
fill: #035281
}

.first .comm-feat h3 {
font-size: 19px;
line-height: 1.5;
letter-spacing: 0;
margin: 0 0 16px;
color: #872127;
position: relative;
z-index: 1
}

.first .comm-feat p {
font-size: 14px;
line-height: 1.7;
letter-spacing: .02em;
margin: 0;
color: #555;
text-align: left;
position: relative;
z-index: 1
}

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

.first .intro-visual {
height: 400px
}

.first .intro-txt {
padding: 64px
}

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

.first .longterm-stage {
grid-template-columns: 1fr;
gap: 32px
}

.first .longterm-stage::before {
display: none
}

.first .invest-blocks {
grid-template-columns: 1fr
}

.first .audience-split {
grid-template-columns: 1fr
}

.first .team-grid {
grid-template-columns: 1fr
}

.first .comm-features {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 768px) {
.first .intro-txt h1 {
font-size: 46px
}

.first .intro-txt {
padding: 32px
}

.first .conditions-wrap {
padding: 64px 32px
}

.first .conditions-inner h2,
.first .longterm-center h2,
.first .invest-content h2,
.first .aud-side h2,
.first .team-showcase h2,
.first .community-wrap h2 {
font-size: 32px
}

.first .longterm-stage {
padding: 0 32px 64px
}

.first .invest-reveal {
padding: 64px 32px
}

.first .aud-side {
padding: 32px
}

.first .team-showcase {
padding: 64px 32px
}

.first .community-final {
padding: 64px 32px
}

.first .comm-features {
grid-template-columns: 1fr
}
}

@media (max-width: 480px) {
.first .intro-txt h1 {
font-size: 32px
}

.first .intro-txt p,
.first .community-wrap p {
font-size: 14px
}

.first .conditions-wrap {
padding: 32px 16px
}

.first .longterm-stage {
padding: 0 16px 32px
}

.first .invest-reveal {
padding: 32px 16px
}

.first .aud-side {
padding: 32px 16px
}

.first .team-showcase {
padding: 32px 16px
}

.first .community-final {
padding: 32px 16px
}
}

.abt-us {
max-width: 1280px;
margin: 0 auto;
background: #fff
}

.abt-us .intro-zone {
padding: 96px 32px 64px;
text-align: center;
position: relative;
overflow: hidden
}

.abt-us .intro-zone::before {
content: '"';
position: absolute;
top: 32px;
left: 50%;
transform: translateX(-50%);
font-size: 280px;
line-height: 1;
color: #8721270a;
font-weight: 700;
pointer-events: none
}

.abt-us .intro-lead {
font-size: 62px;
line-height: 1.2;
letter-spacing: -.02em;
text-transform: uppercase;
color: #1a1a1a;
margin: 0 0 32px;
position: relative;
z-index: 1;
max-width: 920px;
margin-left: auto;
margin-right: auto
}

.abt-us .intro-visual {
margin-top: 64px;
border-radius: 20px;
overflow: hidden;
position: relative;
max-width: 1100px;
margin-left: auto;
margin-right: auto
}

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

.abt-us .story-wrap {
background: linear-gradient(180deg, #2a2a2a 0%, #f5f5f5 100%);
padding: 96px 32px
}

.abt-us .story-container {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px;
align-items: start
}

.abt-us .story-card {
background: #fff;
border-radius: 4px;
padding: 32px;
box-shadow: 0 6px 14px 0 #8721271a;
transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .26s cubic-bezier(0.0, 0, 0.2, 1);
position: relative
}

.abt-us .story-card:hover {
transform: translateY(-8px);
box-shadow: 0 12px 60px 0 #8721271c
}

.abt-us .story-card:nth-child(1) {
animation: card-cycle-1 9s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

.abt-us .story-card:nth-child(2) {
animation: card-cycle-2 9s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

.abt-us .story-card:nth-child(3) {
animation: card-cycle-3 9s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

@keyframes card-cycle-1 {

0%,
100% {
transform: translateY(0);
box-shadow: 0 6px 14px 0 #8721271a
}

11%,
33% {
transform: translateY(-12px);
box-shadow: 0 12px 60px 0 #8721271c
}

44% {
transform: translateY(0);
box-shadow: 0 6px 14px 0 #8721271a
}
}

@keyframes card-cycle-2 {

0%,
33% {
transform: translateY(0);
box-shadow: 0 6px 14px 0 #8721271a
}

44%,
66% {
transform: translateY(-12px);
box-shadow: 0 12px 60px 0 #8721271c
}

77% {
transform: translateY(0);
box-shadow: 0 6px 14px 0 #8721271a
}
}

@keyframes card-cycle-3 {

0%,
66% {
transform: translateY(0);
box-shadow: 0 6px 14px 0 #8721271a
}

77%,
100% {
transform: translateY(-12px);
box-shadow: 0 12px 60px 0 #8721271c
}
}

.abt-us .story-number {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
color: #872127;
margin: 0 0 8px;
font-weight: 700
}

.abt-us .story-label {
font-size: 14px;
line-height: 1.5;
letter-spacing: .03em;
text-transform: uppercase;
color: #6a6a6a;
margin: 0 0 16px;
font-weight: 600
}

.abt-us .story-text {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #333;
margin: 0
}

.abt-us .mission-area {
padding: 96px 32px;
background: #fff;
position: relative
}

.abt-us .mission-area::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
background-image: linear-gradient(45deg, #a85f0408 25%, transparent 25%), linear-gradient(-45deg, #a85f0408 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #a85f0408 75%), linear-gradient(-45deg, transparent 75%, #a85f0408 75%);
background-size: 48px 48px;
background-position: 0 0, 0 24px, 24px -24px, -24px 0;
pointer-events: none;
opacity: .5
}

.abt-us .mission-grid {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 280px 1fr;
gap: 64px;
align-items: start;
position: relative;
z-index: 1
}

.abt-us .mission-sidebar {
position: sticky;
top: 96px
}

.abt-us .mission-heading {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
color: #872127;
margin: 0 0 16px
}

.abt-us .mission-subline {
font-size: 19px;
line-height: 1.5;
letter-spacing: .01em;
color: #5a5a5a;
margin: 0
}

.abt-us .mission-content {
display: flex;
flex-direction: column;
gap: 32px
}

.abt-us .mission-segment {
background: #fefefe;
border: 2px dashed #035281;
border-radius: 20px;
padding: 32px;
transition: border-color .19s cubic-bezier(0.4, 0, 0.2, 1), background .23s cubic-bezier(0.0, 0, 0.2, 1)
}

.abt-us .mission-segment:hover {
border-color: #872127;
background: #fff
}

.abt-us .mission-segment-title {
font-size: 19px;
line-height: 1.5;
letter-spacing: .02em;
text-transform: uppercase;
color: #035281;
margin: 0 0 16px;
font-weight: 600
}

.abt-us .mission-segment-body {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #3a3a3a;
margin: 0
}

.abt-us .team-zone {
padding: 96px 32px;
background: radial-gradient(ellipse 140% 100% at 15% 50%, #a85f0414 0%, #fff0 60%);
position: relative
}

.abt-us .team-zone::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 180px;
background: linear-gradient(180deg, transparent 0%, #fff 100%);
pointer-events: none
}

.abt-us .team-layout {
max-width: 1100px;
margin: 0 auto;
position: relative;
z-index: 1
}

.abt-us .team-header {
text-align: center;
margin-bottom: 64px
}

.abt-us .team-title {
font-size: 62px;
line-height: 1.2;
letter-spacing: -.02em;
color: #1a1a1a;
margin: 0 0 16px
}

.abt-us .team-intro {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #4a4a4a;
margin: 0;
max-width: 720px;
margin-left: auto;
margin-right: auto
}

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

.abt-us .member-card {
background: #fff;
border-radius: 36px;
overflow: hidden;
box-shadow: 0 2px 3px 0 #03528112;
transition: transform .18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.0, 0, 0.2, 1);
display: flex;
flex-direction: column
}

.abt-us .member-card:hover {
transform: scale(1.03);
box-shadow: 0 12px 60px 0 #0352811c
}

.abt-us .member-photo-wrap {
position: relative;
overflow: hidden;
height: 340px
}

.abt-us .member-photo {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: opacity .27s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .member-photo-wrap::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #87212738;
transition: opacity .21s cubic-bezier(0.0, 0, 0.2, 1);
z-index: 1;
pointer-events: none
}

.abt-us .member-card:hover .member-photo-wrap::before {
opacity: 0
}

.abt-us .member-info {
padding: 32px
}

.abt-us .member-name {
font-size: 19px;
line-height: 1.5;
letter-spacing: .01em;
color: #1a1a1a;
margin: 0 0 8px;
font-weight: 600
}

.abt-us .member-role {
font-size: 14px;
line-height: 1.5;
letter-spacing: .03em;
text-transform: uppercase;
color: #A85F04;
margin: 0 0 16px;
font-weight: 600
}

.abt-us .member-bio {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #4a4a4a;
margin: 0
}

.abt-us .values-section {
padding: 96px 32px;
background: #fff
}

.abt-us .values-container {
max-width: 1100px;
margin: 0 auto
}

.abt-us .values-headline {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
color: #035281;
margin: 0 0 64px;
text-align: left
}

.abt-us .values-featured {
display: grid;
grid-template-columns: 240px 1fr 1fr 1fr;
gap: 32px;
align-items: start
}

.abt-us .values-accent {
background: linear-gradient(135deg, #872127 0%, #A85F04 100%);
border-radius: 20px;
padding: 32px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
min-height: 280px;
box-shadow: 0 6px 14px 0 #8721271a
}

.abt-us .values-accent-number {
font-size: 62px;
line-height: 1;
letter-spacing: -.02em;
color: #fff;
margin: 0 0 8px;
font-weight: 700
}

.abt-us .values-accent-label {
font-size: 14px;
line-height: 1.5;
letter-spacing: .04em;
text-transform: uppercase;
color: #ffffffd9;
margin: 0;
font-weight: 600
}

.abt-us .value-item {
background: #fafafa;
border: 1px solid #e8e8e8;
border-radius: 4px;
padding: 32px;
transition: border-color .17s cubic-bezier(0.4, 0, 0.2, 1), background .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.abt-us .value-item:hover {
border-color: #035281;
background: #fff
}

.abt-us .value-icon {
width: 48px;
height: 48px;
margin-bottom: 16px
}

.abt-us .value-icon svg {
width: 100%;
height: 100%;
fill: none;
stroke: #872127;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round
}

.abt-us .value-name {
font-size: 19px;
line-height: 1.5;
letter-spacing: .01em;
color: #1a1a1a;
margin: 0 0 8px;
font-weight: 600
}

.abt-us .value-desc {
font-size: 14px;
line-height: 1.7;
letter-spacing: .01em;
color: #5a5a5a;
margin: 0
}

.abt-us .approach-block {
padding: 96px 32px 64px;
background: #f9f9f9;
position: relative
}

.abt-us .approach-block::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 220px;
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 120" preserveAspectRatio="none"><path fill="%23ffffff" d="M0,0 Q360,120 720,60 T1440,0 L1440,120 L0,120 Z"/></svg>') no-repeat top center;
background-size: 100% 100%;
pointer-events: none
}

.abt-us .approach-inner {
max-width: 1100px;
margin: 0 auto;
position: relative;
z-index: 1
}

.abt-us .approach-top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
margin-bottom: 64px
}

.abt-us .approach-lead {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
color: #1a1a1a;
margin: 0
}

.abt-us .approach-summary {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #4a4a4a;
margin: 0
}

.abt-us .approach-steps {
display: flex;
flex-direction: column;
gap: 16px
}

.abt-us .step-row {
background: #fff;
border-radius: 20px;
padding: 32px;
display: grid;
grid-template-columns: 80px 1fr;
gap: 32px;
align-items: center;
box-shadow: 0 2px 3px 0 #a85f0412;
transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.abt-us .step-row:hover {
transform: translateX(8px);
box-shadow: 0 6px 14px 0 #a85f041a
}

.abt-us .step-num {
width: 80px;
height: 80px;
background: linear-gradient(135deg, #035281 0%, #872127 100%);
border-radius: 36px;
display: flex;
align-items: center;
justify-content: center;
font-size: 46px;
line-height: 1;
letter-spacing: -.01em;
color: #fff;
font-weight: 700;
flex-shrink: 0
}

.abt-us .step-content {
display: flex;
flex-direction: column;
gap: 8px
}

.abt-us .step-title {
font-size: 19px;
line-height: 1.5;
letter-spacing: .01em;
color: #1a1a1a;
margin: 0;
font-weight: 600
}

.abt-us .step-detail {
font-size: 14px;
line-height: 1.7;
letter-spacing: .01em;
color: #6a6a6a;
margin: 0
}

.abt-us .metrics-space {
padding: 96px 32px;
background: #fff
}

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

.abt-us .metrics-title {
font-size: 62px;
line-height: 1.2;
letter-spacing: -.02em;
text-transform: uppercase;
color: #1a1a1a;
margin: 0 0 64px;
text-align: center
}

.abt-us .metrics-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px
}

.abt-us .metric-box {
background: #fafafa;
border: 2px solid #e8e8e8;
border-radius: 4px;
padding: 32px;
text-align: center;
transition: border-color .16s cubic-bezier(0.4, 0, 0.2, 1), background .24s cubic-bezier(0.0, 0, 0.2, 1);
position: relative
}

.abt-us .metric-box:hover {
border-color: #A85F04;
background: #fff
}

.abt-us .metric-trend {
position: absolute;
top: 16px;
right: 16px;
width: 24px;
height: 24px
}

.abt-us .metric-trend svg {
width: 100%;
height: 100%;
fill: none;
stroke: #4ade80;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round
}

.abt-us .metric-value {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.01em;
color: #872127;
margin: 0 0 8px;
font-weight: 700
}

.abt-us .metric-label {
font-size: 14px;
line-height: 1.5;
letter-spacing: .03em;
text-transform: uppercase;
color: #6a6a6a;
margin: 0;
font-weight: 600
}

@media (max-width: 1024px) {
.abt-us .intro-zone {
padding: 64px 32px
}

.abt-us .intro-lead {
font-size: 46px
}

.abt-us .intro-visual {
margin-top: 32px
}

.abt-us .intro-img {
height: 400px
}

.abt-us .story-wrap {
padding: 64px 32px
}

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

.abt-us .mission-area {
padding: 64px 32px
}

.abt-us .mission-grid {
grid-template-columns: 1fr;
gap: 32px
}

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

.abt-us .team-zone {
padding: 64px 32px
}

.abt-us .team-title {
font-size: 46px
}

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

.abt-us .values-section {
padding: 64px 32px
}

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

.abt-us .approach-block {
padding: 64px 32px
}

.abt-us .approach-top {
grid-template-columns: 1fr;
gap: 32px
}

.abt-us .step-row {
grid-template-columns: 60px 1fr;
gap: 16px;
padding: 16px
}

.abt-us .step-num {
width: 60px;
height: 60px;
font-size: 19px
}

.abt-us .metrics-space {
padding: 64px 32px
}

.abt-us .metrics-title {
font-size: 46px
}

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

@media (max-width: 768px) {
.abt-us .intro-zone {
padding: 64px 16px
}

.abt-us .intro-lead {
font-size: 19px
}

.abt-us .intro-img {
height: 280px
}

.abt-us .story-wrap {
padding: 64px 16px
}

.abt-us .story-card {
padding: 16px
}

.abt-us .mission-area {
padding: 64px 16px
}

.abt-us .mission-heading {
font-size: 19px
}

.abt-us .mission-segment {
padding: 16px
}

.abt-us .team-zone {
padding: 64px 16px
}

.abt-us .team-title {
font-size: 19px
}

.abt-us .member-photo-wrap {
height: 240px
}

.abt-us .member-info {
padding: 16px
}

.abt-us .values-section {
padding: 64px 16px
}

.abt-us .values-headline {
font-size: 19px;
margin-bottom: 32px
}

.abt-us .values-accent {
padding: 16px;
min-height: 180px
}

.abt-us .values-accent-number {
font-size: 46px
}

.abt-us .value-item {
padding: 16px
}

.abt-us .approach-block {
padding: 64px 16px
}

.abt-us .approach-lead {
font-size: 19px
}

.abt-us .step-row {
grid-template-columns: 1fr;
gap: 16px;
text-align: center
}

.abt-us .step-num {
margin: 0 auto
}

.abt-us .metrics-space {
padding: 64px 16px
}

.abt-us .metrics-title {
font-size: 19px;
margin-bottom: 32px
}

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

.abt-us .metric-box {
padding: 16px
}
}

@media (max-width: 480px) {
.abt-us .intro-zone {
padding: 32px 16px
}

.abt-us .intro-zone::before {
font-size: 160px
}

.abt-us .intro-visual {
border-radius: 4px
}

.abt-us .story-wrap {
padding: 32px 16px
}

.abt-us .mission-area {
padding: 32px 16px
}

.abt-us .team-zone {
padding: 32px 16px
}

.abt-us .team-header {
margin-bottom: 32px
}

.abt-us .values-section {
padding: 32px 16px
}

.abt-us .approach-block {
padding: 32px 16px
}

.abt-us .approach-top {
margin-bottom: 32px
}

.abt-us .metrics-space {
padding: 32px 16px
}
}

.success-page {
max-width: 1280px;
margin: 0 auto;
padding: 64px 16px;
background: #fff
}

.success-page .confirm-zone {
text-align: center;
padding: 96px 32px 64px;
background: linear-gradient(ellipse 80% 100% at 25% 50%, #8721270a, #fff0)
}

.success-page .icon-wrap {
width: 96px;
height: 96px;
margin: 0 auto 32px;
position: relative
}

.success-page .check-circle {
width: 96px;
height: 96px;
border: 4px solid #872127;
border-radius: 50%;
position: relative;
background: #fff;
transform: scale(1);
transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.success-page .icon-wrap:hover .check-circle {
transform: scale(1.05)
}

.success-page .check-mark {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 48px;
height: 48px
}

.success-page .check-mark::before {
content: '';
position: absolute;
width: 16px;
height: 32px;
border: solid #872127;
border-width: 0 5px 5px 0;
transform: rotate(45deg);
top: 4px;
left: 16px
}

.success-page .confirm-zone h1 {
font-size: 46px;
line-height: 1.2;
letter-spacing: -.02em;
color: #1a1a1a;
margin: 0 0 16px;
text-transform: uppercase
}

.success-page .confirm-zone p {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #4a4a4a;
margin: 0 auto;
max-width: 640px
}

.success-page .details-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 32px;
padding: 64px 32px;
background: #fafafa;
border-top: 2px solid #872127;
border-bottom: 2px solid #872127;
margin: 64px 0
}

.success-page .detail-card {
padding: 32px;
background: #fff;
border-radius: 4px;
box-shadow: 0 2px 3px 0 #87212712;
transition: box-shadow .21s cubic-bezier(0.4, 0, 0.2, 1)
}

.success-page .detail-card:hover {
box-shadow: 0 6px 14px 0 #8721271a
}

.success-page .detail-card h2 {
font-size: 19px;
line-height: 1.5;
letter-spacing: .02em;
color: #872127;
margin: 0 0 16px;
text-transform: uppercase
}

.success-page .detail-card p {
font-size: 14px;
line-height: 1.7;
letter-spacing: .01em;
color: #4a4a4a;
margin: 0 0 8px
}

.success-page .detail-card p:last-child {
margin: 0
}

.success-page .action-zone {
text-align: center;
padding: 64px 32px 32px
}

.success-page .action-zone h3 {
font-size: 19px;
line-height: 1.5;
letter-spacing: .02em;
color: #1a1a1a;
margin: 0 0 32px
}

.success-page .btn-group {
display: flex;
flex-wrap: wrap;
gap: 16px;
justify-content: center;
align-items: center
}

.success-page .btn {
display: inline-block;
padding: 16px 32px;
font-size: 14px;
line-height: 1.2;
letter-spacing: .08em;
text-decoration: none;
text-transform: uppercase;
border-radius: 4px;
transition: transform .18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.success-page .btn:hover {
transform: scale(1.04)
}

.success-page .btn-primary {
background: #872127;
color: #fff;
border: 2px solid #872127;
box-shadow: 0 2px 3px 0 #87212712
}

.success-page .btn-primary:hover {
box-shadow: 0 6px 14px 0 #8721271a
}

.success-page .btn-secondary {
background: #fff;
color: #872127;
border: 2px solid #872127
}

.success-page .info-strip {
background: linear-gradient(ellipse 70% 100% at 75% 50%, #0352810d, #fff0);
padding: 32px;
border-radius: 20px;
margin: 64px 0 0;
border: 1px solid #035281
}

.success-page .info-strip p {
font-size: 14px;
line-height: 1.7;
letter-spacing: .01em;
color: #4a4a4a;
margin: 0;
text-align: center
}

.success-page .info-strip a {
color: #035281;
text-decoration: none;
position: relative;
transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.success-page .info-strip a::after {
content: '';
position: absolute;
bottom: -2px;
right: 0;
width: 0;
height: 2px;
background: #035281;
transition: width .27s cubic-bezier(0.4, 0, 0.2, 1)
}

.success-page .info-strip a:hover::after {
width: 100%;
right: auto;
left: 0
}

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

.success-page .confirm-zone {
padding: 64px 16px 32px
}

.success-page .confirm-zone h1 {
font-size: 32px
}

.success-page .details-grid {
grid-template-columns: 1fr;
padding: 32px 16px;
margin: 32px 0
}

.success-page .action-zone {
padding: 32px 16px
}

.success-page .btn-group {
flex-direction: column;
width: 100%
}

.success-page .btn {
width: 100%
}
}