*::before,
*::after {
content: none;
box-sizing: inherit;
}

body {
margin: 0;
overscroll-behavior: contain;
overflow-x: hidden;
font-family: 'IBM Plex Sans', 'Arimo', sans-serif;
}

.page-header {
background: #ffffff;
border-bottom: 3px solid #B3B74D;
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
position: relative;
z-index: 100;
}

.top-bar {
background: #B3B74D;
padding: 8px 20px;
}

.top-bar-inner {
max-width: 1170px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
}

.top-bar-contact {
display: flex;
align-items: center;
gap: 20px;
flex-wrap: wrap;
}

.top-bar-contact a {
color: #ffffff;
text-decoration: none;
font-size: 13px;
font-family: 'Arimo', sans-serif;
font-weight: 500;
letter-spacing: 0.02em;
transition: color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
display: flex;
align-items: center;
gap: 8px;
min-height: 44px;
}

.top-bar-contact a:hover {
color: #f5f0e8;
}

.top-bar-label {
font-size: 13px;
color: #ffffff;
font-family: 'Arimo', sans-serif;
opacity: 0.85;
}

.top-bar-right {
font-size: 13px;
color: #ffffff;
font-family: 'Arimo', sans-serif;
font-weight: 500;
letter-spacing: 0.04em;
}

.header-main {
max-width: 1170px;
margin: 0 auto;
padding: 20px 20px 12px;
display: flex;
align-items: center;
gap: 40px;
}

.brand-block {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
flex-shrink: 0;
}

.logo-hex-frame {
width: 56px;
height: 56px;
display: flex;
align-items: center;
justify-content: center;
background: #ffffff;
border: 2px solid #B3B74D;
box-shadow: 2px 2px 6px 0 rgba(179, 183, 77, 0.07), inset 0 0 0 3px rgba(204, 184, 148, 0.18);
clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
border-bottom: 3px solid #CCB894;
}

.logo-hex-frame img {
width: 40px;
height: 40px;
object-fit: contain;
display: block;
}

.brand-name {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 16px;
font-weight: 700;
color: #2a2a2a;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1.2;
}

.header-nav-area {
flex: 1;
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 4px;
}

.header-tagline {
font-size: 13px;
font-family: 'Arimo', sans-serif;
color: #7a7a5a;
font-weight: 400;
line-height: 1.55;
text-align: right;
margin-bottom: 4px;
}

.main-nav {
display: flex;
flex-wrap: wrap;
gap: 4px;
justify-content: flex-end;
align-items: center;
}

.main-nav a {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 13px;
font-weight: 600;
color: #2a2a2a;
text-decoration: none;
padding: 8px 12px;
border: 2px solid transparent;
border-radius: 5px;
line-height: 1.2;
min-height: 44px;
display: inline-flex;
align-items: center;
transition: color 0.38s ease-in-out, border-color 0.38s ease-in-out, background 0.38s ease-in-out;
}

.main-nav a:hover {
color: #7a7a1a;
border-color: #B3B74D;
background: rgba(179, 183, 77, 0.07);
}

.main-nav a:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(179, 183, 77, 0.45);
border-radius: 5px;
}

.main-nav a.active-page {
color: #7a7a1a;
border-color: #B3B74D;
background: rgba(179, 183, 77, 0.1);
}

.header-accent-bar {
height: 4px;
background: linear-gradient(90deg, #B3B74D 0%, #CCB894 60%, #ffffff 100%);
}

.page-footer {
background: #f7f5ef;
border-top: 3px solid #B3B74D;
box-shadow: 2px -4px 22px 0 rgba(179, 183, 77, 0.08);
padding: 40px 20px 20px;
}

.footer-inner {
max-width: 1170px;
margin: 0 auto;
}

.footer-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 40px;
margin-bottom: 40px;
}

.footer-col-brand {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 12px;
}

.footer-logo-wrap {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}

.footer-logo-hex {
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
background: #ffffff;
border: 2px solid #B3B74D;
box-shadow: 2px 2px 6px 0 rgba(179, 183, 77, 0.07);
clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
}

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

.footer-brand-name {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 13px;
font-weight: 700;
color: #2a2a2a;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1.2;
}

.footer-brand-desc {
font-family: 'Arimo', sans-serif;
font-size: 13px;
color: #5a5a4a;
line-height: 1.55;
}

.footer-col-heading {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 13px;
font-weight: 700;
color: #2a2a2a;
letter-spacing: 0.06em;
text-transform: uppercase;
line-height: 1.2;
margin: 0 0 12px 0;
padding-bottom: 8px;
border-bottom: 2px solid #B3B74D;
}

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

.footer-link-list li a {
font-family: 'Arimo', sans-serif;
font-size: 13px;
color: #4a4a3a;
text-decoration: none;
line-height: 1.55;
transition: color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
display: inline-block;
min-height: 44px;
padding: 4px 0;
display: flex;
align-items: center;
}

.footer-link-list li a:hover {
color: #7a7a1a;
}

.footer-link-list li a:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(179, 183, 77, 0.4);
border-radius: 1px;
}

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

.footer-contact-list li {
font-family: 'Arimo', sans-serif;
font-size: 13px;
color: #4a4a3a;
line-height: 1.55;
}

.footer-contact-list li a {
color: #4a4a3a;
text-decoration: none;
transition: color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
min-height: 44px;
display: inline-flex;
align-items: center;
}

.footer-contact-list li a:hover {
color: #7a7a1a;
}

.footer-contact-list li a:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(179, 183, 77, 0.4);
border-radius: 1px;
}

.footer-contact-label {
font-weight: 600;
color: #2a2a2a;
display: block;
font-size: 13px;
margin-bottom: 4px;
}

.footer-bottom {
border-top: 1px solid #CCB894;
padding-top: 20px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 12px;
}

.footer-copy {
font-family: 'Arimo', sans-serif;
font-size: 13px;
color: #7a7a6a;
line-height: 1.55;
}

.footer-legal-links {
display: flex;
gap: 20px;
flex-wrap: wrap;
}

.footer-legal-links a {
font-family: 'Arimo', sans-serif;
font-size: 13px;
color: #5a5a4a;
text-decoration: none;
transition: color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
min-height: 44px;
display: inline-flex;
align-items: center;
}

.footer-legal-links a:hover {
color: #7a7a1a;
}

.footer-legal-links a:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(179, 183, 77, 0.4);
border-radius: 1px;
}

.footer-preferences-link {
font-family: 'Arimo', sans-serif;
font-size: 13px;
color: #5a5a4a;
text-decoration: underline;
cursor: pointer;
background: none;
border: none;
padding: 0;
min-height: 44px;
display: inline-flex;
align-items: center;
transition: color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.footer-preferences-link:hover {
color: #7a7a1a;
}

.footer-preferences-link:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(179, 183, 77, 0.4);
border-radius: 1px;
}

.cookie-notice {
display: none;
position: fixed;
bottom: 20px;
left: 20px;
z-index: 2000;
width: 320px;
max-width: calc(100vw - 40px);
background: #ffffff;
border: 2px solid #B3B74D;
border-radius: 11px;
box-shadow: 2px 10px 36px 0 rgba(179, 183, 77, 0.11);
padding: 20px;
box-sizing: border-box;
}

.cookie-icon-row {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 12px;
}

.cookie-icon-svg {
width: 32px;
height: 32px;
}

.cookie-text {
font-family: 'Arimo', sans-serif;
font-size: 13px;
color: #2a2a2a;
line-height: 1.55;
margin-bottom: 20px;
text-align: left;
}

.cookie-text strong {
font-weight: 600;
color: #2a2a2a;
}

.cookie-buttons {
display: flex;
gap: 8px;
}

.cookie-btn-accept {
flex: 1;
font-family: 'IBM Plex Sans', sans-serif;
font-size: 13px;
font-weight: 600;
color: #2a2a2a;
background: transparent;
border: 2px solid #B3B74D;
border-radius: 5px;
padding: 8px 12px;
cursor: pointer;
min-height: 44px;
transition: background 0.38s ease-in-out, color 0.38s ease-in-out;
box-shadow: inset 0 0 0 0 #B3B74D;
}

.cookie-btn-accept:hover {
background: #B3B74D;
color: #ffffff;
}

