html {
box-sizing: border-box
}

body {
margin: 0;
position: relative;
min-height: 100vh
}

*,
::before,
::after {
box-sizing: inherit
}

.skip-ref {
display: none
}

.site_header {
background: #EEEAE5;
border-bottom: 1px solid #C6D499;
position: relative;
z-index: 100
}

.header_top_band {
background: linear-gradient(90deg, #8CA747 0%, #C6D499 100%);
padding: 6px 24px;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 24px
}

.header_contact_item {
display: flex;
align-items: center;
gap: 6px;
font-family: 'Work Sans', sans-serif;
font-size: 15px;
line-height: 1.2;
color: #2a2a2a;
text-decoration: none;
letter-spacing: .01em;
transition: color .2s ease-out
}

.header_contact_item:hover {
color: #fff
}

.contact_icon {
width: 16px;
height: 16px;
flex-shrink: 0
}

.header_body_plate {
max-width: 1200px;
margin: 0 auto;
padding: 24px 40px;
display: grid;
grid-template-columns: auto 1fr;
gap: 40px;
align-items: center
}

.brand_pod {
display: flex;
flex-direction: column;
gap: 12px
}

.brand_logo_pill {
display: flex;
align-items: center;
background: #fff;
border-radius: 40px;
padding: 6px 24px 6px 12px;
box-shadow: 2px 4px 28px 0 #8ca7471c;
border: 1px solid #C6D499;
gap: 12px;
width: fit-content
}

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

.brand_name_label {
font-family: 'Work Sans', sans-serif;
font-size: 19px;
font-weight: 700;
line-height: 1.2;
letter-spacing: .02em;
color: #2a2a2a
}

.brand_rule {
border: none;
border-top: 2px solid #8CA747;
margin: 0;
width: 80px
}

.brand_tagline {
font-family: 'Work Sans', sans-serif;
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #4a4a4a;
margin: 0
}

.primary_nav_deck {
display: flex;
justify-content: flex-end;
align-items: center
}

.primary_nav_list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
gap: 6px;
justify-content: flex-end
}

.primary_nav_list li {
display: flex
}

.nav_link {
display: flex;
align-items: center;
gap: 6px;
font-family: 'Work Sans', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.2;
letter-spacing: .01em;
color: #2a2a2a;
text-decoration: none;
padding: 12px 24px;
border-radius: 8px;
border: 1px solid transparent;
transition: background .2s ease-out, border-color .25s ease-out, transform .15s ease-out;
min-height: 44px
}

.nav_link:hover {
background: #fff;
border-color: #C6D499;
box-shadow: 2px 1px 2px 0 #8ca74714;
transform: scale(0.97)
}

.nav_link:focus-visible {
outline: 2px solid #8CA747;
outline-offset: 3px
}

.nav_link.active {
background: #8CA747;
color: #fff;
border-color: #8CA747
}

.nav_link_icon {
width: 18px;
height: 18px;
flex-shrink: 0
}

@media (max-width: 768px) {
.header_body_plate {
grid-template-columns: 1fr;
padding: 24px;
gap: 24px
}

.primary_nav_deck {
justify-content: flex-start
}

.primary_nav_list {
justify-content: flex-start
}

.header_top_band {
flex-wrap: wrap;
justify-content: flex-start
}
}

.site_footer {
background: linear-gradient(160deg, #2a2a2a 0%, #3a3a3a 100%);
position: relative;
overflow: hidden
}

.footer_accent_bar {
height: 4px;
background: linear-gradient(90deg, #8CA747 0%, #C6D499 60%, #EEEAE5 100%)
}

.footer_body_plate {
max-width: 1200px;
margin: 0 auto;
padding: 80px 40px 40px;
display: grid;
grid-template-columns: 1fr auto 1fr;
gap: 40px;
align-items: start
}

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

.footer_col_center {
display: flex;
flex-direction: column;
align-items: center;
gap: 24px
}

.footer_col_right {
display: flex;
flex-direction: column;
gap: 24px;
align-items: flex-end
}

.footer_section_label {
font-family: 'Work Sans', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.2;
letter-spacing: .02em;
color: #8CA747;
text-transform: uppercase;
margin: 0
}

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

.footer_contact_list li {
display: flex;
align-items: flex-start;
gap: 12px
}

.footer_contact_link {
font-family: 'Work Sans', sans-serif;
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #C6D499;
text-decoration: none;
transition: color .2s ease-out
}

.footer_contact_link:hover {
color: #fff
}

.footer_contact_link:focus-visible {
outline: 2px solid #8CA747;
outline-offset: 2px
}

.footer_address_text {
font-family: 'Work Sans', sans-serif;
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #C6D499;
margin: 0;
font-style: normal
}

.footer_hours_pod {
background: #8ca7471f;
border: 1px solid #8ca7474d;
border-radius: 14px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px
}

.footer_hours_row {
display: flex;
justify-content: space-between;
gap: 24px
}

.footer_hours_day {
font-family: 'Work Sans', sans-serif;
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #C6D499
}

.footer_hours_time {
font-family: 'Work Sans', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.6;
letter-spacing: .01em;
color: #fff
}

.footer_brand_center {
display: flex;
flex-direction: column;
align-items: center;
gap: 12px
}

.footer_tagline_center {
font-family: 'Work Sans', sans-serif;
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #C6D499;
text-align: center;
margin: 0;
max-width: 220px
}

.footer_legal_nav_list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 12px;
align-items: flex-end
}

.footer_legal_link {
font-family: 'Work Sans', sans-serif;
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #C6D499;
text-decoration: none;
transition: color .22s ease-out
}

.footer_legal_link:hover {
color: #fff
}

.footer_legal_link:focus-visible {
outline: 2px solid #8CA747;
outline-offset: 2px
}

.footer_bottom_strip {
max-width: 1200px;
margin: 0 auto;
padding: 24px 40px 40px;
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
border-top: 1px solid #c6d49926
}

.footer_copyright {
font-family: 'Work Sans', sans-serif;
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #c6d49999;
margin: 0;
text-align: center
}

.footer_logo_pod {
background: #fff;
border-radius: 24px;
padding: 12px 24px;
box-shadow: 2px 10px 36px 0 #8ca74721;
border: 1px solid #C6D499;
display: flex;
align-items: center;
justify-content: center
}

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

.footer_icon_sm {
width: 16px;
height: 16px;
flex-shrink: 0;
margin-top: 3px
}

@media (max-width: 768px) {
.footer_body_plate {
grid-template-columns: 1fr;
padding: 40px 24px 24px
}

.footer_col_right {
align-items: flex-start
}

.footer_legal_nav_list {
align-items: flex-start
}

.footer_bottom_strip {
padding: 24px
}
}

.cookie_toast {
position: fixed;
bottom: 24px;
left: 24px;
z-index: 4000;
background: #fff;
border: 1px solid #C6D499;
border-radius: 14px;
box-shadow: 2px 10px 36px 0 #8ca74721;
padding: 24px;
max-width: 340px;
width: calc(100vw - 48px);
font-family: 'Work Sans', sans-serif
}

.cookie_headline {
font-size: 15px;
font-weight: 700;
line-height: 1.2;
letter-spacing: .01em;
color: #2a2a2a;
margin: 0 0 12px
}

.cookie_desc {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #4a4a4a;
margin: 0 0 24px
}

.cookie_btn_row {
display: flex;
gap: 12px;
align-items: center
}

.cookie_accept_btn {
font-family: 'Work Sans', sans-serif;
font-size: 15px;
font-weight: 700;
letter-spacing: .01em;
color: #fff;
background: linear-gradient(90deg, #8CA747 0%, #C6D499 100%);
border: 1px solid #8CA747;
border-radius: 8px;
padding: 12px 24px;
cursor: pointer;
min-height: 44px;
transition: transform .18s ease-out, box-shadow .22s ease-out
}

.cookie_accept_btn:hover {
transform: scale(0.97);
box-shadow: 2px 4px 28px 0 #8ca7471c
}

.cookie_accept_btn:focus-visible {
outline: 2px solid #8CA747;
outline-offset: 3px
}

.cookie_decline_lnk {
font-family: 'Work Sans', sans-serif;
font-size: 15px;
letter-spacing: .01em;
color: #4a4a4a;
background: transparent;
border: 1px solid #C6D499;
border-radius: 8px;
padding: 12px 24px;
cursor: pointer;
min-height: 44px;
transition: color .2s ease-out, border-color .25s ease-out
}

.cookie_decline_lnk:hover {
color: #2a2a2a;
border-color: #8CA747
}

.cookie_decline_lnk:focus-visible {
outline: 2px solid #8CA747;
outline-offset: 3px
}

.policy-text {
max-width: 1200px;
margin: 0 auto;
padding: 80px 40px;
color: #2d2d2d;
line-height: 1.9
}

.policy-text h1 {
font-size: 58px;
line-height: 1.2;
letter-spacing: .01em;
color: #2d2d2d;
margin-bottom: 40px;
margin-top: 0
}

.policy-text h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #2d2d2d;
margin-top: 80px;
margin-bottom: 24px
}

.policy-text h3 {
font-size: 19px;
line-height: 1.6;
letter-spacing: .02em;
color: #8CA747;
margin-top: 40px;
margin-bottom: 12px;
font-weight: 700
}

.policy-text h4 {
font-size: 19px;
line-height: 1.6;
letter-spacing: .02em;
color: #2d2d2d;
margin-top: 24px;
margin-bottom: 12px;
font-weight: 600
}

.policy-text h5 {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #2d2d2d;
margin-top: 24px;
margin-bottom: 6px;
font-weight: 600;
text-transform: uppercase
}

.policy-text h6 {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #8CA747;
margin-top: 12px;
margin-bottom: 6px;
font-weight: 600
}

.policy-text p {
font-size: 15px;
line-height: 1.9;
letter-spacing: .01em;
color: #3a3a3a;
margin-top: 0;
margin-bottom: 24px
}

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

.policy-text a {
color: #8CA747;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .2s ease-out, text-decoration-color .25s ease-out
}

.policy-text a:hover {
color: #6e8a32;
text-decoration-color: #C6D499
}

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

.policy-text div {
font-size: 15px;
line-height: 1.9
}

.policy-text table {
width: 100%;
border-collapse: collapse;
margin-top: 24px;
margin-bottom: 40px;
font-size: 15px;
line-height: 1.6;
border-radius: 14px;
overflow: hidden;
box-shadow: 2px 4px 28px 0 #8ca7471c
}

.policy-text thead {
background: #8CA747
}

.policy-text thead th {
color: #fff;
font-weight: 700;
letter-spacing: .02em;
padding: 12px 24px;
text-align: left;
font-size: 15px;
line-height: 1.6;
border: none
}

.policy-text tbody tr {
background: #fff;
transition: background .2s ease-out
}

.policy-text tbody tr:nth-child(even) {
background: #EEEAE5
}

.policy-text tbody tr:hover {
background: #C6D499
}

.policy-text td {
padding: 12px 24px;
font-size: 15px;
line-height: 1.6;
color: #3a3a3a;
border-bottom: 1px solid #EEEAE5;
vertical-align: top
}

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

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

.policy-text h1 {
font-size: 43px
}

.policy-text h2 {
font-size: 19px;
margin-top: 40px
}

.policy-text table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}
}

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

