@import "https://cdn.jsdelivr.net/npm/@fontsource/red-hat-display@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/red-hat-display@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/red-hat-display@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/red-hat-display@latest/700-italic.css";

html {
font-size: 100%
}

body {
margin: 0;
min-height: 100dvh;
overflow-x: hidden;
font-family: 'Red Hat Display', sans-serif
}

.hd {
position: relative;
background: linear-gradient(135deg, #f5f7e8 0%, #e8f4f7 50%, #f2eaf0 100%);
border-bottom: 2px solid #CBD239
}

.hd-util {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 1440px;
margin: 0 auto;
padding: 8px 40px;
border-bottom: 1px solid #b0d2da66
}

.hd-brand {
display: flex;
align-items: center;
gap: 24px
}

.hd-logobox {
display: flex;
align-items: center;
justify-content: center;
width: 68px;
height: 68px;
border-radius: 38px;
background: #fff;
box-shadow: 2px 4px 22px -2px #cbd23917 0 0 0 2px #CBD239;
padding: 8px;
flex-shrink: 0
}

.hd-logobox img {
width: 52px;
height: 52px;
object-fit: contain;
display: block
}

.hd-name {
font-size: 18px;
font-weight: 700;
line-height: 1.15;
color: #1b2000;
letter-spacing: 0
}

.hd-loc {
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
line-height: 1.4;
color: #2d4a52
}

.hd-loc .mi {
font-size: 16px;
color: #B0D2DA
}

.hd-loctext {
font-size: 14px;
line-height: 1.4;
color: #2d4a52
}

.hd-contact {
display: flex;
align-items: center;
gap: 24px
}

.hd-phone {
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
line-height: 1.4;
color: #1b2000;
text-decoration: none;
font-weight: 700;
transition: color .1s ease-out
}

.hd-phone:focus {
outline: 3px solid #CBD239;
outline-offset: 2px;
border-radius: 5px
}

.hd-phone .mi {
font-size: 16px;
color: #CBD239
}

.hd-phone:hover {
color: #5a6200
}

.hd-email {
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
line-height: 1.4;
color: #1b2000;
text-decoration: none;
transition: color .1s ease-out
}

.hd-email:focus {
outline: 3px solid #CBD239;
outline-offset: 2px;
border-radius: 5px
}

.hd-email .mi {
font-size: 16px;
color: #B0D2DA
}

.hd-email:hover {
color: #1a4a55
}

.hd-nav {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px
}

.hd-navlist {
display: flex;
align-items: stretch;
list-style: none;
margin: 0;
padding: 0;
gap: 8px;
flex-wrap: wrap
}

.hd-navlist li {
display: flex
}

.hd-navlist a {
display: flex;
align-items: center;
padding: 24px;
font-size: 16px;
font-weight: 700;
line-height: 1.4;
color: #1b2000;
text-decoration: none;
border-radius: 0;
position: relative;
transition: color .08s ease-out;
white-space: nowrap
}

.hd-navlist a::after {
content: '';
position: absolute;
bottom: 0;
left: 24px;
right: 24px;
height: 3px;
background: #CBD239;
border-radius: 5px 5px 0 0;
transform: scaleX(0);
transition: transform .12s ease-out
}

.hd-navlist a:hover {
color: #5a6200
}

.hd-navlist a:hover::after {
transform: scaleX(1)
}

.hd-navlist a:focus {
outline: 3px solid #CBD239;
outline-offset: -3px;
border-radius: 5px
}

.hd-navlist a.active {
color: #5a6200
}

.hd-navlist a.active::after {
transform: scaleX(1)
}

.hd-pill {
display: flex;
align-items: center;
margin-left: auto;
padding: 8px 24px;
background: #CBD239;
border-radius: 8px;
font-size: 14px;
font-weight: 700;
line-height: 1.4;
color: #1b2000;
text-decoration: none;
transition: border-color .1s ease-out;
border: 2px solid #CBD239;
align-self: center;
white-space: nowrap
}

.hd-pill:hover {
border-color: #5a6200
}

.hd-pill:focus {
outline: 3px solid #1b2000;
outline-offset: 2px;
border-radius: 8px
}

@media (max-width: 1024px) {
.hd-util {
padding: 8px 24px;
flex-wrap: wrap;
gap: 8px
}

.hd-nav {
padding: 0 24px
}

.hd-navlist a {
padding: 24px 16px;
font-size: 14px
}

.hd-navlist a::after {
left: 16px;
right: 16px
}

.hd-email {
display: none
}
}

@media (max-width: 768px) {
.hd-util {
padding: 8px;
gap: 8px
}

.hd-nav {
padding: 0 8px
}

.hd-navlist {
gap: 0
}

.hd-navlist a {
padding: 16px 8px;
font-size: 14px
}

.hd-navlist a::after {
left: 8px;
right: 8px
}

.hd-loctext {
display: none
}

.hd-pill {
padding: 8px 16px
}
}

@media (max-width: 640px) {
.hd-contact {
gap: 8px
}

.hd-name {
font-size: 16px
}

.hd-logobox {
width: 52px;
height: 52px
}

.hd-logobox img {
width: 40px;
height: 40px
}
}

.ft {
background: linear-gradient(160deg, #2d4a52 0%, #1b3a42 40%, #2a3800 100%);
padding: 80px 0 0
}

.ft-grid {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px 80px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 40px
}

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

.ft-block.wide {
grid-column: span 1
}

.ft-logorow {
display: flex;
align-items: center;
gap: 24px
}

.ft-logobox {
display: flex;
align-items: center;
justify-content: center;
width: 68px;
height: 68px;
border-radius: 38px;
background: #ffffff1f;
box-shadow: 2px 2px 4px -2px #b0d2da0d 0 0 0 2px #b0d2da4d;
padding: 8px;
flex-shrink: 0
}

.ft-logobox img {
width: 52px;
height: 52px;
object-fit: contain;
display: block
}

.ft-brandname {
font-size: 18px;
font-weight: 700;
line-height: 1.15;
color: #f0f7f9
}

.ft-tagline {
font-size: 14px;
line-height: 1.6;
color: #b0d2dad9
}

.ft-label {
font-size: 14px;
font-weight: 700;
line-height: 1.15;
color: #CBD239;
text-transform: uppercase;
letter-spacing: .08em
}

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

.ft-links a {
font-size: 16px;
line-height: 1.4;
color: #f0f7f9cc;
text-decoration: none;
transition: color .1s ease-out;
display: inline-block;
padding: 8px 0
}

.ft-links a:hover {
color: #CBD239
}

.ft-links a:focus {
outline: 3px solid #CBD239;
outline-offset: 2px;
border-radius: 5px
}

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

.ft-citem {
display: flex;
align-items: flex-start;
gap: 8px;
font-size: 14px;
line-height: 1.6;
color: #f0f7f9cc
}

.ft-citem .mi {
font-size: 16px;
color: #B0D2DA;
flex-shrink: 0;
margin-top: 2px
}

.ft-citem a {
color: #f0f7f9cc;
text-decoration: none;
transition: color .1s ease-out
}

.ft-citem a:hover {
color: #CBD239
}

.ft-citem a:focus {
outline: 3px solid #CBD239;
outline-offset: 2px;
border-radius: 5px
}

.ft-accent {
border-top: 2px solid #cbd23940;
padding: 24px 40px;
max-width: 1440px;
margin: 0 auto
}

.ft-bottom {
background: #00000026;
padding: 24px 40px
}

.ft-bottomrow {
max-width: 1440px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px
}

.ft-copy {
font-size: 14px;
line-height: 1.4;
color: #b0d2da99
}

.ft-legal {
display: flex;
align-items: center;
gap: 24px;
list-style: none;
margin: 0;
padding: 0
}

.ft-legal a {
font-size: 14px;
line-height: 1.4;
color: #b0d2da99;
text-decoration: none;
transition: color .1s ease-out
}

.ft-legal a:hover {
color: #CBD239
}

.ft-legal a:focus {
outline: 3px solid #CBD239;
outline-offset: 2px;
border-radius: 5px
}

@media (max-width: 1024px) {
.ft-grid {
grid-template-columns: 1fr 1fr;
padding: 0 24px 80px
}

.ft-block.wide {
grid-column: span 2
}
}

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

.ft-block.wide {
grid-column: span 1
}

.ft-bottom {
padding: 24px
}

.ft-accent {
padding: 24px
}
}

@media (max-width: 640px) {
.ft {
padding: 40px 0 0
}

.ft-grid {
padding: 0 8px 40px
}

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

.ft-bottom {
padding: 24px 8px
}

.ft-accent {
padding: 24px 8px
}
}

.policy-inner {
max-width: 800px;
margin: 0 auto;
padding: 80px 40px
}

.policy-inner h1 {
font-size: 70px;
line-height: 1.15;
font-weight: 800;
color: #111;
margin-bottom: 40px;
margin-top: 0
}

.policy-inner h2 {
font-size: 18px;
line-height: 1.4;
font-weight: 700;
color: #111;
margin-top: 80px;
margin-bottom: 24px;
text-transform: uppercase;
letter-spacing: .08em;
padding-bottom: 8px;
border-bottom: 2px solid #CBD239
}

.policy-inner h3 {
font-size: 18px;
line-height: 1.4;
font-weight: 600;
color: #222;
margin-top: 40px;
margin-bottom: 24px
}

.policy-inner h4 {
font-size: 16px;
line-height: 1.4;
font-weight: 600;
color: #333;
margin-top: 24px;
margin-bottom: 8px
}

.policy-inner h5 {
font-size: 14px;
line-height: 1.4;
font-weight: 700;
color: #444;
text-transform: uppercase;
letter-spacing: .06em;
margin-top: 24px;
margin-bottom: 8px
}

.policy-inner h6 {
font-size: 14px;
line-height: 1.4;
font-weight: 600;
color: #555;
margin-top: 24px;
margin-bottom: 8px
}

.policy-inner p {
font-size: 16px;
line-height: 1.6;
color: #2a2a2a;
margin-top: 0;
margin-bottom: 24px
}

.policy-inner ul,
.policy-inner ol {
font-size: 16px;
line-height: 1.6;
color: #2a2a2a;
margin-top: 0;
margin-bottom: 24px;
padding-left: 24px
}

.policy-inner ul {
list-style: none;
padding-left: 0
}

.policy-inner ul li {
padding-left: 24px;
position: relative;
margin-bottom: 8px
}

.policy-inner ul li::before {
content: "";
position: absolute;
left: 0;
top: 10px;
width: 8px;
height: 8px;
border-radius: 38px;
background: #CBD239
}

.policy-inner ol {
list-style: none;
counter-reset: policy-counter;
padding-left: 0
}

.policy-inner ol li {
counter-increment: policy-counter;
padding-left: 24px;
position: relative;
margin-bottom: 8px
}

.policy-inner ol li::before {
content: counter(policy-counter) ".";
position: absolute;
left: 0;
top: 0;
font-size: 14px;
font-weight: 700;
color: #CBD239;
line-height: 1.6
}

.policy-inner ul ul,
.policy-inner ol ol,
.policy-inner ul ol,
.policy-inner ol ul {
margin-top: 8px;
margin-bottom: 8px
}

.policy-inner em,
.policy-inner i {
font-style: italic;
color: inherit
}

.policy-inner strong em,
.policy-inner em strong {
font-weight: 700;
font-style: italic
}

.policy-inner a {
color: #5a6e00;
text-decoration: underline;
text-decoration-color: #CBD239;
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color .1s ease-out, text-decoration-color .08s linear
}

.policy-inner a:hover {
color: #111;
text-decoration-color: #111
}

.policy-inner a:visited {
color: #7a5a8a;
text-decoration-color: #E6D1E1
}

.policy-inner table {
width: 100%;
border-collapse: collapse;
font-size: 14px;
line-height: 1.6;
margin-bottom: 40px;
border-radius: 8px;
overflow: hidden;
box-shadow: 2px 4px 22px -2px #cbd23917
}

.policy-inner thead {
background: #CBD239
}

.policy-inner thead th {
color: #111;
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em;
padding: 8px 24px;
text-align: left
}

.policy-inner tbody tr {
border-bottom: 1px solid #B0D2DA;
transition: background .1s ease-out
}

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

.policy-inner tbody tr:hover {
background: #f5f8f0
}

.policy-inner td {
padding: 8px 24px;
color: #2a2a2a;
vertical-align: top
}

.policy-inner th {
padding: 8px 24px
}

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

.policy-inner h1 {
font-size: 18px;
margin-bottom: 24px
}

.policy-inner h2 {
margin-top: 40px
}

.policy-inner table {
display: block;
overflow-x: auto
}
}

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