.cookie-btn-accept:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(179, 183, 77, 0.45);
}

.cookie-btn-decline {
flex: 1;
font-family: 'IBM Plex Sans', sans-serif;
font-size: 13px;
font-weight: 600;
color: #5a5a4a;
background: transparent;
border: 2px solid #CCB894;
border-radius: 5px;
padding: 8px 12px;
cursor: pointer;
min-height: 44px;
transition: background 0.38s ease-in-out, color 0.38s ease-in-out;
}

.cookie-btn-decline:hover {
background: #CCB894;
color: #2a2a2a;
}

.cookie-btn-decline:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(204, 184, 148, 0.5);
}

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

@media (max-width: 768px) {
.header-main {
flex-direction: column;
align-items: center;
gap: 20px;
padding: 20px;
}

.header-nav-area {
align-items: center;
width: 100%;
}

.main-nav {
justify-content: center;
}

.header-tagline {
text-align: center;
}

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

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

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

@media (max-width: 640px) {
.top-bar-contact {
flex-direction: column;
gap: 4px;
align-items: flex-start;
}

.main-nav {
gap: 4px;
}

.main-nav a {
font-size: 13px;
padding: 8px 8px;
}

.cookie-notice {
left: 12px;
bottom: 12px;
width: calc(100vw - 24px);
max-width: calc(100vw - 24px);
}
}

.policy-main-eys {
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px;
}

.policy-main-eys h1 {
font-size: 52px;
line-height: 1.2;
color: #2a2a2a;
margin-bottom: 40px;
padding-bottom: 20px;
border-bottom: 2px solid #B3B74D;
}

.policy-main-eys h2 {
font-size: 16px;
line-height: 1.55;
color: #2a2a2a;
margin-top: 40px;
margin-bottom: 20px;
text-transform: uppercase;
letter-spacing: 0.08em;
}

.policy-main-eys h3 {
font-size: 16px;
line-height: 1.55;
color: #3a3a2e;
margin-top: 40px;
margin-bottom: 12px;
}

.policy-main-eys h4,
.policy-main-eys h5,
.policy-main-eys h6 {
font-size: 13px;
line-height: 1.55;
color: #3a3a2e;
margin-top: 20px;
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: 0.06em;
}

.policy-main-eys ul,
.policy-main-eys ol {
margin: 20px 0;
padding-left: 40px;
}

.policy-main-eys ul {
list-style: none;
padding-left: 20px;
}

.policy-main-eys ul li {
position: relative;
padding-left: 20px;
}

.policy-main-eys ul li::before {
content: "";
position: absolute;
left: 0;
top: 10px;
width: 6px;
height: 6px;
background-color: #B3B74D;
border-radius: 1px;
transform: rotate(45deg);
}

.policy-main-eys ol {
list-style: decimal;
}

.policy-main-eys ol li {
padding-left: 8px;
}

.policy-main-eys li {
font-size: 16px;
line-height: 1.8;
color: #2c2c2c;
margin-bottom: 8px;
}

.policy-main-eys li ul,
.policy-main-eys li ol {
margin: 8px 0;
}

.policy-main-eys em,
.policy-main-eys i {
font-style: italic;
color: #5a5a3a;
}

.policy-main-eys a {
color: #7a7e1e;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), text-decoration-color 0.4s ease-in-out;
}

.policy-main-eys a:hover {
color: #B3B74D;
text-decoration-color: #CCB894;
}

.policy-main-eys hr {
border: none;
height: 1px;
background: linear-gradient(90deg, #B3B74D 0%, #CCB894 60%, #ffffff 100%);
margin: 40px 0;
border-radius: 1px;
}

.policy-main-eys div {
font-size: 16px;
line-height: 1.8;
color: #2c2c2c;
margin-bottom: 20px;
}

.policy-main-eys div+div {
margin-top: 4px;
}

@media (max-width: 768px) {
.policy-main-eys {
padding: 40px 20px;
}

.policy-main-eys h1 {
font-size: 52px;
}

.policy-main-eys ul,
.policy-main-eys ol {
padding-left: 20px;
}
}

@media (max-width: 640px) {
.policy-main-eys {
padding: 40px 12px;
}

.policy-main-eys h1 {
font-size: 52px;
margin-bottom: 20px;
}

.policy-main-eys h2 {
margin-top: 20px;
}
}

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

.vision-page * {
box-sizing: border-box;
}

.vision-page img {
max-width: 100%;
}

.vision-page ::selection {
background: #B3B74D;
color: #fff;
}

.vision-page .vp-title-block {
position: relative;
padding: 80px 20px 40px;
background: linear-gradient(112deg, #f5f2ea 55%, #e8e6d8 100%);
overflow: hidden;
}

.vision-page .vp-title-block::before {
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(circle at 20% 80%, rgba(179, 183, 77, 0.09) 0%, transparent 60%),
radial-gradient(circle at 80% 20%, rgba(204, 184, 148, 0.10) 0%, transparent 55%);
pointer-events: none;
}

.vision-page .vp-dot-grid {
position: absolute;
top: 0;
left: 0;
width: 55%;
height: 100%;
background-image: radial-gradient(circle, rgba(179, 183, 77, 0.22) 1px, transparent 1px);
background-size: 22px 22px;
pointer-events: none;
z-index: 0;
}

.vision-page .vp-title-inner {
position: relative;
z-index: 1;
max-width: 1170px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 40px;
}

.vision-page .vp-title-text {
flex: 1 1 0;
}

.vision-page .vp-title-label {
display: inline-block;
font-size: 13px;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #B3B74D;
border: 2px solid #B3B74D;
border-radius: 5px;
padding: 4px 12px;
margin-bottom: 20px;
}

.vision-page .vp-h1 {
font-size: 52px;
line-height: 1.2;
color: #1e1e0f;
margin: 0 0 20px;
-webkit-text-stroke: 0;
}

.vision-page .vp-h1 .vp-h1-stroke {
display: block;
-webkit-text-stroke: 2px #B3B74D;
color: transparent;
font-size: 66px;
line-height: 1.2;
}

.vision-page .vp-h1 .vp-h1-plain {
display: block;
color: #1e1e0f;
}

.vision-page .vp-title-desc {
font-size: 16px;
line-height: 1.55;
color: #3a3820;
max-width: 520px;
margin: 0 0 20px;
}

.vision-page .vp-title-desc .vp-first-word {
text-transform: uppercase;
color: #B3B74D;
}

.vision-page .vp-title-img-col {
flex: 0 0 380px;
position: relative;
}

.vision-page .vp-title-img-wrap {
width: 380px;
height: 300px;
border-radius: 20px;
overflow: hidden;
box-shadow: 2px 10px 36px 0 rgba(179, 183, 77, 0.11);
position: relative;
}

.vision-page .vp-title-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
mix-blend-mode: multiply;
filter: sepia(12%) contrast(1.04);
}

.vision-page .vp-title-img-wrap::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to right, rgba(204, 184, 148, 0.18), transparent 70%);
pointer-events: none;
}

.vision-page .vp-title-abbr {
position: absolute;
bottom: -20px;
right: -12px;
font-size: 66px;
line-height: 1.2;
color: rgba(179, 183, 77, 0.08);
font-weight: 900;
letter-spacing: -4px;
pointer-events: none;
white-space: nowrap;
z-index: 0;
}

.vision-page .vp-btn-primary {
display: inline-block;
font-size: 13px;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #1e1e0f;
background: transparent;
border: 3px solid #B3B74D;
border-radius: 5px;
padding: 12px 20px;
cursor: pointer;
text-decoration: none;
transition: background-color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative;
overflow: hidden;
}

.vision-page .vp-btn-primary:hover {
background: #B3B74D;
color: #fff;
}

.vision-page .vp-btn-primary:focus {
outline: 3px solid #B3B74D;
outline-offset: 2px;
}

.vision-page .vp-btn-primary:active {
background: #9aa042;
border-color: #9aa042;
color: #fff;
}

.vision-page .vp-about-block {
background: #fff;
padding: 80px 20px 40px;
border-top: 3px solid #CCB894;
}