.srv_pg .pg_bound {
max-width: 1200px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px
}

.srv_pg .lead_band {
background-color: #8CA747;
padding-top: 80px;
padding-bottom: 80px;
position: relative
}

.srv_pg .lead_band::before {
content: '';
position: absolute;
inset: 0;
background-image: url(./profile_pictures/IMG_14399.jpg);
background-size: cover;
background-position: center;
opacity: .07;
pointer-events: none
}

.srv_pg .lead_deco {
position: absolute;
top: 40px;
right: 80px;
width: 180px;
height: 180px;
border: 2px solid #c6d49938;
border-radius: 40px;
transform: rotate(18deg);
pointer-events: none
}

.srv_pg .lead_deco_sm {
position: absolute;
bottom: 24px;
left: 40px;
width: 80px;
height: 80px;
border: 1px solid #eeeae52e;
border-radius: 24px;
transform: rotate(-12deg);
pointer-events: none
}

.srv_pg .lead_label {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #C6D499;
margin-bottom: 12px;
display: block
}

.srv_pg .lead_h {
font-size: 58px;
line-height: 1.2;
letter-spacing: .01em;
color: #fff;
margin: 0 0 24px;
max-width: 700px;
position: relative
}

.srv_pg .lead_h::after {
content: '';
display: block;
width: 0;
height: 2px;
background: #C6D499;
margin-top: 12px;
animation: underline_in .45s ease-out .2s forwards
}

@keyframes underline_in {
to {
width: 120px
}
}

.srv_pg .lead_link {
display: inline-block;
padding: 12px 40px;
background: linear-gradient(to top, #C6D499, transparent);
background-color: #ffffff1f;
color: #fff;
text-decoration: none;
border-radius: 8px;
font-size: 15px;
letter-spacing: .02em;
border: 1px solid #ffffff47;
transition: background-color .25s ease-out, transform .2s ease-out, width .22s ease-out
}

.srv_pg .lead_link:hover {
background-color: #ffffff38;
transform: scale(0.97)
}

.srv_pg .offer_band {
background-color: #fff;
padding-top: 80px;
padding-bottom: 80px
}

.srv_pg .offer_eyebrow {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #8CA747;
margin-bottom: 12px;
display: block
}

.srv_pg .offer_h {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #2a2e1f;
margin: 0 0 40px;
position: relative;
display: inline-block
}

.srv_pg .offer_h::after {
content: '';
display: block;
height: 2px;
width: 0;
background: #8CA747;
transition: width .45s ease-out;
margin-top: 8px
}

.srv_pg .offer_h:hover::after {
width: 100%
}

.srv_pg .cards_grid {
display: grid;
grid-template-columns: 3fr 2fr 1.4fr;
gap: 24px;
align-items: start
}

.srv_pg .svc_card {
background: #EEEAE5;
border-radius: 14px;
padding: 40px;
position: relative;
overflow: hidden;
box-shadow: 2px 4px 28px 0 #8ca7471c;
transition: transform .22s ease-out, box-shadow .28s ease-out
}

.srv_pg .svc_card:hover {
transform: scale(0.97);
box-shadow: 2px 10px 36px 0 #8ca74721
}

.srv_pg .svc_card .card_overlay {
position: absolute;
inset: 0;
background: linear-gradient(to top, #8ca74724, transparent);
opacity: 0;
transition: opacity .35s ease-out;
pointer-events: none;
border-radius: 14px
}

.srv_pg .svc_card:hover .card_overlay {
opacity: 1
}

.srv_pg .card_num {
font-size: 43px;
line-height: 1.2;
color: #8ca7472e;
letter-spacing: .01em;
margin-bottom: 6px
}

.srv_pg .card_ttl {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #2a2e1f;
margin: 0 0 12px;
position: relative
}

.srv_pg .card_ttl::after {
content: '';
display: block;
width: 32px;
height: 1px;
background: #8CA747;
margin-top: 8px
}

.srv_pg .card_body {
font-size: 15px;
line-height: 1.9;
letter-spacing: .01em;
color: #3d4228;
margin: 0
}

.srv_pg .card_tall {
padding-top: 80px;
padding-bottom: 80px
}

.srv_pg .step_band {
background: linear-gradient(to top, #C6D499, transparent);
background-color: #EEEAE5;
padding-top: 80px;
padding-bottom: 80px
}

.srv_pg .step_h {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #2a2e1f;
margin: 0 0 12px
}

.srv_pg .step_sub {
font-size: 15px;
line-height: 1.9;
color: #3d4228;
margin: 0 0 40px;
max-width: 560px
}

.srv_pg .step_track {
display: flex;
flex-direction: row;
gap: 0;
align-items: flex-start;
position: relative
}

.srv_pg .step_track::before {
content: '';
position: absolute;
top: 20px;
left: 20px;
right: 20px;
height: 1px;
background: linear-gradient(to right, #8CA747, #C6D499, #EEEAE5);
pointer-events: none
}

.srv_pg .step_item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: 0 12px;
position: relative;
transition: transform .2s ease-out
}

.srv_pg .step_item:hover {
transform: scale(0.97)
}

.srv_pg .step_dot {
width: 40px;
height: 40px;
border-radius: 40px;
background: #8CA747;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 15px;
letter-spacing: .01em;
margin-bottom: 12px;
box-shadow: 2px 1px 2px 0 #8ca74714;
position: relative;
z-index: 1;
flex-shrink: 0
}

.srv_pg .step_lbl {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #2a2e1f;
margin: 0 0 6px
}

.srv_pg .step_desc {
font-size: 15px;
line-height: 1.9;
color: #3d4228;
margin: 0
}

.srv_pg .voices_band {
background: #fff;
padding-top: 80px;
padding-bottom: 80px
}

.srv_pg .voices_layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center
}

.srv_pg .voices_h {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #2a2e1f;
margin: 0 0 24px;
position: relative
}

.srv_pg .voices_h::after {
content: '';
display: block;
width: 56px;
height: 2px;
background: #8CA747;
margin-top: 12px
}

.srv_pg .voices_body {
font-size: 15px;
line-height: 1.9;
color: #3d4228;
margin: 0 0 24px
}

.srv_pg .voices_list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px
}

.srv_pg .voices_list li {
font-size: 15px;
line-height: 1.9;
color: #3d4228;
padding-left: 24px;
position: relative
}

.srv_pg .voices_list li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 10px;
height: 10px;
border-radius: 4px;
background: #8CA747
}

.srv_pg .portrait_pair {
display: flex;
flex-direction: column;
gap: 24px
}

.srv_pg .portrait_card {
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
background: #EEEAE5;
border-radius: 14px;
padding: 24px;
box-shadow: 2px 1px 2px 0 #8ca74714;
transition: transform .25s ease-out, box-shadow .3s ease-out
}

.srv_pg .portrait_card:hover {
transform: scale(0.97);
box-shadow: 2px 4px 28px 0 #8ca7471c
}

.srv_pg .portrait_img {
width: 72px;
height: 72px;
border-radius: 24px;
object-fit: cover;
object-position: center;
flex-shrink: 0
}

.srv_pg .portrait_quote {
font-size: 15px;
line-height: 1.9;
color: #3d4228;
margin: 0 0 6px
}

.srv_pg .portrait_name {
font-size: 15px;
line-height: 1.6;
color: #8CA747;
letter-spacing: .02em;
margin: 0
}

.srv_pg .portrait_role {
font-size: 15px;
line-height: 1.6;
color: #6a7040;
margin: 0
}

