html {
scroll-behavior: auto;
margin: 0;
padding: 0;
}

body {
margin: 0;
padding: 0;
min-height: 100svh;
overflow-x: hidden;
-webkit-text-size-adjust: 100%;
font-family: 'Open Sans', sans-serif;
}

*:focus-visible {
outline: 2px solid #2C5045;
outline-offset: 3px;
border-radius: 4px;
}

.pg-header {
position: relative;
z-index: 100;
background: #ffffff;
box-shadow: -1px 6px 14px 1px rgba(78, 142, 125, 0.09);
}

.pg-header__accent {
height: 4px;
background: linear-gradient(90deg, #2C5045 0%, #4E8E7D 60%, #DCDDCE 100%);
width: 100%;
}

.pg-header__body {
max-width: 1400px;
margin: 0 auto;
padding: 0 40px;
display: flex;
align-items: stretch;
gap: 40px;
min-height: 80px;
}

.pg-header__brand {
display: flex;
align-items: center;
flex-shrink: 0;
text-decoration: none;
gap: 16px;
}

.brand-hex {
width: 52px;
height: 52px;
background: #2C5045;
clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
}

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

.brand-label {
display: flex;
flex-direction: column;
gap: 0;
}

.brand-label__name {
font-size: 22px;
font-weight: 700;
color: #2C5045;
line-height: 1.2;
letter-spacing: -0.02em;
}

.brand-label__desc {
font-size: 15px;
color: #4E8E7D;
line-height: 1.5;
letter-spacing: 0.01em;
white-space: nowrap;
}

.pg-header__nav-area {
flex: 1;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 8px;
}

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

.site-nav__item {
display: flex;
}

.site-nav__lnk {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
font-size: 15px;
font-weight: 700;
color: #2C5045;
text-decoration: none;
border-radius: 9px;
line-height: 1.5;
letter-spacing: 0.01em;
transition: background-color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
white-space: nowrap;
min-height: 44px;
}

.site-nav__lnk:hover {
background: #2C5045;
color: #ffffff;
}

.site-nav__lnk:hover .site-nav__icon {
color: #DCDDCE;
}

.site-nav__icon {
font-size: 15px;
color: #4E8E7D;
transition: color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.38s ease-in-out;
flex-shrink: 0;
}

.site-nav__lnk:hover .site-nav__icon {
transform: translateX(3px);
}

.site-nav__item--active .site-nav__lnk {
background: linear-gradient(135deg, #2C5045 0%, #4E8E7D 100%);
color: #ffffff;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
}

.site-nav__item--active .site-nav__icon {
color: #DCDDCE;
}

.pg-header__contact-strip {
background: linear-gradient(90deg, #2C5045 0%, #4E8E7D 100%);
padding: 8px 40px;
}

.contact-strip-inner {
max-width: 1400px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 24px;
flex-wrap: wrap;
}

.contact-strip__item {
display: flex;
align-items: center;
gap: 8px;
color: #ffffff;
font-size: 15px;
line-height: 1.5;
text-decoration: none;
transition: color 0.32s ease-in-out;
}

.contact-strip__item:hover {
color: #DCDDCE;
}

.contact-strip__item i {
font-size: 15px;
color: #DCDDCE;
flex-shrink: 0;
}

@media (max-width: 1024px) {
.pg-header__body {
padding: 0 24px;
gap: 24px;
}

.pg-header__contact-strip {
padding: 8px 24px;
}

.site-nav__lnk {
padding: 8px 12px;
}
}

@media (max-width: 768px) {
.pg-header__body {
padding: 0 16px;
flex-wrap: wrap;
min-height: auto;
padding-top: 16px;
padding-bottom: 16px;
gap: 16px;
}

.pg-header__nav-area {
width: 100%;
justify-content: flex-start;
}

.site-nav {
justify-content: flex-start;
}

.pg-header__contact-strip {
padding: 8px 16px;
}

.contact-strip-inner {
justify-content: flex-start;
gap: 16px;
}

.brand-label__desc {
white-space: normal;
}
}

@media (max-width: 375px) {
.brand-label__name {
font-size: 18px;
}

.site-nav__lnk {
font-size: 15px;
padding: 8px 8px;
}
}

.pg-footer {
background: linear-gradient(135deg, #2C5045 0%, #4E8E7D 100%);
padding: 72px 40px 40px;
}

.pg-footer__inner {
max-width: 1400px;
margin: 0 auto;
display: flex;
align-items: flex-start;
gap: 72px;
flex-wrap: wrap;
}

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

.ftr-brand-col__logo-row {
display: flex;
align-items: center;
gap: 16px;
}

.ftr-hex {
width: 44px;
height: 44px;
background: #ffffff;
clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: -1px 1px 6px 1px rgba(44, 80, 69, 0.06);
}

.ftr-hex img {
width: 30px;
height: 30px;
object-fit: contain;
display: block;
}

.ftr-brand-name {
font-size: 22px;
font-weight: 700;
color: #ffffff;
line-height: 1.2;
letter-spacing: -0.01em;
}

.ftr-brand-col__tagline {
font-size: 15px;
color: #DCDDCE;
line-height: 1.75;
letter-spacing: 0.01em;
max-width: 220px;
}

.ftr-brand-col__contacts {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 8px;
}

.ftr-contact-lnk {
display: flex;
align-items: center;
gap: 8px;
color: #DCDDCE;
font-size: 15px;
text-decoration: none;
line-height: 1.5;
transition: color 0.38s ease-in-out;
}

.ftr-contact-lnk:hover {
color: #ffffff;
}

.ftr-contact-lnk i {
font-size: 15px;
color: #ffffff;
flex-shrink: 0;
width: 16px;
text-align: center;
}

.ftr-addr {
display: flex;
align-items: flex-start;
gap: 8px;
color: #DCDDCE;
font-size: 15px;
line-height: 1.75;
}

.ftr-addr i {
font-size: 15px;
color: #ffffff;
flex-shrink: 0;
margin-top: 2px;
width: 16px;
text-align: center;
}

.ftr-nav-cols {
flex: 1;
display: flex;
gap: 40px;
flex-wrap: wrap;
justify-content: flex-end;
}

.ftr-nav-col {
display: flex;
flex-direction: column;
gap: 16px;
min-width: 160px;
}

.ftr-nav-col__heading {
font-size: 15px;
font-weight: 700;
color: #DCDDCE;
line-height: 1.2;
letter-spacing: 0.06em;
text-transform: uppercase;
}

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

.ftr-nav-col__lnk {
display: flex;
align-items: center;
gap: 8px;
color: #ffffff;
font-size: 15px;
text-decoration: none;
line-height: 1.5;
border-radius: 4px;
padding: 4px 0;
transition: color 0.32s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.ftr-nav-col__lnk:hover {
color: #DCDDCE;
}

.ftr-nav-col__lnk i {
font-size: 15px;
color: #DCDDCE;
flex-shrink: 0;
transition: transform 0.38s ease-in-out;
}

.ftr-nav-col__lnk:hover i {
transform: translateX(3px);
}

.pg-footer__bottom {
max-width: 1400px;
margin: 40px auto 0;
padding-top: 24px;
border-top: 1px solid rgba(220, 221, 206, 0.25);
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 16px;
}

.ftr-copy {
font-size: 15px;
color: rgba(220, 221, 206, 0.75);
line-height: 1.5;
}

.ftr-legal-links {
display: flex;
align-items: center;
gap: 24px;
flex-wrap: wrap;
}

.ftr-legal-lnk {
font-size: 15px;
color: rgba(220, 221, 206, 0.75);
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.32s ease-in-out;
}

.ftr-legal-lnk:hover {
color: #ffffff;
}

@media (max-width: 1024px) {
.pg-footer {
padding: 72px 24px 40px;
}

.pg-footer__inner {
gap: 40px;
}

.ftr-nav-cols {
justify-content: flex-start;
}
}

@media (max-width: 768px) {
.pg-footer {
padding: 40px 16px 24px;
}

.pg-footer__inner {
flex-direction: column;
gap: 40px;
}

.ftr-nav-cols {
width: 100%;
gap: 40px;
}

.pg-footer__bottom {
flex-direction: column;
align-items: flex-start;
}
}

@media (max-width: 375px) {
.ftr-nav-cols {
flex-direction: column;
}
}

.cookie-toast {
position: fixed;
bottom: 24px;
left: 0;
right: 0;
margin: 0 auto;
width: calc(100% - 48px);
max-width: 560px;
background: #ffffff;
border-radius: 15px;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
padding: 24px;
z-index: 8000;
display: none;
transform: translateY(120%);
transition: transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
border-top: 4px solid #4E8E7D;
}

.cookie-toast.visible {
transform: translateY(0);
}

.cookie-toast__headline {
font-size: 18px;
font-weight: 700;
color: #2C5045;
line-height: 1.2;
margin: 0 0 8px 0;
letter-spacing: -0.01em;
}

.cookie-toast__msg {
font-size: 15px;
color: #2C5045;
line-height: 1.75;
margin: 0 0 24px 0;
}

.cookie-toast__msg a {
color: #4E8E7D;
text-underline-offset: 2px;
}

.cookie-toast__msg a:hover {
color: #2C5045;
}

.cookie-toast__actions {
display: flex;
gap: 16px;
flex-wrap: wrap;
}

.cookie-btn {
flex: 1;
min-width: 120px;
padding: 8px 16px;
font-size: 15px;
font-weight: 700;
border-radius: 9px;
border: 2px solid #2C5045;
cursor: pointer;
line-height: 1.5;
min-height: 44px;
transition: background-color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
font-family: 'Open Sans', sans-serif;
}

.cookie-btn--accept {
background: #2C5045;
color: #ffffff;
}

.cookie-btn--accept:hover,
.cookie-btn--accept:focus-visible {
background: #4E8E7D;
border-color: #4E8E7D;
color: #ffffff;
}

.cookie-btn--decline {
background: transparent;
color: #2C5045;
}

.cookie-btn--decline:hover,
.cookie-btn--decline:focus-visible {
background: #DCDDCE;
color: #2C5045;
}

.zjg-text-policy {
max-width: 1400px;
margin: 0 auto;
padding: 72px 40px;
color: #2C5045;
}

.zjg-text-policy p {
font-size: 18px;
line-height: 1.75;
margin-bottom: 24px;
letter-spacing: 0.01em;
}

.zjg-text-policy ul,
.zjg-text-policy ol {
margin: 0 0 24px 0;
padding-left: 40px;
}

.zjg-text-policy ul {
list-style-type: disc;
}

.zjg-text-policy ol {
list-style-type: decimal;
}

.zjg-text-policy li {
font-size: 18px;
line-height: 1.75;
margin-bottom: 8px;
letter-spacing: 0.01em;
color: #2C5045;
}

.zjg-text-policy li::marker {
color: #4E8E7D;
}

.zjg-text-policy strong,
.zjg-text-policy b {
font-weight: 700;
color: #2C5045;
}

.zjg-text-policy em,
.zjg-text-policy i {
font-style: italic;
color: #4E8E7D;
}

.zjg-text-policy table {
width: 100%;
border-collapse: collapse;
margin-bottom: 40px;
font-size: 15px;
line-height: 1.5;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
border-radius: 15px;
overflow: hidden;
}

.zjg-text-policy thead {
background-color: #2C5045;
}

.zjg-text-policy thead th {
color: #ffffff;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.04em;
padding: 16px 24px;
text-align: left;
border-bottom: none;
}

.zjg-text-policy tbody tr {
border-bottom: 1px solid #DCDDCE;
transition: background-color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.zjg-text-policy tbody tr:last-child {
border-bottom: none;
}

.zjg-text-policy tbody tr:nth-child(even) {
background-color: rgba(220, 221, 206, 0.25);
}

.zjg-text-policy tbody tr:hover {
background-color: rgba(78, 142, 125, 0.08);
}

.zjg-text-policy td {
padding: 16px 24px;
font-size: 15px;
line-height: 1.5;
color: #2C5045;
vertical-align: top;
}

.zjg-text-policy th {
padding: 16px 24px;
}

.zjg-text-policy hr {
border: none;
border-top: 2px solid #DCDDCE;
margin: 40px 0;
border-radius: 4px;
}

.zjg-text-policy div {
margin-bottom: 24px;
}

@media (max-width: 1024px) {
.zjg-text-policy {
padding: 72px 40px;
}
}

@media (max-width: 768px) {
.zjg-text-policy {
padding: 40px 24px;
}

.zjg-text-policy p {
font-size: 18px;
}

.zjg-text-policy li {
font-size: 18px;
}

.zjg-text-policy table {
display: none;
}

.zjg-text-policy tbody tr {
display: flex;
flex-direction: column;
border: 1px solid #DCDDCE;
border-radius: 15px;
margin-bottom: 16px;
padding: 16px;
box-shadow: -1px 1px 6px 1px rgba(44, 80, 69, 0.06);
}

.zjg-text-policy table::before {
display: block;
}

.zjg-text-policy thead {
display: none;
}

.zjg-text-policy tbody {
display: block;
}

.zjg-text-policy td {
display: block;
padding: 8px 0;
font-size: 15px;
border-bottom: 1px solid rgba(220, 221, 206, 0.6);
}

.zjg-text-policy td:last-child {
border-bottom: none;
}

.zjg-text-policy td[data-label]::before {
content: attr(data-label);
display: block;
font-size: 15px;
font-weight: 700;
color: #4E8E7D;
margin-bottom: 4px;
letter-spacing: 0.03em;
}
}

@media (max-width: 375px) {
.zjg-text-policy {
padding: 40px 16px;
}

.zjg-text-policy p {
font-size: 15px;
}

.zjg-text-policy li {
font-size: 15px;
}

.zjg-text-policy ul,
.zjg-text-policy ol {
padding-left: 24px;
}
}

.srvdet {
background: #fff;
max-width: 100%;
overflow-x: clip;
}

.srvdet .ed-col {
max-width: 1400px;
margin: 0 auto;
padding: 0 40px;
}

.srvdet .pg-title-area {
display: grid;
grid-template-columns: 1fr 340px;
align-items: stretch;
min-height: 520px;
position: relative;
}

.srvdet .pg-title-area::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 100%;
height: 48px;
background: #fff;
clip-path: polygon(0 100%, 100% 100%, 100% 60%, 85% 0%, 70% 60%, 55% 0%, 40% 60%, 25% 0%, 10% 60%, 0 0%);
z-index: 2;
}

.srvdet .pt-text {
padding: 72px 40px 72px 0;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
position: relative;
}

.srvdet .pt-text::before {
content: '';
position: absolute;
top: 40px;
left: -40px;
right: 0;
bottom: 40px;
border: 1px solid rgba(78, 142, 125, 0.18);
border-right: 3px solid #4E8E7D;
pointer-events: none;
}

.srvdet .pt-meta-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
flex-wrap: wrap;
}

.srvdet .pt-badge {
background: rgba(44, 80, 69, 0.08);
color: #2C5045;
font-size: 15px;
line-height: 1.5;
padding: 8px 16px;
border-radius: 4px;
display: flex;
align-items: center;
gap: 8px;
}

.srvdet .pt-badge i {
color: #4E8E7D;
font-size: 15px;
}

.srvdet .pt-h1 {
font-size: 52px;
line-height: 1.2;
letter-spacing: -0.03em;
color: transparent;
-webkit-text-stroke: 2px #2C5045;
margin: 0;
}

.srvdet .pt-num-accent {
color: #4E8E7D;
-webkit-text-stroke: 2px #4E8E7D;
}

.srvdet .pt-sub {
font-size: 18px;
line-height: 1.75;
color: #2C5045;
margin: 0;
max-width: 560px;
}

.srvdet .pt-img-strip {
position: relative;
overflow: hidden;
}

.srvdet .pt-img-strip img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
animation: imgpan 18s cubic-bezier(0.34, 1.2, 0.64, 1) infinite alternate;
}

@keyframes imgpan {
0% {
object-position: 0% 50%;
}

100% {
object-position: 100% 50%;
}
}

.srvdet .pt-img-strip::after {
content: '';
position: absolute;
inset: 0;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23grain)' opacity='0.12'/%3E%3C/svg%3E");
pointer-events: none;
opacity: 0.35;
}

.srvdet .pt-img-strip::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(44, 80, 69, 0.22) 0%, rgba(78, 142, 125, 0.08) 100%);
z-index: 1;
pointer-events: none;
}