.vision-page .vp-about-inner {
max-width: 1170px;
margin: 0 auto;
display: grid;
grid-template-columns: 2fr 1fr;
gap: 40px;
align-items: start;
}

.vision-page .vp-about-main {}

.vision-page .vp-section-label {
font-size: 13px;
text-transform: uppercase;
letter-spacing: 0.12em;
color: #CCB894;
margin-bottom: 12px;
display: block;
}

.vision-page .vp-h2 {
font-size: 52px;
line-height: 1.2;
margin: 0 0 20px;
-webkit-text-stroke: 1.5px #1e1e0f;
color: transparent;
}

.vision-page .vp-body-text {
font-size: 16px;
line-height: 1.55;
color: #3a3820;
margin: 0 0 20px;
}

.vision-page .vp-body-text .vp-first-word {
text-transform: uppercase;
color: #B3B74D;
}

.vision-page .vp-about-side {
display: flex;
flex-direction: column;
gap: 12px;
text-align: right;
}

.vision-page .vp-metric-card {
border: 2px solid #B3B74D;
border-radius: 11px;
padding: 20px;
background: #faf9f3;
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
transition: box-shadow 0.42s ease-in-out, border-color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.vision-page .vp-metric-card:hover {
box-shadow: 2px 10px 36px 0 rgba(179, 183, 77, 0.11);
border-color: #CCB894;
}

.vision-page .vp-metric-number {
font-size: 52px;
line-height: 1.2;
color: #B3B74D;
display: block;
}

.vision-page .vp-metric-desc {
font-size: 13px;
line-height: 1.55;
color: #5a5630;
}

.vision-page .vp-team-block {
background: linear-gradient(to right, #CCB894, rgba(204, 184, 148, 0.12));
padding: 80px 20px 40px;
position: relative;
overflow: hidden;
}

.vision-page .vp-team-block::before {
content: "ZFH";
position: absolute;
top: 0;
right: 40px;
font-size: 66px;
line-height: 1.2;
color: rgba(255, 255, 255, 0.18);
font-weight: 900;
pointer-events: none;
letter-spacing: -2px;
}

.vision-page .vp-team-inner {
max-width: 1170px;
margin: 0 auto;
}

.vision-page .vp-h3 {
font-size: 52px;
line-height: 1.2;
-webkit-text-stroke: 1.5px #fff;
color: transparent;
margin: 0 0 40px;
}

.vision-page .vp-team-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}

.vision-page .vp-team-card {
background: #fff;
border-radius: 20px;
padding: 20px;
display: flex;
flex-direction: row;
gap: 20px;
align-items: flex-start;
box-shadow: 2px 2px 6px 0 rgba(204, 184, 148, 0.07);
transition: box-shadow 0.40s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.vision-page .vp-team-card:hover {
box-shadow: 2px 10px 36px 0 rgba(204, 184, 148, 0.11);
}

.vision-page .vp-portrait-wrap {
width: 88px;
height: 88px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
border: 3px solid #B3B74D;
}

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

.vision-page .vp-team-info {}

.vision-page .vp-team-name {
font-size: 16px;
line-height: 1.2;
color: #1e1e0f;
margin: 0 0 4px;
}

.vision-page .vp-team-role {
font-size: 13px;
color: #B3B74D;
text-transform: uppercase;
letter-spacing: 0.09em;
margin-bottom: 8px;
}

.vision-page .vp-team-bio {
font-size: 13px;
line-height: 1.55;
color: #5a5630;
margin: 0;
}

.vision-page .vp-values-block {
background: #faf9f3;
padding: 80px 20px 80px;
border-top: 2px solid rgba(179, 183, 77, 0.2);
}

.vision-page .vp-values-inner {
max-width: 1170px;
margin: 0 auto;
}

.vision-page .vp-values-top {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 40px;
margin-bottom: 40px;
}

.vision-page .vp-h4 {
font-size: 52px;
line-height: 1.2;
-webkit-text-stroke: 1.5px #1e1e0f;
color: transparent;
margin: 0;
}

.vision-page .vp-values-intro {
font-size: 16px;
line-height: 1.55;
color: #3a3820;
max-width: 400px;
text-align: right;
margin: 0;
}

.vision-page .vp-values-intro .vp-first-word {
text-transform: uppercase;
color: #B3B74D;
}

.vision-page .vp-values-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}

.vision-page .vp-value-item {
border: 2px solid #CCB894;
border-radius: 11px;
padding: 20px;
background: #fff;
box-shadow: 2px 2px 6px 0 rgba(204, 184, 148, 0.07);
transition: border-color 0.36s ease-in-out, box-shadow 0.36s ease-in-out;
position: relative;
}

.vision-page .vp-value-item:hover {
border-color: #B3B74D;
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
}

.vision-page .vp-value-item::before {
content: "";
display: block;
width: 28px;
height: 4px;
background: linear-gradient(to right, #CCB894, rgba(204, 184, 148, 0.1));
border-radius: 1px;
margin-bottom: 12px;
}

.vision-page .vp-value-title {
font-size: 16px;
line-height: 1.2;
color: #1e1e0f;
margin: 0 0 8px;
}

.vision-page .vp-value-text {
font-size: 13px;
line-height: 1.55;
color: #5a5630;
margin: 0;
}

@media (max-width: 1024px) {
.vision-page .vp-title-inner {
flex-direction: column;
}

.vision-page .vp-title-img-col {
flex: 0 0 auto;
width: 100%;
}

.vision-page .vp-title-img-wrap {
width: 100%;
height: 260px;
}

.vision-page .vp-values-grid {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 768px) {
.vision-page .vp-h1 {
font-size: 40px;
}

.vision-page .vp-h1 .vp-h1-stroke {
font-size: 52px;
}

.vision-page .vp-h2,
.vision-page .vp-h3,
.vision-page .vp-h4 {
font-size: 40px;
}

.vision-page .vp-about-inner {
grid-template-columns: 1fr;
}

.vision-page .vp-about-side {
text-align: left;
flex-direction: row;
flex-wrap: wrap;
}

.vision-page .vp-metric-card {
flex: 1 1 140px;
}

.vision-page .vp-team-grid {
grid-template-columns: 1fr;
}

.vision-page .vp-values-top {
flex-direction: column;
align-items: flex-start;
}

.vision-page .vp-values-intro {
text-align: left;
max-width: 100%;
}
}

@media (max-width: 640px) {

.vision-page .vp-title-block,
.vision-page .vp-about-block,
.vision-page .vp-team-block,
.vision-page .vp-values-block {
padding-top: 40px;
padding-bottom: 40px;
}

.vision-page .vp-h1 {
font-size: 32px;
}

.vision-page .vp-h1 .vp-h1-stroke {
font-size: 40px;
}

.vision-page .vp-h2,
.vision-page .vp-h3,
.vision-page .vp-h4 {
font-size: 32px;
}

.vision-page .vp-values-grid {
grid-template-columns: 1fr;
}

.vision-page .vp-metric-number {
font-size: 40px;
}
}

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

.about-us-page .au-inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 20px;
}

.about-us-page ::selection {
background: #B3B74D;
color: #fff;
}

.about-us-page .first-word {
text-transform: uppercase;
color: #B3B74D;
font-size: 13px;
letter-spacing: 0.12em;
}

.about-us-page .outlined-heading {
-webkit-text-stroke: 1.5px #2a2a2a;
color: transparent;
line-height: 1.2;
}

.about-us-page .outlined-light {
-webkit-text-stroke: 1.5px #B3B74D;
color: transparent;
line-height: 1.2;
}

.about-us-page .au-title-block {
background: #fff;
padding: 80px 0 40px;
position: relative;
}

.about-us-page .au-title-block::before {
content: "";
position: absolute;
top: 0;
right: 0;
width: 340px;
height: 340px;
background: repeating-linear-gradient(135deg,
transparent,
transparent 14px,
rgba(179, 183, 77, 0.07) 14px,
rgba(179, 183, 77, 0.07) 16px);
pointer-events: none;
}

.about-us-page .au-title-grid {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 40px;
align-items: start;
}

.about-us-page .au-img-zone {
padding: 20px 12px 20px 0;
position: relative;
}

.about-us-page .au-img-frame {
width: 100%;
aspect-ratio: 5/7;
border-radius: 11px;
overflow: hidden;
box-shadow: 2px 10px 36px 0 rgba(179, 183, 77, 0.11);
position: relative;
}

.about-us-page .au-img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.7) sepia(0.18) brightness(0.97);
}