.srv_pg .divider_slash {
width: 100%;
height: 2px;
background: linear-gradient(to right, #8CA747 0%, #C6D499 60%, transparent 100%);
margin: 0
}

@keyframes diag_reveal {
from {
opacity: 0;
transform: translateX(-16px) translateY(12px)
}

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

.srv_pg .anim_in {
animation: diag_reveal .4s ease-out both
}

.srv_pg .anim_in:nth-child(2) {
animation-delay: .08s
}

.srv_pg .anim_in:nth-child(3) {
animation-delay: .16s
}

.srv_pg .anim_in:nth-child(4) {
animation-delay: .24s
}

.srv_pg .anim_in:nth-child(5) {
animation-delay: .32s
}

@media (max-width: 900px) {
.srv_pg .cards_grid {
grid-template-columns: 1fr 1fr
}

.srv_pg .voices_layout {
grid-template-columns: 1fr
}

.srv_pg .step_track {
flex-direction: column;
align-items: flex-start;
gap: 24px
}

.srv_pg .step_track::before {
top: 0;
bottom: 0;
left: 20px;
right: auto;
width: 1px;
height: auto;
background: linear-gradient(to bottom, #8CA747, #C6D499, #EEEAE5)
}

.srv_pg .step_item {
flex-direction: row;
text-align: left;
align-items: flex-start;
gap: 12px
}

.srv_pg .step_dot {
margin-bottom: 0
}
}

@media (max-width: 600px) {
.srv_pg .cards_grid {
grid-template-columns: 1fr
}

.srv_pg .lead_h {
font-size: 43px
}

.srv_pg .lead_deco,
.srv_pg .lead_deco_sm {
display: none
}
}

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

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

.dbt .t_block {
display: grid;
grid-template-columns: 60fr 40fr;
min-height: 560px;
position: relative;
background-color: #EEEAE5
}

.dbt .t_block::before {
content: '';
position: absolute;
inset: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.75" numOctaves="4" stitchTiles="stitch"/><feColorMatrix type="saturate" values="0"/></filter><rect width="200" height="200" filter="url(%23n)" opacity="0.045"/></svg>');
pointer-events: none;
z-index: 1
}

.dbt .t_text_col {
display: flex;
flex-direction: column;
justify-content: center;
padding: 80px 40px 80px 80px;
position: relative;
z-index: 2
}

.dbt .t_img_col {
position: relative;
z-index: 2;
overflow: hidden
}

.dbt .t_img_col img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .45s ease-out
}

.dbt .t_img_col:hover img {
transform: scale(1.03)
}

.dbt .t_img_overlay {
position: absolute;
inset: 0;
background: linear-gradient(to top, #8ca7478c 0%, transparent 60%);
z-index: 1;
transition: opacity .38s ease-out
}

.dbt .t_img_col:hover .t_img_overlay {
opacity: .4
}

.dbt .t_corner_lines {
position: absolute;
top: 24px;
right: 24px;
z-index: 3;
display: flex;
flex-direction: column;
gap: 6px;
pointer-events: none
}

.dbt .t_corner_lines span {
display: block;
height: 1px;
background: #8CA747;
opacity: .45
}

.dbt .t_corner_lines span:nth-child(1) {
width: 40px
}

.dbt .t_corner_lines span:nth-child(2) {
width: 28px
}

.dbt .t_corner_lines span:nth-child(3) {
width: 18px
}

.dbt .t_corner_lines span:nth-child(4) {
width: 10px
}

.dbt .t_eyebrow {
font-size: 15px;
letter-spacing: .12em;
color: #8CA747;
text-transform: uppercase;
margin-bottom: 24px;
line-height: 1.2
}

.dbt .t_h1 {
font-size: 58px;
line-height: 1.2;
letter-spacing: .01em;
color: #232318;
margin-bottom: 0
}

.dbt .t_h1 em {
font-style: normal;
color: #8CA747
}

.dbt .t_border_acc {
border-right: 3px solid #8CA747
}

.dbt .outline_anim {
display: inline-block;
position: relative;
padding: 6px 0
}

.dbt .outline_anim::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 2px;
background: #8CA747;
animation: draw_line .45s ease-out .2s forwards
}

@keyframes draw_line {
to {
width: 100%
}
}

.dbt .border_trace {
position: relative
}

.dbt .border_trace::before {
content: '';
position: absolute;
inset: 0;
border: 2px solid transparent;
border-radius: 8px;
animation: trace_border .8s ease-out .1s forwards;
background: linear-gradient(#EEEAE5, #EEEAE5) padding-box, linear-gradient(135deg, #8CA747, #C6D499, transparent) border-box
}

@keyframes trace_border {
from {
opacity: 0
}

to {
opacity: 1
}
}

.dbt .s2 {
background: linear-gradient(to bottom, #c6d49938 0%, #fff 100%);
padding: 80px 0 0;
position: relative
}

.dbt .s2_inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px 80px
}

.dbt .s2_grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center
}

.dbt .s2_img_wrap {
position: relative;
border-radius: 14px;
overflow: hidden;
box-shadow: 2px 10px 36px 0 #8ca74721
}

.dbt .s2_img_wrap img {
width: 100%;
height: 380px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .42s ease-out, filter .42s ease-out;
filter: saturate(0.7)
}

.dbt .s2_img_wrap:hover img {
transform: scale(1.02);
filter: saturate(1)
}

.dbt .s2_img_tint {
position: absolute;
inset: 0;
background: linear-gradient(to top, #8ca74766 0%, transparent 55%);
transition: opacity .38s ease-out;
pointer-events: none
}

.dbt .s2_img_wrap:hover .s2_img_tint {
opacity: 0
}

.dbt .s2_tag {
font-size: 15px;
color: #8CA747;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 12px;
line-height: 1.2
}

.dbt .s2_h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #232318;
margin-bottom: 24px
}

.dbt .s2_h2 .ul_acc {
position: relative;
display: inline-block
}

.dbt .s2_h2 .ul_acc::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: #8CA747;
animation: draw_line .4s ease-out .3s forwards
}

.dbt .s2_body {
font-size: 19px;
line-height: 1.6;
color: #3a3a30;
letter-spacing: .01em;
margin-bottom: 24px
}

.dbt .s2_metrics {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 40px
}

.dbt .s2_metric {
flex: 1;
background: #fff;
border-radius: 14px;
padding: 24px;
box-shadow: 2px 4px 28px 0 #8ca7471c;
border-top: 3px solid #8CA747;
transition: transform .22s ease-out, box-shadow .28s ease-out
}

.dbt .s2_metric:hover {
transform: scale(0.97);
box-shadow: 2px 1px 2px 0 #8ca74714
}

.dbt .s2_metric_num {
font-size: 43px;
line-height: 1.2;
color: #8CA747;
letter-spacing: .01em;
display: block
}

.dbt .s2_metric_label {
font-size: 15px;
line-height: 1.6;
color: #5a5a4a;
letter-spacing: .01em
}

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

.dbt .curve_div svg {
display: block;
width: 100%
}

.dbt .s3 {
background: #fff;
padding: 80px 0
}

.dbt .s3_inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px
}

.dbt .s3_head {
max-width: 640px;
margin-bottom: 40px
}

.dbt .s3_tag {
font-size: 15px;
color: #8CA747;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 12px
}

.dbt .s3_h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #232318;
margin-bottom: 24px
}

.dbt .s3_intro {
font-size: 19px;
line-height: 1.6;
color: #3a3a30;
letter-spacing: .01em
}

.dbt .s3_split {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
margin-top: 40px
}

.dbt .s3_col_head {
font-size: 15px;
letter-spacing: .08em;
text-transform: uppercase;
color: #8CA747;
margin-bottom: 24px;
padding-bottom: 12px;
border-bottom: 1px solid #C6D499
}

.dbt .s3_list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px
}

.dbt .s3_list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
font-size: 19px;
line-height: 1.6;
color: #3a3a30;
letter-spacing: .01em
}

.dbt .s3_list li .bul {
flex-shrink: 0;
width: 10px;
height: 10px;
border-radius: 4px;
background: #8CA747;
margin-top: 7px
}

.dbt .s3_col.not_fit .s3_list li .bul {
background: #C6D499
}

.dbt .s3_img_strip {
margin-top: 40px;
border-radius: 14px;
overflow: hidden;
position: relative;
box-shadow: 2px 4px 28px 0 #8ca7471c
}

.dbt .s3_img_strip img {
width: 100%;
height: 260px;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.75);
transition: filter .35s ease-out
}

.dbt .s3_img_strip:hover img {
filter: saturate(1)
}

.dbt .s3_img_strip .strip_tint {
position: absolute;
inset: 0;
background: linear-gradient(to top, #8ca74773 0%, transparent 50%);
pointer-events: none;
transition: opacity .35s ease-out
}

.dbt .s3_img_strip:hover .strip_tint {
opacity: 0
}

.dbt .s4 {
background: linear-gradient(to bottom, #8ca74717 0%, #fff 100%);
padding: 80px 0;
position: relative
}

.dbt .s4_pattern {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.dbt .s4_pattern svg {
width: 100%;
height: 100%;
opacity: .04
}

.dbt .s4_inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
position: relative;
z-index: 1
}

.dbt .s4_tag {
font-size: 15px;
color: #8CA747;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 12px
}

.dbt .s4_h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #232318;
margin-bottom: 40px;
max-width: 700px
}

.dbt .s4_h2 .ul_acc {
position: relative;
display: inline-block
}

.dbt .s4_h2 .ul_acc::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: #8CA747;
animation: draw_line .4s ease-out .5s forwards
}

.dbt .s4_pyramid {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
margin: 40px auto;
max-width: 560px
}

.dbt .pyr_layer {
border-radius: 8px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
padding: 12px 24px;
text-align: center;
transition: transform .2s ease-out, box-shadow .25s ease-out;
cursor: default
}

.dbt .pyr_layer:hover {
transform: scale(0.97);
box-shadow: 2px 10px 36px 0 #8ca74721
}

.dbt .pyr_layer:nth-child(1) {
width: 30%;
background: #8CA747;
color: #fff
}

.dbt .pyr_layer:nth-child(2) {
width: 48%;
background: #9db85a;
color: #fff
}

.dbt .pyr_layer:nth-child(3) {
width: 64%;
background: #b2c87a;
color: #232318
}

.dbt .pyr_layer:nth-child(4) {
width: 80%;
background: #C6D499;
color: #232318
}

.dbt .pyr_layer:nth-child(5) {
width: 96%;
background: #dde8bc;
color: #232318
}

.dbt .pyr_label {
font-size: 15px;
line-height: 1.2;
letter-spacing: .01em;
font-weight: 600
}

.dbt .s4_desc_grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-top: 40px
}

.dbt .s4_desc_item {
background: #fff;
border-radius: 14px;
padding: 24px;
box-shadow: 2px 4px 28px 0 #8ca7471c;
border-right: 3px solid #C6D499;
transition: transform .2s ease-out, border-color .3s ease-out
}

.dbt .s4_desc_item:hover {
transform: scale(0.97);
border-color: #8CA747
}

.dbt .s4_item_h {
font-size: 19px;
line-height: 1.2;
color: #232318;
letter-spacing: .01em;
margin-bottom: 12px
}

.dbt .s4_item_p {
font-size: 15px;
line-height: 1.6;
color: #5a5a4a;
letter-spacing: .01em
}

.dbt .s5 {
background: #232318;
padding: 80px 0;
position: relative
}

.dbt .s5_inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px
}

.dbt .s5_tag {
font-size: 15px;
color: #C6D499;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 12px
}

.dbt .s5_h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #fff;
margin-bottom: 24px;
max-width: 600px
}

.dbt .s5_intro {
font-size: 19px;
line-height: 1.6;
color: #C6D499;
letter-spacing: .01em;
max-width: 580px;
margin-bottom: 40px
}

.dbt .s5_dense_grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 24px
}

.dbt .s5_anchor {
grid-row: 1 / 3;
background: #8CA747;
border-radius: 24px;
padding: 40px;
display: flex;
flex-direction: column;
justify-content: flex-end;
box-shadow: 2px 10px 36px 0 #8ca74721;
transition: transform .22s ease-out
}

.dbt .s5_anchor:hover {
transform: scale(0.97)
}