.policy-inner thead {
display: none
}

.policy-inner tbody tr {
display: block;
margin-bottom: 24px;
border: 1px solid #B0D2DA;
border-radius: 8px;
border-bottom: 1px solid #B0D2DA
}

.policy-inner td {
display: block;
padding: 8px 24px
}

.policy-inner td::before {
content: attr(data-label);
display: block;
font-size: 14px;
font-weight: 700;
color: #888;
text-transform: uppercase;
letter-spacing: .05em;
margin-bottom: 8px
}
}

.lpdtl {
background: #fff;
color: #1b1b1b;
overflow-x: hidden
}

.lpdtl .grain-bg {
position: relative;
background-color: #f5f5f0
}

.lpdtl .grain-bg::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E");
background-size: 200px 200px;
pointer-events: none;
z-index: 0
}

.lpdtl .grain-bg>* {
position: relative;
z-index: 1
}

.lpdtl .stripe-bg {
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(-45deg, transparent, transparent 18px, #cbd2390a 18px, #cbd2390a 20px);
pointer-events: none;
z-index: 0
}

@keyframes letterDrop {
0% {
opacity: 0;
transform: translateY(-24px)
}

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

.lpdtl .drop-letter {
display: inline-block;
opacity: 0;
animation: letterDrop .12s ease-out forwards
}

@keyframes outlineFlicker {

0%,
100% {
opacity: .18
}

48% {
opacity: .12
}

52% {
opacity: .22
}
}

.lpdtl .geo-outline {
position: absolute;
border: 2px solid #CBD239;
border-radius: 14px;
animation: outlineFlicker 3.4s linear infinite;
pointer-events: none
}

.lpdtl .geo-pulse {
position: absolute;
border: 1.5px solid #B0D2DA;
border-radius: 38px;
animation: outlineFlicker 4.8s linear infinite;
pointer-events: none
}

.lpdtl .titleblock {
position: relative;
padding: 80px 40px;
overflow: hidden;
max-width: 1440px;
margin: 0 auto
}

.lpdtl .titleblock .stripe-bg {
z-index: 0
}

.lpdtl .titlegrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start;
position: relative;
z-index: 1
}

.lpdtl .cattag {
display: inline-block;
font-size: 14px;
line-height: 1.4;
letter-spacing: .08em;
text-transform: uppercase;
background: #CBD239;
color: #1b1b1b;
border-radius: 5px;
padding: 8px 24px;
margin-bottom: 24px
}

.lpdtl .titleleft h1 {
font-size: 70px;
line-height: 1.15;
margin: 0 0 24px;
color: #1b1b1b
}

.lpdtl .titleleft h1 .first {
color: #CBD239
}

.lpdtl .metarow {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
flex-wrap: wrap;
margin-bottom: 24px
}

.lpdtl .metaitem {
font-size: 14px;
line-height: 1.4;
color: #555;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px
}

.lpdtl .metaitem svg {
flex-shrink: 0
}

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

.lpdtl .keypoints li {
font-size: 16px;
line-height: 1.6;
padding-left: 24px;
position: relative;
color: #2a2a2a
}

.lpdtl .keypoints li::before {
content: "";
position: absolute;
left: 0;
top: 8px;
width: 10px;
height: 10px;
border-radius: 5px;
background: #CBD239
}

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

.lpdtl .imgwrap {
border-radius: 14px;
overflow: hidden;
aspect-ratio: 4/3
}

.lpdtl .imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
max-width: 100%;
filter: sepia(18%) saturate(1.15) brightness(0.97);
display: block
}

.lpdtl .pricecard {
background: #fff;
border: 2px solid #CBD239;
border-radius: 14px;
padding: 24px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 24px;
box-shadow: 2px 4px 22px -2px #cbd23917
}

.lpdtl .priceval {
font-size: 70px;
line-height: 1.15;
color: #1b1b1b
}

.lpdtl .seatsleft {
font-size: 14px;
line-height: 1.4;
color: #555
}

.lpdtl .seatsleft strong {
color: #CBD239;
font-size: 18px
}

.lpdtl .enrollbtn {
display: inline-block;
font-size: 18px;
line-height: 1.4;
font-weight: 700;
background: #CBD239;
color: #1b1b1b;
border: 2px solid #CBD239;
border-radius: 8px;
padding: 24px 40px;
cursor: pointer;
text-decoration: none;
transition: border-color .1s ease-out, background .1s ease-out;
white-space: nowrap
}

.lpdtl .enrollbtn:hover {
border-color: #a8ad2a;
background: #c0c732
}

.lpdtl .enrollbtn:focus {
outline: 3px solid #B0D2DA;
outline-offset: 3px
}

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

.lpdtl .desctext h2 {
font-size: 70px;
line-height: 1.15;
margin: 0 0 24px
}

.lpdtl .desctext h2 .first {
color: #CBD239
}

.lpdtl .desctext h3 {
font-size: 18px;
line-height: 1.4;
margin: 24px 0 8px;
color: #1b1b1b
}

.lpdtl .desctext p {
font-size: 16px;
line-height: 1.6;
color: #333;
margin: 0 0 24px
}

.lpdtl .desctext mark {
background: #CBD239;
color: #1b1b1b;
border-radius: 5px;
padding: 0 8px
}

.lpdtl .desctext strong {
color: #1b1b1b
}

.lpdtl .desctext ul,
.lpdtl .desctext li {
font-size: 16px;
line-height: 1.6;
color: #333
}

.lpdtl .desctext ul {
padding-left: 24px;
margin: 0 0 24px
}

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

.lpdtl .reactblock {
background: #fff;
border: 1.5px solid #E6D1E1;
border-radius: 14px;
padding: 24px;
box-shadow: 2px 2px 4px -2px #b0d2da0d
}

.lpdtl .reactblock h5 {
font-size: 14px;
line-height: 1.4;
text-transform: uppercase;
letter-spacing: .08em;
color: #888;
margin: 0 0 24px
}

.lpdtl .reactions {
display: flex;
flex-direction: row;
gap: 8px;
flex-wrap: wrap
}

.lpdtl .reactions input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
pointer-events: none
}

.lpdtl .reactions label {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
cursor: pointer;
border: 1.5px solid #e0e8e0;
border-radius: 8px;
padding: 8px;
min-width: 56px;
font-size: 14px;
line-height: 1.4;
color: #555;
transition: border-color .1s ease-out, background .1s ease-out;
user-select: none
}

