* {
box-sizing: border-box
}

body {
margin: 0
}

.brand-bar {
background: linear-gradient(135deg, #214730 0%, #356A67 100%);
padding: 8px 0
}

.brand-bar__inner {
max-width: 1600px;
margin: 0 auto;
padding: 0 32px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px
}

.brand-bar__contact {
display: flex;
align-items: center;
gap: 32px
}

.brand-bar__item {
display: flex;
align-items: center;
gap: 8px;
font-family: 'JetBrains Mono', monospace;
font-size: 15px;
font-weight: 300;
color: #e8f0ec;
text-decoration: none;
line-height: 1.15;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.brand-bar__item:hover,
.brand-bar__item:focus {
color: #5BAD91;
outline: none;
background: none
}

.brand-bar__item svg {
flex-shrink: 0
}

.brand-bar__tag {
font-family: 'JetBrains Mono', monospace;
font-size: 15px;
font-weight: 300;
color: #a8c8b8;
line-height: 1.15;
letter-spacing: .02em
}

.site-head {
background: #fff;
position: relative;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a
}

.site-head::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #214730 0%, #5BAD91 60%, #356A67 100%)
}

.site-head__inner {
max-width: 1600px;
margin: 0 auto;
padding: 32px 32px 0;
display: flex;
align-items: flex-start;
gap: 64px
}

.site-head__brand {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px;
flex-shrink: 0
}

.site-head__logo-box {
display: flex;
align-items: center;
justify-content: center;
width: 88px;
height: 100px;
border-radius: 11px;
background: #f4f8f6;
border: 1.5px solid #c8ddd4;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a 0 0 0 4px #5bad911a;
padding: 8px
}

.site-head__logo-box img {
width: 72px;
height: 84px;
object-fit: contain;
display: block
}

.site-head__tagline {
font-family: 'Oxygen', sans-serif;
font-size: 15px;
font-weight: 300;
color: #356A67;
line-height: 1.15;
letter-spacing: .03em;
max-width: 160px
}

.site-head__nav-area {
flex: 1;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-self: stretch
}

.site-head__nav {
display: flex;
align-items: stretch;
flex-wrap: wrap;
gap: 0;
border-top: 1.5px solid #dce8e2;
margin-top: auto
}

.site-head__nav-link {
font-family: 'Oxygen', sans-serif;
font-size: 17px;
font-weight: 400;
color: #214730;
text-decoration: none;
padding: 16px 32px;
line-height: 1.15;
letter-spacing: -.01em;
position: relative;
display: flex;
align-items: center;
border-right: 1.5px solid #dce8e2;
transition: color .18s cubic-bezier(0.4, 0, 0.2, 1), background .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.site-head__nav-link:first-child {
border-left: 1.5px solid #dce8e2
}

.site-head__nav-link::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: #5BAD91;
transform: scaleX(0);
transform-origin: left center;
transition: transform .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.site-head__nav-link:hover,
.site-head__nav-link:focus {
color: #214730;
background: #f0f7f4;
outline: none
}

.site-head__nav-link:hover::after,
.site-head__nav-link:focus::after {
transform: scaleX(1)
}

.site-head__nav-link--active {
color: #214730;
font-weight: 700;
background: #eaf4ef
}

.site-head__nav-link--active::after {
transform: scaleX(1);
background: #214730
}

@media (max-width: 1280px) {
.site-head__inner {
gap: 32px;
padding: 32px 16px 0
}

.site-head__nav-link {
padding: 16px;
font-size: 15px
}

.brand-bar__inner {
padding: 0 16px
}
}

@media (max-width: 768px) {
.brand-bar__contact {
gap: 16px
}

.brand-bar__tag {
display: none
}

.site-head__inner {
flex-direction: column;
gap: 16px;
padding: 16px 16px 0;
align-items: flex-start
}

.site-head__brand {
flex-direction: row;
align-items: center;
gap: 16px
}

.site-head__tagline {
max-width: 200px
}

.site-head__nav-area {
width: 100%
}

.site-head__nav {
flex-wrap: wrap
}

.site-head__nav-link {
font-size: 15px;
padding: 16px;
flex: 1 1 auto;
justify-content: center;
text-align: center;
min-height: 44px
}
}

.site-foot {
background: linear-gradient(180deg, #f4f8f6 0%, #d4e6dd 50%, #214730 100%);
padding: 64px 0 32px
}

.site-foot__inner {
max-width: 1600px;
margin: 0 auto;
padding: 0 32px;
display: flex;
gap: 64px;
align-items: flex-start
}

.site-foot__brand-col {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 16px;
min-width: 180px
}

.site-foot__logo-box {
display: flex;
align-items: center;
justify-content: center;
width: 80px;
height: 92px;
border-radius: 11px;
background: #fff;
border: 1.5px solid #c8ddd4;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a;
padding: 8px
}

.site-foot__logo-box img {
width: 64px;
height: 76px;
object-fit: contain;
display: block
}

.site-foot__name {
font-family: 'Oxygen', sans-serif;
font-size: 17px;
font-weight: 700;
color: #214730;
line-height: 1.15;
letter-spacing: -.01em
}

.site-foot__addr {
font-family: 'Oxygen', sans-serif;
font-size: 15px;
font-weight: 300;
color: #2d5040;
line-height: 1.65
}

.site-foot__contact-link {
font-family: 'JetBrains Mono', monospace;
font-size: 15px;
font-weight: 300;
color: #214730;
text-decoration: none;
line-height: 1.65;
display: block;
transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.site-foot__contact-link:hover,
.site-foot__contact-link:focus {
color: #5BAD91;
outline: none
}

.site-foot__nav-cols {
display: flex;
gap: 64px;
flex: 1;
justify-content: flex-end;
flex-wrap: wrap
}

.site-foot__nav-col {
display: flex;
flex-direction: column;
gap: 8px
}

.site-foot__nav-label {
font-family: 'Oxygen', sans-serif;
font-size: 15px;
font-weight: 700;
color: #214730;
line-height: 1.15;
letter-spacing: .04em;
text-transform: uppercase;
margin-bottom: 8px
}

.site-foot__nav-link {
font-family: 'Oxygen', sans-serif;
font-size: 15px;
font-weight: 400;
color: #2d5040;
text-decoration: none;
line-height: 1.65;
transition: color .18s cubic-bezier(0.4, 0, 0.2, 1);
min-height: 44px;
display: flex;
align-items: center
}

.site-foot__nav-link:hover,
.site-foot__nav-link:focus {
color: #214730;
outline: none
}

.site-foot__bottom {
max-width: 1600px;
margin: 32px auto 0;
padding: 16px 32px 0;
border-top: 1px solid #2147302e;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px
}

.site-foot__copy {
font-family: 'JetBrains Mono', monospace;
font-size: 15px;
font-weight: 300;
color: #3a6050;
line-height: 1.65
}

.site-foot__domain {
font-family: 'JetBrains Mono', monospace;
font-size: 15px;
font-weight: 400;
color: #214730;
line-height: 1.65
}

@media (max-width: 1280px) {
.site-foot__inner {
gap: 32px;
padding: 0 16px
}

.site-foot__nav-cols {
gap: 32px
}

.site-foot__bottom {
padding: 16px 16px 0
}
}

@media (max-width: 768px) {
.site-foot__inner {
flex-direction: column;
gap: 32px
}

.site-foot__nav-cols {
flex-direction: column;
gap: 16px;
justify-content: flex-start;
width: 100%
}
}

.gdpr-notice {
position: fixed;
top: 16px;
left: 0;
right: 0;
margin: 0 auto;
width: 560px;
max-width: calc(100vw - 32px);
background: #fff;
border-radius: 11px;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a 0 10px 60px -2px #21473021;
border: 1.5px solid #c8ddd4;
z-index: 1500;
padding: 32px
}

.gdpr-notice__headline {
font-family: 'Oxygen', sans-serif;
font-size: 17px;
font-weight: 700;
color: #214730;
line-height: 1.15;
margin-bottom: 8px
}

.gdpr-notice__text {
font-family: 'Oxygen', sans-serif;
font-size: 15px;
font-weight: 400;
color: #2d5040;
line-height: 1.65;
margin-bottom: 16px
}

.gdpr-notice__list {
font-family: 'Oxygen', sans-serif;
font-size: 15px;
font-weight: 300;
color: #2d5040;
line-height: 1.65;
padding-left: 16px;
margin: 0 0 16px
}

.gdpr-notice__cats {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 16px;
padding: 16px;
background: #f4f8f6;
border-radius: 6px
}

.gdpr-notice__cat {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px
}

.gdpr-notice__cat-label {
font-family: 'Oxygen', sans-serif;
font-size: 15px;
font-weight: 400;
color: #214730;
line-height: 1.15
}

.gdpr-notice__cat-note {
font-family: 'JetBrains Mono', monospace;
font-size: 15px;
font-weight: 300;
color: #356A67;
line-height: 1.15
}

.gdpr-notice__cat-check {
width: 18px;
height: 18px;
accent-color: #214730;
cursor: pointer
}

.gdpr-notice__actions {
display: flex;
gap: 16px;
align-items: center
}

.gdpr-notice__btn {
flex: 1;
font-family: 'Oxygen', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.15;
padding: 16px;
border-radius: 6px;
border: 2px solid #214730;
background: #214730;
color: #fff;
cursor: pointer;
min-height: 44px;
transition: background .18s cubic-bezier(0.4, 0, 0.2, 1), color .18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.gdpr-notice__btn:hover,
.gdpr-notice__btn:focus {
background: #356A67;
border-color: #356A67;
box-shadow: 0 0 0 3px #5bad9140 inset 0 0 0 2px #ffffff26;
outline: none
}

.gdpr-notice__btn--secondary {
background: #fff;
color: #214730;
border-color: #214730
}

.gdpr-notice__btn--secondary:hover,
.gdpr-notice__btn--secondary:focus {
background: #f0f7f4;
border-color: #356A67;
color: #214730;
box-shadow: 0 0 0 3px #5bad9126 inset 0 2px 4px #2147300f
}

.rules-jfnj-text {
max-width: 1600px;
margin: 0 auto;
padding: 64px 32px;
color: #1b2e24;
font-size: 17px;
line-height: 1.65
}

.rules-jfnj-text strong,
.rules-jfnj-text b {
font-weight: 700;
color: #214730
}

.rules-jfnj-text em,
.rules-jfnj-text i {
font-style: italic;
color: #356A67
}

.rules-jfnj-text a {
color: #214730;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .15s cubic-bezier(0.0, 0, 0.2, 1)
}

.rules-jfnj-text a:hover {
color: #5BAD91;
text-decoration-color: #5BAD91
}

.rules-jfnj-text a:visited {
color: #356A67
}

.rules-jfnj-text div {
margin-bottom: 16px
}

.rules-jfnj-text table {
width: 100%;
border-collapse: collapse;
margin: 32px 0;
font-size: 15px;
line-height: 1.65;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a;
border-radius: 11px;
overflow: hidden
}

.rules-jfnj-text thead {
background: #214730;
color: #fff
}

.rules-jfnj-text thead th {
padding: 16px;
font-size: 15px;
font-weight: 700;
letter-spacing: -.01em;
line-height: 1.15;
text-align: left;
border: none
}

.rules-jfnj-text tbody tr {
border-bottom: 1px solid #2147301a;
transition: background .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.rules-jfnj-text tbody tr:last-child {
border-bottom: none
}

.rules-jfnj-text tbody tr:nth-child(even) {
background: #5bad910f
}

.rules-jfnj-text tbody tr:hover {
background: #5bad9121
}

.rules-jfnj-text td {
padding: 16px;
color: #1b2e24;
vertical-align: top;
border: none;
border-right: 1px solid #21473012
}

.rules-jfnj-text td:last-child {
border-right: none
}

.rules-jfnj-text th {
border-right: 1px solid #ffffff26
}

.rules-jfnj-text th:last-child {
border-right: none
}

@media (max-width: 768px) {
.rules-jfnj-text {
padding: 32px 16px;
font-size: 15px
}

.rules-jfnj-text table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
border-radius: 6px
}

.rules-jfnj-text thead th,
.rules-jfnj-text td {
padding: 8px 16px;
white-space: nowrap
}
}

@media (min-width: 768px) and (max-width: 1280px) {
.rules-jfnj-text {
padding: 64px 32px
}
}

.cd-detail {
background: #fff;
color: #1b2e23;
overflow-x: hidden
}

.cd-detail .pg-split {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 480px
}

.cd-detail .pg-split__text {
padding: 64px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
background: #fff
}

.cd-detail .pg-split__deco {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
border-radius: 0;
z-index: 0
}

.cd-detail .pg-split__deco svg {
position: absolute;
bottom: -32px;
left: -32px;
opacity: .07;
width: 320px;
height: 320px
}

.cd-detail .pg-split__text>* {
position: relative;
z-index: 1
}

.cd-detail .pg-split__img {
position: relative;
overflow: hidden;
min-height: 420px
}

.cd-detail .pg-split__img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: blur(0px);
transition: filter .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.cd-detail .pg-split__img::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 40%;
background: linear-gradient(143deg, transparent 40%, #2147302e 100%);
pointer-events: none
}

.cd-detail .split-tag {
display: inline-block;
background: #214730;
color: #fff;
font-size: 15px;
line-height: 1.15;
padding: 8px 16px;
border-radius: 6px;
margin-bottom: 16px;
letter-spacing: .06em;
text-transform: uppercase
}

.cd-detail .split-meta {
display: flex;
flex-direction: row;
gap: 16px;
margin-bottom: 16px;
flex-wrap: wrap;
align-items: center
}

.cd-detail .split-meta__item {
font-size: 15px;
line-height: 1.65;
color: #356A67;
display: flex;
align-items: center;
gap: 8px
}

.cd-detail .split-meta__item svg {
width: 16px;
height: 16px;
flex-shrink: 0
}

.cd-detail .split-h1 {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
color: #214730;
margin: 0 0 16px;
text-transform: uppercase;
font-weight: 300
}

.cd-detail .split-action {
margin-top: 32px
}

.cd-detail .split-action a {
display: inline-block;
background: #214730;
color: #fff;
font-size: 17px;
line-height: 1.15;
padding: 16px 32px;
border-radius: 11px;
text-decoration: none;
position: relative;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.0, 0, 0.2, 1);
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a
}

.cd-detail .split-action a::before {
content: "";
position: absolute;
inset: -3px;
border-radius: 13px;
border: 2px solid transparent;
transition: border-color .28s cubic-bezier(0.4, 0, 0.2, 1) .08s;
pointer-events: none
}

.cd-detail .split-action a:hover {
background: #356A67;
box-shadow: 0 4px 28px -2px #21473021
}

.cd-detail .split-action a:hover::before {
border-color: #5BAD91
}

.cd-detail .split-action a:focus-visible {
outline: 3px solid #5BAD91;
outline-offset: 4px
}

.cd-detail .body-grid {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 380px;
gap: 64px;
padding: 64px;
background: #fff
}

.cd-detail .desc-block {
font-size: 17px;
line-height: 1.65;
color: #1b2e23
}

.cd-detail .desc-block h2 {
font-size: 27px;
line-height: 1.15;
color: #214730;
letter-spacing: .04em;
text-transform: uppercase;
font-weight: 300;
margin: 32px 0 16px
}

.cd-detail .desc-block p {
margin: 0 0 16px
}

.cd-detail .desc-block strong {
color: #214730;
font-weight: 600
}

.cd-detail .desc-block ul {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px 32px;
padding: 0;
margin: 0 0 16px;
list-style: none
}

.cd-detail .desc-block ul li {
font-size: 17px;
line-height: 1.65;
padding-left: 16px;
position: relative
}

.cd-detail .desc-block ul li::before {
content: "";
position: absolute;
left: 0;
top: 12px;
width: 6px;
height: 6px;
border-radius: 30px;
background: #5BAD91
}

.cd-detail .desc-block dl {
margin: 0 0 16px
}

.cd-detail .desc-block dt {
font-weight: 600;
color: #214730;
font-size: 17px;
line-height: 1.65
}

.cd-detail .desc-block dd {
margin: 0 0 8px 16px;
font-size: 17px;
line-height: 1.65;
color: #1b2e23
}

.cd-detail .desc-block details {
border: 1px solid #356a672e;
border-radius: 11px;
margin-bottom: 8px;
overflow: hidden
}

.cd-detail .desc-block summary {
padding: 16px;
font-size: 17px;
line-height: 1.65;
font-weight: 600;
color: #214730;
cursor: pointer;
list-style: none;
display: flex;
align-items: center;
justify-content: space-between;
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.cd-detail .desc-block summary:hover {
background: #5bad9112
}

.cd-detail .desc-block details> :not(summary) {
padding: 0 16px 16px;
font-size: 17px;
line-height: 1.65
}

.cd-detail .prog-block {
margin-top: 32px
}

.cd-detail .prog-block h2 {
font-size: 27px;
line-height: 1.15;
color: #214730;
letter-spacing: .04em;
text-transform: uppercase;
font-weight: 300;
margin: 0 0 16px
}

.cd-detail .prog-block ol {
padding: 0;
margin: 0;
list-style: none;
counter-reset: prog-counter
}

.cd-detail .prog-block ol li {
counter-increment: prog-counter;
display: grid;
grid-template-columns: 40px 1fr;
gap: 16px;
align-items: start;
padding: 16px 0;
border-bottom: 1px solid #356a671f;
font-size: 17px;
line-height: 1.65;
color: #1b2e23
}

.cd-detail .prog-block ol li::before {
content: counter(prog-counter);
font-size: 27px;
line-height: 1.15;
color: #5BAD91;
font-weight: 300;
letter-spacing: -.02em
}

.cd-detail .prog-block figure {
margin: 16px 0 0
}

.cd-detail .prog-block figcaption {
font-size: 15px;
line-height: 1.65;
color: #356A67;
margin-top: 8px
}

.cd-detail .aside-card {
background: linear-gradient(143deg, #214730 30%, #356A67 100%);
border-radius: 11px;
padding: 32px;
color: #fff;
box-shadow: 0 4px 28px -2px #21473021;
position: sticky;
top: 32px
}

.cd-detail .aside-card__price {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
font-weight: 300;
color: #fff;
margin-bottom: 8px
}

.cd-detail .aside-card__pricedes {
font-size: 15px;
line-height: 1.65;
color: #ffffffc7;
margin-bottom: 16px
}

.cd-detail .aside-card__note {
font-size: 15px;
line-height: 1.65;
color: #ffffffa6;
margin-bottom: 32px;
padding-top: 16px;
border-top: 1px solid #ffffff26
}

.cd-detail .aside-card__rows {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 32px
}

.cd-detail .aside-card__row {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
font-size: 15px;
line-height: 1.65;
color: #ffffffd9
}

.cd-detail .aside-card__row span:last-child {
color: #fff;
font-weight: 600
}

.cd-detail .aside-card__ring {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 32px;
padding: 16px;
background: #ffffff14;
border-radius: 11px
}

.cd-detail .ring-wrap {
position: relative;
width: 64px;
height: 64px;
flex-shrink: 0
}

.cd-detail .ring-wrap svg {
width: 64px;
height: 64px;
transform: rotate(-90deg)
}

.cd-detail .ring-wrap__num {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
font-size: 15px;
line-height: 1.15;
color: #fff;
font-weight: 600
}

.cd-detail .ring-label {
font-size: 15px;
line-height: 1.65;
color: #fffc
}

.cd-detail .aside-card__btn {
display: block;
background: #fff;
color: #214730;
font-size: 17px;
line-height: 1.15;
padding: 16px 32px;
border-radius: 11px;
text-decoration: none;
text-align: center;
font-weight: 600;
position: relative;
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.0, 0, 0.2, 1);
box-shadow: 0 1px 2px -2px #2147300f
}

.cd-detail .aside-card__btn::before {
content: "";
position: absolute;
inset: -3px;
border-radius: 13px;
border: 2px solid transparent;
transition: border-color .26s cubic-bezier(0.4, 0, 0.2, 1) .1s;
pointer-events: none
}

.cd-detail .aside-card__btn:hover {
background: #5BAD91;
color: #fff;
box-shadow: 0 4px 28px -2px #21473021
}

.cd-detail .aside-card__btn:hover::before {
border-color: #fff9
}

.cd-detail .aside-card__btn:focus-visible {
outline: 3px solid #5BAD91;
outline-offset: 4px
}

.cd-detail .aside-card__seats {
margin-top: 16px;
font-size: 15px;
line-height: 1.65;
color: #ffffffb3;
text-align: center
}

.cd-detail .aside-card__seats strong {
color: #5BAD91
}

.cd-detail .svg-divider {
width: 100%;
overflow: hidden;
line-height: 0;
margin: 0
}

.cd-detail .svg-divider svg {
display: block;
width: 100%
}

@media (max-width: 1280px) {
.cd-detail .pg-split {
grid-template-columns: 1fr 1fr
}

.cd-detail .split-h1 {
font-size: 37px
}

.cd-detail .body-grid {
grid-template-columns: 1fr 320px;
gap: 32px;
padding: 64px 32px
}

.cd-detail .pg-split__text {
padding: 64px 32px
}
}

@media (max-width: 768px) {
.cd-detail .pg-split {
grid-template-columns: 1fr
}

.cd-detail .pg-split__img {
min-height: 280px;
order: -1
}

.cd-detail .pg-split__text {
padding: 32px 16px
}

.cd-detail .split-h1 {
font-size: 27px
}

.cd-detail .body-grid {
grid-template-columns: 1fr;
padding: 32px 16px;
gap: 32px
}

.cd-detail .aside-card {
position: static
}

.cd-detail .desc-block ul {
grid-template-columns: 1fr
}
}

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

.lnch .pg-wrap {
max-width: 1600px;
margin: 0 auto;
padding: 0 32px
}

.lnch .ttl-blk {
background: #214730;
padding: 96px 32px 64px;
position: relative
}

.lnch .ttl-blk .pg-wrap {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 64px
}

.lnch .ttl-blk__txt {
flex: 1 1 55%;
position: relative;
z-index: 1
}

.lnch .ttl-blk__img-col {
flex: 0 0 38%;
position: relative;
z-index: 1
}

.lnch .ttl-blk__spot {
position: absolute;
border-radius: 46px;
pointer-events: none;
z-index: 0
}

.lnch .ttl-blk__spot--a {
width: 320px;
height: 320px;
background: #5bad9121;
filter: blur(72px);
top: -40px;
left: -60px
}

.lnch .ttl-blk__spot--b {
width: 240px;
height: 240px;
background: #356a672e;
filter: blur(56px);
bottom: 0;
right: 10%
}

.lnch .ttl-blk__label {
font-size: 15px;
line-height: 1.65;
color: #5BAD91;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 16px
}

.lnch .ttl-blk__h1 {
font-size: 68px;
line-height: 1.15;
color: #fff;
letter-spacing: -.025em;
text-transform: uppercase;
font-weight: 300;
margin: 0 0 32px
}

.lnch .ttl-blk__desc {
font-size: 17px;
line-height: 1.65;
color: #ffffffb8;
max-width: 520px;
margin: 0
}

.lnch .ttl-blk__img-wrap {
width: 100%;
aspect-ratio: 3/4;
overflow: hidden;
border-radius: 11px;
filter: grayscale(1) contrast(1.12)
}

.lnch .ttl-blk__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.lnch .ttl-wave {
display: block;
width: 100%;
overflow: hidden;
line-height: 0;
background: #214730
}

.lnch .ttl-wave svg {
display: block;
width: 100%
}

.lnch .rel-blk {
background: #fff;
padding: 64px 32px
}

.lnch .rel-blk .pg-wrap {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px;
align-items: start
}

.lnch .rel-blk__head {
grid-column: 1 / 2
}

.lnch .rel-blk__h2 {
font-size: 37px;
line-height: 1.15;
color: #214730;
letter-spacing: -.02em;
text-transform: uppercase;
font-weight: 300;
margin: 0 0 16px
}

.lnch .rel-blk__accent {
width: 40px;
height: 2px;
background: linear-gradient(143deg, #5BAD91 30%, #356A67 100%);
margin-bottom: 16px;
border-radius: 6px
}

.lnch .rel-blk__sub {
font-size: 15px;
line-height: 1.65;
color: #356A67;
margin: 0
}

.lnch .rel-blk__col {
display: flex;
flex-direction: column;
gap: 16px
}

.lnch .rel-blk__item {
background: #f5f7f6;
border-radius: 11px;
padding: 32px;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a;
transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .rel-blk__item:hover {
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #21473029 0 10px 60px -2px #21473021
}

.lnch .rel-blk__item-num {
font-size: 37px;
line-height: 1.15;
color: #5BAD91;
font-weight: 300;
letter-spacing: -.02em;
margin-bottom: 8px
}

.lnch .rel-blk__item-txt {
font-size: 15px;
line-height: 1.65;
color: #214730;
margin: 0
}

.lnch .rel-curve {
display: block;
width: 100%;
overflow: hidden;
line-height: 0;
background: #f5f7f6
}

.lnch .rel-curve svg {
display: block;
width: 100%
}

.lnch .ctx-blk {
background: #f5f7f6;
padding: 64px 32px;
position: relative;
overflow: hidden
}

.lnch .ctx-blk__pattern {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
opacity: .045;
background-image: radial-gradient(circle at 1px 1px, #214730 1px, transparent 0);
background-size: 28px 28px
}

.lnch .ctx-blk .pg-wrap {
display: flex;
flex-direction: row;
gap: 64px;
align-items: center;
position: relative;
z-index: 1
}

.lnch .ctx-blk__img-col {
flex: 0 0 42%
}

.lnch .ctx-blk__img-wrap {
width: 100%;
aspect-ratio: 4/3;
overflow: hidden;
border-radius: 11px;
position: relative;
cursor: default
}

.lnch .ctx-blk__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .ctx-blk__img-wrap::after {
content: '';
position: absolute;
inset: 0;
border-radius: 11px;
border: 2px solid transparent;
transition: border-color .2s cubic-bezier(0.0, 0, 0.2, 1);
pointer-events: none
}

.lnch .ctx-blk__img-wrap:hover::after {
border-color: #5BAD91
}

.lnch .ctx-blk__img-wrap:hover img {
transform: scale(1.03)
}

.lnch .ctx-blk__txt {
flex: 1 1 auto
}

.lnch .ctx-blk__h2 {
font-size: 37px;
line-height: 1.15;
color: #214730;
letter-spacing: -.02em;
text-transform: uppercase;
font-weight: 300;
margin: 0 0 16px
}

.lnch .ctx-blk__accent {
width: 40px;
height: 2px;
background: linear-gradient(143deg, #5BAD91 30%, #356A67 100%);
margin-bottom: 16px;
border-radius: 6px
}

.lnch .ctx-blk__p {
font-size: 17px;
line-height: 1.65;
color: #2d4a3a;
margin: 0 0 16px
}

.lnch .ctx-blk__list {
list-style: none;
padding: 0;
margin: 16px 0 0;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px 32px
}

.lnch .ctx-blk__list li {
font-size: 15px;
line-height: 1.65;
color: #214730;
padding-left: 16px;
position: relative
}

.lnch .ctx-blk__list li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 5px;
height: 5px;
border-radius: 30px;
background: #5BAD91
}

.lnch .ctx-curve {
display: block;
width: 100%;
overflow: hidden;
line-height: 0;
background: #fff
}

.lnch .ctx-curve svg {
display: block;
width: 100%
}

.lnch .prob-blk {
background: #fff;
padding: 64px 32px
}

.lnch .prob-blk .pg-wrap {
display: flex;
flex-direction: column;
gap: 32px
}

.lnch .prob-blk__top {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 64px
}

.lnch .prob-blk__h2 {
font-size: 51px;
line-height: 1.15;
color: #214730;
letter-spacing: -.025em;
text-transform: uppercase;
font-weight: 300;
margin: 0;
flex: 0 0 auto;
max-width: 480px
}

.lnch .prob-blk__right {
flex: 1 1 auto;
padding-top: 8px
}

.lnch .prob-blk__accent {
width: 40px;
height: 2px;
background: linear-gradient(143deg, #5BAD91 30%, #356A67 100%);
margin-bottom: 16px;
border-radius: 6px
}

.lnch .prob-blk__p {
font-size: 17px;
line-height: 1.65;
color: #2d4a3a;
margin: 0 0 16px
}

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

.lnch .prob-card {
background: linear-gradient(143deg, #214730 0%, #356A67 100%);
border-radius: 11px;
padding: 32px;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a
}

.lnch .prob-card__num {
font-size: 51px;
line-height: 1.15;
color: #ffffff2e;
font-weight: 300;
letter-spacing: -.03em;
margin-bottom: 8px
}

.lnch .prob-card__h {
font-size: 17px;
line-height: 1.15;
color: #fff;
text-transform: uppercase;
letter-spacing: .04em;
font-weight: 400;
margin: 0 0 8px
}

.lnch .prob-card__p {
font-size: 15px;
line-height: 1.65;
color: #ffffffb8;
margin: 0
}

.lnch .prob-curve {
display: block;
width: 100%;
overflow: hidden;
line-height: 0;
background: #eef3f0
}

.lnch .prob-curve svg {
display: block;
width: 100%
}

.lnch .out-blk {
background: #eef3f0;
padding: 64px 32px
}

.lnch .out-blk .pg-wrap {
display: flex;
flex-direction: row;
gap: 64px;
align-items: start
}

.lnch .out-blk__txt {
flex: 1 1 50%
}

.lnch .out-blk__h2 {
font-size: 37px;
line-height: 1.15;
color: #214730;
letter-spacing: -.02em;
text-transform: uppercase;
font-weight: 300;
margin: 0 0 16px
}

.lnch .out-blk__accent {
width: 40px;
height: 2px;
background: linear-gradient(143deg, #5BAD91 30%, #356A67 100%);
margin-bottom: 16px;
border-radius: 6px
}

.lnch .out-blk__p {
font-size: 17px;
line-height: 1.65;
color: #2d4a3a;
margin: 0 0 16px
}

.lnch .out-blk__img-col {
flex: 0 0 42%
}

.lnch .out-blk__img-wrap {
width: 100%;
aspect-ratio: 4/3;
overflow: hidden;
border-radius: 11px;
position: relative;
cursor: default
}

.lnch .out-blk__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .out-blk__img-wrap::after {
content: '';
position: absolute;
inset: 0;
border-radius: 11px;
border: 2px solid transparent;
transition: border-color .18s cubic-bezier(0.0, 0, 0.2, 1);
pointer-events: none
}

.lnch .out-blk__img-wrap:hover::after {
border-color: #5BAD91
}

.lnch .out-blk__img-wrap:hover img {
transform: scale(1.03)
}

.lnch .out-blk__steps {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 32px
}

.lnch .out-step {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start
}

.lnch .out-step__dot {
width: 8px;
height: 8px;
border-radius: 30px;
background: #5BAD91;
flex-shrink: 0;
margin-top: 6px
}

.lnch .out-step__txt {
font-size: 15px;
line-height: 1.65;
color: #214730
}

.lnch .out-curve {
display: block;
width: 100%;
overflow: hidden;
line-height: 0;
background: #fff
}

.lnch .out-curve svg {
display: block;
width: 100%
}

.lnch .sit-blk {
background: #fff;
padding: 64px 32px
}

.lnch .sit-blk .pg-wrap {
display: flex;
flex-direction: column;
gap: 32px
}

.lnch .sit-blk__head {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 32px
}

.lnch .sit-blk__h2 {
font-size: 37px;
line-height: 1.15;
color: #214730;
letter-spacing: -.02em;
text-transform: uppercase;
font-weight: 300;
margin: 0;
flex: 0 0 auto
}

.lnch .sit-blk__accent {
width: 40px;
height: 2px;
background: linear-gradient(143deg, #5BAD91 30%, #356A67 100%);
margin-bottom: 8px;
border-radius: 6px;
flex-shrink: 0
}

.lnch .sit-blk__sub {
font-size: 17px;
line-height: 1.65;
color: #356A67;
margin: 0 0 8px;
flex: 1 1 auto
}

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

.lnch .sit-card {
background: #f5f7f6;
border-radius: 11px;
padding: 32px;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a;
transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .sit-card:hover {
background: #eef3f0;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #21473024 0 10px 60px -2px #21473021
}

.lnch .sit-card__icon {
width: 32px;
height: 32px;
margin-bottom: 16px
}

.lnch .sit-card__h {
font-size: 17px;
line-height: 1.15;
color: #214730;
text-transform: uppercase;
letter-spacing: .04em;
font-weight: 400;
margin: 0 0 8px
}

.lnch .sit-card__p {
font-size: 15px;
line-height: 1.65;
color: #2d4a3a;
margin: 0
}

.lnch .sit-blk__wave {
width: 100%;
overflow: hidden;
pointer-events: none
}

.lnch .sit-blk__wave svg {
display: block;
width: 100%
}

@media (max-width: 1280px) {
.lnch .ttl-blk__h1 {
font-size: 51px
}

.lnch .prob-blk__h2 {
font-size: 37px;
max-width: 320px
}

.lnch .rel-blk .pg-wrap {
grid-template-columns: 1fr 1fr
}

.lnch .rel-blk__head {
grid-column: 1 / -1
}

.lnch .prob-blk__cards {
grid-template-columns: 1fr 1fr
}

.lnch .sit-blk__grid {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 768px) {
.lnch .ttl-blk {
padding: 64px 16px 32px
}

.lnch .ttl-blk .pg-wrap {
flex-direction: column;
gap: 32px
}

.lnch .ttl-blk__img-col {
flex: 0 0 auto;
width: 100%
}

.lnch .ttl-blk__h1 {
font-size: 37px
}

.lnch .rel-blk {
padding: 32px 16px
}

.lnch .rel-blk .pg-wrap {
grid-template-columns: 1fr
}

.lnch .rel-blk__head {
grid-column: 1
}

.lnch .ctx-blk {
padding: 32px 16px
}

.lnch .ctx-blk .pg-wrap {
flex-direction: column;
gap: 32px
}

.lnch .ctx-blk__img-col {
flex: 0 0 auto;
width: 100%
}

.lnch .ctx-blk__list {
grid-template-columns: 1fr
}

.lnch .prob-blk {
padding: 32px 16px
}

.lnch .prob-blk__top {
flex-direction: column;
gap: 16px
}

.lnch .prob-blk__h2 {
max-width: 100%;
font-size: 27px
}

.lnch .prob-blk__cards {
grid-template-columns: 1fr
}

.lnch .out-blk {
padding: 32px 16px
}

.lnch .out-blk .pg-wrap {
flex-direction: column;
gap: 32px
}

.lnch .out-blk__img-col {
flex: 0 0 auto;
width: 100%
}

.lnch .sit-blk {
padding: 32px 16px
}

.lnch .sit-blk__head {
flex-direction: column;
align-items: flex-start;
gap: 16px
}

.lnch .sit-blk__grid {
grid-template-columns: 1fr
}

.lnch .pg-wrap {
padding: 0 16px
}
}

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

.cchg .pg-lead {
max-width: 1600px;
margin: 0 auto;
padding: 64px 32px 32px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: center
}

.cchg .pg-lead__img-col {
position: relative
}

.cchg .pg-lead__img-border {
position: absolute;
inset: -8px;
border: 2px solid #5BAD91;
border-radius: 11px;
pointer-events: none;
opacity: .45
}

.cchg .pg-lead__img-border--inner {
position: absolute;
inset: 8px;
border: 1px solid #356A67;
border-radius: 6px;
pointer-events: none;
opacity: .22
}

.cchg .pg-lead__photo {
width: 100%;
height: 480px;
object-fit: cover;
object-position: center 30%;
border-radius: 11px;
display: block;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a 0 10px 60px -2px #21473021
}

.cchg .pg-lead__grid-bg {
position: absolute;
inset: 0;
border-radius: 11px;
background-image: linear-gradient(#2147300a 1px, transparent 1px), linear-gradient(90deg, #2147300a 1px, transparent 1px);
background-size: 32px 32px;
pointer-events: none
}

.cchg .pg-lead__text-col {
display: flex;
flex-direction: column;
gap: 32px
}

.cchg .pg-lead__eyebrow {
font-size: 15px;
line-height: 1.65;
color: #356A67;
letter-spacing: .08em;
text-transform: uppercase;
font-weight: 500
}

.cchg .pg-lead__h1 {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
color: #214730;
font-weight: 700;
margin: 0
}

.cchg .pg-lead__desc {
font-size: 17px;
line-height: 1.65;
color: #2d4a3a;
margin: 0;
max-width: 480px
}

.cchg .pg-lead__meta {
display: flex;
flex-direction: row;
gap: 32px;
align-items: center;
flex-wrap: wrap
}

.cchg .pg-lead__stat {
display: flex;
flex-direction: column;
gap: 8px
}

.cchg .pg-lead__stat-num {
font-size: 37px;
line-height: 1.15;
font-weight: 700;
color: #214730
}

.cchg .pg-lead__stat-label {
font-size: 15px;
line-height: 1.65;
color: #356A67
}

.cchg .pg-lead__divider {
width: 1px;
height: 48px;
background: linear-gradient(143deg, #5BAD91 0%, #356A67 60%, transparent 100%);
opacity: .4
}

.cchg .wave-div {
width: 100%;
overflow: hidden;
line-height: 0;
height: 48px
}

.cchg .wave-div svg {
display: block;
width: 100%;
height: 48px
}

.cchg .cards-area {
background: linear-gradient(143deg, #f2f7f4 0%, #e8f2ed 40%, #f5faf7 100%);
padding: 64px 32px
}

.cchg .cards-area__inner {
max-width: 1600px;
margin: 0 auto
}

.cchg .cards-area__heading {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.015em;
color: #214730;
font-weight: 700;
margin: 0 0 8px;
text-transform: uppercase;
font-weight: 300;
letter-spacing: .06em
}

.cchg .cards-area__sub {
font-size: 17px;
line-height: 1.65;
color: #356A67;
margin: 0 0 32px
}

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

.cchg .crd {
background: #fff;
border-radius: 11px;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a 0 10px 60px -2px #21473021;
display: flex;
flex-direction: column;
overflow: hidden;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.0, 0, 0.2, 1);
position: relative
}

.cchg .crd:hover {
box-shadow: 0 1px 2px -2px #21473014 0 4px 28px -2px #21473029 0 10px 60px -2px #21473033;
transform: translateY(-2px)
}

.cchg .crd:hover .crd__btn {
box-shadow: inset 0 0 0 2px #5BAD91, inset 0 0 0 4px #5bad912e
}

.cchg .crd__top {
padding: 32px 32px 16px;
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
justify-content: space-between
}

.cchg .crd__tags {
display: flex;
flex-direction: row;
gap: 8px;
flex-wrap: wrap
}

.cchg .crd__tag {
font-size: 15px;
line-height: 1.65;
background: #214730;
color: #fff;
padding: 0 16px;
border-radius: 30px;
font-weight: 500;
letter-spacing: .04em
}

.cchg .crd__tag--sec {
background: #356A67
}

.cchg .crd__tag--ter {
background: #5BAD91;
color: #214730
}

.cchg .crd__seats {
font-size: 15px;
line-height: 1.65;
color: #356A67;
white-space: nowrap;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px
}

.cchg .crd__seats-dot {
width: 8px;
height: 8px;
border-radius: 30px;
background: #5BAD91;
flex-shrink: 0
}

.cchg .crd__body {
padding: 0 32px 16px;
flex: 1;
display: flex;
flex-direction: column;
gap: 16px
}

.cchg .crd__h {
font-size: 27px;
line-height: 1.15;
letter-spacing: -.01em;
color: #214730;
font-weight: 700;
margin: 0
}

.cchg .crd__desc {
font-size: 15px;
line-height: 1.65;
color: #2d4a3a;
margin: 0
}

.cchg .crd__specs {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px 16px
}

.cchg .crd__spec {
display: flex;
flex-direction: column;
gap: 0
}

.cchg .crd__spec-label {
font-size: 15px;
line-height: 1.65;
color: #5BAD91;
text-transform: uppercase;
letter-spacing: .06em;
font-weight: 500
}

.cchg .crd__spec-val {
font-size: 15px;
line-height: 1.65;
color: #214730;
font-weight: 600
}

.cchg .crd__foot {
padding: 16px 32px 32px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 16px;
flex-wrap: wrap
}

.cchg .crd__price-block {
display: flex;
flex-direction: column;
gap: 0
}

.cchg .crd__price {
font-size: 37px;
line-height: 1.15;
font-weight: 700;
color: #214730
}

.cchg .crd__price-terms {
font-size: 15px;
line-height: 1.65;
color: #356A67
}

.cchg .crd__price-note {
font-size: 15px;
line-height: 1.65;
color: #5BAD91;
font-style: italic
}

.cchg .crd__btn {
display: inline-block;
padding: 16px 32px;
background: #214730;
color: #fff;
font-size: 15px;
line-height: 1.15;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
letter-spacing: .04em;
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: inset 0 0 0 0 transparent
}

.cchg .crd__btn:hover {
background: #356A67
}

.cchg .crd__btn:focus-visible {
outline: 2px solid #5BAD91;
outline-offset: 3px
}

.cchg .wave-div--rev svg {
transform: scaleX(-1)
}

.cchg .info-strip {
background: #214730;
padding: 64px 32px
}

.cchg .info-strip__inner {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2px 1fr 2px 1fr;
gap: 32px;
align-items: start
}

.cchg .info-strip__sep {
background: linear-gradient(143deg, #5BAD91 0%, #5bad911a 100%);
height: 80px;
align-self: center
}

.cchg .info-strip__item {
display: flex;
flex-direction: column;
gap: 8px
}

.cchg .info-strip__icon {
width: 32px;
height: 32px;
color: #5BAD91
}

.cchg .info-strip__label {
font-size: 15px;
line-height: 1.65;
color: #5BAD91;
text-transform: uppercase;
letter-spacing: .08em;
font-weight: 500
}

.cchg .info-strip__val {
font-size: 27px;
line-height: 1.15;
color: #fff;
font-weight: 700
}

.cchg .info-strip__note {
font-size: 15px;
line-height: 1.65;
color: #ffffffa6
}

.cchg .contact-band {
padding: 64px 32px;
background: #fff;
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start
}

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

.cchg .contact-band__h {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.015em;
color: #214730;
font-weight: 700;
margin: 0;
text-transform: uppercase;
font-weight: 300;
letter-spacing: .05em
}

.cchg .contact-band__p {
font-size: 17px;
line-height: 1.65;
color: #2d4a3a;
margin: 0
}

.cchg .contact-band__detail {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 16px
}

.cchg .contact-band__row {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
font-size: 15px;
line-height: 1.65;
color: #214730
}

.cchg .contact-band__row a {
color: #214730;
text-decoration: none;
transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.cchg .contact-band__row a:hover {
color: #356A67
}

.cchg .contact-band__icon {
width: 20px;
height: 20px;
flex-shrink: 0;
color: #5BAD91
}

.cchg .form-wrap {
background: linear-gradient(143deg, #f2f7f4 0%, #e8f2ed 60%, #f5faf7 100%);
border-radius: 11px;
padding: 32px;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a 0 10px 60px -2px #21473021
}

.cchg .form-wrap__h {
font-size: 27px;
line-height: 1.15;
color: #214730;
font-weight: 700;
margin: 0 0 32px
}

.cchg .form-wrap form {
display: flex;
flex-direction: column;
gap: 16px
}

.cchg .form-wrap .fld {
display: flex;
flex-direction: column;
gap: 8px
}

.cchg .form-wrap .fld label {
font-size: 15px;
line-height: 1.65;
color: #214730;
font-weight: 600
}

.cchg .form-wrap .fld input,
.cchg .form-wrap .fld textarea {
padding: 16px;
border: 1.5px solid #356a674d;
border-radius: 6px;
font-size: 15px;
line-height: 1.65;
color: #214730;
background: #fff;
box-shadow: inset 0 2px 4px #2147300f;
transition: border-color .18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1);
outline: none
}

.cchg .form-wrap .fld input::placeholder,
.cchg .form-wrap .fld textarea::placeholder {
color: #5BAD91;
font-style: italic
}

.cchg .form-wrap .fld input:focus,
.cchg .form-wrap .fld textarea:focus {
border-color: #356A67;
box-shadow: inset 0 2px 4px #2147300f 0 0 0 3px #5bad9133
}

.cchg .form-wrap .fld textarea {
resize: vertical;
min-height: 96px
}

.cchg .form-wrap .form-submit {
padding: 16px 32px;
background: #214730;
color: #fff;
font-size: 17px;
line-height: 1.15;
font-weight: 600;
border: none;
border-radius: 6px;
cursor: pointer;
letter-spacing: .04em;
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
align-self: flex-start;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a
}

.cchg .form-wrap .form-submit:hover {
background: #356A67;
box-shadow: inset 0 0 0 2px #5BAD91, inset 0 0 0 4px #5bad912e 0 4px 28px -2px #21473029
}

.cchg .form-wrap .form-submit:focus-visible {
outline: 2px solid #5BAD91;
outline-offset: 3px
}

@media (max-width: 1280px) {
.cchg .pg-lead {
gap: 32px;
padding: 32px
}

.cchg .pg-lead__h1 {
font-size: 37px
}

.cchg .pg-lead__photo {
height: 360px
}

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

.cchg .info-strip__inner {
grid-template-columns: 1fr 1fr 1fr
}

.cchg .info-strip__sep {
display: none
}
}

@media (max-width: 768px) {
.cchg .pg-lead {
grid-template-columns: 1fr;
gap: 32px;
padding: 32px 16px
}

.cchg .pg-lead__photo {
height: 260px
}

.cchg .pg-lead__h1 {
font-size: 37px
}

.cchg .pg-lead__meta {
gap: 16px
}

.cchg .cards-area {
padding: 32px 16px
}

.cchg .cards-grid {
grid-template-columns: 1fr
}

.cchg .crd__top {
padding: 16px 16px 8px;
flex-direction: column;
gap: 8px
}

.cchg .crd__body {
padding: 0 16px 16px
}

.cchg .crd__foot {
padding: 16px;
flex-direction: column;
align-items: flex-start
}

.cchg .info-strip {
padding: 32px 16px
}

.cchg .info-strip__inner {
grid-template-columns: 1fr 1fr
}

.cchg .info-strip__sep {
display: none
}

.cchg .contact-band {
grid-template-columns: 1fr;
gap: 32px;
padding: 32px 16px
}
}

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

.abt-us .pg-intro {
padding: 64px 32px;
text-align: center;
position: relative;
background: #fff
}

.abt-us .pg-intro::before {
content: '';
position: absolute;
inset: 0;
background-image: linear-gradient(#2147300f 1px, transparent 1px), linear-gradient(90deg, #2147300f 1px, transparent 1px);
background-size: 48px 48px;
pointer-events: none
}

.abt-us .pg-intro .geo-circ {
position: absolute;
border-radius: 30px;
border: 1px solid #21473012;
pointer-events: none
}

.abt-us .pg-intro .geo-circ--a {
width: 320px;
height: 320px;
top: -80px;
left: -80px;
border-radius: 46px
}

.abt-us .pg-intro .geo-circ--b {
width: 200px;
height: 200px;
bottom: 32px;
right: -40px;
border-radius: 46px
}

.abt-us .intro-img-wrap {
position: relative;
display: inline-block;
margin-bottom: 32px
}

.abt-us .intro-img-wrap img {
width: 420px;
height: 280px;
object-fit: cover;
border-radius: 11px;
display: block;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a 0 10px 60px -2px #21473021;
transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .intro-img-wrap::after {
content: '';
position: absolute;
inset: 0;
border-radius: 11px;
background: linear-gradient(143deg, #21473073 0%, #356a672e 100%);
pointer-events: none
}

.abt-us .intro-img-wrap img:hover {
box-shadow: 0 1px 2px -2px #21473014 0 8px 40px -2px #2147302e 0 16px 80px -2px #2147302e
}

.abt-us .intro-text {
max-width: 640px;
margin: 0 auto;
position: relative;
z-index: 1
}

.abt-us .intro-text .lead-phrase {
font-size: 17px;
line-height: 1.65;
color: #214730;
font-weight: 600;
letter-spacing: .04em;
text-transform: uppercase;
margin-bottom: 16px;
display: block
}

.abt-us .intro-text h1 {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
color: #1a2e22;
margin: 0 0 16px;
font-weight: 300;
text-transform: uppercase
}

.abt-us .intro-text .sub-desc {
font-size: 17px;
line-height: 1.65;
color: #3a4a3e;
margin: 0
}

.abt-us .story-band {
position: relative;
padding: 64px 32px;
background: linear-gradient(143deg, #f2f6f4 0% 30%, #e8f0ec 100%);
animation: bg-shift 8s ease-in-out infinite alternate
}

@keyframes bg-shift {
from {
background: linear-gradient(143deg, #f2f6f4 0% 30%, #e8f0ec 100%)
}

to {
background: linear-gradient(143deg, #e8f0ec 0% 30%, #f2f6f4 100%)
}
}

.abt-us .story-band::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
background: linear-gradient(143deg, #214730 0%, #5BAD91 100%)
}

.abt-us .story-band .story-inner {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: center
}

.abt-us .story-band h2 {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.01em;
color: #214730;
font-weight: 300;
text-transform: uppercase;
margin: 0 0 16px
}

.abt-us .story-band .story-body p {
font-size: 17px;
line-height: 1.65;
color: #2e3d33;
margin: 0 0 16px
}

.abt-us .story-band .story-body p:last-child {
margin-bottom: 0
}

.abt-us .story-img-wrap {
position: relative
}

.abt-us .story-img-wrap img {
width: 100%;
height: 360px;
object-fit: cover;
border-radius: 11px;
display: block;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a 0 10px 60px -2px #21473021;
transition: box-shadow .2s cubic-bezier(0.0, 0, 0.2, 1)
}

.abt-us .story-img-wrap img:hover {
box-shadow: 0 1px 2px -2px #21473017 0 8px 44px -2px #21473033 0 18px 80px -2px #2147302e
}

.abt-us .story-img-wrap .float-card {
position: absolute;
bottom: -32px;
right: -16px;
background: #fff;
border-radius: 11px;
padding: 16px;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a 0 10px 60px -2px #21473021;
min-width: 200px
}

.abt-us .float-card .fc-status {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 16px
}

.abt-us .float-card .fc-dot {
width: 8px;
height: 8px;
border-radius: 30px;
background: #5BAD91;
flex-shrink: 0
}

.abt-us .float-card .fc-label {
font-size: 15px;
color: #214730;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .05em
}

.abt-us .float-card .fc-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 8px 0;
border-bottom: 1px solid #21473014
}

.abt-us .float-card .fc-row:last-child {
border-bottom: none;
padding-bottom: 0
}

.abt-us .float-card .fc-key {
font-size: 15px;
color: #5a6b5e;
line-height: 1.15
}

.abt-us .float-card .fc-val {
font-size: 15px;
color: #214730;
font-weight: 600;
line-height: 1.15
}

.abt-us .team-sect {
padding: 64px 32px;
background: #214730;
position: relative
}

.abt-us .team-sect::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 48px;
background: linear-gradient(143deg, #f2f6f4 0%, #e8f0ec 100%);
clip-path: polygon(0 0, 100% 0, 100% 0, 0 100%)
}

.abt-us .team-sect .team-inner {
max-width: 1600px;
margin: 0 auto
}

.abt-us .team-sect h2 {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.01em;
color: #fff;
font-weight: 300;
text-transform: uppercase;
margin: 0 0 32px
}

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

.abt-us .team-card {
background: #ffffff0f;
border-radius: 11px;
padding: 32px;
border: 1px solid #ffffff1a;
transition: background .18s cubic-bezier(0.4, 0, 0.2, 1), transform .15s cubic-bezier(0.4, 0, 0.2, 1);
cursor: default
}

.abt-us .team-card:active {
transform: translateY(2px)
}

.abt-us .team-card:hover {
background: #ffffff1a
}

.abt-us .team-card .tc-name {
font-size: 17px;
line-height: 1.15;
color: #fff;
font-weight: 600;
margin: 0 0 8px
}

.abt-us .team-card .tc-role {
font-size: 15px;
line-height: 1.65;
color: #5BAD91;
text-transform: uppercase;
letter-spacing: .05em;
margin: 0 0 16px;
display: block
}

.abt-us .team-card .tc-desc {
font-size: 15px;
line-height: 1.65;
color: #ffffffb8;
margin: 0
}

.abt-us .values-sect {
padding: 64px 32px;
background: #fff;
position: relative
}

.abt-us .values-sect::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 48px;
background: #214730;
clip-path: polygon(0 0, 100% 0, 100% 0, 0 100%)
}

.abt-us .values-inner {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 360px 1fr;
gap: 64px;
align-items: start;
padding-top: 32px
}

.abt-us .values-left h2 {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.01em;
color: #214730;
font-weight: 300;
text-transform: uppercase;
margin: 0 0 16px
}

.abt-us .values-left p {
font-size: 17px;
line-height: 1.65;
color: #3a4a3e;
margin: 0 0 32px
}

.abt-us .values-left .val-img-wrap img {
width: 100%;
height: 240px;
object-fit: cover;
border-radius: 11px;
display: block;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a 0 10px 60px -2px #21473021;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .values-left .val-img-wrap img:hover {
box-shadow: 0 1px 2px -2px #21473017 0 8px 44px -2px #21473033 0 18px 80px -2px #2147302e
}

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

.abt-us .val-list .vl-item {
background: #f3f7f5;
border-radius: 11px;
padding: 32px;
border-top: 3px solid #5BAD91;
transition: border-color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .val-list .vl-item:hover {
border-color: #214730
}

.abt-us .val-list .vl-item:active {
transform: translateY(1px);
transition: transform .15s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .val-list .vl-num {
font-size: 27px;
line-height: 1.15;
color: #214730;
font-weight: 300;
display: block;
margin-bottom: 8px
}

.abt-us .val-list .vl-head {
font-size: 15px;
line-height: 1.15;
color: #214730;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .05em;
display: block;
margin-bottom: 8px
}

.abt-us .val-list .vl-text {
font-size: 15px;
line-height: 1.65;
color: #4a5e50;
margin: 0
}

@media (max-width: 1280px) {
.abt-us .story-band .story-inner {
grid-template-columns: 1fr 1fr;
gap: 32px
}

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

.abt-us .values-left .val-img-wrap img {
height: 200px
}

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

@media (max-width: 768px) {
.abt-us .intro-text h1 {
font-size: 37px
}

.abt-us .intro-img-wrap img {
width: 100%;
height: 220px
}

.abt-us .story-band .story-inner {
grid-template-columns: 1fr;
gap: 64px
}

.abt-us .story-img-wrap .float-card {
position: static;
margin-top: 16px
}

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

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

.abt-us .values-inner {
padding-top: 16px
}
}

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

.ctus__schema {
display: none
}

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

.ctus__reach-left {
position: relative
}

.ctus__stripe {
width: 4px;
height: 64px;
background: linear-gradient(143deg, #214730 30%, #5BAD91 100%);
border-radius: 6px;
margin-bottom: 32px
}

.ctus__reach-label {
font-size: 15px;
letter-spacing: .12em;
text-transform: uppercase;
color: #356A67;
font-weight: 600;
margin-bottom: 16px
}

.ctus__reach-heading {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
color: #214730;
font-weight: 300;
text-transform: uppercase;
margin-bottom: 32px
}

.ctus__reach-heading span {
background: linear-gradient(143deg, #5BAD91 10%, #214730 90%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-weight: 700
}

.ctus__pull-quote {
font-size: 27px;
line-height: 1.65;
color: #356A67;
font-weight: 300;
border-top: 1px solid #5BAD91;
padding-top: 32px;
margin-bottom: 32px;
position: relative
}

.ctus__pull-quote::before {
content: '';
display: block;
width: 32px;
height: 2px;
background: #5BAD91;
margin-bottom: 16px
}

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

.ctus__meta-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px
}

.ctus__meta-icon {
width: 36px;
height: 36px;
border-radius: 11px;
background: linear-gradient(143deg, #214730 0%, #356A67 100%);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a
}

.ctus__meta-icon svg {
width: 18px;
height: 18px;
fill: none;
stroke: #fff;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round
}

.ctus__meta-text {
font-size: 15px;
line-height: 1.65;
color: #1b2e22
}

.ctus__meta-text strong {
display: block;
font-size: 15px;
color: #214730;
font-weight: 600;
letter-spacing: .04em;
text-transform: uppercase;
margin-bottom: 4px
}

.ctus__meta-text a {
color: #356A67;
text-decoration: none;
border-bottom: 1px solid #5bad9166;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus__meta-text a:hover {
color: #214730;
border-bottom-color: #214730
}

.ctus__diamond {
position: absolute;
top: -16px;
right: -16px;
width: 48px;
height: 48px;
background: linear-gradient(143deg, #5BAD91 0%, #214730 100%);
transform: rotate(45deg);
border-radius: 6px;
opacity: .18;
pointer-events: none
}

.ctus__form-panel {
background: linear-gradient(143deg, #214730 0%, #356A67 60%, #f4f8f6 100%);
border-radius: 11px;
padding: 32px;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a 0 10px 60px -2px #21473021;
position: relative;
overflow: hidden
}

.ctus__form-panel::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: radial-gradient(circle at 1px 1px, #5bad911f 1px, transparent 0);
background-size: 24px 24px;
pointer-events: none;
border-radius: 11px
}

.ctus__form-heading {
font-size: 27px;
line-height: 1.15;
color: #fff;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .06em;
margin-bottom: 32px
}

.ctus__form {
display: flex;
flex-direction: column;
gap: 16px;
position: relative;
z-index: 1
}

.ctus__field {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus__field label {
font-size: 15px;
color: #ffffffbf;
letter-spacing: .06em;
text-transform: uppercase;
font-weight: 500
}

.ctus__field input[type="text"],
.ctus__field input[type="tel"] {
background: #ffffff14;
border: 1px solid #fff3;
border-radius: 6px;
padding: 16px;
font-size: 17px;
color: #fff;
outline: none;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), background .18s cubic-bezier(0.0, 0, 0.2, 1);
box-shadow: inset 0 2px 4px #2147302e;
width: 100%;
box-sizing: border-box
}

.ctus__field input[type="text"]::placeholder,
.ctus__field input[type="tel"]::placeholder {
color: #ffffff59;
font-style: italic
}

.ctus__field input[type="text"]:focus,
.ctus__field input[type="tel"]:focus {
border-color: #5BAD91;
background: #ffffff21
}

.ctus__size-label {
font-size: 15px;
color: #ffffffbf;
letter-spacing: .06em;
text-transform: uppercase;
font-weight: 500;
margin-bottom: 8px;
display: block
}

.ctus__radio-group {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px
}

.ctus__radio-opt {
display: flex;
align-items: center;
gap: 8px;
cursor: pointer;
padding: 12px 16px;
border-radius: 6px;
border: 1px solid #ffffff26;
background: #ffffff0f;
transition: background .15s cubic-bezier(0.4, 0, 0.2, 1), border-color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus__radio-opt:hover {
background: #ffffff1f;
border-color: #5bad9180
}

.ctus__radio-opt input[type="radio"] {
accent-color: #5BAD91;
width: 16px;
height: 16px;
flex-shrink: 0
}

.ctus__radio-opt span {
font-size: 15px;
color: #ffffffd9;
line-height: 1.15
}

.ctus__privacy {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
padding: 16px;
background: #ffffff0f;
border-radius: 6px;
border: 1px solid #ffffff1f
}

.ctus__privacy input[type="checkbox"] {
accent-color: #5BAD91;
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px
}

.ctus__privacy-text {
font-size: 15px;
color: #ffffffb3;
line-height: 1.65
}

.ctus__privacy-text a {
color: #5BAD91;
text-decoration: none;
border-bottom: 1px solid #5bad9166;
transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus__privacy-text a:hover {
color: #fff
}

.ctus__submit {
background: #fff;
color: #214730;
border: 2px solid #fff;
border-radius: 30px;
padding: 16px 32px;
font-size: 17px;
font-weight: 700;
letter-spacing: .04em;
text-transform: uppercase;
cursor: pointer;
position: relative;
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a;
overflow: hidden
}

.ctus__submit::after {
content: '';
position: absolute;
inset: 4px;
border-radius: 26px;
border: 1px solid #21473033;
opacity: 0;
transition: opacity .18s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none
}

.ctus__submit:hover {
background: #5BAD91;
color: #fff;
border-color: #5BAD91
}

.ctus__submit:hover::after {
opacity: 1
}

.ctus__submit:focus-visible {
outline: 3px solid #5BAD91;
outline-offset: 3px
}

.ctus__submit:active {
background: #214730;
color: #fff;
border-color: #214730
}

.ctus__divider {
width: 100%;
line-height: 0;
overflow: hidden
}

.ctus__divider svg {
display: block;
width: 100%
}

.ctus__info-band {
background: linear-gradient(143deg, #214730 0%, #356A67 100%);
padding: 32px;
position: relative;
overflow: hidden
}

.ctus__info-band::before {
content: '';
position: absolute;
top: -32px;
right: -32px;
width: 180px;
height: 180px;
border-radius: 46px;
background: #5bad911f;
transform: rotate(15deg);
pointer-events: none
}

.ctus__info-band::after {
content: '';
position: absolute;
bottom: -16px;
left: 64px;
width: 80px;
height: 80px;
border-radius: 46px;
background: #ffffff0d;
transform: rotate(-10deg);
pointer-events: none
}

.ctus__info-inner {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 32px;
align-items: center;
position: relative;
z-index: 1
}

.ctus__info-copy {
font-size: 17px;
line-height: 1.65;
color: #fffc
}

.ctus__info-copy strong {
display: block;
font-size: 27px;
color: #fff;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .06em;
margin-bottom: 8px
}

.ctus__info-stat {
text-align: center;
padding: 16px;
border-left: 1px solid #ffffff26
}

.ctus__info-stat strong {
display: block;
font-size: 37px;
line-height: 1.15;
color: #5BAD91;
font-weight: 700;
letter-spacing: -.02em
}

.ctus__info-stat span {
font-size: 15px;
color: #fff9;
text-transform: uppercase;
letter-spacing: .08em
}

@media (max-width: 1280px) {
.ctus__reach {
grid-template-columns: 1fr;
gap: 32px;
padding: 64px 32px
}

.ctus__reach-heading {
font-size: 37px
}

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

.ctus__info-copy {
grid-column: 1 / -1
}
}

@media (max-width: 768px) {
.ctus__reach {
padding: 32px 16px;
gap: 32px
}

.ctus__reach-heading {
font-size: 27px
}

.ctus__pull-quote {
font-size: 17px
}

.ctus__radio-group {
grid-template-columns: 1fr
}

.ctus__info-inner {
grid-template-columns: 1fr;
gap: 16px
}

.ctus__info-stat {
border-left: none;
border-top: 1px solid #ffffff26;
padding-top: 16px
}

.ctus__info-band {
padding: 32px 16px
}

.ctus__form-panel {
padding: 32px 16px
}

.ctus__diamond {
display: none
}
}

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

.testi .split-panel {
display: flex;
flex-direction: row;
min-height: 520px;
max-width: 1600px;
margin: 0 auto
}

.testi .split-panel__img {
flex: 0 0 45%;
position: relative;
overflow: hidden
}

.testi .split-panel__img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: saturate(0.85) brightness(0.92) sepia(0.18)
}

.testi .split-panel__img::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(143deg, #21473061 0%, #356a671a 100%);
pointer-events: none
}

.testi .split-panel__stripe {
position: absolute;
top: 0;
right: 0;
width: 6px;
height: 100%;
background: linear-gradient(143deg, #214730 0%, #5BAD91 100%);
z-index: 1
}

.testi .split-panel__text {
flex: 1 1 0;
background: linear-gradient(143deg, #214730 18%, #356A67 100%);
display: flex;
flex-direction: column;
justify-content: center;
padding: 64px
}

.testi .split-panel__label {
font-size: 15px;
line-height: 1.65;
letter-spacing: .12em;
color: #5BAD91;
text-transform: uppercase;
margin-bottom: 16px;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px
}

.testi .split-panel__label .dot-row {
display: flex;
flex-direction: row;
gap: 4px
}

.testi .split-panel__label .dot-row span {
display: inline-block;
width: 5px;
height: 5px;
border-radius: 30px;
background: #5BAD91;
opacity: .7
}

.testi .split-panel__h1 {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
color: #fff;
text-transform: uppercase;
font-weight: 300;
margin: 0 0 16px
}

.testi .split-panel__sub {
font-size: 17px;
line-height: 1.65;
color: #ffffffb8;
margin: 0 0 32px;
max-width: 380px
}

.testi .split-panel__link {
display: inline-block;
font-size: 15px;
line-height: 1.15;
letter-spacing: .07em;
text-transform: uppercase;
color: #fff;
text-decoration: none;
border: 1.5px solid #5bad918c;
border-radius: 6px;
padding: 16px 32px;
background: transparent;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1), background .18s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
align-self: flex-start
}

.testi .split-panel__link::before {
content: "";
position: absolute;
inset: 3px;
border-radius: 4px;
border: 1px solid transparent;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none
}

.testi .split-panel__link:hover {
border-color: #5BAD91;
background: #5bad911a;
box-shadow: 0 4px 28px -2px #2147301a
}

.testi .split-panel__link:hover::before {
border-color: #5bad9173
}

.testi .split-panel__link:focus-visible {
outline: 2px solid #5BAD91;
outline-offset: 3px
}

.testi .reviews-panel {
background: #f5f3ef;
padding: 64px 0;
position: relative;
overflow: hidden
}

.testi .reviews-panel::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1' height='1' x='30' y='30' fill='%23214730' opacity='0.045'/%3E%3C/svg%3E");
background-size: 30px 30px;
pointer-events: none
}

.testi .reviews-panel__inner {
max-width: 1600px;
margin: 0 auto;
padding: 0 64px;
position: relative
}

.testi .reviews-panel__top {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 32px;
gap: 32px
}

.testi .reviews-panel__h2 {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.015em;
color: #214730;
text-transform: uppercase;
font-weight: 300;
margin: 0
}

.testi .reviews-panel__meta {
font-size: 15px;
line-height: 1.65;
color: #356A67;
text-align: right
}

.testi .reviews-panel__meta strong {
display: block;
font-size: 27px;
line-height: 1.15;
color: #214730;
font-weight: 600;
letter-spacing: -.01em
}

.testi .reviews-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px;
align-items: start
}

.testi .rev-card {
background: #fff;
border-radius: 11px;
padding: 32px;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a;
display: flex;
flex-direction: column;
gap: 16px;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
position: relative
}

.testi .rev-card:hover {
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #21473021 0 10px 60px -2px #2147301a
}

.testi .rev-card--tall {
padding-top: 48px;
padding-bottom: 48px
}

.testi .rev-card__curl {
position: absolute;
top: 16px;
right: 16px;
width: 38px;
height: 38px;
opacity: .08;
pointer-events: none
}

.testi .rev-card__stars {
display: flex;
flex-direction: row;
gap: 4px
}

.testi .rev-card__star {
width: 14px;
height: 14px
}

.testi .rev-card__quote {
font-size: 17px;
line-height: 1.65;
color: #222e28;
margin: 0;
flex: 1
}

.testi .rev-card__fact {
background: linear-gradient(143deg, #214730 0%, #356A67 100%);
border-radius: 6px;
padding: 16px;
color: #fff;
font-size: 15px;
line-height: 1.65
}

.testi .rev-card__fact strong {
display: block;
font-size: 27px;
line-height: 1.15;
letter-spacing: -.01em;
margin-bottom: 4px
}

.testi .rev-card__author {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
padding-top: 8px;
border-top: 1px solid #21473017
}

.testi .rev-card__avatar {
width: 40px;
height: 40px;
border-radius: 30px;
background: linear-gradient(143deg, #5BAD91 0%, #214730 100%);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.testi .rev-card__avatar-init {
font-size: 15px;
line-height: 1.15;
color: #fff;
font-weight: 600;
letter-spacing: .04em
}

.testi .rev-card__name {
font-size: 15px;
line-height: 1.65;
color: #214730;
font-weight: 600;
margin: 0
}

.testi .rev-card__city {
font-size: 15px;
line-height: 1.15;
color: #356A67;
margin: 0
}

.testi .rev-card__tag {
display: inline-block;
font-size: 15px;
line-height: 1.15;
letter-spacing: .06em;
text-transform: uppercase;
color: #fff;
background: #356A67;
border-radius: 46px;
padding: 4px 16px;
align-self: flex-start
}

.testi .dot-accent {
display: flex;
flex-direction: row;
gap: 8px;
align-items: center;
margin-bottom: 32px
}

.testi .dot-accent span {
display: inline-block;
width: 6px;
height: 6px;
border-radius: 30px;
background: #5BAD91
}

.testi .dot-accent span:nth-child(2) {
background: #356A67;
width: 10px
}

.testi .dot-accent span:nth-child(3) {
background: #214730
}

@keyframes testi-sharpen {
from {
filter: blur(6px);
opacity: 0
}

to {
filter: blur(0);
opacity: 1
}
}

.testi .split-panel__h1 {
animation: testi-sharpen .55s cubic-bezier(0.0, 0, 0.2, 1) both
}

.testi .split-panel__sub {
animation: testi-sharpen .65s .1s cubic-bezier(0.0, 0, 0.2, 1) both
}

.testi .split-panel__link {
animation: testi-sharpen .7s .2s cubic-bezier(0.0, 0, 0.2, 1) both
}

@media (max-width: 1280px) {
.testi .split-panel__text {
padding: 64px 32px
}

.testi .reviews-panel__inner {
padding: 0 32px
}

.testi .reviews-grid {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 768px) {
.testi .split-panel {
flex-direction: column
}

.testi .split-panel__img {
flex: 0 0 260px;
height: 260px
}

.testi .split-panel__stripe {
width: 100%;
height: 5px;
top: auto;
bottom: 0;
right: 0
}

.testi .split-panel__text {
padding: 32px 16px
}

.testi .split-panel__h1 {
font-size: 37px
}

.testi .reviews-panel {
padding: 32px 0
}

.testi .reviews-panel__inner {
padding: 0 16px
}

.testi .reviews-panel__top {
flex-direction: column;
align-items: flex-start
}

.testi .reviews-panel__meta {
text-align: left
}

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

.testi .rev-card--tall {
padding-top: 32px;
padding-bottom: 32px
}
}

.succ-page {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 64px 32px;
background: linear-gradient(143deg, #f4f8f6 0%, #e8f2ee 60%, #f0f7f4 100%)
}

.succ-page .succ-card {
max-width: 560px;
width: 100%;
background: #fff;
border-radius: 11px;
padding: 64px 32px;
box-shadow: 0 1px 2px -2px #2147300f 0 4px 28px -2px #2147301a 0 10px 60px -2px #21473021;
display: flex;
flex-direction: column;
align-items: center;
gap: 32px;
text-align: center
}

.succ-page .succ-card .succ__icon {
width: 72px;
height: 72px;
border-radius: 46px;
background: linear-gradient(143deg, #214730 0%, #5BAD91 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.succ-page .succ-card .succ__icon svg {
width: 34px;
height: 34px
}

.succ-page .succ-card .succ__body {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px
}

.succ-page .succ-card .succ__title {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.02em;
color: #214730;
font-weight: 300;
text-transform: uppercase;
margin: 0
}

.succ-page .succ-card .succ__text {
font-size: 17px;
line-height: 1.65;
color: #356A67;
margin: 0;
max-width: 400px
}

.succ-page .succ-card .succ__divider {
width: 48px;
height: 2px;
background: linear-gradient(143deg, #214730 0%, #5BAD91 100%);
border-radius: 6px;
flex-shrink: 0
}

.succ-page .succ-card .succ__meta {
font-size: 15px;
line-height: 1.65;
color: #356A67;
margin: 0;
opacity: .75
}

.succ-page .succ-card .succ__link {
display: inline-block;
padding: 16px 32px;
background: #214730;
color: #fff;
font-size: 15px;
line-height: 1.15;
letter-spacing: .04em;
text-transform: uppercase;
text-decoration: none;
border-radius: 6px;
border: 2px solid #214730;
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1);
position: relative
}

.succ-page .succ-card .succ__link::after {
content: '';
position: absolute;
inset: 3px;
border-radius: 4px;
border: 1px solid #fff0;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.succ-page .succ-card .succ__link:hover {
background: #356A67;
border-color: #356A67;
box-shadow: 0 4px 28px -2px #2147301a
}

.succ-page .succ-card .succ__link:hover::after {
border-color: #ffffff4d
}

.succ-page .succ-card .succ__link:focus-visible {
outline: 2px solid #5BAD91;
outline-offset: 3px
}

.succ-page .succ-card .succ__link:active {
background: #214730;
box-shadow: inset 0 2px 4px #21473026
}

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

.succ-page .succ-card {
padding: 32px 16px;
gap: 16px
}

.succ-page .succ-card .succ__title {
font-size: 27px
}
}