.dbt .s5_anchor_num {
font-size: 58px;
line-height: 1.2;
color: #fff;
letter-spacing: .01em;
display: block;
margin-bottom: 12px
}

.dbt .s5_anchor_label {
font-size: 19px;
line-height: 1.6;
color: #ffffffe0;
letter-spacing: .01em
}

.dbt .s5_compact {
background: #2e2e22;
border-radius: 14px;
padding: 24px;
transition: transform .25s ease-out, background .3s ease-out
}

.dbt .s5_compact:hover {
transform: scale(0.97);
background: #363628
}

.dbt .s5_compact_h {
font-size: 15px;
line-height: 1.2;
color: #C6D499;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 6px
}

.dbt .s5_compact_p {
font-size: 15px;
line-height: 1.6;
color: #a8a898;
letter-spacing: .01em
}

.dbt .s5_corner_lines {
position: absolute;
bottom: 24px;
right: 24px;
display: flex;
flex-direction: column;
gap: 6px;
pointer-events: none
}

.dbt .s5_corner_lines span {
display: block;
height: 1px;
background: #8CA747;
opacity: .3
}

.dbt .s5_corner_lines span:nth-child(1) {
width: 40px
}

.dbt .s5_corner_lines span:nth-child(2) {
width: 28px
}

.dbt .s5_corner_lines span:nth-child(3) {
width: 18px
}

.dbt .s6 {
background: #fff;
padding: 80px 0
}

.dbt .s6_inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px
}

.dbt .s6_tag {
font-size: 15px;
color: #8CA747;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 12px
}

.dbt .s6_h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #232318;
margin-bottom: 40px;
max-width: 680px
}

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

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

.dbt .s6_step {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
padding: 24px;
border-radius: 14px;
background: #EEEAE5;
transition: transform .2s ease-out, box-shadow .28s ease-out
}

.dbt .s6_step:hover {
transform: scale(0.97);
box-shadow: 2px 4px 28px 0 #8ca7471c
}

.dbt .s6_step_num {
font-size: 43px;
line-height: 1.2;
color: #8CA747;
letter-spacing: .01em;
flex-shrink: 0;
width: 40px
}

.dbt .s6_step_h {
font-size: 19px;
line-height: 1.2;
color: #232318;
letter-spacing: .01em;
margin-bottom: 6px
}

.dbt .s6_step_p {
font-size: 15px;
line-height: 1.6;
color: #5a5a4a;
letter-spacing: .01em
}

.dbt .s6_img_col {
position: relative;
border-radius: 14px;
overflow: hidden;
box-shadow: 2px 10px 36px 0 #8ca74721
}

.dbt .s6_img_col img {
width: 100%;
height: 440px;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.7);
transition: filter .38s ease-out, transform .42s ease-out
}

.dbt .s6_img_col:hover img {
filter: saturate(1);
transform: scale(1.02)
}

.dbt .s6_img_col .img_tint {
position: absolute;
inset: 0;
background: linear-gradient(to top, #8ca74780 0%, transparent 55%);
pointer-events: none;
transition: opacity .38s ease-out
}

.dbt .s6_img_col:hover .img_tint {
opacity: 0
}

.dbt .s7 {
background: linear-gradient(to bottom, #c6d4992e 0%, #fff 100%);
padding: 80px 0
}

.dbt .s7_inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px
}

.dbt .s7_tag {
font-size: 15px;
color: #8CA747;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 12px
}

.dbt .s7_h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #232318;
margin-bottom: 40px;
max-width: 600px
}

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

.dbt .s7_review {
background: #fff;
border-radius: 14px;
padding: 40px;
box-shadow: 2px 4px 28px 0 #8ca7471c;
display: flex;
flex-direction: column;
gap: 24px;
transition: transform .22s ease-out, box-shadow .3s ease-out
}

.dbt .s7_review:hover {
transform: scale(0.97);
box-shadow: 2px 1px 2px 0 #8ca74714
}

.dbt .s7_review_text {
font-size: 19px;
line-height: 1.6;
color: #3a3a30;
letter-spacing: .01em
}

.dbt .s7_review_person {
display: flex;
flex-direction: row;
gap: 12px;
align-items: center
}

.dbt .s7_portrait {
width: 56px;
height: 84px;
border-radius: 40px;
overflow: hidden;
flex-shrink: 0;
box-shadow: 2px 1px 2px 0 #8ca74714
}

.dbt .s7_portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.dbt .s7_person_name {
font-size: 15px;
line-height: 1.2;
color: #232318;
letter-spacing: .01em;
font-weight: 600
}

.dbt .s7_person_role {
font-size: 15px;
line-height: 1.6;
color: #8CA747;
letter-spacing: .01em
}

.dbt .s7_rating_row {
display: flex;
flex-direction: row;
gap: 6px;
align-items: center;
margin-top: 40px
}

.dbt .s7_stars {
display: flex;
flex-direction: row;
gap: 6px
}

.dbt .star_svg {
width: 20px;
height: 20px
}

.dbt .s7_rating_text {
font-size: 15px;
color: #5a5a4a;
letter-spacing: .01em;
line-height: 1.2;
margin-left: 6px
}

.dbt .s7_no_portrait {
width: 56px;
height: 56px;
border-radius: 40px;
background: #C6D499;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.dbt .s7_initials {
font-size: 19px;
color: #232318;
letter-spacing: .01em;
line-height: 1.2
}

@media (max-width: 900px) {
.dbt .t_block {
grid-template-columns: 1fr
}

.dbt .t_img_col {
height: 320px
}

.dbt .t_text_col {
padding: 40px 24px
}

.dbt .t_h1 {
font-size: 43px
}

.dbt .s2_grid,
.dbt .s3_split,
.dbt .s4_desc_grid,
.dbt .s6_row,
.dbt .s7_review_grid {
grid-template-columns: 1fr
}

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

.dbt .s5_anchor {
grid-row: auto;
grid-column: 1 / -1
}

.dbt .s2_metrics {
flex-direction: column
}

.dbt .pyr_layer:nth-child(1) {
width: 50%
}

.dbt .pyr_layer:nth-child(2) {
width: 65%
}

.dbt .pyr_layer:nth-child(3) {
width: 78%
}

.dbt .pyr_layer:nth-child(4) {
width: 90%
}

.dbt .pyr_layer:nth-child(5) {
width: 100%
}
}

@media (max-width: 600px) {
.dbt .s5_dense_grid {
grid-template-columns: 1fr
}

.dbt .t_h1 {
font-size: 43px
}

.dbt .s2_h2,
.dbt .s3_h2,
.dbt .s4_h2,
.dbt .s5_h2,
.dbt .s6_h2,
.dbt .s7_h2 {
font-size: 43px
}
}

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

.lrn-prog .pg-wrap {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px
}

.lrn-prog ::selection {
background: #8ca7472e;
color: #1d2a0a
}

.lrn-prog .underline-draw {
position: relative;
display: inline-block
}

.lrn-prog .underline-draw::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: #8CA747;
animation: draw-line .45s ease-out .2s forwards
}

@keyframes draw-line {
to {
width: 100%
}
}

.lrn-prog .edge-glow {
position: relative
}

.lrn-prog .edge-glow::before {
content: '';
position: absolute;
inset: 0;
border-radius: 14px;
box-shadow: 0 0 0 0 #8ca74700;
animation: edge-pulse 4s ease-in-out infinite;
pointer-events: none;
z-index: 0
}

@keyframes edge-pulse {

0%,
100% {
box-shadow: 0 0 8px 0 #8ca7470f
}

50% {
box-shadow: 0 0 24px 4px #8ca74721
}
}

.lrn-prog *,
.lrn-prog ::before,
.lrn-prog ::after {
box-sizing: border-box
}

.lrn-prog ul {
list-style: none;
padding: 0;
margin: 0
}

.lrn-prog .visually-hidden {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap
}

.lrn-prog .title-strip {
padding: 40px 0;
background: #fff;
position: relative
}

.lrn-prog .title-strip .pg-wrap {
display: flex;
flex-direction: row;
align-items: center;
gap: 40px
}

.lrn-prog .title-text-col {
flex: 1 1 0;
min-width: 0
}

.lrn-prog .title-num-accent {
font-size: 58px;
line-height: 1.2;
letter-spacing: .01em;
color: #8CA747;
font-weight: 800;
display: block;
margin-bottom: 6px
}

.lrn-prog .title-h1 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #1d2a0a;
margin: 0 0 12px;
font-weight: 700
}

.lrn-prog .title-desc {
font-size: 19px;
line-height: 1.6;
letter-spacing: .02em;
color: #3a4a1e;
margin: 0 0 24px;
max-width: 520px
}

.lrn-prog .title-pattern {
display: flex;
flex-direction: row;
gap: 6px;
flex-wrap: wrap
}

.lrn-prog .pat-dot {
width: 6px;
height: 6px;
border-radius: 4px;
background: #C6D499;
opacity: .7
}

.lrn-prog .pat-dot:nth-child(3n) {
background: #8CA747;
opacity: .5
}

.lrn-prog .title-img-card {
flex: 0 0 260px;
width: 260px;
border-radius: 14px;
overflow: hidden;
position: relative;
box-shadow: 2px 4px 28px 0 #8ca7471c
}

.lrn-prog .title-img-card img {
display: block;
width: 260px;
height: 200px;
object-fit: cover;
object-position: center;
transition: filter .25s ease-out;
filter: brightness(0.82) saturate(0.7)
}

.lrn-prog .title-img-card:hover img {
filter: brightness(1) saturate(1)
}

.lrn-prog .scanline-overlay {
position: absolute;
inset: 0;
pointer-events: none;
background: repeating-linear-gradient(to bottom, transparent, transparent 3px, #8ca7470a 3px, #8ca7470a 4px);
border-radius: 14px
}

.lrn-prog .prog-structure {
padding: 80px 0;
background: #EEEAE5;
position: relative
}

.lrn-prog .prog-structure .diag-bg {
position: absolute;
inset: 0;
overflow: hidden;
pointer-events: none;
z-index: 0
}

.lrn-prog .prog-structure .diag-bg::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 45%;
height: 100%;
background: linear-gradient(to bottom, #C6D499, transparent);
clip-path: polygon(18% 0, 100% 0, 100% 100%, 0% 100%);
opacity: .28
}

.lrn-prog .prog-structure .pg-wrap {
position: relative;
z-index: 1
}

.lrn-prog .struct-label {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #8CA747;
font-weight: 600;
text-transform: uppercase;
margin-bottom: 12px;
display: block
}

.lrn-prog .struct-h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #1d2a0a;
margin: 0 0 40px;
font-weight: 700;
max-width: 600px
}