.about-us-page .au-img-badge {
position: absolute;
bottom: -12px;
right: -8px;
background: #B3B74D;
color: #fff;
font-size: 13px;
padding: 8px 12px;
border-radius: 5px;
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
line-height: 1.2;
text-align: center;
border: 2px solid #fff;
}

.about-us-page .au-text-zone {
padding: 20px 0 20px 20px;
display: flex;
flex-direction: column;
gap: 20px;
}

.about-us-page .au-h1 {
font-size: 52px;
line-height: 1.2;
margin: 0;
}

.about-us-page .au-lead {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 20px;
align-items: start;
}

.about-us-page .au-lead-main {
font-size: 16px;
line-height: 1.55;
color: #2a2a2a;
margin: 0;
}

.about-us-page .au-lead-aside {
font-size: 13px;
line-height: 1.8;
color: #5a5a4a;
border-left: 3px solid #CCB894;
border-top: 1px solid rgba(204, 184, 148, 0.3);
padding: 8px 12px;
border-radius: 1px;
background: rgba(204, 184, 148, 0.06);
box-shadow: inset 2px 2px 6px 0 rgba(204, 184, 148, 0.07);
}

.about-us-page .au-metrics-row {
display: flex;
flex-direction: row;
gap: 20px;
flex-wrap: wrap;
}

.about-us-page .au-metric {
flex: 1;
min-width: 120px;
padding: 12px;
border: 2px solid #B3B74D;
border-radius: 5px;
text-align: right;
background: #fff;
box-shadow: 2px 2px 6px 0 rgba(179, 183, 77, 0.07);
transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.28s ease-in-out;
}

.about-us-page .au-metric:hover {
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
border-color: #CCB894;
}

.about-us-page .au-metric-num {
font-size: 52px;
line-height: 1.2;
color: #B3B74D;
display: block;
-webkit-text-stroke: 1px #B3B74D;
}

.about-us-page .au-metric-label {
font-size: 13px;
line-height: 1.55;
color: #5a5a4a;
}

.about-us-page .au-vision-link {
display: inline-block;
font-size: 13px;
color: #B3B74D;
border: 2px solid #B3B74D;
border-radius: 5px;
padding: 8px 20px;
text-decoration: none;
line-height: 1.2;
background: #fff;
transition: background 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.25s ease-in-out;
align-self: flex-start;
}

.about-us-page .au-vision-link:hover {
background: #B3B74D;
color: #fff;
}

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

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

.about-us-page .au-team-block {
background: #CCB894;
padding: 40px 0 80px;
position: relative;
}

.about-us-page .au-team-block::after {
content: "";
position: absolute;
bottom: 40px;
left: 40px;
width: 160px;
height: 160px;
background: repeating-linear-gradient(-45deg,
transparent,
transparent 10px,
rgba(255, 255, 255, 0.08) 10px,
rgba(255, 255, 255, 0.08) 12px);
pointer-events: none;
border-radius: 1px;
}

.about-us-page .au-team-heading-row {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 20px;
margin-bottom: 40px;
}

.about-us-page .au-team-h2 {
font-size: 52px;
margin: 0;
}

.about-us-page .au-team-sub {
font-size: 13px;
line-height: 1.8;
color: #3a3220;
max-width: 320px;
text-align: right;
}

.about-us-page .au-team-grid {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 20px;
align-items: start;
}

.about-us-page .au-person-card {
background: #fff;
border-radius: 11px;
padding: 20px;
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
display: flex;
flex-direction: column;
gap: 12px;
border: 1.5px solid rgba(179, 183, 77, 0.18);
transition: box-shadow 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.about-us-page .au-person-card:hover {
box-shadow: 2px 10px 36px 0 rgba(179, 183, 77, 0.11);
}

.about-us-page .au-portrait {
width: 80px;
height: 112px;
border-radius: 5px;
overflow: hidden;
box-shadow: 2px 2px 6px 0 rgba(179, 183, 77, 0.07);
flex-shrink: 0;
}

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

.about-us-page .au-person-name {
font-size: 16px;
line-height: 1.2;
color: #2a2a2a;
margin: 0;
}

.about-us-page .au-person-role {
font-size: 13px;
color: #B3B74D;
line-height: 1.55;
}

.about-us-page .au-person-bio {
font-size: 13px;
line-height: 1.8;
color: #4a4a3a;
margin: 0;
}

.about-us-page .au-center-anchor {
display: flex;
flex-direction: column;
gap: 20px;
align-items: stretch;
}

.about-us-page .au-center-image {
width: 100%;
aspect-ratio: 4/3;
border-radius: 11px;
overflow: hidden;
box-shadow: 2px 10px 36px 0 rgba(179, 183, 77, 0.11);
position: relative;
}

.about-us-page .au-center-image img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.8) brightness(0.96);
}

.about-us-page .au-center-caption {
background: #2a2a2a;
border-radius: 5px;
padding: 20px;
color: #CCB894;
font-size: 16px;
line-height: 1.55;
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
}

.about-us-page .au-approach-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 12px;
}

.about-us-page .au-approach-list li {
font-size: 13px;
line-height: 1.8;
color: #3a3220;
padding: 12px;
background: rgba(255, 255, 255, 0.55);
border-radius: 5px;
border-left: 3px solid #B3B74D;
border-bottom: 1px solid rgba(179, 183, 77, 0.15);
box-shadow: 2px 2px 6px 0 rgba(179, 183, 77, 0.07);
transition: background 0.32s ease-in-out;
}

.about-us-page .au-approach-list li:hover {
background: rgba(255, 255, 255, 0.85);
}

.about-us-page .au-approach-list li strong {
display: block;
font-size: 13px;
color: #2a2a2a;
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 4px;
}

.about-us-page .au-pulse-dot {
display: inline-block;
width: 10px;
height: 10px;
border-radius: 20px;
background: #B3B74D;
animation: au-pulse 2.2s cubic-bezier(0.34, 1.2, 0.64, 1) infinite;
margin-right: 8px;
vertical-align: middle;
flex-shrink: 0;
}

@keyframes au-pulse {

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

50% {
transform: scale(1.55);
opacity: 0.6;
}
}

.about-us-page .au-bottom-images {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin-top: 40px;
}

.about-us-page .au-bottom-img-wrap {
border-radius: 11px;
overflow: hidden;
aspect-ratio: 16/9;
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
}

.about-us-page .au-bottom-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.75) brightness(0.95);
transition: filter 0.4s ease-in-out, transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.about-us-page .au-bottom-img-wrap:hover img {
filter: saturate(1) brightness(1);
transform: scale(1.03);
}

@media (max-width: 1024px) {
.about-us-page .au-title-grid {
grid-template-columns: 1fr 1.5fr;
gap: 20px;
}

.about-us-page .au-team-grid {
grid-template-columns: 1fr 1.5fr;
gap: 20px;
}

.about-us-page .au-team-grid .au-person-card:last-child {
grid-column: 1 / -1;
}
}

@media (max-width: 768px) {
.about-us-page .au-title-grid {
grid-template-columns: 1fr;
}

.about-us-page .au-img-zone {
max-width: 260px;
}

.about-us-page .au-h1 {
font-size: 52px;
}

.about-us-page .au-lead {
grid-template-columns: 1fr;
}

.about-us-page .au-team-grid {
grid-template-columns: 1fr;
}

.about-us-page .au-team-heading-row {
flex-direction: column;
align-items: flex-start;
}

.about-us-page .au-team-sub {
text-align: left;
max-width: 100%;
}

.about-us-page .au-bottom-images {
grid-template-columns: 1fr;
}

.about-us-page .au-metrics-row {
gap: 12px;
}
}

@media (max-width: 640px) {
.about-us-page .au-title-block {
padding: 40px 0 20px;
}

.about-us-page .au-team-block {
padding: 20px 0 40px;
}

.about-us-page .au-h1 {
font-size: 52px;
}

.about-us-page .au-team-h2 {
font-size: 52px;
}

.about-us-page .au-metrics-row {
flex-direction: column;
}
}