.lpdtl .reactions label:hover {
border-color: #CBD239;
background: #f9fbe8
}

.lpdtl .reactions input[type="radio"]:checked+label {
border-color: #CBD239;
background: #CBD239;
color: #1b1b1b;
font-weight: 700;
box-shadow: 2px 4px 22px -2px #cbd23917
}

.lpdtl .reactemoji {
font-size: 18px;
line-height: 1
}

.lpdtl .statcard {
background: #f5f5f0;
border-radius: 14px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px
}

.lpdtl .statcard .statlabel {
font-size: 14px;
line-height: 1.4;
color: #777;
text-transform: uppercase;
letter-spacing: .07em
}

.lpdtl .statcard .statval {
font-size: 18px;
line-height: 1.4;
color: #1b1b1b;
font-weight: 700
}

.lpdtl .progblock {
position: relative;
padding: 80px 40px;
overflow: hidden
}

.lpdtl .progblock .geo-outline {
width: 320px;
height: 320px;
top: -60px;
right: -80px
}

.lpdtl .progblock .geo-pulse {
width: 180px;
height: 180px;
bottom: 40px;
left: -40px
}

.lpdtl .proginner {
max-width: 1440px;
margin: 0 auto;
position: relative;
z-index: 1
}

.lpdtl .proginner h2 {
font-size: 70px;
line-height: 1.15;
margin: 0 0 40px;
text-align: center
}

.lpdtl .proginner h2 .first {
color: #CBD239
}

.lpdtl .progcontent {
max-width: 800px;
margin: 0 auto
}

.lpdtl .progcontent h2 {
font-size: 18px;
line-height: 1.4;
text-align: left;
margin: 24px 0 8px;
color: #1b1b1b
}

.lpdtl .progcontent p {
font-size: 16px;
line-height: 1.6;
color: #333;
margin: 0 0 24px
}

.lpdtl .progcontent em {
color: #555;
font-style: italic
}

.lpdtl .progcontent small {
font-size: 14px;
color: #888;
display: block;
margin-bottom: 8px
}

.lpdtl .progcontent ul,
.lpdtl .progcontent ol {
padding-left: 24px;
margin: 0 0 24px
}

.lpdtl .progcontent li {
font-size: 16px;
line-height: 1.6;
color: #333;
margin-bottom: 8px
}

.lpdtl .progcontent figure {
margin: 24px 0;
border-left: 0;
border-top: 2px solid #CBD239;
padding-top: 24px
}

.lpdtl .progcontent figcaption {
font-size: 14px;
color: #888;
margin-top: 8px
}

.lpdtl .ctastrip {
max-width: 1440px;
margin: 0 auto;
padding: 80px 40px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 40px;
border-top: 1.5px solid #CBD239;
flex-wrap: wrap
}

.lpdtl .ctastrip h3 {
font-size: 18px;
line-height: 1.4;
color: #1b1b1b;
margin: 0;
max-width: 560px
}

.lpdtl .ctastrip h3 .first {
color: #CBD239
}

.lpdtl .ctabtnrow {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
flex-wrap: wrap
}

.lpdtl .secondbtn {
font-size: 16px;
line-height: 1.4;
color: #1b1b1b;
border: 1.5px solid #B0D2DA;
border-radius: 8px;
padding: 8px 24px;
background: transparent;
cursor: pointer;
text-decoration: none;
transition: border-color .08s linear
}

.lpdtl .secondbtn:hover {
border-color: #7ab8c4
}

.lpdtl .secondbtn:focus {
outline: 3px solid #CBD239;
outline-offset: 2px
}

@media (max-width: 1024px) {
.lpdtl .titlegrid {
grid-template-columns: 1fr
}

.lpdtl .descblock {
grid-template-columns: 1fr
}

.lpdtl .titleright {
display: none
}
}

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

.lpdtl .titleleft h1 {
font-size: 70px
}

.lpdtl .descblock {
padding: 40px 24px
}

.lpdtl .progblock {
padding: 40px 24px
}

.lpdtl .proginner h2 {
font-size: 70px
}

.lpdtl .ctastrip {
padding: 40px 24px;
flex-direction: column;
align-items: flex-start
}
}