.srvdet .detail-body {
display: grid;
grid-template-columns: 1fr 360px;
gap: 40px;
padding: 72px 0;
align-items: start;
}

.srvdet .body-left {
display: flex;
flex-direction: column;
gap: 40px;
}

.srvdet .prog-block {
position: relative;
background: linear-gradient(155deg, rgba(220, 221, 206, 0.28) 0%, rgba(78, 142, 125, 0.06) 100%);
border-radius: 15px;
padding: 40px;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
}

.srvdet .prog-block::before {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 3px;
background: linear-gradient(180deg, #4E8E7D 0%, #2C5045 100%);
border-radius: 0 15px 15px 0;
}

.srvdet .prog-label {
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.06em;
color: #4E8E7D;
text-transform: uppercase;
margin: 0 0 16px;
display: flex;
align-items: center;
gap: 8px;
}

.srvdet .prog-label i {
font-size: 15px;
}

.srvdet .prog-h {
font-size: 28px;
line-height: 1.2;
letter-spacing: -0.02em;
color: transparent;
-webkit-text-stroke: 1.5px #2C5045;
margin: 0 0 24px;
}

.srvdet .prog-body {
font-size: 18px;
line-height: 1.75;
color: #2C5045;
}

.srvdet .prog-body p {
margin: 0 0 16px;
}

.srvdet .prog-body p:last-child {
margin-bottom: 0;
}

.srvdet .prog-body h2 {
font-size: 22px;
line-height: 1.2;
color: #2C5045;
margin: 24px 0 8px;
}

.srvdet .prog-body h3 {
font-size: 18px;
line-height: 1.5;
color: #2C5045;
margin: 16px 0 8px;
}

.srvdet .prog-body ul,
.srvdet .prog-body ol {
padding-left: 24px;
margin: 0 0 16px;
}

.srvdet .prog-body li {
margin-bottom: 8px;
line-height: 1.75;
}

.srvdet .prog-body blockquote {
border-top: 2px solid #4E8E7D;
border-bottom: 2px solid #4E8E7D;
margin: 24px 0;
padding: 16px 24px;
color: #2C5045;
font-size: 18px;
line-height: 1.75;
position: relative;
}

.srvdet .prog-body blockquote::before {
content: '\201C';
font-size: 52px;
color: #4E8E7D;
line-height: 1;
position: absolute;
top: -8px;
left: 8px;
font-family: Georgia, serif;
}

.srvdet .prog-body em {
color: #4E8E7D;
font-style: italic;
}

.srvdet .desc-block {
display: flex;
flex-direction: column;
gap: 24px;
}

.srvdet .desc-h {
font-size: 28px;
line-height: 1.2;
letter-spacing: -0.02em;
color: transparent;
-webkit-text-stroke: 1.5px #2C5045;
margin: 0;
}

.srvdet .desc-body {
font-size: 18px;
line-height: 1.75;
color: #2C5045;
}

.srvdet .desc-body p {
margin: 0 0 16px;
}

.srvdet .desc-body p:last-child {
margin-bottom: 0;
}

.srvdet .desc-body h2 {
font-size: 22px;
line-height: 1.2;
color: #2C5045;
margin: 24px 0 8px;
}

.srvdet .desc-body ul {
padding-left: 24px;
margin: 0 0 16px;
}

.srvdet .desc-body li {
margin-bottom: 8px;
line-height: 1.75;
}

.srvdet .desc-body blockquote {
border-top: 2px solid #4E8E7D;
border-bottom: 2px solid #4E8E7D;
margin: 24px 0;
padding: 16px 24px;
color: #2C5045;
font-size: 18px;
line-height: 1.75;
}

.srvdet .desc-body dl {
display: grid;
grid-template-columns: auto 1fr;
gap: 8px 16px;
}

.srvdet .desc-body dt {
font-weight: 700;
color: #2C5045;
}

.srvdet .desc-body dd {
color: #2C5045;
margin: 0;
}

.srvdet .desc-body small {
font-size: 15px;
color: rgba(44, 80, 69, 0.7);
}

.srvdet .side-col {
display: flex;
flex-direction: column;
gap: 24px;
position: sticky;
top: 24px;
}

.srvdet .price-card {
background: linear-gradient(155deg, #2C5045 0%, #4E8E7D 100%);
border-radius: 26px;
padding: 40px;
color: #fff;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
position: relative;
overflow: hidden;
}

.srvdet .price-card::before {
content: '';
position: absolute;
top: -40px;
right: -40px;
width: 160px;
height: 160px;
border-radius: 42px;
background: rgba(220, 221, 206, 0.08);
pointer-events: none;
}

.srvdet .price-card::after {
content: '';
position: absolute;
bottom: -24px;
left: -24px;
width: 100px;
height: 100px;
border-radius: 42px;
background: rgba(220, 221, 206, 0.06);
pointer-events: none;
animation: flicker 4s ease-in-out infinite;
}

@keyframes flicker {

0%,
100% {
opacity: 0.06;
}

30% {
opacity: 0.18;
}

60% {
opacity: 0.04;
}

80% {
opacity: 0.14;
}
}

.srvdet .pc-label {
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.06em;
text-transform: uppercase;
color: rgba(220, 221, 206, 0.8);
margin: 0 0 8px;
}

.srvdet .pc-price {
font-size: 52px;
line-height: 1.2;
letter-spacing: -0.03em;
color: #DCDDCE;
margin: 0 0 8px;
}

.srvdet .pc-pricedes {
font-size: 15px;
line-height: 1.5;
color: rgba(220, 221, 206, 0.75);
margin: 0 0 24px;
}

.srvdet .pc-note {
font-size: 15px;
line-height: 1.5;
color: rgba(220, 221, 206, 0.65);
margin: 0 0 24px;
padding: 16px;
background: rgba(255, 255, 255, 0.06);
border-radius: 9px;
box-shadow: inset 0 2px 6px rgba(44, 80, 69, 0.12);
}

.srvdet .pc-stats {
display: flex;
flex-direction: column;
gap: 8px;
margin: 0 0 24px;
}

.srvdet .pc-stat {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.5;
color: rgba(220, 221, 206, 0.85);
}

.srvdet .pc-stat i {
color: #DCDDCE;
font-size: 15px;
width: 16px;
flex-shrink: 0;
}

.srvdet .pc-seats {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 8px 16px;
background: rgba(220, 221, 206, 0.12);
border-radius: 9px;
margin: 0 0 24px;
}

.srvdet .pc-seats-dot {
width: 8px;
height: 8px;
border-radius: 42px;
background: #DCDDCE;
flex-shrink: 0;
animation: flicker 3s ease-in-out infinite;
}

.srvdet .pc-seats-txt {
font-size: 15px;
line-height: 1.5;
color: #DCDDCE;
}

.srvdet .pc-btn {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
padding: 16px 24px;
background: #DCDDCE;
color: #2C5045;
font-size: 18px;
line-height: 1.5;
border-radius: 26px;
border: none;
cursor: pointer;
text-decoration: none;
transition: background 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;
}

.srvdet .pc-btn i {
transition: transform 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.srvdet .pc-btn:hover {
background: #fff;
color: #2C5045;
}

.srvdet .pc-btn:hover i {
transform: translateX(6px);
}

.srvdet .pc-btn:focus {
outline: 3px solid #DCDDCE;
outline-offset: 3px;
}

.srvdet .pc-btn:active {
background: rgba(220, 221, 206, 0.85);
}

.srvdet .views-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.5;
color: rgba(44, 80, 69, 0.6);
}

.srvdet .views-row i {
color: #4E8E7D;
}

.srvdet .pricing-tbl-block {
background: rgba(220, 221, 206, 0.22);
border-radius: 15px;
padding: 40px;
position: relative;
}

.srvdet .pricing-tbl-block::before {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 3px;
background: linear-gradient(180deg, #DCDDCE 0%, #4E8E7D 100%);
border-radius: 0 15px 15px 0;
}

.srvdet .ptbl-h {
font-size: 22px;
line-height: 1.2;
letter-spacing: -0.01em;
color: transparent;
-webkit-text-stroke: 1.5px #2C5045;
margin: 0 0 24px;
}

.srvdet .ptbl-wrap {
overflow: hidden;
border-radius: 9px;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
}

.srvdet .ptbl {
width: 100%;
border-collapse: collapse;
font-size: 15px;
line-height: 1.5;
color: #2C5045;
}

.srvdet .ptbl thead tr {
background: linear-gradient(90deg, #2C5045 0%, #4E8E7D 100%);
}

.srvdet .ptbl thead th {
padding: 16px;
color: #DCDDCE;
text-align: left;
font-size: 15px;
letter-spacing: 0.04em;
}

.srvdet .ptbl tbody tr {
background: #fff;
transition: background 0.35s ease-in-out;
}

.srvdet .ptbl tbody tr:nth-child(even) {
background: rgba(220, 221, 206, 0.3);
}

.srvdet .ptbl tbody tr:hover {
background: rgba(78, 142, 125, 0.1);
}

.srvdet .ptbl tbody td {
padding: 16px;
border-bottom: 1px solid rgba(220, 221, 206, 0.5);
}

.srvdet .ptbl tbody tr:last-child td {
border-bottom: none;
}

.srvdet .ptbl .tbl-feat {
display: flex;
align-items: center;
gap: 8px;
}

.srvdet .ptbl .tbl-feat i {
color: #4E8E7D;
font-size: 15px;
}

.srvdet .ptbl .tbl-yes {
color: #2C5045;
display: flex;
align-items: center;
gap: 8px;
}

.srvdet .ptbl .tbl-yes i {
color: #4E8E7D;
}

.srvdet .ptbl .tbl-no {
color: rgba(44, 80, 69, 0.35);
}

.srvdet .ptbl .tbl-hl {
background: linear-gradient(155deg, #2C5045 0%, #4E8E7D 100%) !important;
}

.srvdet .ptbl .tbl-hl td {
color: #DCDDCE;
border-bottom-color: rgba(220, 221, 206, 0.2);
}

.srvdet .ptbl .tbl-hl .tbl-yes {
color: #DCDDCE;
}

.srvdet .ptbl .tbl-hl .tbl-yes i {
color: #DCDDCE;
}

@media (max-width: 1024px) {
.srvdet .ed-col {
padding: 0 24px;
}

.srvdet .pg-title-area {
grid-template-columns: 1fr 260px;
min-height: 420px;
}

.srvdet .pt-h1 {
font-size: 38px;
}

.srvdet .detail-body {
grid-template-columns: 1fr 300px;
gap: 24px;
padding: 40px 0;
}

.srvdet .price-card {
padding: 24px;
}

.srvdet .pc-price {
font-size: 38px;
}
}

@media (max-width: 768px) {
.srvdet .ed-col {
padding: 0 16px;
}

.srvdet .pg-title-area {
grid-template-columns: 1fr;
min-height: auto;
}

.srvdet .pt-img-strip {
height: 240px;
order: -1;
}

.srvdet .pt-text {
padding: 40px 0 40px;
}

.srvdet .pt-text::before {
left: 0;
}

.srvdet .pt-h1 {
font-size: 38px;
}

.srvdet .detail-body {
grid-template-columns: 1fr;
padding: 40px 0;
}

.srvdet .side-col {
position: static;
order: -1;
}

.srvdet .pricing-tbl-block {
padding: 24px;
}

.srvdet .ptbl thead th,
.srvdet .ptbl tbody td {
padding: 8px;
font-size: 15px;
}
}

@media (max-width: 375px) {
.srvdet .pt-h1 {
font-size: 28px;
}

.srvdet .pc-price {
font-size: 28px;
}

.srvdet .prog-block {
padding: 24px;
}
}

.srv-pg {
background: #fff;
overflow-x: clip;
}

.srv-pg .pg-lead {
background: linear-gradient(175deg, #2C5045 0%, #4E8E7D 55%, rgba(220, 221, 206, 0.18) 100%);
padding: 72px 24px 72px;
position: relative;
}

.srv-pg .pg-lead__row {
max-width: 1400px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
}

.srv-pg .pg-lead__txt {
flex: 1 1 0;
min-width: 0;
}

.srv-pg .pg-lead__eyebrow {
display: inline-block;
font-size: 15px;
letter-spacing: 0.08em;
color: #DCDDCE;
margin-bottom: 16px;
padding: 8px 16px;
border: 1px solid rgba(220, 221, 206, 0.35);
border-radius: 4px;
}

.srv-pg .pg-lead__h1 {
font-size: 52px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #fff;
margin: 0 0 24px;
-webkit-text-stroke: 0px;
}

.srv-pg .pg-lead__desc {
font-size: 18px;
line-height: 1.75;
color: rgba(220, 221, 206, 0.9);
margin: 0 0 40px;
max-width: 520px;
}

.srv-pg .pg-lead__acts {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
}

.srv-pg .act-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 40px;
border-radius: 9px;
font-size: 15px;
font-weight: 600;
text-decoration: none;
transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
cursor: pointer;
border: none;
}

.srv-pg .act-btn i {
transition: transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.srv-pg .act-btn:hover i {
transform: translateX(5px);
}

.srv-pg .act-btn--prim {
background: #fff;
color: #2C5045;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
}

.srv-pg .act-btn--prim:hover {
background: #DCDDCE;
color: #2C5045;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
}

.srv-pg .act-btn--sec {
background: transparent;
color: #fff;
border: 2px solid rgba(255, 255, 255, 0.5);
padding: 14px 40px;
}

.srv-pg .act-btn--sec:hover {
background: rgba(255, 255, 255, 0.12);
border-color: #fff;
}

.srv-pg .pg-lead__img-col {
flex: 0 0 420px;
position: relative;
}

.srv-pg .pg-lead__img-wrap {
border-radius: 15px;
overflow: hidden;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
position: relative;
width: 420px;
height: 320px;
}

.srv-pg .pg-lead__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: blur(0px);
}

.srv-pg .pg-lead__img-wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(200deg, transparent 40%, rgba(44, 80, 69, 0.45) 100%);
border-radius: 15px;
pointer-events: none;
}

.srv-pg .pg-lead__deco {
position: absolute;
right: -30px;
bottom: -30px;
width: 160px;
height: 160px;
border: 2px solid rgba(220, 221, 206, 0.25);
border-radius: 26px;
pointer-events: none;
animation: deco-glow 3.5s ease-in-out infinite;
}

@keyframes deco-glow {

0%,
100% {
box-shadow: 0 0 0 0 rgba(220, 221, 206, 0.0);
opacity: 0.4;
}

50% {
box-shadow: 0 0 18px 4px rgba(220, 221, 206, 0.18);
opacity: 1;
}
}

.srv-pg .divider-txt {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
max-width: 1400px;
margin: 0 auto;
padding: 0 24px;
}

.srv-pg .divider-txt::before,
.srv-pg .divider-txt::after {
content: '';
flex: 1;
height: 1px;
background: #DCDDCE;
display: block;
}

.srv-pg .divider-txt__word {
font-size: 15px;
color: #4E8E7D;
letter-spacing: 0.1em;
white-space: nowrap;
padding: 0 8px;
}

.srv-pg .cards-area {
padding: 72px 24px;
background: #fff;
}

.srv-pg .cards-area__head {
max-width: 1400px;
margin: 0 auto 40px;
}

.srv-pg .cards-area__h2 {
font-size: 38px;
line-height: 1.2;
letter-spacing: -0.01em;
color: transparent;
-webkit-text-stroke: 1.5px #2C5045;
margin: 0 0 16px;
}

.srv-pg .cards-area__sub {
font-size: 18px;
line-height: 1.75;
color: #3a5a52;
max-width: 600px;
margin: 0;
}

.srv-pg .cards-grid {
max-width: 1400px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}

.srv-pg .svc-card {
border-radius: 15px;
background: #fff;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
display: flex;
flex-direction: column;
overflow: hidden;
transition: box-shadow 0.42s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
animation: border-glow 4s ease-in-out infinite;
}

@keyframes border-glow {

0%,
100% {
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09), 0 0 0 1px rgba(78, 142, 125, 0.0);
}

50% {
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09), 0 0 0 2px rgba(78, 142, 125, 0.22);
}
}

.srv-pg .svc-card:hover {
transform: translateY(-4px);
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10), 0 0 0 2px rgba(78, 142, 125, 0.3);
animation: none;
}

.srv-pg .svc-card__img-wrap {
position: relative;
width: 100%;
aspect-ratio: 16/10;
overflow: hidden;
}

.srv-pg .svc-card__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.45s ease-in-out;
}