.contact-us-page {
max-width: 1170px;
margin: 0 auto;
padding: 0 20px;
}

.contact-us-page .reveal-on-load {
animation: revealRotate 0.45s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

@keyframes revealRotate {
from {
opacity: 0;
transform: rotate(-2deg) translateY(12px);
}

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

.contact-us-page .top-block {
position: relative;
padding: 40px 40px 80px;
background: radial-gradient(ellipse at 60% 40%, #f7f5ee 0%, #e8e2d4 100%);
border-radius: 11px;
margin-bottom: 40px;
overflow: hidden;
}

.contact-us-page .top-block::before {
content: "";
position: absolute;
top: -40px;
right: -40px;
width: 220px;
height: 220px;
border-radius: 50%;
background: rgba(179, 183, 77, 0.08);
pointer-events: none;
}

.contact-us-page .top-block::after {
content: "";
position: absolute;
bottom: 20px;
left: 60px;
width: 120px;
height: 120px;
border-radius: 50%;
background: rgba(204, 184, 148, 0.1);
pointer-events: none;
}

.contact-us-page .top-block .circle-deco {
position: absolute;
top: 80px;
right: 80px;
width: 60px;
height: 60px;
border-radius: 50%;
background: rgba(179, 183, 77, 0.06);
pointer-events: none;
}

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

.contact-us-page .page-label {
font-size: 13px;
color: #B3B74D;
text-transform: uppercase;
letter-spacing: 0.12em;
margin-bottom: 12px;
display: block;
}

.contact-us-page .main-heading {
font-size: 52px;
line-height: 1.2;
color: #2a2a2a;
margin-bottom: 20px;
-webkit-text-stroke: 1.5px #2a2a2a;
color: transparent;
}

.contact-us-page .main-heading .accent-word {
-webkit-text-stroke: 1.5px #B3B74D;
color: transparent;
}

.contact-us-page .lead-text {
font-size: 16px;
line-height: 1.55;
color: #3a3530;
max-width: 480px;
}

.contact-us-page .lead-text .first-word {
color: #B3B74D;
text-transform: uppercase;
font-size: 13px;
letter-spacing: 0.08em;
}

.contact-us-page .contact-details-aside {
padding: 20px;
background: rgba(255, 255, 255, 0.7);
border-radius: 11px;
border: 2px solid rgba(179, 183, 77, 0.25);
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
text-align: right;
}

.contact-us-page .contact-details-aside .detail-item {
margin-bottom: 20px;
padding-bottom: 20px;
border-bottom: 1px solid rgba(204, 184, 148, 0.3);
}

.contact-us-page .contact-details-aside .detail-item:last-child {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
}

.contact-us-page .contact-details-aside .detail-label {
font-size: 13px;
color: #B3B74D;
text-transform: uppercase;
letter-spacing: 0.1em;
display: block;
margin-bottom: 4px;
}

.contact-us-page .contact-details-aside .detail-value {
font-size: 13px;
line-height: 1.55;
color: #2a2a2a;
}

.contact-us-page .contact-details-aside .detail-value a {
color: #2a2a2a;
text-decoration: none;
border-bottom: 1px solid rgba(179, 183, 77, 0.4);
transition: color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.4s ease-in-out;
}

.contact-us-page .contact-details-aside .detail-value a:hover {
color: #B3B74D;
border-color: #B3B74D;
}

.contact-us-page .divider-asym {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 40px;
}

.contact-us-page .divider-asym .line-long {
height: 2px;
flex: 3;
background: linear-gradient(to left, transparent, #CCB894);
border-radius: 1px;
}

.contact-us-page .divider-asym .line-short {
height: 2px;
flex: 1;
background: rgba(179, 183, 77, 0.3);
border-radius: 1px;
}

.contact-us-page .form-block {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start;
margin-bottom: 80px;
}

.contact-us-page .form-image-col {
position: relative;
}

.contact-us-page .form-image-col img {
width: 100%;
height: 480px;
object-fit: cover;
border-radius: 11px;
display: block;
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
transition: box-shadow 0.4s ease-in-out;
}

.contact-us-page .form-image-col img:hover {
box-shadow: 2px 10px 36px 0 rgba(179, 183, 77, 0.11);
}

.contact-us-page .image-fade {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 160px;
background: linear-gradient(to top, rgba(40, 36, 28, 0.55), transparent);
border-radius: 0 0 11px 11px;
pointer-events: none;
}

.contact-us-page .form-col {
padding: 40px;
background: #ffffff;
border-radius: 11px;
border: 2px solid rgba(204, 184, 148, 0.3);
box-shadow: 2px 2px 6px 0 rgba(204, 184, 148, 0.07);
}

.contact-us-page .form-heading {
font-size: 16px;
line-height: 1.2;
color: #2a2a2a;
margin-bottom: 20px;
-webkit-text-stroke: 0.8px #2a2a2a;
color: transparent;
}

.contact-us-page .form-heading .accent-last {
-webkit-text-stroke: 0.8px #B3B74D;
color: transparent;
}

.contact-us-page .field-group {
margin-bottom: 20px;
position: relative;
}

.contact-us-page .field-group label {
display: block;
font-size: 13px;
color: #5a5040;
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: 0.07em;
}

.contact-us-page .field-group input,
.contact-us-page .field-group select {
width: 100%;
padding: 12px;
font-size: 13px;
border: 2px solid rgba(204, 184, 148, 0.4);
border-radius: 5px;
background: #fdfcf9;
color: #2a2a2a;
box-sizing: border-box;
transition: border-color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.38s ease-in-out;
outline: none;
appearance: none;
-webkit-appearance: none;
}

.contact-us-page .field-group input:focus,
.contact-us-page .field-group select:focus {
border-color: #B3B74D;
box-shadow: inset 0 2px 6px rgba(179, 183, 77, 0.1), 2px 2px 6px 0 rgba(179, 183, 77, 0.07);
}

.contact-us-page .field-group input::placeholder {
color: #b0a898;
font-size: 13px;
}

.contact-us-page .field-group .focus-label {
position: absolute;
right: 12px;
top: 38px;
font-size: 13px;
color: #B3B74D;
opacity: 0;
pointer-events: none;
transition: opacity 0.1s ease-in-out;
}

.contact-us-page .field-group input:focus~.focus-label,
.contact-us-page .field-group select:focus~.focus-label {
opacity: 1;
}

.contact-us-page .select-wrapper {
position: relative;
}

.contact-us-page .select-wrapper::after {
content: "";
position: absolute;
right: 14px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 6px solid #B3B74D;
pointer-events: none;
}

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

.contact-us-page .privacy-row input[type="checkbox"] {
width: 18px;
height: 18px;
min-width: 18px;
margin-top: 2px;
accent-color: #B3B74D;
cursor: pointer;
border-radius: 1px;
}

.contact-us-page .privacy-row .privacy-text {
font-size: 13px;
line-height: 1.55;
color: #5a5040;
}

.contact-us-page .privacy-row .privacy-text a {
color: #B3B74D;
text-decoration: none;
border-bottom: 1px solid rgba(179, 183, 77, 0.4);
transition: border-color 0.35s ease-in-out;
}

.contact-us-page .privacy-row .privacy-text a:hover {
border-color: #B3B74D;
}

.contact-us-page .submit-btn {
width: 100%;
padding: 12px 20px;
font-size: 16px;
background: #ffffff;
color: #2a2a2a;
border: 3px solid #B3B74D;
border-radius: 5px;
cursor: pointer;
letter-spacing: 0.05em;
position: relative;
overflow: hidden;
transition: color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.contact-us-page .submit-btn::before {
content: "";
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 0%;
background: #B3B74D;
z-index: 0;
transition: width 0.9s ease-in-out;
}

.contact-us-page .submit-btn:active::before {
width: 100%;
}

.contact-us-page .submit-btn span {
position: relative;
z-index: 1;
}

.contact-us-page .submit-btn:hover {
background: rgba(179, 183, 77, 0.08);
color: #2a2a2a;
}

.contact-us-page .submit-btn:focus {
outline: 2px solid #B3B74D;
outline-offset: 2px;
}

@media (max-width: 1024px) {
.contact-us-page .top-grid {
grid-template-columns: 1fr;
gap: 20px;
}

.contact-us-page .contact-details-aside {
text-align: left;
}

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

.contact-us-page .form-image-col img {
height: 280px;
}
}

@media (max-width: 768px) {
.contact-us-page .top-block {
padding: 20px 20px 40px;
}

.contact-us-page .main-heading {
font-size: 52px;
}

.contact-us-page .form-col {
padding: 20px;
}
}

@media (max-width: 640px) {
.contact-us-page .main-heading {
font-size: 52px;
line-height: 1.2;
}

.contact-us-page .form-block {
margin-bottom: 40px;
}
}

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

.base .container {
max-width: 1170px;
margin: 0 auto;
padding: 0 20px;
}

.base .title-block {
padding: 80px 0 80px;
background: #fff;
border-bottom: 2px solid #B3B74D;
position: relative;
}

.base .title-block-inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 20px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 40px;
}

.base .title-left {
flex: 1 1 60%;
border-left: 3px solid #B3B74D;
padding-left: 20px;
}

.base .title-right {
flex: 0 1 38%;
position: relative;
}

.base .title-image-wrap {
width: 100%;
aspect-ratio: 4/3;
overflow: hidden;
border-radius: 11px;
box-shadow: 2px 10px 36px 0 rgba(179, 183, 77, 0.11);
}

.base .title-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: brightness(0.88);
transition: filter 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.base .title-image-wrap:hover img {
filter: brightness(1.05);
}

.base .scanline-overlay {
position: absolute;
inset: 0;
border-radius: 11px;
background: repeating-linear-gradient(0deg,
rgba(179, 183, 77, 0.04) 0px,
rgba(179, 183, 77, 0.04) 1px,
transparent 1px,
transparent 3px);
pointer-events: none;
}

.base .title-eyebrow {
font-size: 13px;
line-height: 1.2;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #B3B74D;
margin-bottom: 12px;
display: block;
}

.base .title-h1 {
font-size: 52px;
line-height: 1.2;
color: #1d2010;
margin-bottom: 20px;
-webkit-text-stroke: 1.5px #1d2010;
color: transparent;
}

.base .title-desc {
font-size: 16px;
line-height: 1.55;
color: #2a2a1e;
margin-bottom: 40px;
max-width: 520px;
}

.base .title-actions {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap;
}

.base .btn-primary {
display: inline-block;
font-size: 13px;
line-height: 1.2;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #1d2010;
border: 2px solid #B3B74D;
border-radius: 5px;
padding: 12px 20px;
text-decoration: none;
background: transparent;
position: relative;
overflow: hidden;
transition: color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), background 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.base .btn-primary::before {
content: '';
position: absolute;
inset: 0;
background: #B3B74D;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
z-index: 0;
}

.base .btn-primary:hover::before {
transform: scaleX(1);
}

.base .btn-primary:hover {
color: #fff;
}

.base .btn-primary span {
position: relative;
z-index: 1;
}

.base .btn-secondary {
display: inline-block;
font-size: 13px;
line-height: 1.2;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #B3B74D;
border: 2px solid #CCB894;
border-radius: 5px;
padding: 12px 20px;
text-decoration: none;
background: transparent;
position: relative;
overflow: hidden;
transition: color 0.42s ease-in-out, background 0.42s ease-in-out;
}

.base .btn-secondary:hover {
background: #CCB894;
color: #fff;
}

.base .divider-shape {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 8px;
padding: 20px 0;
}

.base .divider-shape .line {
flex: 1;
height: 1px;
background: linear-gradient(to left, #CCB894, transparent);
}

.base .divider-shape .line.rev {
background: linear-gradient(to right, #CCB894, transparent);
}

.base .divider-shape .dot {
width: 8px;
height: 8px;
border-radius: 1px;
background: #B3B74D;
transform: rotate(45deg);
}

.base .different-block {
background: #f5f4ee;
padding: 80px 0 40px;
}

.base .different-inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 20px;
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start;
}

.base .different-text {
flex: 1 1 55%;
}

.base .different-aside {
flex: 0 1 40%;
display: flex;
flex-direction: column;
gap: 20px;
}

.base .block-label {
font-size: 13px;
line-height: 1.2;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #B3B74D;
margin-bottom: 12px;
display: block;
}

.base .different-h2 {
font-size: 52px;
line-height: 1.2;
-webkit-text-stroke: 1.5px #1d2010;
color: transparent;
margin-bottom: 20px;
}

.base .two-col-text {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 20px;
margin-bottom: 20px;
}

.base .two-col-text .main-col {
font-size: 16px;
line-height: 1.55;
color: #2a2a1e;
}

.base .two-col-text .side-col {
font-size: 13px;
line-height: 1.8;
color: #5a5a40;
text-align: right;
border-right: 2px solid #CCB894;
padding-right: 12px;
}

.base .two-col-text .main-col .first-word {
color: #B3B74D;
text-transform: uppercase;
font-size: 13px;
letter-spacing: 0.06em;
}

.base .point-card {
border: 2px solid #CCB894;
border-radius: 11px;
padding: 20px;
background: #fff;
box-shadow: 2px 4px 22px 0 rgba(204, 184, 148, 0.08);
position: relative;
transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.base .point-card::after {
content: '';
position: absolute;
inset: -2px;
border-radius: 11px;
border: 2px solid transparent;
transition: border-color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
pointer-events: none;
}

.base .point-card:hover::after {
border-color: #B3B74D;
}

.base .point-card:hover {
box-shadow: 2px 10px 36px 0 rgba(179, 183, 77, 0.11);
}

.base .point-card-num {
font-size: 52px;
line-height: 1.2;
-webkit-text-stroke: 1px #CCB894;
color: transparent;
display: block;
margin-bottom: 8px;
}

.base .point-card-title {
font-size: 16px;
line-height: 1.2;
color: #1d2010;
margin-bottom: 8px;
}

.base .point-card-text {
font-size: 13px;
line-height: 1.8;
color: #5a5a40;
}

.base .adapt-block {
background: #fff;
padding: 80px 0;
}

.base .adapt-inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 20px;
}

.base .adapt-top {
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start;
margin-bottom: 40px;
}

.base .adapt-top-text {
flex: 1 1 50%;
}

.base .adapt-h2 {
font-size: 52px;
line-height: 1.2;
-webkit-text-stroke: 1.5px #1d2010;
color: transparent;
margin-bottom: 20px;
}

.base .adapt-desc {
font-size: 16px;
line-height: 1.55;
color: #2a2a1e;
}

.base .adapt-desc .first-word {
color: #B3B74D;
text-transform: uppercase;
font-size: 13px;
letter-spacing: 0.06em;
}

.base .adapt-image-col {
flex: 0 1 45%;
}

.base .adapt-img-wrap {
width: 100%;
aspect-ratio: 4/3;
overflow: hidden;
border-radius: 20px;
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
}

.base .adapt-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: brightness(0.9);
transition: filter 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.base .adapt-img-wrap:hover img {
filter: brightness(1.06);
}

.base .process-steps {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-bottom: 40px;
}

.base .step-item {
border-top: 2px solid #B3B74D;
padding-top: 12px;
position: relative;
}

.base .step-num {
font-size: 13px;
line-height: 1.2;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #B3B74D;
margin-bottom: 8px;
display: block;
}

.base .step-title {
font-size: 16px;
line-height: 1.2;
color: #1d2010;
margin-bottom: 8px;
}

.base .step-text {
font-size: 13px;
line-height: 1.8;
color: #5a5a40;
}

.base .result-preview {
background: linear-gradient(to left, #CCB894, rgba(204, 184, 148, 0.18));
border-radius: 11px;
padding: 40px;
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
border: 1px solid #CCB894;
}

.base .result-preview-text {
flex: 1;
}

.base .result-preview-text h4 {
font-size: 16px;
line-height: 1.2;
color: #1d2010;
margin-bottom: 8px;
}

.base .result-preview-text p {
font-size: 13px;
line-height: 1.8;
color: #3a3a28;
}

.base .result-preview-img {
flex: 0 0 220px;
aspect-ratio: 4/3;
overflow: hidden;
border-radius: 11px;
box-shadow: 2px 2px 6px 0 rgba(179, 183, 77, 0.07);
}

.base .result-preview-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: brightness(0.88);
transition: filter 0.36s ease-in-out;
}

.base .result-preview-img:hover img {
filter: brightness(1.04);
}

.base .pattern-block {
background: #f5f4ee;
padding: 80px 0;
}

.base .pattern-inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 20px;
}

.base .pattern-header {
margin-bottom: 40px;
max-width: 640px;
}

.base .pattern-h2 {
font-size: 52px;
line-height: 1.2;
-webkit-text-stroke: 1.5px #1d2010;
color: transparent;
margin-bottom: 12px;
}

.base .pattern-sub {
font-size: 16px;
line-height: 1.55;
color: #2a2a1e;
}

.base .pattern-sub .first-word {
color: #B3B74D;
text-transform: uppercase;
font-size: 13px;
letter-spacing: 0.06em;
}

.base .testimonial-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}

.base .testimonial-item {
background: #fff;
border-radius: 11px;
padding: 20px;
box-shadow: 2px 2px 6px 0 rgba(179, 183, 77, 0.07);
display: flex;
flex-direction: column;
gap: 12px;
border: 1px solid rgba(204, 184, 148, 0.35);
position: relative;
transition: box-shadow 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.base .testimonial-item::before {
content: '';
position: absolute;
inset: -1px;
border-radius: 11px;
border: 2px solid transparent;
transition: border-color 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
pointer-events: none;
}

.base .testimonial-item:hover::before {
border-color: #B3B74D;
}

.base .testimonial-item:hover {
box-shadow: 2px 10px 36px 0 rgba(179, 183, 77, 0.11);
}

.base .testimonial-item.featured {
grid-row: span 2;
background: linear-gradient(to left, rgba(179, 183, 77, 0.07), #fff);
}

.base .testimonial-quote {
font-size: 16px;
line-height: 1.55;
color: #2a2a1e;
}

.base .testimonial-author {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
margin-top: auto;
}

.base .portrait-wrap {
width: 48px;
height: 64px;
border-radius: 20px;
overflow: hidden;
flex-shrink: 0;
box-shadow: 2px 2px 6px 0 rgba(179, 183, 77, 0.07);
}

.base .portrait-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}

.base .author-name {
font-size: 13px;
line-height: 1.2;
color: #1d2010;
display: block;
}

.base .author-role {
font-size: 13px;
line-height: 1.8;
color: #5a5a40;
display: block;
}

.base .dashed-frame {
border: 2px dashed #CCB894;
border-radius: 20px;
padding: 40px;
margin-top: 40px;
}

.base .dashed-frame-text {
font-size: 16px;
line-height: 1.55;
color: #2a2a1e;
max-width: 680px;
}

.base .dashed-frame-text .first-word {
color: #B3B74D;
text-transform: uppercase;
font-size: 13px;
letter-spacing: 0.06em;
}

@media (max-width: 1024px) {
.base .title-block-inner {
flex-direction: column;
}

.base .title-right {
width: 100%;
}

.base .title-h1 {
font-size: 52px;
}

.base .different-inner {
flex-direction: column;
}

.base .adapt-top {
flex-direction: column;
}

.base .process-steps {
grid-template-columns: 1fr 1fr;
}

.base .result-preview {
flex-direction: column;
}

.base .result-preview-img {
flex: 0 0 auto;
width: 100%;
}
}

@media (max-width: 768px) {
.base .title-h1 {
font-size: 52px;
}

.base .different-h2,
.base .adapt-h2,
.base .pattern-h2 {
font-size: 52px;
}

.base .two-col-text {
grid-template-columns: 1fr;
}

.base .two-col-text .side-col {
text-align: left;
border-right: none;
border-left: 2px solid #CCB894;
padding-right: 0;
padding-left: 12px;
}

.base .testimonial-grid {
grid-template-columns: 1fr;
}

.base .testimonial-item.featured {
grid-row: span 1;
}

.base .process-steps {
grid-template-columns: 1fr;
}

.base .different-aside {
width: 100%;
}
}

@media (max-width: 640px) {
.base .title-block {
padding: 40px 0 80px;
}

.base .different-block,
.base .adapt-block,
.base .pattern-block {
padding: 40px 0;
}

.base .result-preview {
padding: 20px;
}

.base .dashed-frame {
padding: 20px;
}

.base .title-actions {
flex-direction: column;
}
}

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

.services-page .page-inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 20px;
}

.services-page .reveal {
opacity: 0;
filter: blur(6px);
transform: translateY(18px);
transition: opacity 0.4s cubic-bezier(0.34, 1.2, 0.64, 1), filter 0.38s ease-in-out, transform 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services-page .reveal.visible {
opacity: 1;
filter: blur(0);
transform: translateY(0);
}

.services-page ::selection {
background: #B3B74D;
color: #fff;
}

.services-page .title-block {
padding: 80px 0 40px;
background: linear-gradient(to left, rgba(179, 183, 77, 0.08), #fff 60%);
position: relative;
}

.services-page .title-block .page-inner {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 40px;
align-items: center;
}

.services-page .img-side {
position: relative;
}

.services-page .img-side img {
width: 100%;
height: 340px;
object-fit: cover;
object-position: center;
border-radius: 11px;
display: block;
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
transition: border 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
border: 2px solid transparent;
}

.services-page .img-side img:hover {
border: 2px solid #B3B74D;
}

.services-page .img-side::after {
content: "";
position: absolute;
top: 0;
right: 0;
width: 60%;
height: 60%;
background: radial-gradient(ellipse at top right, rgba(204, 184, 148, 0.35), transparent 70%);
border-radius: 11px;
pointer-events: none;
}

.services-page .img-side.right-img::after {
top: auto;
bottom: 0;
right: auto;
left: 0;
background: radial-gradient(ellipse at bottom left, rgba(179, 183, 77, 0.25), transparent 70%);
}

.services-page .title-text {
text-align: center;
padding: 20px 0;
}

.services-page .title-text h1 {
font-size: 52px;
line-height: 1.2;
color: transparent;
-webkit-text-stroke: 2px #2d2d2d;
letter-spacing: 0;
margin-bottom: 20px;
}

.services-page .title-text .subtitle {
font-size: 16px;
line-height: 1.55;
color: #2d2d2d;
max-width: 480px;
margin: 0 auto;
}

.services-page .title-text .first-word {
color: #B3B74D;
text-transform: uppercase;
font-weight: 700;
}

.services-page .cards-section {
padding: 80px 0;
background: #fff;
position: relative;
}

.services-page .cards-section::before {
content: "";
position: absolute;
top: -1px;
left: 0;
width: 100%;
height: 40px;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0,20 C200,40 400,0 600,20 C800,38 1000,8 1200,20 L1200,0 L0,0 Z' fill='%23f5f5ef'/%3E%3C/svg%3E") no-repeat center/cover;
}

.services-page .cards-section .section-label {
font-size: 13px;
line-height: 1.2;
text-transform: uppercase;
letter-spacing: 0.12em;
color: #B3B74D;
margin-bottom: 8px;
font-weight: 700;
}

.services-page .cards-section h2 {
font-size: 52px;
line-height: 1.2;
color: transparent;
-webkit-text-stroke: 2px #2d2d2d;
margin-bottom: 40px;
}

.services-page .cards-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}

.services-page .service-card {
background: #fff;
border-radius: 11px;
padding: 20px;
box-shadow: 2px 2px 6px 0 rgba(179, 183, 77, 0.07);
border: 1.5px solid rgba(179, 183, 77, 0.18);
border-left: 4px solid #B3B74D;
transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative;
}

.services-page .service-card:hover {
box-shadow: 2px 10px 36px 0 rgba(179, 183, 77, 0.11);
transform: translateY(-3px);
}

.services-page .service-card h4 {
font-size: 16px;
line-height: 1.2;
color: #2d2d2d;
margin-bottom: 8px;
font-weight: 700;
}

.services-page .service-card p {
font-size: 13px;
line-height: 1.55;
color: #4a4a4a;
margin-bottom: 12px;
}

.services-page .service-card .price-tag {
display: inline-block;
font-size: 13px;
font-weight: 700;
color: #B3B74D;
border: 1.5px solid #B3B74D;
border-radius: 5px;
padding: 4px 12px;
}

.services-page .concentric-decor {
position: absolute;
bottom: 20px;
right: 20px;
width: 80px;
height: 80px;
pointer-events: none;
opacity: 0.07;
}

.services-page .concentric-decor svg {
width: 100%;
height: 100%;
}

.services-page .process-section {
padding: 80px 0;
background: linear-gradient(to left, rgba(204, 184, 148, 0.1), rgba(179, 183, 77, 0.06) 50%, rgba(204, 184, 148, 0.08));
position: relative;
overflow: hidden;
}

.services-page .process-section::before {
content: "";
position: absolute;
top: -1px;
left: 0;
width: 100%;
height: 36px;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 36' preserveAspectRatio='none'%3E%3Cpath d='M0,18 C150,36 300,4 450,18 C600,32 750,6 900,18 C1050,30 1150,10 1200,18 L1200,0 L0,0 Z' fill='%23ffffff'/%3E%3C/svg%3E") no-repeat center/cover;
}

.services-page .process-section .leaf-pattern {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
opacity: 0.04;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cellipse cx='30' cy='30' rx='10' ry='22' fill='%23B3B74D' transform='rotate(30 30 30)'/%3E%3C/svg%3E");
background-size: 60px 60px;
}

.services-page .process-inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start;
}

.services-page .process-left h2 {
font-size: 52px;
line-height: 1.2;
color: transparent;
-webkit-text-stroke: 2px #2d2d2d;
margin-bottom: 20px;
}

.services-page .process-steps {
display: flex;
flex-direction: column;
gap: 12px;
margin-bottom: 40px;
}

.services-page .step-item {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
background: #fff;
border-radius: 5px;
padding: 12px;
box-shadow: 2px 2px 6px 0 rgba(179, 183, 77, 0.07);
border-top: 2px solid rgba(179, 183, 77, 0.2);
border-right: 1px solid rgba(204, 184, 148, 0.15);
}

.services-page .step-number {
font-size: 52px;
line-height: 1;
color: transparent;
-webkit-text-stroke: 1.5px #CCB894;
font-weight: 900;
flex-shrink: 0;
width: 48px;
text-align: center;
}

.services-page .step-body h5 {
font-size: 16px;
line-height: 1.2;
color: #2d2d2d;
margin-bottom: 4px;
font-weight: 700;
}

.services-page .step-body p {
font-size: 13px;
line-height: 1.55;
color: #4a4a4a;
}

.services-page .process-right {
display: flex;
flex-direction: column;
gap: 20px;
}

.services-page .team-card {
display: flex;
flex-direction: row;
gap: 20px;
align-items: flex-start;
background: #fff;
border-radius: 11px;
padding: 20px;
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
}

.services-page .portrait-wrap {
flex-shrink: 0;
width: 100px;
position: relative;
}

.services-page .portrait-wrap img {
width: 100px;
height: 140px;
object-fit: cover;
object-position: center;
border-radius: 11px;
display: block;
border: 2px solid transparent;
transition: border 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services-page .portrait-wrap img:hover {
border: 2px solid #B3B74D;
}

.services-page .team-bio h5 {
font-size: 16px;
line-height: 1.2;
color: #2d2d2d;
font-weight: 700;
margin-bottom: 4px;
}

.services-page .team-bio .role {
font-size: 13px;
color: #B3B74D;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
margin-bottom: 8px;
}

.services-page .team-bio p {
font-size: 13px;
line-height: 1.55;
color: #4a4a4a;
}

.services-page .metrics-strip {
display: flex;
flex-direction: row;
gap: 20px;
margin-top: 20px;
}

.services-page .metric {
flex: 1;
text-align: center;
background: #fff;
border-radius: 5px;
padding: 12px 8px;
border-bottom: 3px solid #B3B74D;
box-shadow: 2px 2px 6px 0 rgba(179, 183, 77, 0.07);
}

.services-page .metric .metric-number {
font-size: 52px;
line-height: 1;
color: transparent;
-webkit-text-stroke: 2px #B3B74D;
font-weight: 900;
display: block;
}

.services-page .metric .metric-label {
font-size: 13px;
line-height: 1.2;
color: #4a4a4a;
display: block;
margin-top: 4px;
}

.services-page .img-showcase {
border-radius: 11px;
overflow: hidden;
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
}

.services-page .img-showcase img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
display: block;
border-radius: 11px;
border: 2px solid transparent;
transition: border 0.36s ease-in-out;
}

.services-page .img-showcase img:hover {
border: 2px solid #CCB894;
}

.services-page .cta-button {
display: inline-block;
font-size: 16px;
line-height: 1.2;
color: #2d2d2d;
background: transparent;
border: 2.5px solid #B3B74D;
border-radius: 5px;
padding: 12px 40px;
cursor: pointer;
text-decoration: none;
transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.35s ease-in-out;
font-weight: 700;
margin-top: 20px;
}

.services-page .cta-button:hover {
background: #B3B74D;
color: #fff;
}

@media (max-width: 1024px) {
.services-page .title-block .page-inner {
grid-template-columns: 1fr 2fr;
}

.services-page .img-side.right-img {
display: none;
}

.services-page .cards-grid {
grid-template-columns: repeat(2, 1fr);
}

.services-page .process-inner {
grid-template-columns: 1fr;
}
}

@media (max-width: 768px) {
.services-page .title-block .page-inner {
grid-template-columns: 1fr;
}

.services-page .img-side {
display: none;
}

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

.services-page .title-text h1,
.services-page .cards-section h2,
.services-page .process-left h2 {
font-size: 52px;
}

.services-page .metrics-strip {
flex-direction: column;
}
}

@media (max-width: 640px) {
.services-page .title-block {
padding: 40px 0 20px;
}

.services-page .cards-section,
.services-page .process-section {
padding: 40px 0;
}

.services-page .team-card {
flex-direction: column;
}

.services-page .portrait-wrap img {
width: 100%;
height: 180px;
}

.services-page .portrait-wrap {
width: 100%;
}
}

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

.success-page .success-card {
max-width: 560px;
width: 100%;
border: 3px solid #B3B74D;
border-radius: 11px;
padding: 40px;
background: #ffffff;
box-shadow: 2px 10px 36px 0 rgba(179, 183, 77, 0.11);
text-align: center;
}

.success-page .success-card .icon-wrap {
width: 64px;
height: 64px;
margin: 0 auto 20px;
border: 3px solid #B3B74D;
border-radius: 34px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(to left, #CCB894, transparent);
}

.success-page .success-card .icon-wrap svg {
display: block;
}

.success-page .success-card .success-heading {
font-size: 52px;
line-height: 1.2;
color: #B3B74D;
-webkit-text-stroke: 1.5px #B3B74D;
color: transparent;
margin: 0 0 20px;
letter-spacing: 0.01em;
}

.success-page .success-card .success-text {
font-size: 16px;
line-height: 1.55;
color: #2d2d2d;
margin: 0 0 40px;
}

.success-page .success-card .success-text span {
color: #B3B74D;
font-size: 13px;
display: block;
margin-top: 8px;
line-height: 1.8;
}

.success-page .success-card .back-link {
display: inline-block;
font-size: 16px;
line-height: 1.2;
color: #2d2d2d;
text-decoration: none;
border: 3px solid #B3B74D;
border-radius: 5px;
padding: 12px 40px;
background: #ffffff;
box-shadow: 2px 2px 6px 0 rgba(204, 184, 148, 0.07);
transition: background-color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.42s ease-in-out, box-shadow 0.35s ease-in-out;
}

.success-page .success-card .back-link:hover,
.success-page .success-card .back-link:focus {
background: #B3B74D;
color: #ffffff;
box-shadow: 2px 4px 22px 0 rgba(179, 183, 77, 0.08);
outline: none;
}

.success-page .success-card .back-link:active {
background: #9ea342;
color: #ffffff;
}

@media (max-width: 640px) {
.success-page {
padding: 40px 12px;
}

.success-page .success-card {
padding: 20px;
}

.success-page .success-card .success-heading {
font-size: 52px;
}
}