@media (max-width: 640px) {
.lpdtl .titleleft h1 {
font-size: 40px
}

.lpdtl .proginner h2 {
font-size: 40px
}

.lpdtl .priceval {
font-size: 40px
}

.lpdtl .desctext h2 {
font-size: 40px
}

.lpdtl .metarow {
flex-direction: column;
align-items: flex-start;
gap: 8px
}

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

.ctus {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.ctus .band {
height: 4px;
background: linear-gradient(90deg, #CBD239 0%, #B0D2DA 50%, #E6D1E1 100%);
width: 100%
}

.ctus .opener {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 540px;
padding: 80px;
gap: 80px;
align-items: end;
background: #fff;
position: relative
}

.ctus .opener::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 38%;
height: 100%;
background: linear-gradient(180deg, #f5f7e8 0%, #eef6f8 100%);
z-index: 0
}

.ctus .opener-left {
position: relative;
z-index: 1;
padding-bottom: 40px
}

.ctus .opener-right {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
gap: 24px;
padding-bottom: 40px
}

.ctus .pre-label {
font-size: 14px;
line-height: 1.4;
letter-spacing: .12em;
text-transform: uppercase;
color: #CBD239;
font-weight: 700;
margin-bottom: 24px
}

.ctus .opener-h1 {
font-size: 70px;
line-height: 1.15;
font-weight: 800;
margin: 0 0 24px;
color: #1e2a1e
}

.ctus .opener-h1 span {
color: #CBD239
}

.ctus .opener-desc {
font-size: 18px;
line-height: 1.6;
color: #3a3a3a;
max-width: 420px
}

.ctus .metrics-row {
display: flex;
flex-direction: row;
gap: 40px;
margin-top: 40px
}

.ctus .metric-item {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus .metric-num {
font-size: 70px;
line-height: 1.15;
font-weight: 800;
color: #CBD239;
letter-spacing: -.02em
}

.ctus .metric-label {
font-size: 14px;
line-height: 1.4;
color: #555;
text-transform: uppercase;
letter-spacing: .08em
}

.ctus .img-frame {
width: 100%;
height: 320px;
border-radius: 14px;
overflow: hidden;
position: relative;
box-shadow: 2px 4px 22px -2px #b0d2da17
}

.ctus .img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: saturate(0.85) brightness(0.97)
}

.ctus .img-frame::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 40%, #cbd2392e 100%);
mix-blend-mode: multiply
}

.ctus .contact-quick {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus .contact-quick-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 16px;
line-height: 1.4;
color: #2a2a2a
}

.ctus .contact-quick-item a {
color: #2a2a2a;
text-decoration: none;
border-bottom: 1.5px solid #CBD239;
transition: color .1s ease-out, border-color .12s ease-out
}

.ctus .contact-quick-item a:hover {
color: #7a8a00;
border-color: #7a8a00
}

.ctus .contact-quick-item .ic {
width: 18px;
height: 18px;
flex-shrink: 0;
color: #CBD239
}

.ctus .formarea {
background: linear-gradient(180deg, #f0f4e2 0%, #e8f3f6 100%);
padding: 80px
}

.ctus .formarea-grid {
display: grid;
grid-template-columns: 1fr 1.6fr;
gap: 80px;
align-items: start
}

.ctus .form-aside {
display: flex;
flex-direction: column;
gap: 24px;
padding-top: 8px
}

.ctus .aside-h2 {
font-size: 18px;
line-height: 1.4;
font-weight: 700;
color: #1e2a1e;
margin: 0
}

.ctus .aside-h2 span {
color: #CBD239
}

.ctus .aside-body {
font-size: 16px;
line-height: 1.6;
color: #3a3a3a
}

.ctus .aside-body strong {
font-weight: 700
}

.ctus .timeline-hint {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus .tl-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 14px;
line-height: 1.4;
color: #444
}

.ctus .tl-dot {
width: 8px;
height: 8px;
border-radius: 38px;
background: #CBD239;
flex-shrink: 0
}

.ctus .tl-item.alt .tl-dot {
background: #B0D2DA
}

.ctus .tl-item.alt2 .tl-dot {
background: #E6D1E1
}

.ctus .contact-form {
background: #fff;
border-radius: 14px;
padding: 40px;
box-shadow: 2px 4px 22px -2px #b0d2da17;
display: flex;
flex-direction: column;
gap: 24px
}

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

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

.ctus .field label {
font-size: 14px;
line-height: 1.4;
font-weight: 700;
color: #1e2a1e;
letter-spacing: .04em;
text-transform: uppercase
}

.ctus .field input,
.ctus .field select {
font-size: 16px;
line-height: 1.4;
color: #1e2a1e;
background: #f8faf0;
border: 1.5px solid #CBD239;
border-radius: 8px;
padding: 14px 16px;
outline: none;
transition: border-color .1s ease-out, box-shadow .1s ease-out;
box-shadow: inset 1px 2px 4px #cbd23912;
width: 100%;
box-sizing: border-box;
appearance: none;
-webkit-appearance: none
}

.ctus .field input::placeholder {
color: #cbd2398c
}

.ctus .field input:focus,
.ctus .field select:focus {
border-color: #9aab00;
box-shadow: inset 1px 2px 4px #cbd2391f 0 0 0 2px #cbd23926
}

.ctus .select-wrap {
position: relative
}

.ctus .select-wrap select {
padding-right: 40px;
cursor: pointer
}

.ctus .select-arrow {
position: absolute;
right: 14px;
top: 50%;
transform: translateY(-50%);
pointer-events: none;
width: 16px;
height: 16px;
color: #CBD239
}

.ctus .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px
}

.ctus .privacy-row input[type="checkbox"] {
width: 18px;
height: 18px;
min-width: 18px;
accent-color: #CBD239;
margin-top: 2px;
cursor: pointer
}

.ctus .privacy-row label {
font-size: 14px;
line-height: 1.6;
color: #555
}

.ctus .privacy-row label a {
color: #7a8a00;
text-decoration: underline;
text-underline-offset: 2px
}

.ctus .btn-submit {
font-size: 18px;
line-height: 1.15;
font-weight: 700;
color: #1e2a1e;
background: #CBD239;
border: 2px solid #CBD239;
border-radius: 8px;
padding: 18px 40px;
cursor: pointer;
transition: border-color .1s ease-out, background .12s linear;
align-self: flex-start;
letter-spacing: .01em
}

.ctus .btn-submit:hover {
border-color: #9aab00;
background: #CBD239
}

.ctus .btn-submit:focus {
outline: 2px solid #9aab00;
outline-offset: 3px
}

.ctus .btn-submit:active {
background: #b8bf30;
border-color: #8a9900
}

.ctus .detailbar {
background: #fff;
padding: 80px;
display: grid;
grid-template-columns: 1.2fr 1fr 1fr;
gap: 40px;
align-items: start;
border-top: 1.5px solid #CBD239
}

.ctus .detail-block {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus .detail-h {
font-size: 14px;
line-height: 1.4;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
color: #B0D2DA;
margin: 0 0 8px
}

.ctus .detail-val {
font-size: 16px;
line-height: 1.6;
color: #2a2a2a
}

.ctus .detail-val a {
color: #2a2a2a;
text-decoration: none;
border-bottom: 1.5px solid #B0D2DA;
transition: color .1s ease-out
}

.ctus .detail-val a:hover {
color: #4a7a86
}

.ctus .detail-addr {
font-size: 16px;
line-height: 1.6;
color: #2a2a2a;
font-style: normal
}

.ctus .detail-note {
font-size: 14px;
line-height: 1.6;
color: #777;
margin-top: 8px
}

.ctus .resp-note {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 16px 24px;
border-radius: 8px;
border: 1.5px solid #E6D1E1;
background: #fdf8fc
}

.ctus .resp-note-text {
font-size: 14px;
line-height: 1.4;
color: #555
}

.ctus .resp-dot {
width: 10px;
height: 10px;
border-radius: 38px;
background: #CBD239;
flex-shrink: 0;
animation: bdot 1.2s ease-out infinite alternate
}

@keyframes bdot {
0% {
transform: scale(1)
}

60% {
transform: scale(1.22)
}

80% {
transform: scale(0.93)
}

100% {
transform: scale(1.1)
}
}

@media (max-width: 1024px) {
.ctus .opener {
grid-template-columns: 1fr;
padding: 40px 40px 80px;
gap: 40px
}

.ctus .opener::before {
display: none
}

.ctus .formarea {
padding: 80px 40px
}

.ctus .formarea-grid {
grid-template-columns: 1fr;
gap: 40px
}

.ctus .detailbar {
grid-template-columns: 1fr;
padding: 80px 40px
}
}

@media (max-width: 768px) {
.ctus .opener {
padding: 40px 24px 80px
}

.ctus .opener-h1 {
font-size: 18px
}

.ctus .metric-num {
font-size: 18px
}

.ctus .img-frame {
display: none
}

.ctus .formarea {
padding: 40px 24px
}

.ctus .form-row {
grid-template-columns: 1fr
}

.ctus .contact-form {
padding: 24px
}

.ctus .detailbar {
padding: 40px 24px
}

.ctus .metrics-row {
gap: 24px
}

.ctus .opener-desc {
font-size: 16px
}
}

@media (max-width: 640px) {
.ctus .opener-h1 {
font-size: 18px
}

.ctus .btn-submit {
width: 100%;
text-align: center
}
}

.lrnprog {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.lrnprog .pghead {
position: relative;
padding: 80px;
background: linear-gradient(to bottom, #2a2a2e 0%, #CBD239 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
min-height: 340px
}

.lrnprog .pghead .eyebrow {
font-size: 14px;
line-height: 1.4;
letter-spacing: .12em;
text-transform: uppercase;
color: #CBD239;
background: #00000052;
border: 1px solid #cbd23959;
border-radius: 38px;
padding: 8px 24px;
margin-bottom: 24px;
display: inline-block
}

.lrnprog .pghead h1 {
font-size: 70px;
line-height: 1.15;
color: #fff;
text-align: center;
margin: 0 0 24px;
max-width: 820px
}

.lrnprog .pghead h1 span {
color: #CBD239
}

.lrnprog .pghead .decotri {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 64px 64px 0 0;
border-color: #cbd2392e transparent transparent;
pointer-events: none
}

.lrnprog .pghead .decotri.right {
left: auto;
right: 0;
border-width: 0 64px 64px 0;
border-color: transparent #b0d2da2e transparent transparent
}

.lrnprog .pghead .imgover {
position: absolute;
inset: 0;
overflow: hidden;
border-radius: 0;
z-index: 0
}

.lrnprog .pghead .imgover img {
width: 100%;
height: 100%;
object-fit: cover;
opacity: .22
}

.lrnprog .pghead .imgover::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to bottom, #2a2a2e66 0%, #cbd239b8 100%)
}

.lrnprog .pghead> :not(.imgover):not(.decotri) {
position: relative;
z-index: 1
}

.lrnprog .cardgrid {
padding: 80px;
background: #f5f4ef
}

.lrnprog .cardgrid .gridlabel {
font-size: 14px;
line-height: 1.4;
letter-spacing: .1em;
text-transform: uppercase;
color: #888;
margin-bottom: 40px;
display: flex;
flex-direction: row;
align-items: center;
gap: 24px
}

.lrnprog .cardgrid .gridlabel::before,
.lrnprog .cardgrid .gridlabel::after {
content: '';
display: block;
height: 1px;
flex: 1;
background: #CBD239
}

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

.lrnprog .card {
background: #fff;
border-radius: 14px;
border: 1.5px solid #e8e8e4;
display: flex;
flex-direction: column;
overflow: hidden;
position: relative;
transition: border-color .12s ease-out
}

.lrnprog .card:hover {
border-color: #CBD239
}

.lrnprog .card .cardimg {
width: 100%;
height: 160px;
overflow: hidden;
background: #e4e8d6;
position: relative;
flex-shrink: 0
}

.lrnprog .card .cardimg img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .15s ease-out
}

.lrnprog .card:hover .cardimg img {
transform: scale(1.04)
}

.lrnprog .card .cardtag {
font-size: 14px;
line-height: 1.4;
letter-spacing: .08em;
text-transform: uppercase;
color: #2a2a2e;
background: #CBD239;
border-radius: 5px;
padding: 4px 8px;
display: inline-block;
position: absolute;
top: 8px;
left: 8px;
z-index: 2
}

.lrnprog .card .cardbody {
padding: 24px;
display: flex;
flex-direction: column;
flex: 1;
gap: 8px
}

.lrnprog .card .cardtitle {
font-size: 16px;
line-height: 1.4;
color: #2a2a2e;
font-weight: 700;
margin: 0
}

.lrnprog .card .cardtitle span {
color: #CBD239
}

.lrnprog .card .carddesc {
font-size: 14px;
line-height: 1.6;
color: #555;
margin: 0;
flex: 1
}

.lrnprog .card .cardmeta {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
flex-wrap: wrap;
padding-top: 8px;
border-top: 1px solid #f0f0ec
}

.lrnprog .card .metaitem {
font-size: 14px;
line-height: 1.4;
color: #888;
display: flex;
flex-direction: row;
align-items: center;
gap: 4px
}

.lrnprog .card .metaitem svg {
flex-shrink: 0
}

.lrnprog .card .seats {
font-size: 14px;
line-height: 1.4;
color: #c05a00;
font-weight: 600;
display: flex;
flex-direction: row;
align-items: center;
gap: 4px
}

.lrnprog .card .cardfoot {
padding: 0 24px 24px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 8px
}

.lrnprog .card .price {
font-size: 18px;
line-height: 1.15;
font-weight: 800;
color: #2a2a2e
}

.lrnprog .card .cardbtn {
font-size: 14px;
line-height: 1.4;
font-weight: 700;
color: #2a2a2e;
background: #CBD239;
border: 2px solid #CBD239;
border-radius: 8px;
padding: 8px 24px;
text-decoration: none;
display: inline-block;
transition: border-color .1s linear, background .1s linear
}

.lrnprog .card .cardbtn:hover {
border-color: #2a2a2e;
background: #CBD239
}

.lrnprog .card .cardbtn:focus-visible {
outline: 2px solid #2a2a2e;
outline-offset: 2px
}

.lrnprog .statsband {
padding: 40px 80px;
background: #2a2a2e;
display: flex;
flex-direction: row;
align-items: stretch;
gap: 0
}

.lrnprog .statsband .stat {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
padding: 24px 40px;
border-right: 1px solid #cbd23933
}

.lrnprog .statsband .stat:last-child {
border-right: none
}

.lrnprog .statsband .statnum {
font-size: 70px;
line-height: 1.15;
font-weight: 900;
color: #CBD239
}

.lrnprog .statsband .statlbl {
font-size: 14px;
line-height: 1.4;
letter-spacing: .1em;
text-transform: uppercase;
color: #B0D2DA
}

.lrnprog .howstrip {
padding: 80px;
background: #fff;
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.lrnprog .howstrip .howleft {
flex: 0 0 340px;
display: flex;
flex-direction: column;
gap: 24px
}

.lrnprog .howstrip .howleft .eyebrow {
font-size: 14px;
line-height: 1.4;
letter-spacing: .1em;
text-transform: uppercase;
color: #888
}

.lrnprog .howstrip .howleft h2 {
font-size: 70px;
line-height: 1.15;
color: #2a2a2e;
margin: 0
}

.lrnprog .howstrip .howleft h2 span {
color: #CBD239
}

.lrnprog .howstrip .howleft p {
font-size: 16px;
line-height: 1.6;
color: #555;
margin: 0
}

.lrnprog .howstrip .howleft p strong {
color: #2a2a2e
}

.lrnprog .howstrip .howright {
flex: 1;
display: flex;
flex-direction: column;
gap: 8px
}

.lrnprog .howstrip .step {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 24px;
padding: 24px;
border-radius: 14px;
border: 1.5px solid #e8e8e4;
background: #f5f4ef;
transition: border-color .1s ease-out
}

.lrnprog .howstrip .step:hover {
border-color: #B0D2DA
}

.lrnprog .howstrip .step .stepnum {
font-size: 70px;
line-height: 1.15;
font-weight: 900;
color: #cbd23947;
min-width: 56px;
text-align: center;
flex-shrink: 0
}

.lrnprog .howstrip .step .stepcontent {
display: flex;
flex-direction: column;
gap: 8px
}

.lrnprog .howstrip .step h4 {
font-size: 16px;
line-height: 1.4;
font-weight: 700;
color: #2a2a2e;
margin: 0
}

.lrnprog .howstrip .step h4 span {
color: #CBD239
}

.lrnprog .howstrip .step p {
font-size: 14px;
line-height: 1.6;
color: #555;
margin: 0
}

.lrnprog .faqstrip {
padding: 80px;
background: linear-gradient(to bottom, #f5f4ef 0%, #e8efd6 100%);
display: flex;
flex-direction: column;
align-items: center;
gap: 40px
}

.lrnprog .faqstrip h3 {
font-size: 70px;
line-height: 1.15;
color: #2a2a2e;
text-align: center;
margin: 0
}

.lrnprog .faqstrip h3 span {
color: #CBD239
}

.lrnprog .faqlist {
width: 100%;
max-width: 800px;
display: flex;
flex-direction: column;
gap: 8px
}

.lrnprog .faqitem {
border-radius: 8px;
border: 1.5px solid #d6dab8;
background: #fff;
overflow: hidden
}

.lrnprog .faqitem input[type="checkbox"] {
position: absolute;
opacity: 0;
pointer-events: none;
width: 0;
height: 0
}

.lrnprog .faqitem label {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 24px;
cursor: pointer;
font-size: 16px;
line-height: 1.4;
font-weight: 700;
color: #2a2a2e;
gap: 24px;
user-select: none
}

.lrnprog .faqitem label .faqarrow {
width: 20px;
height: 20px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
transition: transform .12s ease-out
}

.lrnprog .faqitem .faqbody {
max-height: 0;
overflow: hidden;
transition: max-height .15s ease-out
}

.lrnprog .faqitem input[type="checkbox"]:checked~.faqbody {
max-height: 300px
}

.lrnprog .faqitem input[type="checkbox"]:checked~label .faqarrow {
transform: rotate(180deg)
}

.lrnprog .faqitem .faqbody p {
font-size: 16px;
line-height: 1.6;
color: #555;
margin: 0;
padding: 0 24px 24px
}

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

.lrnprog .pghead {
padding: 80px 40px
}

.lrnprog .pghead h1 {
font-size: 70px
}

.lrnprog .cardgrid {
padding: 80px 40px
}

.lrnprog .statsband {
padding: 40px;
flex-wrap: wrap
}

.lrnprog .statsband .stat {
flex: 0 0 50%;
border-right: none;
border-bottom: 1px solid #cbd23933
}

.lrnprog .howstrip {
padding: 80px 40px;
flex-direction: column;
gap: 40px
}

.lrnprog .howstrip .howleft {
flex: none
}

.lrnprog .faqstrip {
padding: 80px 40px
}
}

@media (max-width: 768px) {
.lrnprog .grid {
grid-template-columns: 1fr
}

.lrnprog .pghead {
padding: 80px 24px 40px
}

.lrnprog .pghead h1 {
font-size: 18px
}

.lrnprog .pghead .imgover {
display: none
}

.lrnprog .cardgrid {
padding: 40px 24px
}

.lrnprog .statsband {
padding: 40px 24px
}

.lrnprog .statsband .stat {
flex: 0 0 100%
}

.lrnprog .howstrip {
padding: 40px 24px
}

.lrnprog .howstrip .howleft h2 {
font-size: 18px
}

.lrnprog .faqstrip {
padding: 40px 24px
}

.lrnprog .faqstrip h3 {
font-size: 18px
}

.lrnprog .howstrip .step .stepnum {
font-size: 18px
}
}

@media (max-width: 640px) {
.lrnprog .cardgrid .gridlabel {
font-size: 14px
}

.lrnprog .card .cardimg {
display: none
}
}

.ld {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.ld .titblk {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 0;
padding: 80px;
gap: 80px;
align-items: center;
background: #fff;
position: relative
}

.ld .titblk .geo1 {
position: absolute;
top: 40px;
right: 40px;
width: 80px;
height: 80px;
border: 2px solid #CBD239;
border-radius: 38px;
opacity: .18;
pointer-events: none
}

.ld .titblk .geo2 {
position: absolute;
bottom: 80px;
left: 40px;
width: 40px;
height: 40px;
border: 2px solid #B0D2DA;
border-radius: 8px;
opacity: .22;
pointer-events: none
}

.ld .titblk .geo3 {
position: absolute;
bottom: 40px;
right: 120px;
width: 24px;
height: 24px;
background: #E6D1E1;
border-radius: 5px;
opacity: .3;
pointer-events: none
}

.ld .imgcol {
position: relative
}

.ld .imgcol .imgframe {
border-radius: 14px;
overflow: hidden;
width: 100%;
aspect-ratio: 4/5;
position: relative
}

.ld .imgcol .imgframe img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
clip-path: inset(0 0 0 0 round 14px)
}

.ld .imgcol .imgframe::after {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 20% 15%, #cbd2392e 0%, transparent 55%), radial-gradient(ellipse at 80% 85%, #00000052 0%, transparent 50%);
border-radius: 14px;
pointer-events: none
}

.ld .imgcol .dashedring {
position: absolute;
inset: -16px;
border: 2px dashed #CBD239;
border-radius: 14px;
opacity: .55;
pointer-events: none
}

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

.ld .txtcol .pretag {
font-size: 14px;
line-height: 1.15;
text-transform: uppercase;
letter-spacing: .12em;
color: #CBD239;
font-weight: 700
}

.ld .txtcol h1 {
font-size: 70px;
line-height: 1.15;
margin: 0
}

.ld .txtcol h1 .w1 {
color: #CBD239
}

.ld .txtcol h1 .w2 {
color: #1a2a00
}

.ld .txtcol .sub {
font-size: 18px;
line-height: 1.6;
color: #2c2c2c;
max-width: 420px
}

.ld .txtcol .actlink {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 16px;
line-height: 1.4;
font-weight: 700;
color: #1a2a00;
border: 2px solid #CBD239;
border-radius: 38px;
padding: 16px 40px;
text-decoration: none;
transition: border-color .12s ease-out;
align-self: flex-start
}

.ld .txtcol .actlink:hover {
border-color: #B0D2DA
}

.ld .txtcol .actlink:focus {
outline: 2px solid #CBD239;
outline-offset: 3px
}

.ld .titblk .child1 {
opacity: 0;
animation: fadeup .15s ease-out .08s forwards
}

.ld .titblk .child2 {
opacity: 0;
animation: fadeup .15s ease-out .18s forwards
}

.ld .titblk .child3 {
opacity: 0;
animation: fadeup .15s ease-out .28s forwards
}

.ld .titblk .child4 {
opacity: 0;
animation: fadeup .15s ease-out .38s forwards
}

.ld .titblk .child5 {
opacity: 0;
animation: fadeup .15s ease-out .48s forwards
}

@keyframes fadeup {
from {
opacity: 0;
transform: translateY(14px)
}

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

.ld .supblk {
padding: 80px;
background: linear-gradient(180deg, #f4f6e8 0%, #fff 100%);
display: grid;
grid-template-columns: 1fr 2fr;
gap: 80px;
align-items: start;
position: relative
}

.ld .supblk::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 5px;
height: 100%;
background: linear-gradient(180deg, #CBD239 0%, #B0D2DA 100%);
border-radius: 0 5px 5px 0
}

.ld .supblk .suplabel {
display: flex;
flex-direction: column;
gap: 24px
}

.ld .supblk .suplabel h2 {
font-size: 70px;
line-height: 1.15;
margin: 0
}

.ld .supblk .suplabel h2 .w1 {
color: #CBD239
}

.ld .supblk .suplabel h2 .w2 {
color: #1a2a00
}

.ld .supblk .supright {
display: flex;
flex-direction: column;
gap: 40px
}

.ld .supblk .supcard {
border: 1.5px solid #B0D2DA;
border-radius: 14px;
padding: 40px;
display: flex;
flex-direction: column;
gap: 8px;
transition: border-color .1s linear
}

.ld .supblk .supcard:hover {
border-color: #CBD239
}

.ld .supblk .supcard .cardico {
width: 32px;
height: 32px;
margin-bottom: 8px
}

.ld .supblk .supcard h5 {
font-size: 16px;
line-height: 1.4;
margin: 0;
color: #1a2a00;
font-weight: 700
}

.ld .supblk .supcard p {
font-size: 16px;
line-height: 1.6;
color: #2c2c2c;
margin: 0
}

.ld .supblk .supcard .cardlead {
font-size: 14px;
line-height: 1.15;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
color: #CBD239;
margin: 0
}

.ld .gapblk {
padding: 80px;
background: #1a2a00;
position: relative;
overflow: hidden
}

.ld .gapblk .bgimg {
position: absolute;
inset: 0;
z-index: 0
}

.ld .gapblk .bgimg img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
opacity: .22
}

.ld .gapblk .gapin {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center
}

.ld .gapblk h2 {
font-size: 70px;
line-height: 1.15;
margin: 0;
color: #fff
}

.ld .gapblk h2 .w1 {
color: #CBD239
}

.ld .gapblk .gaptxt {
display: flex;
flex-direction: column;
gap: 24px
}

.ld .gapblk .gaptxt p {
font-size: 18px;
line-height: 1.6;
color: #e8e8e8;
margin: 0
}

.ld .gapblk .gaptxt .plead {
font-size: 14px;
line-height: 1.15;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
color: #CBD239
}

.ld .gapblk .chart {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 40px
}

.ld .gapblk .chart .bar {
display: flex;
align-items: center;
gap: 24px
}

.ld .gapblk .chart .barlabel {
font-size: 14px;
line-height: 1.15;
color: #B0D2DA;
width: 80px;
flex-shrink: 0;
text-align: right
}

.ld .gapblk .chart .bartrack {
flex: 1;
height: 8px;
background: #b0d2da26;
border-radius: 5px;
overflow: hidden
}

.ld .gapblk .chart .barfill {
height: 100%;
background: linear-gradient(90deg, #CBD239 0%, #B0D2DA 100%);
border-radius: 5px
}

.ld .gapblk .chart .barval {
font-size: 14px;
line-height: 1.15;
color: #CBD239;
font-weight: 700;
width: 40px
}

.ld .envblk {
padding: 80px;
background: #fff;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start
}

.ld .envblk .envimg {
border-radius: 14px;
overflow: hidden;
aspect-ratio: 3/4;
position: relative
}

.ld .envblk .envimg img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
clip-path: polygon(0 8%, 8% 0, 100% 0, 100% 92%, 92% 100%, 0 100%)
}

.ld .envblk .envtxt {
display: flex;
flex-direction: column;
gap: 40px
}

.ld .envblk .envtxt h2 {
font-size: 70px;
line-height: 1.15;
margin: 0
}

.ld .envblk .envtxt h2 .w1 {
color: #CBD239
}

.ld .envblk .envtxt h2 .w2 {
color: #1a2a00
}

.ld .envblk .peerset {
display: flex;
flex-direction: column;
gap: 24px
}

.ld .envblk .peer {
display: flex;
flex-direction: column;
gap: 8px;
padding: 24px;
border-radius: 8px;
background: #f4f6e8;
transition: background .1s ease-out
}

.ld .envblk .peer:hover {
background: #edf0d6
}

.ld .envblk .peer .pname {
font-size: 14px;
line-height: 1.15;
font-weight: 700;
color: #1a2a00;
text-transform: uppercase;
letter-spacing: .08em
}

.ld .envblk .peer .prole {
font-size: 14px;
line-height: 1.15;
color: #CBD239;
font-weight: 700
}

.ld .envblk .peer .pquote {
font-size: 16px;
line-height: 1.6;
color: #2c2c2c
}

.ld .envblk .envtxt .envlead {
font-size: 18px;
line-height: 1.6;
color: #2c2c2c
}

@media (max-width: 1024px) {
.ld .titblk {
padding: 40px 24px;
gap: 40px
}

.ld .supblk {
padding: 40px 24px;
gap: 40px
}

.ld .gapblk {
padding: 40px 24px
}

.ld .gapblk .gapin {
gap: 40px
}

.ld .envblk {
padding: 40px 24px;
gap: 40px
}
}

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

.ld .imgcol {
display: none
}

.ld .txtcol h1 {
font-size: 70px
}

.ld .supblk {
grid-template-columns: 1fr;
padding: 40px 24px
}

.ld .supblk .suplabel h2 {
font-size: 70px
}

.ld .gapblk .gapin {
grid-template-columns: 1fr
}

.ld .gapblk h2 {
font-size: 70px
}

.ld .envblk {
grid-template-columns: 1fr
}

.ld .envblk .envimg {
display: none
}

.ld .envblk .envtxt h2 {
font-size: 70px
}
}

@media (max-width: 640px) {
.ld .txtcol h1 {
font-size: 18px;
line-height: 1.15
}

.ld .supblk .suplabel h2 {
font-size: 18px
}

.ld .gapblk h2 {
font-size: 18px
}

.ld .envblk .envtxt h2 {
font-size: 18px
}

.ld .titblk {
padding: 24px
}

.ld .supblk {
padding: 40px 24px
}

.ld .gapblk {
padding: 40px 24px
}

.ld .envblk {
padding: 40px 24px
}
}

.jrnl {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.jrnl .pg-top {
background: #f5f5f0;
padding: 80px 40px;
text-align: center;
position: relative
}

.jrnl .pg-top::before {
content: '';
position: absolute;
top: 24px;
right: 80px;
width: 60px;
height: 60px;
border: 1.5px solid #CBD239;
border-radius: 38px;
opacity: .18;
pointer-events: none
}

.jrnl .pg-top::after {
content: '';
position: absolute;
bottom: 40px;
left: 60px;
width: 36px;
height: 36px;
border: 1.5px solid #B0D2DA;
border-radius: 38px;
opacity: .22;
pointer-events: none
}

.jrnl .top-label {
display: inline-block;
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .12em;
color: #2a2a2a;
background: #CBD239;
padding: 8px 24px;
border-radius: 5px;
margin-bottom: 24px
}

.jrnl .top-h {
font-size: 70px;
line-height: 1.15;
font-weight: 800;
margin: 0 auto 24px;
max-width: 860px;
color: #1e1e2a
}

.jrnl .top-h .word-accent {
color: #CBD239
}

.jrnl .top-sub {
font-size: 18px;
line-height: 1.6;
color: #3a3a4a;
max-width: 560px;
margin: 0 auto 40px
}

.jrnl .top-img-wrap {
position: relative;
max-width: 960px;
margin: 0 auto;
border-radius: 14px;
overflow: hidden
}

.jrnl .top-img-wrap img {
width: 100%;
height: 480px;
object-fit: cover;
display: block
}

.jrnl .top-img-wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to bottom, #1e1e2a2e, #cbd23947);
border-radius: 14px;
pointer-events: none
}

.jrnl .top-shapes {
position: absolute;
top: -20px;
left: -20px;
width: 120px;
height: 120px;
border: 2px solid #E6D1E1;
border-radius: 38px;
opacity: .35;
pointer-events: none
}

.jrnl .top-shapes2 {
position: absolute;
bottom: -16px;
right: -16px;
width: 80px;
height: 80px;
border: 2px solid #CBD239;
border-radius: 14px;
opacity: .28;
pointer-events: none
}

.jrnl .divider-a {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 24px 40px;
background: #fff
}

.jrnl .divider-a .dline {
width: 120px;
height: 1px;
background: #B0D2DA
}

.jrnl .divider-a .ddiamond {
width: 10px;
height: 10px;
background: #CBD239;
transform: rotate(45deg);
border-radius: 2px
}

.jrnl .pubs {
background: #fff;
padding: 80px 40px
}

.jrnl .pubs-head {
text-align: center;
margin-bottom: 80px
}

.jrnl .pubs-head h2 {
font-size: 70px;
line-height: 1.15;
font-weight: 800;
color: #1e1e2a;
margin: 0 0 24px
}

.jrnl .pubs-head h2 .w1 {
color: #B0D2DA
}

.jrnl .pubs-head p {
font-size: 16px;
line-height: 1.6;
color: #3a3a4a;
max-width: 480px;
margin: 0 auto
}

.jrnl .pub-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
max-width: 1100px;
margin: 0 auto
}

.jrnl .pub-card {
border: 1.5px solid #E6D1E1;
border-radius: 14px;
padding: 40px;
background: #fafaf7;
transition: border-color .12s ease-out
}

.jrnl .pub-card:hover {
border-color: #CBD239
}

.jrnl .pub-card.featured {
grid-column: 1 / -1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start;
background: linear-gradient(to bottom, #f5f5f0, #fff)
}

.jrnl .pub-tag {
display: inline-block;
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
color: #1e1e2a;
background: #CBD239;
padding: 8px 24px;
border-radius: 5px;
margin-bottom: 24px
}

.jrnl .pub-tag.alt {
background: #B0D2DA
}

.jrnl .pub-tag.alt2 {
background: #E6D1E1
}

.jrnl .pub-card h3 {
font-size: 18px;
line-height: 1.4;
font-weight: 700;
color: #1e1e2a;
margin: 0 0 16px
}

.jrnl .pub-card h3 .w1 {
color: #CBD239
}

.jrnl .pub-card p {
font-size: 16px;
line-height: 1.6;
color: #3a3a4a;
margin: 0 0 24px
}

.jrnl .pub-meta {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap
}

.jrnl .pub-author {
font-size: 14px;
font-weight: 700;
color: #1e1e2a
}

.jrnl .pub-affil {
font-size: 14px;
color: #5a5a6a
}

.jrnl .pub-dot {
width: 4px;
height: 4px;
background: #CBD239;
border-radius: 38px
}

.jrnl .pub-journal {
font-size: 14px;
color: #5a5a6a;
font-style: italic
}

.jrnl .pub-link {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 14px;
font-weight: 700;
color: #1e1e2a;
text-decoration: none;
border: 1.5px solid #CBD239;
padding: 8px 24px;
border-radius: 8px;
margin-top: 24px;
transition: background .1s linear, color .1s linear
}

.jrnl .pub-link:hover {
background: #CBD239;
color: #1e1e2a
}

.jrnl .pub-link:focus {
outline: 2px solid #CBD239;
outline-offset: 2px
}

.jrnl .divider-b {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 24px 40px;
background: #f5f5f0
}

.jrnl .divider-b .dline {
width: 80px;
height: 1px;
background: #E6D1E1
}

.jrnl .divider-b .ddiamond {
width: 8px;
height: 8px;
background: #B0D2DA;
transform: rotate(45deg);
border-radius: 2px
}

.jrnl .topics {
background: #f5f5f0;
padding: 80px 40px;
position: relative
}

.jrnl .topics::before {
content: '';
position: absolute;
top: 40px;
right: 40px;
width: 90px;
height: 90px;
border: 1.5px solid #CBD239;
border-radius: 38px;
opacity: .14;
pointer-events: none
}

.jrnl .topics-inner {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 80px;
align-items: start
}

.jrnl .topics-left h2 {
font-size: 70px;
line-height: 1.15;
font-weight: 800;
color: #1e1e2a;
margin: 0 0 24px
}

.jrnl .topics-left h2 .w1 {
color: #E6D1E1
}

.jrnl .topics-left p {
font-size: 16px;
line-height: 1.6;
color: #3a3a4a
}

.jrnl .topics-right {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.jrnl .topic-item {
border: 1.5px solid #B0D2DA;
border-radius: 8px;
padding: 24px;
background: #fff;
transition: border-color .08s ease-out
}

.jrnl .topic-item:hover {
border-color: #CBD239
}

.jrnl .topic-icon {
width: 40px;
height: 40px;
border-radius: 8px;
background: #CBD239;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px
}

.jrnl .topic-icon.alt {
background: #B0D2DA
}

.jrnl .topic-icon.alt2 {
background: #E6D1E1
}

.jrnl .topic-item h4 {
font-size: 16px;
font-weight: 700;
color: #1e1e2a;
margin: 0 0 8px;
line-height: 1.4
}

.jrnl .topic-item p {
font-size: 14px;
line-height: 1.6;
color: #5a5a6a;
margin: 0
}

.jrnl .divider-c {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 24px 40px;
background: #fff
}

.jrnl .divider-c .dline {
width: 160px;
height: 1px;
background: #CBD239;
opacity: .5
}

.jrnl .divider-c .ddiamond {
width: 10px;
height: 10px;
background: #E6D1E1;
transform: rotate(45deg);
border-radius: 2px
}

.jrnl .contrib {
background: #fff;
padding: 80px 40px
}

.jrnl .contrib-inner {
max-width: 1100px;
margin: 0 auto
}

.jrnl .contrib-head {
text-align: center;
margin-bottom: 80px
}

.jrnl .contrib-head h2 {
font-size: 70px;
line-height: 1.15;
font-weight: 800;
color: #1e1e2a;
margin: 0 0 24px
}

.jrnl .contrib-head h2 .w1 {
color: #CBD239
}

.jrnl .contrib-head p {
font-size: 16px;
line-height: 1.6;
color: #3a3a4a;
max-width: 520px;
margin: 0 auto
}

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

.jrnl .contrib-item {
border-radius: 14px;
padding: 40px 24px;
text-align: center;
border: 1.5px solid #E6D1E1;
background: #fafaf7;
transition: border-color .15s ease-out
}

.jrnl .contrib-item:hover {
border-color: #B0D2DA
}

.jrnl .contrib-avatar {
width: 64px;
height: 64px;
border-radius: 38px;
margin: 0 auto 16px;
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
font-weight: 800;
color: #1e1e2a
}

.jrnl .contrib-avatar.c1 {
background: #CBD239
}

.jrnl .contrib-avatar.c2 {
background: #B0D2DA
}

.jrnl .contrib-avatar.c3 {
background: #E6D1E1
}

.jrnl .contrib-avatar.c4 {
background: #CBD239;
opacity: .7
}

.jrnl .contrib-avatar.c5 {
background: #B0D2DA;
opacity: .8
}

.jrnl .contrib-avatar.c6 {
background: #E6D1E1;
opacity: .9
}

.jrnl .contrib-item h5 {
font-size: 16px;
font-weight: 700;
color: #1e1e2a;
margin: 0 0 8px;
line-height: 1.4
}

.jrnl .contrib-role {
font-size: 14px;
color: #5a5a6a;
margin: 0 0 8px
}

.jrnl .contrib-field {
font-size: 14px;
font-weight: 700;
color: #CBD239;
background: #1e1e2a;
border-radius: 5px;
display: inline-block;
padding: 4px 16px
}

@media (max-width: 1024px) {
.jrnl .top-h {
font-size: 70px
}

.jrnl .pub-card.featured {
grid-template-columns: 1fr;
gap: 24px
}

.jrnl .topics-inner {
grid-template-columns: 1fr;
gap: 40px
}

.jrnl .topics-left h2 {
font-size: 70px
}

.jrnl .contrib-list {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 768px) {
.jrnl .pg-top {
padding: 80px 24px
}

.jrnl .top-h {
font-size: 70px;
max-width: 100%
}

.jrnl .top-img-wrap img {
height: 280px
}

.jrnl .pubs {
padding: 80px 24px
}

.jrnl .pub-grid {
grid-template-columns: 1fr
}

.jrnl .pub-card.featured {
grid-column: auto;
grid-template-columns: 1fr
}

.jrnl .topics {
padding: 80px 24px
}

.jrnl .topics-right {
grid-template-columns: 1fr
}

.jrnl .contrib {
padding: 80px 24px
}

.jrnl .contrib-list {
grid-template-columns: 1fr
}

.jrnl .pubs-head h2 {
font-size: 70px
}

.jrnl .topics-left h2 {
font-size: 70px
}

.jrnl .contrib-head h2 {
font-size: 70px
}
}

@media (max-width: 640px) {
.jrnl .top-h {
font-size: 70px
}

.jrnl .top-img-wrap {
display: none
}

.jrnl .pubs-head h2,
.jrnl .topics-left h2,
.jrnl .contrib-head h2 {
font-size: 70px
}

.jrnl .pub-card {
padding: 24px
}

.jrnl .pubs-head {
margin-bottom: 40px
}

.jrnl .contrib-head {
margin-bottom: 40px
}
}

.abt {
max-width: 1440px;
margin: 0 auto;
overflow: hidden
}

.abt .strip-img {
width: 100%;
height: 220px;
overflow: hidden;
position: relative
}

.abt .strip-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 30%;
filter: brightness(0.82) saturate(1.1)
}

.abt .strip-img::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to bottom, #cbd23914 0%, #b0d2da2e 100%);
pointer-events: none
}

.abt .titlez {
padding: 40px 80px;
background: #fff;
position: relative
}

.abt .titlez::before {
content: "";
position: absolute;
top: 24px;
right: 80px;
width: 160px;
height: 160px;
border-radius: 38px;
background: #cbd23912;
pointer-events: none
}

.abt .titlez .eyebrow {
font-size: 14px;
letter-spacing: .12em;
text-transform: uppercase;
color: #CBD239;
margin-bottom: 8px;
display: block
}

.abt .titlez h1 {
font-size: 70px;
line-height: 1.15;
margin: 0 0 24px;
color: #1b1b1b
}

.abt .titlez h1 .w1 {
color: #CBD239
}

.abt .titlez .lead {
font-size: 18px;
line-height: 1.6;
color: #3a3a3a;
max-width: 600px
}

.abt .divline {
display: flex;
flex-direction: row;
align-items: center;
gap: 0;
padding: 0 80px;
overflow: hidden
}

.abt .divline span {
flex: 1;
height: 1px;
background: #CBD239;
position: relative
}

.abt .divline span::before,
.abt .divline span::after {
content: "";
position: absolute;
top: -4px;
width: 1px;
height: 8px;
background: #CBD239
}

.abt .divline span::before {
left: 15%
}

.abt .divline span::after {
left: 45%
}

.abt .divline .tick2::before {
left: 25%
}

.abt .divline .tick2::after {
left: 65%
}

.abt .about-duo {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0;
background: #fff;
padding: 40px 80px;
align-items: start
}

.abt .about-duo .col-a {
padding-right: 40px;
border-right: 1px solid #E6D1E1
}

.abt .about-duo .col-b {
padding-left: 40px
}

.abt .about-duo h2 {
font-size: 18px;
line-height: 1.4;
margin: 0 0 24px;
color: #1b1b1b
}

.abt .about-duo h2 .acc {
color: #CBD239
}

.abt .about-duo p {
font-size: 16px;
line-height: 1.6;
color: #3a3a3a;
margin: 0 0 24px
}

.abt .about-duo p:last-child {
margin-bottom: 0
}

.abt .about-duo .lbl {
font-size: 14px;
font-weight: 700;
color: #1b1b1b;
text-transform: uppercase;
letter-spacing: .08em;
margin-right: 8px
}

.abt .metrics-row {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 40px;
flex-wrap: wrap
}

.abt .metric {
flex: 1;
min-width: 120px;
border: 1.5px solid #CBD239;
border-radius: 14px;
padding: 24px;
text-align: center;
background: #fff;
transition: border-color .1s ease-out, box-shadow .12s ease-out
}

.abt .metric:hover {
border-color: #B0D2DA;
box-shadow: 2px 4px 22px -2px #cbd23917
}

.abt .metric .mnum {
display: block;
font-size: 70px;
line-height: 1.15;
color: #CBD239;
font-weight: 700
}

.abt .metric .mlbl {
display: block;
font-size: 14px;
color: #3a3a3a;
line-height: 1.4;
margin-top: 8px
}

.abt .divline2 {
display: flex;
flex-direction: row;
align-items: center;
padding: 0 80px;
overflow: hidden
}

.abt .divline2 span {
flex: 1;
height: 1px;
background: #B0D2DA;
position: relative
}

.abt .divline2 span::before,
.abt .divline2 span::after {
content: "";
position: absolute;
top: -4px;
width: 1px;
height: 8px;
background: #B0D2DA
}

.abt .divline2 span::before {
left: 30%
}

.abt .divline2 span::after {
left: 70%
}

.abt .team-sec {
background: linear-gradient(to bottom, #f5f5f0, #eef4f6);
padding: 80px;
position: relative;
overflow: hidden
}

.abt .team-sec::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 60px;
background: radial-gradient(ellipse at 50% 100%, #b0d2da2e 0%, transparent 70%);
pointer-events: none
}

.abt .diag-lines {
position: absolute;
top: 0;
right: 0;
width: 200px;
height: 200px;
pointer-events: none;
overflow: hidden
}

.abt .diag-lines svg {
width: 100%;
height: 100%;
opacity: .12
}

.abt .team-sec h2 {
font-size: 18px;
line-height: 1.4;
text-align: center;
margin: 0 0 40px;
color: #1b1b1b
}

.abt .team-sec h2 .acc {
color: #CBD239
}

.abt .team-grid {
display: grid;
grid-template-columns: 1fr 2fr 2fr 1fr;
gap: 24px;
align-items: start
}

.abt .tcard {
background: #fff;
border-radius: 14px;
overflow: hidden;
border: 1.5px solid #E6D1E1;
transition: border-color .1s ease-out
}

.abt .tcard:hover {
border-color: #B0D2DA
}

.abt .tcard .timg {
width: 100%;
height: 200px;
overflow: hidden
}

.abt .tcard .timg img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top
}

.abt .tcard .tinfo {
padding: 24px
}

.abt .tcard .tname {
font-size: 16px;
font-weight: 700;
color: #1b1b1b;
margin: 0 0 8px
}

.abt .tcard .trole {
font-size: 14px;
color: #CBD239;
text-transform: uppercase;
letter-spacing: .08em;
margin: 0 0 8px
}

.abt .tcard .tdesc {
font-size: 14px;
line-height: 1.6;
color: #3a3a3a;
margin: 0
}

.abt .tcard.wide .timg {
height: 260px
}

.abt .vals-sec {
padding: 80px;
background: #fff;
position: relative
}

.abt .vals-sec .diag-corner {
position: absolute;
bottom: 24px;
left: 24px;
width: 120px;
height: 120px;
pointer-events: none;
overflow: hidden
}

.abt .vals-sec .diag-corner svg {
width: 100%;
height: 100%;
opacity: .1
}

.abt .vals-sec h2 {
font-size: 18px;
line-height: 1.4;
margin: 0 0 40px;
color: #1b1b1b
}

.abt .vals-sec h2 .acc {
color: #CBD239
}

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

.abt .vals-list {
display: flex;
flex-direction: column;
gap: 24px
}

.abt .vitem {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
padding: 24px;
border-radius: 8px;
border: 1px solid #E6D1E1;
transition: border-color .12s ease-out
}

.abt .vitem:hover {
border-color: #CBD239
}

.abt .vmark {
width: 24px;
height: 24px;
flex-shrink: 0;
margin-top: 2px
}

.abt .vmark svg {
width: 24px;
height: 24px
}

.abt .vtext h5 {
font-size: 16px;
font-weight: 700;
margin: 0 0 8px;
color: #1b1b1b
}

.abt .vtext p {
font-size: 14px;
line-height: 1.6;
color: #3a3a3a;
margin: 0
}

.abt .vals-img-col {
position: relative
}

.abt .vals-img-col img {
width: 100%;
height: 420px;
object-fit: cover;
border-radius: 14px;
display: block
}

.abt .vals-img-col .imgbadge {
position: absolute;
bottom: 24px;
left: 24px;
background: #fffffff2;
border-radius: 8px;
padding: 24px;
border: 1.5px solid #CBD239;
max-width: 220px
}

.abt .vals-img-col .imgbadge .bnum {
font-size: 70px;
line-height: 1.15;
color: #CBD239;
font-weight: 700;
display: block
}

.abt .vals-img-col .imgbadge .btxt {
font-size: 14px;
color: #3a3a3a;
line-height: 1.4
}

.abt .shake-el {
animation: gentleshake 6s 2s infinite
}

@keyframes gentleshake {

0%,
88%,
100% {
transform: translateX(0)
}

90% {
transform: translateX(-3px)
}

92% {
transform: translateX(3px)
}

94% {
transform: translateX(-2px)
}

96% {
transform: translateX(2px)
}

98% {
transform: translateX(0)
}
}

.abt .reveal1 {
animation: revup1 .5s .05s both ease-out
}

.abt .reveal2 {
animation: revup2 .5s .15s both ease-out
}

.abt .reveal3 {
animation: revup3 .5s .25s both ease-out
}

@keyframes revup1 {
from {
opacity: 0;
transform: translateY(8px)
}

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

@keyframes revup2 {
from {
opacity: 0;
transform: translateY(18px)
}

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

@keyframes revup3 {
from {
opacity: 0;
transform: translateY(30px)
}

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

@media (max-width: 1024px) {
.abt .titlez {
padding: 40px
}

.abt .titlez h1 {
font-size: 70px
}

.abt .about-duo {
padding: 40px
}

.abt .team-sec {
padding: 80px 40px
}

.abt .vals-sec {
padding: 80px 40px
}

.abt .divline {
padding: 0 40px
}

.abt .divline2 {
padding: 0 40px
}

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

@media (max-width: 768px) {
.abt .strip-img {
height: 140px
}

.abt .titlez {
padding: 40px 24px
}

.abt .titlez h1 {
font-size: 70px
}

.abt .about-duo {
grid-template-columns: 1fr;
padding: 40px 24px
}

.abt .about-duo .col-a {
padding-right: 0;
border-right: none;
border-bottom: 1px solid #E6D1E1;
padding-bottom: 40px
}

.abt .about-duo .col-b {
padding-left: 0;
padding-top: 40px
}

.abt .team-sec {
padding: 40px 24px
}

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

.abt .vals-sec {
padding: 40px 24px
}

.abt .vals-layout {
grid-template-columns: 1fr
}

.abt .vals-img-col {
display: none
}

.abt .divline {
padding: 0 24px
}

.abt .divline2 {
padding: 0 24px
}

.abt .metrics-row {
gap: 8px
}
}

@media (max-width: 640px) {
.abt .titlez h1 {
font-size: 70px;
line-height: 1.15
}

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

.abt .tcard.wide .timg {
height: 200px
}

.abt .metric .mnum {
font-size: 70px
}
}

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

.successPg .card {
max-width: 560px;
width: 100%;
border: 1.5px solid #CBD239;
border-radius: 14px;
padding: 40px;
display: flex;
flex-direction: column;
align-items: center;
gap: 24px
}

.successPg .iconWrap {
width: 64px;
height: 64px;
border-radius: 38px;
background: #CBD239;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.successPg .iconWrap svg {
width: 32px;
height: 32px
}

.successPg .hdg {
font-size: 18px;
line-height: 1.15;
font-weight: 700;
color: #1b1b1b;
text-align: center;
margin: 0
}

.successPg .hdg span {
color: #CBD239;
text-transform: uppercase
}

.successPg .body {
font-size: 16px;
line-height: 1.6;
color: #2e2e2e;
text-align: center;
margin: 0;
max-width: 420px
}

.successPg .divLine {
width: 100%;
height: 1.5px;
background: #B0D2DA;
border-radius: 5px
}

.successPg .meta {
font-size: 14px;
line-height: 1.4;
color: #3a3a3a;
text-align: center;
margin: 0
}

.successPg .meta strong {
color: #1b1b1b
}

.successPg .backBtn {
display: inline-block;
padding: 24px 40px;
background: #CBD239;
color: #1b1b1b;
font-size: 16px;
font-weight: 700;
line-height: 1.15;
border-radius: 8px;
text-decoration: none;
border: 2px solid #CBD239;
transition: border-color .12s ease-out;
cursor: pointer
}

.successPg .backBtn:hover {
border-color: #1b1b1b
}

.successPg .backBtn:focus-visible {
outline: 2px solid #1b1b1b;
outline-offset: 3px
}

@media (max-width: 640px) {
.successPg {
padding: 40px 24px
}

.successPg .card {
padding: 24px;
gap: 24px
}

.successPg .backBtn {
padding: 24px;
width: 100%;
text-align: center
}
}