.lrn-prog .modules-list {
display: flex;
flex-direction: column;
gap: 24px
}

.lrn-prog .mod-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 24px;
background: #fff;
border-radius: 14px;
padding: 24px;
box-shadow: 2px 1px 2px 0 #8ca74714;
transition: box-shadow .2s ease-out, transform .18s ease-out;
cursor: default
}

.lrn-prog .mod-item:hover {
box-shadow: 2px 4px 28px 0 #8ca7471c;
transform: scale(0.97)
}

.lrn-prog .mod-num {
flex: 0 0 48px;
width: 48px;
height: 48px;
border-radius: 8px;
background: linear-gradient(to top, #C6D499, transparent);
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
font-size: 19px;
font-weight: 800;
color: #3a4a1e;
letter-spacing: .01em
}

.lrn-prog .mod-body {
flex: 1 1 0;
min-width: 0
}

.lrn-prog .mod-name {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #1d2a0a;
font-weight: 700;
margin: 0 0 6px
}

.lrn-prog .mod-desc {
font-size: 15px;
line-height: 1.9;
letter-spacing: .02em;
color: #3a4a1e;
margin: 0
}

.lrn-prog .mod-tag {
flex: 0 0 auto;
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #8CA747;
background: #8ca7471a;
border-radius: 40px;
padding: 6px 12px;
font-weight: 600;
white-space: nowrap
}

.lrn-prog .prog-details {
padding: 80px 0;
background: #fff
}

.lrn-prog .details-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start
}

.lrn-prog .details-text-col {
display: flex;
flex-direction: column;
gap: 24px
}

.lrn-prog .details-h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #1d2a0a;
font-weight: 700;
margin: 0
}

.lrn-prog .details-body {
font-size: 15px;
line-height: 1.9;
letter-spacing: .02em;
color: #3a4a1e;
margin: 0
}

.lrn-prog .specs-list {
display: flex;
flex-direction: column;
gap: 12px
}

.lrn-prog .spec-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 12px 0;
border-bottom: 1px solid #EEEAE5;
transition: color .2s ease-out
}

.lrn-prog .spec-item:hover .spec-val {
color: #8CA747
}

.lrn-prog .spec-bullet {
width: 10px;
height: 10px;
border-radius: 4px;
background: #8CA747;
flex-shrink: 0;
transition: transform .18s ease-out
}

.lrn-prog .spec-item:hover .spec-bullet {
transform: scale(0.97)
}

.lrn-prog .spec-key {
font-size: 15px;
line-height: 1.6;
color: #6a7a4a;
flex: 1 1 0;
letter-spacing: .02em
}

.lrn-prog .spec-val {
font-size: 15px;
line-height: 1.6;
color: #1d2a0a;
font-weight: 700;
letter-spacing: .01em;
transition: color .2s ease-out
}

.lrn-prog .data-table-col {
display: flex;
flex-direction: column;
gap: 12px
}

.lrn-prog .table-h4 {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #1d2a0a;
font-weight: 700;
margin: 0 0 12px
}

.lrn-prog .prog-table {
width: 100%;
border-collapse: collapse;
border-radius: 14px;
overflow: hidden;
box-shadow: 2px 1px 2px 0 #8ca74714
}

.lrn-prog .prog-table thead tr {
background: linear-gradient(to top, #8CA747, #a0bf55)
}

.lrn-prog .prog-table thead th {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #fff;
font-weight: 700;
padding: 12px 24px;
text-align: left
}

.lrn-prog .prog-table tbody tr {
transition: background .15s ease-out
}

.lrn-prog .prog-table tbody tr:nth-child(odd) {
background: #fff
}

.lrn-prog .prog-table tbody tr:nth-child(even) {
background: #EEEAE5
}

.lrn-prog .prog-table tbody tr:hover {
background: #8ca7471f
}

.lrn-prog .prog-table tbody td {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #1d2a0a;
padding: 12px 24px;
border-bottom: 1px solid #c6d4994d
}

.lrn-prog .prog-table tbody td:first-child {
color: #3a4a1e;
font-weight: 600
}

.lrn-prog .instructors {
padding: 80px 0;
background: #EEEAE5;
position: relative
}

.lrn-prog .instructors .geo-shape {
position: absolute;
top: -40px;
right: 80px;
width: 180px;
height: 180px;
border-radius: 40px;
background: linear-gradient(to top, #C6D499, transparent);
opacity: .35;
transform: rotate(18deg);
pointer-events: none;
overflow: hidden
}

.lrn-prog .instructors-h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #1d2a0a;
font-weight: 700;
margin: 0 0 12px
}

.lrn-prog .instructors-sub {
font-size: 15px;
line-height: 1.9;
letter-spacing: .02em;
color: #3a4a1e;
margin: 0 0 40px;
max-width: 560px
}

.lrn-prog .instructors-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start
}

.lrn-prog .instructor-card {
background: #fff;
border-radius: 14px;
padding: 24px;
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
box-shadow: 2px 4px 28px 0 #8ca7471c;
transition: box-shadow .22s ease-out, transform .2s ease-out
}

.lrn-prog .instructor-card:hover {
box-shadow: 2px 10px 36px 0 #8ca74721;
transform: scale(0.97)
}

.lrn-prog .instructor-portrait {
flex: 0 0 80px;
width: 80px;
height: 112px;
border-radius: 8px;
overflow: hidden
}

.lrn-prog .instructor-portrait img {
display: block;
width: 80px;
height: 112px;
object-fit: cover;
object-position: center
}

.lrn-prog .instructor-info {
flex: 1 1 0;
min-width: 0
}

.lrn-prog .instructor-name {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #1d2a0a;
font-weight: 700;
margin: 0 0 6px
}

.lrn-prog .instructor-role {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #8CA747;
font-weight: 600;
margin: 0 0 12px
}

.lrn-prog .instructor-bio {
font-size: 15px;
line-height: 1.9;
letter-spacing: .02em;
color: #3a4a1e;
margin: 0
}

.lrn-prog .instructor-card.grid-break {
grid-column: 1 / -1;
max-width: 520px;
margin-left: auto;
margin-right: auto
}

.lrn-prog .skills-col {
display: flex;
flex-direction: column;
gap: 12px;
padding-top: 12px
}

.lrn-prog .skills-h4 {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #1d2a0a;
font-weight: 700;
margin: 0 0 12px
}

.lrn-prog .skill-row {
display: flex;
flex-direction: column;
gap: 6px
}

.lrn-prog .skill-label {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #3a4a1e;
font-weight: 600
}

.lrn-prog .skill-bar-track {
width: 100%;
height: 8px;
background: #8ca74726;
border-radius: 4px;
overflow: hidden
}

.lrn-prog .skill-bar-fill {
height: 100%;
border-radius: 4px;
background: linear-gradient(to top, #8CA747, #C6D499);
animation: bar-fill .45s ease-out forwards;
transform-origin: left center
}

@keyframes bar-fill {
from {
width: 0
}
}

.lrn-prog .skill-bar-fill.w88 {
width: 88%
}

.lrn-prog .skill-bar-fill.w82 {
width: 82%
}

.lrn-prog .skill-bar-fill.w91 {
width: 91%
}

.lrn-prog .skill-bar-fill.w76 {
width: 76%
}

.lrn-prog .enroll-strip {
padding: 80px 0;
background: #fff;
position: relative
}

.lrn-prog .enroll-strip .pg-wrap {
display: flex;
flex-direction: row;
gap: 40px;
align-items: stretch
}

.lrn-prog .enroll-text-zone {
flex: 1 1 0;
min-width: 0;
display: flex;
flex-direction: column;
gap: 24px
}

.lrn-prog .enroll-h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #1d2a0a;
font-weight: 700;
margin: 0
}

.lrn-prog .enroll-body {
font-size: 15px;
line-height: 1.9;
letter-spacing: .02em;
color: #3a4a1e;
margin: 0
}

.lrn-prog .enroll-cta-group {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap
}

.lrn-prog .btn-primary {
display: inline-block;
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
font-weight: 700;
color: #fff;
background: linear-gradient(to top, #8CA747, #b5cc68);
border: none;
border-radius: 24px;
padding: 12px 40px;
cursor: pointer;
box-shadow: 2px 4px 28px 0 #8ca7471c;
transition: box-shadow .2s ease-out, transform .18s ease-out, padding .22s ease-out;
text-decoration: none
}

.lrn-prog .btn-primary:hover {
box-shadow: 2px 10px 36px 0 #8ca74721;
transform: scale(0.97);
padding: 12px 48px
}

.lrn-prog .btn-primary:focus {
outline: 3px solid #8CA747;
outline-offset: 3px
}

.lrn-prog .btn-secondary {
display: inline-block;
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
font-weight: 700;
color: #3a4a1e;
background: transparent;
border: 2px solid #8CA747;
border-radius: 24px;
padding: 12px 40px;
cursor: pointer;
transition: background .2s ease-out, transform .18s ease-out, padding .22s ease-out;
text-decoration: none
}

.lrn-prog .btn-secondary:hover {
background: #8ca7471a;
transform: scale(0.97);
padding: 12px 48px
}

.lrn-prog .btn-secondary:focus {
outline: 3px solid #8CA747;
outline-offset: 3px
}

.lrn-prog .price-panel {
flex: 0 0 320px;
width: 320px;
background: linear-gradient(to top, #C6D499, transparent);
border-radius: 14px;
padding: 40px 24px;
display: flex;
flex-direction: column;
gap: 24px;
box-shadow: 2px 4px 28px 0 #8ca7471c;
position: relative
}

.lrn-prog .price-panel.edge-glow::before {
border-radius: 14px
}

.lrn-prog .price-label {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #3a4a1e;
font-weight: 600;
margin: 0
}

.lrn-prog .price-amount {
font-size: 58px;
line-height: 1.2;
letter-spacing: .01em;
color: #1d2a0a;
font-weight: 800;
margin: 0
}

.lrn-prog .price-period {
font-size: 15px;
color: #6a7a4a;
font-weight: 400
}

.lrn-prog .price-includes {
display: flex;
flex-direction: column;
gap: 12px
}

.lrn-prog .price-inc-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #1d2a0a
}

.lrn-prog .inc-dot {
width: 8px;
height: 8px;
border-radius: 4px;
background: #8CA747;
flex-shrink: 0
}

@media (max-width: 900px) {
.lrn-prog .title-strip .pg-wrap {
flex-direction: column
}

.lrn-prog .title-img-card {
flex: 0 0 auto;
width: 100%
}

.lrn-prog .title-img-card img {
width: 100%;
height: 200px
}

.lrn-prog .details-grid {
grid-template-columns: 1fr
}

.lrn-prog .instructors-layout {
grid-template-columns: 1fr
}

.lrn-prog .instructor-card.grid-break {
max-width: 100%
}

.lrn-prog .enroll-strip .pg-wrap {
flex-direction: column
}

.lrn-prog .price-panel {
flex: 0 0 auto;
width: 100%
}

.lrn-prog .title-num-accent {
font-size: 43px
}

.lrn-prog .title-h1 {
font-size: 43px
}
}

@media (max-width: 600px) {
.lrn-prog .mod-item {
flex-direction: column
}

.lrn-prog .mod-tag {
align-self: flex-start
}

.lrn-prog .instructor-card {
flex-direction: column
}

.lrn-prog .enroll-cta-group {
flex-direction: column
}

.lrn-prog .prog-table thead th,
.lrn-prog .prog-table tbody td {
padding: 12px;
font-size: 15px
}
}

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

.cont_us .pg_wrap {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px
}

.cont_us .reach_split {
padding: 80px 0;
position: relative
}

.cont_us .reach_split::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse 60% 60% at 80% 50%, #8ca74712 0%, transparent 70%);
pointer-events: none
}