.srv-pg .svc-card:hover .svc-card__img-wrap img {
transform: scale(1.05);
}

.srv-pg .svc-card__img-overlay {
position: absolute;
inset: 0;
background: rgba(44, 80, 69, 0);
display: flex;
align-items: center;
justify-content: center;
transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.srv-pg .svc-card:hover .svc-card__img-overlay {
background: rgba(44, 80, 69, 0.55);
}

.srv-pg .svc-card__img-overlay-txt {
color: #fff;
font-size: 15px;
font-weight: 600;
opacity: 0;
transform: translateY(8px);
transition: opacity 0.35s ease-in-out, transform 0.35s ease-in-out;
text-align: center;
padding: 0 16px;
}

.srv-pg .svc-card:hover .svc-card__img-overlay-txt {
opacity: 1;
transform: translateY(0);
}

.srv-pg .svc-card__badge-row {
position: absolute;
top: 8px;
left: 8px;
display: flex;
flex-direction: row;
gap: 8px;
}

.srv-pg .svc-card__badge {
background: rgba(44, 80, 69, 0.88);
color: #DCDDCE;
font-size: 15px;
padding: 4px 8px;
border-radius: 4px;
line-height: 1.2;
}

.srv-pg .svc-card__body {
padding: 16px;
display: flex;
flex-direction: column;
gap: 8px;
flex: 1;
}

.srv-pg .svc-card__fmt {
font-size: 15px;
color: #4E8E7D;
letter-spacing: 0.06em;
}

.srv-pg .svc-card__h3 {
font-size: 18px;
line-height: 1.5;
color: transparent;
-webkit-text-stroke: 1px #2C5045;
margin: 0;
}

.srv-pg .svc-card__desc {
font-size: 15px;
line-height: 1.75;
color: #3a5a52;
margin: 0;
flex: 1;
}

.srv-pg .svc-card__meta {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-top: 8px;
}

.srv-pg .svc-card__meta-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 4px;
font-size: 15px;
color: #5a7a72;
}

.srv-pg .svc-card__meta-item i {
font-size: 13px;
color: #4E8E7D;
}

.srv-pg .svc-card__footer {
padding: 16px;
border-top: 1px solid rgba(220, 221, 206, 0.6);
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 8px;
}

.srv-pg .svc-card__price-block {
display: flex;
flex-direction: column;
gap: 4px;
}

.srv-pg .svc-card__price {
font-size: 22px;
line-height: 1.2;
color: #2C5045;
font-weight: 700;
}

.srv-pg .svc-card__price-terms {
font-size: 15px;
color: #5a7a72;
}

.srv-pg .svc-card__price-note {
font-size: 15px;
color: #7a9a92;
font-style: italic;
}

.srv-pg .svc-card__link {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
background: #2C5045;
color: #fff;
border-radius: 9px;
font-size: 15px;
text-decoration: none;
transition: background 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
white-space: nowrap;
}

