@import "https://fonts.googleapis.com/css2?family=Oxygen:wght@400;700&display=swap";

* {
box-sizing: border-box
}

body {
margin: 0;
font-family: 'Oxygen', sans-serif
}

.pg_head {
position: relative;
background-color: #064D26;
overflow: hidden
}

.pg_head::before {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle at 20% 80%, #f9f13914 0%, transparent 50%), radial-gradient(circle at 80% 20%, #dfc2fe12 0%, transparent 45%);
pointer-events: none
}

.pg_head::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #F9F139 0%, #DFC2FE 50%, #F9F139 100%);
pointer-events: none
}

.head_shell {
max-width: 1320px;
margin: 0 auto;
padding: 24px 48px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
position: relative;
z-index: 2
}

.brand_mount {
flex-shrink: 0;
background: #ffffff1f;
border-radius: 7px;
padding: 8px;
border: 1px solid #f9f13940;
box-shadow: 1px 2px 2px 1px #064d260d 1px 4px 20px 1px #f9f13914;
display: flex;
align-items: center;
justify-content: center
}

.brand_mount img {
width: 44px;
height: 44px;
object-fit: contain;
display: block
}

.head_nav {
flex: 1;
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 8px
}

.head_nav a {
font-family: 'Oxygen', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #ffffffd9;
text-decoration: none;
padding: 8px 16px;
border-radius: 36px;
border: 1px solid transparent;
transition: color .65s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .65s cubic-bezier(0.34, 1.2, 0.64, 1), background-color .65s cubic-bezier(0.34, 1.2, 0.64, 1);
white-space: nowrap
}

.head_nav a:hover {
color: #064D26;
background-color: #F9F139;
border-color: #F9F139
}

.head_nav a:focus {
outline: 2px solid #DFC2FE;
outline-offset: 2px
}

.head_nav a[aria-current="page"] {
color: #064D26;
background-color: #F9F139;
border-color: #F9F139
}

.avail_badge {
flex-shrink: 0;
display: flex;
align-items: center;
gap: 8px;
background: #f9f1391a;
border: 1px solid #f9f1394d;
border-radius: 36px;
padding: 8px 16px;
box-shadow: 1px 2px 2px 1px #f9f1390d
}

.avail_dot {
width: 8px;
height: 8px;
border-radius: 36px;
background-color: #F9F139;
flex-shrink: 0;
animation: dot_blink 2.4s ease-in-out infinite
}

@keyframes dot_blink {

0%,
100% {
opacity: 1
}

50% {
opacity: .3
}
}

.avail_lbl {
font-family: 'Oxygen', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #F9F139;
white-space: nowrap
}

@media (max-width: 1024px) {
.head_shell {
padding: 24px
}
}

@media (max-width: 640px) {
.head_shell {
flex-wrap: wrap;
padding: 16px;
gap: 16px
}

.head_nav {
order: 3;
width: 100%;
justify-content: flex-start
}

.avail_badge {
order: 2
}
}

@media (max-width: 360px) {
.head_nav a {
font-size: 16px;
padding: 8px 12px
}
}

.pg_foot {
background-color: #064D26;
position: relative;
border-top: 3px solid #F9F139
}

.pg_foot::before {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle at 70% 50%, #dfc2fe0f 0%, transparent 55%);
pointer-events: none
}

.foot_shell {
max-width: 1320px;
margin: 0 auto;
padding: 48px 48px 24px;
position: relative;
z-index: 1
}

.foot_top {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 48px;
flex-wrap: wrap;
margin-bottom: 48px
}

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

.foot_logo_mount {
background: #ffffff1a;
border-radius: 7px;
padding: 8px;
border: 1px solid #f9f13933;
box-shadow: 1px 4px 20px 1px #f9f13914;
display: inline-flex;
align-items: center;
justify-content: center;
width: 60px;
height: 60px
}

.foot_logo_mount img {
width: 44px;
height: 44px;
object-fit: contain;
display: block
}

.foot_script {
font-family: Georgia, serif;
font-size: 24px;
line-height: 1.15;
color: #F9F139;
font-style: italic;
letter-spacing: .01em
}

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

.foot_hours_lbl {
font-family: 'Oxygen', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #dfc2feb3;
text-transform: uppercase;
letter-spacing: .08em
}

.foot_hours_val {
font-family: 'Oxygen', sans-serif;
font-size: 18px;
line-height: 1.4;
color: #fff;
font-weight: 700
}

.foot_hours_sub {
font-family: 'Oxygen', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #fff9
}

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

.foot_nav_group a {
font-family: 'Oxygen', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #ffffffbf;
text-decoration: none;
border-radius: 4px;
padding: 8px 0;
border-bottom: 1px solid #f9f1391a;
transition: color .7s ease-in-out, border-color .7s ease-in-out
}

.foot_nav_group a:hover {
color: #F9F139;
border-color: #f9f13966
}

.foot_nav_group a:focus {
outline: 2px solid #DFC2FE;
outline-offset: 2px
}

.foot_bottom {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 16px;
padding-top: 24px;
border-top: 1px solid #f9f13926
}

.foot_copy {
font-family: 'Oxygen', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #ffffff73
}

.foot_contact {
display: flex;
flex-direction: column;
gap: 8px;
align-items: flex-end
}