.cont_us .reach_split .pg_wrap {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start
}

.cont_us .reach_label {
font-size: 15px;
letter-spacing: .02em;
color: #8CA747;
line-height: 1.6;
margin-bottom: 12px;
display: block
}

.cont_us .reach_heading {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #2a2a2a;
margin-bottom: 24px
}

.cont_us .reach_heading .accent_word {
color: #8CA747;
position: relative;
display: inline-block
}

.cont_us .reach_heading .accent_word::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: linear-gradient(to right, #8CA747, #C6D499);
animation: underline_draw .45s ease-out .3s forwards
}

@keyframes underline_draw {
to {
width: 100%
}
}

.cont_us .reach_desc {
font-size: 15px;
line-height: 1.9;
color: #3d3d3d;
margin-bottom: 40px;
letter-spacing: .01em
}

.cont_us .contact_points {
display: flex;
flex-direction: column;
gap: 24px
}

.cont_us .c_point {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 24px;
background: #fff;
border-radius: 14px;
box-shadow: 2px 4px 28px 0 #8ca7471c;
transition: box-shadow .25s ease-out, transform .2s ease-out;
position: relative;
overflow: hidden
}

.cont_us .c_point::after {
content: '';
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 28px 28px;
border-color: transparent transparent #C6D499;
transition: border-width .2s ease-out
}

.cont_us .c_point:hover::after {
border-width: 0 0 40px 40px
}

.cont_us .c_point:hover {
box-shadow: 2px 10px 36px 0 #8ca74721;
transform: scale(0.97)
}

.cont_us .c_icon {
width: 40px;
height: 40px;
border-radius: 8px;
background: linear-gradient(to top, #C6D499, transparent);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.cont_us .c_icon svg {
width: 20px;
height: 20px;
stroke: #8CA747;
fill: none;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round
}

.cont_us .c_point_body {
display: flex;
flex-direction: column;
gap: 6px
}

.cont_us .c_point_label {
font-size: 15px;
color: #8CA747;
letter-spacing: .02em;
line-height: 1.2
}

.cont_us .c_point_val {
font-size: 19px;
color: #2a2a2a;
line-height: 1.6;
letter-spacing: .01em;
text-decoration: none;
transition: color .2s ease-out
}

.cont_us .c_point_val:hover {
color: #8CA747
}

.cont_us .form_col {
display: flex;
flex-direction: column;
gap: 24px
}

.cont_us .form_card {
background: #fff;
border-radius: 24px;
padding: 40px;
box-shadow: 2px 4px 28px 0 #8ca7471c
}

.cont_us .form_card_heading {
font-size: 19px;
line-height: 1.6;
color: #2a2a2a;
letter-spacing: .01em;
margin-bottom: 24px
}

.cont_us .field_group {
display: flex;
flex-direction: column;
gap: 6px;
margin-bottom: 24px
}

.cont_us .field_group:last-of-type {
margin-bottom: 0
}

.cont_us .f_label {
font-size: 15px;
color: #3d3d3d;
line-height: 1.6;
letter-spacing: .01em
}

.cont_us .f_input_wrap {
position: relative;
display: flex;
align-items: center
}

.cont_us .f_input_wrap .f_lead_icon {
position: absolute;
left: 12px;
width: 16px;
height: 16px;
pointer-events: none;
stroke: #8CA747;
fill: none;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round
}

.cont_us .f_input {
width: 100%;
padding: 12px 12px 12px 40px;
border-radius: 8px;
border: 1.5px solid #C6D499;
background: #EEEAE5;
font-size: 15px;
color: #2a2a2a;
line-height: 1.6;
letter-spacing: .01em;
box-shadow: inset 2px 2px 4px 0 #8ca74714;
transition: border-color .2s ease-out, box-shadow .25s ease-out;
outline: none;
box-sizing: border-box
}

.cont_us .f_input::placeholder {
color: #8a8a8a;
letter-spacing: .01em
}

.cont_us .f_input:focus {
border-color: #8CA747;
box-shadow: inset 2px 2px 4px 0 #8ca74714 2px 1px 2px 0 #8ca74714
}

.cont_us .f_select_wrap {
position: relative;
display: flex;
align-items: center
}

.cont_us .f_select_wrap .f_lead_icon {
position: absolute;
left: 12px;
width: 16px;
height: 16px;
pointer-events: none;
stroke: #8CA747;
fill: none;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
z-index: 1
}

.cont_us .f_select_wrap .f_chevron {
position: absolute;
right: 12px;
width: 14px;
height: 14px;
pointer-events: none;
stroke: #8CA747;
fill: none;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
z-index: 1
}

.cont_us .f_select {
width: 100%;
padding: 12px 40px;
border-radius: 8px;
border: 1.5px solid #C6D499;
background: #EEEAE5;
font-size: 15px;
color: #2a2a2a;
line-height: 1.6;
letter-spacing: .01em;
box-shadow: inset 2px 2px 4px 0 #8ca74714;
transition: border-color .2s ease-out;
outline: none;
appearance: none;
cursor: pointer;
box-sizing: border-box
}

.cont_us .f_select:focus {
border-color: #8CA747
}

.cont_us .privacy_row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin-bottom: 24px
}

.cont_us .privacy_check {
width: 18px;
height: 18px;
accent-color: #8CA747;
margin-top: 2px;
flex-shrink: 0;
cursor: pointer
}

.cont_us .privacy_text {
font-size: 15px;
color: #3d3d3d;
line-height: 1.6;
letter-spacing: .01em
}

.cont_us .privacy_text a {
color: #8CA747;
text-decoration: underline;
text-underline-offset: 3px;
transition: color .2s ease-out
}

.cont_us .privacy_text a:hover {
color: #6a8a32
}

.cont_us .submit_btn {
display: inline-block;
padding: 12px 40px;
background: linear-gradient(to top, #8CA747, #C6D499);
color: #fff;
font-size: 19px;
letter-spacing: .01em;
line-height: 1.6;
border: none;
border-radius: 14px;
cursor: pointer;
box-shadow: 2px 4px 28px 0 #8ca7471c;
transition: box-shadow .35s ease-out, transform .2s ease-out, padding .25s ease-out;
width: 100%
}

.cont_us .submit_btn:hover {
box-shadow: 2px 10px 36px 0 #8ca74721;
transform: scale(0.97);
padding: 12px 56px
}

.cont_us .submit_btn:focus {
outline: 2px solid #8CA747;
outline-offset: 3px
}

.cont_us .submit_btn:active {
transform: scale(0.95)
}

.cont_us .stats_testi {
padding: 80px 0;
background: linear-gradient(to top, #c6d4992e, transparent);
position: relative
}

.cont_us .stats_testi::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse 40% 80% at 0% 50%, #8ca7470f 0%, transparent 70%);
pointer-events: none
}

.cont_us .stats_testi .pg_wrap {
display: grid;
grid-template-columns: 1fr 1.4fr;
gap: 80px;
align-items: center
}

.cont_us .testi_block {
position: relative;
padding: 40px;
background: #fff;
border-radius: 24px;
box-shadow: 2px 10px 36px 0 #8ca74721
}

.cont_us .quote_mark {
font-size: 58px;
line-height: 1.2;
color: #C6D499;
position: absolute;
top: 12px;
left: 24px;
font-family: Georgia, serif;
pointer-events: none;
user-select: none
}

.cont_us .testi_text {
font-size: 19px;
line-height: 1.9;
color: #2a2a2a;
letter-spacing: .01em;
margin-bottom: 24px;
padding-top: 24px
}

.cont_us .testi_author {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.cont_us .author_avatar {
width: 40px;
height: 40px;
border-radius: 40px;
background: linear-gradient(to top, #8CA747, #C6D499);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.cont_us .author_avatar svg {
width: 22px;
height: 22px;
stroke: #fff;
fill: none;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round
}

.cont_us .author_name {
font-size: 15px;
color: #2a2a2a;
line-height: 1.6;
letter-spacing: .01em
}

.cont_us .author_role {
font-size: 15px;
color: #8CA747;
line-height: 1.2;
letter-spacing: .01em
}

.cont_us .stats_col {
display: flex;
flex-direction: column;
gap: 24px
}

.cont_us .stats_heading {
font-size: 43px;
line-height: 1.2;
color: #2a2a2a;
letter-spacing: .01em;
margin-bottom: 12px
}

.cont_us .stats_heading .accent_word {
color: #8CA747;
position: relative;
display: inline-block
}

.cont_us .stats_heading .accent_word::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: linear-gradient(to right, #8CA747, #C6D499);
animation: underline_draw .45s ease-out .5s forwards
}

.cont_us .stats_desc {
font-size: 15px;
line-height: 1.9;
color: #3d3d3d;
letter-spacing: .01em;
margin-bottom: 12px
}

.cont_us .metric_grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px
}

.cont_us .metric_item {
padding: 24px;
background: #EEEAE5;
border-radius: 14px;
display: flex;
flex-direction: column;
gap: 6px;
box-shadow: 2px 1px 2px 0 #8ca74714;
transition: box-shadow .3s ease-out, transform .22s ease-out
}

.cont_us .metric_item:hover {
box-shadow: 2px 4px 28px 0 #8ca7471c;
transform: scale(0.97)
}

.cont_us .metric_num {
font-size: 43px;
line-height: 1.2;
color: #8CA747;
letter-spacing: .01em
}

.cont_us .metric_desc {
font-size: 15px;
line-height: 1.6;
color: #3d3d3d;
letter-spacing: .01em
}

.cont_us .divider_line {
display: flex;
flex-direction: row;
align-items: center;
gap: 0;
height: 2px;
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
box-sizing: border-box
}

.cont_us .divider_seg {
flex: 1;
height: 1px;
background: #C6D499;
opacity: .5
}

.cont_us .divider_accent {
width: 40px;
height: 2px;
background: #8CA747;
border-radius: 4px
}

.cont_us .bento_reach {
padding: 80px 0 40px;
position: relative
}

.cont_us .bento_reach::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse 70% 50% at 30% 80%, #c6d4991f 0%, transparent 65%);
pointer-events: none
}

.cont_us .bento_grid {
display: grid;
grid-template-columns: 1.1fr 0.9fr;
grid-template-rows: auto auto;
gap: 24px
}

.cont_us .bento_img_cell {
grid-row: 1 / 3;
border-radius: 24px;
overflow: hidden;
position: relative;
min-height: 400px;
box-shadow: 2px 10px 36px 0 #8ca74721
}

.cont_us .bento_img_cell::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to top, #8ca74773, #c6d49926);
z-index: 1;
transition: opacity .35s ease-out
}