.srv-pg .svc-card__link i {
transition: transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.srv-pg .svc-card__link:hover {
background: #4E8E7D;
}

.srv-pg .svc-card__link:hover i {
transform: translateX(4px);
}

.srv-pg .svc-card--accent {
grid-column: span 1;
border-top: 3px solid #2C5045;
}

.srv-pg .divider-txt--mid {
padding: 40px 24px;
}

.srv-pg .process-strip {
background: #2C5045;
padding: 72px 24px;
position: relative;
overflow: hidden;
}

.srv-pg .process-strip__deco-ring {
position: absolute;
width: 320px;
height: 320px;
border: 1.5px solid rgba(220, 221, 206, 0.1);
border-radius: 50%;
top: -80px;
right: -60px;
pointer-events: none;
animation: ring-pulse 5s ease-in-out infinite;
}

@keyframes ring-pulse {

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

50% {
opacity: 0.7;
transform: scale(1.04);
}
}

.srv-pg .process-strip__inner {
max-width: 1400px;
margin: 0 auto;
}

.srv-pg .process-strip__h2 {
font-size: 38px;
line-height: 1.2;
color: transparent;
-webkit-text-stroke: 1.5px #DCDDCE;
margin: 0 0 40px;
letter-spacing: -0.01em;
}

.srv-pg .process-steps {
display: flex;
flex-direction: row;
gap: 24px;
}

.srv-pg .proc-step {
flex: 1;
background: rgba(220, 221, 206, 0.07);
border-radius: 15px;
padding: 24px;
border: 1px solid rgba(220, 221, 206, 0.15);
transition: background 0.4s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
animation: border-glow-dark 4.5s ease-in-out infinite;
}

@keyframes border-glow-dark {

0%,
100% {
box-shadow: 0 0 0 0 rgba(78, 142, 125, 0.0);
}

50% {
box-shadow: 0 0 0 1px rgba(78, 142, 125, 0.3);
}
}

.srv-pg .proc-step:hover {
background: rgba(220, 221, 206, 0.13);
border-color: rgba(220, 221, 206, 0.35);
animation: none;
}

.srv-pg .proc-step__num {
font-size: 38px;
line-height: 1.2;
color: transparent;
-webkit-text-stroke: 1px rgba(220, 221, 206, 0.4);
font-weight: 700;
margin-bottom: 16px;
display: block;
}

.srv-pg .proc-step__title {
font-size: 18px;
line-height: 1.5;
color: #DCDDCE;
margin: 0 0 8px;
}

.srv-pg .proc-step__txt {
font-size: 15px;
line-height: 1.75;
color: rgba(220, 221, 206, 0.7);
margin: 0;
}

.srv-pg .divider-txt--light {
padding: 40px 24px;
background: #fff;
}

.srv-pg .why-row {
padding: 72px 24px;
background: #DCDDCE;
}

.srv-pg .why-row__inner {
max-width: 1400px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start;
}

.srv-pg .why-row__left {
flex: 0 0 340px;
}

.srv-pg .why-row__h2 {
font-size: 38px;
line-height: 1.2;
color: transparent;
-webkit-text-stroke: 1.5px #2C5045;
margin: 0 0 24px;
letter-spacing: -0.01em;
}

.srv-pg .why-row__lead {
font-size: 18px;
line-height: 1.75;
color: #2C5045;
margin: 0;
}

.srv-pg .why-row__right {
flex: 1;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
}

.srv-pg .why-item {
background: #fff;
border-radius: 15px;
padding: 24px;
box-shadow: -1px 1px 6px 1px rgba(44, 80, 69, 0.06);
transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.srv-pg .why-item:hover {
background: #f5f7f5;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
}

.srv-pg .why-item__icon {
width: 40px;
height: 40px;
background: #2C5045;
border-radius: 9px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px;
}

.srv-pg .why-item__icon i {
color: #DCDDCE;
font-size: 18px;
}

.srv-pg .why-item__title {
font-size: 18px;
line-height: 1.5;
color: #2C5045;
margin: 0 0 8px;
}

.srv-pg .why-item__txt {
font-size: 15px;
line-height: 1.75;
color: #3a5a52;
margin: 0;
}

.srv-pg .divider-txt--deco {
padding: 40px 24px;
background: #DCDDCE;
}

.srv-pg .img-quote-row {
padding: 72px 24px;
background: #fff;
}

.srv-pg .img-quote-row__inner {
max-width: 1400px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 40px;
align-items: stretch;
}

.srv-pg .iq-img-col {
flex: 0 0 480px;
position: relative;
border-radius: 15px;
overflow: hidden;
min-height: 360px;
}

.srv-pg .iq-img-col img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.45s ease-in-out;
}

.srv-pg .iq-img-col:hover img {
transform: scale(1.04);
}

.srv-pg .iq-img-col__overlay {
position: absolute;
inset: 0;
background: rgba(44, 80, 69, 0);
transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
display: flex;
align-items: flex-end;
padding: 24px;
}

.srv-pg .iq-img-col:hover .iq-img-col__overlay {
background: rgba(44, 80, 69, 0.5);
}

.srv-pg .iq-img-col__caption {
color: #fff;
font-size: 15px;
opacity: 0;
transform: translateY(8px);
transition: opacity 0.35s ease-in-out, transform 0.35s ease-in-out;
}

.srv-pg .iq-img-col:hover .iq-img-col__caption {
opacity: 1;
transform: translateY(0);
}

.srv-pg .iq-content-col {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
}

.srv-pg .iq-content-col__h2 {
font-size: 38px;
line-height: 1.2;
color: transparent;
-webkit-text-stroke: 1.5px #2C5045;
margin: 0;
letter-spacing: -0.01em;
}

.srv-pg .iq-quote {
padding: 24px;
background: linear-gradient(135deg, rgba(44, 80, 69, 0.06) 0%, rgba(78, 142, 125, 0.08) 100%);
border-radius: 15px;
position: relative;
}

.srv-pg .iq-quote__mark {
font-size: 52px;
line-height: 1;
color: #4E8E7D;
font-weight: 700;
display: block;
margin-bottom: 8px;
}

.srv-pg .iq-quote__txt {
font-size: 18px;
line-height: 1.75;
color: #2C5045;
margin: 0 0 16px;
font-style: italic;
}

.srv-pg .iq-quote__author {
font-size: 15px;
color: #4E8E7D;
font-weight: 600;
}

.srv-pg .iq-content-col__body {
font-size: 15px;
line-height: 1.75;
color: #3a5a52;
margin: 0;
}

.srv-pg .iq-cta-link {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 40px;
background: #2C5045;
color: #fff;
border-radius: 9px;
font-size: 15px;
font-weight: 600;
text-decoration: none;
transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
align-self: flex-start;
}

.srv-pg .iq-cta-link i {
transition: transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.srv-pg .iq-cta-link:hover {
background: #4E8E7D;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
}

.srv-pg .iq-cta-link:hover i {
transform: translateX(5px);
}

.srv-pg .metrics-band {
background: linear-gradient(160deg, #4E8E7D 0%, #2C5045 100%);
padding: 72px 24px;
}

.srv-pg .metrics-band__inner {
max-width: 1400px;
margin: 0 auto;
}

.srv-pg .metrics-band__h2 {
font-size: 28px;
line-height: 1.2;
color: transparent;
-webkit-text-stroke: 1px #DCDDCE;
margin: 0 0 40px;
text-align: center;
}

.srv-pg .metrics-row {
display: flex;
flex-direction: row;
gap: 24px;
flex-wrap: wrap;
}

.srv-pg .metric-item {
flex: 1;
min-width: 160px;
background: rgba(255, 255, 255, 0.08);
border-radius: 15px;
padding: 24px;
text-align: center;
border: 1px solid rgba(220, 221, 206, 0.2);
transition: background 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
animation: border-glow-dark 5s ease-in-out infinite;
}

.srv-pg .metric-item:hover {
background: rgba(255, 255, 255, 0.15);
animation: none;
}

.srv-pg .metric-item__val {
font-size: 38px;
line-height: 1.2;
color: #DCDDCE;
font-weight: 700;
display: block;
margin-bottom: 8px;
}

.srv-pg .metric-item__lbl {
font-size: 15px;
color: rgba(220, 221, 206, 0.75);
line-height: 1.5;
}

@media (max-width: 1024px) {
.srv-pg .cards-grid {
grid-template-columns: repeat(2, 1fr);
}

.srv-pg .pg-lead__img-col {
flex: 0 0 320px;
}

.srv-pg .pg-lead__img-wrap {
width: 320px;
height: 240px;
}

.srv-pg .pg-lead__h1 {
font-size: 38px;
}

.srv-pg .why-row__inner {
flex-direction: column;
}

.srv-pg .why-row__left {
flex: none;
}

.srv-pg .img-quote-row__inner {
flex-direction: column;
}

.srv-pg .iq-img-col {
flex: none;
min-height: 280px;
}

.srv-pg .process-steps {
flex-wrap: wrap;
}

.srv-pg .proc-step {
flex: 0 0 calc(50% - 12px);
}
}

@media (max-width: 768px) {
.srv-pg .pg-lead__row {
flex-direction: column;
}

.srv-pg .pg-lead__img-col {
flex: none;
width: 100%;
}

.srv-pg .pg-lead__img-wrap {
width: 100%;
height: 220px;
}

.srv-pg .pg-lead__h1 {
font-size: 28px;
}

.srv-pg .cards-grid {
grid-template-columns: 1fr;
}

.srv-pg .why-row__right {
grid-template-columns: 1fr;
}

.srv-pg .process-steps {
flex-direction: column;
}

.srv-pg .proc-step {
flex: none;
}

.srv-pg .metrics-row {
flex-direction: column;
}

.srv-pg .pg-lead__acts {
flex-direction: column;
}
}

@media (max-width: 375px) {
.srv-pg .pg-lead {
padding: 40px 16px;
}

.srv-pg .cards-area {
padding: 40px 16px;
}

.srv-pg .process-strip {
padding: 40px 16px;
}

.srv-pg .why-row {
padding: 40px 16px;
}

.srv-pg .img-quote-row {
padding: 40px 16px;
}

.srv-pg .metrics-band {
padding: 40px 16px;
}

.srv-pg .pg-lead__h1 {
font-size: 22px;
}

.srv-pg .cards-area__h2,
.srv-pg .process-strip__h2,
.srv-pg .why-row__h2,
.srv-pg .iq-content-col__h2 {
font-size: 28px;
}
}

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

.abt-pg .schema-data {
display: none;
}

.abt-pg .pg-lead {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 560px;
position: relative;
}

.abt-pg .pg-lead__txt {
padding: 72px 40px 72px 72px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
z-index: 1;
}

.abt-pg .pg-lead__txt::after {
content: '';
position: absolute;
top: 40px;
bottom: 40px;
right: 0;
width: 2px;
background: linear-gradient(to bottom, transparent, #4E8E7D 30%, #2C5045 70%, transparent);
border-radius: 4px;
}

.abt-pg .pg-lead__label {
font-size: 15px;
letter-spacing: 0.08em;
color: #4E8E7D;
text-transform: uppercase;
margin-bottom: 16px;
font-weight: 600;
}

.abt-pg .pg-lead__h1 {
font-size: 52px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #2C5045;
margin-bottom: 24px;
font-weight: 700;
-webkit-text-stroke: 1.5px #2C5045;
color: transparent;
}

.abt-pg .pg-lead__h1 .acc-dot {
color: #4E8E7D;
-webkit-text-stroke: 0;
}

.abt-pg .pg-lead__desc {
font-size: 18px;
line-height: 1.75;
color: #2a3a36;
max-width: 480px;
}

.abt-pg .pg-lead__img-wrap {
position: relative;
overflow: hidden;
}

.abt-pg .pg-lead__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: sepia(0.3) contrast(1.08) brightness(0.92) saturate(0.85);
transition: transform 0.45s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.abt-pg .pg-lead__img-wrap:hover img {
transform: scale(1.04);
}

.abt-pg .pg-lead__img-wrap::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(44, 80, 69, 0.18) 0%, rgba(78, 142, 125, 0.08) 100%);
z-index: 1;
pointer-events: none;
}

.abt-pg .pg-lead__yr {
display: inline-flex;
align-items: center;
gap: 8px;
margin-top: 24px;
padding: 8px 16px;
border: 1px solid rgba(78, 142, 125, 0.35);
border-radius: 9px;
font-size: 15px;
color: #4E8E7D;
width: fit-content;
}

.abt-pg .pg-lead__yr i {
font-size: 15px;
}

.abt-pg .divider-a {
height: 1px;
background: linear-gradient(to right, transparent, #DCDDCE 30%, #DCDDCE 70%, transparent);
margin: 0;
}

.abt-pg .val-strip {
background: linear-gradient(160deg, #2C5045 0%, #4E8E7D 100%);
animation: bg-shift 15s linear infinite;
padding: 72px 40px;
position: relative;
overflow: hidden;
}

@keyframes bg-shift {
0% {
background: linear-gradient(160deg, #2C5045 0%, #4E8E7D 100%);
}

50% {
background: linear-gradient(160deg, #3a6458 0%, #2C5045 100%);
}

100% {
background: linear-gradient(160deg, #2C5045 0%, #4E8E7D 100%);
}
}

.abt-pg .val-strip__deco {
position: absolute;
top: -40px;
right: -40px;
width: 280px;
height: 280px;
border: 1.5px solid rgba(220, 221, 206, 0.15);
border-radius: 42px;
pointer-events: none;
}

.abt-pg .val-strip__deco-b {
position: absolute;
bottom: -24px;
left: 72px;
width: 160px;
height: 160px;
border: 1px solid rgba(220, 221, 206, 0.1);
border-radius: 26px;
pointer-events: none;
}

.abt-pg .val-strip__inner {
max-width: 1400px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 72px;
align-items: center;
}

.abt-pg .val-strip__hd {
font-size: 38px;
line-height: 1.2;
letter-spacing: -0.015em;
color: #DCDDCE;
-webkit-text-stroke: 1px #DCDDCE;
color: transparent;
font-weight: 700;
}

.abt-pg .val-strip__hd .acq {
-webkit-text-stroke: 0;
color: #DCDDCE;
opacity: 0.5;
font-size: 52px;
line-height: 1;
vertical-align: -4px;
}

.abt-pg .val-strip__list {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.abt-pg .val-strip__item {
padding: 24px;
border: 1px solid rgba(220, 221, 206, 0.2);
border-radius: 15px;
background: rgba(255, 255, 255, 0.05);
transition: background 0.38s ease-in-out, border-color 0.38s ease-in-out;
cursor: default;
}

.abt-pg .val-strip__item:hover {
background: rgba(255, 255, 255, 0.12);
border-color: rgba(220, 221, 206, 0.45);
}

.abt-pg .val-strip__item-ico {
width: 36px;
height: 36px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 9px;
background: rgba(220, 221, 206, 0.15);
color: #DCDDCE;
font-size: 18px;
}

.abt-pg .val-strip__item-name {
font-size: 18px;
font-weight: 600;
color: #DCDDCE;
margin-bottom: 8px;
line-height: 1.2;
}

.abt-pg .val-strip__item-txt {
font-size: 15px;
line-height: 1.75;
color: rgba(220, 221, 206, 0.75);
}

.abt-pg .divider-b {
height: 2px;
background: linear-gradient(to right, transparent, #4E8E7D 20%, #2C5045 50%, #4E8E7D 80%, transparent);
}

.abt-pg .team-sec {
max-width: 1400px;
margin: 0 auto;
padding: 72px 40px;
}

.abt-pg .team-sec__top {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 40px;
gap: 40px;
}

.abt-pg .team-sec__h2 {
font-size: 38px;
line-height: 1.2;
letter-spacing: -0.015em;
color: transparent;
-webkit-text-stroke: 1.5px #2C5045;
font-weight: 700;
max-width: 400px;
}

.abt-pg .team-sec__sub {
font-size: 18px;
line-height: 1.75;
color: #2a3a36;
max-width: 500px;
}

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

.abt-pg .team-card {
border-radius: 15px;
overflow: hidden;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
background: #fff;
transition: box-shadow 0.4s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative;
}

.abt-pg .team-card:hover {
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
transform: translateY(-4px);
}

.abt-pg .team-card__img-wrap {
position: relative;
aspect-ratio: 4/3;
overflow: hidden;
}

.abt-pg .team-card__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: sepia(0.2) contrast(1.05) brightness(0.95);
transition: transform 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.abt-pg .team-card:hover .team-card__img-wrap img {
transform: scale(1.06);
}

.abt-pg .team-card__overlay {
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(44, 80, 69, 0.55) 0%, transparent 55%);
pointer-events: none;
}

.abt-pg .team-card__body {
padding: 24px;
}

.abt-pg .team-card__name {
font-size: 22px;
font-weight: 700;
color: #2C5045;
line-height: 1.2;
margin-bottom: 8px;
}

.abt-pg .team-card__role {
font-size: 15px;
color: #4E8E7D;
font-weight: 600;
margin-bottom: 8px;
letter-spacing: 0.04em;
}

.abt-pg .team-card__bio {
font-size: 15px;
line-height: 1.75;
color: #3a4e49;
}

.abt-pg .divider-c {
height: 24px;
background: linear-gradient(to bottom, #DCDDCE, transparent);
opacity: 0.4;
}

.abt-pg .atm-sec {
position: relative;
min-height: 420px;
display: flex;
flex-direction: column;
justify-content: center;
}

.abt-pg .atm-sec__bg {
position: absolute;
inset: 0;
overflow: hidden;
}

.abt-pg .atm-sec__bg img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: sepia(0.4) contrast(1.1) brightness(0.7) saturate(0.7);
}

.abt-pg .atm-sec__bg::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(44, 80, 69, 0.82) 0%, rgba(78, 142, 125, 0.65) 100%);
}

.abt-pg .atm-sec__body {
position: relative;
z-index: 2;
max-width: 1400px;
margin: 0 auto;
padding: 72px 40px;
display: flex;
flex-direction: row;
gap: 72px;
align-items: center;
width: 100%;
box-sizing: border-box;
}

.abt-pg .atm-sec__left {
flex: 1;
}

.abt-pg .atm-sec__h3 {
font-size: 38px;
line-height: 1.2;
letter-spacing: -0.015em;
color: transparent;
-webkit-text-stroke: 1.5px #DCDDCE;
font-weight: 700;
margin-bottom: 24px;
}

.abt-pg .atm-sec__txt {
font-size: 18px;
line-height: 1.75;
color: rgba(220, 221, 206, 0.9);
}

.abt-pg .atm-sec__right {
flex: 1;
display: flex;
flex-direction: column;
gap: 16px;
}

.abt-pg .atm-stat {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
padding: 16px 24px;
border-radius: 9px;
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(220, 221, 206, 0.2);
transition: background 0.35s ease-in-out;
cursor: default;
}

.abt-pg .atm-stat:hover {
background: rgba(255, 255, 255, 0.16);
}

.abt-pg .atm-stat__ico {
width: 40px;
height: 40px;
border-radius: 9px;
background: rgba(220, 221, 206, 0.18);
display: flex;
align-items: center;
justify-content: center;
color: #DCDDCE;
font-size: 18px;
flex-shrink: 0;
}

.abt-pg .atm-stat__val {
font-size: 28px;
font-weight: 700;
color: #DCDDCE;
line-height: 1.2;
letter-spacing: -0.01em;
}

.abt-pg .atm-stat__lbl {
font-size: 15px;
color: rgba(220, 221, 206, 0.7);
line-height: 1.5;
}

@media (max-width: 1024px) {
.abt-pg .pg-lead {
grid-template-columns: 1fr;
}

.abt-pg .pg-lead__txt {
padding: 40px 24px;
order: 2;
}

.abt-pg .pg-lead__txt::after {
display: none;
}

.abt-pg .pg-lead__img-wrap {
min-height: 320px;
order: 1;
}

.abt-pg .pg-lead__h1 {
font-size: 38px;
}

.abt-pg .val-strip__inner {
grid-template-columns: 1fr;
gap: 40px;
}

.abt-pg .val-strip__list {
grid-template-columns: 1fr 1fr;
}

.abt-pg .team-grid {
grid-template-columns: 1fr 1fr;
}

.abt-pg .atm-sec__body {
flex-direction: column;
gap: 40px;
}

.abt-pg .team-sec__top {
flex-direction: column;
align-items: flex-start;
}
}

@media (max-width: 768px) {
.abt-pg .pg-lead__h1 {
font-size: 28px;
}

.abt-pg .pg-lead__txt {
padding: 40px 16px;
}

.abt-pg .val-strip {
padding: 40px 16px;
}

.abt-pg .val-strip__list {
grid-template-columns: 1fr;
}

.abt-pg .val-strip__hd {
font-size: 28px;
}

.abt-pg .team-sec {
padding: 40px 16px;
}

.abt-pg .team-grid {
grid-template-columns: 1fr;
}

.abt-pg .team-sec__h2 {
font-size: 28px;
}

.abt-pg .atm-sec__body {
padding: 40px 16px;
}

.abt-pg .atm-sec__h3 {
font-size: 28px;
}
}

@media (max-width: 375px) {
.abt-pg .pg-lead__h1 {
font-size: 22px;
}

.abt-pg .pg-lead__desc {
font-size: 15px;
}

.abt-pg .val-strip__hd {
font-size: 22px;
}

.abt-pg .team-sec__h2 {
font-size: 22px;
}

.abt-pg .atm-sec__h3 {
font-size: 22px;
}

.abt-pg .atm-sec__txt {
font-size: 15px;
}
}

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

.dbt-pg .pg-wrap {
max-width: 1400px;
margin: 0 auto;
padding: 0 40px;
}

.dbt-pg a {
color: #2C5045;
transition: opacity 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.dbt-pg a:visited {
opacity: 0.62;
}

.dbt-pg a:hover {
opacity: 0.78;
}

.dbt-pg .ttl-blk {
padding: 72px 0 40px;
position: relative;
}

.dbt-pg .ttl-blk::before {
content: "";
position: absolute;
top: 16px;
left: 40px;
right: 40px;
bottom: 16px;
border: 1px solid rgba(78, 142, 125, 0.22);
border-radius: 15px;
pointer-events: none;
}

.dbt-pg .ttl-blk::after {
content: "";
position: absolute;
top: 8px;
left: 48px;
right: 48px;
bottom: 8px;
border: 1px solid rgba(78, 142, 125, 0.10);
border-radius: 15px;
pointer-events: none;
}

.dbt-pg .ttl-inner {
max-width: 1400px;
margin: 0 auto;
padding: 0 72px;
display: flex;
flex-direction: row;
align-items: stretch;
gap: 40px;
min-height: 520px;
}

.dbt-pg .ttl-strip {
width: 220px;
flex-shrink: 0;
border-radius: 15px;
overflow: hidden;
position: relative;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
}

.dbt-pg .ttl-strip img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.dbt-pg .ttl-strip::after {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 45%;
background: linear-gradient(to bottom, rgba(44, 80, 69, 0.72) 0%, rgba(44, 80, 69, 0) 100%);
pointer-events: none;
}

.dbt-pg .ttl-text {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
padding: 40px 0;
}

.dbt-pg .ttl-label {
font-size: 15px;
letter-spacing: 0.12em;
color: #4E8E7D;
text-transform: uppercase;
line-height: 1.5;
}

.dbt-pg .ttl-h1 {
font-size: 68px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #2C5045;
margin: 0;
font-weight: 800;
}

.dbt-pg .ttl-h1 .grad-word {
background: linear-gradient(105deg, #4E8E7D 0%, #DCDDCE 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}

.dbt-pg .ttl-sub {
font-size: 18px;
line-height: 1.75;
color: #3a5e52;
max-width: 560px;
margin: 0;
}

.dbt-pg .ttl-actions {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
flex-wrap: wrap;
}

.dbt-pg .btn-prim {
display: inline-flex;
align-items: center;
gap: 8px;
background: #2C5045;
color: #DCDDCE;
font-size: 15px;
letter-spacing: 0.04em;
padding: 16px 40px;
border-radius: 9px;
border: none;
cursor: pointer;
text-decoration: none;
font-weight: 600;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
transition: background 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.dbt-pg .btn-prim:hover {
background: #4E8E7D;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
color: #fff;
opacity: 1;
}

.dbt-pg .btn-prim:hover .btn-ico {
transform: translateX(5px);
}

.dbt-pg .btn-ico {
transition: transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
display: inline-flex;
}

.dbt-pg .btn-sec {
display: inline-flex;
align-items: center;
gap: 8px;
background: transparent;
color: #2C5045;
font-size: 15px;
letter-spacing: 0.04em;
padding: 16px 24px;
border-radius: 9px;
border: 1.5px solid #2C5045;
cursor: pointer;
text-decoration: none;
font-weight: 600;
transition: background 0.42s ease-in-out, color 0.42s ease-in-out;
}

.dbt-pg .btn-sec:hover {
background: #2C5045;
color: #DCDDCE;
opacity: 1;
}

.dbt-pg .btn-sec:hover .btn-ico {
transform: translateX(5px);
}

.dbt-pg .wave-div-1 {
width: 100%;
line-height: 0;
overflow: hidden;
}

.dbt-pg .wave-div-1 svg {
display: block;
width: 100%;
}

.dbt-pg .ctx-blk {
background: linear-gradient(158deg, #2C5045 0%, #4E8E7D 100%);
padding: 72px 0;
position: relative;
}

.dbt-pg .ctx-grid {
max-width: 1400px;
margin: 0 auto;
padding: 0 40px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
align-items: start;
}

.dbt-pg .ctx-lead {
grid-column: 1 / 3;
display: flex;
flex-direction: column;
gap: 24px;
}

.dbt-pg .ctx-h2 {
font-size: 52px;
line-height: 1.2;
letter-spacing: -0.02em;
color: transparent;
-webkit-text-stroke: 1.5px #DCDDCE;
margin: 0;
font-weight: 800;
}

.dbt-pg .ctx-body {
font-size: 18px;
line-height: 1.75;
color: #DCDDCE;
margin: 0;
}

.dbt-pg .ctx-aside {
display: flex;
flex-direction: column;
gap: 16px;
}

.dbt-pg .ctx-card {
background: rgba(220, 221, 206, 0.10);
border-radius: 15px;
padding: 24px;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
border: 1px solid rgba(220, 221, 206, 0.18);
transition: background 0.4s ease-in-out;
}

.dbt-pg .ctx-card:hover {
background: rgba(220, 221, 206, 0.18);
}

.dbt-pg .ctx-card-ico {
font-size: 22px;
color: #DCDDCE;
margin-bottom: 8px;
display: block;
}

.dbt-pg .ctx-card-h {
font-size: 15px;
font-weight: 700;
color: #fff;
margin: 0 0 8px;
line-height: 1.5;
}

.dbt-pg .ctx-card-p {
font-size: 15px;
color: rgba(220, 221, 206, 0.88);
margin: 0;
line-height: 1.75;
}

.dbt-pg .ctx-stats {
grid-column: 1 / 4;
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 24px;
flex-wrap: wrap;
}

.dbt-pg .ctx-stat {
flex: 1;
min-width: 160px;
display: flex;
flex-direction: column;
gap: 8px;
padding: 24px;
border-radius: 9px;
background: rgba(255, 255, 255, 0.07);
border: 1px solid rgba(220, 221, 206, 0.14);
}

.dbt-pg .ctx-stat-num {
font-size: 38px;
font-weight: 800;
color: #DCDDCE;
line-height: 1.2;
letter-spacing: -0.02em;
}

.dbt-pg .ctx-stat-lbl {
font-size: 15px;
color: rgba(220, 221, 206, 0.72);
line-height: 1.5;
}

.dbt-pg .wave-div-2 {
width: 100%;
line-height: 0;
overflow: hidden;
background: linear-gradient(158deg, #2C5045 0%, #4E8E7D 100%);
}

.dbt-pg .wave-div-2 svg {
display: block;
width: 100%;
}

.dbt-pg .cases-blk {
background: #f5f5ef;
padding: 72px 0;
}

.dbt-pg .cases-hd {
max-width: 1400px;
margin: 0 auto 40px;
padding: 0 40px;
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 40px;
}

.dbt-pg .cases-h2 {
font-size: 52px;
line-height: 1.2;
letter-spacing: -0.02em;
color: transparent;
-webkit-text-stroke: 1.5px #2C5045;
margin: 0;
font-weight: 800;
flex: 1;
}

.dbt-pg .cases-intro {
font-size: 18px;
line-height: 1.75;
color: #2C5045;
max-width: 400px;
margin: 0;
flex-shrink: 0;
}

.dbt-pg .cases-list {
max-width: 1400px;
margin: 0 auto;
padding: 0 40px;
display: flex;
flex-direction: column;
gap: 24px;
}

.dbt-pg .case-row {
display: grid;
grid-template-columns: 280px 1fr 260px;
gap: 24px;
align-items: stretch;
background: #fff;
border-radius: 15px;
overflow: hidden;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
transition: box-shadow 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.dbt-pg .case-row:hover {
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
}

.dbt-pg .case-img-wrap {
position: relative;
overflow: hidden;
}

.dbt-pg .case-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
min-height: 220px;
transition: transform 0.42s ease-in-out;
}

.dbt-pg .case-row:hover .case-img-wrap img {
transform: scale(1.04);
}

.dbt-pg .case-img-wrap::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to right, rgba(44, 80, 69, 0.18) 0%, rgba(44, 80, 69, 0) 60%);
pointer-events: none;
}

.dbt-pg .case-body {
padding: 40px 24px;
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
}

.dbt-pg .case-name {
font-size: 15px;
font-weight: 700;
color: #4E8E7D;
letter-spacing: 0.06em;
text-transform: uppercase;
line-height: 1.5;
}

.dbt-pg .case-h3 {
font-size: 22px;
font-weight: 700;
color: #2C5045;
margin: 0;
line-height: 1.5;
}

.dbt-pg .case-p {
font-size: 15px;
line-height: 1.75;
color: #3a5e52;
margin: 0;
}

.dbt-pg .case-result {
background: linear-gradient(135deg, #2C5045 0%, #4E8E7D 100%);
padding: 40px 24px;
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
}

.dbt-pg .case-res-lbl {
font-size: 15px;
color: rgba(220, 221, 206, 0.72);
letter-spacing: 0.06em;
text-transform: uppercase;
line-height: 1.5;
}

.dbt-pg .case-res-val {
font-size: 22px;
font-weight: 700;
color: #DCDDCE;
line-height: 1.5;
}

.dbt-pg .case-quote {
font-size: 15px;
line-height: 1.75;
color: rgba(220, 221, 206, 0.88);
margin: 0;
font-style: italic;
}

.dbt-pg .case-quote::before {
content: "\201C";
color: #DCDDCE;
font-style: normal;
font-weight: 700;
}

.dbt-pg .case-quote::after {
content: "\201D";
color: #DCDDCE;
font-style: normal;
font-weight: 700;
}

.dbt-pg .wave-div-3 {
width: 100%;
line-height: 0;
overflow: hidden;
background: #f5f5ef;
}

.dbt-pg .wave-div-3 svg {
display: block;
width: 100%;
}

.dbt-pg .ready-blk {
background: #fff;
padding: 72px 0;
}

.dbt-pg .ready-wrap {
max-width: 1400px;
margin: 0 auto;
padding: 0 40px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start;
}

.dbt-pg .ready-left {
display: flex;
flex-direction: column;
gap: 24px;
}

.dbt-pg .ready-h2 {
font-size: 52px;
line-height: 1.2;
letter-spacing: -0.02em;
color: transparent;
-webkit-text-stroke: 1.5px #2C5045;
margin: 0;
font-weight: 800;
}

.dbt-pg .ready-intro {
font-size: 18px;
line-height: 1.75;
color: #2C5045;
margin: 0;
}

.dbt-pg .ready-img-wrap {
position: relative;
border-radius: 15px;
overflow: hidden;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
}

.dbt-pg .ready-img-wrap img {
width: 100%;
height: 360px;
object-fit: cover;
display: block;
}

.dbt-pg .ready-img-badge {
position: absolute;
bottom: 24px;
left: 24px;
background: rgba(44, 80, 69, 0.88);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
border-radius: 9px;
padding: 16px 24px;
color: #DCDDCE;
font-size: 15px;
line-height: 1.5;
max-width: 240px;
}

.dbt-pg .ready-right {
display: flex;
flex-direction: column;
gap: 16px;
}

.dbt-pg .ready-item {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding: 24px;
border-radius: 9px;
background: #f5f5ef;
box-shadow: -1px 1px 6px 1px rgba(44, 80, 69, 0.06);
transition: background 0.35s ease-in-out, box-shadow 0.35s ease-in-out;
}

.dbt-pg .ready-item:hover {
background: #eef0e8;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
}

.dbt-pg .ready-item-ico {
width: 40px;
height: 40px;
flex-shrink: 0;
background: #2C5045;
border-radius: 9px;
display: flex;
align-items: center;
justify-content: center;
color: #DCDDCE;
font-size: 18px;
}

.dbt-pg .ready-item-body {
display: flex;
flex-direction: column;
gap: 8px;
}

.dbt-pg .ready-item-h {
font-size: 18px;
font-weight: 700;
color: #2C5045;
margin: 0;
line-height: 1.5;
}

.dbt-pg .ready-item-p {
font-size: 15px;
line-height: 1.75;
color: #3a5e52;
margin: 0;
}

.dbt-pg .ready-note {
margin-top: 8px;
padding: 24px;
border-radius: 9px;
background: linear-gradient(135deg, rgba(44, 80, 69, 0.06) 0%, rgba(78, 142, 125, 0.10) 100%);
font-size: 15px;
line-height: 1.75;
color: #2C5045;
box-shadow: inset 0 2px 8px 0 rgba(44, 80, 69, 0.06);
}

@keyframes dbt-fadein-up {
from {
opacity: 0;
transform: translateY(24px);
}

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

.dbt-pg .ttl-label {
animation: dbt-fadein-up 0.5s cubic-bezier(0.34, 1.2, 0.64, 1) both;
animation-delay: 0.05s;
}

.dbt-pg .ttl-h1 {
animation: dbt-fadein-up 0.5s cubic-bezier(0.34, 1.2, 0.64, 1) both;
animation-delay: 0.15s;
}

.dbt-pg .ttl-sub {
animation: dbt-fadein-up 0.5s cubic-bezier(0.34, 1.2, 0.64, 1) both;
animation-delay: 0.28s;
}

.dbt-pg .ttl-actions {
animation: dbt-fadein-up 0.5s cubic-bezier(0.34, 1.2, 0.64, 1) both;
animation-delay: 0.42s;
}

.dbt-pg .ttl-strip {
animation: dbt-fadein-up 0.5s cubic-bezier(0.34, 1.2, 0.64, 1) both;
animation-delay: 0.08s;
}

@media (max-width: 1024px) {
.dbt-pg .ttl-inner {
padding: 0 40px;
gap: 24px;
min-height: auto;
}

.dbt-pg .ttl-strip {
width: 160px;
}

.dbt-pg .ttl-h1 {
font-size: 52px;
}

.dbt-pg .ctx-grid {
grid-template-columns: 1fr 1fr;
}

.dbt-pg .ctx-lead {
grid-column: 1 / 3;
}

.dbt-pg .ctx-aside {
grid-column: 1 / 3;
flex-direction: row;
}

.dbt-pg .ctx-card {
flex: 1;
}

.dbt-pg .ctx-stats {
grid-column: 1 / 3;
}

.dbt-pg .case-row {
grid-template-columns: 200px 1fr;
}

.dbt-pg .case-result {
grid-column: 1 / 3;
border-radius: 0;
}

.dbt-pg .ready-wrap {
grid-template-columns: 1fr;
}

.dbt-pg .cases-hd {
flex-direction: column;
align-items: flex-start;
gap: 16px;
}

.dbt-pg .cases-intro {
max-width: 100%;
}
}

@media (max-width: 768px) {
.dbt-pg .pg-wrap {
padding: 0 16px;
}

.dbt-pg .ttl-blk {
padding: 40px 0 24px;
}

.dbt-pg .ttl-blk::before {
left: 16px;
right: 16px;
}

.dbt-pg .ttl-blk::after {
left: 24px;
right: 24px;
}

.dbt-pg .ttl-inner {
flex-direction: column;
padding: 0 24px;
gap: 24px;
}

.dbt-pg .ttl-strip {
width: 100%;
height: 220px;
}

.dbt-pg .ttl-h1 {
font-size: 38px;
}

.dbt-pg .ctx-grid {
grid-template-columns: 1fr;
padding: 0 16px;
}

.dbt-pg .ctx-lead {
grid-column: 1;
}

.dbt-pg .ctx-aside {
grid-column: 1;
flex-direction: column;
}

.dbt-pg .ctx-stats {
grid-column: 1;
flex-direction: column;
}

.dbt-pg .ctx-h2 {
font-size: 38px;
}

.dbt-pg .cases-blk {
padding: 40px 0;
}

.dbt-pg .cases-hd {
padding: 0 16px;
}

.dbt-pg .cases-h2 {
font-size: 38px;
}

.dbt-pg .cases-list {
padding: 0 16px;
}

.dbt-pg .case-row {
grid-template-columns: 1fr;
}

.dbt-pg .case-img-wrap img {
height: 200px;
min-height: 200px;
}

.dbt-pg .case-result {
grid-column: 1;
}

.dbt-pg .ready-blk {
padding: 40px 0;
}

.dbt-pg .ready-wrap {
padding: 0 16px;
}

.dbt-pg .ready-h2 {
font-size: 38px;
}
}

@media (max-width: 375px) {
.dbt-pg .ttl-h1 {
font-size: 28px;
}

.dbt-pg .ctx-h2,
.dbt-pg .cases-h2,
.dbt-pg .ready-h2 {
font-size: 28px;
}

.dbt-pg .ctx-stat-num {
font-size: 28px;
}

.dbt-pg .ttl-actions {
flex-direction: column;
align-items: flex-start;
}
}

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

.hiw-pg .geo-spin {
position: absolute;
top: 120px;
right: -80px;
width: 320px;
height: 320px;
border: 2px solid rgba(78, 142, 125, 0.12);
border-radius: 26px;
animation: geoRotate 18s linear infinite;
pointer-events: none;
z-index: 0;
}

.hiw-pg .geo-spin-2 {
position: absolute;
bottom: 200px;
left: -60px;
width: 200px;
height: 200px;
border: 1.5px solid rgba(44, 80, 69, 0.10);
border-radius: 26px;
animation: geoRotate 24s linear infinite reverse;
pointer-events: none;
z-index: 0;
}

@keyframes geoRotate {
from {
transform: rotate(0deg);
}

to {
transform: rotate(360deg);
}
}

@keyframes bgPulse {

0%,
100% {
opacity: 1;
}

50% {
opacity: 0.88;
}
}

.hiw-pg .pg-wrap {
max-width: 1400px;
margin: 0 auto;
padding: 0 24px;
position: relative;
z-index: 1;
}

.hiw-pg .strip-img {
width: 100%;
height: 72px;
overflow: hidden;
position: relative;
}

.hiw-pg .strip-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 30%;
opacity: 0.18;
filter: saturate(0.6) contrast(1.1);
display: block;
}

.hiw-pg .strip-img::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(44, 80, 69, 0.08) 0%, rgba(220, 221, 206, 0.22) 100%);
}

.hiw-pg .ttl-zone {
padding: 40px 0 40px;
text-align: center;
position: relative;
}

.hiw-pg .ttl-zone::before {
content: "";
position: absolute;
inset: 0;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
opacity: 0.5;
pointer-events: none;
}

.hiw-pg .ttl-zone .pg-label {
display: inline-block;
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.08em;
color: #4E8E7D;
text-transform: uppercase;
margin-bottom: 16px;
font-weight: 600;
}

.hiw-pg .ttl-zone .pg-h1 {
font-size: 52px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #2C5045;
font-weight: 700;
margin: 0 0 16px;
-webkit-text-stroke: 1.5px #2C5045;
color: transparent;
}

.hiw-pg .ttl-zone .pg-h1 .grad-word {
-webkit-text-stroke: 0;
background: linear-gradient(110deg, #4E8E7D 0%, #2C5045 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}

.hiw-pg .ttl-zone .pg-sub {
font-size: 18px;
line-height: 1.75;
color: #3a5a52;
max-width: 560px;
margin: 0 auto;
}

.hiw-pg .dot-divider {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 24px 0;
}

.hiw-pg .dot-divider span {
width: 6px;
height: 6px;
border-radius: 42px;
background: #DCDDCE;
display: block;
}

.hiw-pg .dot-divider span:nth-child(2) {
background: #4E8E7D;
width: 8px;
height: 8px;
}

.hiw-pg .steps-sec {
position: relative;
padding: 40px 0 72px;
animation: bgPulse 6s ease-in-out infinite;
}

.hiw-pg .steps-sec::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(220, 221, 206, 0.35) 0%, rgba(255, 255, 255, 0) 55%);
pointer-events: none;
}

.hiw-pg .steps-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
position: relative;
z-index: 1;
}

.hiw-pg .step-card {
background: #fff;
border-radius: 15px;
padding: 40px;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
position: relative;
overflow: hidden;
transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.hiw-pg .step-card:hover {
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
transform: translateY(-4px);
}

.hiw-pg .step-card::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(78, 142, 125, 0.07) 0%, transparent 60%);
opacity: 0;
transition: opacity 0.42s ease-in-out;
pointer-events: none;
border-radius: 15px;
}

.hiw-pg .step-card:hover::after {
opacity: 1;
}

.hiw-pg .step-card.tall {
grid-row: span 2;
display: flex;
flex-direction: column;
justify-content: space-between;
}

.hiw-pg .step-num {
font-size: 68px;
line-height: 1.2;
font-weight: 800;
-webkit-text-stroke: 1.5px rgba(78, 142, 125, 0.25);
color: transparent;
display: block;
margin-bottom: 8px;
letter-spacing: -0.03em;
}

.hiw-pg .step-card .chk-row {
display: flex;
align-items: flex-start;
gap: 8px;
margin-bottom: 8px;
}

.hiw-pg .step-card .chk-ico {
flex-shrink: 0;
width: 20px;
height: 20px;
border-radius: 4px;
background: #2C5045;
display: flex;
align-items: center;
justify-content: center;
margin-top: 2px;
}

.hiw-pg .step-card .chk-ico i {
color: #fff;
font-size: 11px;
}

.hiw-pg .step-card .chk-txt {
font-size: 15px;
line-height: 1.5;
color: #2C5045;
}

.hiw-pg .step-h {
font-size: 22px;
line-height: 1.2;
color: #2C5045;
font-weight: 700;
margin: 0 0 16px;
-webkit-text-stroke: 0.8px #2C5045;
color: transparent;
}

.hiw-pg .step-p {
font-size: 15px;
line-height: 1.75;
color: #3a5a52;
margin: 0 0 24px;
}

.hiw-pg .step-img-wrap {
border-radius: 9px;
overflow: hidden;
width: 100%;
aspect-ratio: 16/9;
margin-top: 24px;
box-shadow: -1px 1px 6px 1px rgba(44, 80, 69, 0.06);
}

.hiw-pg .step-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.45s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.hiw-pg .step-card:hover .step-img-wrap img {
transform: scale(1.04);
}

.hiw-pg .step-tag {
display: inline-flex;
align-items: center;
gap: 8px;
background: rgba(78, 142, 125, 0.10);
border-radius: 42px;
padding: 8px 16px;
font-size: 15px;
color: #2C5045;
font-weight: 600;
margin-bottom: 24px;
}

.hiw-pg .step-tag i {
color: #4E8E7D;
font-size: 14px;
}

.hiw-pg .dot-divider-2 {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 24px 0;
}

.hiw-pg .dot-divider-2 span {
width: 6px;
height: 6px;
border-radius: 42px;
background: #DCDDCE;
display: block;
}

.hiw-pg .dot-divider-2 span:nth-child(2) {
background: #2C5045;
width: 8px;
height: 8px;
}

.hiw-pg .mosaic-sec {
padding: 72px 0;
position: relative;
}

.hiw-pg .mosaic-sec::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(155deg, #2C5045 0%, #2C5045 48%, #fff 48%);
pointer-events: none;
z-index: 0;
}

.hiw-pg .mosaic-inner {
display: grid;
grid-template-columns: 1fr 1.4fr;
gap: 40px;
align-items: start;
position: relative;
z-index: 1;
}

.hiw-pg .mosaic-txt-col {
padding: 40px;
background: #fff;
border-radius: 15px;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
}

.hiw-pg .mosaic-h2 {
font-size: 38px;
line-height: 1.2;
color: #2C5045;
font-weight: 700;
margin: 0 0 16px;
letter-spacing: -0.02em;
-webkit-text-stroke: 1px #2C5045;
color: transparent;
}

.hiw-pg .mosaic-p {
font-size: 15px;
line-height: 1.75;
color: #3a5a52;
margin: 0 0 24px;
}

.hiw-pg .quote-phrase {
font-size: 18px;
line-height: 1.5;
color: #2C5045;
font-weight: 600;
position: relative;
padding: 16px 24px;
margin: 24px 0;
border-radius: 9px;
background: rgba(220, 221, 206, 0.4);
}

.hiw-pg .quote-phrase::before,
.hiw-pg .quote-phrase::after {
font-size: 38px;
line-height: 1;
color: #4E8E7D;
font-weight: 800;
vertical-align: middle;
}

.hiw-pg .quote-phrase::before {
content: "\201C";
margin-right: 4px;
}

.hiw-pg .quote-phrase::after {
content: "\201D";
margin-left: 4px;
}

.hiw-pg .mosaic-img-col {
display: flex;
flex-direction: column;
gap: 24px;
}

.hiw-pg .mosaic-img-top {
border-radius: 15px;
overflow: hidden;
width: 100%;
aspect-ratio: 4/3;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
}

.hiw-pg .mosaic-img-top img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: saturate(1.05) contrast(1.02);
transition: transform 0.43s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.hiw-pg .mosaic-img-top:hover img {
transform: scale(1.03);
}

.hiw-pg .stat-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}

.hiw-pg .stat-box {
background: #2C5045;
border-radius: 9px;
padding: 24px;
text-align: center;
box-shadow: -1px 1px 6px 1px rgba(44, 80, 69, 0.06);
transition: background 0.35s ease-in-out;
}

.hiw-pg .stat-box:hover {
background: #4E8E7D;
}

.hiw-pg .stat-val {
display: block;
font-size: 38px;
line-height: 1.2;
color: #DCDDCE;
font-weight: 800;
letter-spacing: -0.02em;
}

.hiw-pg .stat-lbl {
display: block;
font-size: 15px;
line-height: 1.5;
color: rgba(220, 221, 206, 0.78);
margin-top: 8px;
}

.hiw-pg .detail-sec {
padding: 72px 0;
background: #DCDDCE;
position: relative;
}

.hiw-pg .detail-sec::before {
content: "";
position: absolute;
inset: 0;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
opacity: 0.6;
pointer-events: none;
}

.hiw-pg .detail-head {
text-align: center;
margin-bottom: 40px;
position: relative;
z-index: 1;
}

.hiw-pg .detail-h2 {
font-size: 38px;
line-height: 1.2;
color: #2C5045;
font-weight: 700;
margin: 0 0 16px;
letter-spacing: -0.02em;
-webkit-text-stroke: 1px #2C5045;
color: transparent;
}

.hiw-pg .detail-sub {
font-size: 18px;
line-height: 1.5;
color: #2C5045;
max-width: 500px;
margin: 0 auto;
}

.hiw-pg .faq-list {
display: flex;
flex-direction: column;
gap: 8px;
max-width: 860px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.hiw-pg .faq-item {
background: #fff;
border-radius: 9px;
box-shadow: -1px 1px 6px 1px rgba(44, 80, 69, 0.06);
overflow: hidden;
}

.hiw-pg .faq-item summary {
padding: 24px;
font-size: 18px;
line-height: 1.5;
color: #2C5045;
font-weight: 600;
cursor: pointer;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
list-style: none;
transition: background 0.35s ease-in-out;
}

.hiw-pg .faq-item summary::-webkit-details-marker {
display: none;
}

.hiw-pg .faq-item summary:hover {
background: rgba(78, 142, 125, 0.06);
}

.hiw-pg .faq-item[open] summary {
background: rgba(44, 80, 69, 0.05);
}

.hiw-pg .faq-ico {
flex-shrink: 0;
width: 28px;
height: 28px;
border-radius: 4px;
background: #4E8E7D;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.35s ease-in-out, transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.hiw-pg .faq-ico i {
color: #fff;
font-size: 13px;
transition: transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.hiw-pg .faq-item[open] .faq-ico {
background: #2C5045;
}

.hiw-pg .faq-item[open] .faq-ico i {
transform: rotate(45deg);
}

.hiw-pg .faq-body {
padding: 0 24px 24px;
font-size: 15px;
line-height: 1.75;
color: #3a5a52;
}

.hiw-pg .faq-body .chk-row {
display: flex;
align-items: flex-start;
gap: 8px;
margin-top: 8px;
}

.hiw-pg .faq-body .chk-ico {
flex-shrink: 0;
width: 18px;
height: 18px;
border-radius: 4px;
background: #4E8E7D;
display: flex;
align-items: center;
justify-content: center;
margin-top: 3px;
}

.hiw-pg .faq-body .chk-ico i {
color: #fff;
font-size: 10px;
}

.hiw-pg .faq-body .chk-txt {
font-size: 15px;
line-height: 1.5;
color: #3a5a52;
}

.hiw-pg .cta-strip {
background: #2C5045;
border-radius: 15px;
padding: 40px;
margin-top: 40px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 24px;
position: relative;
z-index: 1;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
}

.hiw-pg .cta-strip-txt .cta-h {
font-size: 22px;
line-height: 1.2;
color: #DCDDCE;
font-weight: 700;
margin: 0 0 8px;
}

.hiw-pg .cta-strip-txt .cta-p {
font-size: 15px;
line-height: 1.5;
color: rgba(220, 221, 206, 0.75);
margin: 0;
}

.hiw-pg .btn-order {
display: inline-flex;
align-items: center;
gap: 8px;
background: #4E8E7D;
color: #fff;
font-size: 15px;
font-weight: 600;
padding: 16px 24px;
border-radius: 26px;
text-decoration: none;
white-space: nowrap;
flex-shrink: 0;
transition: background 0.35s ease-in-out, box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
box-shadow: -1px 6px 14px 1px rgba(78, 142, 125, 0.18);
}

.hiw-pg .btn-order:hover {
background: #3a7a6a;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.18);
}

.hiw-pg .btn-order i {
transition: transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.hiw-pg .btn-order:hover i {
transform: translateX(4px);
}

@media (max-width: 1024px) {
.hiw-pg .steps-grid {
grid-template-columns: 1fr;
}

.hiw-pg .step-card.tall {
grid-row: span 1;
}

.hiw-pg .mosaic-inner {
grid-template-columns: 1fr;
}

.hiw-pg .mosaic-sec::before {
background: linear-gradient(180deg, #2C5045 0%, #2C5045 35%, #fff 35%);
}

.hiw-pg .ttl-zone .pg-h1 {
font-size: 38px;
}
}

@media (max-width: 768px) {
.hiw-pg .ttl-zone .pg-h1 {
font-size: 28px;
}

.hiw-pg .mosaic-h2,
.hiw-pg .detail-h2 {
font-size: 28px;
}

.hiw-pg .step-card {
padding: 24px;
}

.hiw-pg .stat-row {
grid-template-columns: 1fr 1fr;
}

.hiw-pg .cta-strip {
flex-direction: column;
align-items: flex-start;
}

.hiw-pg .geo-spin {
display: none;
}

.hiw-pg .geo-spin-2 {
display: none;
}
}

@media (max-width: 375px) {
.hiw-pg .ttl-zone .pg-h1 {
font-size: 22px;
}

.hiw-pg .stat-row {
grid-template-columns: 1fr;
}

.hiw-pg .mosaic-txt-col {
padding: 24px;
}
}

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

.phlntr .pg-band {
max-width: 1400px;
margin: 0 auto;
padding: 0 24px;
}

.phlntr .title-strip {
position: relative;
padding: 40px 0;
background: linear-gradient(118deg, #2C5045 0%, #4E8E7D 60%, #DCDDCE 100%);
overflow: hidden;
}

.phlntr .title-strip__deco {
position: absolute;
top: -30px;
right: 60px;
width: 180px;
height: 180px;
border: 2px solid rgba(220, 221, 206, 0.18);
border-radius: 42px;
transform: rotate(22deg);
pointer-events: none;
}

.phlntr .title-strip__deco-inner {
position: absolute;
top: 20px;
right: 100px;
width: 90px;
height: 90px;
border: 1.5px solid rgba(220, 221, 206, 0.10);
border-radius: 26px;
transform: rotate(-12deg);
pointer-events: none;
}

.phlntr .title-strip__row {
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
}

.phlntr .title-strip__text {
flex: 1 1 0;
min-width: 0;
}

.phlntr .title-strip__label {
display: inline-block;
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.08em;
color: #DCDDCE;
text-transform: uppercase;
margin-bottom: 8px;
opacity: 0.85;
}

.phlntr .title-strip__h1 {
font-size: 52px;
line-height: 1.2;
letter-spacing: -0.02em;
color: transparent;
-webkit-text-stroke: 1.5px #DCDDCE;
margin: 0 0 16px 0;
}

.phlntr .title-strip__desc {
font-size: 18px;
line-height: 1.75;
color: #DCDDCE;
margin: 0 0 24px 0;
max-width: 520px;
opacity: 0.92;
}

.phlntr .title-strip__actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
}

.phlntr .act-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 40px;
border-radius: 4px;
font-size: 15px;
line-height: 1.2;
letter-spacing: 0.04em;
text-decoration: none;
border: none;
cursor: pointer;
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), box-shadow 0.42s ease-in-out;
position: relative;
overflow: hidden;
}

.phlntr .act-btn i {
transition: transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.phlntr .act-btn:hover i {
transform: translateX(5px);
}

.phlntr .act-btn--prim {
background: #DCDDCE;
color: #2C5045;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
}

.phlntr .act-btn--prim:hover {
background: #fff;
color: #2C5045;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
}

.phlntr .act-btn--sec {
background: transparent;
color: #DCDDCE;
border: 1.5px solid rgba(220, 221, 206, 0.5);
box-shadow: none;
}

.phlntr .act-btn--sec:hover {
background: rgba(220, 221, 206, 0.10);
color: #fff;
border-color: #DCDDCE;
}

.phlntr .title-strip__img-col {
flex: 0 0 320px;
max-width: 320px;
position: relative;
}

.phlntr .title-strip__img-wrap {
border-radius: 15px;
overflow: hidden;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
position: relative;
}

.phlntr .title-strip__img-wrap img {
width: 100%;
height: 220px;
object-fit: cover;
display: block;
filter: saturate(0.85) brightness(0.92);
transition: filter 0.4s ease-in-out;
}

.phlntr .title-strip__img-wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(160deg, rgba(44, 80, 69, 0.22) 0%, rgba(78, 142, 125, 0.08) 100%);
border-radius: 15px;
pointer-events: none;
}

.phlntr .title-strip__img-wrap:hover img {
filter: saturate(1) brightness(0.97);
}

.phlntr .charity-body {
position: relative;
padding: 72px 0 40px;
background: #fff;
}

.phlntr .charity-body__split {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
margin-bottom: 72px;
}

.phlntr .ch-card {
background: linear-gradient(148deg, #f5f6f2 0%, #eef0eb 100%);
border-radius: 15px;
padding: 40px 24px 24px;
position: relative;
box-shadow: -1px 1px 6px 1px rgba(78, 142, 125, 0.06);
transition: box-shadow 0.4s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.phlntr .ch-card:hover {
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
transform: translateY(-3px);
}

.phlntr .ch-card__num {
font-size: 52px;
line-height: 1.2;
letter-spacing: -0.03em;
color: transparent;
-webkit-text-stroke: 1.5px #4E8E7D;
display: block;
margin-bottom: 8px;
}

.phlntr .ch-card__bar {
width: 100%;
height: 3px;
background: #DCDDCE;
border-radius: 4px;
margin-bottom: 16px;
position: relative;
overflow: hidden;
}

.phlntr .ch-card__bar-fill {
height: 100%;
background: linear-gradient(90deg, #2C5045 0%, #4E8E7D 100%);
border-radius: 4px;
animation: bar-grow 1.4s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

@keyframes bar-grow {
from {
width: 0;
}
}

.phlntr .ch-card:nth-child(1) .ch-card__bar-fill {
width: 72%;
animation-delay: 0.1s;
}

.phlntr .ch-card:nth-child(2) .ch-card__bar-fill {
width: 55%;
animation-delay: 0.25s;
}

.phlntr .ch-card:nth-child(3) .ch-card__bar-fill {
width: 88%;
animation-delay: 0.4s;
}

.phlntr .ch-card__h {
font-size: 18px;
line-height: 1.5;
letter-spacing: 0.01em;
color: #2C5045;
margin: 0 0 8px 0;
}

.phlntr .ch-card__p {
font-size: 15px;
line-height: 1.75;
color: #3a4a45;
margin: 0;
}

.phlntr .charity-body__zigzag {
display: flex;
flex-direction: column;
gap: 72px;
}

.phlntr .zig-row {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 40px;
position: relative;
}

.phlntr .zig-row--rev {
flex-direction: row-reverse;
}

.phlntr .zig-row__text {
flex: 1 1 0;
min-width: 0;
display: flex;
flex-direction: column;
justify-content: center;
padding: 40px;
background: linear-gradient(148deg, #2C5045 0%, #3a6b5c 100%);
border-radius: 15px;
position: relative;
overflow: hidden;
}

.phlntr .zig-row__text-deco {
position: absolute;
bottom: -24px;
left: -24px;
width: 120px;
height: 120px;
border: 2px solid rgba(220, 221, 206, 0.12);
border-radius: 42px;
transform: rotate(18deg);
pointer-events: none;
}

.phlntr .zig-row__quote {
font-size: 38px;
line-height: 1.2;
color: #4E8E7D;
display: block;
margin-bottom: 8px;
letter-spacing: -0.01em;
}

.phlntr .zig-row__h {
font-size: 28px;
line-height: 1.2;
letter-spacing: -0.01em;
color: transparent;
-webkit-text-stroke: 1px #DCDDCE;
margin: 0 0 16px 0;
}

.phlntr .zig-row__p {
font-size: 15px;
line-height: 1.75;
color: #DCDDCE;
margin: 0;
opacity: 0.92;
}

.phlntr .zig-row__aside {
flex: 0 0 280px;
max-width: 280px;
display: flex;
flex-direction: column;
gap: 16px;
}

.phlntr .aside-item {
background: linear-gradient(135deg, #DCDDCE 0%, #c8caba 100%);
border-radius: 9px;
padding: 24px;
box-shadow: -1px 1px 6px 1px rgba(44, 80, 69, 0.06);
transition: box-shadow 0.36s ease-in-out, background-color 0.36s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative;
}

.phlntr .aside-item:hover {
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
background: linear-gradient(135deg, #e8e9dc 0%, #d4d6c8 100%);
}

.phlntr .aside-item__icon {
width: 32px;
height: 32px;
margin-bottom: 8px;
color: #2C5045;
display: flex;
align-items: center;
justify-content: center;
}

.phlntr .aside-item__icon i {
font-size: 22px;
color: #2C5045;
}

.phlntr .aside-item__h {
font-size: 15px;
line-height: 1.5;
color: #2C5045;
margin: 0 0 8px 0;
letter-spacing: 0.01em;
}

.phlntr .aside-item__p {
font-size: 15px;
line-height: 1.75;
color: #3a4a45;
margin: 0;
}

.phlntr .diag-split {
position: relative;
padding: 72px 0;
background: #fff;
}

.phlntr .diag-split::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(162deg, #DCDDCE 0%, #DCDDCE 48%, #fff 48%, #fff 100%);
pointer-events: none;
z-index: 0;
}

.phlntr .diag-split .pg-band {
position: relative;
z-index: 1;
}

.phlntr .diag-split__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center;
}

.phlntr .diag-split__text-col {
padding: 40px;
background: #2C5045;
border-radius: 15px;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
}

.phlntr .diag-split__h {
font-size: 28px;
line-height: 1.2;
letter-spacing: -0.01em;
color: transparent;
-webkit-text-stroke: 1px #DCDDCE;
margin: 0 0 16px 0;
}

.phlntr .diag-split__p {
font-size: 15px;
line-height: 1.75;
color: #DCDDCE;
margin: 0 0 16px 0;
opacity: 0.92;
}

.phlntr .diag-split__list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px;
}

.phlntr .diag-split__list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
font-size: 15px;
line-height: 1.75;
color: #DCDDCE;
opacity: 0.92;
}

.phlntr .diag-split__list li i {
color: #4E8E7D;
font-size: 18px;
flex-shrink: 0;
margin-top: 2px;
}

.phlntr .diag-split__metrics {
display: flex;
flex-direction: column;
gap: 24px;
}

.phlntr .metric-row {
background: #fff;
border-radius: 9px;
padding: 24px;
box-shadow: -1px 1px 6px 1px rgba(44, 80, 69, 0.06);
transition: box-shadow 0.4s ease-in-out;
}

.phlntr .metric-row:hover {
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
}

.phlntr .metric-row__num {
font-size: 38px;
line-height: 1.2;
letter-spacing: -0.02em;
color: transparent;
-webkit-text-stroke: 1.5px #2C5045;
display: block;
margin-bottom: 8px;
}

.phlntr .metric-row__bar {
width: 100%;
height: 3px;
background: #DCDDCE;
border-radius: 4px;
margin-bottom: 8px;
position: relative;
overflow: hidden;
}

.phlntr .metric-row__bar-fill {
height: 100%;
background: linear-gradient(90deg, #4E8E7D 0%, #2C5045 100%);
border-radius: 4px;
animation: bar-grow 1.6s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

.phlntr .metric-row:nth-child(1) .metric-row__bar-fill {
width: 65%;
animation-delay: 0.2s;
}

.phlntr .metric-row:nth-child(2) .metric-row__bar-fill {
width: 80%;
animation-delay: 0.35s;
}

.phlntr .metric-row:nth-child(3) .metric-row__bar-fill {
width: 45%;
animation-delay: 0.5s;
}

.phlntr .metric-row__label {
font-size: 15px;
line-height: 1.5;
color: #2C5045;
margin: 0;
}

.phlntr .bg-anim {
animation: contrast-breath 5s ease-in-out infinite alternate;
}

@keyframes contrast-breath {
from {
filter: contrast(1);
}

to {
filter: contrast(1.08);
}
}

@media (max-width: 1024px) {
.phlntr .title-strip__h1 {
font-size: 38px;
}

.phlntr .title-strip__img-col {
flex: 0 0 240px;
max-width: 240px;
}

.phlntr .charity-body__split {
grid-template-columns: 1fr 1fr;
}

.phlntr .zig-row__aside {
flex: 0 0 220px;
max-width: 220px;
}

.phlntr .diag-split__grid {
grid-template-columns: 1fr 1fr;
gap: 24px;
}
}

@media (max-width: 768px) {
.phlntr .title-strip__row {
flex-direction: column;
gap: 24px;
}

.phlntr .title-strip__img-col {
flex: 0 0 auto;
max-width: 100%;
width: 100%;
}

.phlntr .title-strip__img-wrap img {
height: 180px;
}

.phlntr .title-strip__h1 {
font-size: 28px;
}

.phlntr .charity-body__split {
grid-template-columns: 1fr;
}

.phlntr .zig-row {
flex-direction: column;
}

.phlntr .zig-row--rev {
flex-direction: column;
}

.phlntr .zig-row__aside {
flex: 0 0 auto;
max-width: 100%;
width: 100%;
flex-direction: row;
flex-wrap: wrap;
}

.phlntr .aside-item {
flex: 1 1 200px;
}

.phlntr .diag-split__grid {
grid-template-columns: 1fr;
}

.phlntr .diag-split::before {
background: linear-gradient(180deg, #DCDDCE 0%, #DCDDCE 38%, #fff 38%, #fff 100%);
}
}

@media (max-width: 375px) {
.phlntr .title-strip {
padding: 24px 0;
}

.phlntr .title-strip__h1 {
font-size: 22px;
}

.phlntr .title-strip__desc {
font-size: 15px;
}

.phlntr .act-btn {
padding: 16px 24px;
font-size: 15px;
}

.phlntr .charity-body {
padding: 40px 0 24px;
}

.phlntr .zig-row__text {
padding: 24px;
}

.phlntr .zig-row__h {
font-size: 22px;
}

.phlntr .diag-split__h {
font-size: 22px;
}

.phlntr .ch-card__num {
font-size: 38px;
}

.phlntr .metric-row__num {
font-size: 28px;
}
}

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

.cnt-us .pg-wrap {
max-width: 1400px;
margin: 0 auto;
padding: 0 24px;
}

.cnt-us .reach-band {
position: relative;
background: linear-gradient(170deg, transparent 0%, #2C5045 100%);
padding: 72px 0 40px;
overflow: hidden;
}

.cnt-us .reach-band::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url('./img/2026_0517aa.jpg');
background-size: cover;
background-position: center;
filter: grayscale(60%) brightness(0.55);
z-index: 0;
}

.cnt-us .reach-band__edge {
position: absolute;
top: 0;
right: 0;
width: 3px;
height: 100%;
background: #4E8E7D;
z-index: 2;
}

.cnt-us .reach-band__decor {
position: absolute;
bottom: 24px;
left: 40px;
z-index: 2;
pointer-events: none;
}

.cnt-us .reach-band__decor span {
display: block;
border: 1px solid rgba(78, 142, 125, 0.35);
border-radius: 4px;
margin-bottom: 6px;
}

.cnt-us .reach-band__decor span:nth-child(1) {
width: 80px;
height: 18px;
}

.cnt-us .reach-band__decor span:nth-child(2) {
width: 62px;
height: 14px;
margin-left: 8px;
}

.cnt-us .reach-band__decor span:nth-child(3) {
width: 44px;
height: 10px;
margin-left: 16px;
}

.cnt-us .reach-band__body {
position: relative;
z-index: 3;
display: flex;
flex-direction: column;
gap: 16px;
max-width: 680px;
}

.cnt-us .reach-band__pill {
display: inline-flex;
align-items: center;
gap: 8px;
background: rgba(78, 142, 125, 0.22);
border: 1px solid rgba(78, 142, 125, 0.5);
border-radius: 42px;
padding: 8px 16px;
color: #DCDDCE;
font-size: 15px;
letter-spacing: 0.04em;
width: fit-content;
}

.cnt-us .reach-band__pill i {
color: #4E8E7D;
font-size: 15px;
}

.cnt-us .reach-h1 {
font-size: 52px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #ffffff;
font-weight: 700;
margin: 0;
-webkit-text-stroke: 0px transparent;
}

.cnt-us .reach-h1 span {
-webkit-text-stroke: 1.5px #DCDDCE;
color: transparent;
}

.cnt-us .reach-band__sub {
font-size: 18px;
line-height: 1.5;
color: #DCDDCE;
margin: 0;
max-width: 520px;
}

.cnt-us .reach-band__metrics {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
margin-top: 8px;
}

.cnt-us .m-stat {
background: rgba(44, 80, 69, 0.55);
border: 1px solid rgba(78, 142, 125, 0.3);
border-radius: 9px;
padding: 16px;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.42s ease-in-out;
}

.cnt-us .m-stat:hover {
background: rgba(78, 142, 125, 0.3);
border-color: rgba(78, 142, 125, 0.6);
}

.cnt-us .m-stat__val {
font-size: 28px;
line-height: 1.2;
color: #4E8E7D;
font-weight: 700;
letter-spacing: -0.01em;
display: block;
}

.cnt-us .m-stat__lbl {
font-size: 15px;
line-height: 1.5;
color: #DCDDCE;
display: block;
margin-top: 8px;
}

.cnt-us .form-grid {
background: #f4f5ef;
padding: 72px 0;
}

.cnt-us .form-grid__layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start;
}

.cnt-us .form-panel {
background: #ffffff;
border-radius: 15px;
padding: 40px;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
}

.cnt-us .form-panel__ttl {
font-size: 28px;
line-height: 1.2;
letter-spacing: -0.01em;
color: #2C5045;
margin: 0 0 8px;
-webkit-text-stroke: 1px #2C5045;
color: transparent;
font-weight: 800;
}

.cnt-us .form-panel__desc {
font-size: 15px;
line-height: 1.75;
color: #3d5e55;
margin: 0 0 24px;
}

.cnt-us .f-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-bottom: 16px;
}

.cnt-us .f-field {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 16px;
}

.cnt-us .f-field label {
font-size: 15px;
line-height: 1.5;
color: #2C5045;
font-weight: 600;
letter-spacing: 0.02em;
}

.cnt-us .f-field input[type="text"],
.cnt-us .f-field input[type="tel"] {
height: 48px;
padding: 0 16px;
border: 1.5px solid #DCDDCE;
border-radius: 9px;
font-size: 15px;
color: #2C5045;
background: #fafdf9;
outline: none;
transition: border-color 0.35s ease-in-out, box-shadow 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
box-shadow: inset 0 2px 6px rgba(44, 80, 69, 0.05);
}

.cnt-us .f-field input[type="text"]::placeholder,
.cnt-us .f-field input[type="tel"]::placeholder {
color: rgba(44, 80, 69, 0.4);
}

.cnt-us .f-field input[type="text"]:focus,
.cnt-us .f-field input[type="tel"]:focus {
border-color: #4E8E7D;
box-shadow: inset 0 2px 6px rgba(44, 80, 69, 0.05), -1px 6px 14px 1px rgba(78, 142, 125, 0.09);
}

.cnt-us .chk-grp {
margin-bottom: 24px;
}

.cnt-us .chk-grp__lbl {
font-size: 15px;
line-height: 1.5;
color: #2C5045;
font-weight: 600;
letter-spacing: 0.02em;
display: block;
margin-bottom: 16px;
}

.cnt-us .chk-opts {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
}

.cnt-us .chk-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
cursor: pointer;
}

.cnt-us .chk-item input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #2C5045;
cursor: pointer;
flex-shrink: 0;
}

.cnt-us .chk-item__txt {
font-size: 15px;
line-height: 1.5;
color: #3d5e55;
}

.cnt-us .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
margin-bottom: 24px;
padding: 16px;
background: rgba(220, 221, 206, 0.3);
border-radius: 9px;
}

.cnt-us .privacy-row input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #2C5045;
cursor: pointer;
flex-shrink: 0;
margin-top: 2px;
}

.cnt-us .privacy-row__txt {
font-size: 15px;
line-height: 1.75;
color: #3d5e55;
}

.cnt-us .privacy-row__txt a {
color: #2C5045;
font-weight: 600;
text-decoration: underline;
text-underline-offset: 3px;
transition: opacity 0.36s ease-in-out;
}

.cnt-us .privacy-row__txt a:visited {
opacity: 0.65;
}

.cnt-us .privacy-row__txt a:hover {
opacity: 0.75;
}

.cnt-us .f-submit {
display: inline-flex;
align-items: center;
gap: 8px;
background: #2C5045;
color: #ffffff;
border: none;
border-radius: 26px;
padding: 16px 40px;
font-size: 18px;
font-weight: 600;
letter-spacing: 0.02em;
cursor: pointer;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.42s ease-in-out;
width: 100%;
justify-content: center;
}

.cnt-us .f-submit i {
transition: transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.cnt-us .f-submit:hover {
background: #4E8E7D;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
}

.cnt-us .f-submit:hover i {
transform: translateX(6px);
}

.cnt-us .f-submit:focus {
outline: 2px solid #4E8E7D;
outline-offset: 3px;
}

.cnt-us .f-submit:active {
background: #1e3830;
}

.cnt-us .contact-aside {
display: flex;
flex-direction: column;
gap: 16px;
}

.cnt-us .aside-card {
background: #2C5045;
border-radius: 15px;
padding: 24px;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
display: flex;
flex-direction: column;
gap: 16px;
transition: box-shadow 0.4s ease-in-out;
}

.cnt-us .aside-card:hover {
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
}

.cnt-us .aside-card__ico {
width: 40px;
height: 40px;
background: rgba(78, 142, 125, 0.25);
border-radius: 9px;
display: flex;
align-items: center;
justify-content: center;
color: #4E8E7D;
font-size: 18px;
flex-shrink: 0;
border: 1px solid rgba(78, 142, 125, 0.4);
transition: background 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.cnt-us .aside-card:hover .aside-card__ico {
background: rgba(78, 142, 125, 0.45);
}

.cnt-us .aside-card__head {
font-size: 15px;
line-height: 1.5;
color: #DCDDCE;
letter-spacing: 0.04em;
font-weight: 600;
text-transform: uppercase;
}

.cnt-us .aside-card__val {
font-size: 18px;
line-height: 1.5;
color: #ffffff;
font-weight: 500;
}

.cnt-us .aside-card__val a {
color: #ffffff;
text-decoration: none;
transition: color 0.36s ease-in-out;
}

.cnt-us .aside-card__val a:visited {
opacity: 0.7;
}

.cnt-us .aside-card__val a:hover {
color: #4E8E7D;
}

.cnt-us .aside-card--light {
background: #ffffff;
}

.cnt-us .aside-card--light .aside-card__head {
color: #4E8E7D;
}

.cnt-us .aside-card--light .aside-card__val {
color: #2C5045;
}

.cnt-us .aside-card--light .aside-card__val a {
color: #2C5045;
}

.cnt-us .aside-card--light .aside-card__ico {
background: rgba(44, 80, 69, 0.08);
border-color: rgba(44, 80, 69, 0.2);
color: #2C5045;
}

.cnt-us .aside-card--light:hover .aside-card__ico {
background: rgba(44, 80, 69, 0.18);
}

.cnt-us .info-mosaic {
background: #2C5045;
padding: 72px 0;
position: relative;
overflow: hidden;
}

.cnt-us .info-mosaic__bg-decor {
position: absolute;
top: -40px;
right: -40px;
pointer-events: none;
z-index: 0;
}

.cnt-us .info-mosaic__bg-decor span {
display: block;
border: 1px solid rgba(78, 142, 125, 0.2);
border-radius: 4px;
margin-bottom: 8px;
}

.cnt-us .info-mosaic__bg-decor span:nth-child(1) {
width: 120px;
height: 28px;
}

.cnt-us .info-mosaic__bg-decor span:nth-child(2) {
width: 96px;
height: 22px;
margin-left: 16px;
}

.cnt-us .info-mosaic__bg-decor span:nth-child(3) {
width: 72px;
height: 16px;
margin-left: 32px;
}

.cnt-us .info-mosaic__bg-decor span:nth-child(4) {
width: 48px;
height: 10px;
margin-left: 48px;
}

.cnt-us .info-mosaic__inner {
position: relative;
z-index: 1;
}

.cnt-us .mosaic-ttl {
font-size: 38px;
line-height: 1.2;
letter-spacing: -0.02em;
color: transparent;
-webkit-text-stroke: 1.5px #DCDDCE;
font-weight: 800;
margin: 0 0 40px;
max-width: 500px;
}

.cnt-us .mosaic-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: auto auto;
gap: 16px;
}

.cnt-us .mos-cell {
border-radius: 15px;
padding: 24px;
position: relative;
overflow: hidden;
}

.cnt-us .mos-cell--a {
grid-column: 1 / 2;
grid-row: 1 / 2;
background: rgba(78, 142, 125, 0.18);
border: 1px solid rgba(78, 142, 125, 0.35);
}

.cnt-us .mos-cell--b {
grid-column: 2 / 4;
grid-row: 1 / 2;
background: rgba(220, 221, 206, 0.1);
border: 1px solid rgba(220, 221, 206, 0.2);
}

.cnt-us .mos-cell--c {
grid-column: 1 / 3;
grid-row: 2 / 3;
background: rgba(44, 80, 69, 0.5);
border: 1px solid rgba(78, 142, 125, 0.25);
}

.cnt-us .mos-cell--d {
grid-column: 3 / 4;
grid-row: 2 / 3;
background: #4E8E7D;
border: none;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
}

.cnt-us .mos-cell__ico {
font-size: 22px;
color: #4E8E7D;
margin-bottom: 8px;
}

.cnt-us .mos-cell--d .mos-cell__ico {
color: #ffffff;
font-size: 28px;
}

.cnt-us .mos-cell__ttl {
font-size: 15px;
line-height: 1.5;
color: #DCDDCE;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
margin: 0 0 8px;
}

.cnt-us .mos-cell__body {
font-size: 15px;
line-height: 1.75;
color: rgba(220, 221, 206, 0.85);
margin: 0;
}

.cnt-us .mos-cell--d .mos-cell__ttl {
color: #ffffff;
font-size: 22px;
text-transform: none;
letter-spacing: 0;
}

.cnt-us .mos-cell--d .mos-cell__body {
color: rgba(255, 255, 255, 0.85);
font-size: 15px;
}

.cnt-us .mos-cell__addr {
display: flex;
flex-direction: column;
gap: 8px;
}

.cnt-us .mos-cell__addr-line {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
font-size: 15px;
line-height: 1.75;
color: rgba(220, 221, 206, 0.85);
}

.cnt-us .mos-cell__addr-line i {
color: #4E8E7D;
margin-top: 3px;
flex-shrink: 0;
}

.cnt-us .mos-cell__border-anim {
position: absolute;
inset: 0;
border-radius: 15px;
border: 2px solid transparent;
pointer-events: none;
transition: border-color 0.43s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.cnt-us .mos-cell:hover .mos-cell__border-anim {
border-color: rgba(78, 142, 125, 0.5);
}

.cnt-us .mos-cell--d:hover .mos-cell__border-anim {
border-color: rgba(255, 255, 255, 0.35);
}

@keyframes cascadeIn {
from {
opacity: 0;
transform: translateY(22px);
}

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

.cnt-us .reach-band__body {
animation: cascadeIn 0.45s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.cnt-us .reach-band__metrics .m-stat:nth-child(1) {
animation: cascadeIn 0.38s cubic-bezier(0.34, 1.2, 0.64, 1) 0.12s both;
}

.cnt-us .reach-band__metrics .m-stat:nth-child(2) {
animation: cascadeIn 0.38s cubic-bezier(0.34, 1.2, 0.64, 1) 0.22s both;
}

.cnt-us .reach-band__metrics .m-stat:nth-child(3) {
animation: cascadeIn 0.38s cubic-bezier(0.34, 1.2, 0.64, 1) 0.32s both;
}

.cnt-us .mosaic-grid .mos-cell--a {
animation: cascadeIn 0.4s cubic-bezier(0.34, 1.2, 0.64, 1) 0.08s both;
}

.cnt-us .mosaic-grid .mos-cell--b {
animation: cascadeIn 0.4s cubic-bezier(0.34, 1.2, 0.64, 1) 0.16s both;
}

.cnt-us .mosaic-grid .mos-cell--c {
animation: cascadeIn 0.4s cubic-bezier(0.34, 1.2, 0.64, 1) 0.24s both;
}

.cnt-us .mosaic-grid .mos-cell--d {
animation: cascadeIn 0.4s cubic-bezier(0.34, 1.2, 0.64, 1) 0.32s both;
}

@media (max-width: 1024px) {
.cnt-us .form-grid__layout {
grid-template-columns: 1fr;
}

.cnt-us .contact-aside {
display: grid;
grid-template-columns: repeat(3, 1fr);
}

.cnt-us .mosaic-grid {
grid-template-columns: 1fr 1fr;
}

.cnt-us .mos-cell--a {
grid-column: 1 / 2;
grid-row: 1 / 2;
}

.cnt-us .mos-cell--b {
grid-column: 2 / 3;
grid-row: 1 / 2;
}

.cnt-us .mos-cell--c {
grid-column: 1 / 2;
grid-row: 2 / 3;
}

.cnt-us .mos-cell--d {
grid-column: 2 / 3;
grid-row: 2 / 3;
}

.cnt-us .reach-h1 {
font-size: 38px;
}
}

@media (max-width: 768px) {
.cnt-us .reach-band {
padding: 40px 0 40px;
}

.cnt-us .reach-h1 {
font-size: 28px;
}

.cnt-us .reach-band__metrics {
grid-template-columns: repeat(3, 1fr);
gap: 8px;
}

.cnt-us .m-stat {
padding: 8px;
}

.cnt-us .m-stat__val {
font-size: 22px;
}

.cnt-us .form-grid {
padding: 40px 0;
}

.cnt-us .form-panel {
padding: 24px;
}

.cnt-us .f-row {
grid-template-columns: 1fr;
}

.cnt-us .chk-opts {
grid-template-columns: 1fr;
}

.cnt-us .contact-aside {
display: flex;
flex-direction: column;
}

.cnt-us .mosaic-grid {
grid-template-columns: 1fr;
}

.cnt-us .mos-cell--a,
.cnt-us .mos-cell--b,
.cnt-us .mos-cell--c,
.cnt-us .mos-cell--d {
grid-column: 1 / 2;
grid-row: auto;
}

.cnt-us .info-mosaic {
padding: 40px 0;
}

.cnt-us .mosaic-ttl {
font-size: 28px;
margin-bottom: 24px;
}
}

@media (max-width: 375px) {
.cnt-us .pg-wrap {
padding: 0 16px;
}

.cnt-us .reach-h1 {
font-size: 22px;
}

.cnt-us .reach-band__metrics {
grid-template-columns: 1fr;
}

.cnt-us .form-panel {
padding: 16px;
}
}

.success-pg {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 72px 24px;
background: linear-gradient(155deg, #f5f6f0 0%, #e8ede9 60%, #d6dfd8 100%);
}

.success-pg .result-wrap {
max-width: 580px;
width: 100%;
background: #ffffff;
border-radius: 26px;
padding: 72px 40px;
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
}

.success-pg .icon-ring {
width: 88px;
height: 88px;
border-radius: 42px;
background: linear-gradient(135deg, #2C5045 0%, #4E8E7D 100%);
display: flex;
align-items: center;
justify-content: center;
box-shadow: -1px 6px 14px 1px rgba(78, 142, 125, 0.09);
flex-shrink: 0;
}

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

.success-pg .result-body {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
text-align: center;
}

.success-pg .result-title {
font-size: 38px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #2C5045;
margin: 0;
font-weight: 700;
-webkit-text-stroke: 1px #2C5045;
color: transparent;
}

.success-pg .result-sub {
font-size: 18px;
line-height: 1.75;
color: #2a3d38;
margin: 0;
max-width: 420px;
}

.success-pg .result-note {
font-size: 15px;
line-height: 1.5;
color: #4E8E7D;
margin: 0;
padding: 16px 24px;
background: #f0f5f3;
border-radius: 15px;
width: 100%;
box-sizing: border-box;
}

.success-pg .result-actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
justify-content: center;
margin-top: 8px;
}

.success-pg .btn-primary {
display: inline-flex;
align-items: center;
gap: 8px;
background: linear-gradient(135deg, #2C5045 0%, #4E8E7D 100%);
color: #ffffff;
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.03em;
padding: 16px 40px;
border-radius: 9px;
text-decoration: none;
font-weight: 600;
box-shadow: -1px 6px 14px 1px rgba(44, 80, 69, 0.09);
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;
overflow: hidden;
}

.success-pg .btn-primary::after {
content: '';
position: absolute;
inset: 0;
background: rgba(255, 255, 255, 0.08);
opacity: 0;
border-radius: 9px;
transition: opacity 0.32s ease-in-out;
}

.success-pg .btn-primary:hover {
box-shadow: -1px 10px 52px 1px rgba(44, 80, 69, 0.10);
transform: translateY(-2px);
}

.success-pg .btn-primary:hover::after {
opacity: 1;
}

.success-pg .btn-primary:focus-visible {
outline: 3px solid #4E8E7D;
outline-offset: 3px;
}

.success-pg .btn-primary svg {
width: 16px;
height: 16px;
flex-shrink: 0;
transition: transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.success-pg .btn-primary:hover svg {
transform: translateX(4px);
}

.success-pg .btn-ghost {
display: inline-flex;
align-items: center;
gap: 8px;
background: transparent;
color: #2C5045;
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.03em;
padding: 16px 40px;
border-radius: 9px;
text-decoration: none;
font-weight: 600;
border: 2px solid #2C5045;
transition: background 0.42s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.success-pg .btn-ghost:hover {
background: #2C5045;
color: #ffffff;
}

.success-pg .btn-ghost:focus-visible {
outline: 3px solid #4E8E7D;
outline-offset: 3px;
}

.success-pg .btn-ghost svg {
width: 16px;
height: 16px;
flex-shrink: 0;
transition: transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.success-pg .btn-ghost:hover svg {
transform: translateX(4px);
}

.success-pg .divider-mark {
width: 48px;
height: 3px;
background: linear-gradient(90deg, #2C5045, #4E8E7D);
border-radius: 4px;
margin: 0 auto;
}

@media (max-width: 768px) {
.success-pg {
padding: 40px 16px;
}

.success-pg .result-wrap {
padding: 40px 24px;
gap: 16px;
}

.success-pg .result-title {
font-size: 28px;
}

.success-pg .result-sub {
font-size: 15px;
}

.success-pg .result-actions {
flex-direction: column;
width: 100%;
}

.success-pg .btn-primary,
.success-pg .btn-ghost {
justify-content: center;
width: 100%;
}
}

@media (max-width: 375px) {
.success-pg .result-wrap {
padding: 40px 16px;
}

.success-pg .result-title {
font-size: 22px;
}
}