.foot_contact a {
font-family: 'Oxygen', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #dfc2fed9;
text-decoration: none;
transition: color .65s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.foot_contact a:hover {
color: #DFC2FE
}

.foot_contact a:focus {
outline: 2px solid #DFC2FE;
outline-offset: 2px
}

@media (max-width: 1024px) {
.foot_shell {
padding: 48px 24px 24px
}
}

@media (max-width: 640px) {
.foot_top {
flex-direction: column;
gap: 24px
}

.foot_contact {
align-items: flex-start
}

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

@media (max-width: 360px) {
.foot_shell {
padding: 24px 16px 16px
}
}

.ck_toast {
position: fixed;
bottom: 24px;
right: 24px;
width: 300px;
background: #fff;
border-radius: 7px;
padding: 24px;
box-shadow: 1px 8px 52px 1px #064d2624;
border: 1px solid #064d261f;
z-index: 1000;
opacity: 0;
transition: opacity 320ms ease-in-out;
display: none
}

.ck_toast.ck_vis {
opacity: 1
}

.ck_msg {
font-family: 'Oxygen', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #064D26;
margin-bottom: 16px
}

.ck_svg {
display: block;
margin-bottom: 16px
}

.ck_btns {
display: flex;
gap: 8px
}

.ck_btn {
flex: 1;
font-family: 'Oxygen', sans-serif;
font-size: 16px;
line-height: 1.4;
border: none;
border-radius: 4px;
padding: 8px 16px;
cursor: pointer;
min-height: 44px;
font-weight: 700;
transition: background-color .65s cubic-bezier(0.34, 1.2, 0.64, 1), color .65s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.ck_btn:focus {
outline: 2px solid #064D26;
outline-offset: 2px
}

.ck_acc {
background-color: #064D26;
color: #F9F139
}

.ck_acc:hover {
background-color: #053d1e
}

.ck_dec {
background-color: #064d2614;
color: #064D26
}

.ck_dec:hover {
background-color: #064d2629
}

.doc-box {
max-width: 1320px;
margin: 0 auto;
padding: 48px 24px;
color: #1a2e1c
}

.doc-box h1 {
font-size: 44px;
line-height: 1.15;
font-weight: 800;
color: #064D26;
margin-bottom: 24px;
margin-top: 0
}

.doc-box h2 {
font-size: 32px;
line-height: 1.15;
font-weight: 700;
color: #064D26;
margin-top: 48px;
margin-bottom: 16px
}

.doc-box h3 {
font-size: 24px;
line-height: 1.4;
font-weight: 700;
color: #064D26;
margin-top: 48px;
margin-bottom: 16px
}

.doc-box h4 {
font-size: 18px;
line-height: 1.4;
font-weight: 700;
color: #064D26;
margin-top: 24px;
margin-bottom: 8px
}

.doc-box h5 {
font-size: 16px;
line-height: 1.4;
font-weight: 700;
color: #064D26;
margin-top: 24px;
margin-bottom: 8px
}

.doc-box h6 {
font-size: 16px;
line-height: 1.4;
font-weight: 600;
color: #2a5c3a;
margin-top: 24px;
margin-bottom: 8px
}

.doc-box p {
font-size: 18px;
line-height: 1.6;
margin-top: 0;
margin-bottom: 16px;
color: #1a2e1c
}

.doc-box strong,
.doc-box b {
font-weight: 700;
color: #064D26
}

.doc-box em,
.doc-box i {
font-style: italic;
color: #2a5c3a
}

.doc-box a {
color: #064D26;
text-decoration: underline;
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color .65s cubic-bezier(0.34, 1.2, 0.64, 1), text-decoration-color .65s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.doc-box a:hover {
color: #F9F139;
text-decoration-color: #064D26
}

.doc-box hr {
border: none;
border-top: 2px solid #DFC2FE;
margin-top: 48px;
margin-bottom: 48px;
border-radius: 4px
}

.doc-box table {
width: 100%;
border-collapse: collapse;
margin-top: 24px;
margin-bottom: 24px;
font-size: 16px;
line-height: 1.6;
box-shadow: 1px 4px 20px 1px #064d2614;
border-radius: 7px;
overflow: hidden
}

.doc-box thead {
background-color: #064D26;
color: #F9F139
}

.doc-box thead th {
padding: 16px;
font-size: 16px;
font-weight: 700;
text-align: left;
letter-spacing: .04em
}

.doc-box tbody tr {
border-bottom: 1px solid #DFC2FE;
transition: background-color .7s ease-in-out
}

.doc-box tbody tr:last-child {
border-bottom: none
}

.doc-box tbody tr:hover {
background-color: #f5f0ff
}

.doc-box th,
.doc-box td {
padding: 16px;
vertical-align: top;
text-align: left;
font-size: 16px;
line-height: 1.6
}

.doc-box td {
color: #1a2e1c
}

@media (max-width: 640px) {
.doc-box {
padding: 24px 16px
}

.doc-box h1 {
font-size: 32px
}

.doc-box h2 {
font-size: 24px;
margin-top: 24px
}

.doc-box h3 {
font-size: 18px;
margin-top: 24px
}

.doc-box p {
font-size: 16px
}

.doc-box table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}
}

@media (max-width: 360px) {
.doc-box h1 {
font-size: 24px
}

.doc-box h2 {
font-size: 18px
}

.doc-box h3 {
font-size: 16px
}
}

.lp-det {
max-width: 1320px;
margin: 0 auto;
padding: 0 16px;
overflow: hidden
}

.lp-det .flip-card {
perspective: 1000px
}

.lp-det .flip-inner {
transition: transform .7s cubic-bezier(0.34, 1.2, 0.64, 1);
transform-style: preserve-3d;
position: relative
}

.lp-det .flip-card:hover .flip-inner {
transform: rotateY(6deg) rotateX(-3deg)
}

.lp-det .ttl-strip {
display: flex;
flex-direction: row;
align-items: stretch;
min-height: 0;
padding: 48px 0;
gap: 48px;
position: relative;
overflow: hidden;
background: #fff
}

.lp-det .ttl-strip::before {
content: "";
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(247deg, #f9f13912 0px, #f9f13912 2px, transparent 2px, transparent 18px);
pointer-events: none;
z-index: 0
}

.lp-det .ttl-img-col {
flex: 0 0 220px;
min-width: 0;
position: relative;
z-index: 1;
border-radius: 7px;
overflow: hidden
}

.lp-det .ttl-img-col img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
border-radius: 7px;
filter: brightness(0.93) contrast(1.04)
}

.lp-det .ttl-img-col::after {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 30% 50%, transparent 40%, #064d2647 100%);
border-radius: 7px;
pointer-events: none
}

.lp-det .ttl-text {
flex: 1 1 0;
min-width: 0;
display: flex;
flex-direction: column;
justify-content: center;
gap: 16px;
position: relative;
z-index: 1
}

.lp-det .ttl-tag {
display: inline-flex;
align-items: center;
gap: 8px;
background: #F9F139;
color: #064D26;
font-size: 16px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
padding: 8px 16px;
border-radius: 4px;
width: fit-content;
box-shadow: 1px 2px 2px 1px #f9f1390d
}

.lp-det .ttl-uf {
font-size: 16px;
color: #064D26;
background: #dfc2fe59;
border-radius: 4px;
padding: 8px 16px;
width: fit-content;
font-weight: 600
}

.lp-det .ttl-h1 {
font-size: 72px;
line-height: 1.15;
color: #064D26;
font-weight: 900;
margin: 0;
word-break: break-word
}

.lp-det .ttl-punct {
position: absolute;
right: -16px;
top: -24px;
font-size: 220px;
line-height: 1;
color: transparent;
-webkit-text-stroke: 2px #064d2612;
pointer-events: none;
user-select: none;
z-index: 0
}

.lp-det .detail-body {
display: flex;
flex-direction: row;
gap: 48px;
padding: 48px 0;
align-items: flex-start;
background: linear-gradient(247deg, #DFC2FE 0%, transparent 70%);
border-radius: 7px;
padding: 48px 24px;
margin-top: 8px
}

.lp-det .detail-main {
flex: 1 1 0;
min-width: 0;
display: flex;
flex-direction: column;
gap: 24px
}

.lp-det .detail-aside {
flex: 0 0 320px;
min-width: 0;
display: flex;
flex-direction: column;
gap: 16px
}

.lp-det .desc-block {
background: #fff;
border-radius: 7px;
padding: 24px;
box-shadow: 1px 4px 20px 1px #064d2614
}

.lp-det .desc-block h2 {
font-size: 32px;
line-height: 1.15;
color: #064D26;
margin: 0 0 16px;
padding-left: 16px;
border-left: none;
position: relative
}

.lp-det .desc-block h2::before {
content: "";
position: absolute;
left: 0;
top: 4px;
bottom: 4px;
width: 4px;
background: #F9F139;
border-radius: 4px
}

.lp-det .desc-block h3 {
font-size: 24px;
line-height: 1.4;
color: #064D26;
margin: 16px 0 8px;
padding-left: 16px;
position: relative
}

.lp-det .desc-block h3::before {
content: "";
position: absolute;
left: 0;
top: 4px;
bottom: 4px;
width: 3px;
background: #DFC2FE;
border-radius: 4px
}

.lp-det .desc-block p {
font-size: 18px;
line-height: 1.6;
color: #1b3a27;
margin: 0 0 8px
}

.lp-det .desc-block ul,
.lp-det .desc-block ol {
padding-left: 24px;
margin: 8px 0
}

.lp-det .desc-block li {
font-size: 18px;
line-height: 1.6;
color: #1b3a27;
margin-bottom: 8px
}

.lp-det .desc-block small {
font-size: 16px;
color: #4a6e58;
line-height: 1.4
}

.lp-det .desc-block details {
border-radius: 7px;
border: 1px solid #064d261f;
margin-bottom: 8px;
overflow: hidden
}

.lp-det .desc-block summary {
font-size: 18px;
font-weight: 600;
color: #064D26;
padding: 16px;
cursor: pointer;
list-style: none;
display: flex;
align-items: center;
justify-content: space-between;
transition: background .65s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.lp-det .desc-block summary:hover {
background: #f9f13926
}

.lp-det .desc-block details[open] summary {
background: #f9f13933
}

.lp-det .desc-block details> :not(summary) {
padding: 0 16px 16px;
font-size: 18px;
line-height: 1.6;
color: #1b3a27
}

.lp-det .prog-block {
background: #064D26;
border-radius: 7px;
padding: 24px;
box-shadow: 1px 8px 52px 1px #064d2624
}

.lp-det .prog-block h2 {
font-size: 32px;
line-height: 1.15;
color: #F9F139;
margin: 0 0 16px;
padding-left: 16px;
position: relative
}

.lp-det .prog-block h2::before {
content: "";
position: absolute;
left: 0;
top: 4px;
bottom: 4px;
width: 4px;
background: #DFC2FE;
border-radius: 4px
}

.lp-det .prog-block p {
font-size: 18px;
line-height: 1.6;
color: #ffffffe0;
margin: 0 0 8px
}

.lp-det .prog-block h2.prog-inner {
font-size: 24px;
color: #DFC2FE;
margin: 16px 0 8px
}

.lp-det .prog-block mark {
background: #f9f13940;
color: #F9F139;
border-radius: 4px;
padding: 0 4px
}

.lp-det .prog-block strong {
color: #fff;
font-weight: 700
}

.lp-det .prog-block ul,
.lp-det .prog-block ol {
padding-left: 24px;
margin: 8px 0
}

.lp-det .prog-block li {
font-size: 18px;
line-height: 1.6;
color: #ffffffd9;
margin-bottom: 8px
}

.lp-det .prog-block blockquote {
border-left: none;
margin: 16px 0;
padding: 16px;
background: #ffffff12;
border-radius: 7px;
font-size: 24px;
line-height: 1.4;
color: #F9F139;
font-style: italic;
font-weight: 600
}

.lp-det .price-card {
background: #fff;
border-radius: 7px;
padding: 24px;
box-shadow: 1px 4px 20px 1px #064d2614;
position: sticky;
top: 24px;
display: flex;
flex-direction: column;
gap: 16px
}

.lp-det .price-card .p-amt {
font-size: 44px;
line-height: 1.15;
font-weight: 900;
color: #064D26;
margin: 0
}

.lp-det .price-card .p-des {
font-size: 16px;
line-height: 1.6;
color: #4a6e58;
margin: 0
}

.lp-det .price-card .p-note {
font-size: 16px;
color: #064D26;
background: #dfc2fe66;
border-radius: 4px;
padding: 8px 16px;
font-style: italic
}

.lp-det .btn-enrol {
display: block;
width: 100%;
padding: 16px 24px;
background: #064D26;
color: #F9F139;
font-size: 18px;
font-weight: 700;
border: none;
border-radius: 7px;
cursor: pointer;
text-align: center;
text-decoration: none;
letter-spacing: .04em;
box-shadow: 1px 4px 20px 1px #064d2614;
transition: background .65s cubic-bezier(0.34, 1.2, 0.64, 1), color .65s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .75s ease-in-out;
outline: none;
position: relative
}

.lp-det .btn-enrol:hover {
background: #0a6b36;
color: #fff;
box-shadow: 1px 8px 52px 1px #064d2624;
transform: perspective(600px) rotateX(-2deg) rotateY(2deg)
}

.lp-det .btn-enrol:focus {
outline: 3px solid #F9F139;
outline-offset: 2px
}

.lp-det .btn-enrol:active {
background: #053d1f
}

.lp-det .btn-sec {
display: block;
width: 100%;
padding: 16px 24px;
background: transparent;
color: #064D26;
font-size: 18px;
font-weight: 600;
border: 2px solid #064D26;
border-radius: 7px;
cursor: pointer;
text-align: center;
text-decoration: none;
transition: background .7s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .7s ease-in-out;
outline: none
}

.lp-det .btn-sec:hover {
background: #064d260f;
transform: perspective(600px) rotateX(2deg) rotateY(-2deg)
}

.lp-det .btn-sec:focus {
outline: 3px solid #DFC2FE;
outline-offset: 2px
}

.lp-det .pull-q {
font-size: 24px;
line-height: 1.4;
color: #064D26;
font-style: italic;
font-weight: 700;
background: #f9f13933;
border-radius: 7px;
padding: 24px;
margin: 0;
box-shadow: 1px 2px 2px 1px #f9f1390d
}

.lp-det .step-div {
height: 48px;
position: relative;
overflow: hidden;
margin: 0;
flex-shrink: 0
}

.lp-det .step-div svg {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%
}

@keyframes cardFlip {
0% {
transform: rotateY(90deg);
opacity: 0
}

100% {
transform: rotateY(0deg);
opacity: 1
}
}

.lp-det .flip-card {
animation: cardFlip .8s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.lp-det .flip-card:nth-child(1) {
animation-delay: .1s
}

.lp-det .flip-card:nth-child(2) {
animation-delay: .3s
}

.lp-det .flip-card:nth-child(3) {
animation-delay: .5s
}

@media (max-width: 1024px) {
.lp-det .ttl-h1 {
font-size: 44px
}

.lp-det .ttl-img-col {
flex: 0 0 160px
}

.lp-det .detail-aside {
flex: 0 0 260px
}
}

@media (max-width: 640px) {
.lp-det .ttl-strip {
flex-direction: column;
gap: 16px;
padding: 24px 0
}

.lp-det .ttl-img-col {
flex: 0 0 180px;
width: 100%;
height: 180px
}

.lp-det .ttl-h1 {
font-size: 32px
}

.lp-det .ttl-punct {
font-size: 120px
}

.lp-det .detail-body {
flex-direction: column;
padding: 24px 16px
}

.lp-det .detail-aside {
flex: 0 0 auto;
width: 100%
}

.lp-det .price-card {
position: static
}
}

@media (max-width: 360px) {
.lp-det .ttl-h1 {
font-size: 24px
}

.lp-det .price-card .p-amt {
font-size: 32px
}
}

.abt {
max-width: 1320px;
margin: 0 auto;
overflow-x: clip
}

.abt .pg-lead {
position: relative;
padding: 48px 24px;
background: linear-gradient(247deg, #DFC2FE, #F9F139 60%, #064D26 140%);
background-size: 300% 300%;
animation: bg-shift 9s ease-in-out infinite alternate
}

@keyframes bg-shift {
0% {
background-position: 0 50%
}

100% {
background-position: 100% 50%
}
}

.abt .pg-lead .dots-row {
display: flex;
flex-direction: row;
gap: 8px;
margin-bottom: 24px
}

.abt .pg-lead .dot {
width: 7px;
height: 7px;
border-radius: 36px;
background: #064D26;
opacity: .35
}

.abt .pg-lead .dot:nth-child(2) {
opacity: .55
}

.abt .pg-lead .dot:nth-child(3) {
opacity: .75
}

.abt .pg-lead .dot:nth-child(4) {
opacity: .55
}

.abt .pg-lead .dot:nth-child(5) {
opacity: .35
}

.abt .lead-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center
}

.abt .lead-h {
font-size: 72px;
line-height: 1.15;
color: #064D26;
margin: 0 0 16px;
font-weight: 900
}

.abt .lead-sub {
font-size: 18px;
line-height: 1.6;
color: #064D26;
margin: 0 0 24px;
max-width: 420px
}

.abt .lead-tag {
display: inline-block;
background: #064D26;
color: #F9F139;
font-size: 16px;
line-height: 1.4;
padding: 8px 24px;
border-radius: 4px;
font-style: italic;
font-weight: 700;
letter-spacing: .04em;
text-transform: uppercase
}

.abt .lead-img-wrap {
position: relative;
border-radius: 7px;
overflow: hidden;
box-shadow: 1px 8px 52px 1px #064d2624
}

.abt .lead-img-wrap img {
width: 100%;
height: 420px;
object-fit: cover;
object-position: center;
display: block;
border-radius: 7px
}

.abt .lead-img-wrap::after {
content: "";
position: absolute;
inset: 0;
border-radius: 7px;
background: radial-gradient(ellipse at 80% 20%, #064d2661 0%, transparent 65%), radial-gradient(ellipse at 20% 80%, #064d2640 0%, transparent 55%);
pointer-events: none
}

.abt .lead-diamond {
position: absolute;
top: 24px;
right: 24px;
width: 40px;
height: 40px;
background: #064D26;
transform: rotate(45deg);
border-radius: 4px;
opacity: .18;
pointer-events: none
}

.abt .zigzag-div {
width: 100%;
display: block;
line-height: 0
}

.abt .mid-strip {
background: #f5f5ef;
padding: 48px 24px
}

.abt .mid-cols {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 48px;
align-items: start
}

.abt .sec-label {
font-size: 16px;
line-height: 1.4;
color: #064D26;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
margin: 0 0 16px;
padding-left: 16px;
border-left: none;
display: flex;
align-items: center;
gap: 8px
}

.abt .sec-label::before {
content: "";
display: inline-block;
width: 4px;
height: 20px;
background: #F9F139;
border-radius: 4px;
flex-shrink: 0
}

.abt .mid-h {
font-size: 44px;
line-height: 1.15;
color: #064D26;
margin: 0 0 24px
}

.abt .mid-p {
font-size: 18px;
line-height: 1.6;
color: #1a2e1e;
margin: 0 0 16px
}

.abt .mid-p:last-of-type {
margin-bottom: 0
}

.abt .metric-pair {
display: flex;
flex-direction: column;
gap: 24px
}

.abt .metric-card {
background: #fff;
border-radius: 7px;
padding: 24px;
box-shadow: 1px 4px 20px 1px #064d2614;
transition: transform .65s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .65s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abt .metric-card:hover {
transform: perspective(600px) rotateY(-4deg) translateY(-4px);
box-shadow: 1px 8px 52px 1px #064d2624
}

.abt .metric-num {
font-size: 44px;
line-height: 1.15;
color: #064D26;
font-weight: 900;
display: flex;
align-items: center;
gap: 8px
}

.abt .metric-arrow {
display: inline-block;
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 16px solid #064D26;
margin-bottom: 4px
}

.abt .metric-desc {
font-size: 16px;
line-height: 1.4;
color: #3a5c42;
margin: 8px 0 0
}

.abt .zigzag-div2 {
width: 100%;
display: block;
line-height: 0
}

.abt .team-strip {
padding: 48px 24px;
background: #fff
}

.abt .team-h {
font-size: 32px;
line-height: 1.15;
color: #064D26;
margin: 0 0 8px
}

.abt .team-sub {
font-size: 18px;
line-height: 1.6;
color: #2d4a35;
margin: 0 0 48px;
max-width: 560px
}

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

.abt .person-card {
border-radius: 7px;
overflow: hidden;
box-shadow: 1px 2px 2px 1px #f9f1390d;
background: #fff;
transition: transform .75s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .75s ease-in-out
}

.abt .person-card:hover {
transform: perspective(700px) rotateX(3deg) translateY(-6px);
box-shadow: 1px 8px 52px 1px #064d2624
}

.abt .person-img-wrap {
width: 100%;
aspect-ratio: 1/1;
overflow: hidden
}

.abt .person-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block
}

.abt .person-body {
padding: 24px
}

.abt .person-name {
font-size: 18px;
line-height: 1.4;
color: #064D26;
font-weight: 700;
margin: 0 0 8px
}

.abt .person-role {
font-size: 16px;
line-height: 1.4;
color: #F9F139;
background: #064D26;
display: inline-block;
padding: 4px 16px;
border-radius: 4px;
font-style: italic;
margin: 0 0 16px
}

.abt .person-bio {
font-size: 16px;
line-height: 1.6;
color: #2d4a35;
margin: 0
}

.abt .plain-card {
border-radius: 7px;
background: #f5f5ef;
padding: 24px;
box-shadow: 1px 2px 2px 1px #064d260d
}

.abt .plain-card .person-name {
margin-bottom: 8px
}

.abt .plain-card .person-bio {
margin-top: 8px
}

.abt .approach-strip {
background: #f5f5ef;
padding: 48px 24px
}

.abt .approach-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start
}

.abt .approach-img-wrap {
border-radius: 7px;
overflow: hidden;
box-shadow: 1px 4px 20px 1px #064d2614
}

.abt .approach-img-wrap img {
width: 100%;
height: 360px;
object-fit: cover;
object-position: center;
display: block;
border-radius: 7px;
transition: transform .85s ease-in-out
}

.abt .approach-img-wrap:hover img {
transform: scale(1.04)
}

.abt .approach-h {
font-size: 32px;
line-height: 1.15;
color: #064D26;
margin: 0 0 16px
}

.abt .approach-p {
font-size: 18px;
line-height: 1.6;
color: #1a2e1e;
margin: 0 0 16px
}

.abt .compare-block {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-top: 24px
}

.abt .compare-col {
background: #fff;
border-radius: 7px;
padding: 16px;
box-shadow: 1px 2px 2px 1px #064d260d
}

.abt .compare-col.after {
background: #064D26
}

.abt .compare-label {
font-size: 16px;
line-height: 1.4;
font-weight: 700;
color: #064D26;
margin: 0 0 8px;
text-transform: uppercase;
letter-spacing: .06em
}

.abt .compare-col.after .compare-label {
color: #F9F139
}

.abt .compare-item {
font-size: 16px;
line-height: 1.6;
color: #2d4a35;
margin: 0 0 8px;
display: flex;
align-items: flex-start;
gap: 8px
}

.abt .compare-col.after .compare-item {
color: #DFC2FE
}

.abt .compare-dot {
width: 6px;
height: 6px;
border-radius: 36px;
background: #064D26;
flex-shrink: 0;
margin-top: 7px
}

.abt .compare-col.after .compare-dot {
background: #F9F139
}

.abt .img-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-top: 48px
}

.abt .img-row-item {
border-radius: 7px;
overflow: hidden;
box-shadow: 1px 4px 20px 1px #064d2614
}

.abt .img-row-item img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .85s ease-in-out
}

.abt .img-row-item:hover img {
transform: scale(1.05)
}

.abt a.inline-lnk {
color: #064D26;
font-weight: 700;
text-decoration: underline;
text-underline-offset: 3px;
transition: transform .45s cubic-bezier(0.34, 1.2, 0.64, 1), color .45s ease-in-out;
display: inline-block
}

.abt a.inline-lnk:hover {
transform: rotate(-2deg);
color: #064D26
}

@media (max-width: 1024px) {
.abt .lead-h {
font-size: 62px
}

.abt .three-col {
grid-template-columns: 1fr 1fr
}
}

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

.abt .lead-h {
font-size: 44px
}

.abt .mid-cols {
grid-template-columns: 1fr
}

.abt .three-col {
grid-template-columns: 1fr
}

.abt .approach-grid {
grid-template-columns: 1fr
}

.abt .compare-block {
grid-template-columns: 1fr
}

.abt .img-row {
grid-template-columns: 1fr
}

.abt .mid-h {
font-size: 32px
}
}

@media (max-width: 360px) {
.abt .lead-h {
font-size: 32px
}

.abt .metric-num {
font-size: 32px
}
}

.lp {
max-width: 1320px;
margin: 0 auto;
padding: 0 16px;
overflow: hidden
}

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

@keyframes rise_in {
from {
opacity: 0;
transform: translateY(40px)
}

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

.lp .rise {
animation: rise_in .8s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.lp .rise_d1 {
animation-delay: .1s
}

.lp .rise_d2 {
animation-delay: .25s
}

.lp .rise_d3 {
animation-delay: .4s
}

.lp .rise_d4 {
animation-delay: .55s
}

.lp .pg_top {
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start;
padding: 48px 0
}

.lp .pg_img_col {
flex: 0 0 420px;
position: relative
}

.lp .pg_img_wrap {
border-radius: 7px;
overflow: hidden;
position: relative
}

.lp .pg_img_wrap img {
width: 100%;
height: 540px;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(1.3) contrast(1.08)
}

.lp .img_border_deco {
position: absolute;
top: 16px;
left: 16px;
right: -16px;
bottom: -16px;
border: 2px solid #064D26;
border-radius: 7px;
z-index: -1;
opacity: .35
}

.lp .deco_curl {
position: absolute;
top: -24px;
right: -24px;
width: 80px;
height: 80px;
opacity: .12;
pointer-events: none
}

.lp .pg_text_col {
flex: 1;
padding-top: 16px
}

.lp .pg_label {
display: inline-block;
background: #F9F139;
color: #064D26;
font-size: 16px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
padding: 8px 16px;
border-radius: 4px;
margin-bottom: 24px;
box-shadow: 1px 2px 2px 1px #f9f1390d
}

.lp .pg_h1 {
font-size: 62px;
line-height: 1.15;
color: #064D26;
margin: 0 0 24px;
font-weight: 900
}

.lp .pg_h1 em {
color: #064D26;
font-style: italic;
background: linear-gradient(247deg, #DFC2FE, transparent);
padding: 0 8px;
border-radius: 4px
}

.lp .pg_desc {
font-size: 18px;
line-height: 1.6;
color: #1a2e1e;
margin: 0 0 24px;
max-width: 520px
}

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

.lp .pg_pts li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
font-size: 16px;
line-height: 1.4;
color: #1a2e1e
}

.lp .pt_num {
font-size: 32px;
line-height: 1.15;
font-weight: 900;
color: #DFC2FE;
flex: 0 0 40px;
text-align: right
}

.lp .pt_txt {
padding-top: 8px;
flex: 1
}

.lp .divider_dash {
border: none;
height: 2px;
background: repeating-linear-gradient(90deg, #064D26 0px, #064D26 6px, transparent 6px, transparent 10px, #064D26 10px, #064D26 12px, transparent 12px, transparent 18px);
opacity: .18;
margin: 48px 0
}

.lp .prog_grid_head {
text-align: left;
margin-bottom: 48px
}

.lp .prog_grid_head h2 {
font-size: 44px;
line-height: 1.15;
color: #064D26;
margin: 0 0 16px;
padding-left: 16px;
border-left: 4px solid #F9F139
}

.lp .prog_grid_head p {
font-size: 18px;
line-height: 1.6;
color: #2d4a33;
max-width: 600px;
margin: 0
}

.lp .prog_grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-bottom: 0
}

.lp .prog_card {
background: #fff;
border-radius: 7px;
overflow: hidden;
box-shadow: 1px 4px 20px 1px #064d2614;
display: flex;
flex-direction: column;
transition: transform .7s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .7s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.lp .prog_card:hover {
transform: perspective(600px) rotateY(-3deg) rotateX(2deg) translateY(-4px);
box-shadow: 1px 8px 52px 1px #064d2624
}

.lp .prog_card:active {
outline: 3px solid #064D26;
outline-offset: 2px
}

.lp .card_img_wrap {
width: 100%;
aspect-ratio: 7/9;
overflow: hidden;
flex: 0 0 auto
}

.lp .card_img_wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block;
transition: transform .8s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.lp .prog_card:hover .card_img_wrap img {
transform: scale(1.04)
}

.lp .card_body {
padding: 24px;
display: flex;
flex-direction: column;
gap: 16px;
flex: 1
}

.lp .card_tags {
display: flex;
flex-direction: row;
gap: 8px;
flex-wrap: wrap
}

.lp .card_tag {
font-size: 16px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
background: #DFC2FE;
color: #064D26;
padding: 4px 8px;
border-radius: 4px
}

.lp .card_level {
font-size: 16px;
background: #F9F139;
color: #064D26;
padding: 4px 8px;
border-radius: 4px;
font-weight: 600
}

.lp .card_ttl {
font-size: 24px;
line-height: 1.4;
color: #064D26;
font-weight: 800;
margin: 0
}

.lp .card_desc {
font-size: 16px;
line-height: 1.6;
color: #2d4a33;
margin: 0;
flex: 1
}

.lp .card_price_row {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 8px;
flex-wrap: wrap
}

.lp .card_price {
font-size: 32px;
line-height: 1.15;
font-weight: 900;
color: #064D26
}

.lp .card_price_terms {
font-size: 16px;
color: #4a7a55;
line-height: 1.4;
padding-bottom: 4px
}

.lp .card_price_note {
font-size: 16px;
color: #4a7a55;
line-height: 1.4;
width: 100%
}

.lp .card_cta {
display: inline-block;
background: #064D26;
color: #F9F139;
font-size: 16px;
font-weight: 700;
text-decoration: none;
padding: 16px 24px;
border-radius: 7px;
text-align: center;
transition: background .65s cubic-bezier(0.34, 1.2, 0.64, 1), color .65s cubic-bezier(0.34, 1.2, 0.64, 1);
box-shadow: 1px 4px 20px 1px #064d2614
}

.lp .card_cta:hover {
background: #0a7a3e;
color: #fff
}

.lp .card_cta:focus {
outline: 3px solid #F9F139;
outline-offset: 2px
}

.lp .prog_card_wide {
grid-column: span 2;
flex-direction: row
}

.lp .prog_card_wide .card_img_wrap {
flex: 0 0 260px;
aspect-ratio: unset;
height: auto
}

.lp .prog_card_wide .card_img_wrap img {
height: 100%
}

.lp .divider_dash2 {
border: none;
height: 2px;
background: repeating-linear-gradient(90deg, #DFC2FE 0px, #DFC2FE 8px, transparent 8px, transparent 14px, #F9F139 14px, #F9F139 16px, transparent 16px, transparent 22px);
opacity: .5;
margin: 48px 0
}

.lp .atm_band {
position: relative;
border-radius: 7px;
overflow: hidden;
padding: 48px;
margin-bottom: 0;
background: #064D26
}

.lp .atm_band_img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
opacity: .18
}

.lp .atm_band_inner {
position: relative;
z-index: 1;
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start
}

.lp .atm_text {
flex: 1
}

.lp .atm_text h2 {
font-size: 44px;
line-height: 1.15;
color: #F9F139;
margin: 0 0 16px;
padding-left: 16px;
border-left: 4px solid #DFC2FE
}

.lp .atm_text p {
font-size: 18px;
line-height: 1.6;
color: #c8e8d0;
margin: 0 0 24px;
max-width: 480px
}

.lp .atm_cta {
display: inline-block;
background: #F9F139;
color: #064D26;
font-size: 18px;
font-weight: 800;
text-decoration: none;
padding: 16px 48px;
border-radius: 7px;
transition: background .7s cubic-bezier(0.34, 1.2, 0.64, 1), color .7s cubic-bezier(0.34, 1.2, 0.64, 1);
box-shadow: 1px 8px 52px 1px #f9f13924
}

.lp .atm_cta:hover {
background: #fff;
color: #064D26
}

.lp .atm_cta:focus {
outline: 3px solid #DFC2FE;
outline-offset: 2px
}

.lp .atm_stats {
flex: 0 0 260px;
display: flex;
flex-direction: column;
gap: 24px
}

.lp .stat_item {
background: #ffffff14;
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
border-radius: 7px;
padding: 24px;
border: 1px solid #dfc2fe33
}

.lp .stat_num {
font-size: 44px;
line-height: 1.15;
font-weight: 900;
color: #F9F139
}

.lp .stat_lbl {
font-size: 16px;
color: #c8e8d0;
line-height: 1.4;
margin-top: 8px
}

.lp .divider_dash3 {
border: none;
height: 2px;
background: repeating-linear-gradient(90deg, #064D26 0px, #064D26 4px, transparent 4px, transparent 8px);
opacity: .12;
margin: 48px 0
}

.lp .reviews_row {
display: flex;
flex-direction: row;
gap: 24px;
margin-bottom: 0
}

.lp .reviews_head {
flex: 0 0 300px;
padding-top: 16px
}

.lp .reviews_head h2 {
font-size: 44px;
line-height: 1.15;
color: #064D26;
margin: 0 0 16px;
padding-left: 16px;
border-left: 4px solid #F9F139
}

.lp .reviews_head p {
font-size: 16px;
line-height: 1.6;
color: #2d4a33
}

.lp .reviews_list {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px
}

.lp .rev_card {
background: linear-gradient(247deg, #DFC2FE, transparent);
border-radius: 7px;
padding: 24px;
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
box-shadow: 1px 2px 2px 1px #064d260d;
transition: transform .65s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.lp .rev_card:hover {
transform: perspective(700px) rotateX(2deg) translateY(-3px)
}

.lp .rev_portrait {
width: 80px;
height: 103px;
border-radius: 36px;
overflow: hidden;
flex: 0 0 80px;
box-shadow: 1px 4px 20px 1px #064d2614
}

.lp .rev_portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block
}

.lp .rev_body {
flex: 1
}

.lp .rev_name {
font-size: 18px;
font-weight: 800;
color: #064D26;
margin: 0 0 8px
}

.lp .rev_quote {
font-size: 16px;
line-height: 1.6;
color: #1a2e1e;
margin: 0 0 8px
}

.lp .rev_detail {
font-size: 16px;
color: #4a7a55;
font-style: italic
}

.lp .approach_band {
background: linear-gradient(247deg, #DFC2FE, transparent 70%);
border-radius: 7px;
padding: 48px;
margin-bottom: 0
}

.lp .approach_band h2 {
font-size: 44px;
line-height: 1.15;
color: #064D26;
margin: 0 0 24px;
padding-left: 16px;
border-left: 4px solid #064D26
}

.lp .approach_steps {
display: flex;
flex-direction: row;
gap: 24px;
flex-wrap: wrap
}

.lp .step_item {
flex: 1 1 200px;
background: #fff;
border-radius: 7px;
padding: 24px;
box-shadow: 1px 4px 20px 1px #064d2614;
transition: transform .7s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.lp .step_item:hover {
transform: perspective(600px) rotateY(3deg) rotateX(-2deg)
}

.lp .step_n {
font-size: 62px;
line-height: 1.15;
font-weight: 900;
color: #F9F139;
display: block;
margin-bottom: 8px
}

.lp .step_ttl {
font-size: 18px;
font-weight: 800;
color: #064D26;
margin: 0 0 8px
}

.lp .step_txt {
font-size: 16px;
line-height: 1.6;
color: #2d4a33;
margin: 0
}

@media (max-width: 1024px) {
.lp .pg_top {
flex-direction: column;
gap: 24px
}

.lp .pg_img_col {
flex: 0 0 auto;
width: 100%;
max-width: 480px
}

.lp .pg_h1 {
font-size: 44px
}

.lp .prog_grid {
grid-template-columns: repeat(2, 1fr)
}

.lp .prog_card_wide {
grid-column: span 2
}

.lp .atm_band_inner {
flex-direction: column
}

.lp .atm_stats {
flex: none;
width: 100%;
flex-direction: row;
flex-wrap: wrap
}

.lp .stat_item {
flex: 1 1 120px
}

.lp .reviews_row {
flex-direction: column
}

.lp .reviews_head {
flex: none
}
}

@media (max-width: 640px) {
.lp .pg_h1 {
font-size: 32px
}

.lp .prog_grid {
grid-template-columns: 1fr
}

.lp .prog_card_wide {
grid-column: span 1;
flex-direction: column
}

.lp .prog_card_wide .card_img_wrap {
flex: 0 0 auto;
height: 220px;
aspect-ratio: unset
}

.lp .atm_band {
padding: 24px
}

.lp .atm_text h2 {
font-size: 32px
}

.lp .approach_band {
padding: 24px
}

.lp .approach_band h2 {
font-size: 32px
}

.lp .reviews_head h2 {
font-size: 32px
}
}

@media (max-width: 360px) {
.lp .pg_h1 {
font-size: 24px
}

.lp .card_ttl {
font-size: 18px
}

.lp .card_price {
font-size: 24px
}
}

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

.mtd .pg_wrap {
max-width: 1320px;
margin: 0 auto;
padding: 0 24px
}

.mtd .title_blk {
padding: 96px 0 48px;
position: relative;
background: #fff
}

.mtd .title_blk .pg_wrap {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 48px
}

.mtd .t_left {
flex: 1 1 60%;
position: relative;
z-index: 1
}

.mtd .t_right {
flex: 0 0 38%;
position: relative
}

.mtd .t_label {
display: inline-block;
background: #F9F139;
color: #064D26;
font-size: 16px;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
padding: 8px 16px;
border-radius: 4px;
margin-bottom: 24px
}

.mtd .t_h1 {
font-size: 62px;
line-height: 1.15;
color: #064D26;
margin: 0 0 24px;
font-weight: 900
}

.mtd .t_h1 em {
font-style: italic;
color: #064D26;
background: linear-gradient(247deg, #DFC2FE, transparent);
padding: 0 8px;
border-radius: 4px
}

.mtd .t_quote {
font-size: 18px;
line-height: 1.6;
color: #2a4a35;
border-left: none;
padding-left: 0;
margin: 0;
max-width: 520px
}

.mtd .t_quote::before {
content: '';
display: block;
width: 48px;
height: 2px;
background: #F9F139;
margin-bottom: 16px
}

.mtd .img_wrap {
position: relative;
border-radius: 7px;
overflow: hidden;
box-shadow: 1px 8px 52px 1px #064d2624
}

.mtd .img_wrap img {
width: 100%;
height: 420px;
object-fit: cover;
object-position: center;
display: block
}

.mtd .img_wrap::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 55%;
background: linear-gradient(to top, #064d26b8, transparent);
pointer-events: none
}

.mtd .circ_dec {
position: absolute;
border-radius: 50%;
pointer-events: none
}

.mtd .circ_dec.c1 {
width: 280px;
height: 280px;
background: #f9f13912;
top: -60px;
right: -80px
}

.mtd .circ_dec.c2 {
width: 160px;
height: 160px;
background: #dfc2fe1a;
bottom: 40px;
left: -40px
}

.mtd .circ_dec.c3 {
width: 80px;
height: 80px;
background: #f9f1391f;
top: 120px;
right: 20px
}

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

.mtd .zigzag_sep svg {
display: block;
width: 100%
}

.mtd .method_blk {
background: #064D26;
padding: 64px 0;
position: relative
}

.mtd .method_blk .pg_wrap {
display: flex;
flex-direction: column;
gap: 48px
}

.mtd .method_top {
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start
}

.mtd .method_hd_col {
flex: 0 0 42%
}

.mtd .method_intro_col {
flex: 1 1 55%;
padding-top: 8px
}

.mtd .sec_h2 {
font-size: 44px;
line-height: 1.15;
color: #F9F139;
margin: 0 0 16px;
font-weight: 800
}

.mtd .sec_h2 .acc_line {
display: block;
width: 3px;
height: 48px;
background: #DFC2FE;
border-radius: 4px;
margin-bottom: 16px
}

.mtd .intro_p {
font-size: 18px;
line-height: 1.6;
color: #ffffffe0;
margin: 0 0 16px
}

.mtd .intro_p:last-child {
margin-bottom: 0
}

.mtd .metrics_row {
display: flex;
flex-direction: row;
gap: 24px;
background: #f9f13914;
border-radius: 7px;
padding: 24px 48px;
align-items: center;
justify-content: center
}

.mtd .metric_item {
text-align: center;
flex: 1 1 0
}

.mtd .metric_num {
font-size: 62px;
line-height: 1.15;
font-weight: 900;
color: #F9F139;
display: block
}

.mtd .metric_lbl {
font-size: 16px;
line-height: 1.4;
color: #ffffffbf;
display: block;
margin-top: 8px
}

.mtd .metric_div {
width: 2px;
height: 80px;
background: #dfc2fe4d;
border-radius: 4px;
flex-shrink: 0
}

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

.mtd .step_card {
background: #ffffff0d;
border-radius: 7px;
padding: 24px;
border: 1px solid #f9f13926;
box-shadow: 1px 4px 20px 1px #064d2614;
transition: background .7s cubic-bezier(0.34, 1.2, 0.64, 1), transform .65s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .65s ease-in-out;
animation: reveal_up .8s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.mtd .step_card:nth-child(1) {
animation-delay: .1s
}

.mtd .step_card:nth-child(2) {
animation-delay: .22s
}

.mtd .step_card:nth-child(3) {
animation-delay: .34s
}

.mtd .step_card:nth-child(4) {
animation-delay: .46s
}

.mtd .step_card:nth-child(5) {
animation-delay: .58s
}

.mtd .step_card:nth-child(6) {
animation-delay: .7s
}

@keyframes reveal_up {
from {
opacity: 0;
transform: scale(0.94) translateY(16px)
}

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

.mtd .step_card:hover {
background: #f9f1391a;
transform: perspective(600px) rotateX(2deg) rotateY(-2deg) translateY(-4px);
box-shadow: 1px 8px 52px 1px #064d2624
}

.mtd .step_num {
font-size: 44px;
line-height: 1.15;
font-weight: 900;
color: #f9f1392e;
display: block;
margin-bottom: 8px
}

.mtd .step_h {
font-size: 18px;
line-height: 1.4;
color: #F9F139;
font-weight: 700;
margin: 0 0 8px
}

.mtd .step_p {
font-size: 16px;
line-height: 1.6;
color: #ffffffc7;
margin: 0
}

.mtd .expert_strip {
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
background: #dfc2fe1a;
border-radius: 7px;
padding: 24px
}

.mtd .expert_portrait {
flex-shrink: 0;
width: 72px;
height: 72px;
border-radius: 50%;
overflow: hidden;
box-shadow: 1px 4px 20px 1px #064d2614
}

.mtd .expert_portrait img {
width: 72px;
height: 72px;
object-fit: cover;
object-position: top;
display: block
}

.mtd .expert_txt {
flex: 1 1 auto
}

.mtd .expert_name {
font-size: 18px;
line-height: 1.4;
color: #F9F139;
font-weight: 700;
display: block
}

.mtd .expert_role {
font-size: 16px;
line-height: 1.4;
color: #ffffffa6;
display: block;
margin-top: 8px
}

.mtd .expert_quote {
font-size: 16px;
line-height: 1.6;
color: #ffffffd9;
margin: 8px 0 0;
font-style: italic
}

.mtd .tile_bg_blk {
position: relative
}

.mtd .tile_bg_blk::before {
content: '';
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(0deg, transparent, transparent 28px, #064d260a 28px, #064d260a 30px), repeating-linear-gradient(90deg, transparent, transparent 28px, #064d260a 28px, #064d260a 30px), repeating-linear-gradient(45deg, transparent, transparent 14px, #dfc2fe08 14px, #dfc2fe08 15px);
pointer-events: none;
border-radius: 0
}

.mtd .cycle_bg {
animation: bg_cycle 7s ease-in-out infinite alternate
}

@keyframes bg_cycle {
from {
background-color: #064D26
}

to {
background-color: #053d1e
}
}

@media (max-width: 1024px) {
.mtd .t_h1 {
font-size: 44px
}

.mtd .steps_grid {
grid-template-columns: repeat(2, 1fr)
}

.mtd .method_top {
flex-direction: column;
gap: 24px
}

.mtd .method_hd_col {
flex: 0 0 auto
}
}

@media (max-width: 640px) {
.mtd .title_blk .pg_wrap {
flex-direction: column;
gap: 24px
}

.mtd .t_right {
width: 100%
}

.mtd .t_h1 {
font-size: 32px
}

.mtd .steps_grid {
grid-template-columns: 1fr
}

.mtd .metrics_row {
flex-direction: column;
gap: 16px;
padding: 24px
}

.mtd .metric_div {
width: 80px;
height: 2px
}

.mtd .sec_h2 {
font-size: 32px
}

.mtd .expert_strip {
flex-direction: column;
text-align: center
}
}

@media (max-width: 360px) {
.mtd .t_h1 {
font-size: 24px
}

.mtd .pg_wrap {
padding: 0 16px
}

.mtd .sec_h2 {
font-size: 24px
}
}

.cu-pg {
max-width: 1320px;
margin: 0 auto;
overflow-x: clip
}

.cu-pg .reach {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 48px;
padding: 48px;
background: linear-gradient(247deg, #DFC2FE 0%, transparent 60%), #fff;
position: relative
}

.cu-pg .reach::before {
content: "";
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(45deg, transparent, transparent 18px, #064d260a 18px, #064d260a 20px), repeating-linear-gradient(-45deg, transparent, transparent 18px, #064d260a 18px, #064d260a 20px);
pointer-events: none
}

.cu-pg .reach_img_col {
flex: 0 0 420px;
position: relative;
border-radius: 7px;
overflow: hidden
}

.cu-pg .reach_img_col img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
border-radius: 7px
}

.cu-pg .reach_img_col::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to left, #064d2661 0%, transparent 65%);
border-radius: 7px;
pointer-events: none
}

.cu-pg .reach_text {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 24px;
position: relative;
z-index: 1
}

.cu-pg .reach_label {
display: inline-block;
background: #F9F139;
color: #064D26;
font-size: 16px;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
padding: 8px 16px;
border-radius: 4px;
box-shadow: 1px 2px 2px 1px #f9f1390d;
align-self: flex-start
}

.cu-pg .reach_h {
font-size: 44px;
line-height: 1.15;
color: #064D26;
margin: 0;
padding-left: 16px;
border-left: 4px solid #F9F139
}

.cu-pg .reach_desc {
font-size: 18px;
line-height: 1.6;
color: #1a3320;
margin: 0;
max-width: 480px
}

.cu-pg .reach_details {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 8px
}

.cu-pg .det_row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px
}

.cu-pg .det_icon {
flex: 0 0 40px;
height: 40px;
background: #064D26;
border-radius: 7px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 1px 4px 20px 1px #064d2614;
transition: transform .65s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .65s ease-in-out
}

.cu-pg .det_icon:hover {
transform: perspective(300px) rotateY(12deg) rotateX(-6deg);
box-shadow: 1px 8px 52px 1px #064d2624
}

.cu-pg .det_icon svg {
width: 20px;
height: 20px;
fill: #F9F139
}

.cu-pg .det_info {
display: flex;
flex-direction: column;
gap: 4px
}

.cu-pg .det_lbl {
font-size: 16px;
font-weight: 700;
color: #064D26;
text-transform: uppercase;
letter-spacing: .08em
}

.cu-pg .det_val {
font-size: 16px;
line-height: 1.4;
color: #2a4a35
}

.cu-pg .det_val a {
color: #064D26;
text-decoration: underline;
transition: transform .7s cubic-bezier(0.34, 1.2, 0.64, 1), color .65s ease-in-out;
display: inline-block
}

.cu-pg .det_val a:hover {
transform: rotate(-2deg);
color: #F9F139 !important
}

.cu-pg .form_band {
background: #064D26;
padding: 48px;
position: relative
}

.cu-pg .form_band::before {
content: "";
position: absolute;
top: -28px;
left: 0;
right: 0;
height: 30px;
background: #064D26;
clip-path: polygon(0 100%, 4% 0, 9% 80%, 15% 10%, 22% 70%, 28% 5%, 36% 85%, 43% 0, 51% 90%, 58% 15%, 65% 75%, 72% 0, 80% 88%, 87% 8%, 94% 72%, 100% 0, 100% 100%)
}

.cu-pg .form_inner {
max-width: 860px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 24px
}

.cu-pg .form_top {
display: flex;
flex-direction: column;
gap: 8px
}

.cu-pg .form_h {
font-size: 32px;
line-height: 1.15;
color: #F9F139;
margin: 0;
padding-left: 16px;
border-left: 4px solid #DFC2FE
}

.cu-pg .form_sub {
font-size: 18px;
line-height: 1.6;
color: #DFC2FE;
margin: 0;
padding-left: 16px
}

.cu-pg .f_grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

.cu-pg .f_full {
grid-column: 1 / -1
}

.cu-pg .f_field {
display: flex;
flex-direction: column;
gap: 8px
}

.cu-pg .f_lbl {
font-size: 16px;
font-weight: 700;
color: #DFC2FE;
letter-spacing: .06em
}

.cu-pg .f_inp {
background: #ffffff12;
border: 1.5px solid #dfc2fe4d;
border-radius: 7px;
padding: 16px;
font-size: 16px;
color: #fff;
outline: none;
width: 100%;
box-sizing: border-box;
box-shadow: inset 1px 2px 6px #064d261f;
transition: border-color .75s ease-in-out, background .75s ease-in-out
}

.cu-pg .f_inp::placeholder {
color: #dfc2fe73
}

.cu-pg .f_inp:focus {
border-color: #F9F139;
background: #f9f1390f
}

.cu-pg .f_textarea {
resize: vertical;
min-height: 120px
}

.cu-pg .f_select {
appearance: none;
-webkit-appearance: none;
cursor: pointer
}

.cu-pg .f_check_row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px
}

.cu-pg .f_check {
flex: 0 0 20px;
height: 20px;
margin-top: 2px;
accent-color: #F9F139;
cursor: pointer
}

.cu-pg .f_check_txt {
font-size: 16px;
line-height: 1.6;
color: #DFC2FE
}

.cu-pg .f_check_txt a {
color: #F9F139;
text-decoration: underline;
transition: color .65s ease-in-out
}

.cu-pg .f_check_txt a:hover {
color: #fff
}

.cu-pg .f_btn {
background: #F9F139;
color: #064D26;
border: none;
border-radius: 36px;
font-size: 18px;
font-weight: 700;
padding: 16px 48px;
cursor: pointer;
align-self: flex-start;
box-shadow: 1px 4px 20px 1px #f9f13914;
transition: background .8s ease-in-out, box-shadow .8s ease-in-out, transform .7s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.cu-pg .f_btn:hover {
background: #e8d020;
box-shadow: 1px 8px 52px 1px #f9f13924;
transform: perspective(400px) rotateX(-5deg) rotateY(4deg)
}

.cu-pg .f_btn:focus {
outline: 3px solid #DFC2FE;
outline-offset: 3px
}

.cu-pg .f_btn:active {
background: #cdb800
}

@keyframes slideFromLeft {
from {
opacity: 0;
transform: translateX(-40px)
}

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

@keyframes slideFromRight {
from {
opacity: 0;
transform: translateX(40px)
}

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

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

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

.cu-pg .reach_img_col {
animation: slideFromLeft .85s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.cu-pg .reach_text {
animation: slideFromRight .85s .15s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.cu-pg .form_inner {
animation: slideFromBottom .85s .25s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

@media (max-width: 1024px) {
.cu-pg .reach {
flex-direction: column;
gap: 24px;
padding: 48px 24px
}

.cu-pg .reach_img_col {
flex: 0 0 280px;
height: 280px
}

.cu-pg .form_band {
padding: 48px 24px
}
}

@media (max-width: 640px) {
.cu-pg .reach_h {
font-size: 32px
}

.cu-pg .f_grid {
grid-template-columns: 1fr
}

.cu-pg .f_full {
grid-column: 1
}

.cu-pg .reach {
padding: 24px 16px;
gap: 16px
}

.cu-pg .reach_img_col {
height: 220px
}

.cu-pg .form_band {
padding: 48px 16px
}

.cu-pg .form_h {
font-size: 24px
}

.cu-pg .f_btn {
width: 100%;
text-align: center
}
}

@media (max-width: 360px) {
.cu-pg .reach_h {
font-size: 24px
}

.cu-pg .det_icon {
flex: 0 0 32px;
height: 32px
}
}

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

.dbt .pg_wrap {
max-width: 1320px;
margin: 0 auto;
padding: 0 24px
}

.dbt .t_img_zone {
position: relative;
width: 100%;
background: #064D26
}

.dbt .t_img_zone img {
width: 100%;
height: 520px;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.7) brightness(0.65)
}

.dbt .t_grad {
position: absolute;
top: 0;
left: 0;
width: 60%;
height: 100%;
background: linear-gradient(247deg, transparent 0%, #064d26eb 100%);
pointer-events: none
}

.dbt .t_pattern {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden
}

.dbt .t_pattern span {
position: absolute;
width: 6px;
height: 6px;
border-radius: 50%;
background: #f9f1392e
}

.dbt .t_text_zone {
background: #064D26;
padding: 48px 0
}

.dbt .t_text_inner {
max-width: 1320px;
margin: 0 auto;
padding: 0 48px 0 24px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 48px
}

.dbt .t_label {
font-size: 16px;
line-height: 1.4;
color: #F9F139;
font-style: italic;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 16px
}

.dbt .t_h1 {
font-size: 62px;
line-height: 1.15;
color: #fff;
margin-bottom: 24px;
max-width: 680px
}

.dbt .t_sub {
font-size: 18px;
line-height: 1.6;
color: #ffffffd1;
max-width: 520px;
margin-bottom: 24px
}

.dbt .t_actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap
}

.dbt .btn_p {
display: inline-block;
padding: 16px 36px;
background: #F9F139;
color: #064D26;
font-size: 16px;
line-height: 1.4;
font-weight: 700;
border-radius: 7px;
text-decoration: none;
border: none;
cursor: pointer;
box-shadow: 1px 4px 20px 1px #f9f13914;
transition: background .65s cubic-bezier(0.34, 1.2, 0.64, 1), color .65s cubic-bezier(0.34, 1.2, 0.64, 1), transform .65s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.dbt .btn_p:hover {
background: #e8d900;
transform: perspective(400px) rotateY(-4deg) scale(1.03)
}

.dbt .btn_s {
display: inline-block;
padding: 16px 36px;
background: transparent;
color: #F9F139;
font-size: 16px;
line-height: 1.4;
font-weight: 600;
border-radius: 7px;
text-decoration: none;
border: 2px solid #f9f13980;
cursor: pointer;
transition: border-color .7s ease-in-out, background .7s ease-in-out, transform .7s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.dbt .btn_s:hover {
border-color: #F9F139;
background: #f9f13914;
transform: perspective(400px) rotateY(4deg)
}

.dbt .t_aside {
min-width: 220px;
display: flex;
flex-direction: column;
gap: 16px;
padding-top: 8px
}

.dbt .t_stat {
background: #f9f1391a;
border-radius: 7px;
padding: 16px;
box-shadow: 1px 2px 2px 1px #064d260d
}

.dbt .t_stat_num {
font-size: 32px;
line-height: 1.15;
color: #F9F139;
font-weight: 700
}

.dbt .t_stat_desc {
font-size: 16px;
line-height: 1.4;
color: #ffffffb3
}

.dbt .sec_proof {
padding: 48px 0;
background: #fff;
position: relative
}

.dbt .sec_proof::before {
content: "";
display: block;
width: 100%;
height: 4px;
background: #F9F139
}

.dbt .proof_grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
margin-top: 48px
}

.dbt .proof_img_wrap {
position: relative;
border-radius: 7px;
overflow: hidden;
box-shadow: 1px 8px 52px 1px #064d2624
}

.dbt .proof_img_wrap img {
width: 100%;
height: 380px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .85s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.dbt .proof_img_wrap:hover img {
transform: scale(1.04) perspective(600px) rotateX(2deg)
}

.dbt .proof_tint {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(247deg, #dfc2fe38 0%, transparent 70%);
pointer-events: none
}

.dbt .proof_txt {
display: flex;
flex-direction: column;
gap: 24px
}

.dbt .sec_h2 {
font-size: 44px;
line-height: 1.15;
color: #064D26;
position: relative;
padding-left: 16px
}

.dbt .sec_h2::before {
content: "";
display: block;
position: absolute;
left: 0;
top: 8px;
width: 4px;
height: calc(100% - 16px);
background: #F9F139;
border-radius: 4px
}

.dbt .body_p {
font-size: 18px;
line-height: 1.6;
color: #1a3320
}

.dbt .proof_tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px
}

.dbt .p_tag {
padding: 8px 16px;
background: #064d2612;
border-radius: 36px;
font-size: 16px;
line-height: 1.4;
color: #064D26;
font-style: italic
}

.dbt .sec_value {
padding: 48px 0;
background: linear-gradient(247deg, #dfc2fe47 0%, transparent 80%), #f5f2ee;
position: relative
}

.dbt .value_band {
width: 100%;
height: 6px;
background: #064D26;
margin-bottom: 48px
}

.dbt .value_layout {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px
}

.dbt .v_card {
background: #fff;
border-radius: 7px;
padding: 24px;
box-shadow: 1px 4px 20px 1px #064d2614;
transition: transform .75s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .75s ease-in-out;
position: relative
}

.dbt .v_card:hover {
transform: perspective(500px) rotateY(-3deg) translateY(-4px);
box-shadow: 1px 8px 52px 1px #064d2624
}

.dbt .v_icon {
width: 44px;
height: 44px;
background: #064D26;
border-radius: 7px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px;
position: relative
}

.dbt .v_icon_dot {
position: absolute;
top: -4px;
right: -4px;
width: 12px;
height: 12px;
background: #F9F139;
border-radius: 50%;
border: 2px solid #fff
}

.dbt .v_card_h {
font-size: 18px;
line-height: 1.4;
color: #064D26;
font-weight: 700;
margin-bottom: 8px
}

.dbt .v_card_p {
font-size: 16px;
line-height: 1.6;
color: #2a4a35
}

.dbt .value_h_wrap {
margin-bottom: 48px
}

.dbt .value_sub {
font-size: 18px;
line-height: 1.6;
color: #2a4a35;
max-width: 600px;
margin-top: 16px;
padding-left: 16px
}

.dbt .sec_exp {
padding: 48px 0;
background: #064D26
}

.dbt .exp_layout {
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start
}

.dbt .exp_img_col {
flex: 0 0 380px;
position: relative
}

.dbt .exp_img_wrap {
border-radius: 4px;
overflow: hidden;
box-shadow: 1px 8px 52px 1px #f9f13924
}

.dbt .exp_img_wrap img {
width: 100%;
height: 460px;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.8);
transition: transform .9s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.dbt .exp_img_wrap:hover img {
transform: scale(1.03) perspective(600px) rotateY(3deg)
}

.dbt .exp_tint {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(247deg, #f9f1391f 0%, transparent 60%);
pointer-events: none
}

.dbt .exp_txt_col {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px
}

.dbt .exp_h2 {
font-size: 44px;
line-height: 1.15;
color: #F9F139;
position: relative;
padding-left: 16px
}

.dbt .exp_h2::before {
content: "";
display: block;
position: absolute;
left: 0;
top: 8px;
width: 4px;
height: calc(100% - 16px);
background: #DFC2FE;
border-radius: 4px
}

.dbt .exp_p {
font-size: 18px;
line-height: 1.6;
color: #ffffffd9
}

.dbt .exp_phases {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 8px
}

.dbt .exp_phase {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
background: #ffffff0f;
border-radius: 7px;
transition: background .7s ease-in-out, transform .7s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.dbt .exp_phase:hover {
background: #f9f1391a;
transform: perspective(500px) rotateX(-2deg) translateX(4px)
}

.dbt .phase_num {
font-size: 32px;
line-height: 1.15;
color: #f9f13959;
font-weight: 700;
min-width: 48px;
text-align: right
}

.dbt .phase_body {
flex: 1
}

.dbt .phase_h {
font-size: 16px;
line-height: 1.4;
color: #DFC2FE;
font-weight: 700;
margin-bottom: 8px
}

.dbt .phase_p {
font-size: 16px;
line-height: 1.6;
color: #ffffffb3
}

.dbt .sec_fit {
padding: 48px 0;
background: #fff;
position: relative
}

.dbt .fit_top_band {
width: 100%;
height: 4px;
background: linear-gradient(247deg, #DFC2FE 0%, #F9F139 100%);
margin-bottom: 48px
}

.dbt .fit_layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start
}

.dbt .fit_txt {
display: flex;
flex-direction: column;
gap: 24px
}

.dbt .fit_h2 {
font-size: 44px;
line-height: 1.15;
color: #064D26;
position: relative;
padding-left: 16px
}

.dbt .fit_h2::before {
content: "";
display: block;
position: absolute;
left: 0;
top: 8px;
width: 4px;
height: calc(100% - 16px);
background: #DFC2FE;
border-radius: 4px
}

.dbt .fit_p {
font-size: 18px;
line-height: 1.6;
color: #1a3320
}

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

.dbt .fit_cond {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
border-radius: 7px;
background: #064d260a;
transition: background .65s ease-in-out, transform .65s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.dbt .fit_cond:hover {
background: #064d2617;
transform: perspective(500px) rotateY(3deg)
}

.dbt .cond_mark {
width: 8px;
height: 8px;
min-width: 8px;
background: #064D26;
border-radius: 50%;
margin-top: 8px
}

.dbt .cond_txt {
font-size: 16px;
line-height: 1.6;
color: #1a3320
}

.dbt .fit_portrait_col {
display: flex;
flex-direction: column;
gap: 24px
}

.dbt .portrait_frame {
width: 100%;
aspect-ratio: 1/1;
overflow: hidden;
border-radius: 4px;
box-shadow: 1px 8px 52px 1px #064d2624
}

.dbt .portrait_frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block;
filter: saturate(0.85)
}

.dbt .fit_quote {
padding: 24px;
background: #dfc2fe2e;
border-radius: 7px;
box-shadow: 1px 2px 2px 1px #064d260d
}

.dbt .fit_q_text {
font-size: 16px;
line-height: 1.6;
color: #064D26;
font-style: italic;
margin-bottom: 8px
}

.dbt .fit_q_attr {
font-size: 16px;
line-height: 1.4;
color: #2a4a35;
font-weight: 600
}

@keyframes img_scale_in {
from {
transform: scale(0.97)
}

to {
transform: scale(1)
}
}

.dbt .t_img_zone img {
animation: img_scale_in .9s cubic-bezier(0.34, 1.2, 0.64, 1) forwards
}

@media (max-width: 1024px) {
.dbt .t_h1 {
font-size: 44px
}

.dbt .proof_grid {
grid-template-columns: 1fr
}

.dbt .value_layout {
grid-template-columns: 1fr 1fr
}

.dbt .exp_layout {
flex-direction: column
}

.dbt .exp_img_col {
flex: none;
width: 100%
}

.dbt .fit_layout {
grid-template-columns: 1fr
}

.dbt .t_text_inner {
flex-direction: column;
gap: 24px
}

.dbt .t_aside {
flex-direction: row
}
}

@media (max-width: 640px) {
.dbt .t_h1 {
font-size: 32px
}

.dbt .sec_h2,
.dbt .exp_h2,
.dbt .fit_h2 {
font-size: 32px
}

.dbt .value_layout {
grid-template-columns: 1fr
}

.dbt .t_img_zone img {
height: 280px
}

.dbt .t_text_inner {
padding: 0 16px
}

.dbt .t_aside {
flex-direction: column
}

.dbt .proof_img_wrap img {
height: 240px
}

.dbt .exp_img_wrap img {
height: 280px
}
}

@media (max-width: 360px) {
.dbt .t_h1 {
font-size: 24px
}

.dbt .btn_p,
.dbt .btn_s {
padding: 16px 24px;
font-size: 16px
}

.dbt .pg_wrap {
padding: 0 16px
}
}

.pg_ok {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 48px 24px;
background: #fff
}

.pg_ok .card {
max-width: 560px;
width: 100%;
background: #fff;
border-radius: 36px;
box-shadow: 1px 8px 52px 1px #064d2624;
padding: 48px;
text-align: center
}

.pg_ok .icon_wrap {
width: 72px;
height: 72px;
border-radius: 36px;
background: linear-gradient(247deg, #DFC2FE, transparent);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 24px;
box-shadow: 1px 4px 20px 1px #064d2614
}

.pg_ok .icon_wrap svg {
display: block
}

.pg_ok .ttl {
font-size: 32px;
line-height: 1.15;
color: #064D26;
margin: 0 0 16px;
font-weight: 700
}

.pg_ok .msg {
font-size: 18px;
line-height: 1.6;
color: #2a2a2a;
margin: 0 0 24px
}

.pg_ok .note {
font-size: 16px;
line-height: 1.4;
color: #555;
margin: 0 0 48px
}

.pg_ok .note em {
color: #064D26;
font-style: italic
}

.pg_ok .btn_home {
display: inline-block;
padding: 16px 48px;
background: #064D26;
color: #F9F139;
font-size: 18px;
font-weight: 600;
border-radius: 7px;
text-decoration: none;
border: none;
cursor: pointer;
box-shadow: 1px 4px 20px 1px #064d2614;
transition: background .65s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .75s ease-in-out, transform .65s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.pg_ok .btn_home:hover {
background: #0a7a3e;
box-shadow: 1px 8px 52px 1px #064d2624;
transform: perspective(600px) rotateX(3deg) rotateY(-2deg)
}

.pg_ok .btn_home:focus {
outline: 3px solid #F9F139;
outline-offset: 3px
}

.pg_ok .divider {
width: 48px;
height: 4px;
border-radius: 4px;
background: #F9F139;
margin: 0 auto 24px
}

@media (max-width: 640px) {
.pg_ok .card {
padding: 24px;
border-radius: 7px
}

.pg_ok .ttl {
font-size: 24px
}

.pg_ok .msg {
font-size: 16px
}
}