.cont_us .bento_img_cell:hover::before {
opacity: 0
}

.cont_us .bento_img_cell img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.cont_us .bento_text_cell {
background: #fff;
border-radius: 24px;
padding: 40px;
box-shadow: 2px 4px 28px 0 #8ca7471c;
display: flex;
flex-direction: column;
justify-content: center;
gap: 12px
}

.cont_us .bento_sub_cell {
background: linear-gradient(to top, #C6D499, transparent);
border-radius: 14px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 6px;
box-shadow: 2px 1px 2px 0 #8ca74714
}

.cont_us .bento_eyebrow {
font-size: 15px;
color: #8CA747;
letter-spacing: .02em;
line-height: 1.2
}

.cont_us .bento_h1 {
font-size: 58px;
line-height: 1.2;
color: #2a2a2a;
letter-spacing: .01em
}

.cont_us .bento_h1 .accent_word {
color: #8CA747;
position: relative;
display: inline-block
}

.cont_us .bento_h1 .accent_word::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: linear-gradient(to right, #8CA747, #C6D499);
animation: underline_draw .45s ease-out .2s forwards
}

.cont_us .bento_body {
font-size: 15px;
line-height: 1.9;
color: #3d3d3d;
letter-spacing: .01em
}

.cont_us .bento_sub_label {
font-size: 15px;
color: #3d3d3d;
line-height: 1.6;
letter-spacing: .01em
}

.cont_us .bento_sub_val {
font-size: 19px;
color: #2a2a2a;
line-height: 1.6;
letter-spacing: .01em
}

.cont_us .blob_layer {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 24px
}

.cont_us .blob_shape {
position: absolute;
border-radius: 40px;
filter: blur(32px);
opacity: .18
}

.cont_us .blob_a {
width: 160px;
height: 160px;
background: #8CA747;
top: -40px;
right: -40px
}

.cont_us .blob_b {
width: 100px;
height: 100px;
background: #C6D499;
bottom: 24px;
left: 12px
}

.cont_us .spotlight_section {
padding: 80px 0;
position: relative;
overflow: hidden
}

.cont_us .spotlight_bg {
position: absolute;
inset: 0;
background: #EEEAE5;
pointer-events: none
}

.cont_us .spotlight_drift {
position: absolute;
width: 600px;
height: 600px;
border-radius: 40px;
background: radial-gradient(ellipse at center, #8ca74721 0%, transparent 70%);
animation: drift_move 8s ease-in-out infinite alternate;
pointer-events: none;
top: -100px;
left: -100px
}

@keyframes drift_move {
0% {
transform: translate(0, 0)
}

100% {
transform: translate(400px, 200px)
}
}

@media (max-width: 900px) {
.cont_us .reach_split .pg_wrap {
grid-template-columns: 1fr;
gap: 40px
}

.cont_us .stats_testi .pg_wrap {
grid-template-columns: 1fr;
gap: 40px
}

.cont_us .bento_grid {
grid-template-columns: 1fr
}

.cont_us .bento_img_cell {
grid-row: auto;
min-height: 240px
}

.cont_us .bento_h1 {
font-size: 43px
}

.cont_us .reach_heading {
font-size: 43px
}

.cont_us .metric_grid {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 600px) {
.cont_us .metric_grid {
grid-template-columns: 1fr
}

.cont_us .form_card {
padding: 24px
}

.cont_us .bento_text_cell {
padding: 24px
}

.cont_us .stats_testi {
padding: 40px 0
}

.cont_us .reach_split {
padding: 40px 0
}

.cont_us .bento_reach {
padding: 40px 0 24px
}
}

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

.abt .pg-wrap {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px
}

@keyframes maskReveal {
from {
clip-path: inset(0 50% 0 50%)
}

to {
clip-path: inset(0 0% 0 0%)
}
}

@keyframes fadeUp {
from {
opacity: 0;
transform: translateY(24px)
}

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

.abt .hero-band {
background: linear-gradient(to top, transparent, #8CA747cc);
padding: 80px 0 40px;
position: relative
}

.abt .hero-band::before {
content: '';
position: absolute;
inset: 0;
background: #EEEAE5;
z-index: -1
}

.abt .hero-deco {
position: absolute;
top: 0;
left: 0;
width: 56%;
height: 100%;
background: linear-gradient(to bottom, #8CA74722, transparent);
border-radius: 0 24px 24px 0;
pointer-events: none
}

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

.abt .hero-text {
animation: fadeUp .45s ease-out both
}

.abt .hero-eyebrow {
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
color: #8CA747;
font-weight: 600;
margin-bottom: 12px;
display: block
}

.abt .hero-h1 {
font-size: 58px;
line-height: 1.2;
letter-spacing: .01em;
color: #2a2a1e;
margin-bottom: 24px;
position: relative;
display: inline-block
}

.abt .hero-h1::after {
content: '';
position: absolute;
bottom: -6px;
left: 0;
width: 0;
height: 3px;
background: #8CA747;
border-radius: 4px;
animation: underlineIn .35s .4s ease-out forwards
}

@keyframes underlineIn {
to {
width: 100%
}
}

.abt .hero-lead {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #3b3b2a;
margin-bottom: 24px
}

.abt .hero-theses {
display: flex;
flex-direction: column;
gap: 12px
}

.abt .hero-thesis {
font-size: 15px;
line-height: 1.9;
letter-spacing: .01em;
color: #3b3b2a;
padding-left: 16px;
border-top: 1px solid #C6D49966;
padding-top: 6px
}

.abt .hero-img-col {
position: relative;
animation: fadeUp .42s .15s ease-out both
}

.abt .hero-img-frame {
border-radius: 14px;
overflow: hidden;
box-shadow: 2px 10px 36px 0 #8ca74721;
position: relative
}

.abt .hero-img-frame img {
width: 100%;
height: 480px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .45s ease-out
}

.abt .hero-img-frame:hover img {
transform: scale(1.03)
}

.abt .hero-img-frame::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at center, transparent 40%, #8CA74744 100%);
pointer-events: none;
transition: opacity .35s ease-out
}

.abt .hero-img-frame:hover::after {
opacity: 0
}

.abt .story-band {
padding: 80px 0;
background: #fff
}

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

.abt .story-img-wrap {
border-radius: 14px;
overflow: hidden;
box-shadow: 2px 4px 28px 0 #8ca7471c;
position: relative
}

.abt .story-img-wrap img {
width: 100%;
height: 360px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .42s ease-out
}

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

.abt .story-img-wrap::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to top, #8CA74733, transparent 60%);
z-index: 1;
pointer-events: none;
transition: opacity .38s ease-out
}

.abt .story-img-wrap:hover::before {
opacity: 0
}

.abt .story-metrics {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 40px
}

.abt .metric-card {
background: #EEEAE5;
border-radius: 14px;
padding: 24px;
box-shadow: 2px 1px 2px 0 #8ca74714;
transition: transform .25s ease-out, box-shadow .28s ease-out
}

.abt .metric-card:hover {
transform: scale(0.97);
box-shadow: 2px 4px 28px 0 #8ca7471c
}

.abt .metric-num {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #8CA747;
font-weight: 700;
display: block
}

.abt .metric-label {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #3b3b2a;
margin-top: 6px
}

.abt .story-text-col .s-h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #2a2a1e;
margin-bottom: 24px;
position: relative;
display: inline-block
}

.abt .story-text-col .s-h2::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: #C6D499;
border-radius: 4px;
transition: width .35s ease-out
}

.abt .story-text-col:hover .s-h2::after {
width: 100%
}

.abt .story-p {
font-size: 15px;
line-height: 1.9;
letter-spacing: .01em;
color: #3b3b2a;
margin-bottom: 24px
}

.abt .team-band {
padding: 80px 0;
background: #EEEAE5;
position: relative
}

.abt .team-band::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to top, transparent, #c6d4992e);
pointer-events: none
}

.abt .team-reveal {
animation: maskReveal .45s ease-out both
}

.abt .team-h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #2a2a1e;
margin-bottom: 12px;
position: relative;
display: inline-block
}

.abt .team-h2::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: #8CA747;
border-radius: 4px;
transition: width .38s ease-out
}

.abt .team-band:hover .team-h2::after {
width: 100%
}

.abt .team-sub {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #3b3b2a;
margin-bottom: 40px;
max-width: 600px
}

.abt .team-layout {
display: grid;
grid-template-columns: 240px 1fr;
gap: 40px;
align-items: start
}

.abt .portrait-wrap {
border-radius: 14px;
overflow: hidden;
box-shadow: 2px 4px 28px 0 #8ca7471c;
aspect-ratio: 2/3
}

.abt .portrait-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .4s ease-out
}

.abt .portrait-wrap:hover img {
transform: scale(0.97)
}

.abt .expert-info {
display: flex;
flex-direction: column;
gap: 24px
}

.abt .expert-name {
font-size: 19px;
line-height: 1.2;
letter-spacing: .01em;
color: #2a2a1e;
font-weight: 700
}

.abt .expert-role {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #8CA747;
font-weight: 600;
margin-top: 6px
}

.abt .expert-bio {
font-size: 15px;
line-height: 1.9;
letter-spacing: .01em;
color: #3b3b2a
}

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

.abt .approach-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
font-size: 15px;
line-height: 1.9;
letter-spacing: .01em;
color: #3b3b2a
}

.abt .approach-list li::before {
content: '';
flex-shrink: 0;
width: 12px;
height: 12px;
margin-top: 6px;
border-radius: 4px;
background: #8CA747
}

.abt .process-band {
padding: 80px 0;
background: #fff
}

.abt .process-h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #2a2a1e;
margin-bottom: 12px;
position: relative;
display: inline-block
}

.abt .process-h2::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: #C6D499;
border-radius: 4px;
transition: width .4s ease-out
}

.abt .process-band:hover .process-h2::after {
width: 100%
}

.abt .process-lead {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #3b3b2a;
margin-bottom: 40px;
max-width: 560px
}

.abt .process-track {
position: relative;
padding: 40px 0;
border-top: 2px dashed #8CA74766;
border-bottom: 2px dashed #8CA74766
}

.abt .process-track::before {
content: '';
position: absolute;
top: -10px;
left: 0;
width: 18px;
height: 18px;
border-radius: 40px;
background: #8CA747;
box-shadow: 2px 1px 2px 0 #8ca74714
}

.abt .process-track::after {
content: '';
position: absolute;
bottom: -10px;
right: 0;
width: 18px;
height: 18px;
border-radius: 40px;
background: #C6D499;
box-shadow: 2px 1px 2px 0 #8ca74714
}

.abt .process-cards {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px
}

.abt .proc-card {
background: #EEEAE5;
border-radius: 14px;
padding: 24px;
box-shadow: 2px 1px 2px 0 #8ca74714;
transition: transform .22s ease-out, box-shadow .26s ease-out;
position: relative
}

.abt .proc-card:hover {
transform: translateY(-6px) scale(0.97);
box-shadow: 2px 10px 36px 0 #8ca74721;
z-index: 2
}

.abt .proc-num {
font-size: 43px;
line-height: 1.2;
color: #C6D499;
font-weight: 700;
letter-spacing: .01em;
display: block;
margin-bottom: 12px
}

.abt .proc-title {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #2a2a1e;
font-weight: 700;
margin-bottom: 6px
}

.abt .proc-desc {
font-size: 15px;
line-height: 1.9;
letter-spacing: .01em;
color: #3b3b2a
}

.abt .process-img-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 40px
}

.abt .proc-img-wrap {
border-radius: 14px;
overflow: hidden;
box-shadow: 2px 4px 28px 0 #8ca7471c;
position: relative
}

.abt .proc-img-wrap img {
width: 100%;
height: 240px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .38s ease-out
}

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

.abt .proc-img-wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to top, #8CA74744, transparent 60%);
pointer-events: none;
transition: opacity .32s ease-out
}

.abt .proc-img-wrap:hover::after {
opacity: 0
}

.abt .contact-band {
padding: 80px 0;
background: linear-gradient(to top, transparent, #C6D49922), #EEEAE5
}

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

.abt .contact-text .c-h2 {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #2a2a1e;
margin-bottom: 24px;
position: relative;
display: inline-block
}

.abt .contact-text .c-h2::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: #8CA747;
border-radius: 4px;
transition: width .4s ease-out
}

.abt .contact-text:hover .c-h2::after {
width: 100%
}

.abt .contact-p {
font-size: 15px;
line-height: 1.9;
letter-spacing: .01em;
color: #3b3b2a;
margin-bottom: 24px
}

.abt .contact-details {
display: flex;
flex-direction: column;
gap: 12px
}

.abt .contact-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #3b3b2a
}

.abt .contact-icon {
width: 20px;
height: 20px;
flex-shrink: 0
}

.abt .contact-form-wrap {
background: #fff;
border-radius: 24px;
padding: 40px;
box-shadow: 2px 4px 28px 0 #8ca7471c
}

.abt .form-h3 {
font-size: 19px;
line-height: 1.2;
letter-spacing: .01em;
color: #2a2a1e;
font-weight: 700;
margin-bottom: 24px
}

.abt .field-group {
display: flex;
flex-direction: column;
gap: 6px;
margin-bottom: 24px
}

.abt .field-label {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #2a2a1e;
font-weight: 600
}

.abt .field-input,
.abt .field-select,
.abt .field-textarea {
width: 100%;
padding: 12px 12px 12px 40px;
border: 1.5px solid #C6D499;
border-radius: 8px;
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #2a2a1e;
background: #EEEAE5;
box-shadow: inset 1px 2px 4px #8ca74714;
transition: border-color .22s ease-out, box-shadow .25s ease-out;
box-sizing: border-box;
appearance: none
}

.abt .field-select {
padding-left: 12px
}

.abt .field-input:focus,
.abt .field-select:focus,
.abt .field-textarea:focus {
outline: none;
border-color: #8CA747;
box-shadow: inset 1px 2px 4px #8ca7471f 0 0 0 2px #8ca7472e
}

.abt .field-input::placeholder,
.abt .field-textarea::placeholder {
color: #8a8a6e
}

.abt .field-wrap {
position: relative
}

.abt .field-wrap .f-icon {
position: absolute;
left: 12px;
top: 50%;
transform: translateY(-50%);
pointer-events: none;
width: 16px;
height: 16px;
color: #8CA747
}

.abt .field-textarea {
padding-left: 40px;
padding-top: 12px;
resize: vertical;
min-height: 100px
}

.abt .field-wrap.ta-wrap .f-icon {
top: 16px;
transform: none
}

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

.abt .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin-bottom: 24px
}

.abt .privacy-check {
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px;
accent-color: #8CA747;
cursor: pointer
}

.abt .privacy-label {
font-size: 15px;
line-height: 1.6;
letter-spacing: .01em;
color: #3b3b2a
}

.abt .privacy-label a {
color: #8CA747;
text-decoration: underline;
transition: color .2s ease-out
}

.abt .privacy-label a:hover {
color: #5a7a1e
}

.abt .submit-btn {
display: inline-flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 6px;
padding: 12px 40px;
background: linear-gradient(to right, #8CA747, #C6D499);
color: #fff;
font-size: 15px;
line-height: 1.6;
letter-spacing: .02em;
font-weight: 700;
border: none;
border-radius: 8px;
cursor: pointer;
box-shadow: 2px 4px 28px 0 #8ca7471c;
transition: transform .22s ease-out, box-shadow .25s ease-out, padding .2s ease-out
}

.abt .submit-btn:hover {
transform: scale(0.97);
box-shadow: 2px 10px 36px 0 #8ca74721;
padding: 12px 48px
}

.abt .submit-btn:focus {
outline: 2px solid #8CA747;
outline-offset: 3px
}

.abt .submit-btn:active {
transform: scale(0.95)
}

@media (max-width: 900px) {

.abt .hero-grid,
.abt .story-grid,
.abt .team-layout,
.abt .contact-grid {
grid-template-columns: 1fr;
gap: 40px
}

.abt .hero-h1 {
font-size: 43px
}

.abt .process-cards {
grid-template-columns: 1fr 1fr
}

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

.abt .contact-form-wrap {
padding: 24px
}

.abt .form-row {
grid-template-columns: 1fr;
gap: 0
}

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

@media (max-width: 600px) {
.abt .process-cards {
grid-template-columns: 1fr
}

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

.abt .hero-h1 {
font-size: 43px
}
}

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

.success_page .success_card {
background: #fff;
border-radius: 24px;
padding: 80px 40px;
max-width: 600px;
width: 100%;
text-align: center;
box-shadow: 2px 10px 36px 0 #8ca74721
}

.success_page .success_card .icon_wrap {
width: 72px;
height: 72px;
margin: 0 auto 40px;
display: flex;
align-items: center;
justify-content: center
}

.success_page .success_card .icon_wrap svg {
width: 72px;
height: 72px
}

.success_page .success_card .success_heading {
font-size: 43px;
line-height: 1.2;
letter-spacing: .01em;
color: #2b2b2b;
margin: 0 0 24px
}

.success_page .success_card .success_heading span {
color: #8CA747
}

.success_page .success_card .success_msg {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #4a4a4a;
margin: 0 0 40px
}

.success_page .success_card .divider_line {
width: 64px;
height: 3px;
background: linear-gradient(to top, #C6D499, transparent);
border-radius: 4px;
margin: 0 auto 40px
}

.success_page .success_card .detail_note {
font-size: 15px;
line-height: 1.9;
letter-spacing: .02em;
color: #6a6a6a;
margin: 0 0 40px
}

.success_page .success_card .back_btn {
display: inline-block;
text-decoration: none;
font-size: 15px;
letter-spacing: .02em;
line-height: 1.2;
color: #fff;
background: linear-gradient(to top, #8CA747, #b8cf72);
padding: 12px 40px;
border-radius: 8px;
box-shadow: 2px 4px 28px 0 #8ca7471c;
transition: box-shadow .25s ease-out, transform .2s ease-out, padding .35s ease-out
}

.success_page .success_card .back_btn:hover {
transform: scale(0.97);
padding: 12px 48px;
box-shadow: 2px 10px 36px 0 #8ca74721
}

.success_page .success_card .back_btn:focus {
outline: 2px solid #8CA747;
outline-offset: 4px
}

.success_page .success_card .back_btn:active {
transform: scale(0.95)
}

@media (max-width: 600px) {
.success_page {
padding: 40px 12px
}

.success_page .success_card {
padding: 40px 24px
}

.success_page .success_card .success_heading {
font-size: 19px
}
}